Archiv nach Schlagworten: ubuntu

BibTeX Bibliographystyle plaindin nach Update von Ubuntu Maverick zu Natty

Was ich nach einem Update von Maverick zu Natty gemerkt habe, als ich mein Dokument mit BibTeX übersetzen wollte, war, dass der Bibliographystyle plaindin nicht mehr verfügbar war. Die folgende Zeile in meiner Präambel verursachte somit einen Fehler:

 LaTeX |  copy |? 
1
\bibliographystyle{plaindin}

Die folgende Fehlermeldung bekam ich beim BibTeX’en in der Konsole:

 plain |  copy |? 
01
strubbl:~/git/latex/dokument/$ bibtex dokument.aux 
02
This is BibTeX, Version 0.99c (TeX Live 2009/Debian)
03
The top-level auxiliary file: dokument.aux
04
I couldn't open style file plaindin.bst
05
---line 14 of file dokument.aux
06
 : \bibstyle{plaindin
07
 :                   }
08
I'm skipping whatever remains of this command
09
I found no style file---while reading file dokument.aux
10
(There were 2 error messages)

Ab Ubuntu Natty Narwhal sind die Bibliographystyles wohl in dem Paket texlive-bibtex-extra zu finden. Darum muss man dieses installieren, wenn man den Bibliographystyle plaindin nutzen möchte:

 Bash |  copy |? 
1
sudo aptitude install texlive-bibtex-extra

Dann klappts auch wieder mit dem bibtex’en.

Ubuntu Distributionsupgrade

Ich weiß gar nicht, was alle immer haben. Ein Distributionsupgrade, wie gerade aktuell von Lucid nach Maverick geht doch auch einfach:

 Bash |  copy |? 
1
sudo update-manager -d

Dann ploppt ein Fenster auf, wo man komfortabel durch den Updateprozess auf die neue Ubuntuversion geführt wird. Das wars schon. Am Ende halt neustarten und schick ist’s.

Hier mal ein Bildchen von dem Update-Manager:

PS: Wer mein Hintergrundbild erkennt, bekommt n Bienchen. :)

Gource und Dokuwiki – Bearbeitungen visualisieren

In Anlehnung an den französischen Blogeintrag von Wolverine will ich hier einmal auf deutsch erklären, wie man die Änderungen aus einem Dokuwiki mit Gource unter Ubuntu visualisiert.

Zunächst installiert man, sofern noch nicht vorhanden, Gource:

 Bash |  copy |? 
1
sudo aptitude install gource

Anschließend muss das folgende Python-Script in eine Datei verfrachtet werden und ausführbar gemacht werden. Es dient dazu die *.changes$-Dateien vom Dokuwiki in ein für Gource lesbares Format zu bringen.

 Python |  copy |? 
01
#!/usr/bin/python
02
 
03
"""
04
This program parse logs of a dokuwiki
05
and tranform them for gource (a log viewer)
06
http://code.google.com/p/gource/
07
 
08
developped by WolverineX02
09
site : http://wolverinex02.blogspot.com
10
 
11
"""
12
 
13
import os.path
14
import getopt
15
import sys
16
import re
17
 
18
 
19
def listdirectory2(path):
20
        """list all the files like *.changes, read them and output them in gource's log syntax
21
        """
22
        for root, dirs, files in os.walk(path):
23
                for i in files:
24
                        if (re.search('\.changes$', i)):
25
                                fichier = os.path.join(root, i)
26
                                myfile = open(fichier, 'r')
27
                                for line in myfile.readlines():
28
                                        mots = line.split()
29
                                        if len(mots)>=5:
30
                                                resultat = mots[0] + "|"
31
                                                resultat += mots[4] + "|"
32
                                                resultat += translate(mots[2]) + "|"
33
                                                resultat += fichier
34
                                                print resultat
35
                                        elif len(mots)==4:
36
                                                resultat = mots[0] + "|Anonymous|"
37
                                                resultat += translate(mots[2]) + "|"
38
                                                resultat += fichier
39
                                                print resultat
40
                                myfile.close()
41
 
42
def translate(mot):
43
        """translate the dokuwiki vocabulary to the gource one
44
        C -> A
45
        E -> M
46
        other -> M
47
        """
48
        if mot == "C":
49
                return "A"
50
        elif mot == "E":
51
                return "M"
52
        else:
53
                return "M"
54
 
55
def main(argv):
56
        """principal function
57
        """
58
        try:
59
                opts, args = getopt.getopt(argv, "hd:", ["help", "dokuwiki="])
60
        except getopt.GetoptError:
61
                usage()
62
                sys.exit(2)
63
        for opt, arg in opts:
64
                if opt in ("-h","--help"):
65
                        usage()
66
                        sys.exit()
67
                elif opt in ("-d","--dokuwiki"):
68
                        print listdirectory2(arg)
69
 
70
 
71
def usage():
72
        """this function will display how to use this script
73
        """
74
        print "This script will output change logs of a dokuwiki"
75
        print "in a friendly way for gource"
76
        print "how to use it :"
77
        print "python gourcedoku.py -d ~/Sites/MyDokuwiki/ | sort > dokusort.log"
78
        print "and then :"
79
        print "gource --log-format custom dokusort.log --stop-position 1.0 \ "
