• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

make install - checkinstall?

Niniveh

Newbie
Hallo, schönes Forum hier
Ich bin Laie und habe vor einer Weile mich mit SuSE 8.1 und 8.2 versucht, um dann mit 9.0 grandios zu scheitern :cry:
Siehe hier: http://www.linuxforum.info/wbb2/thread.php?threadid=1176&sid=&hilight=SuSE+9+0&hilightuser=258
Ich beabsichtige nun einen Neueinstieg mit SuSE 9.2 und habe zu obigen Installationsbefehlen für mich verwirrendes gelesen und hoffe, hier erhellendes darüber zu erfahren.

In einer Anleitung für SuSE wurde hier (http://www.bigbash.de/) dringend von dem Installationsbefehl "make install" abgeraten. Man solle immer "checkinstall" verwenden.
Die entstehenden RPM Packete sind ja praktisch.
Hier eine Anleitung die ich las: http://linuxwiki.de/CheckInstall

Nun wird aber immer wieder, auch hier im Forum, der Befehl "make install" empfohlen.
Ich schließe daraus, dass die Vorteile von "Checkinstall" doch nicht so eindeutig sind, dass dies stets zu empfehlen wäre.
Wann nehme ich nun welchen Befehl?

Ich versuche jetzt einmal die Vorgehensweise kurz so zu beschreiben wie ich es verstanden habe. Es wäre sehr nett, wenn ihr mir sagt, ob es so stimmt oder meine Fehler richtigstellt.

Ich habe ein zu installierendes Tar Archiv in /home....
Dieses kopiere ich in irgend ein Verzeichnis, z.B. /user (Oder ein bestimmtes?)
Mit Ark entpacken. Es entsteht ein neues Programmverzeichnis.
Mit Konsole da hinein wechseln.
Konsolenbefehl als Benutzer:
./configure (Packetname? mit Leerzeichen?)
make
su (Rootpasswort)
"checkinstall" oder "make install"

Weil "checkinstall" RPM´s baut, könnte es ja auch funktionieren wenn das Archiv in /home liegenbleibt. Ja oder Nein?
 

migo

Member
Hi Niniveh,

ich installiere seit geraumer Zeit Tar.gz-Archive nur noch mit checkinstall, ohne Probleme. Ich mache es genau wie du: Erst die Datei in ein tempräres Verzeichnis (egal, welches), dann dort entpacken, in das entstehende gleichlautende Unterverzeichnis wechseln und dort in einer Konsole "./configure" (mit "./" deswegen, weil das configure in diesem Ordner gemeint ist, welches sonst nicht gefunden wird.) eingeben und laufenlassen.

Wenn alles gut geht, entsteht dabei das Makefile, welches du mit dem Befehl "make" abarbeitest.

Danach wechsle ich zum Superuser und gebe ein "/usr/local/sbin/checkinstall" (dies ist mein Pfad dorthin, kann evtl. auch anders sein) und alles weitere läuft interaktiv ab.

Der Vorteil ist, daß auf diese Weise ein rpm-Archiv von checkinstall gebaut wird, welches dann auch im yast erscheint und ganz normal wieder deinstalliert werden kann. Wenn du nur "make install" aufrufst, ist die Sache mit der Deinstallation oft sehr fummelig, man findet die Dateien einfach nicht alle wieder.

Also: Mein Urteil: Sehr empfehlenswert für alle selbst kompilierten Programme!

Grüße
Micha
 
OP
Niniveh

Niniveh

Newbie
Vielen Dank migo

Danach wechsle ich zum Superuser und gebe ein "/usr/local/sbin/checkinstall" (dies ist mein Pfad dorthin, kann evtl. auch anders sein) und alles weitere läuft interaktiv ab.
Hmm? Bislang stand in den paar Beschreibungen die ich las stets nur "checkinstall". Keinen Hinweis, dass ich einen Dateipfad voranstellen muß? Was bedeutet dieser Dateipfad eigentlich?
Startet von dort "checkinstall" oder soll dorthin installiert werden?

Wenn du nur "make install" aufrufst, ist die Sache mit der Deinstallation oft sehr fummelig, man findet die Dateien einfach nicht alle wieder.
Ich lies mir erklären, dass man lediglich das Programmverzeichnis, das man in einem beliebigen Verzeichnis erstellen läßt, z.B. /user/eigeneProgramme/xy..... löschen muß. Alle Programmdateien seinen darin enthalten und würden nicht über den ganzen Dateibaum verstreut. Somit wäre alles sauber deinstalliert.
Stimmt das nicht?
 

migo

Member
Hi Niniveh,

Zitat:
Danach wechsle ich zum Superuser und gebe ein "/usr/local/sbin/checkinstall" (dies ist mein Pfad dorthin, kann evtl. auch anders sein) und alles weitere läuft interaktiv ab.

Hmm? Bislang stand in den paar Beschreibungen die ich las stets nur "checkinstall". Keinen Hinweis, dass ich einen Dateipfad voranstellen muß? Was bedeutet dieser Dateipfad eigentlich?
Startet von dort "checkinstall" oder soll dorthin installiert werden?

Checkinstall startet von dort. Bei mir ist "/usr/local/sbin" nicht im Suchpfad vom root angegeben, bis jetzt reine Faulheit von mir. 8)
Wenn es bei ohne Pfadangabe startet, umso besser.

