Linux/Tipps/Gentoo: Unterschied zwischen den Versionen

Aus VivaLV
< Linux‎ | Tipps
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(23 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
 
==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''').
 
==WLAN für Centrino-Notebook==
===SSID===
Der Router muss die SSID senden!
 
===ipw2200 im Kernel aktivieren===
genkernel --gensplash --no-clean --menuconfig all
ipw2200 im Kernel als Modul (<M>) konfigurieren.
 
===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.
 
===Installation von ipw2200 mit 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
 
===LAN deaktivieren===
'''/etc/conf.d/rc''':
RC_PLUG_SERVICES="!net.<DEVICE>"
 
==CPU-Stepping für Centrino-Notebook==
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
 
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==
 
=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