aus YUM ableiten, wo man ein RPM findet

Ich werde immer gern gefragt, wo ich den die Links zu den RPMs finde, wenn ich brauche, aber nicht finde. Ein Weg ist das YUM Repo direkt fragen. Zunächst einmal suchen wir uns das passende Repository aus:

# ls -la /etc/yum.repos.d/
insgesamt 68
drwxr-xr-x.   2 root root  4096 18. Jun 14:25 .
drwxr-xr-x. 172 root root 12288  4. Aug 08:35 ..
-rw-r--r--.   1 root root   179 25. Jul 2007  adobe-linux-i386.repo
-rw-r--r--.   1 root root   183  1. Apr 2011  adobe-linux-x86_64.repo
-rw-r--r--.   1 root root  1254 19. Feb 14:46 fedora.repo
-rw-r--r--.   1 root root  1213 19. Feb 14:46 fedora-updates.repo
-rw-r--r--.   1 root root  1271 19. Feb 14:46 fedora-updates-testing.repo
-rw-r--r--.   1 root root  1241 15. Dez 2013  rpmfusion-free-rawhide.repo
-rw-r--r--.   1 root root  1172 15. Dez 2013  rpmfusion-free.repo
-rw-r--r--.   1 root root  1170 15. Dez 2013  rpmfusion-free-updates.repo
-rw-r--r--.   1 root root  1230 18. Mär 2013  rpmfusion-free-updates-testing.repo

dann holen wir uns die BaseURL aus dem Repo ( was anderes macht Yum eigentlich auch nicht )

# cat /etc/yum.repos.d/rpmfusion-free.repo | grep baseurl
#baseurl=http://download1.rpmfusion.org/free/fedora/releases/$releasever/Everything/$basearch/os/
#baseurl=http://download1.rpmfusion.org/free/fedora/releases/$releasever/Everything/$basearch/debug/
#baseurl=http://download1.rpmfusion.org/free/fedora/releases/$releasever/Everything/source/SRPMS/

Die BaseURL kann mit einem normalen Browser aufgerufen werden, wenn man die Variablen ersetzt.

$releasever = Fedora Nummer z.b. 20
$basearch = Basearchitecture also i686 für 32 bit oder x86_64 für 64 bit.

Beispiel:

http://download1.rpmfusion.org/free/fedora/releases/20/Everything/x86_64/os/

Jetzt rufen Sie das noch mit dem Browser auf und siehe da, alle RPMs liegen vor Ihnen.

Es kann vorkommen, wenn die Repos besonders groß sind, daß diese in mehrere Teile aufgeteilt sind. Üblicherweise nach dem ersten Zeichen des Dateinamens also A B C usw. .

RPMFIND.net

Wenn Sie ein spezielles RPM suchen, daß nicht in Ihren Repos enthalten ist, kann http://rpmfind.net/ Ihnen helfen. Sie finden dort eine Vielzahl von Paketen, die nicht mit Fedora ausgeliefert werden, aber trotzdem benötigt werden. Oder auch einfach nur ältere Versionen.

Koji – Alte Pakete finden, die Fedora aus dem Repo gelöscht hat.

Rufen Sie mal diese URL auf :  http://koji.fedoraproject.org/koji/packageinfo?packageID=280

Sie werden dort die Liste aller HTTPD Pakete finden, die jemals für Fedora gebaut wurden.

alle jemals gebauten Pakete für ein Programm

alle jemals gebauten Pakete für ein Programm

Suchen Sie sich die Version aus, die Sie gern hätten und klicken Sie auf den Link. Sie bekommen dann die Paketinformationen angezeigt. Diese enthält auch alle Downloadlinks zu den jeweiligen Architekturen.

genaue Paketinformationen und Downloadlinks

genaue Paketinformationen und Downloadlinks

Eigene Chips in lm_sensors konfigurieren

Linux verfügt über ein großartiges Programm zum Lesen und Anzeigen von Sensorsdaten. Das Paket heißt lm_sensors. Da es aber sehr viele verschiedene Mainboards, respektive Chips auf den Boards gibt, kann es vorkommen, daß aktuelle Chips nicht richtig ausgewertet werden.

Der Chipsatz „it8721-isa-0290“ auf meinem Asusboard ist so ein Chip.

Das Problem

Wenn man sensors aufruft, erscheint z.B. so eine Ausgabe:

it8721-isa-0290
Adapter: ISA adapter
in0:          +2.82 V  (min =  +1.22 V, max =  +0.19 V)  ALARM
in1:          +2.80 V  (min =  +1.93 V, max =  +1.42 V)  ALARM
in2:          +0.80 V  (min =  +1.84 V, max =  +2.38 V)  ALARM      
+3.3V:        +3.34 V  (min =  +2.71 V, max =  +0.38 V)  ALARM
in4:          +1.20 V  (min =  +0.17 V, max =  +2.03 V)
in5:          +2.50 V  (min =  +1.18 V, max =  +2.52 V)  ALARM
in6:          +1.92 V  (min =  +1.43 V, max =  +0.23 V)  ALARM
3VSB:         +4.61 V  (min =  +3.65 V, max =  +2.76 V)  ALARM      
Vbat:         +3.36 V  
fan1:        1912 RPM  (min =  128 RPM)
fan2:           0 RPM  (min =   53 RPM)  ALARM           
fan3:           0 RPM  (min =   10 RPM)  ALARM           
temp1:        +39.0°C  (low  = -54.0°C, high = -127.0°C)  ALARM  sensor = thermistor
temp2:        +34.0°C  (low  = +19.0°C, high = -123.0°C)  ALARM  sensor = thermistor
temp3:       -128.0°C  (low  = -85.0°C, high = -32.0°C)  sensor = disabled 

