Linux/Tipps/Gentoo/Software
Bedienung
USE-Flags
Dateien
- vom Profile vorgegebene globale USE-Flags: /etc/make.profile/make.defaults
- eigene USE-Flags: /etc/make.conf
- Paket-spezifische USE-Flags: /etc/portage/package.use
USE-Flag setzen:
<Flag>
USE-Flag löschen:
-<Flag>
LINGUAS-Flag löschen (Beispiel: de):
-linguas_de
Abfragen
Die effektiv aktiven USE-Flags anzeigen:
emerge --info
Welche Pakete verwenden ein bestimmtes USE-Flag?
equery hasuse <Flag>
Welche USE-Flags verwendet ein bestimmtes Paket?
equery uses mysql
Sonstiges
Nach Änderung der USE-Flags die betroffenen Pakete neu compilieren und zusätzlich benötigte Pakete installeren:
emerge --update --newuse --deep world
Editor für USE-Flags:
emerge ufed
Meine derzeitigen USE-Flags
USE="-arts libc-omitfp -gnome dvb lirc dts joystick lcd mmx asf ivtv apache2 mysql mysqli lm_sensors openssh usb v4l v4l2 nvidia mplayer a52 imagemagick lzo mjpeg jpeg2k lcms fame theora aac ups glitz transcode vcd java nsplugin x264 divx xvid"
Repository aktualisieren
emerge --sync
Suchen
Suchen eines Paketnamens in Portage:
emerge --search <SubString>
Suchen in der Paketbeschreibung in Portage:
emerge --searchdesc <SubString>
Suchen aller Versionen eines Pakets lokal und in Portage:
equery list --portage-tree <SubString>
Installieren
emerge <Paket>
Abgebrochene Installation fortsetzen
emerge --resume
Dabei das erste Paket überspringen:
emerge --resume --skipfirst
Updaten
emerge --update <Paket>
Vorcompilierte Pakete bevorzugen
Quelle und Liste der BINHOSTs: http://gentoo-wiki.com/TIP_Using_PORTAGE_BINHOST
Vorbereitung in /etc/make.conf (Beispiel):
PORTAGE_BINHOST="https://e.ututo.org.ar/i686/"
Dann immer beim Installieren -kg angeben:
emerge -kg <Paket>
Bei vom Hersteller vorcompilierten Versionen:
emerge <Paket>-bin
Bestimmte Version installieren
emerge =<Paket>-<Version>
Maskierte Pakete freigeben
/etc/portage/package.keywords:
<Bereich>/<Paket>
bzw.
<Bereich>/<Paket> ~x86
Oder /etc/portage/package.unmask:
<Bereich>/<Paket>
Alles updaten
emerge --update --deep world
Mit Rückfrage:
emerge --update --ask --deep world
Nach Änderung der USE-Flags
emerge --update --ask --deep --newuse world
Config-Files nach Updates mergen
etc-update
Reste von Abbrüchen löschen
rm -rf /var/tmp/portage/<Bereich>/<Paket>
Security-Fixes
Quelle: http://www.gentoo.org/doc/en/security/security-handbook.xml?part=1&chap=14
Prüfen, ob es nicht installierte Security-Fixes gibt:
glsa-check -d affected
oder
glsa-check -t all
Einspielen eines bestimmten Fixes simulieren:
glsa-check -p <Fix>
Einen bestimmten Fix installieren:
glsa-check -f <Fix>
Abfragen
Welche Dateien enthält ein Paket?
equery files <Paket>
Welche Pakete hängen von einem Paket ab?
equery depends <Paket>
Welche Pakete sind installiert?
equery list <String>
Zu welchem Paket gehört eine Datei?
equery belongs <Datei>
Wenn dabei der Fehler "Unrecognized CONTENTS entry on line 1" auftritt, dann stimmt mit einem Paket etwas nicht. Dies kann man herausfinden mit:
strace emerge belongs <Datei> >log.txt 2>&1
Und dann nach dem Fehler in log.txt suchen. Der Fehler liegt in der Datei /var/db/pkg/<Bereich>/<Paket>/CONTENTS. Um den Fehler zu beheben das betroffene Paket deinstallieren bzw. neu installieren. Bei mir war es das Paket livecd-kernel.
Wieviel Compilierzeit benötigte ein Paket?
qlop -tH <Paket>
Deinstallieren
emerge --unmerge <Paket>
Dabei werden Abhängigkeiten nicht berücksichtigt! Deswegen vorher mit equery depends <Paket> prüfen!
Unnötige Pakete löschen
Nach Deinstallation von Paketen gibt es meistens damals mitinstallierte Pakete, die nicht mehr benötigt werden. Diese kann man löschen mit:
emerge --depclean revdep-rebuild -i
Abhängigkeiten prüfen und reparieren
revdep-rebuild -i
Tarballs löschen
rm /usr/portage/distfiles/<Name>
oder http://elusseau.free.fr/index.php/en/page/2
Zusätzliche Repositories einbinden
Vorbereitung
emerge eix emerge layman
/etc/make.conf:
source /usr/portage/local/layman/make.conf
Externe Programmliste der noch nicht konfigurierten Overlays updaten
update-eix-remote update
Danach kann man mit eix auch in noch nicht mit layman hinzugefügten Overlays suchen.
Standard-Programmliste und bereits konfigurierte Overlays für eix aktualisieren
update-eix
Dabei werden evtl. vorher mit update-eix-remote geholte externe Listen wieder entfernt.
Suchen
eix <Paket>
Einbinden
layman -f -a <Repository>
Externe Programme in lokales Repository legen
Quelle: http://gentoo-wiki.com/HOWTO_Installing_3rd_Party_Ebuilds
Vorbereitung
/etc/make.conf:
PORTDIR_OVERLAY="/usr/local/portage"
Durchführung
mkdir -p /usr/local/portage/<Bereich>/<Paket>
cd /usr/local/portage/<Bereich>/<Paket> wget <ebuild>
/etc/portage/package.keywords:
<Bereich>/<Paket>
Dann:
ebuild <Paket>-<Version>.ebuild digest
Programmverfügbarkeit
Standardrepository
- mozilla-firefox
- mozilla-thunderbird
- ktimemon (kicker-applets)
- equery (gentoolkit)
- kdebase-meta
- win32codecs
- grip
- jdk
- quadkonsole (masked)
- gaim
- mplayer
- kaffeine
- wine
- ntp
- jpilot
- procmail
- spamassassin
- uw-imap
- ksensors
- mythtv
- avidemux
- amule
- nxserver-freeedition
- xdm
- htop
- vnc ("net-misc/vnc server" -> /etc/portage/package.use)
- kuroo
- slocate
- hplip
- mysqlnavigator
Zusätzliche Repositories
- kmediafactory
Möglicherweise interessante Programme
- kentoo
Installationsanleitungen
Firefox/Thunderbird
Nur englische Sprache und kein EnigMail installieren
Damit nur englische Sprache und kein Enigmail installiert wird, in /etc/portage/package.use:
www-client/mozilla-firefox -linguas_de mail-client/mozilla-thunderbird -linguas_de -crypt x11-plugins/enigmail -linguas_de
Dann:
emerge mozilla-firefox emerge mozilla-thunderbird
Browser-Plugins
Browser-Plugins werden unter Gentoo nach /usr/lib/nsbrowser/plugins kopiert.
ivtv
http://ivtvdriver.org/index.php/Howto:Gentoo
In der Kernel-Config muss CONFIG_VIDEO_HELPER_CHIPS_AUTO ausgeschaltet sein!
mysql
Bei Verwendung von MythTV, in /etc/portage/package.use:
dev-db/mysql latin1
Dann:
emerge mysql emerge --config mysql /etc/init.d/mysql start rc-update add mysql default
Falls Runlevel console angelegt:
rc-update add mysql console
mythtv
emerge mythtv passwd mythtv
Google Desktop
ebuild (app-misc/google-desktop) für Version 1.1.1.0075 verfügbar hier.
/etc/portage/package.keywords:
app-misc/google-desktop ~x86
KMediaFactory
ebuild (media-video/kmediafactory) verfügbar hier.
/etc/portage/package.keywords:
media-video/projectx ~x86 dev-java/browserlauncher2 ~x86
Mondorescue
/etc/make.conf:
PORTDIR_OVERLAY="/usr/local/portage"
/etc/portage/package.keywords:
sys-apps/mindi-busybox sys-apps/mindi-kernel
/etc/portage/package.unmask:
app-backup/mondo-rescue
Dann:
mkdir -p /usr/local/portage/sys-apps/mindi-busybox mkdir -p /usr/local/portage/sys-apps/mindi mkdir -p /usr/local/portage/app-backup/mondo-rescue
cd /usr/local/portage/sys-apps/mindi-busybox wget http://www.boerkel.de/mindi-busybox-1.2.2.ebuild ebuild mindi-busybox-1.2.2.ebuild digest
cd /usr/local/portage/sys-apps/mindi wget ftp://ftp.mondorescue.org/gentoo/1.6/mindi-1.2.4.ebuild ebuild mindi-1.2.4.ebuild digest
cd /usr/local/portage/app-backup/mondo-rescue wget ftp://ftp.mondorescue.org/gentoo/1.6/mondo-2.2.4.ebuild mv mondo-2.2.4.ebuild mondo-rescue-2.2.4.ebuild
mondo-rescue-2.2.4.ebuild:
app-cdr/cdrtools
ändern nach
app-cdr/cdrkit
Dann:
ebuild mondo-rescue-2.2.4.ebuild digest
emerge mindi-busybox emerge =mindi-1.2.4 emerge =mondo-rescue-2.2.4
OpenOffice
OpenOffice benötigt zum Compilieren sehr lange und sehr viel Platz. Also besser das Binärpaket installieren:
emerge openoffice-bin