[Kubuntu-de] Pakete
Reiner Valeske
reiner at valeske.de
Die Jul 3 15:43:55 BST 2007
Diese Nachricht habe ich heute von meiner lug-mailliste:
"Es ist ja, gerade für unerfahrene Anfänger, wirklich nicht ratsam ,
ein Programm (oder eine lib ...) einfach mal so mit dem "magischen
Dreikampf" ;) zu installieren. Immerhin arbeitet man dadurch komplett
an der Paketverwaltung seiner gewählten Distribution vorbei. Ich kann
hier nur mein Leid aus dem Debian / Ubuntu Umfeld klagen, wo immer
wieder Neulinge sich auf diese Art alles versauen, weil sie unbedarft
und ohne plan quer durchs System installieren und die Software später
zum Teil nicht mehr vollständig runter kriegen oder sich sonstwas
zerschiessen, weil keine Instanz da ist um davor zu warnen, falls ein
Programm bei einer Installation Dateien eines bereits installierten
Paketes überschreiben will. Kann bös ins Auge gehen. (Aber wohl kaum
bei so ner kleinen "Eyecandy Uhr" ;D )
./configure sollte eigentlich immer Pflicht sein, allein um schon
rauszufinden, welche Abhängigkeiten noch fehlen. Oder aber, um
erweiterte Funktionen durch passende Flags zu aktivieren. Gutes
Beispiel: Die aktuelle Version von Pidgin. Klar geht das auch nur mit
./configure, make, make install. (wenn man denn die
Grundabhängigkeiten installiert hat)
Aber ein gescheites ./configure, um alle Fähigkeiten und Funktionen
nutzen zu können, ist:
./configure --prefix=/usr --enable-gnutls=yes --enable-mono
--enable-nm --enable-consoleui --enable-gevolution --enable-gstreamer
--enable-plugins --disable-schemas-install --enable-screensaver
--enable-finch
Auf einem Server, der einmal eingerichtet wird und dann läuft und
läuft und läuft, da kann man ruhig make install nutzen, sofern man
sich als Admin gut aufschreibt, was man wohin installiert hat.
Allerdings ist das grad bei Debian basierten Systemen nicht ratsam, da
man sonst beim nächsten Upgrade / Dist-Upgrade Probleme kriegen
könnte, jenachdem, was man da alles an apt vorbei installiert hat.
Man sollte Neulingen klar machen, dass es nicht unbedingt von Vorteil
ist, an der Paketverwaltung vorbei zu installieren - und gleich dazu
sollten einfache Wege aufgezeigt werden, um zumindest rudimentär
distributionsspezifische Pakete zu erstellen. Als Ubuntu Mensch und
Debianer kann ich da nur mal wieder "checkinstall" rufen. Checkinstall
baut zwar auch bei Leibe keine guten Pakete aus sicht eines
Maintainers, aber es ist immerhin besser als garkein .deb zu haben.
(die meisten checkinstall Pakete haben z.B. keine Abhängigkeiten
eingetragen)
Um mal was zu nennen, was trotz ./configure, make, make install nicht
geht (und zwar obwohl alle build dependencies installiert sind), ist
jahshaka auf AMD64. Schnurz egal, ob die svn Version oder der Tarball,
es funzt ned. Ohne ./configure und die ganzen Flags schon mal
garnicht, und mit Flags auch nicht.
Ich kriegs weder unter Debian Stable, noch unter Ubuntu 7.04
kompilliert. Ich musste ewig lang mit den configure Flags spielen, bis
mal halbwegs alles durch lief. Dann mussten noch einige Makefiles
verändert werden, damit sich einige mitgebrachte libs überhaupt unter
AMD64 durch den Compiler jagen lassen - und trotzdem gehts ned.
Wie eben schon gesagt, in den Sources von jahshaka sind auch noch
gleich sources einiger für jahshaka benötigter libs dabei, und die
durch den Compiler zu jagen geht echt immer schief. Irgendwas klemmt
immer wo. Hat man A besietigt, poppts bei B auf, weil C doofe Ohren
hat. *hehe* Ich hab die libs auch schon so gezogen und kompilliert und
hab versucht, jahshaka dazu zu überreden, meine Versionen zu nutzen
anstatt den mitgebrachten Murks mit grauenhaften Makefiles und
configure Scripten, aber "No Way". Ich hab irgendwann genervt
aufgegeben.
Und zum Schluss noch meine Erfahrung: Viele Neulinge wollen unter
Linux ihre Windows Angewohnheiten weiter fortsetzen, so z.B. einfach
jeden neuen Schmonz mal irgendwie zu installieren aus lauter
Versionsgeilheit. Egal wie, hauptsache man hat immer das Neuste und
kann mitreden und mitprahlen. Da werden irgendwelche Fremdquellen
gemixt, bis das System krepiert oder - weil es irgend ein Hannes
irgendwo "empfohlen" hat - einfach irgendwas krampfhaft versucht zu
kompillieren, weil man halt kein fertiges .deb zu findet. Das ist
einfach grausam - und typisch Windows like. Einfach mal machen, auch
wenn man keine Ahnung hat. Unter Windows geht das ja noch, weil es
meistens hinhaut. Da muss man für vieles keine Ahnung haben und kriegt
seine Programme alle fertig kompilliert und muss sie sich nurnoch
reinschieben ^^ Aber unter Linux geht diese Denk- und Herangehensweise
leider voll in die Hose, weil oftmals die User mit Halbwissen (die
selbst erst kurz dabei sind) versuchen, den Usern mit garkeinem Wissen
irgendwas zu vermitteln - und dann krachts. Mit dem Erfolg, dass die
Einsteiger gefrustet sind und "Linux scheisse und voll schwer" ist.
Grüße,
Mathias"
Orginal von: Es ist ja, gerade für unerfahrene Anfänger, wirklich nicht
ratsam ,
ein Programm (oder eine lib ...) einfach mal so mit dem "magischen
Dreikampf" ;) zu installieren. Immerhin arbeitet man dadurch komplett
an der Paketverwaltung seiner gewählten Distribution vorbei. Ich kann
hier nur mein Leid aus dem Debian / Ubuntu Umfeld klagen, wo immer
wieder Neulinge sich auf diese Art alles versauen, weil sie unbedarft
und ohne plan quer durchs System installieren und die Software später
zum Teil nicht mehr vollständig runter kriegen oder sich sonstwas
zerschiessen, weil keine Instanz da ist um davor zu warnen, falls ein
Programm bei einer Installation Dateien eines bereits installierten
Paketes überschreiben will. Kann bös ins Auge gehen. (Aber wohl kaum
bei so ner kleinen "Eyecandy Uhr" ;D )
./configure sollte eigentlich immer Pflicht sein, allein um schon
rauszufinden, welche Abhängigkeiten noch fehlen. Oder aber, um
erweiterte Funktionen durch passende Flags zu aktivieren. Gutes
Beispiel: Die aktuelle Version von Pidgin. Klar geht das auch nur mit
./configure, make, make install. (wenn man denn die
Grundabhängigkeiten installiert hat)
Aber ein gescheites ./configure, um alle Fähigkeiten und Funktionen
nutzen zu können, ist:
./configure --prefix=/usr --enable-gnutls=yes --enable-mono
--enable-nm --enable-consoleui --enable-gevolution --enable-gstreamer
--enable-plugins --disable-schemas-install --enable-screensaver
--enable-finch
Auf einem Server, der einmal eingerichtet wird und dann läuft und
läuft und läuft, da kann man ruhig make install nutzen, sofern man
sich als Admin gut aufschreibt, was man wohin installiert hat.
Allerdings ist das grad bei Debian basierten Systemen nicht ratsam, da
man sonst beim nächsten Upgrade / Dist-Upgrade Probleme kriegen
könnte, jenachdem, was man da alles an apt vorbei installiert hat.
Man sollte Neulingen klar machen, dass es nicht unbedingt von Vorteil
ist, an der Paketverwaltung vorbei zu installieren - und gleich dazu
sollten einfache Wege aufgezeigt werden, um zumindest rudimentär
distributionsspezifische Pakete zu erstellen. Als Ubuntu Mensch und
Debianer kann ich da nur mal wieder "checkinstall" rufen. Checkinstall
baut zwar auch bei Leibe keine guten Pakete aus sicht eines
Maintainers, aber es ist immerhin besser als garkein .deb zu haben.
(die meisten checkinstall Pakete haben z.B. keine Abhängigkeiten
eingetragen)
Um mal was zu nennen, was trotz ./configure, make, make install nicht
geht (und zwar obwohl alle build dependencies installiert sind), ist
jahshaka auf AMD64. Schnurz egal, ob die svn Version oder der Tarball,
es funzt ned. Ohne ./configure und die ganzen Flags schon mal
garnicht, und mit Flags auch nicht.
Ich kriegs weder unter Debian Stable, noch unter Ubuntu 7.04
kompilliert. Ich musste ewig lang mit den configure Flags spielen, bis
mal halbwegs alles durch lief. Dann mussten noch einige Makefiles
verändert werden, damit sich einige mitgebrachte libs überhaupt unter
AMD64 durch den Compiler jagen lassen - und trotzdem gehts ned.
Wie eben schon gesagt, in den Sources von jahshaka sind auch noch
gleich sources einiger für jahshaka benötigter libs dabei, und die
durch den Compiler zu jagen geht echt immer schief. Irgendwas klemmt
immer wo. Hat man A besietigt, poppts bei B auf, weil C doofe Ohren
hat. *hehe* Ich hab die libs auch schon so gezogen und kompilliert und
hab versucht, jahshaka dazu zu überreden, meine Versionen zu nutzen
anstatt den mitgebrachten Murks mit grauenhaften Makefiles und
configure Scripten, aber "No Way". Ich hab irgendwann genervt
aufgegeben.
Und zum Schluss noch meine Erfahrung: Viele Neulinge wollen unter
Linux ihre Windows Angewohnheiten weiter fortsetzen, so z.B. einfach
jeden neuen Schmonz mal irgendwie zu installieren aus lauter
Versionsgeilheit. Egal wie, hauptsache man hat immer das Neuste und
kann mitreden und mitprahlen. Da werden irgendwelche Fremdquellen
gemixt, bis das System krepiert oder - weil es irgend ein Hannes
irgendwo "empfohlen" hat - einfach irgendwas krampfhaft versucht zu
kompillieren, weil man halt kein fertiges .deb zu findet. Das ist
einfach grausam - und typisch Windows like. Einfach mal machen, auch
wenn man keine Ahnung hat. Unter Windows geht das ja noch, weil es
meistens hinhaut. Da muss man für vieles keine Ahnung haben und kriegt
seine Programme alle fertig kompilliert und muss sie sich nurnoch
reinschieben ^^ Aber unter Linux geht diese Denk- und Herangehensweise
leider voll in die Hose, weil oftmals die User mit Halbwissen (die
selbst erst kurz dabei sind) versuchen, den Usern mit garkeinem Wissen
irgendwas zu vermitteln - und dann krachts. Mit dem Erfolg, dass die
Einsteiger gefrustet sind und "Linux scheisse und voll schwer" ist.
Grüße,
Mathias
Orginal: "Mailingliste der Penguin User Group" <talk at pug.org>