Linux/Tipps/Gentoo/Software: Unterschied zwischen den Versionen

Aus VivaLV
< Linux‎ | Tipps‎ | Gentoo
Zur Navigation springen Zur Suche springen
Zeile 183: Zeile 183:


===Externe Programmliste der noch nicht konfigurierten Overlays updaten===
===Externe Programmliste der noch nicht konfigurierten Overlays updaten===
  update-eix-remote update
  eix-remote update
Danach kann man mit '''eix''' auch in noch nicht mit '''layman''' hinzugefügten Overlays suchen.
Danach kann man mit '''eix''' auch in noch nicht mit '''layman''' hinzugefügten Overlays suchen.



Version vom 22. März 2010, 13:31 Uhr

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

Unstable Versionen (/etc/portage/package.keywords):

<Bereich>/<Paket>

bzw.

<Bereich>/<Paket> ~x86

Bestimmte Version und Revision:

=<Bereich>/<Paket>-<Version>[-<Revision>]

Bestimmte Version, neueste Revision:

~<Bereich>/<Paket>-<Version>

Hardmasked Versionen (/etc/portage/package.unmask):

<Bereich>/<Paket>

Akzeptierung einer Lizenz (/etc/portage/package.license):

<Bereich>/<Paket> <Lizenz>

Z.B.:

dev-java/sun-jdk dlj-1.1

Alles updaten

emerge --update --newuse --deep world

Mit Rückfrage:

emerge --ask --update --newuse --deep world

Nach Änderung der USE-Flags

emerge --ask --update --newuse --deep world

Nacharbeiten nach Updates

Abhängigkeiten prüfen und reparieren

revdep-rebuild -i

Nach Kernel-Update

module-rebuild rebuild
update-modules force

Nach xorg-server Update

Liste der installierten X-Treiber:

qlist -I -C x11-drivers/

Dann alle Treiber mit

emerge <Treiber>

neu installieren.

Nach Python-Updates

/usr/sbin/python-updater

Config-Files 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?

genlop -t <Paket>

emerge beobachten

watch genlop -cn

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


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
emerge git
layman -L

/etc/make.conf:

source /usr/local/portage/layman/make.conf

Standard-Programmliste und bereits konfigurierte Overlays für eix aktualisieren

eix-update

Dabei werden evtl. vorher mit eix-remote geholte externe Listen wieder entfernt.

Externe Programmliste der noch nicht konfigurierten Overlays updaten

eix-remote update

Danach kann man mit eix auch in noch nicht mit layman hinzugefügten Overlays suchen.

Suchen

eix <Paket>

Einbinden

layman -a <Repository>

Eingebundene auflisten

layman -l

Alle auflisten

layman -L

Updaten

layman -S

Entfernen

layman -d <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

virtual/cdrtools

Dann:

ebuild mondo-rescue-2.2.4.ebuild digest
emerge mindi-busybox
emerge =mindi-1.2.4
emerge =mondo-rescue-2.2.4

Perl-Module, die nicht in Portage verfügbar sind

Vorbereitung(einmalig):

emerge g-cpan

Dann:

g-cpan -i Time-Format -a