Knowledge Base Nr: 00132 linux.txt - http://www.swe-kaiser.de

Linux: Tips&Tricks (Samba, DHCP, diskless-boot, Kernel, serielle protokolle)

  
stx/etx-treiber laden:
rmmod direct
insmod -f ./direct

vnc benutzen:
http://153.95.169.113:5800

Verzeichnisbäume mit Erhalt der Dateiattribute von Rechner zu Rechner kopieren:
- packen: 'tar czf komprimiertesfile.tgz verzeichniss'
- kopieren über FTP, Samba oder sonstwie
- entpacken: 'tar xzf komprimiertesfile.tgz' bzw. 'tar xjf komprimiertesfile.bz2'

root-Rechte für ein programm vergeben (damit kann es von einem anderem benutzer als root ausgeführt werden):
- chmod 6777 printfile
- chown root.root printfile

server raid-controller bios:
- raid5 array anlegen im expressmodus evtl. vorher alles im expertmodus löschen
- größe etwas kleiner als vorgeschlagen (falls später platte getauscht wird)

linux installieren:
- eine große partition und eine swap partition
- englisch/dt.tastatur/timezone/software:entwicklertools
- graphic: vesa 1024/768 70hz
- network: eth0 change: ip usw.
- printer
- web: proxy port 8080 installieren
- user anlegen u. gruppenrechte ändern

ftp konfigurieren:
/etc/ftpusers eintragen aller user die KEIN ftp machen dürfen - evtl. user löschen
network/basic-start/stop services ftp aktivieren
system runlevel editor: inetd frisch starten

telnet konfigurieren:
network/basic-start/stop services telnet aktivieren
system runlevel editor: inetd frisch starten

samba konfigurieren:
network/basic-start/stop services swat, bootps aktivieren
system runlevel editor: on with custom configuration: smb, smbfs, nmb starten
swat in browser mit 'http://localhost:901' starten - proxy muss aus sein!
user anlegen mit gleichem namen wie linux-user
shares anlegen mit entsprechenden rechten
share [homes] besonderheit: von windows sharen als share 'username' - mapped home-verzeichniss des users

printserver einrichten unter samba:
- erst mit yast2 dann mit swat in browser mit 'http://localhost:901'

uhrzeit vom server:
- network/basic-start/stop services daytime u. time service starten
- system runlevel editor: inetd frisch starten
- client: in ~/.bashrc (evtl. mit chmod 6777 root rechte:vergeben!)
#################
/usr/sbin/netdate -v 153.95.169.113
/sbin/clock -wu
#################

kernel downloaden und bauen:
- download von 'http://www.kernel.org/' (neuesten kernel 'F' (full source) wählen)
- nach /usr/src kopieren
- mit 'tar xvjf filename' auspacken
- mit 'ln -s linux-2.4.20 linux' link erstellen
- 'cd linux'
- 'make clean'
- 'make menuconfig'
(mit space-taste '*' selektieren)
Kernelkonfiguration:
- code maturity level options: 'prompt for development and incomplete code/drivers'
- block Device: Network Block Device support
- network options: IP kernel level autoconfiguration
- Network options: IP BOOTP support ein, DHCP u. RARP aus
- network device support: EtherExpressPro/100 support
- file systems: network file systems: NFS file system support
- file systems: network file systems: Provide NFSv3 client support
- file systems: network file systems: Root file system on NFS
- console drivers: Frame buffer support: VESA VGA graphics console
- 'make dep'
- 'make bzImage'
- kopieren mit 'cp /usr/src/linux/arch/i386/boot/bzImage /tftpboot'

nfs-boot:
- system runlevel editor (yast2): nfsserver starten
? - yast (nicht yast2!): network advanced NFS server:
? - '/etc/exports' konfigurieren (siehe unten)
? - start nfs server aktivieren
- yast2: network/basics: start/stop services: tftp aktivieren
- pxelinux.0 file in ordner /tftpboot(anlegen) kopieren (chmod 777 für verzeichniss und datei)
von http://syslinux.zytor.com/ oder anderem server kopieren
- datei /tftpboot/pxelinux.cfg/default anlegen:
- server /etc/hosts: client muss eingetragen sein

- server: /etc/hosts:
####################
153.95.169.114 lulliclient.faw lulliclient
####################

- evtl. auf server: /etc/fstab:
####################
/dev/sda3 /netclients reiserfs defaults 1 2
####################
- /tftpboot/pxelinux.cfg/default:
####################
DEFAULT kernelname_des_zu_bootenden_kernels_in_tftpboot root=/dev/nfs rw nfsaddrs=153.95.169.113 vga=0x305
####################
(achtung: auf client in /etc/X11/XF86Config muss DefaultColorDepth auf 8 sitzen -> evtl. kontrollieren!)

- auf dem server datei /etc/exports editieren (*.faw ist wichtig! /etc/hosts muss dazu passen - full qualified name):
####################
/netclients *.faw(rw,no_root_squash,sync)
####################

- auf dem server datei /etc/bootptab editieren:
####################
global.prof:\
:sm=255.255.255.0:\
:gw=153.95.169.254:\
:ht=ethernet:\
:bf=pxelinux.0:


#
lulliclient:\
:hd=/tftpboot:\
:tc=global.prof:\
:ha=0090275D5679:\
:ip=153.95.169.221:\
:sa=153.95.169.113:\
:rp=/netclients/153.95.169.221,rsize=4096,wsize=4096:
####################

- datei /etc/dhcpd.conf editieren:
####################
# Sample configuration file for ISC dhcpd
#
# DHCP configuration file. ISC DHCP server v2.0
#

ddns-update-style ad-hoc;

# Global options
option subnet-mask 255.255.255.0;
default-lease-time -1;
filename "pxelinux.0";
next-server 153.95.169.113;
option routers 153.95.169.254;

subnet 153.95.169.0 netmask 255.255.255.0 {
range 153.95.169.114 153.95.169.115;
}

# Definition of PXE-specific options
# Code 1: Multicast IP address of bootfile
# Code 2: UDP port that client should monitor for MTFTP responses
# Code 3: UDP port that MTFTP servers are using to listen
# for MTFTP requests
# Code 4: Number of secondes a client must listen for activity before
# trying to start a new MTFTP transfer
# Code 5: Number of secondes a client must listen before trying to
# restart a MTFTP transfer
option space PXE;
option PXE.mtftp-ip code 1 = ip-address;
option PXE.mtftp-cport code 2 = unsigned integer 16;
option PXE.mtftp-sport code 3 = unsigned integer 16;
option PXE.mtftp-tmout code 4 = unsigned integer 8;
option PXE.mtftp-delay code 5 = unsigned integer 8;

# PXE specific options
class "pxeclients"
{
match if substring (option vendor-class-identifier, 0, 9) =
"PXEClient";
option vendor-class-identifier "PXEClient";
# At least one of the vendor-specific option must be set.
# We set the MCAST IP address to 0.0.0.0 to be PXE compliant
option PXE.mtftp-ip 0.0.0.0;
vendor-option-space PXE;
}


# Subnet-specific options
subnet 153.95.169.0 netmask 255.255.255.0
{
host pxetest1
{
hardware ethernet 00:90:27:5d:d5:56:79;
fixed-address 153.95.169.114;
option root-path "/netclients/153.95.169.221,rsize=8192,wsize=2048";
}
}
####################

- yast2|system|runleveleditor: dhcp set/reset(enable service) und start und save!
oder: dhcp server in console starten (debug): dhcpd eth0 -d -f

- 221.tgz nach netclients kopieren und auspacken mit 'tar xzf 221.tgz'
- common.tgz nach netclients kopieren und auspacken mit 'tar xzf common.tgz'

- client: /etc/fstab:
####################
fawlxs02:/netclients/common/usr /usr nfs defaults,rsize=8192,wsize=2048 0 0
fawlxs02:/netclients/common/opt /opt nfs defaults,rsize=8192,wsize=2048 0 0
fawlxs02:/netclients/common/oracle /opt/oracle nfs defaults,rsize=8192,wsize=2048 0 0
####################

- client: /etc/hosts:
####################
153.95.169.113 fawlxs02.faw fawlxs02
####################

scripte auf dem client:
- ~/.xinitrc -> startet x-programme z.b. forms
- ~/.profile -> wird bei jedem shellstart (?shell) ausgeführt
- ~/.bashrc -> wird bei jedem shellstart (bash) ausgeführt
- ~/setenv -> environment für forms setzen