Linux/Tipps/Gentoo/Installation: Unterschied zwischen den Versionen

Aus VivaLV
< Linux‎ | Tipps‎ | Gentoo
Zur Navigation springen Zur Suche springen
 
(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" )
  iface_eth0="192.168.0.6 broadcast 192.168.0.255 netmask 255.255.255.0"
  dns_domain="localdomain"
Nameserver in '''/etc/resolv.conf''' eintragen:
  dns_servers="192.168.0.1"
  nameserver 192.168.0.1
search localdomain
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 -Os -pipe -fomit-frame-pointer -fno-ident"
  CFLAGS="-march=i686 -O2 -pipe -fomit-frame-pointer -fno-ident"
CXXFLAGS="${CFLAGS} -fvisibility-inlines-hidden"
  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 und http://de.gentoo-wiki.com/Deutsche_Lokalisierung
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"
LC_ALL="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


==ivtv==
==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;
  pin_helper /etc/bluetooth/pin-helper;
  }
  }
  device {
  device {
  name "BlueZ (%h)";
  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)";
  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


===Kontrolle===
===Benutzer für rfcomm===
hciconfig -a
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
Reboot.
  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:

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.

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. 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:

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

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"