openSUSE 11.2 – Überflüssige RPM-Packages aufspüren

Das Kommandozeilen-Installationstool zypper ist sehr mächtig. Jedoch hat es leider auch eine Schwäche. Es kann bei der Deinstallation eines Package nicht automatisch weitere verwaiste Packages deinstallieren. (Diese Funktionalität ist für die nächste openSUSE Version geplant)

Im Repo von Packman gibt es ein Tool namens rpmorphan. Dieses Tool spürt verwaiste Packages auf und bietet diese ggfs. zur Deinstallation an. Das Packman-Repo lässt sich leicht über die YaST2-Repoverwaltung hinzufügen. Eine Anleitung gibt es hier: http://de.opensuse.org/YaST/Software/Community_Repositories

Nachdem man Packman eingebunden hat, kann man rpmorphan über YaST2 oder per zypper in der Konsole installieren:

zypper in rpmorphan

Das Tool kann man im GUI-Modus wahlweise über den Menü-Eintrag oder in der Konsole starten (letzteres sollte man besser vorziehen):

rpmorphan -gui

Es lässt sich auch ohne GUI-Modus ausführen, in dem man den Schalter -gui weglässt.

rpmorphan ohne weitere Schalter (Voreinstellung: Libraries) listet alle verwaisten Library-Packages auf und man kann hier nochmal die einzelnen Packages durchgehen, die man löschen kann/will/möchte. Hier ist ein wenig Vorsicht geboten. Da die Auswahl auch Entwicklungspakete und Codecs betreffen, sollte man selber nochmal abwägen, ob das Package doch noch gebraucht wird.

Wir können aber auch unsere Auswahl der verwaisten Packages mit folgenden Schaltern beeinflussen:

-guess-perl
    berücksichtigt Perl-Module
-guess-python
    berücksichtigt Python-Module
-guess-pike
    berücksichtigt Pike-Module
-guess-ruby
    berücksichtigt Ruby-Module
-guess-common
    berücksichtigt gemeinsame Packages
-guess-data
    berücksichtigt Packages, in der Daten für ein Package enthalten ist.
-guess-doc
    berücksichtigt Packages, in der Dokumentationen vorkommen.
-guess-dev
    berücksichtigt Development-Packages
-guess-lib
    berücksichtigt Library-Packages (Voreinstellung)
-guess-all
    berücksichtigt alle oben genannten Packages

z.B. mit folgendem Befehl können wir rpmorphan alle verwaisten Perl-, Python- und Ruby-Module auflisten lassen:

rpmorphan -guess-perl -guess-python -guess-ruby

Wenn man z.B. innerhalb der letzten 2 Tagen ein Package mit all seinen Abhängigkeiten installiert hat, kann man auch mit diesem Schalter -install-time das Zeitfenster definieren:

rpmorphan -guess-all -install-time 2

Auch die Auflistung in einem Zeitfenster, in dem auf eine Datei eines Packages nicht zugegriffen wurde, ist auch hier -access-time möglich. Jedoch muss man vorweg warnen, dass es je nach Anzahl der installierten Packages eine Menge Daten auswerten muss und dadurch eine Weile dauern kann. In diesem Beispiel ist der letzte Zugriff vor 30 Tagen:

rpmorphan -guess-all -access-time 30

Hat man einige Packages ausfindig gemacht, die man löschen will. Dann kann man dies mit zypper bequem ein oder mehrere Packages anhand der Package-Namen löschen:

zypper rm (package)

Welche Schalter es noch gibt, lässt sich wie folgt abrufen:

rpmorphan -help

openSUSE 11.2 – Weitere Nameserver eintragen

Traditionsgemäß hatte man in die Datei /etc/resolv.conf mehrere Nameserver eingetragen. Jedoch ist ein direktes Bearbeiten dieser Datei nicht empfohlen, weil in openSUSE 11.2 eigene Konfigurationstool bzw. der NetworkManager die Einstellungen in /etc/resolv.conf überschreiben kann.

Ein Blick in die Datei /etc/resolv.conf sagt eigentlich schon alles:

### /etc/resolv.conf file autogenerated by netconfig!
#
# Before you change this file manually, consider to define the
# static DNS configuration using the following variables in the
# /etc/sysconfig/network/config file:
#     NETCONFIG_DNS_STATIC_SEARCHLIST
#     NETCONFIG_DNS_STATIC_SERVERS
#     NETCONFIG_DNS_FORWARDER
# or disable DNS configuration updates via netconfig by setting:
#     NETCONFIG_DNS_POLICY=''
#
# See also the netconfig(8) manual page and other documentation.
#
# Note: Manual change of this file disables netconfig too, but
# may get lost when this file contains comments or empty lines
# only, the netconfig settings are same with settings in this
# file and in case of a "netconfig update -f" call.
#
### Please remove (at least) this line when you modify the file!

