Linux/Tipps/Gentoo/Installation: Unterschied zwischen den Versionen
Thomas (Diskussion | Beiträge) |
Thomas (Diskussion | Beiträge) (→Mail) |
||
(48 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
==Von CD== | ==Grundinstallation== | ||
===Von CD mit Installer=== | |||
LiveCD booten und alles installieren außer OpenOffice und Gnome. | LiveCD booten und alles installieren außer OpenOffice und Gnome. | ||
===Mit Stage3 Tarball=== | |||
Siehe http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=1. | |||
===Cloning eines existierenden Rechners=== | |||
* Festplatte mit fdisk einrichten | |||
* Swap-Partition mit mkswap aktivieren | |||
* Dateien mit '''cp -a''' kopieren | |||
Folgende Dateien überprüfen/anpassen: | |||
* /etc/fstab | |||
* /etc/conf.d/net | |||
* /etc/hosts | |||
* /etc/conf.d/hostname | |||
* /boot/grub/grub.conf | |||
* /etc/conf.d/rc | |||
* /etc/X11/xorg.conf (Auflösung, BusID) | |||
* /etc/make.conf | |||
* /etc/ntp.conf | |||
* /etc/conf.d/ntp-client | |||
* /etc/mysql/my.cnf (bind-address) | |||
Dann: | |||
* '''*key*''' in '''/etc/ssh''' löschen | |||
* [[Linux/Tipps/Allgemein#chroot|chroot]], [[Linux/Tipps/Gentoo/Kernel#Kernel_erstellen|Kernel compilieren]], Passwörter ändern mit '''passwd''' | |||
* [[Linux/Tipps/Allgemein#Grub-Bootblock_installieren|Bootblock erzeugen]] | |||
* booten | |||
* '''/etc/udev/rules.d/70-persistent-net.rules''' ändern | |||
==Hostname setzen== | ==Hostname setzen== | ||
Zeile 7: | Zeile 34: | ||
Dann: | Dann: | ||
hostname <Name> | hostname <Name> | ||
==Domäne setzen== | |||
Die Domäne wird entweder (bei Verwendung von DHCP) durch den DHCP-Server gesetzt oder in '''/etc/hosts''' folgendermaßen: | |||
127.0.0.1 <Rechnername>.<Domäne> <Rechnername> localhost | |||
Die Reihenfolge ist hier wichtig! | |||
==Netzwerk== | ==Netzwerk== | ||
'''/etc/conf.d/net''':: | '''/etc/conf.d/net''':: | ||
config_eth0=( "192.168.0.6 netmask 255.255.255.0 broadcast 192.168.0.255" ) | |||
routes_eth0=( "default via 192.168.0.1" ) | routes_eth0=( "default via 192.168.0.1" ) | ||
dns_domain="localdomain" | |||
dns_servers="192.168.0.1" | |||
Dann: | Dann: | ||
/etc/init.d/net.eth0 restart | /etc/init.d/net.eth0 restart | ||
Zeile 21: | Zeile 52: | ||
Siehe [[Linux/Tipps/Gentoo/Software#USE-Flags|USE-Flags]]. | Siehe [[Linux/Tipps/Gentoo/Software#USE-Flags|USE-Flags]]. | ||
==Compiler-Flags setzen== | ==Optimierte Compiler-Flags setzen== | ||
Quelle: http://netslaughters.de/index.php/?p=52 | Quelle: http://netslaughters.de/index.php/?p=52 | ||
'''etc/make.conf''': | '''/etc/make.conf''': | ||
CFLAGS="-march=i686 - | CFLAGS="-march=i686 -O2 -pipe -fomit-frame-pointer -fno-ident" | ||
LDFLAGS="-Wl,-O1" | LDFLAGS="-Wl,-O1" | ||
Bei '''-march''' sollte man bei Pentium-M '''i386''' oder besser '''pentium-m''' setzen. | Bei '''-march''' sollte man bei Pentium-M '''i386''' oder besser '''pentium-m''' setzen. | ||
Wenn man Dual-Core hat: | |||
MAKEOPTS="-j3" | |||
==Regionale Einstellungen== | ==Regionale Einstellungen== | ||
Quelle: http://www.gentoo.org/doc/en/guide-localization.xml | Quelle: http://www.gentoo.org/doc/en/guide-localization.xml | ||
===glibc Locales generieren=== | ===glibc Locales generieren=== | ||
Zeile 47: | Zeile 80: | ||
'''/etc/env.d/02locale''': | '''/etc/env.d/02locale''': | ||
LANG="de_DE.UTF-8" | LANG="de_DE.UTF-8" | ||
GDM_LANG="de_DE.UTF-8" | GDM_LANG="de_DE.UTF-8" | ||
LC_COLLATE="C | |||
Dann: | Dann: | ||
env-update | env-update | ||
Zeile 111: | Zeile 144: | ||
===Kernel=== | ===Kernel=== | ||
Siehe [[Linux/Tipps/Gentoo/Kernel#Kernel_upgraden|Kernel upgraden]]. | Siehe [[Linux/Tipps/Gentoo/Kernel#Wichtige_Kernel-Optionen|Kernel-Optionen]] und [[Linux/Tipps/Gentoo/Kernel#Kernel_upgraden|Kernel upgraden]]. | ||
===gentoolkit installieren=== | ===gentoolkit installieren=== | ||
Zeile 243: | Zeile 276: | ||
Dann: | Dann: | ||
emerge qtcurve gtk-engines-qtcurve | emerge qtcurve gtk-engines-qtcurve | ||
cp /etc/gtk-2.0/gtkrc /etc/gtk-2.0/gtkrc.orig | |||
cp /usr/share/themes/QtCurve/gtk-2.0/gtkrc /etc/gtk-2.0/ | cp /usr/share/themes/QtCurve/gtk-2.0/gtkrc /etc/gtk-2.0/ | ||
Dann in '''Kontrollzentrum/Erscheinungsbild/Stil''' "QtCurve" auswählen. | Dann in '''Kontrollzentrum/Erscheinungsbild/Stil''' "QtCurve" auswählen. | ||
===Kein Popup wegen Mails beim Login=== | |||
Folgende Zeile in '''/etc/pam.d/system-login''' auskommentieren: | |||
session optional pam_mail.so | |||
==Displaymanager ändern nach kdm== | ==Displaymanager ändern nach kdm== | ||
Zeile 256: | Zeile 294: | ||
Falls Runlevel console angelegt: | Falls Runlevel console angelegt: | ||
rc-update add nfs console | rc-update add nfs console | ||
==Drucker (HP)== | |||
Quelle: http://gentoo-wiki.com/HPLIP. | |||
Folgende USE-Flags in '''/etc/make.conf''' hinzufügen: | |||
ppds foomaticdb fax scanner | |||
Evtl. noch '''parport''' für parallele Drucker oder '''snmp''' für Netzwerkdrucker. | |||
Dann: | |||
emerge --update --newuse --deep world | |||
emerge cups hplip | |||
/etc/init.d/cupsd start | |||
rc-update add cupsd default | |||
Dann alle Benutzer der Gruppe '''lp''' hinzufügen: | |||
usermod -a --groups lp <Benutzer> | |||
Dann neu anmelden und: | |||
kdesu hp-setup | |||
Weitere Vorgehensweise siehe [http://hplip.sourceforge.net/install/manual/hp_setup.html hier]. | |||
Mit http://localhost:631/ kommt man zur Web-GUI von CUPS. | |||
===Drucken mit gimp=== | |||
'''/etc/portage/package.use''': | |||
media-gfx/gimp gimpprint | |||
Dann: | |||
emerge gimp-print gimp | |||
==Samba== | |||
Quelle: https://wiki.gentoo.org/wiki/Samba/Guide | |||
Falls man eine Web-Admin-GUI ("Swat") für Samba möchte, in '''/etc/portage/package.use''': | |||
net-fs/samba swat | |||
Dann | |||
emerge samba | |||
Dann '''/etc/samba/smb.conf''' anlegen: | |||
[global] | |||
workgroup = <Name der Arbeitsgruppe> | |||
printcap name = cups | |||
disable spoolss = Yes | |||
show add printer wizard = No | |||
printing = cups | |||
cups options = raw | |||
print command = | |||
lpq command = %p | |||
lprm command = | |||
[printers] | |||
comment = All Printers | |||
path = /var/tmp | |||
create mask = 0600 | |||
printable = Yes | |||
browseable = No | |||
[homes] | |||
valid users = %S | |||
read only = No | |||
browseable = No | |||
Ein Read-Only Share hinzufügen (Beispiel): | |||
[work] | |||
path = /work | |||
Dann Passwort für '''root''' setzen: | |||
smbpasswd -a root | |||
Für jeden weiteren Samba-Benutzer: | |||
smbpasswd -a <Benutzer> | |||
Dann: | |||
/etc/init.d/samba start | |||
rc-update add samba default | |||
===Swat=== | |||
emerge xinetd | |||
'''/etc/xinetd.d/swat''': | |||
disable = '''no''' | |||
Dann: | |||
/etc/init.d/xinetd start | |||
rc-update add xinetd default | |||
Dann kommt man mit http://localhost:901/ zur Swat-GUI. | |||
==Mail== | |||
Beschreibung einer minimalen Mail-Konfiguration, sodass Mails an '''root''' (z.B. von '''Logwatch''') an einen Benutzer auf einem anderen Rechner (z.B. auf dem Mailserver) umgeleitet werden. | |||
'''/etc/mail/aliases''': | |||
root: <Benutzer>@<Rechner> | |||
operator: <Benutzer>@<Rechner> | |||
Dann: | |||
newaliases | |||
Dann: | |||
emerge --unmerge ssmtp | |||
emerge postfix | |||
'''/etc/postfix/main.cf''': | |||
mydomain = <Domäne> | |||
myhostname = <Hostname>.<Domäne> | |||
smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination | |||
disable_dns_lookups = yes | |||
Dann: | |||
/etc/init.d/postfix start | |||
rc-update add postfix default | |||
Komplettes Mailsystem einrichten, siehe z.B. [http://gentoo-wiki.com/HOWTO_Email_System_for_the_Home_Network hier]. | |||
===Postfix mit Dovecot=== | |||
'''/etc/dovecot/dovecot.conf''': | |||
protocols = imap lmtp | |||
'''/etc/dovecot/conf.d/10-master.conf''': | |||
service lmtp { | |||
unix_listener /var/spool/postfix/private/dovecot-lmtp { | |||
group = postfix | |||
mode = 0600 | |||
user = postfix | |||
} | |||
} | |||
'''/etc/postfix/main.cf''': | |||
mailbox_transport = lmtp:unix:private/dovecot-lmtp | |||
'''/etc/dovecot/conf.d/10-auth.conf''': | |||
auth_username_format = %Ln | |||
Optionaler Support für Plugins:<br> | |||
'''/etc/dovecot/conf.d/20-lmtp.conf''': | |||
protocol lmtp { | |||
postmaster_address = postmaster@domainname # required | |||
mail_plugins = quota sieve | |||
} | |||
Dann Dovecot und Postfix neu starten. | |||
Info: | |||
* https://doc.dovecot.org/configuration_manual/howto/postfix_dovecot_lmtp/ | |||
* https://serverfault.com/questions/658703/postfix-%E2%86%92-dovecot-lmtp-user-does-not-exist-uiddomain | |||
==D-Bus== | ==D-Bus== | ||
Zeile 299: | Zeile 467: | ||
genkernel --splash=livecd-2007.0 --no-clean all | genkernel --splash=livecd-2007.0 --no-clean all | ||
oder (kleinere initrd): | oder (kleinere initrd): | ||
genkernel --splash=livecd-2007.0 --splash-res=1280x1024 --no-clean all | |||
bzw. | |||
genkernel --splash=livecd-2007.0 --splash-res=1024x768 --no-clean all | genkernel --splash=livecd-2007.0 --splash-res=1024x768 --no-clean all | ||
bzw. | |||
genkernel --splash=livecd-2007.0 --splash-res=800x600 --no-clean all | |||
'''/dev/tty1''' beim Booten verfügbar machen: | '''/dev/tty1''' beim Booten verfügbar machen: | ||
mkdir /temp | mkdir /temp | ||
Zeile 314: | Zeile 486: | ||
* Font entpacken nach '''/usr/share/fonts/<Fontname>''' | * Font entpacken nach '''/usr/share/fonts/<Fontname>''' | ||
* Font-Cache aktualisieren | * Font-Cache aktualisieren | ||
Beispiel für '''Arial''': | Beispiel für '''Arial''' (Arial ist allerdings auch über das Gentoo ebuild '''corefonts''' zu bekommen): | ||
mkdir temp | mkdir temp | ||
cd temp | cd temp | ||
Zeile 327: | Zeile 499: | ||
Weitere Informationen: http://gentoo-wiki.com/HOWTO_Xorg_and_Fonts | Weitere Informationen: http://gentoo-wiki.com/HOWTO_Xorg_and_Fonts | ||
== | ==Logging aufsplitten== | ||
Quellen: http://gentoo-wiki.com/Syslog-ng, http://forums.gentoo.org/viewtopic-p-4522832-highlight-.html, http://archives.neohapsis.com/archives/postfix/2006-02/0673.html | |||
Standardmäßig wird mit syslog-ng alles nach '''/var/log/messages''' geloggt. Dies kann man auch aufsplitten. In diesem Fall aufplitten in '''mail''', '''mail.info''', '''mail.warn''', '''mail.err''', '''cron.log''', '''messages'''. | |||
'''/etc/syslog-ng/syslog-ng.conf''' (komplett): | |||
# $Header: /var/cvsroot/gentoo-x86/app-admin/syslog-ng/files/syslog-ng.conf.gentoo,v 1.7 2007/08/02 04:52:18 mr_bones_ Exp $ | |||
# | |||
# Syslog-ng default configuration file for Gentoo Linux | |||
# contributed by Michael Sterrett | |||
options { | |||
chain_hostnames(off); | |||
sync(0); | |||
# The default action of syslog-ng 1.6.0 is to log a STATS line | |||
# to the file every 10 minutes. That's pretty ugly after a while. | |||
# Change it to every 12 hours so you get a nice daily update of | |||
# how many messages syslog-ng missed (0). | |||
stats(43200); | |||
}; | |||
source src { | |||
unix-stream("/dev/log" max-connections(256)); | |||
internal(); | |||
file("/proc/kmsg"); | |||
}; | |||
destination messages { file("/var/log/messages"); }; | |||
filter f_messages { level(info..warn) | |||
and not facility(mail, news, cron); }; | |||
log { source(src); filter(f_messages); destination(messages); }; | |||
# By default messages are logged to tty12... | |||
destination console_all { file("/dev/tty12"); }; | |||
# ...if you intend to use /dev/console for programs like xconsole | |||
# you can comment out the destination line above that references /dev/tty12 | |||
# and uncomment the line below. | |||
#destination console_all { file("/dev/console"); }; | |||
#cron configuration | |||
destination cron { file("/var/log/cron.log"); }; | |||
filter f_cron { facility(cron); }; | |||
log { source(src); filter(f_cron); destination(cron); flags(final); }; | |||
# mail configuration | |||
destination mail { file("/var/log/mail"); }; | |||
filter f_mail { facility(mail); }; | |||
log { source(src); filter(f_mail); destination(mail); }; | |||
destination mailinfo { file("/var/log/mail.info"); }; | |||
destination mailwarn { file("/var/log/mail.warn"); }; | |||
destination mailerr { file("/var/log/mail.err"); }; | |||
filter f_info { level(info); }; | |||
filter f_warn { level(warn); }; | |||
filter f_err { level(err); }; | |||
log { source(src); filter(f_mail); filter(f_info); destination(mailinfo); }; | |||
log { source(src); filter(f_mail); filter(f_warn); destination(mailwarn); }; | |||
log { source(src); filter(f_mail); filter(f_err); destination(mailerr); }; | |||
#log { source(src); destination(messages); }; | |||
log { source(src); destination(console_all); }; | |||
'''/etc/logrotate.d/syslog-ng''' (ergänzen): | |||
/var/log/cron.log { | |||
sharedscripts | |||
postrotate | |||
/etc/init.d/syslog-ng reload > /dev/null 2>&1 || true | |||
endscript | |||
} | |||
/var/log/mail /var/log/mail.warn /var/log/mail.err /var/log/mail.info { | |||
sharedscripts | |||
postrotate | |||
/etc/init.d/syslog-ng reload > /dev/null 2>&1 || true | |||
endscript | |||
} | |||
Dann: | |||
* touch /var/log/mail.warn | |||
* touch /var/log/mail.err | |||
* touch /var/log/mail.info | |||
* /etc/init.d/syslog-ng restart | |||
==Bluetooth== | ==Bluetooth== | ||
Zeile 343: | Zeile 599: | ||
'''/etc/bluetooth/hcid.conf''': | '''/etc/bluetooth/hcid.conf''': | ||
options { | options { | ||
pin_helper /etc/bluetooth/pin-helper; | |||
} | } | ||
device { | device { | ||
name "BlueZ (%h)"; | |||
} | } | ||
Zeile 357: | Zeile 613: | ||
===Mit Bluez 3.x (unstable)=== | ===Mit Bluez 3.x (unstable)=== | ||
'''/etc/portage/package.keywords''': | '''/etc/portage/package.keywords''': | ||
net-wireless/bluez-libs | net-wireless/bluez-libs ~x86 | ||
net-wireless/bluez-utils | net-wireless/bluez-utils ~x86 | ||
net-wireless/kdebluetooth | net-wireless/kdebluetooth ~x86 | ||
'''/etc/portage/package.use''': | |||
net-wireless/bluez-utils old-daemons | |||
Dann: | Dann: | ||
emerge bluez-libs bluez-utils bluez-firmware kdebluetooth | emerge bluez-libs bluez-utils bluez-firmware kdebluetooth | ||
'''/etc/bluetooth/hcid.conf''': | '''/etc/bluetooth/hcid.conf''': | ||
options { | |||
#passkey "BlueZ"; | |||
} | |||
device { | device { | ||
name "BlueZ (%h)"; | |||
} | } | ||
Dann: | Dann: | ||
/etc/init.d/bluetooth restart | /etc/init.d/bluetooth restart | ||
Dann neu anmelden. | Dann neu anmelden. | ||
===Kontrolle=== | |||
hciconfig -a | |||
===Autostart=== | ===Autostart=== | ||
rc-update add bluetooth default | rc-update add bluetooth default | ||
=== | ===Benutzer für rfcomm=== | ||
Benutzer, die '''rfcomm''' verwenden wollen, müssen in der Gruppe '''uccp''' sein: | |||
usermod -a --groups uucp <Benutzer> | |||
===Mit Palm ins Internet über Bluetooth=== | |||
Quellen: http://gentoo-wiki.com/HOWTO_Iptables_for_newbies + http://forums.gentoo.org/viewtopic.php?t=121109 + http://www.metacon.ca/bcs/view.php?page=bluetooth | |||
Im Kernel muss NAT-Support aktiviert sein, siehe http://gentoo-wiki.com/HOWTO_Iptables_for_newbies#Kernel_Support. | |||
emerge ppp iptables | |||
'''/etc/ppp/options.rfcomm0''': | |||
# You usually need this if there is no PAP authentication | |||
noauth | |||
# do not use modem control lines we aren't using a real serial line | |||
local | |||
# do not determinate local ip from hostname | |||
noipdefault | |||
# usefull ARP proxing | |||
proxyarp | |||
# Your own IP Address and the IP Address of the remote system | |||
192.168.0.2:192.168.0.47 | |||
# And the netmask | |||
netmask 255.255.255.0 | |||
# dns | |||
ms-dns 192.168.0.1 | |||
# this is required for the non standard microsoft PPP negotiation | |||
connect "sleep 2; echo -n CLIENTSERVER" | |||
Dann (einmalig und auch in '''/etc/conf.d/local.start''' eintragen): | |||
echo 1 >/proc/sys/net/ipv4/ip_forward | |||
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE | |||
dund --listen | |||
==AMD PowerNow!== | |||
[[Linux/Tipps/Gentoo/Kernel#Kernel_modifizieren|Kernel modifizieren]] und dabei [[Linux/Tipps/Gentoo/Kernel#AMD_PowerNow.21|PowerNow! aktivieren]]. | |||
Dann: | |||
emerge cpufrequtils acpid | |||
rc-update add acpid default | |||
'''/etc/modules.autoload.d/kernel-2.6''': | |||
powernow_k8 | |||
'''/etc/conf.d/local.start''': | |||
cpufreq-set -g ondemand | |||
echo 0 >/sys/devices/system/cpu/cpu0/cpufreq/ondemand/ignore_nice_load | |||
Und optional, um schon bei 30% statt 80% Last hochzutakten: | |||
echo 30 >/sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_threshold | |||
Reboot. | |||
==Notebook mit Centrino-Chipsatz== | ==Notebook mit Centrino-Chipsatz== | ||
Zeile 455: | Zeile 768: | ||
*** <*> Intel Enhanced SpeedStep | *** <*> Intel Enhanced SpeedStep | ||
Dann: | |||
module-rebuild rebuild | module-rebuild rebuild | ||
update-modules force | update-modules force | ||
emerge cpufrequtils acpid | emerge cpufrequtils acpid | ||
rc-update add acpid default | rc-update add acpid default | ||
'''/etc/conf.d/local.start''': | '''/etc/conf.d/local.start''': | ||
cpufreq-set -d 600MHz -u 1.50GHz -g ondemand | cpufreq-set -d 600MHz -u 1.50GHz -g ondemand | ||
echo 0 >/sys/devices/system/cpu/cpu0/cpufreq/ondemand/ignore_nice_load | |||
Reboot. | |||
===Audio-Support für ASUS M6Ne=== | ===Audio-Support für ASUS M6Ne=== |
Aktuelle Version vom 10. Februar 2024, 10:10 Uhr
Grundinstallation
Von CD mit Installer
LiveCD booten und alles installieren außer OpenOffice und Gnome.
Mit Stage3 Tarball
Siehe http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=1.
Cloning eines existierenden Rechners
- Festplatte mit fdisk einrichten
- Swap-Partition mit mkswap aktivieren
- Dateien mit cp -a kopieren
Folgende Dateien überprüfen/anpassen:
- /etc/fstab
- /etc/conf.d/net
- /etc/hosts
- /etc/conf.d/hostname
- /boot/grub/grub.conf
- /etc/conf.d/rc
- /etc/X11/xorg.conf (Auflösung, BusID)
- /etc/make.conf
- /etc/ntp.conf
- /etc/conf.d/ntp-client
- /etc/mysql/my.cnf (bind-address)
Dann:
- *key* in /etc/ssh löschen
- chroot, Kernel compilieren, Passwörter ändern mit passwd
- Bootblock erzeugen
- booten
- /etc/udev/rules.d/70-persistent-net.rules ändern
Hostname setzen
Wenn der Hostname nicht stimmt, dann /etc/conf.d/hostname ändern:
HOSTNAME="<Name>"
Dann:
hostname <Name>
Domäne setzen
Die Domäne wird entweder (bei Verwendung von DHCP) durch den DHCP-Server gesetzt oder in /etc/hosts folgendermaßen:
127.0.0.1 <Rechnername>.<Domäne> <Rechnername> localhost
Die Reihenfolge ist hier wichtig!
Netzwerk
/etc/conf.d/net::
config_eth0=( "192.168.0.6 netmask 255.255.255.0 broadcast 192.168.0.255" ) routes_eth0=( "default via 192.168.0.1" ) dns_domain="localdomain" dns_servers="192.168.0.1"
Dann:
/etc/init.d/net.eth0 restart
Gewünschte USE-Flags setzen
Siehe USE-Flags.
Optimierte Compiler-Flags setzen
Quelle: http://netslaughters.de/index.php/?p=52
/etc/make.conf:
CFLAGS="-march=i686 -O2 -pipe -fomit-frame-pointer -fno-ident" LDFLAGS="-Wl,-O1"
Bei -march sollte man bei Pentium-M i386 oder besser pentium-m setzen.
Wenn man Dual-Core hat:
MAKEOPTS="-j3"
Regionale Einstellungen
Quelle: http://www.gentoo.org/doc/en/guide-localization.xml
glibc Locales generieren
/etc/locale.gen:
de_DE@euro ISO-8859-15 de_DE.UTF-8 UTF-8 de_DE ISO-8859-1 en_US ISO-8859-1 en_US.UTF-8 UTF-8
Dann:
locale-gen
Deutsche UTF-8 Locale setzen
/etc/env.d/02locale:
LANG="de_DE.UTF-8" GDM_LANG="de_DE.UTF-8" LC_COLLATE="C
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" Option "XkbVariant" "nodeadkeys"
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 source /etc/profile emerge glibc binutils gcc source /etc/profile
System aktualisieren
Repository
emerge --sync
Portage
emerge --update portage
Kernel
Siehe Kernel-Optionen und Kernel upgraden.
gentoolkit installieren
emerge gentoolkit
Alter C++ Compiler für ältere Pakete
emerge -1 libstdc++-v3
Rest
emerge --update --newuse --deep world etc-update revdep-rebuild
xdm installieren
emerge xdm
Video/Xorg
Am Beispiel NVidia.
Grafikkarte und Eingabegeräte in /etc/make.conf konfigurieren:
VIDEO_CARDS="nvidia" INPUT_DEVICES="keyboard mouse joystick"
Von dieser Einstellung abhängige Pakete neu compilieren. Xorg wird automatisch den NVidia Binary-Treiber mitinstallieren.
Die Datei /etc/modules.d/nvidia wird dabei automatisch generiert.
NVidia OpenGL auswählen:
eselect opengl set nvidia
Rudimentäre xorg.conf generieren:
Xorg -configure
Und testen:
X -config /root/xorg.conf.new
Audio
Quelle: http://www.gentoo.org/doc/en/alsa-guide.xml
Kernel modifizieren, dabei ALSA aktivieren und den Treiber für die verwendete Soundkarte als Modul compilieren, siehe hier.
Soundkarte in /etc/make.conf konfigurieren:
ALSA_CARDS="emu10k1"
Dann:
emerge alsa alsa-libs rc-update add alsasound boot
Die Datei /etc/modules.d/alsa wird dabei automatisch generiert. Dann neu booten.
Wenn das Modul für die Soundkarte nicht automatisch von udev geladen wird:
alsaconf
Evtl. Stummschaltung aufheben:
alsamixer
Wenn ein Programm (z.B. MythTV) das Device ALSA:default nicht findet, mit /dev/dsp aber funktioniert, dann legt man im Homeverzeichnis die Datei .asoundrc an:
pcm.!default { type hw card 0 } ctl.!default { type hw card 0 }
Die Nummer der Karte kann man herausfinden mit:
aplay -l
Wenn -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 oder /usr/bin/ogg123 von den vorbis-tools (falls installiert).
LIRC
Quelle: http://gentoo-wiki.com/HOWTO_LIRC
/etc/make.conf:
LIRC_DEVICES="serial"
Dann:
emerge lirc modules-rebuild populate echo lirc_serial >> /etc/modules.autoload.d/kernel-2.6 rc-update add lircd default
/etc/modules.d/lirc:
options lirc_serial irq=4 io=0x3f8 type=4 pre-install lirc_serial setserial /dev/ttyS0 uart none
Dann neu booten.
/etc/lircd.conf von alter Installation übernehmen oder neu erstellen. Dann:
/etc/init.d/lircd restart
Fernbedienung prüfen:
irw
Runlevels ähnlich Fedora/Suse (optional)
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
Hinweis
KDE 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
Sprache
Sprache "Deutsch" im KDE Control Center hinzufügen, wenn nicht schon vorhanden.
Weitere Programme installieren
Wenn man weitere Meta-Pakete (z.B. kdeaddons) installieren will, dann muss "-meta" angehängt werden, z.B.:
emerge kdeaddons-meta
Gleicher Look in KDE- und in GTK(Gnome)-Programmen mit QtCurve
Quelle: http://gentoo-wiki.com/HOWTO_Same_look_for_QT,_GTK_2_and_GTK_1_apps
/etc/portage/package.keywords:
x11-themes/qtcurve ~x86 x11-themes/gtk-engines-qtcurve ~x86
Dann:
emerge qtcurve gtk-engines-qtcurve cp /etc/gtk-2.0/gtkrc /etc/gtk-2.0/gtkrc.orig cp /usr/share/themes/QtCurve/gtk-2.0/gtkrc /etc/gtk-2.0/
Dann in Kontrollzentrum/Erscheinungsbild/Stil "QtCurve" auswählen.
Kein Popup wegen Mails beim Login
Folgende Zeile in /etc/pam.d/system-login auskommentieren:
session optional pam_mail.so
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
Drucker (HP)
Quelle: http://gentoo-wiki.com/HPLIP.
Folgende USE-Flags in /etc/make.conf hinzufügen:
ppds foomaticdb fax scanner
Evtl. noch parport für parallele Drucker oder snmp für Netzwerkdrucker.
Dann:
emerge --update --newuse --deep world emerge cups hplip /etc/init.d/cupsd start rc-update add cupsd default
Dann alle Benutzer der Gruppe lp hinzufügen:
usermod -a --groups lp <Benutzer>
Dann neu anmelden und:
kdesu hp-setup
Weitere Vorgehensweise siehe hier.
Mit http://localhost:631/ kommt man zur Web-GUI von CUPS.
Drucken mit gimp
/etc/portage/package.use:
media-gfx/gimp gimpprint
Dann:
emerge gimp-print gimp
Samba
Quelle: https://wiki.gentoo.org/wiki/Samba/Guide
Falls man eine Web-Admin-GUI ("Swat") für Samba möchte, in /etc/portage/package.use:
net-fs/samba swat
Dann
emerge samba
Dann /etc/samba/smb.conf anlegen:
[global] workgroup = <Name der Arbeitsgruppe> printcap name = cups disable spoolss = Yes show add printer wizard = No printing = cups cups options = raw print command = lpq command = %p lprm command = [printers] comment = All Printers path = /var/tmp create mask = 0600 printable = Yes browseable = No [homes] valid users = %S read only = No browseable = No
Ein Read-Only Share hinzufügen (Beispiel):
[work] path = /work
Dann Passwort für root setzen:
smbpasswd -a root
Für jeden weiteren Samba-Benutzer:
smbpasswd -a <Benutzer>
Dann:
/etc/init.d/samba start rc-update add samba default
Swat
emerge xinetd
/etc/xinetd.d/swat:
disable = no
Dann:
/etc/init.d/xinetd start rc-update add xinetd default
Dann kommt man mit http://localhost:901/ zur Swat-GUI.
Beschreibung einer minimalen Mail-Konfiguration, sodass Mails an root (z.B. von Logwatch) an einen Benutzer auf einem anderen Rechner (z.B. auf dem Mailserver) umgeleitet werden.
/etc/mail/aliases:
root: <Benutzer>@<Rechner> operator: <Benutzer>@<Rechner>
Dann:
newaliases
Dann:
emerge --unmerge ssmtp emerge postfix
/etc/postfix/main.cf:
mydomain = <Domäne> myhostname = <Hostname>.<Domäne> smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination disable_dns_lookups = yes
Dann:
/etc/init.d/postfix start rc-update add postfix default
Komplettes Mailsystem einrichten, siehe z.B. hier.
Postfix mit Dovecot
/etc/dovecot/dovecot.conf:
protocols = imap lmtp
/etc/dovecot/conf.d/10-master.conf:
service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { group = postfix mode = 0600 user = postfix } }
/etc/postfix/main.cf:
mailbox_transport = lmtp:unix:private/dovecot-lmtp
/etc/dovecot/conf.d/10-auth.conf:
auth_username_format = %Ln
Optionaler Support für Plugins:
/etc/dovecot/conf.d/20-lmtp.conf:
protocol lmtp { postmaster_address = postmaster@domainname # required mail_plugins = quota sieve }
Dann Dovecot und Postfix neu starten.
Info:
- https://doc.dovecot.org/configuration_manual/howto/postfix_dovecot_lmtp/
- https://serverfault.com/questions/658703/postfix-%E2%86%92-dovecot-lmtp-user-does-not-exist-uiddomain
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
autofs
Kernel modifizieren und dabei autofs aktivieren.
Nach Reboot:
emerge autofs /etc/init.d/autofs start rc-update add autofs default
Splashscreen bei Boot/Shutdown
Quelle: http://gentoo-wiki.com/HOWTO_gensplash
/etc/portage/package.use:
media-gfx/splashutils mng
Dann:
emerge splashutils splash-themes-livecd
Dann:
genkernel --splash=livecd-2007.0 --no-clean all
oder (kleinere initrd):
genkernel --splash=livecd-2007.0 --splash-res=1280x1024 --no-clean all
bzw.
genkernel --splash=livecd-2007.0 --splash-res=1024x768 --no-clean all
bzw.
genkernel --splash=livecd-2007.0 --splash-res=800x600 --no-clean all
/dev/tty1 beim Booten verfügbar machen:
mkdir /temp mount --bind / /temp mknod /temp/dev/tty1 c 4 1 umount /temp rmdir /temp
In /boot/grub/menu.lst folgende Kernelparameter hinzufügen:
vga=791 splash=silent,theme:livecd-2007.0 console=tty1 quiet
Dann Kernel modifizieren und dabei Optionen für Splashscreens aktivieren.
TrueType-Fonts
- gewünschten Font downloaden (Liste siehe http://www.slovo.info/unifonts.htm)
- Font entpacken nach /usr/share/fonts/<Fontname>
- Font-Cache aktualisieren
Beispiel für Arial (Arial ist allerdings auch über das Gentoo ebuild corefonts zu bekommen):
mkdir temp cd temp wget http://prdownloads.sourceforge.net/corefonts/arial32.exe cabextract arial32.exe mkdir /usr/share/fonts/ttf-arial cp *.TTF /usr/share/fonts/ttf-arial/ fc-cache cd .. rm -rf temp
Weitere Informationen: http://gentoo-wiki.com/HOWTO_Xorg_and_Fonts
Logging aufsplitten
Quellen: http://gentoo-wiki.com/Syslog-ng, http://forums.gentoo.org/viewtopic-p-4522832-highlight-.html, http://archives.neohapsis.com/archives/postfix/2006-02/0673.html
Standardmäßig wird mit syslog-ng alles nach /var/log/messages geloggt. Dies kann man auch aufsplitten. In diesem Fall aufplitten in mail, mail.info, mail.warn, mail.err, cron.log, messages.
/etc/syslog-ng/syslog-ng.conf (komplett):
# $Header: /var/cvsroot/gentoo-x86/app-admin/syslog-ng/files/syslog-ng.conf.gentoo,v 1.7 2007/08/02 04:52:18 mr_bones_ Exp $ # # Syslog-ng default configuration file for Gentoo Linux # contributed by Michael Sterrett options { chain_hostnames(off); sync(0); # The default action of syslog-ng 1.6.0 is to log a STATS line # to the file every 10 minutes. That's pretty ugly after a while. # Change it to every 12 hours so you get a nice daily update of # how many messages syslog-ng missed (0). stats(43200); }; source src { unix-stream("/dev/log" max-connections(256)); internal(); file("/proc/kmsg"); }; destination messages { file("/var/log/messages"); }; filter f_messages { level(info..warn) and not facility(mail, news, cron); }; log { source(src); filter(f_messages); destination(messages); }; # By default messages are logged to tty12... destination console_all { file("/dev/tty12"); }; # ...if you intend to use /dev/console for programs like xconsole # you can comment out the destination line above that references /dev/tty12 # and uncomment the line below. #destination console_all { file("/dev/console"); }; #cron configuration destination cron { file("/var/log/cron.log"); }; filter f_cron { facility(cron); }; log { source(src); filter(f_cron); destination(cron); flags(final); }; # mail configuration destination mail { file("/var/log/mail"); }; filter f_mail { facility(mail); }; log { source(src); filter(f_mail); destination(mail); }; destination mailinfo { file("/var/log/mail.info"); }; destination mailwarn { file("/var/log/mail.warn"); }; destination mailerr { file("/var/log/mail.err"); }; filter f_info { level(info); }; filter f_warn { level(warn); }; filter f_err { level(err); }; log { source(src); filter(f_mail); filter(f_info); destination(mailinfo); }; log { source(src); filter(f_mail); filter(f_warn); destination(mailwarn); }; log { source(src); filter(f_mail); filter(f_err); destination(mailerr); }; #log { source(src); destination(messages); }; log { source(src); destination(console_all); };
/etc/logrotate.d/syslog-ng (ergänzen):
/var/log/cron.log { sharedscripts postrotate /etc/init.d/syslog-ng reload > /dev/null 2>&1 || true endscript } /var/log/mail /var/log/mail.warn /var/log/mail.err /var/log/mail.info { sharedscripts postrotate /etc/init.d/syslog-ng reload > /dev/null 2>&1 || true endscript }
Dann:
- touch /var/log/mail.warn
- touch /var/log/mail.err
- touch /var/log/mail.info
- /etc/init.d/syslog-ng restart
Bluetooth
Quelle: http://www.gentoo.org/doc/en/bluetooth-guide.xml
Vorbereitung
In /etc/make.conf das bluetooth USE-Flag hinzufügen.
Kernel modifizieren und dabei die benötigen Optionen aktivieren, siehe hier.
Mit Bluez 2.x
emerge bluez-libs bluez-utils bluez-firmware kdebluetooth
/etc/bluetooth/hcid.conf:
options { pin_helper /etc/bluetooth/pin-helper; } device { name "BlueZ (%h)"; }
/etc/bluetooth/pin:
<PIN>
Dann:
/etc/init.d/bluetooth restart
Dann neu anmelden.
Mit Bluez 3.x (unstable)
/etc/portage/package.keywords:
net-wireless/bluez-libs ~x86 net-wireless/bluez-utils ~x86 net-wireless/kdebluetooth ~x86
/etc/portage/package.use:
net-wireless/bluez-utils old-daemons
Dann:
emerge bluez-libs bluez-utils bluez-firmware kdebluetooth
/etc/bluetooth/hcid.conf:
options { #passkey "BlueZ"; } device { name "BlueZ (%h)"; }
Dann:
/etc/init.d/bluetooth restart
Dann neu anmelden.
Kontrolle
hciconfig -a
Autostart
rc-update add bluetooth default
Benutzer für rfcomm
Benutzer, die rfcomm verwenden wollen, müssen in der Gruppe uccp sein:
usermod -a --groups uucp <Benutzer>
Mit Palm ins Internet über Bluetooth
Quellen: http://gentoo-wiki.com/HOWTO_Iptables_for_newbies + http://forums.gentoo.org/viewtopic.php?t=121109 + http://www.metacon.ca/bcs/view.php?page=bluetooth
Im Kernel muss NAT-Support aktiviert sein, siehe http://gentoo-wiki.com/HOWTO_Iptables_for_newbies#Kernel_Support.
emerge ppp iptables
/etc/ppp/options.rfcomm0:
# You usually need this if there is no PAP authentication noauth # do not use modem control lines we aren't using a real serial line local # do not determinate local ip from hostname noipdefault # usefull ARP proxing proxyarp # Your own IP Address and the IP Address of the remote system 192.168.0.2:192.168.0.47 # And the netmask netmask 255.255.255.0 # dns ms-dns 192.168.0.1 # this is required for the non standard microsoft PPP negotiation connect "sleep 2; echo -n CLIENTSERVER"
Dann (einmalig und auch in /etc/conf.d/local.start eintragen):
echo 1 >/proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE dund --listen
AMD PowerNow!
Kernel modifizieren und dabei PowerNow! aktivieren.
Dann:
emerge cpufrequtils acpid rc-update add acpid default
/etc/modules.autoload.d/kernel-2.6:
powernow_k8
/etc/conf.d/local.start:
cpufreq-set -g ondemand echo 0 >/sys/devices/system/cpu/cpu0/cpufreq/ondemand/ignore_nice_load
Und optional, um schon bei 30% statt 80% Last hochzutakten:
echo 30 >/sys/devices/system/cpu/cpu0/cpufreq/ondemand/up_threshold
Reboot.
Notebook mit Centrino-Chipsatz
Touchpad-Treiber
emerge synaptics
WLAN 2200bg
Quelle u.a.: http://gentoo-wiki.com/HARDWARE_ipw2200
SSID
Der Router muss die SSID senden!
ipw2200 im Kernel aktivieren
Kernel modifizieren und dabei ipw2200 aktivieren.
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
Verhindern, dass Coldplug das WLAN startet und es sich dann mit einem beliebigen AP verbindet
/etc/conf.d/rc:
RC_PLUG_SERVICES="!net.<DEVICE>"
WLAN und LAN beim Booten nicht automatisch starten
/etc/conf.d/rc:
RC_PLUG_SERVICES="!net.*"
CPU-Stepping
Kernel modifizieren und dabei folgende 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
Dann:
module-rebuild rebuild update-modules force emerge cpufrequtils acpid rc-update add acpid default
/etc/conf.d/local.start:
cpufreq-set -d 600MHz -u 1.50GHz -g ondemand echo 0 >/sys/devices/system/cpu/cpu0/cpufreq/ondemand/ignore_nice_load
Reboot.
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
Powersave und Suspend to RAM mit ASUS M6Ne
Voraussetzung: D-Bus und HAL müssen installiert sein und laufen. klaptopdaemon darf nicht installiert sein!
Bootparameter "acpi_sleep=s3_bios" in /boot/grub/menu.lst hinzufügen.
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"