Tipps für Gentoo-Linux


Inhaltsverzeichnis

Links
Motivation
Installation
Gentoo aktuell halten
Tipps
Aufsetzen eines BINHOST


Links


Motivation

Warum Gentoo-Linux?
Vorteile:
Allerdings sollte man die Nachteile auch nicht verschweigen:
Wer gar nicht selbst kompilieren will, der kann auch Sabayon Linux nutzen, welches aber meines Erachtens den Nachteil hat, auf Gentoo Testing aufzusetzen und damit nicht ganz so stabil ist wie Gentoo. Außerdem hat es anscheinend deutlich weniger Nutzer und damit eine kleiner Community mit weniger Support und Pflege.
Eine andere sehr interessante Alternative wäre Arch Linux oder einer seiner Ableger, wie Apricity OS.

Gentoo installieren

Zusammenfassung aus:
Gentoo-Minimal-Installation CD z.B. install-x86-minimal-20141202.iso oder was neueres booten.
Alternativ kann man das ISO-Image auch auf einen USB-Stick schreiben und von diesem booten:
dd if=install-x86-minimal-20160105.iso of=/dev/sdz bs=4M
Dann im Live Gentoo:
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
/etc/init.d/sshd start
passwd
Und wenn man eine passende /etc/wpa_supplicant/wpa_supplicant.conf anlegt, dann funktioniert die Installation sogar über WLAN.
Der Rest geht dann auch Remote per ssh. :-)
Mit fdisk die Partitionen für Boot, Swap und LVM anlegen.

Man kann auch zwei gleich große Platten nehmen und diese zu einem RAID1 verbinden:
Auf beiden Platten die Partitionen anlegen, allerdings mit dem Typ "fd" für RAID Autodetect. Also z.B. so:
Device     Boot    Start       End   Sectors  Size Id Type
/dev/sdb1           2048   2099199   2097152    1G fd Linux raid autodetect
/dev/sdb2        2099200  85985279  83886080   40G fd Linux raid autodetect
/dev/sdb3       85985280 234441647 148456368 70.8G fd Linux raid autodetect
Dann die einzelnen Partitionen zu je einem RAID verbinden:
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sda2 /dev/sdb2
mdadm --create /dev/md2 --level=1 --raid-devices=2 /dev/sda3 /dev/sdb3
Dann im folgenden statt der sdXX Geräte die mdX Geräte verwenden...

Um später zwischen zwei Linuxen umschalten zu können verwende ich zwei Boot-Partitionen.
Größen: Boot mit 300MB, Swap so groß wie der Hauptspeicher, um Suspend-to-Disk nutzen zu können.
Evtl. dieses Layout:
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048      411647      204800   83  Linux
/dev/sda2          411648      821247      204800   83  Linux
/dev/sda3          821248     9209855     4194304   82  Linux swap / Solaris
/dev/sda4         9209856   312581807   151685976   8e  Linux LVM
mkswap -L SWAP /dev/sda3
swapon -L SWAP
pvcreate /dev/sda4
vgcreate rootvg /dev/sda4
lvcreate -L 50G -n root1lv rootvg
mkfs.ext4 /dev/rootvg/root1lv
e2label /dev/rootvg/root1lv ROOT1
tune2fs -c 0 /dev/rootvg/root1lv
tune2fs -i 400d /dev/rootvg/root1lv
mkdir /mnt/gentoo
mount -L ROOT1 /mnt/gentoo
mkdir /mnt/gentoo/boot
mkfs.ext3 /dev/sda1
mount /dev/sda1 /mnt/gentoo/boot
# Stimmt das Datum?
date
# Wenn nicht, dann:
ntpdate server
# oder:
date 112415392005 (Format: MMDDhhmmYYYY)

cd /mnt/gentoo
# Stage3 herunterladen:
wget http://distfiles.gentoo.org/releases/x86/autobuilds/$(curl -s http://distfiles.gentoo.org/releases/x86/autobuilds/latest-stage3-i686.txt | tail -1 | awk '{print $1}')
# bzw. Stage3 für amd64:
wget http://distfiles.gentoo.org/releases/amd64/autobuilds/$(curl -s http://distfiles.gentoo.org/releases/amd64/autobuilds/latest-stage3-amd64.txt | tail -1 | awk '{print $1}')
tar xvJpf stage3-*.tar.xz
rm stage3-*.tar.xz

Um sich nicht gleich bei der Erstinstallation einen Kernel bauen zu müssen, kann man auch den Kernel des Live-Systems kopieren:
cd /mnt/cdrom/isolinux
cp gentoo /mnt/gentoo/boot/kernel-genkernel-x86-$(uname -r)
cp gentoo.igz /mnt/gentoo/boot/initramfs-genkernel-x86-$(uname -r)
cp System-gentoo.map /mnt/gentoo/boot/System.map-genkernel-x86-$(uname -r)
cd /lib
rsync -av modules /mnt/gentoo/lib/
# bzw. für amd64:
cp gentoo /mnt/gentoo/boot/kernel-genkernel-x86_64-x86-$(uname -r)
cp gentoo.igz /mnt/gentoo/boot/initramfs-genkernel-x86_64-x86-$(uname -r)
cp System-gentoo.map /mnt/gentoo/boot/System.map-genkernel-x86_64-x86-$(uname -r)
cd /lib
rsync -av modules /mnt/gentoo/lib/

Dann weiter:
mount -t proc proc /mnt/gentoo/proc
mount --rbind /sys /mnt/gentoo/sys
mount --make-rslave /mnt/gentoo/sys
mount --rbind /dev /mnt/gentoo/dev
mount --make-rslave /mnt/gentoo/dev
cp -L /etc/resolv.conf /mnt/gentoo/etc/
chroot /mnt/gentoo /bin/bash
source /etc/profile
export PS1="(chroot) $PS1"
mkdir /usr/portage
nano /etc/portage/make.conf
# und das eintragen, um den eigenen BINHOST zu nutzen:
#####################################
#USE="bindist"
MAKEOPTS="-j8"
FEATURES="getbinpkg"
PORTAGE_BINHOST="rsync://server.sl.de/packages"
PORTAGE_NICENESS=20
QUICKPKG_DEFAULT_OPTS='--include-config=n --include-unmodified-config=y'
ACCEPT_LICENSE="*"
LINGUAS="en en_US de"
L10N="en en-US de"
LIRC_DEVICES="hauppauge"
VIDEO_CARDS="dummy fbdev v4l vesa vga via cle266 i810 intel mach64 r128 radeon"
INPUT_DEVICES="evdev keyboard mouse synaptics"
source /var/lib/layman/make.conf
APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias slotmem_shm"
USE="-aalib -arts -fbcon -flac -fortran -gnome -gpm -kerberos -ldap -mikmod -motif -mysql -ogg -oggvorbis -ruby -theora -vorbis X a51 aac acl acpi activefilter alsa apache2 bindist cups dbus dga directfb divx4linux dts dvb dvd dvdread embedded encode hal jpeg kde kpathsea linguas_de lirc mad mbox mmap network nptl nptlonly nsplugin opengl ppds pulseaudio qt3support qt4 quicktime rtc threads usb v4l v4l2 v5l vaapi win32codecs xv xvid xvmc"
#####################################
### wozu?: emerge-webrsync
nano /etc/portage/repos.conf
### und das eintragen:
#####################################
[gentoo]
sync-type = rsync
sync-uri = rsync://server.sl.de/portage
#####################################

emerge --sync
scp server:/xtemp/binhost/etc/portage/package.use /etc/portage/package.use/BINHOST
scp server:/xtemp/binhost/etc/portage/package.accept_keywords /etc/portage/
emerge -auvt portage
eselect news list
eselect news read
eselect profile list
eselect profile set XXX
# Nach einer Profil-Änderung ist dringend das zu empfehlen:
emerge -avt --newuse --deep @world
cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime
echo "Europe/Berlin" > /etc/timezone
emerge --config sys-libs/timezone-data
nano -w /etc/locale.gen

en_US ISO-8859-1
en_US.UTF-8 UTF-8
de_DE.UTF-8 UTF-8
de_DE ISO-8859-1
de_DE@euro ISO-8859-15

echo locale.gen >> /etc/CHANGED-FILES
locale-gen
locale -a
eselect locale list
eselect locale set 9
env-update && source /etc/profile
export PS1="(chroot) $PS1"

Zum Kernel siehe auch: Kernel/Overview, kurz:
emerge -avt gentoo-sources genkernel
emerge -avt sys-kernel/linux-firmware
genkernel --lvm --mdadm --disklabel --no-mountboot --no-zfs --no-btrfs --virtio --makeopts=-j4 all
Wenn man genkernel unterbrechen muss, dann kann man es mit den Optionen --no-clean --no-mrproper später fortsetzen.

nano /etc/fstab

Beispiel:
LABEL=BOOT              /boot           ext3            noatime         0 2
LABEL=ROOT              /               ext4            noatime         0 1
LABEL=SWAP              none            swap            sw              0 0
echo fstab >> /etc/CHANGED-FILES
nano /etc/conf.d/hostname
echo hostname >> /etc/conf.d/CHANGED-FILES
nano -w /etc/conf.d/net
# Hinweis: DHCP ist default, wenn /etc/conf.d/net leer ist oder fehlt! # Und anpassen, z.B.:
dns_domain="sl.de"
dns_servers="192.168.178.1"
config_enp0s6="192.168.178.207 broadcast 192.168.178.255 netmask 255.255.255.0"
routes_enp0s6="default via 192.168.178.1"
# für Wake-On-LAN:
ethtool_change_enp0s6="wol g"
ifdown_enp0s6="NO"
# Dann:
echo net >> /etc/conf.d/CHANGED-FILES
cd /etc/init.d/
ln -s net.lo net.enp0s6
rc-update add net.enp0s6 default
Den Host-Namen und Domain-Name des Rechners trägt man in /etc/hosts ein:
1.2.3.4 myhost.sl.de myhost
# und noch vermerken:
echo hosts >> /etc/CHANGED-FILES
Zur Frage "Warum heisst mein eth0 nicht mehr eth0?" gibt der Artikel udev - Predictable Network Interface Names Auskunft.
Dann:
# Wenn man MD/RAID einsetzt:
emerge -avt sys-fs/mdadm
emerge -avt dhcpcd
passwd
nano -w /etc/conf.d/keymaps (Und keymap="de-latin1-nodeadkeys" eintragen.)
echo keymaps >> /etc/conf.d/CHANGED-FILES
nano -w /etc/conf.d/hwclock
echo hwclock >> /etc/conf.d/CHANGED-FILES
emerge -avt grub
grub-install /dev/sda
(Wenn man /boot als RAID1 gebaut hat, dann noch: grub-install /dev/sdb)
nano /etc/default/grub
# Das eintragen:

GRUB_GFXMODE="1024x768"
GRUB_GXFPAYLOAD_LINUX="1024x768x16,1024x768"
GRUB_CMDLINE_LINUX="dolvm domdadm"

echo grub >> /etc/default/CHANGED-FILES
grub-mkconfig -o /boot/grub/grub.cfg
less /boot/grub/grub.cfg
emerge -avt sysklogd logrotate
rc-update add sysklogd default
emerge -avt sys-process/cronie
rc-update add cronie default
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
echo sshd_config >> /etc/ssh/CHANGED-FILES
rc-update add sshd default
emerge -avt sys-fs/lvm2
rc-update add lvm boot
emerge -avt net-misc/ntp
rc-update add ntp-client default
rc-update add ntpd default
emerge -avt sys-apps/ethtool
Wake-On-LAN aktivieren, indem man in /etc/local.d/wakeonlan.start das einträgt:
#!/bin/bash
ethtool -s enp0s6 wol g
echo -n PCI0 > /proc/acpi/wakeup
bzw. anstatt des letzten Befehls kann man auch im BIOS-Setup die Option aktivieren, dass ein PCI Gerät das System wecken kann.
Sollte Wake-On-LAN plötzlich nicht mehr funktionieren, kann es daran liegen, dass die CR2032 BIOS Puffer-Batterie leer ist. Dann vergisst das BIOS auch die Wake-Einstellungen.
Dann noch:
chmod 755 /etc/local.d/wakeonlan.start
Grundlagen zum Wake-on-LAN findet man in c't 1/2011 S. 150
Aufwecken kann man den Rechner dann so:
wakeonlan 00:0e:2e:a7:9b:47
Dann weiter:
useradd loescher -m -c 'Stephan Loescher' -u 500
passwd loescher
exit
cd /
umount /mnt/gentoo/boot
umount /mnt/gentoo/proc
umount /mnt/gentoo
reboot

Bis zu dieser Stelle belegt das Gentoo nur knapp 3 GB Plattenplatz!
(Inklusive der Kernel-Sourcen und Build-Objects sind es allerdings knapp 8GB.)

Mailing nach dieser Anleitung konfigurieren.

Dann noch zusätzliche Software nach Bedarf:
emerge -avt app-portage/cpuid2cpuflags
cpuid2cpuflags
# Und in /etc/portage/make.conf eintragen, z.B.:
CPU_FLAGS_X86="aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3"
emerge -avt app-editors/vim
emerge -avC nano
echo "colorscheme elflord" >> ~/.vimrc
echo .vimrc >> CHANGED-FILES
emerge -avt app-shells/bash-completion
emerge -avt net-mail/fetchmail
emerge -avt net-analyzer/gnu-netcat
emerge -avt net-analyzer/netperf
emerge -avt dev-perl/Time-ParseDate
emerge -avt sys-apps/smartmontools
emerge -avt dev-util/strace
emerge -avt app-misc/mmv
emerge -avt sys-power/cpufrequtils
# oder:
emerge -avt sys-power/cpupower
emerge -avt sys-power/acpid
emerge -avt sys-apps/ethtool
emerge -avt app-misc/screen
emerge -avt alsa-utils
emerge -avt sys-apps/dmidecode
emerge -avt sys-apps/usbutils
emerge -avt dev-vcs/subversion
rc-update add alsasound boot
/etc/init.d/alsasound start
rc-update add smartd default
vi /etc/smartd.conf (und die Platten eintragen.)
# /dev/sda -a -m root -M test
# wenn OK, dann kann man das -M test wieder entfernen
echo smartd.conf >> /etc/CHANGED-FILES
/etc/init.d/smartd start
/etc/init.d/cpupower start
rc-update add cpupower default
/etc/init.d/acpid start
rc-update add acpid default
emerge -avt app-portage/gentoolkit
emerge -avt net-misc/netdate
emerge -avt app-portage/genlop
emerge -avt app-admin/sudo
emerge -avt sys-process/lsof
emerge -avt sys-apps/pciutils
emerge -avt net-dialup/minicom
emerge -avt app-portage/eix
eix-update
emerge -avt net-fs/nfs-utils
rc-update add rpc.statd default
emerge -avt app-admin/logsentry
vi /etc/cron.hourly/logsentry.cron
emerge -avt app-forensics/chkrootkit
vi /etc/cron.weekly/chkrootkit
echo world >> /var/lib/portage/CHANGED-FILES
Microcode-Updates, siehe: Gentoo-Wiki: Intel Microcode
echo 'sys-firmware/intel-microcode initramfs' >> /etc/portage/package.use/server
emerge -avt sys-apps/iucode_tool sys-firmware/intel-microcode

Zum Thema Strom sparen bzgl. CPU siehe:
CPU Frequency Scaling
Power Management Processor

Für einen Desktop allgemein:
# passende X11-Video-Treiber aussuchen:
eix x11-drivers/xf86-video- | less
Dann diese in /etc/portage/make.conf in VIDEO_CARDS eintragen also z.B. "intel" und dann:
emerge -avt x11-base/xorg-server

Dann sucht man sich einen Window-Manager oder Desktop-Environment nach Vorlieben oder Ressourcen-Verbrauch aus (siehe A Memory Comparison of Light Linux Desktops)

KDE
oder installiert einfach KDE (siehe auch Beschreibung der einzelnen Meta-Pakete):
emerge -avt kdebase-meta kde-l10n
emerge -avC konqueror
rc-update add consolekit default
/etc/init.d/consolekit start
vi /etc/conf.d/xdm
# eintragen: DISPLAYMANAGER="kdm"
echo xdm >> /etc/conf.d/CHANGED-FILES
rc-update add xdm default
/etc/init.d/xdm start
Wenn man wissen möchte, was ein komplettes KDE enthalten würde, dann kann man sich das so anschauen: emerge -pvt kde-meta
Wenn man KDE wieder komplett deinstallieren möchte, dann nach dieser Anleitung.

LXDE
emerge -avt lxde-base/lxde-meta lxde-base/lxdm
vi /etc/conf.d/xdm
# eintragen: DISPLAYMANAGER="lxdm"
echo xdm >> /etc/conf.d/CHANGED-FILES
rc-update add xdm default
/etc/init.d/xdm start
Zu LXDE würde auch einer der etwas "schlankeren" Browser passen:
emerge -avt www-client/midori
emerge -avt www-client/chromium
emerge -avt www-client/epiphany

XFCE
Ich bevorzuge allerdings XFCE, da es alles kann, was ich auf dem Desktop benötige und extrem ressourcenschonend und damit sehr schnell ist.
Zusammenfassung des Quick Installation Guide bzw. des Detailed Installation Guide:
vi /etc/portage/make.conf
### eintragen: XFCE_PLUGINS="clock power"
### USE um "acl" und "pulseaudio" ergänzen, sonst geht kein Ton!
### Wenn USE Flags geändert wurden, dann:
### emerge -avt --changed-use --deep @world
emerge -avt xfce-base/xfce4-meta xfce-extra/xfce4-notifyd
emerge --ask --deselect=y xfce-extra/xfce4-notifyd
rc-update add consolekit default
/etc/init.d/consolekit start
emerge -avt xfce-extra/xfce4-volumed-pulse
emerge -avt x11-terms/xfce4-terminal
emerge -avt xfce-extra/xfce4-battery-plugin
emerge -avt xfce-extra/thunar-volman
emerge -avt xfce-extra/thunar-archive-plugin
emerge -avt x11-misc/slim
emerge -avt xfce-extra/xfce4-pulseaudio-plugin media-sound/pavucontrol
emerge -avt app-arch/file-roller
vi /etc/conf.d/xdm
### eintragen: DISPLAYMANAGER="slim"
echo xdm >> /etc/conf.d/CHANGED-FILES
### Den Desktop Benutzer in die nötigen Gruppen eintragen, um z.B. USB Automount zu haben:
for x in cdrom cdrw usb ; do gpasswd -a MY_USER_NAME $x ; done
echo XSESSION=\"Xfce4\" >> /etc/env.d/90xsession
env-update && source /etc/profile
rc-update add xdm default
/etc/init.d/xdm start
Sollte das automatische (oder manuelle) Mounten von z.B. USB Sticks nicht funktionieren und z.B. Thunar die Meldung "Not authorized to perform operation." bringen, dann kann man diese beiden Kommandos zur weiteren Fehlersuche heranziehen:
udisksctl mount --block-device /dev/sdb1
gvfs-mount -d /dev/sdb1
Wenn letzters auch diese Fehlermeldung bringt, dann liegt es in der Regel an fehlenden Gruppenzugehörigkeiten (siehe oben).
Ggf. für Fehlersuche bzgl. Pulseaudio: Gentoo-Wiki: PulseAudio
Für Screenshots, laut Arch - Xfce - Screenshots:
emerge -avt xfce-extra/xfce4-screenshooter

Dann noch ein paar typische Desktop-Programme nach Belieben:
emerge -avt www-client/firefox-bin
emerge -avt mail-client/thunderbird-bin
emerge -avt app-office/libreoffice-bin
emerge -avt app-office/libreoffice-l10n
emerge -avt kde-base/kde-l10n
emerge -avt net-misc/ssvnc
emerge -avt xhost
emerge -avt xinput
emerge -avt app-editors/xemacs
emerge -avt app-xemacs/auctex
emerge -avt app-xemacs/perl-modes
emerge -avt app-xemacs/ps-print
emerge -avt app-xemacs/psgml
emerge -avt app-xemacs/psgml-dtds
emerge -avt app-xemacs/mule-ucs
emerge -avt dev-perl/CDDB_get
emerge -avt www-plugins/adobe-flash
emerge -avt virtual/jre
emerge -avt media-sound/mpg123
emerge -avt media-video/mplayer
emerge -avt media-gfx/gimp
emerge -avt media-plugins/gimp-lqr
emerge -avt media-gfx/gqview
emerge -avt app-cdr/dvd+rw-tools
emerge -avt app-admin/passook
emerge -avt app-arch/p7zip
emerge -avt app-arch/rar
emerge -avt app-arch/unrar
emerge -avt app-misc/fdupes
emerge -avt app-text/a2ps
emerge -avt app-text/evince
emerge -avt dev-util/meld
emerge -avt app-text/texlive
emerge -avt dev-vcs/cvs
emerge -avt dev-vcs/git
emerge -avt dev-vcs/mercurial
emerge -avt games-arcade/frozen-bubble
emerge -avt kde-base/kmix
emerge -avt media-fonts/droid
emerge -avt media-fonts/freefonts
emerge -avt media-fonts/libertine
emerge -avt media-fonts/corefonts
emerge -avt media-fonts/dejavu
emerge -avt media-fonts/font-bh-ttf
emerge -avt media-fonts/font-bh-type1
emerge -avt media-fonts/freefonts
emerge -avt media-fonts/ttf-bitstream-vera
emerge -avt media-fonts/unifont
emerge -avt media-fonts/artwiz-aleczapka-en
eselect fontconfig list | grep 'droid\|liberation'
eselect fontconfig enable ...
emerge -avt media-gfx/digikam
emerge -avt media-gfx/exiftags
emerge -avt media-gfx/imagemagick
emerge -avt media-gfx/xv
emerge -avt media-sound/audacious
emerge -avt media-sound/audacity
emerge -avt media-sound/cdparanoia
emerge -avt media-sound/mp3info
echo "media-sound/pwavecat ~x86" >> /etc/portage/package.accept_keywords
emerge -avt media-sound/pwavecat
emerge -avt media-sound/sox
emerge -avt media-sound/streamripper
emerge -avt media-sound/timidity++
emerge -avt media-sound/vorbis-tools
emerge -avt media-sound/wavbreaker
emerge -avt media-tv/linuxtv-dvb-apps
emerge -avt media-tv/w_scan
emerge -avt media-video/dvbsnoop
emerge -avt media-video/dvdrip
emerge -avt media-video/ffmpeg
emerge -avt media-video/mjpegtools
emerge -avt media-video/rtmpdump
emerge -avt media-video/vlc
emerge -avt media-video/xine-ui
emerge -avt net-analyzer/traceroute
emerge -avt net-dns/bind-tools
emerge -avt net-fs/nfs-utils
rc-update add rpc.statd default
emerge -avt net-fs/samba
emerge -avt net-ftp/ncftp
emerge -avt net-mail/email
emerge -avt net-mail/fetchmail
emerge -avt net-misc/iperf
emerge -avt net-misc/netkit-telnetd
emerge -avt net-misc/wakeonlan
emerge -avt net-print/cups
emerge -avt net-wireless/aircrack-ng
emerge -avt net-wireless/kismet
emerge -avt sci-astronomy/stellarium
emerge -avt sys-apps/ethtool
emerge -avt sys-fs/encfs
emerge -avt sys-process/htop
emerge -avt sys-process/iotop
emerge -avt x11-misc/xfe
eselect fontconfig list
echo "net-misc/icaclient ~x86" >> /etc/portage/package.accept_keywords
emerge -avt net-misc/icaclient
emerge -avt app-emulation/qemu
emerge -avt x11-drivers/xf86-video-qxl
emerge -avt sys-devel/gdb
emerge -avt net-wireless/wavemon
emerge -avt x11-apps/xwininfo
emerge -avt app-text/uudeview
emerge -avt app-text/gv
emerge -avt net-misc/openvpn
emerge -avt media-gfx/xsane
emerge -avt app-antivirus/clamav
emerge -avt games-board/gnuchess
emerge -avt games-board/pysolfc
emerge -avt sys-fs/mdadm
emerge -avt sys-fs/dosfstools
emerge -avt games-board/knights
emerge -avt x11-apps/xdpyinfo
emerge -avt sys-apps/hdparm
emerge -avt x11-apps/xvinfo
emerge -avt x11-misc/x11vnc
emerge -avt x11-wm/twm
emerge -avt media-libs/netpbm
emerge -avt sys-boot/unetbootin
emerge -avt net-analyzer/wireshark
emerge -avt sys-fs/jmtpfs
emerge -avt sys-apps/memtest86+
emerge -avt app-misc/beep
emerge -avt app-crypt/johntheripper
emerge -avt sys-process/nmon
emerge -avt sys-fs/fuse-exfat
emerge -avt sys-fs/exfat-utils
emerge -avt www-misc/urlwatch

Maus-Wheel-Einstellungen sind in /usr/sl/x11_set_trackpoint_wheel

Lautstärketasten? Lösung:
emerge -avt kde-base/kmix

Nacharbeiten (einmalig):
mkdir -p /usr/sl
cd /usr/sl
svn co svn://server/sl/trunk/bin .
# Lokale Profil-Erweiterungen:
ln -s /usr/sl/profile.local /etc/profile.d/zz-profile.local.sh
# Oder bei neueren Gentoos (ab ca. 2018):
ln -s /usr/sl/profile.local /etc/bash/bashrc.d/zz-profile.local.sh
echo zz-profile.local.sh >> /etc/profile.d/CHANGED-FILES
# Backup-Skript anlegen:
cp backup-VORLAGE backup-neuer_rechner
vi backup-neuer_rechner
svn add backup-neuer_rechner
svn ci -m ''

rc-update add cronie default
/etc/init.d/cronie start
Als Root eine ~/.crontab anlegen:
SHELL=/bin/bash
PATH=/usr/sl:/usr/local/bin/:/bin:/usr/bin

# /tmp zu jeder vollen Stunde aufräumen
# Dauer: 1 min.
0 *  *  *  *  /usr/sl/clean-tmp

# /delwatch zu jeder halben Stunde aufräumen
# Dauer: 1 min.
30 *  *  *  *  /usr/sl/clean-delwatch

0 1 1 * * /bin/echo Mailfunktionstest
und dann per crontab ~/.crontab aktivieren.
echo .crontab >> ~/CHANGED-FILES

Für Notebooks:
emerge -avt powertop
emerge -avt sys-power/acpi
emerge -avt sys-power/hibernate-script
rc-update add hibernate-cleanup boot
Für Suspend-To-Disk (Hibernate) in /etc/default/grub in GRUB_CMDLINE_LINUX die Swap-Partition, also z.B. resume=/dev/sda3 eintragen und dann noch acpid auf die Taste reagieren lassen:
echo -e "event=SUSP\naction=/usr/sbin/hibernate" > /etc/acpi/events/hibernate
chmod 755 /etc/acpi/events/hibernate
/etc/init.d/acpid reload
Alternativ für ganz alte Notebooks:
emerge -avt apmd
emerge -avt pcmcia-cs
rc-update add pcmcia default
Für Unterstüztung von IBM/Lenovo Laptops, siehe: Archlinux-Wiki Lenovo
Fürs Touchpad braucht man evtl. INPUT_DEVICES=synaptics

Für WLAN:
Siehe: WLAN einrichten.
Auf jeden Fall:
emerge -avt net-wireless/wpa_supplicant
emerge -avt net-wireless/wireless-tools
emerge -avt rfkill

Deutsche Tastatur und deaktiviertes CAPSLOCK unter X11:
ln -s /usr/sl/X11/00-keyboard.conf /etc/X11/xorg.conf.d/

Man könnte auch noch die Auflösung oder Farbtiefe in ähnlicher Art und Weise einstellen:
Section "Monitor"
  Identifier  "VGA-1"
  Option      "PreferredMode" "1024x768"
EndSection

Section "Screen"
        Identifier "Screen0"
        DefaultDepth 16
EndSection
Drucken:
siehe: Drucker-Konfiguration mit CUPS.

Persönliche Einstellungen:
In ~/.bashrc:
. /etc/profile

Persönliche Dateien:
su -
mkdir /woall
cd /woall
svn co svn://server/sl/trunk/woall .
cd /etc/sudoers.d
mkdir sl
cd sl
svn co svn://server/sl/trunk/sudo .
cd ..
ln -s sl/sudoers sl-sudoers
exit
mkdir /home/loescher/.html-data
cd /home/loescher/.html-data
svn co svn://server/sl/trunk/html-data .
mkdir /home/loescher/prog
cd /home/loescher/prog
svn co svn://server/sl/trunk/prog .
mkdir /home/loescher/texte
cd /home/loescher/texte
svn co svn://server/sl/trunk/texte .
mkdir /home/loescher/media
cd /home/loescher/media
svn co svn://server/sl/trunk/media .
mkdir /home/loescher/TeX
cd /home/loescher/TeX
svn co svn://server/sl/trunk/TeX .
mkdir /home/loescher/fhem
cd /home/loescher/fhem
svn co svn://server/sl/trunk/fhem .

Möglichkeiten das System noch zu optimieren findet man in Flying with Gentoo.

Gentoo aktuell halten


Tipps zu Gentoo


Aufsetzen eines BINHOST

Anleitungen: Ich setze im folgenden auf einem Gentoo-Server einen BINHOST in einer chroot-Umgebung auf.
export BINHOST_ROOT=/xtemp/binhost
mkdir -p $BINHOST_ROOT
cd $BINHOST_ROOT
wget http://distfiles.gentoo.org/releases/x86/autobuilds/$(curl -s http://distfiles.gentoo.org/releases/x86/autobuilds/latest-stage3-i686.txt | tail -1 | awk '{print $1}')
tar xvjpf stage3-*.tar.bz2
/bin/rm stage3-*.tar.bz2
wget http://distfiles.gentoo.org/releases/snapshots/current/portage-latest.tar.bz2
cd usr
tar -xjf ../portage-latest.tar.bz2
cd ..
/bin/rm portage-latest.tar.bz2
mount -t proc none proc
chroot . /bin/bash
mkdir /dev/shm
mount -t tmpfs none /dev/shm
mkdir /dev/pts
mount -t devpts -o gid=5 none /dev/pts
env-update
source /etc/profile
PROMPT_COMMAND='PS1="BINHOST_ROOT:`pwd -P` # "'
vi /etc/resolv.conf
Folgende Einträge in /etc/portage/make.conf:
CFLAGS="-O2 -march=i686 -pipe"
PORTAGE_NICENESS=20
QUICKPKG_DEFAULT_OPTS='--include-config=n --include-unmodified-config=y'
ACCEPT_LICENSE="*"
LINGUAS="en en_US de"
L10N="en en-US de"
LIRC_DEVICES="hauppauge"
VIDEO_CARDS="dummy fbdev v4l vesa vga via cle266 i810 intel mach64 r128 radeon"
INPUT_DEVICES="evdev keyboard mouse synaptics"
FEATURES="buildpkg"
APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias slotmem_shm"
USE="-aalib -arts -flac -fortran -gnome -gpm -kerberos -ldap -mikmod -motif -mysql -ogg -oggvorbis -ruby -theora -vorbis X a52 aac acl acpi activefilter alsa apache2 bindist cups dbus dga directfb divx4linux dts dvb dvd dvdread embedded encode fbcon hal jpeg kde kpathsea linguas_de lirc mad mbox mmap network nptl nptlonly nsplugin opengl ppds pulseaudio qt3support qt4 quicktime rtc threads usb v4l v4l2 v5l vaapi vidix win32codecs xv xvid xvmc"
Spezielle USE-Flags sollte man in /etc/portage/package.use hinterlegen.
Dann:
emerge --sync
eselect news read new | less
emerge -auvt @system
emerge -auvtD @world
emerge -avt --newuse --deep @system
emerge -avt --newuse --deep @world
emerge --pretend --depclean
emerge --depclean
revdep-rebuild -p -v
etc-update
Und folgende Pakete installieren:
emerge -avt app-portage/gentoolkit
emerge -avt net-misc/netdate
emerge -avt app-portage/genlop
emerge -avt app-admin/sudo
emerge -avt sys-process/lsof
emerge -avt sys-apps/pciutils
emerge -avt net-dialup/minicom
emerge -avt app-portage/eix
eix-update
emerge -avt net-fs/nfs-utils
emerge -avt layman
emerge -avt dhcpcd
emerge -avt grub
emerge -avt sysklogd
emerge -avt logrotate
emerge -avt sys-process/cronie
emerge -avt app-editors/vim
emerge -avC nano
echo "colorscheme elflord" >> ~/.vimrc
emerge -avt net-mail/fetchmail
emerge -avt net-analyzer/gnu-netcat
emerge -avt net-analyzer/netperf
emerge -avt net-misc/ntp
emerge -avt dev-perl/Time-ParseDate
emerge -avt sys-apps/smartmontools
emerge -avt dev-util/strace
emerge -avt app-misc/mmv
emerge -avt sys-power/cpupower
emerge -avt sys-power/acpid
emerge -avt sys-apps/ethtool
emerge -avt app-misc/screen
emerge -avt net-wireless/wpa_supplicant
emerge -avt rfkill
emerge -avt kdebase-meta kde-l10n
emerge -avC konqueror
emerge -avt www-client/firefox-bin
emerge -avt mail-client/thunderbird-bin
emerge -avt app-office/libreoffice-bin
emerge -avt app-office/libreoffice-l10n
emerge -avt kde-base/kde-l10n
emerge -avt dev-vcs/subversion
emerge -avt gentoo-sources genkernel
genkernel --lvm --mdadm --disklabel --no-mountboot --no-zfs --no-btrfs --virtio --makeopts=-j1 all
emerge -avt net-misc/ssvnc
emerge -avt xhost
emerge -avt xinput
emerge -avt app-editors/xemacs
emerge -avt app-xemacs/auctex
emerge -avt app-xemacs/perl-modes
emerge -avt app-xemacs/ps-print
emerge -avt app-xemacs/psgml
emerge -avt app-xemacs/psgml-dtds
emerge -avt app-xemacs/mule-ucs
emerge -avt dev-perl/CDDB_get
emerge -avt www-plugins/adobe-flash
emerge -avt virtual/jre
emerge -avt media-sound/mpg123
emerge -avt media-video/mplayer
emerge -avt media-gfx/gimp
emerge -avt media-plugins/gimp-lqr
emerge -avt media-gfx/gqview
emerge -avt app-cdr/dvd+rw-tools
emerge -avt app-cdr/k3b
emerge -avt app-admin/passook
emerge -avt app-arch/p7zip
emerge -avt app-arch/rar
emerge -avt app-arch/unrar
emerge -avt app-misc/fdupes
emerge -avt app-text/a2ps
emerge -avt app-text/evince
emerge -avt dev-util/meld
emerge -avt app-text/texlive
emerge -avt dev-vcs/cvs
emerge -avt dev-vcs/git
emerge -avt dev-vcs/mercurial
emerge -avt games-arcade/frozen-bubble
emerge -avt kde-base/kmix
emerge -avt media-fonts/droid
emerge -avt media-fonts/freefonts
emerge -avt media-fonts/libertine
emerge -avt media-fonts/corefonts
emerge -avt media-fonts/dejavu
emerge -avt media-fonts/font-bh-ttf
emerge -avt media-fonts/font-bh-type1
emerge -avt media-fonts/freefonts
emerge -avt media-fonts/ttf-bitstream-vera
emerge -avt media-fonts/unifont
emerge -avt media-fonts/artwiz-aleczapka-en
emerge -avt media-gfx/digikam
emerge -avt media-gfx/exiftags
emerge -avt media-gfx/imagemagick
emerge -avt media-gfx/xv
emerge -avt media-sound/audacious
emerge -avt media-sound/audacity
emerge -avt media-sound/cdparanoia
emerge -avt media-sound/mp3info
echo "media-sound/pwavecat ~x86" >> /etc/portage/package.accept_keywords
emerge -avt media-sound/pwavecat
emerge -avt media-sound/sox
emerge -avt media-sound/streamripper
emerge -avt media-sound/timidity++
emerge -avt media-sound/vorbis-tools
emerge -avt media-sound/wavbreaker
emerge -avt media-tv/linuxtv-dvb-apps
emerge -avt media-tv/w_scan
emerge -avt media-video/dvbsnoop
emerge -avt media-video/dvdrip
emerge -avt media-video/ffmpeg
emerge -avt media-video/mjpegtools
emerge -avt media-video/rtmpdump
emerge -avt media-video/vlc
emerge -avt media-video/xine-ui
emerge -avt net-analyzer/traceroute
emerge -avt net-dns/bind-tools
emerge -avt net-fs/samba
emerge -avt net-ftp/ncftp
emerge -avt net-mail/email
emerge -avt net-mail/fetchmail
emerge -avt net-misc/iperf
emerge -avt net-misc/netkit-telnetd
emerge -avt net-misc/wakeonlan
emerge -avt net-print/cups
emerge -avt net-wireless/aircrack-ng
emerge -avt net-wireless/kismet
emerge -avt sci-astronomy/stellarium
emerge -avt sys-apps/ethtool
emerge -avt sys-fs/encfs
emerge -avt sys-process/htop
emerge -avt sys-process/iotop
emerge -avt x11-misc/xfe
emerge -avt powertop
echo "net-misc/icaclient ~x86" >> /etc/portage/package.accept_keywords
emerge -avt net-misc/icaclient
emerge -avt sys-kernel/linux-firmware
emerge -avt qemu
emerge -avt x11-drivers/xf86-video-qxl
emerge -avt postfix
emerge -avt gdb
emerge -avt distcc
emerge -avt wavemon
emerge -avt x11-apps/xwininfo
emerge -avt app-text/uudeview
emerge -avt app-text/gv
emerge -avt net-misc/openvpn
emerge -avt media-gfx/xsane
emerge -avt app-antivirus/clamav
emerge -avt games-board/gnuchess
emerge -avt games-board/pysolfc
emerge -avt sys-fs/mdadm
emerge -avt sys-fs/dosfstools
emerge -avt games-board/knights
emerge -avt x11-apps/xdpyinfo
emerge -avt sys-apps/hdparm
emerge -avt x11-apps/xvinfo
emerge -avt x11-misc/x11vnc
emerge -avt x11-wm/twm
emerge -avt app-portage/cpuid2cpuflags
emerge -avt media-libs/netpbm
emerge -avt sys-boot/unetbootin
emerge -avt net-analyzer/wireshark
emerge -avt app-admin/logsentry
emerge -avt app-forensics/chkrootkit
emerge -avt sys-fs/lvm2
emerge -avt sys-fs/jmtpfs
emerge -avt sys-apps/memtest86+
emerge -avt sys-apps/iucode_tool
emerge -avt sys-apps/dmidecode
emerge -avt sys-apps/usbutils
emerge -avt app-misc/beep
emerge -avt app-crypt/johntheripper
emerge -avt sys-process/nmon
emerge -avt sys-fs/fuse-exfat
emerge -avt sys-fs/exfat-utils
emerge -avt www-misc/urlwatch

Wenn der BINHOST erst einmal fertig ist, dann kann man so später in die chroot-Umgebung wechseln:
screen -S binhost
export BINHOST_ROOT=/xtemp/binhost
cd $BINHOST_ROOT
mount -t proc none proc
chroot . /bin/bash
mount -t tmpfs none /dev/shm
mount -t devpts -o gid=5 none /dev/pts
env-update
source /etc/profile
PROMPT_COMMAND='PS1="BINHOST_ROOT:`pwd -P` # "'

Zurück zur Hauptseite
Valid HTML 4.01 Transitional   Valid CSS!