EDV:NewSystem/Debian 6

From KIP Wiki
⧼kip-jumptonavigation⧽⧼kip-jumptosearch⧽

Neues Debian 6 (squeeze) / 7 (wheezy) einrichten

Debian GNU/Linux ist mehr als nur ein Betriebssystem. Mehr dazu unter http://www.debian.org

Das System eignet sich sehr gut für z.B. Server, da der Schwerpunkt bei den Softwarepaketen und den Kernelversionen eher auf Stabilität

gelegt wird, als auf Aktualität, multimediale Effekte oder die Unterstützung der allerneusten Hardware.

Das bedeutet natürlich nicht, dass man damit nicht auch alles (Linux mäßig) machen kann, aber wer viel Wert auf "Optik & Akustik" bei der

Benutzung seines Rechners legt, und den extra Aufwand für manuelle Installation proprietärer Software scheut, kann z.B. zu den

Ubuntu Distributionen greifen. Da wird vieles schon mitgeliefert.

Basis Installation

  • Eine ausführliche Installationsanleitung in verschiedenen Sprachen und für verschiedene Rechnerarchitekturen findet man unter:
http://www.debian.org/releases/stable/installmanual
  • Aktuelle Abbilder der Installationsmedien mit unfreien Treibern / Firmware:

Debian 6 (squeeze) stable:

http://cdimage.debian.org/mirror/cdimage/unofficial/non-free/cd-including-firmware/daily-builds/squeeze_d-i/multi-arch/iso-cd/

Debian 7 (wheezy) testing:

http://cdimage.debian.org/mirror/cdimage/unofficial/non-free/cd-including-firmware/daily-builds-debian-edu/wheezy_d-i/current/multi-arch/

oder direkt das daily-builds ISO: firmware-testing-amd64-i386-netinst.iso

  • Falls man die Installation von z.B. einem USB-Stick aus durchführen möchte, kann man diese CD-Images

auch mit dem Tool UNetbootin auf eine anderes Medium übertragen und bootfähig machen.

  • Während der Installationsroutine wird nach den Proxy-Einstellungen gefragt: http://proxy.kip.uni-heidelberg.de:8080/


Falls das System dann für LDAP/AFS-Nutzer zum anmelden (siehe Nutzeranmeldung über LDAP und KIP-AFS) freigeschaltet werden soll, sollte der lokale Nutzer eine andere Nutzerkennung als den KIP-Account haben.

Proxy

Falls der Proxy noch nicht für APT eingestellt ist (bei der Installation s.o. ist das wohl schon passiert):

 echo '
 Acquire::http::Proxy "http://proxy3.kip.uni-heidelberg.de:8080";
 Acquire::https::Proxy "http://proxy3.kip.uni-heidelberg.de:8080";
 Acquire::ftp::Proxy "ftp://proxy3.kip.uni-heidelberg.de:2121";
 ' >>/etc/apt/apt.conf

Wenn man schon dabei ist, empfiehlt es sich auch gleich den Proxy in die ~/.bashrc zu schreiben

 echo '
 export http_proxy=http://proxy.kip.uni-heidelberg.de:8080
 export https_proxy=https://proxy.kip.uni-heidelberg.de:8080
 export ftp_proxy=ftp://proxy2.kip.uni-heidelberg.de:2121
 export HTTP_PROXY=http://proxy.kip.uni-heidelberg.de:8080
 export HTTPS_PROXY=https://proxy.kip.uni-heidelberg.de:8080
 export FTP_PROXY=ftp://proxy2.kip.uni-heidelberg.de:2121' >> ~/.bashrc  

und in die /etc/wgetrc falls benötigt

 echo '
 http_proxy=http://proxy.kip.uni-heidelberg.de:8080
 https_proxy=https://proxy.kip.uni-heidelberg.de:8080
 ftp_proxy=ftp://proxy2.kip.uni-heidelberg.de:2121
 ' >> /etc/wgetrc   

Paketmanager

Das System aktualisieren mit:

aptitude update && aptitude upgrade

Falls noch kein aptitude installiert ist, dann einfach mit apt-get nachholen:

apt-get update && apt-get  upgrade && apt-get install aptitude
Falls nun ein neuer Kernel installiert wurde sollte ein reboot durchgeführt werden

Netzwerk

Für einen PC (nicht Laptop) ist es sinnlos und meistens auch problematisch, wenn das Netzwerk über den Network-Manager gestartet wird nachdem man sich eingeloggt hat! Dauert länger und spinnt manchmal ;)

Also dies unbedingt für feste Arbeitsplatz-Stationen anwenden

Alle Network-Manager-Pakte deinstallieren:

aptitude search network-manager | sed 's/^i A/i  /' | awk '/^i/{ print $2; }' | xargs aptitude remove

alternativ könnte man das auch mit: aptitude purge network-manager loswerden.

Die Datei /etc/network/interfaces sollte in etwa so aussehen (ethx ist die enumerierte Bezeichnung der Ethernet-Netzwerkkarten):

# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp

Jetzt nochmal eine neue IP Adresse zuweisen lassen mit:

dhclient -v eth0

Des Weiteren sollte der Befehl dnsdomainname => kip.uni-heidelberg.de zurückgeben!

Falls dies nicht der Fall ist, fehlt in der /etc/hosts ein Eintrag mit dem kompletten DNS Namen. Kann mit "sed eingefügt werden:

sed "s/$HOSTNAME/$HOSTNAME.kip.uni-heidelberg.de  $HOSTNAME/" /etc/hosts >/etc/hosts.tmp && mv /etc/hosts.tmp /etc/hosts;  

Zeit - NTP

Um immer die "richtige" Zeit auf dem lokalen System zu haben, sollte diese regelmäßig über das Network Time Protocol (NTP) synchronisiert werden. Dies erledigt der ntp-daemon kurz ntpd. Für die Korrektur grober Abweichungen der Zeit ist ntpdate zuständig. Die beiden werden über folgende Pakete installiert:

aptitude install ntpdate ntp

Für ntpdate verwenden wir die selbe Konfiguration wie für ntp

Dazu in der /etc/default/ntpdate die Option: NTPDATE_USE_NTP_CONF auf yes setzten, und ntp über die /etc/ntp.conf konfigurieren:

cp /etc/ntp.conf /etc/ntp.conf.org
cat /etc/ntp.conf | sed 's/^server /#server /' > /etc/ntp.conf.new
mv -f /etc/ntp.conf.new /etc/ntp.conf
echo "
server ntp.kip.uni-heidelberg.de
server ntp2.kip.uni-heidelberg.de
server ntp2.urz.uni-heidelberg.de
server 129.206.119.12          # afsfile2.urz.uni-heidelberg.de
" >> /etc/ntp.conf

ntp stoppen, Zeit mit ntpdate aktualisieren und ntp wieder starten (weil beides gleichzeitig nicht geht):

service ntp stop; ntpdate-debian; service ntp start;

und die Hardware Clock (RTC) mit der aktuellen Zeit neu setzen:

/sbin/hwclock -w

SSH

Praktischerweise kann man die Ausgabe des X-Servers auf dem remote PC für den lokalen Client über ssh generell einzuschalten. Dies ermöglicht die Ausführung von grafischen Programmen auf entfernten Rechnern mit Ausgabe auf dem lokalen Bildschirm und spart das Tippen der -X Option beim Verbindungsaufruf.

Dies entweder mit einem Editor in der /etc/ssh/ssh_config einkommentieren, oder über die Kommandozeile einfügen mit:

echo 'Host *
      ForwardX11 yes
      ForwardX11Trusted yes' >> /etc/ssh/ssh_config

E-Mail - exim4

Wer möchte, dass sein System interne Mails an sein E-Mail-Konto verschickt (z.B. für automatische Benachrichtigungen oder Warnungen - siehe auch hier ), kann dafür den exim4 (standard Mail-Transport-Agent auf Debian-Systemen) wie folgt anpassen:

zunächst ein Test ob exim4 Paket auch wirklich installiert ist und installieren, falls es nicht der Fall sein sollte:

[  $(which exim4 > /dev/null 2>&1 )  ] || aptitude install exim4

dann die /etc/exim4/update-exim4.conf.conf neu erstellen:

cp /etc/exim4/update-exim4.conf.conf /etc/exim4/update-exim4.conf.conf.old
grep '^#' /etc/exim4/update-exim4.conf.conf.old > /etc/exim4/update-exim4.conf.conf
echo "
dc_eximconfig_configtype='smarthost'
dc_other_hostnames='$HOSTNAME.kip.uni-heidelberg.de'
dc_local_interfaces='127.0.0.1'
dc_readhost='$HOSTNAME.kip.uni-heidelberg.de'
dc_relay_domains=
dc_minimaldns='false'
dc_relay_nets='127.0.0.1/24'
dc_smarthost='mail.kip.uni-heidelberg.de'
CFILEMODE='644'
dc_use_split_config='false'
dc_hide_mailname='false'
dc_mailname_in_oh='true'
dc_localdelivery='mail_spool'" >>/etc/exim4/update-exim4.conf.conf

den Rechnernamen für ausgehende Mails in die /etc/mailname eintragen:

echo "$HOSTNAME.kip.uni-heidelberg.de" > /etc/mailname

und noch /etc/aliases anpassen damit Mails an root auch an den System-Benutzer (viele Programme laufen mit root-Rechten) geleitet werden:

cat /etc/aliases | sed 's/^\(root\|BENUTZERNAME1\|BENUTZERNAME2\):/#\1:/' > /etc/aliases.new

BENUTZERNAMEx hier mit dem entsprechendem Login-Namen, welcher auf dem jeweiligen System (PC) verwendet wird, ersetzen und die E-Mail Adresse, an die man die Nachrichten geschickt haben möchte (EMAILNAME1@kip.uni-heidelberg.de), eintragen:

echo "
root: BENUTZERNAME1, BENUTZERNAME2

BENUTZERNAME1: EMAILNAME1@kip.uni-heidelberg.de
BENUTZERNAME2: EMAILNAME2@kip.uni-heidelberg.de
" >> /etc/aliases.new

jetzt noch die Datei an den richtigen Ort bewegen:

mv /etc/aliases.new /etc/aliases

zum Schluss den Exim updaten und neu starten:

update-exim4.conf ; service exim4 restart

Ob es mit der Konfiguration geklappt hat und Mails wie gewünscht verschickt werden, kann auf der Kommandozeile getestet werden mit:

echo "Init-Mail-Test from Host '$HOSTNAME' - $RANDOM" | mail -s "Init-Mail-test from $HOSTNAME" root

kurz darauf sollte eine Testmail im gewähltem Postfach auf dem Mailserver ankommen - mit Absender BENUTZERNAME@RECHNERNAME.kip.uni-heidelberg.de

OpenAFS-Client

Diese Pakete werden für den Bau und die Nutzung des AFS-Clients benötigt:

aptitude install heimdal-clients openafs-client openafs-modules-source module-assistant openafs-krb5 dkms

Die folgenden Fragen können wie folgt beantwortet werden:

Kerberos Realm KIP.UNI-HEIDELBERG.DE
Hesiod-Domain .kip.uni-heidelberg.de
Kerberos Server ldap.kip.uni-heidelberg.de ldap2.kip.uni-heidelberg.de
Admin Server von Kerberos ldap.kip.uni-heidelberg.de
AFS-Zelle kip.uni-heidelberg.de
Größe des AFS-Cache (kb) 50000
/afs dynamisch ? Ja
Rechnernamen des Datenbank-Servers afsdb1.kip.uni-heidelberg.de afsdb2.kip.uni-heidelberg.de
Openafs-Client starten Ja (oder Nein wenn nicht erwünscht)

das Kernel-Modul kann aus den Quellen (meist unter /usr/src abgelegt) gebaut werden mit:

cd /usr/src ; module-assistant auto-install openafs 

- falls das nicht klappt, kann man es auch alternativ damit versuchen:

cd /usr/src; module-assistant prepare openafs && module-assistant build openafs && dpkg -i openafs-modules-*.deb

anschließend den OpenAFS-Client starten mit:

service openafs-client restart

falls der Dienst hier nicht starten will, evtl. mit etwas Nachdruck versuchen:

service openafs-client force-start

Der Inhalt von /afs sollte dynamisch generiert werden, deshalb das Pakt nochmal neu konfigurieren:

dpkg-reconfigure openafs-client    # => generate /afs dynamic => yes
fs newalias kip kip.uni-heidelberg.de
cp /afs/kip/common/etc/CellServDB /etc/openafs/
cp /afs/kip/common/etc/CellAlias  /etc/openafs/

nun noch die Kerberos-Konfiguration korrigieren (oder die aus dem AFS drüber bügeln):

cp -b /afs/kip/common/etc/krb5.conf /etc/

wenn alles passt, sollte der Aufruf von " kinit <BENUTZERNAME> " nach der Passwortabfrage ein Ticket-Granting-Ticket von Kerberos ausstellen, mit dem der Zugriff auf z.B. das zentrale Home-Verzeichnis unter /afs/kip/user/<BENUTZERNAME> möglich ist.