Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[PORTAGE] Skript um größere Pakete zu (de)installieren
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
Beforegod
Bodhisattva
Bodhisattva


Joined: 10 Apr 2002
Posts: 1495
Location: Würzburg

PostPosted: Tue Nov 11, 2003 11:21 am    Post subject: [PORTAGE] Skript um größere Pakete zu (de)installieren Reply with quote

Hallo,

nachdem es mir ziemlich auf den NErv ging die ganzen Abhängigkeiten (für z.B. GNOME) zu merken um sie später wieder sauber zu deinstallieren habe ich mir ein einfaches(!!) Skript geschrieben.

Es protokolliert alle Pakete die installiert werden und kann sie bei Bedarf auch wieder deinstallieren (auch wenn es dazwischen neuere Updates gab).


Allerdings gilt : Wenn bei einem Update neue Software dazu kam, wird diese nicht mit auf genommen. Daran arbeite ich noch!

Wie gesagt das Skript ist sehr simpel :

pkg-emerge l
für eine Liste aller installieren Applikationen (mit pkg-emerge)

pkg-emerge u $paket
für die Deinstallation

pkg-emerge i $paket
für die Installation

Bitte ändert die Variabel $UNINSTALL_LOG damit sie in ein gültiges Verzeichnis verweist!

Cheers,
BeforeGod

Code:

#!/bin/sh
#emerge (un) installer
#Protocolls which packages will be installed by a big project (like gnome and kd
e) and simply uninstall it if you want

UNINSTALL_LOG=/pub/uninstall

if [ "$1" =  "u" ]; then
        echo "Uninstalling Package $2"
        emerge unmerge `grep -i ebuild $UNINSTALL_LOG/$2 | gawk '{print ">="$4}'
`
        echo "Package uninstalled"
        rm -f $UNINSTALL_LOG/$2
        exit 1
fi

if [ "$1" = "i" ]; then
        echo "Installing Package $2"
        emerge -p $2 > $UNINSTALL_LOG/$2
        echo "Fetching all the Packages"
        emerge -f $2
        echo "Get Ready for emerge..."
        emerge $2
        exit 1
fi

if [ "$1" = "l" ]; then
        echo "List Packages allready installed"
        ls -1 $UNINSTALL_LOG
        exit 1
fi

if [ !$1 ]; then
        echo "Usage"
        echo "pkg-emerge Option Package"
        echo "Options : u - UnInstall"
        echo "        : i - Install"
        echo "        : l - List Installed Packages"
        exit 0
fi
Back to top
View user's profile Send private message
Beforegod
Bodhisattva
Bodhisattva


Joined: 10 Apr 2002
Posts: 1495
Location: Würzburg

PostPosted: Thu May 13, 2004 6:19 am    Post subject: Reply with quote

Hier mal ein Update wo auch Updates von Software möglich ist.

Code:

#!/bin/sh
#emerge (un) installer
#Protocolls which packages will be installed by a big project (like gnome and kde) and simply uninstall it if you want

UNINSTALL_LOG=/pub/uninstall

if [ "$1" =  "u" ]; then
   echo "Uninstalling Package $2"
   emerge unmerge `grep -i ebuild $UNINSTALL_LOG/$2 | gawk '{print ">="$4}'`
   echo "Package uninstalled"
   rm -f $UNINSTALL_LOG/$2
   exit 1
fi

if [ "$1" = "i" ]; then
   echo "Installing Package $2"
   emerge -p $2 > $UNINSTALL_LOG/$2
   echo "Fetching all the Packages"
   emerge -f $2
   echo "Get Ready for emerge..."
   emerge $2
   exit 1
fi

if [ "$1" = "l" ]; then
   echo "List Packages allready installed"
   ls -1 $UNINSTALL_LOG
   exit 1
fi

if [ "$1" = "pkg" ]; then
   echo "Erstelle Pakete"
   emerge --buildpkgonly $2
   exit 1
fi

if [ "$1" = "pkg-i" ]; then
   echo "Installiere Pakete"
   emerge -p $2 > $UNINSTALL_LOG/$2
   emerge --usepkgonly $2
   exit 1
fi

if [ "$1" = "update" ]; then
   echo "Update mit Pakete"
   emerge -p $2 >> $UNINSTALL_LOG/$2
   echo "Fetching Update"
   emerge -Uf $2
   echo "Installing Update"
   emerge -U $2
   exit 1
fi

if [ !$1 ]; then
   echo "Usage"
   echo "pkg-emerge Option Package"
   echo "Options : u     - UnInstall"
   echo "        : i     - Install"
   echo "        : l     - List Installed Packages"
   echo "        : pkg   - Pakete erstellen"
   echo "        : pkg-i - Pakete installieren"
   echo "        : update - Programme updaten"
   exit 0
fi


Viel Spass!
Back to top
View user's profile Send private message
sirro
Veteran
Veteran


Joined: 20 Jul 2003
Posts: 1472
Location: aachen.nrw.de.eu

PostPosted: Thu May 13, 2004 6:45 am    Post subject: Reply with quote

Ich habe meine eigene Taktik:

0) /etc/portage/packages.use pflegen und nie mit "USE=foo emerge pkg-cat/pkg-name" installieren
1) software normal mit emerge pkg-cat/pkg-name installieren
2) updates nur mit emerge --oneshot -u pkg-cat/pkg-name damit die Pakete nicht im worldfile landen (keine Ahnung warum es das bei einem "emerge -u world" macht)
3) software normal mit emerge -C pkg-cat/pkg-name entfernen
4) mit emerge -p depclean aufräumen

Das Problem ist, dass man bei updates immer an das --oneshot denken muss, dafür hab ich mir ein alias definiert. Ein regelmäßiger Blick ins worldfile erledigt den Rest. (alles was man nicht installiert hat müsste dann raus da).

Nur als Anregung für andere, diese Vorgehensweise hat bei mir immer sehr gut funktioniert und berücksichtigt im Prinzip alle Abhängigkeiten, auch bei kleinen Paketen...
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum