14.03.2013 Aufrufe

freiesMagazin 01/2010

freiesMagazin 01/2010

freiesMagazin 01/2010

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

########################<br />

# Argumentpruefung<br />

########################<br />

if [ $# -eq 0 ]<br />

then<br />

echo "Es wurden keine Parameter<br />

uebergeben."<br />

exit 1<br />

fi<br />

if [ $# -gt 1 ]<br />

then<br />

echo "Es wurden mehr als ein <br />

Parameter uebergeben."<br />

exit 1<br />

fi<br />

if !([ -f "$1" ])<br />

then<br />

echo "Datei $1 existiert nicht<br />

."<br />

exit 1<br />

fi<br />

########################<br />

# "Globale" Variablen<br />

# (Zum Veraendern!)<br />

########################<br />

# Zusatz beim Speichern der <br />

Paketliste<br />

SUFFIX="all"<br />

# Verzeichnis fuer temporaere <br />

Dateien<br />

TEMP="/tmp"<br />

########################<br />

# "Lokale" Variablen<br />

########################<br />

# Quelldatei mit den Paketen , die <br />

installiert<br />

# werden sollen.<br />

ORIGIN="$1"<br />

# Name der letzten Paketdatei<br />

LAST="$ORIGIN"<br />

# Name der neuen Paketdatei<br />

NEW="$ORIGIN"<br />

# Anzahl der Pakete in der <br />

Quelldatei<br />

NUMBER=‘wc -l "$ORIGIN" | nawk ’{ <br />

print $1 }’‘<br />

# Alte Anzahl Pakete zum Vergleich<br />

OLDNUMBER ="0"<br />

# Zaehler fuer die Iteration<br />

COUNTER=0<br />

########################<br />

# Implementierung<br />

########################<br />

# Solange iterieren , bis keine <br />

neuen Pakete<br />

# dazu gekommen sind.<br />

while [ $OLDNUMBER != $NUMBER ]<br />

do<br />

PAKETVERWALTUNG<br />

# Neue Iteration beginnen.<br />

# Neuen Dateinamen setzen.<br />

COUNTER=$(( $COUNTER + 1 ))<br />

NEW="$TEMP/$ORIGIN$COUNTER"<br />

TEMPFILE="$NEW -tmp"<br />

# Pakete extrahieren<br />

xargs -a "$LAST" apt -cache <br />

depends -i | \<br />

nawk ’{ print $NF }’ | sort<br />

| uniq | \<br />

egrep -v "" \<br />

> "$TEMPFILE" | exit 1<br />

# Alte Pakete hinzufuegen<br />

cat "$LAST" >> "$TEMPFILE" | <br />

exit 1<br />

# Paketliste sortieren<br />

cat "$TEMPFILE" | sort | uniq ><br />

"$NEW" | exit 1<br />

# Alte Daten sichern<br />

LAST="$NEW"<br />

OLDNUMBER=$NUMBER<br />

# Neue Anzahl Pakete berechnen<br />

NUMBER=‘wc -l "$NEW" | nawk ’{ <br />

print $1 }’‘<br />

done<br />

# Kopiere komplette Paketliste<br />

cp "$NEW" "$ORIGIN -$SUFFIX" | exit <br />

1<br />

echo<br />

© <strong>freiesMagazin</strong> GNU FDL Ausgabe <strong>01</strong>/2<strong>01</strong>0 12

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!