Wie man leicht erkennen kann, sind die meisten Min/Max Werte falsch und folglich auch die ALARM Meldungen am Ende der jeweiligen Sensoren. Das liegt daran, daß in der /etc/sensors.conf keine Einträge für diesen Chip enthalten sind.

Fügen Sie am Ende der Datei einfach folgende Einträge an:

chip "it8721-*"
 label temp1 "CPU Temp"
 label fan1 "CPU Fan"
 label in0 "Core 0"
 set in0_min 3.0 * 0.90
 set in0_max 3.0 * 1.10
 set in1_min 3.0 * 0.90
 set in1_max 3.0 * 1.10
 set in2_min 0.8 * 0.90
 set in2_max 2.0
 set in3_min 3.3 * 0.90
 set in3_max 3.3 * 1.10
 set in6_min 1.9 * 0.95
 set in6_max 1.9 * 1.05
 set in7_min 5.0 * 0.90
 set in7_max 5.0 * 1.10
 set fan2_min 0
 set fan3_min 0
 set temp1_min 0
 set temp1_max 86
 set temp2_min 0
 set temp2_max 128

und dann starten Sie sensors mal mit dem Zusatz „-s“ : sensors -s . Danach ist die Ausgabe für Ihren Chipsatz korrekt.

Sie müssen erstmal herausbekommen, welchen Chip Sie da überhaupt haben, bevor Sie das obige Nachmachen können. Dabei hilft Ihnen sensors-detect . In einem Frage- und Antwortspiel werden Sie über Ihre Chips ausgefragt. Antworten Sie nach besten Wissen und Gewissen, dann klappt das schon.

YUM: Abhängigkeitsprobleme lösen

Es kann vorkommen, daß einzelne Abhängigkeiten bei einem Update über mehrere Repositories nicht aufgelöst werden können. Z.b. weil im Fedora Hauptrepo eine neuere Version des Pakets verteilt werden soll, wie in den anderen Repos referenziert werden. Oder anders ausgedrückt, jemand hat sein Update noch nicht fertig und hinkt hinterher.

Am Beispiel des jüngsten QMMP Updates, möchte ich das mal verdeutlichen :

---> Paket qmmp.x86_64 0:0.7.4-1.fc20 markiert, um aktualisiert zu werden
 --> Abhängigkeit qmmp(x86-64) = 0.7.4 wird für Paket qmmp-plugins-freeworld-0.7.4-1.fc20.x86_64 verarbeitet
 --> Abhängigkeitsauflösung beendet
 --> Transaktionsprüfung wird ausgeführt
 ---> Paket qmmp.x86_64 0:0.7.4-1.fc20 markiert, um aktualisiert zu werden
 --> Abhängigkeit qmmp(x86-64) = 0.7.4 wird für Paket qmmp-plugins-freeworld-0.7.4-1.fc20.x86_64 verarbeitet
 --> Abhängigkeitsauflösung beendet
 Fehler: Paket: qmmp-plugins-freeworld-0.7.4-1.fc20.x86_64 (@rpmfusion-free-updates)
 Benötigt: qmmp(x86-64) = 0.7.4
 Entfernen: qmmp-0.7.4-1.fc20.x86_64 (@updates)
 qmmp(x86-64) = 0.7.4-1.fc20
 Aktualisiert durch: qmmp-0.7.7-1.fc20.1.x86_64 (updates)
 qmmp(x86-64) = 0.7.7-1.fc20.1
 Verfügbar: qmmp-0.7.2-1.fc20.x86_64 (fedora)
 qmmp(x86-64) = 0.7.2-1.fc20
 Sie können versuchen, mit --skip-broken das Problem zu umgehen.
 Sie könnten Folgendes versuchen: rpm -Va --nofiles --nodigest

Was steht da jetzt wirklich ?

QMMP soll von 0.7.4 auf 0.7.7 aktualisiert werden,
ABER das qmmp-plugins-freeworld-0.7.4-1 Paket braucht 0.7.4-1 und nicht 0.7.7 .

Den Vorschlag SKIP BROKEN kann man einfach vergessen. Der Zustand kommt öfter vor,
deswegen hier gleich mal die Lösung:

 #  vi /etc/yum.conf

Ans Ende der Main-Sektion schreibt man nun einfach „exclude=qmmp*“ .

Das könnte dann so aussehen :

[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=3
exclude=qmmp*

#  This is the default, if you make this bigger yum won't see if the metadata

Ein „yum update“ wird jetzt durchlaufen. In einer Woche können wir dann mal nachsehen, ob das qmmp-plugins-freeworld Paket auf Stand ist.