Linux/Tipps/Gentoo: Unterschied zwischen den Versionen

Aus VivaLV
< Linux‎ | Tipps
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(11 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
=Installation=
* [[/Installation|Installation]]
==Von CD==
* [[/Software|Software]]
LiveCD booten und alles installieren außer OpenOffice und Gnome.
* [[/Kernel|Kernel]]
 
* [[/Performance|Performance]]
==Hostname setzen==
* [[/PXE|PXE]]
Wenn der Hostname nicht stimmt, dann '''/etc/conf.d/hostname''' ändern:
* [[/Bugs|Bugs und Blocker]]
HOSTNAME="<Name>"
* Links:
Dann:
** [http://gentoo-wiki.com/HOWTO_Use_Portage_Correctly HOWTO Use Portage Correctly]
hostname <Name>
** [http://gentoo-wiki.com/HOWTO_Maintain_Gentoo_-_%22Best_Practices%22 HOWTO Maintain Gentoo - "Best Practices"]
 
==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|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|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 [http://bugs.gentoo.org/show_bug.cgi?id=183492 hier].
 
==Mondorescue==
'''mindi-busybox''' ebuild [http://www.boerkel.de/mindi-busybox-1.2.2.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).
 
===Powersave und Suspend to RAM mit ASUS M6Ne===
Voraussetzung: D-Bus und hal müssen installiert sein und laufen.
emerge powersave kpowersave hibernate-script
rc-update add powersaved default
'''/etc/powersave/events''':
EVENT_BUTTON_LID_CLOSED="hibernate_ram"
'''/usr/libexec/powersave/scripts/hibernate_ram''':
#!/bin/bash
# parameters:
# - $1 event type
# - $2 current scheme
# - $3 ACPI event line
# - $4 Event-ID. Needed for $SCRIPT_RETURN
# # source helper_functions to get $PATH, $SCRIPT_RETURN, EV_ID (among others)
. /usr/lib/powersave/scripts/helper_functions
# Note: this sets a trap on "EXIT", so you must exit the script via the
# (also provided) EXIT function after calling $SCRIPT_RETURN
# If you don't call EXIT, the trap will call $SCRIPT_RETURN with return code 1
#
hibernate-ram
# always call $SCRIPT_RETURN before exiting:
$SCRIPT_RETURN $EV_ID 0 "hibernate_ram script succeeded"
EXIT 0
Dann:
chmod +x /usr/libexec/powersave/scripts/hibernate_ram
/etc/init.d/powersave restart
Danach sollte in der Taskleiste ein Batteriesymbol sein und beim Schließen des Deckels sollte Suspend to RAM gemacht werden. "Suspend to RAM" vom Menü (Symbol in der Taskleiste) von kpowersave funktioniert jedoch nicht, deswegen kann man das disablen in '''/etc/powersave/sleep''':
DISABLE_USER_SUSPEND2RAM="yes"
 
=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
 
=Links=
* [http://gentoo-wiki.com/HOWTO_Use_Portage_Correctly HOWTO Use Portage Correctly]
* [http://gentoo-wiki.com/HOWTO_Maintain_Gentoo_-_%22Best_Practices%22 HOWTO Maintain Gentoo - "Best Practices"]

Aktuelle Version vom 15. Juni 2010, 18:01 Uhr