80
        print "--stop-on-idle --file-idle-time 10000000"
81
        print "---"
82
        print "-h : help "
83
        print "-d : meta directory of your dokuwiki"
84
 
85
 
86
#print listdirectory2(sys.argv[1])
87
 
88
if __name__ == "__main__":
89
        main(sys.argv[1:])

Nachdem man nun die Pythondatei (Bsp.name hier: doku2gource.py) hat, führt man folgenden Befehl aus:

 Bash |  copy |? 
1
python doku2gource.py -d ~/public_html/dokuwiki/ | sort > dokusort.log

Es ensteht die erwähnte für Gource brauchbare Logdatei. Diese wird nun wiederum an Gource weitergegeben und mit ffmpeg eine Videodatei erstellt:

 Bash |  copy |? 
1
gource --log-format custom dokusort.log --stop-position 1.0 --stop-on-idle --file-idle-time 10000000 --output-ppm-stream - | ffmpeg -y -b 3000K -r 60 -f image2pipe -vcodec ppm -i - -vcodec mpeg4 gource.mp4

Das wars schon. Hier noch mal die mir nützlichen Links:

http://wolverinex02.blogspot.com/2010/05/gource-et-dokuwiki.html
http://code.google.com/p/gource/wiki/Videos

Clojure mit Netbeans unter Ubuntu installieren

Zunächst muss die Netbeans Java SE runtergeladen werden.

Nun wird die runtergeladene Datei ausgeführt:

 Bash |  copy |? 
1
strubbl:~$ sh netbeans-6.8-ml-javase-linux.sh
2
Configuring the installer...
3
Searching for JVM on the system...
4
Extracting installation data...
5
Running the installer wizard...

Der anschließend geöffnete Assistent führt einen dann bequem durch die Installation. Nach dem Beenden der Installation kann man dann Netbeans einfach starten:

 Bash |  copy |? 
1
strubbl:~$ cd netbeans-6.8
2
strubbl:~/netbeans-6.8$ ./bin/netbeans

Bei der Frage nach der Übernahme der Daten, die von einer Netbeans 6.7 Installation stammen, verneine ich, da ich mehrere Netbeans Installationen auf dem Rechner habe.

In Netbeans muss nun im Menü unter Tools > Plugins > Settings die Quelle für das Enclojure-Plugin hinzugefügt (Button Add) werden.
Als Name gebe ich einfach Enclojure ein und die URL lautet: http://www.enclojure.org/file/view/Autoupdate_Site.xml.gz

Nach dem Hinzufügen findet man in dem Tab Available Plugins nun Enclojure Clojure Plugin. Dies muss angehakt werden und anschließend wird auf Install geklickt, sodass das Plugin installiert wird (siehe folgendes Bild).

Damit das neu installierte Plugin aktiv wird, muss die IDE Netbeans neugestartet werden. Schließlich stellen wir nun noch unter Tools > Options > Clojure > Clojure Platforms die Clojure Version 1.1.0 als Standard ein:

Damit ist Clojure in Netbeans installiert und man kann nun neue Clojure-Projekte erstellen.

Alte Kernel inkl. Header entfernen

Durch Zufall bin ich auf den folgenden Befehl gestoßen, um mal alle alten angesammelten Kernel meines Ubuntus zu löschen. Damit spart man sich das mühselige Eintippen.

 Bash |  copy |? 
1
$ dpkg -l 'linux-*' | sed '/^ii/!d;/'"$(uname -r | sed "s/\(.*\)-\([^0-9]\+\)/\1/")"'/d;s/^[^ ]* [^ ]* \([^ ]*\).*/\1/;/[0-9]/!d' | xargs sudo aptitude purge -y

 Bash |  copy |? 
01
Paketlisten werden gelesen... Fertig
02
Abhängigkeitsbaum wird aufgebaut
03
Lese Status-Informationen ein... Fertig
04
Lese erweiterte Statusinformationen
05
Initialisiere Paketstatus... Fertig
06
Die folgenden Pakete werden ENTFERNT:
07
  linux-headers-2.6.31-10{p} linux-headers-2.6.31-10-generic{p} linux-headers-2.6.31-11{p} linux-headers-2.6.31-11-generic{p} linux-headers-2.6.31-12{p}
08
  linux-headers-2.6.31-12-generic{p} linux-headers-2.6.31-13{p} linux-headers-2.6.31-13-generic{p} linux-headers-2.6.31-14{p}
09
  linux-headers-2.6.31-14-generic{p} linux-headers-2.6.31-15{p} linux-headers-2.6.31-15-generic{p} linux-image-2.6.31-10-generic{p}
10
  linux-image-2.6.31-11-generic{p} linux-image-2.6.31-12-generic{p} linux-image-2.6.31-13-generic{p} linux-image-2.6.31-14-generic{p}
11
  linux-image-2.6.31-15-generic{p}
12
0 Pakete aktualisiert, 0 zusätzlich installiert, 18 werden entfernt und 0 nicht aktualisiert.
13
Muss 0B an Archiven herunterladen. Nach dem Entpacken werden 1.172MB frei werden.
14
Wollen Sie fortsetzen? [Y/n/?]

Ich spare damit ab sofort über einen Gigabyte. Feine Sache!

(via linuxundich.de)