Jetzt denkt man gerade, dass man doch einfach in YaST2 in die Netzwerkeinstellungen geht und dort die Nameserver einträgt. Weit gefehlt, da die Option „Benutzergesteuert mithilfe von NetworkManager“ von vornherein aktiviert ist, können auch keine weiteren Nameserver eingetragen werden.

Der NetzwerkManager ist standardmäßig in KDE 4.3.x im „Systemabschnitt der Kontrollleiste“ geladen und läßt sich dort bequem per Rechtsklick über „Verbindungen verwalten“ konfigurieren und weitere Nameserver im jeweiligen Konfigurationsabschnitt hinzufügen.

Wenn man aber ein externes Einwahlprogramm wie UMTSmon verwendet, dann nutzen diese Einstellungen im NetworkManager rein gar nichts. Also, muss man hier zum Teil händisch vorgehen.

1.  YaST2-Kontrollzentrum starten.

2. Im YaST2-Kontrollzentrum “Editor für /etc/sysconfig” starten.

3. Auf der linken Seite den Pfad folgen:
Network / General / NETCONFIG_DNS_STATIC_SERVERS

4. Die IP-Adresse des Nameservers eintragen. Falls es mehrere Nameserver sind, bitte mit Leerzeichen trennen und abschließend auf “OK” klicken (Evtl. die Eingabe nochmal bestätigen lassen)

Nach dieser Arbeit wird die Datei /etc/resolv.conf automatisch aktualisiert und die Nameserver sind nun fest eingetragen.

openSUSE 11.2 – YaST2 soll nach der Installation wieder die Softwareauswahl anzeigen

Ein weiterer Tipp erwartet euch wieder. :wink: Einigen von uns ist es sicherlich aufgefallen, dass sich das Fenster von YaST2 nach einer Softwareinstallation schließt. Unter Umständen kann es nervig sein, weil man evtl. das eine oder andere Paket noch nachinstallieren möchte bzw. man auch in die Dateiliste schauen kann, was eigentlich alles installiert wurde.

Um diesen kleinen Missstand zu beseitigen, gibt es eine Einstellung in der YaST2 aufgefordert wird, die Softwareauswahl nach der Installation erneut anzeigen zu lassen.

Hier die Step-By-Step Anleitung:

1.  YaST2-Kontrollzentrum starten.

2. Im YaST2-Kontrollzentrum „Editor für /etc/sysconfig“ starten.

3. Auf der linken Seite den Pfad folgen:
System / Yast2 / GUI / PKGMGR_ACTION_AT_EXIT

4. Im DropDown-Feld „restart“ wählen und auf „OK“ klicken (Evtl. die Eingabe nochmal bestätigen lassen)

openSUSE 11.2 – proprietären Grafik-Treiber ATI Catalyst 9.11 als RPM installieren

Hinweis: Dieser Artikel ist veraltet. Ein neuer Artikel befindet sich hier: openSUSE 11.2 – proprietären Grafik-Treiber ATI Catalyst 9.12 als RPM installieren

Als ich den proprietären ATI-Treiber als RPM bauen und installieren wollte, bricht der Bau der RPM immer ab bzw. wird mit einem Absturz des Installers quittiert. :evil: Nach einiger Zeit hatte ich den Bogen raus, wie man diesen RPM doch bauen und auch installieren kann. Es gibt ein Fehler in einem Skript des Installers,  der für den Bau der RPM zuständig ist. Er konnte die kompilierten Dateien nicht mehr finden und folglich auch keine RPM bauen. :roll:

Hier die Step-By-Step Anleitung für die Konsole für den 32/64-bit System:

1. den Installer des proprietären Treiber von ATI herunterladen:
http://support.amd.com/us/gpudownload/linux/Pages/radeon_linux.aspx?type=2.4.1&product=2.4.1.3.5&lang=English

2. den Inhalt vom Installer in ein Verzeichnis auspacken:

sh ./ati-driver-installer-9-11-x86.x86_64.run --extract ati-9.11

3. Eine Patch-Datei namens „ati-9.11.patch“  mit folgendem Inhalt erstellen:

diff -rup ati-9.11-orig/packages/SuSE/ati-packager.sh ati-9.11/packages/SuSE/ati-packager.sh
--- ati-9.11-orig/packages/SuSE/ati-packager.sh 2009-11-12 07:07:59.000000000 +0100
+++ ati-9.11/packages/SuSE/ati-packager.sh      2009-12-05 14:47:05.932631343 +0100
@@ -91,7 +91,7 @@ s!%ATI_DRIVER_BUILD_ROOT!${TmpDrvFilesDi
 END_SED_SCRIPT

     #Build the package
-    rpmbuild -bb --root ${TmpDrvFilesDir} --target ${ARCH} ${TmpPkgSpec} > ${TmpPkgBuildOut} 2>&1
+    rpmbuild -bb --buildroot ${TmpDrvFilesDir} --target ${ARCH} ${TmpPkgSpec} > ${TmpPkgBuildOut} 2>&1

     #Retrieve the absolute path to the built package
     if [ $? -eq 0 ]; then

Update: Es wird empfohlen die Patch-Datei direkt herunterzuladen: ati-9.11.patch

Hier der Weg über die Konsole:

wget http://www.sebastian-siebert.de/downloads/ati-9.11.patch

4. Patchdatei anwenden:

patch -p0 <ati-9.11.patch

5. In den ausgepackten Verzeichnis wechseln:

cd ati-9.11

6a. Den Bau der RPM manuell anstoßen (32-bit):

./ati-installer.sh 8.671 --buildpkg SuSE/SUSE112-IA32

6b. Den Bau der RPM manuell anstoßen (64-bit):

./ati-installer.sh 8.671 --buildpkg SuSE/SUSE112-AMD64

7. das frisch gepackte RPM installieren:

rpm -ihv fglrx64_7_4_0_SUSE112-8.671*.rpm

Damit dürfte jetzt wieder der Treiber funktionieren und die 3D-Effekte unter Linux etwas ausreizen. :wink:

Ich bin für Kommentare und weitere Tipps dankbar. :wink:

Eröffnungsfeier ;-)

Nehmt es mir nicht übel, dass ich erst jetzt eine Plattform zum Bloggen habe, während tausend andere Benutzer/Schriftsteller/Schreiberlinge schon eine halbe Ewigkeit bloggen. :wink:

Irgendwo da draußen gibt es Menschen, die gerne mal ein anderes Betriebssystem testen oder sogar ein- bzw. ersetzen  wollen. Ich kann für Neulinge auch openSUSE empfehlen. Die Hürde senkt sich immer weiter ab. Vielleicht stellt es in naher Zukunft überhaupt keine Hürde mehr da.  :grin: Ich hingegen bin von MS Windows zu openSUSE gewechselt und bin sehr froh, dass ich überhaupt gewechselt habe. System- bzw. Softwareaktualisierungen erhält man kostenfrei (ausgenommen sind die Kosten für den eigenen Internetzugang :wink:). Die Distribution wird von der Community gebacken, in der ich auch Mitglied bin und kann an der Entwicklung der Distribution mitwirken. :mrgreen:   Später werde ich darüber mehr erzählen.

Ich kann mir vorstellen, dass einige Menschen die Tipps und Tricks zur Linux-Distribution openSUSE gebrauchen können. Jedoch beschränkt sich dieser Blog nicht nur auf openSUSE, sondern auch in Bereichen wie Shell, Skripting, Programmierung, Software, Tests und etwas vom Weltgeschehen. Manchmal kommt dann auch mal ein „Aha“ über die Lippen, wenn man sich ein Artikel durchliest und man wieder etwas dazugelernt hat.  :idea: Ich betrachte mich selbst nicht wirklich als Profi, obwohl einige Menschen (davon meistens nicht technisch-versierte Leute) in meinem Umfeld es wirklich so sehen. :twisted: Denn ich gebe meine Erfahrung gerne weiter und lerne immer noch von anderen Schrifsteller mit echten bedruckten Büchern oder auch in digitaler Form wie Blogs, Dokus, HowTos. Daher wer Profi ist, der weiß halt schon alles und seine Systeme laufen nur so lange gut, bis er es verbockt hat. Dann ist sein Ruf für immer hin und wird fortan abwertende Spitznamen wie „Computer-Experte“ bzw. „Computer-Profi“ nicht mehr los. :roll:

Nun gut, lasst uns die Ärmel hochkrempeln und loslegen. :wink: