Linux/Tipps/Gentoo/Software: Unterschied zwischen den Versionen
Thomas (Diskussion | Beiträge) |
Thomas (Diskussion | Beiträge) |
||
(57 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
=Bedienung= | |||
==USE-Flags== | ==USE-Flags== | ||
===Dateien=== | ===Dateien=== | ||
Zeile 14: | Zeile 15: | ||
-linguas_de | -linguas_de | ||
===Abfragen=== | ===Abfragen für USE-Flags=== | ||
Die effektiv aktiven USE-Flags anzeigen: | Die effektiv aktiven USE-Flags anzeigen: | ||
emerge --info | emerge --info | ||
Zeile 21: | Zeile 22: | ||
Welche USE-Flags verwendet ein bestimmtes Paket? | Welche USE-Flags verwendet ein bestimmtes Paket? | ||
equery uses mysql | equery uses mysql | ||
Beschreibung der USE-Flags eines Pakets: | |||
equery meta -u <Paket> | |||
===Sonstiges=== | ===Sonstiges=== | ||
Zeile 36: | Zeile 39: | ||
==Suchen== | ==Suchen== | ||
emerge --search < | Suchen eines Paketnamens in Portage: | ||
emerge --searchdesc < | 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== | ==Installieren== | ||
Zeile 44: | Zeile 51: | ||
==Abgebrochene Installation fortsetzen== | ==Abgebrochene Installation fortsetzen== | ||
emerge --resume | emerge --resume | ||
Dabei das erste Paket überspringen: | |||
emerge --resume --skipfirst | |||
==Updaten== | ==Updaten== | ||
Zeile 63: | Zeile 72: | ||
==Maskierte Pakete freigeben== | ==Maskierte Pakete freigeben== | ||
'''/etc/portage/package.keywords''': | Unstable Versionen ('''/etc/portage/package.keywords'''): | ||
<Bereich>/<Paket> | <Bereich>/<Paket> | ||
bzw. | bzw. | ||
<Bereich>/<Paket> ~x86 | <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> | <Bereich>/<Paket> | ||
Akzeptierung einer Lizenz ('''/etc/portage/package.license'''): | |||
<Bereich>/<Paket> <Lizenz> | |||
Z.B.: | |||
dev-java/sun-jdk dlj-1.1 | |||
==Alles updaten== | |||
emerge --ask --quiet --update --newuse --changed-use --verbose-conflicts --backtrack=200 --deep world | |||
==Nacharbeiten nach Updates== | |||
===Abhängigkeiten prüfen und reparieren=== | |||
emerge --ask --quiet @preserved-rebuild | |||
== | ===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 | |||
==Nach | ===Nach Perl-Updates=== | ||
perl-cleaner --all | |||
==Config-Files | ===Config-Files mergen=== | ||
etc-update | etc-update | ||
Zeile 99: | Zeile 132: | ||
==Abfragen== | ==Abfragen== | ||
Welche Dateien enthält ein Paket? | ===Welche Dateien enthält ein Paket?=== | ||
equery files <Paket> | equery files <Paket> | ||
Welche Pakete hängen von einem Paket ab? | |||
===Welche Pakete hängen von einem Paket ab?=== | |||
equery depends <Paket> | equery depends <Paket> | ||
Welche Pakete sind installiert? | |||
===Welche Pakete sind installiert?=== | |||
equery list <String> | equery list <String> | ||
Zu welchem Paket gehört eine Datei? | |||
===Zu welchem Paket gehört eine Datei?=== | |||
equery belongs <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: | 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 | 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. | 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 | |||
===Konfiguration prüfen=== | |||
eix-test-obsolete -c -b | |||
===Welche Pakete kommen von Overlays?=== | |||
eix -cI --in-overlay | |||
==Deinstallieren== | ==Deinstallieren== | ||
Zeile 123: | Zeile 168: | ||
revdep-rebuild -i | revdep-rebuild -i | ||
==Tarballs löschen== | ==Tarballs löschen== | ||
Zeile 134: | Zeile 178: | ||
emerge eix | emerge eix | ||
emerge layman | emerge layman | ||
emerge git | |||
layman -L | |||
'''/etc/make.conf''': | '''/etc/make.conf''': | ||
source /usr/portage | source /var/lib/layman/make.conf | ||
oder: | |||
source /usr/local/portage/layman/make.conf | |||
=== | ===Standard-Programmliste und bereits konfigurierte Overlays für eix aktualisieren=== | ||
update | eix-update | ||
Dabei werden evtl. vorher mit '''eix-remote''' geholte externe Listen wieder entfernt. | |||
=== | ===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. | |||
===Suchen=== | ===Suchen=== | ||
Zeile 149: | Zeile 199: | ||
===Einbinden=== | ===Einbinden=== | ||
layman -a <Repository> | layman -a <Repository> | ||
===Eingebundene auflisten=== | |||
layman -l | |||
===Alle auflisten=== | |||
layman -L | |||
===Updaten=== | |||
layman -S | |||
===Entfernen=== | |||
layman -d <Repository> | |||
==Externe Programme in lokales Repository legen== | ==Externe Programme in lokales Repository legen== | ||
Zeile 198: | Zeile 260: | ||
* kuroo | * kuroo | ||
* slocate | * slocate | ||
* hplip | * hplip | ||
* mysqlnavigator | * mysqlnavigator | ||
Zeile 207: | Zeile 268: | ||
==Möglicherweise interessante Programme== | ==Möglicherweise interessante Programme== | ||
* kentoo | * kentoo | ||
==Fonts== | |||
Bei manchen Programmen (z.B. Firefox und Thunderbird) sieht Helvetica Font nicht gut aus. Ursache ist die Verwendung von Nimbus, wenn Helvetica angefordert wird: | |||
$ fc-match Helvetica | |||
n019003l.pfb: "Nimbus Sans L" "Regular" | |||
Lösung:<br> | |||
'''/etc/fonts/conf.d/30-metric-aliases.conf''': | |||
<pre> | |||
<!-- <family>Nimbus Sans L</family> --> | |||
<family>Arial</family> | |||
</pre> | |||
Überprüfung: | |||
$ fc-match Helvetica | |||
arial.ttf: "Arial" "Normal" | |||
=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 [http://www.boerkel.de/google-desktop-1.1.1.0075.ebuild hier]. | |||
'''/etc/portage/package.keywords''': | |||
app-misc/google-desktop ~x86 | |||
==KMediaFactory== | |||
ebuild (media-video/kmediafactory) verfügbar [http://www.boerkel.de/kmediafactory-0.5.2.ebuild 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 | |||
==Fonts in Chrome== | |||
Ab Chrome 33 sehen manche Fonts sehr schlecht aus in Chrome. Lösung: | |||
eselect fontconfig enable 70-no-bitmaps.conf |
Aktuelle Version vom 9. Oktober 2023, 05:17 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 für USE-Flags
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
Beschreibung der USE-Flags eines Pakets:
equery meta -u <Paket>
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 --ask --quiet --update --newuse --changed-use --verbose-conflicts --backtrack=200 --deep world
Nacharbeiten nach Updates
Abhängigkeiten prüfen und reparieren
emerge --ask --quiet @preserved-rebuild
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
Nach Perl-Updates
perl-cleaner --all
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
Konfiguration prüfen
eix-test-obsolete -c -b
Welche Pakete kommen von Overlays?
eix -cI --in-overlay
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 /var/lib/layman/make.conf
oder:
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
Fonts
Bei manchen Programmen (z.B. Firefox und Thunderbird) sieht Helvetica Font nicht gut aus. Ursache ist die Verwendung von Nimbus, wenn Helvetica angefordert wird:
$ fc-match Helvetica n019003l.pfb: "Nimbus Sans L" "Regular"
Lösung:
/etc/fonts/conf.d/30-metric-aliases.conf:
<!-- <family>Nimbus Sans L</family> --> <family>Arial</family>
Überprüfung:
$ fc-match Helvetica arial.ttf: "Arial" "Normal"
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
Fonts in Chrome
Ab Chrome 33 sehen manche Fonts sehr schlecht aus in Chrome. Lösung:
eselect fontconfig enable 70-no-bitmaps.conf