Zitat:
Wenn du nur "make install" aufrufst, ist die Sache mit der Deinstallation oft sehr fummelig, man findet die Dateien einfach nicht alle wieder.

Ich lies mir erklären, dass man lediglich das Programmverzeichnis, das man in einem beliebigen Verzeichnis erstellen läßt, z.B. /user/eigeneProgramme/xy..... löschen muß. Alle Programmdateien seinen darin enthalten und würden nicht über den ganzen Dateibaum verstreut. Somit wäre alles sauber deinstalliert.
Stimmt das nicht?

Ja, das sollte im Normalfall auch so sein. Ich habe aber auch schon von Ausnahmen gehört, die doch etwas streuen. Darüberhinaus: Wenn du "make install" einfach so aufrufst, weißt du ja erstmal garnicht, wohin überall installiert wird. Das müßtest du dir für eine Deinstallation wieder heraussuchen. Mit checkinstall sparst du dir den Schritt, denn das programm wird in yast angezeigt und kann von dort komplett entfernt werde, egal, wo es liegt.

Grüße
Micha
 

marwe

Newbie
Hi!

Niniveh schrieb:
Ich lies mir erklären, dass man lediglich das Programmverzeichnis, das man in einem beliebigen Verzeichnis erstellen läßt, z.B. /user/eigeneProgramme/xy..... löschen muß ...
Es gibt die Möglichkeit bei der Konfiguration das Installationsverzeichnis zu wählen, meistens so
Code:
./configure --prefix=/pfad/zu/verzeichnis
Dann funktioniert deine Methode. Die Möglichkeit gibt's allerdings nicht immer (musst' in README oder INSTALL beim jeweiligen Programm nachsehen).

PS: Warum sträubst Du dich so gegen checkinstall. Ich find's praktisch :D

Gruß, marwe
 

Libby

Newbie
Warum nicht gleich ein richtiges rpm bauen? Da muß man doch nur ein Specfile schreiben, und so schwierig ist das auch wieder net!
 

Spike

Newbie
genau mit diesem Thema beschäftige ich mich auch gerade. Falls ihr mehr darüber wissen wollt, hier mal ein paar (hoffentlich hilfreiche Links):

http://www.manpage.ch/howto/rpm_howto.html

http://www.linux-user.de/ausgabe/2003/07/074-rpm

http://www.unix-ag.uni-kl.de/~linux/linuxtag99/rpm_pakete_im_eigenbau.html


Könnt ja dann auch mal ein Feedback geben, welcher Link eurer Meinung nach am geeignetsten ist.

Liebe Grüße
Spike
 
OP
Niniveh

Niniveh

Newbie
Vielen Dank für Eure Antworten

@Spike
Dieser scheint mir am brauchbarsten:
http://www.unix-ag.uni-kl.de/~linux/linuxtag99/rpm_pakete_im_eigenbau.html
Und diesen für einen schnelleren Überblick finde ich auch nicht schlecht:
http://www.linux-user.de/ausgabe/2003/07/074-rpm

@Libby
Mal sehen ob bei den Links von Spike hierzu genau das richtige dabei ist. Bei einem stand, dass es sich um einige hundert Seiten Anleitung handelt, wenn man es ganz genau wissen will.

Letztendlich wird es es bei mir nur um ein paar wenige Programme gehen wie Opera und OOo aktuell halten. KDE kann man angeblich per RPM mit Yast herunterladen. Das wäre mir auch wichtig, allerdings schlugen meine Versuche via YAST mit SuSE 8.2 mehrmals wegen massenhafter Konflikte fehl. Ich mußte das ganze System neu installieren.
Ein ganz anderer Weg scheint Ebay zu sein. Kaum ist SuSE 9.2 zwei Wochen heraus, wird diese Distri für einen Appel und ein Ei versteigert. So könnte ich auch ohne größeren Aufwand immer aktuell bleiben.
 

Libby

Newbie
Hier gibt's ne gute Anleitung, wie man rpm-Pakete erstellt:
www.linux-user.de/ausgabe/2003/07/074-rpm/
 
Oben