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

< Linux‎ | Tipps‎ | Gentoo
 
(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 <String>
Suchen eines Paketnamens in Portage:
  emerge --searchdesc <String>
  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
Oder '''/etc/portage/package.unmasked''':
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


==Alles updaten==
===Nach Kernel-Update===
  emerge --update --deep world
  module-rebuild rebuild
Mit Rückfrage:
update-modules force
  emerge --update --ask --deep world
 
===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 Änderung der USE-Flags==
===Nach Perl-Updates===
  emerge --update --ask --deep --newuse world
  perl-cleaner --all


==Config-Files nach Updates mergen==
===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


Wieviel Compilierzeit benötigte ein Paket?
===Welche Pakete kommen von Overlays?===
  qlop -tH <Paket>
  eix -cI --in-overlay


==Deinstallieren==
==Deinstallieren==
Zeile 123: Zeile 168:
  revdep-rebuild -i
  revdep-rebuild -i


==Abhängigkeiten prüfen und reparieren==
 
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/local/layman/make.conf
source /var/lib/layman/make.conf
oder:
  source /usr/local/portage/layman/make.conf


===Externe Programmliste updaten===
===Standard-Programmliste und bereits konfigurierte Overlays für eix aktualisieren===
  update-eix-remote update
  eix-update
Dabei werden evtl. vorher mit '''eix-remote''' geholte externe Listen wieder entfernt.


===Standard-Programmliste für eix aktualisieren===
===Externe Programmliste der noch nicht konfigurierten Overlays updaten===
  update-eix
  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
* mythtv
* 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