Linux/Tipps/Gentoo
Installation
Von CD
LiveCD booten und alles installieren außer OpenOffice und Gnome.
Hostname setzen
Wenn der Hostname nicht stimmt, dann /etc/conf.d/hostname ändern:
HOSTNAME="<Name>"
Dann:
hostname <Name>
Netzwerk
Falls der Installer das Gateway nicht eingetragen hat, ist /etc/conf.d/net zu ändern:
routes_eth0=( "default via 192.168.0.1" ) iface_eth0="192.168.0.6 broadcast 192.168.0.255 netmask 255.255.255.0"
Dann:
/etc/init.d/net.eth0
Gewünschte USE-Flags setzen
Siehe USE-Flags.
Compiler-Flags setzen
etc/make.conf:
CFLAGS="-march=i686 -Os -pipe -fomit-frame-pointer -fno-ident" CXXFLAGS="${CFLAGS} -fvisibility-inlines-hidden" LDFLAGS="-Wl,-O1"
Bei -march sollte man bei Pentium-M i386 oder besser pentium-m setzen.
Regionale Einstellungen
Quelle: http://www.gentoo.org/doc/en/guide-localization.xml
Deutsche UTF-8 Locale setzen
/etc/env.d/02locale:
LANG="de_DE.UTF-8"
Dann:
env-update source /etc/profile
Kontrolle:
locale
Dann X-Server neu starten.
Verfügbare Sprachen definieren
/etc/make.conf:
LINGUAS="de en"
Zeitzone setzen
/etc/conf.d/clock:
TIMEZONE="Europe/Berlin"
Dann:
emerge --config timezone-data
Hardwareclock
Wenn beim Shutdown die Hardwareclock neu gesetzt werden soll, dann muss in /etc/conf.d/clock gesetzt werden:.
CLOCK_SYSTOHC="yes"
Console Keymap
/etc/conf.d/keymaps:
KEYMAP="de-latin1-nodeadkeys"
X Keymap
/etc/X11/xorg.conf:
Section "InputDevice" Identifier "Keyboard1" ... Option "XkbLayout" "de"
Compile-Cache aktivieren
Quelle: http://de.gentoo-wiki.com/Emerge_beschleunigen#Ccache
emerge -av ccache
etc/make.conf:
FEATURES="ccache" CCACHE_SIZE="2G"
Dann:
cd /var/tmp mkdir ccache chown portage:portage ccache chmod 775 ccache echo "CCACHE_DIR=\"/var/tmp/ccache\"" >> /etc/env.d/99local env-update source /etc/profile
C-Compiler mit Optimierung neu installieren
emerge glibc binutils gcc emerge glibc binutils gcc
System aktualisieren
Repository
emerge --sync
Kernel
Siehe Kernel updaten.
gentoolkit installieren
emerge gentoolkit
Alter C++ Compiler für bestimmte Pakete
emerge -1 libstdc++-v3
Rest
emerge --update --newuse --deep world etc-update revdep-rebuild
xdm installieren
emerge xdm
OpenOffice installieren
OpenOffice benötigt zum Compilieren sehr lange und sehr viel Platz. Also besser das Binärpaket installieren:
emerge openoffice-bin
Runlevels ähnlich Fedora/Suse
Standardrunlevel auf 5 ändern
/etc/inittab:
id:3:initdefault:
ändern nach
id:5:initdefault:
Runlevel von X auf 5 ändern
- Neuen Runlevel "console" (3) anlegen in /etc/inittab:
l3:3:wait:/sbin/rc default
ändern nach
l3:3:wait:/sbin/rc console
Runlevel "default" kopieren nach "console" und xdm darin entfernen
cp -a /etc/runlevels/default /etc/runlevels/console rc-update -d xdm console
Ab sofort muss man Services immer in "default" und "console" aktivieren!
KDE installieren
KED kann mit den (bei KDE üblichen) monolithischen Paketen (kdebase, kdemultimedia, ...) oder mit einzelnen Programmen installiert werden, die man allerdings auch wieder mit Meta-Paketen in Gruppen installieren kann. Letzteres wird bevorzugt. Man muss dann aber bei Gruppen auch später immer wieder die Meta-Pakete und nicht die monolithischen Paketen installieren.
Basisinstallation:
emerge kdebase-meta kde-i18n kdemultimedia-meta
Alles installieren:
emerge kde-meta
Dann Sprache "Deutsch" im KDE Control Center hinzufügen.
Wenn man weitere Meta-Pakete (z.B. kdeaddons) installieren will, dann muss "-meta" angehängt werden, z.B.:
emerge kdeaddons-meta
Displaymanager ändern nach kdm
Der Displaymanager wird in /etc/conf.d/xdm und/oder /etc/rc.conf festgelegt:
DISPLAYMANAGER="kdm"
NFS
emerge nfs-utils /etc/init.d/nfs start rc-update add nfs default
Falls Runlevel console angelegt:
rc-update add nfs console
D-Bus
emerge dbus revdep-rebuild rc-update add dbus default
HAL
rc-update add hald default
NTP
emerge ntp
Optional /etc/conf.d/ntp-client und /etc/ntp.conf anpassen (Server ändern).
rc-update add ntp-client default rc-update add ntpd default /etc/init.d/ntp-client start /etc/init.d/ntpd start
Prüfen:
ntpq -c peers
VNC
/etc/portage/package.use:
net-misc/vnc server
Dann:
emerge vnc
Firefox/Thunderbird
Damit nur englische Sprache installiert wird, in /etc/portage/package.use:
www-client/mozilla-firefox -linguas_de mail-client/mozilla-thunderbird -linguas_de
Dann:
emerge mozilla-firefox emerge mozilla-thunderbird
ivtv
http://ivtvdriver.org/index.php/Howto:Gentoo
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 verfügbar hier.
Mondorescue
mindi-busybox ebuild hier. mindi ebuild von der Mondo web site. mondo ebuild von der Mondo web site (umbenennen nach mondo-rescue und darin Abhängigkeit auf cdrtools ändern nach cdrkit).
Notebook mit Centrino-Chipsatz
WLAN 2200bg
SSID
Der Router muss die SSID senden!
ipw2200 im Kernel aktivieren
genkernel --gensplash --no-clean --menuconfig all
ipw2200 im Kernel als Modul (<M>) konfigurieren.
module-rebuild rebuild update-modules force
Pakete installieren
emerge ipw2200-firmware wireless-tools wpa_supplicant
ipw2200 laden
modprobe ipw2200
Device festlegen
Mit iwconfig das Device nachschauen und gegebenenfalls in /etc/udev/rules.d/70-persistent-net.rules ändern und neu booten.
wpa_supplicant
<SSID>, <PASSWORT> und <DEVICE> entsprechend ersetzen.
/etc/wpa_supplicant/wpa_supplicant.conf:
#WPA network={ ssid="<SSID>" scan_ssid=1 psk="<PASSWORT>" priority=8 }
/etc/conf.d/net:
routes_<DEVICE>=( "default via 192.168.0.1" ) iface_<DEVICE>="192.168.0.6 broadcast 192.168.0.255 netmask 255.255.255.0" modules=( "wpa_supplicant" ) wpa_supplicant_<DEVICE>="-D wext -c /etc/wpa_supplicant/wpa_supplicant.conf" wpa_timeout_eth1=60
Dann:
ln -s /etc/init.d/net.lo /etc/init.d/net.<DEVICE> rc-update add net.<DEVICE> default /etc/init.d/net.<DEVICE> start
Debugging
wpa_supplicant -Dwext -i<DEVICE> -c /etc/wpa_supplicant/wpa_supplicant.conf -w -dd
LAN deaktivieren
/etc/conf.d/rc:
RC_PLUG_SERVICES="!net.eth0"
CPU-Stepping
genkernel --gensplash --no-clean --menuconfig all
Kernel-Optionen ändern:
- Power Management Options:
- [*] Power Management Support
- ACPI( Advanced Configuration and Power Interface ) Support:
- [*] ACPI Support
- [*] AC Adapter
- [*] Battery
- <*> Processor
- CPU Frequency Scaling:
- [*] CPU Frequency scaling
- <*> 'performance' governor
- <*> 'powersave' governor
- <*> 'ondemand' cpufreq policy governor
- <*> 'conservative' cpufreq governor
- <*> CPU frequency table helpers
- <*> ACPI Processor P-States driver
- <*> Intel Enhanced SpeedStep
module-rebuild rebuild update-modules force
Reboot.
emerge cpufrequtils acpid rc-update add acpid default
/etc/conf.d/local.start:
cpufreq-set -d 600MHz -u 1.50GHz -g ondemand
Audio-Support für ASUS M6Ne
/etc/make.conf:
ALSA_CARDS="intel8x0"
Dann:
emerge alsa-lib alsa-utils rc-update add alsasound boot
/etc/modules.d/alsa (nur notwendig, wenn das Modul nicht schon automatisch geladen wird):
alias snd-card-0 snd-intel8x0
Dann:
modules-update /etc/init.d/alsasound start amixer set Master 60% unmute amixer set PCM 60% unmute amixer set Headphone 60% unmute
Test:
aplay /usr/share/sounds/alsa/Noise.wav
Da -arts in den USE-Flag steht, funktioniert der KDE Sounddaemon arts nicht. Das KDE Sound-System muss also im KDE Kontrollzentrum abgeschaltet werden. Dafür dort bei "Systemnachrichten/Wiedergabe-Einstellungen" einen externen Abspieler einstellen, z.B. /usr/bin/mplayer (falls installiert).
KDE Laptop-Tools
emerge klaptopdaemon
Programme installieren
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
emerge --search <String> emerge --searchdesc <String>
Installieren
emerge <Paket>
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.unmasked:
<Bereich>/<Paket>
Kernel updaten
Einmalig:
emerge genkernel emerge module-rebuild
Dann:
emerge gentoo-sources
Evtl. /usr/src/linux symlink auf die neue Sourcen setzen.
genkernel all
Falls die .config selbst modifiziert wurde, muss genkernel mit --no-clean aufgerufen werden.
module-rebuild rebuild update-modules force
Dann /boot/grub/menu.lst erweitern und neu booten.
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.
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 updaten
update-eix-remote update
Standard-Programmliste für eix aktualisieren
update-eix
Suchen
eix <Paket>
Einbinden
layman -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
- mythtv
- hplip
- mysqlnavigator
Zusätzliche Repositories
- kmediafactory
Möglicherweise interessante Programme
- kentoo
Kernel modifizieren
Die .config in /usr/src/linux mit eine der folgenden Möglichkeiten modifizieren:
- per Hand/Editor
- make menuconfig
Dann:
genkernel --no-clean all