Kleines script zur Erstellung einer preferences Datei: Unterschied zwischen den Versionen

Aus Linupedia.org
Wechseln zu: Navigation, Suche
K (Kategorie angepasst da nun die Kategorie Paketmanager mit Unterkategorien existiert)
K
 
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Mit diesem Script kann man sich eine preferences erstellen um viele Pakete mit gleichem Präfix (kde, xorg, ..) zu pinnen.  
+
Mit diesem Script kann man sich eine preferences erstellen, um viele Pakete mit gleichem Präfix (kde, xorg, ..) zu pinnen.  
  
 
Aufruf:  
 
Aufruf:  
Zeile 9: Zeile 9:
 
   ./myScript myXORG xorg
 
   ./myScript myXORG xorg
  
Falls man den 2.Parameter weg lässt erhält man eine preference Datei für alle seine aktuell installierten Pakete.  
+
Falls man den 2.Parameter weg lässt, erhält man eine preference Datei für alle seine aktuell installierten Pakete.  
  
Die Ergebnis Datei steht im aktuellen Verzeichnis und kann dann (nach Prüfung!) in die vorhandene /etc/apt/preferences eingefügt werden. Das darf in der Regel nur root !  
+
Die Ergebnisdatei steht im aktuellen Verzeichnis und kann dann (nach Prüfung!) in die vorhandene /etc/apt/preferences eingefügt werden. Das darf in der Regel nur root !  
  
Da es sich um ein "quick hack" Script handelt, gibt es keinerlei Fehlerprüfung der Parameter
+
Da es sich um ein "quick hack" Script handelt, gibt es keinerlei Fehlerprüfung der Parameter.
  
 
Hier die source, speichern z.Bsp als myScript und mit chmod +x myScript ausführbar machen.
 
Hier die source, speichern z.Bsp als myScript und mit chmod +x myScript ausführbar machen.
Zeile 58: Zeile 58:
 
----
 
----
 
[[Shellscripte|Zurück zur Shellscripte Übersicht]]<br />
 
[[Shellscripte|Zurück zur Shellscripte Übersicht]]<br />
[[APT|Zurück zur Apt Übersicht]]<br/>  
+
[[Paketmanager|Zurück zum Paketmanager]]<br/>  
 
[[Category:APT]]
 
[[Category:APT]]
 
[[Category:Shellscripte]]
 
[[Category:Shellscripte]]

Aktuelle Version vom 2. April 2007, 09:20 Uhr

Mit diesem Script kann man sich eine preferences erstellen, um viele Pakete mit gleichem Präfix (kde, xorg, ..) zu pinnen.

Aufruf:

myScript <name-der-preferences> <filter-string>

Beispiel:

 ./myScript myXORG xorg

Falls man den 2.Parameter weg lässt, erhält man eine preference Datei für alle seine aktuell installierten Pakete.

Die Ergebnisdatei steht im aktuellen Verzeichnis und kann dann (nach Prüfung!) in die vorhandene /etc/apt/preferences eingefügt werden. Das darf in der Regel nur root !

Da es sich um ein "quick hack" Script handelt, gibt es keinerlei Fehlerprüfung der Parameter.

Hier die source, speichern z.Bsp als myScript und mit chmod +x myScript ausführbar machen.

#! /bin/bash 

# Author: oc2pus 
# create a apt-preference file for all packages matching filter 
# 
# usage: $0 preferencefile filter 

MYRPMLIST="./tmpRPMList" 

if [ -z "$1" ]; then 
   MYPREF="./myPreferences" 
else 
   MYPREF="$1" 
fi 

# create list of installed packages 
echo "$0: create temporary package list ($MYRPMLIST)" 
if [ -z "$2" ]; then 
   rpm -qa --queryformat "%-30{name} %20{version} %10{release}\n" | sort > $MYRPMLIST 
else 
   rpm -qa --queryformat "%-30{name} %20{version} %10{release}\n" | sort | grep "$2" > $MYRPMLIST 
fi 
# sample line: 
# CheckHardware                                   0.1        778 

# create preference 
echo "$0: create preference file ($MYPREF) filter ("$2")" 
cat $MYRPMLIST | awk '{print "Package: "$1}{print "Pin: version "$2"-"$3}{print "Pin-Priority: 1001"}{print ""}' > $MYPREF 

echo "$0: remove temporary package list ($MYRPMLIST)" 
rm -f $MYRPMLIST 

echo "$0: check $MYPREF and append it to your /etc/apt/preferences" 

Script-Gurus sind aufgerufen dieses Script zu "veredeln" ... evtl mit automatischem append an die vorhandene /etc/apt/preferences


oc2pus


Zurück zur Shellscripte Übersicht
Zurück zum Paketmanager