Linux Befehle (Orginal from: http://www.simline.de/doc/linux.html)

Kontrollsequenzen

Ctrl-C--> Programmabruch
Ctrl-D--> Dateineingabe
Ctrl-S--> Bildschirmausgabe anhalten
Ctrl-Q--> Bildschirmausgabe fortsetzen

Verzeichnisstruktur

/bin--> binaries
/dev--> devices
/etc--> etcetera (configs)
/home--> homes
/lib--> libraries
/tmp--> Temporary
/usr--> unix system resources(/src,/local)
var--> variable data (log,spool,tmp)

Themen

INITS/RUNLEVEL

0 -> aus
so.So.1 -> Single
2 -> Multiuser no NET
3 ->Multiuser NET
5 ->3+X
Konfiguration
/etc/inittab
startscripte -> in /etc/init.d
je Level Dir /etc/rc.d/rc0 - 6
hier Dienste = S(art) o. K(ill)
als vorzeichen zur konfigurationsdatei

Blockgeräte

showmount
zeigt gemountete Devices
-a alles
-e NFS Exportlist
-d dirs

mount/umount -optionen /dev/Device /mnt
-a alle in fstab eingetragenen
-r readonly
-t fstyp z.b. mount -t nfs 192...
Aufbau der /etc/fstab
1. dev/fd0
2. mountpoint /mnt/floppy
3. filesys auto
4. params defaults/noauto etc
5. backup in Tagen
6. Reihenfolge fschk Prüfungen (0,1,2)

fschk/e2fsch
Prüft Dateisystem
-y alles ja
-n alles nein
-f zwang
-p autorepair

dfOptionen Verzeichnisse
disk free
-h --> human readable
-i --> belegt + freie Inodes
-. --> gibt Platte des aktuelle Verzeichnisses

duOptionen Verzeichnisse
zeigt Platzverbrauch der Platten
-a alles Dateien
-c summe aller listings
-h human readable
-s Platzsumme der Dirs
-S schliesst Unterverzeichnisse aus

z.b. du -csh /var/*

fdisk /dev/Platte
Partitionierungstool
beenden schreiben -> w beenden ohne schreiben -> q option m zeigt optionen an

fdformat (/dev/fd0ú1722)
-n erzwingt Formatierung
Wechseldatenträger verschiedener Blockgrösse
mkfs
weisst Datenträger Filearchitekturen
mkfs.minix /dev/hda2
mkfs.exts2 /dev/hda2 -> mke2fs
Info über Dateisystem -> dumpe2fs
für MS-Kram --> mtools

Dateihandling


touch dateiname
legt leere Datei an

find startdir -option -kriterium
umfangreiche Suche
#/find /home -name dateiname
-name --> Dateiname
-user --> Benutzername
-group --> Gruppenname
-type --> typensuche
     f - gewöhnliche Datei
     d - Directory
     c - Charakter-Gerät
     b - Block-Gerät
     l - symlink
-print --> stdout
-exec kdo \; --> find /home -type d -exec chmod 750 {} \;

grep (-optionen regEx Datei)
sucht nach Textmuster
z.B. grep foo /etc/passwd/ ->findet foo in Datei
globale regEx
. -> einzelnes Zeichen
[ ] -> Zeichen innerhalb
[^ ] -> zeichen ausserhalb
* -> vorgestelltes Textmuster ([0-9]*)
^ -> Muster am Zeilenanfang
$ -> Muster am Zeilenende
optionen
-i ignore case
-c count
-l list
-v vice versa alles ausser

sed (-e 'Ausdruck1' -e 'Ausdruck2')
sucht und ersetzt
versteht vi cmds

tr(zeichenmenge1 zeichenmenge2)
sucht und ersetzt

Bsp.: tr a-z A-Z < /etc/passwd > ~/pass1
-s -> reduziert auf einmaliges Vorkommen
-d -> löscht aus Menge

sort-optionen -datei
sortiert
z.b: ls -S /bin | sort

head & tail
zeigt Dateiinhalte anfangs und ende
Standard(10) o. cat foo.dat |head -2
cat foo.dat |tail -4

locate -option suchstring
beschleunigte Suche --> updatedb (etc/updatedb.conf)
-i --> case insensitive
-q --> unterdrückt Fehlermeldungen
-r --> regular Expression

which Kommando
lokalisiert Kommandos ($PATH)
-a alle Vorkommen

cat Dateiname
gibt Inhalt einer Datei laufend aus (less/more)
opt. cat > dateiname --> Terminaleingabe wir in Datei gespeichert

cp dat1 dat2
kopiert Dateien oder Dir's
-r --> rekursiv
-R --> forciert rekursiv
-a --> rekursiv+Rechteerhalt
-i --> fragt nach
-f --> force

mv dat1 dat2
verschiebt Dateiein und Dir's
-i --> interactiv
-f --> focrce

mkdir Dirname
make Directory
-p --> parents werden erzeugt mkdir -p /home/lustig/donald

ls(ls -l |less)
-a --> verborgene Files listen
-l --> longlisting
-F --> signiert Dir's und Links
-R --> rekursiv
-i --> Inode Anzeige
-s --> Blockgrösse

ln Quelle Ziel
erzeugt Hardlink -> Ziel zeigt auf selben Block wie Quelle
(selbe Inode) nur innerhalb einer Platte
-F --> Hardlink auf Verzeichnisse
--
SymLink
ln -s Quelle Ziel
Partitionsübergreifend
physisch eigene Datei die Link auf Original enthält

alias
Definition global in /etc/bashrc
Definition local in /homedir/.bashrc
--> z.B. alias ll="ls -l"
#/alias --> zeigt definierte an
#/unalias aliasname --> macht unwirksam

Archive/Pakete

rpm -ivh filname
--checksig -> pgpcheck
-i -> installation
-U -> Upgrade
-F -> if exist refresh
-e -> entfernt
--nodeps -> ignoriere Abhängikg.
--force -> erzwingt
-V -> Verifiziert
--
-q
-a -> Anfrage
-c -> confdat
-d -> doks
-f -> file zu welchem RPM
-i -> Info
-l -> Filelist
-s -> status
z.B. rpm -qa |grep text

tgz-Archive-xzvf file
-c create
-x extract
-t inhalt
-v verbose
-f output in file
-z gzip
-Z compress
tar -czvf file archiv.tgz
tar -czvf file /dev/fd0


dump/restore
liest und schreibt Blockweise
dump 0uaf archiv Quelle

cpio
sichern:find Quelldir |cpio -o > archiv.dat
rück: cpio -ivd < archiv.dat

anzeige: cpio -it < /dev/fd0

Umleitung/Pipes/Filter

script
script dateiname
zeichnet alle Bashkommandos auf

> (kdo > datei)
Standardausgabe in Datei umleiten (überschreibt)

>> (kdo >> datei)
Standartausgabe an Datei anhängen

| PIPE (kdo1 | kdo2)
Umleitung eines Kommandos an ein Zweites

tee tee (datei)
Ausgabe in Datei und auf Bildschirm ausgeben

xargs (-option -kommando -kommandooption)
übergibt Daten aus Befehl an xargs zur Verwendung
in weiteren Befehlen
z.B. find / -name core | xargs -p rm -f - löscht im Interaktiven Modus
ls | xargs wc -l zeigt Ergebniss von ls und Ergebniss wird gezählt.
Dateien mit besimmten Textmuster finden
find / * |xargs grep hallo 2>/dev/null

less zeigt Inhalt einer Datei
Seitenweise an, innerhalb v
drücken startet vi


Hilfe/MAN

apropos
gibt verfügbare MAN Pages zum Begriff aus

makewhatis
aktualisiert die aproppos SB

man(man 5 syslog.conf)
sections --> whatisstring=verfügbare Sections
1. user level cmd's
2. system calls
3. library fcts
4. device drivers
5. file formats (configs)
6. games
7. verschiedenes
8. operations maintenance

whereisKommando
listet zusätzlich zu which
die Vorkommen von MAN PAGES


Benutzer/Gruppen/Dateirechte


useradd,userdel,
groupadd,groupdel,groupmod,

Richtlinien,
usermod,/etc/login.defs (einfache Passwortregeln), /etc/default
mkpasswd user -> erzeugt password
UID und GID --> /etc/passwd
Gruppendefinitionen --> /etc/group
Passwörter verschlüsselt speichern --> /etc/shadow

chage change age
chown user:gruppe dateien(Dirs)
Change Owner
-R --> Rekursiv

chgrp gruppe dateien(Dirs) Change Group
-R --> Rekursiv

sudo
/etc/sudoers <- config
z.B.
Cmnd_Alias kommando8=netconfig
--
meier hostname=kommando8,/usr/sbin/user*
aufruf durch meier:
sudo /usr/sbin/useradd -m -u 520 nuname


lastlog
zeigt Benutzerlogins

chmod Rechte Dateien
-R --> Rekursiv Klassen: u,g,o,a
Verändern: +,-,=
Zugriffsrecht: r,w,x --> Bsp.: chmod o+r datei
oktal: r=4,w=2,x=1 Bsp.: chmod 7(u)6(g)4(o) file
--
StickyBit:
SUIDUSER=4 -> chmod 4711 -> Programm = SU-Rechte
SUIDGROUP=2 -> chmod 2760 -> programme = Gruppenident, Verzeichnisse = rekursiv Gruppenzugehörigkeit
SUIDOTHER=1 -> chmod 1760 -> auf Verzeichnis = Dateirechte vorrang vor Verzeichnisrecht, auf Prog = no swap

id
zeigt eigene NutzerID

who(who am i)
gibt angemeldete USER aus

Der PAM Standard
Legt Authentifizierungsmethoden fest
/lib/security/pam_*.so <-- hier liegen die Sourcen an die die Parameter aus den *.conf Scripten übergeben werden
z.B. pam_cracklib.so und pam_pwdb.so legen Passwortregeln fest.
die pam_nologin.so wacht über das vorhandensein einer /etc/nologin Datei welche nur Root den Zugriff ermöglicht, den Rootzugriff auf verschiedene Terminals beschränken, kann man mit der pam_securetty.so (/etc/securetty)


/etc/pam.d/dienstname (z.B. ppp oder login) <-- in diesen Dateien werden die zu ladenden PAM Module den Diensten zugeordnet
z.B. die Übergabe der Passwortregeln in der Datei /etc/pam.d/login:
password required /libsecurity/pam_cracklib.so rninlen=9 retry=3\ type=LINUX ...

/etc/security/*.conf <-- hier sind Configurationsdateien wie:
access.conf <-- übergibt an /lib/pam.d/pam_access.so regelt die Beziehungen user/tty/host
time.conf <-- übergibt an /lib/pam.d/pam_time.so regelt Zugriffszeiten für User (muss in der login geladen werden)
limits.conf <-- übergibt an /lib/pam.d/pam_limits.so hier können Einschränkungen bezüglich CPU Zeit Speicherzuteilung etc. gemacht werden.

Netzwerk

ntalk(chat)
als xinetd deamon starten
#talk root@192.168.4.7 <- dort muss mein Rechner bekannt sein (hosts)

ifconfigeth0:0 192.... netmask 255....
zeigt und konfiguriert Netzwerkinterfaces
-up, -down etc.

route add -net 134.56.0.0 netmask 255.255.0.0 gw 134.98.4.1 dev eth0
Datei zur Aktivierung-> /proc/sys/net/ipv4/ip_forward:
0=nein 1=ja konfiguriert flüchtig die Routingtable
dauerhaft -> /etc/sysconfig/static-routes
add -> new Route
del -> old Route
net -> is a network
host -> is a host
netmask, gw,
-n -> zeigt routingtable
Default Gateway route add default gw 192.168.1.254

ping quelle
erzeugt ICMP echo Request
-i --> intervall
-b --> broadcast ping -b 192.168.4.255
-f --> fload nix gut etc.

arpAdress Resolution
-n --> numerische Ausgabe ohne Namen
-a --> Informationen über einen speziellen Host
-d --> löscht Eintrag
-f --> list Infos aus Datei
-s --> manueller Eintrag

finger finger user
gibt Info über Benutzer (muss als Dienst laufen)

iptraf
Textbasierter Netzwerkmonitor (Netzlast)

netstat
Infotool rund um Netzwerkinterfaces routeconfig etc.
-i --> interfaces
-r --> routing table
-ep --> statusanzeige einer Verbindung (lsof -s)
z.B. netstat --inet -an <- zeigt alle Dienste die lauschen

ntop
Textbasierter Netzwerkmonitor einfache Bedienung

Netzwerkkonfiguration
(siehe auch ifconfig) Textbasiert --> netconfig
Grafisch --> neat
Einstellungen in Dateien:
/etc/modules.conf <-- Hardware
mii-tool <-- Hardware
/etc/default
/etc/sysconfig/networking/ifcfg-eth0 (speziell z.B. 2.Gateway)
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network<-enthält Hostnamen global (Gateway)

zusätzliches virtuelles Netz -> anlegen einer 2. ifcfg-eth0:0 in .../network-scripts
traceroute quelle
listet routing zu quelle
(mtr kombi aus ping und traceroute)

tcpdump
Textbasierter Netzwerkmonitor

xinetd
verwaltet den start versch. Internetdienste
/etc/xinetd.conf <- includiert DIR /etc/xinetd.d

DIR /etc/xinetd.d <- enthält die startscripte
disable=yes <- Service startet nicht!

! alt inetd -> alles in /etc/inetd.conf
siehe auch hosts.allow hosts.deny

hosts.allow & hosts.deny
hosts.allow vor hosts.deny
hosts deny
in.telnetd:ALL EXCEPT 192.168.2.0/255.255.255.0: twist echo "nix Zugriff"
in.ftpd:192.168.4.7:twist echo "nix Zugriff"
dhcp
Konfigurationsdateien:
/etc/dhcpd.conf ->
aus /usr/share/doc/dhcp-2.0/dhcpd.conf.sample
händisch
/var/lib/dhcp/dhcpd.leases <- touch
feste leases
-> RAM /etc/dhcpd.conf:
host
station1
MAC
Dynamische Leases
innerhalb /etc/dhcpd.conf
Range StartIP -> Stop IP
startdebug -> usr/sbin/dhcpd -d -f clientstatus -> /sbin/pump -s

DNS - Service
primär: authoritativ NS
slave: liest zones von primär ist trotzdem authoritativ
caching only:
/etc/named-conf <- hauptconf
!Achtung in-addr.arpa muss an eigene
IP angepasst werden
start -> /etc/init.d/named start
Eintrag des Nameservers erfolgt
in /etc/resolv.conf
/etc/hosts
<-- Hostliste (lokal)

NFS
need services: portmap+nfs
freigaben: /etc/exports
/allgemein 192.168.4.6/255.255.255.0(rw)
/allgemein 192.168.4.0/255.255.255.0(ro)
(showmount -e NFSSERVER
clientzugriff: mount server:/freigabe /mnt/bitch
fstapzugriff: server:/freigabe /mnt/bitch nfs soft,bg 00
soft,bg -> verhindert hängenbleiben
zugriff auch hosts.allow ..deny

SAMBA
/etc/samba/smb.conf
Die smb.conf
[global]

workgroup = WINDOMAIN

netbios name = Simon.de

server string = Simon.de

path= /windir

domain logons = Yes

domain master = Yes

security = user (share)

encrypt passwords = Yes

smb passwd file = /etc/samba/smbpasswd

username map = /etc/samba/smbusers

log file = /var/log/samba/%m.log

os level = 99

---------
[homes]

comment = Home Verzeichnise

#create mode = 0600

#directory mode = 0700

browsable = yes

writeable = yes

#hide unreadable = yes

#valid users = %S

#path = %H

#map archive = yes

----------
[printers]

path=/tmp

guest ok = yes

printable = yes


[netlogon]

comment = Network Logon Service

domain logons = yes

path /etc/samba/netlogon

----------
[freigabename]

comment = freigabe

path = /home/simon

----------
/etc/samba/smbpasswd.conf
Nutzerkonten für Domainmodell
# useradd testuser  -> eintrag in /etc/passwd und shadow

# smbpasswd -a testuser -> eintrag in /etc/samba/smbpasswd(bedingt existierenden user)

Maschinenkonten für Domainmodell
Anmeldung an SAMBA PDC bedingt Maschinenkonto.
echo RECHNERNAME$:x:5??:5??::/dev/null:/bin/false > /etc/passwd

smbpasswd -a RECHNERNAME

----------
/etc/samba/smbusers.conf
enthält aliases für zu benutzende Konten
unix_name = SMB_name1 SMB_name2

root = admin administrator

---------------------
datei-server -> ja
druck-server ->ja
PDC -> ja
BDC -> nein
WinAuthServer -> ja
masterbrowser -> ja
backupbrowser -> nein
Prim.WINS -> ja
sek. WINS -> nein
----------------------
smbd -> daemon
nmbd -> netbios
smbclient <- SAM/CIFS/SMB
smbmount -> mountet smbshares
smbprint -> xclient auf SMBDruckserver
smbpasswd -> Sambabenutzer
start als Service,xinetd,oder manuell

APACHE starten /etc/init.d/httpd start/stop
/usr/sbin/httpd
Konfiguration
httpd.conf <- erklärt sich selbst
-ServerType->standalone
-Listen->zus.Portnummer <-überschreibt Port
-Port->Portnummer
-serverName
-DocumentRoot /var/www/html/
-mod_userdir->lohnt für intranet
-mod_dir.c -> DirectoryIndex index.html index.php
-AccessFileName .htaccess
Zugriffssteuerung
in httpd.conf ->
Options ALL (ExecCGI FollowSymlinks Includes IncludeNOEXEC INDEXES)
AllowOverride All (None,Limit,Options)
->.htaccess im Documentroot
-> Zugriff Forbidden
-allow from 192.168.4.0/255.255.255.0
-deny from student08)
-> Passwortschutz
- AuthName "bennenung"
- AuthType Basic
- AuthUserFile /etc/httpd/.htpasswd
- require user simon
-(require group Gurke)
#!htpasswd -c /etc/httpd/.htpasswd simon <-erzeugt Passwortdatei
(echo Gurke:simon,willi > /etc/httpd/.group)
Virtuelle Hosts
-IP-basiert
Verschiedene IP Adressen auf verschiedene/gleiche DocumentRoot/ServerName
ifconfig eth0:0 ....
<VirtualHost 192.168.4.233>
DocumentRoot /home/simon/
ServerName clearscreen
<
-Namensbasiert
beliebig viele Änderungen in DocumentRoot und ServerName jedoch immer gleiche IP Adresse
NameVirtualHost 192.168.1.8
<VirtualHost 192.168.4.8>
DocumentRoot /home/simon/
ServerName clearscreen
</VirtualHost>
-Portbasiert
genau wie Names jedoch zusätzliche Portangabe muss Listen

Sendmail setzt funktionierende Namensauflösung voraus
-> 1. MUA (MultiUserAgent) test@example.com
-> 2. sendmail <-> DNS wer ist MX-Host für example.com?
-> 3. Antwort DNS -> MX ist 192.168.0.254
-> 4. sendmail schickt an Server
-> 5. server legt in /var/spool/mail/nutzer mail ab
Dateien:
/etc/sendmail.cf<-siehe m4
/etc/mail/sendmail.mc <- Quelldatei f. M4
-hier muss DAEMON_OPTION mit dnl auskommentiert werden.
-Bsp.: m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
/etc/mail/aliases
/etc/mail/local-host-names <- früher sendmail.cw absenderfaken
/etc/mail/access.[db]<- !relaying
-optionen= OK,RELAY,REJECT,DISCARD (spammer@aol.com REJECT)
/etc/virtusertable&generic -> umschreiben empfänger&sender
befehl->mailq (zeigt ausgänge)
-> sendmail -q -v (force send)
Forwarding -> jeweils im Home
~/.forward <- neue@ziel.de
Nutzer sind als locale Benutzer auf dem Mailserver anzulegen daraus folgt -> /var/spool/mail/nutzerdatei
damit hosts Mails vom Server abholen können ist das imap Paket zu installieren, dieses ermöglicht POP3, POP3S, IMAPS, IMAP via xinetd.
---> fetchmail -> Kommandozeilentool POP3

NIS Network Information Service
Pakete: ypbind, ypserv, yptools
/etc/sysconfig/network -> NISDOMAIN=Kurs
/etc/yp.conf -> ypserver 192.168.4.1
start
#domainname kurs
#chkconfig ypbind on
#service ypbind start

anpassen Makefiles unter /var/yp

SQUID(Proxy Service)
/etc/squid/squid.conf
http_port 3128 <- Standardport
ab Zeile 1400 Zugriffconfiguration
acl netz src 192.168.4.8/255.255.255.255
Zeile 1418 -> http_access allow netz
squid -z <- baut cache auf -> /var/spool/squid
Um alle Anfragen innerhalb eines Netzes an Port 80 nach aussen automatisch auf 3128 umleiten.
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on


SHELL

wildcards
* --> beliebige Zeichenkette
? --> ein beliebiges Zeichen
~ --> homedir
~username --> homedir des users

set (unset)
zeigt alle gesetzten Variablen

echo $var
z.B. echo $PATH

history zahl Befehlshistorie gespeichert in homedir/.bash_history

Initialisierung d. Shell
1. /etc/profile
2. /etc/bashrc
3. $HOME/.profile
4. $HOME/.bashrc

pwd
print working directory

setterm -optionen
-foreground --> schrift
-background --> hintergrund

vi(m) Dateiname
einfacher editor (vimtutor)
.exrc in Homedirectory platzieren
set autoindent
set showmode
set number
set ic
set list zeigt Tabs und Returns
Puffer = :split Documentname <-- bewegen mit Strg&w


Printer

Gerät
nichtblockorientiertes Gerät
/dev/lp0/
Einrichtung
printconf-tui --> Textbasiert
printconf-gui --> Grafikbasiert
Konfigurationsdatei
/etc/printcap

Daemon/Spooler
- linuxdaemon -> lpd
- System V -> lpsched
- linuxspooler -> lpr
- System V -> lp

Verwaltung
Ausdruck:
lpr Druckername Datei
-#n -> wieviel
-m -> mail nach Abschluss
-p -> nummeriert

lpq(Druckername) <-opt.
zeigt Jobs
(System V -> lpstat)

lprmDruckername jobid
löscht Druckerauftrag

lpc
verwaltet Drucker
enable druckername -> inkl. Spool
disable druckername -> inkl. Spool
tart drucker -> inkl. Spool
stop drucker -> inkl Spool
clear druckername -> löscht Jobs
topq druckername jobid -> Job to Top
status druckername
pr
formatiert
pr -h "Asterix, unser Held" dateiname |lpr -Pdrucker

Prozessverwaltung

w
listet Benutzerprozesse

free --> zeigt Speicherauslastung an
top --> text Taskman

ps -optionen
listet Prozesse
ps -ef oder
BSD
ps -axu |less
ps -axu |grep Prozessname
-e --> alle Prozesse
-f --> full info
-l --> long list
-t --> TerminalProzesse
-u --> Userprozess

pstree --> Prozessbaum

Prozess im Hintergrund Kommando &

nice -nice-Wert Kommando -Kommandooptionen
legt Prozesspriorität fest

renice neuer-nice-Wert
legt Prozesspriorität neu fest

kill PID
sendet beenden Signal an Prozesse
-9 --> forciert
-1 --> terminal unterbrechung
z.B.: kill -axu |grep Suchname

killall Prozessnamen

service deamon option
startet deamons händisch
verfügbare Dienste anzeigen mit chkconfig --list |less
options:
-start, -stop, restart
Bsp:service nfs start
chkconfig
runlevel -> chkconfig dienst on Zeigt gestartete Services
--list
--level

lilo
siehe auch init.rd/kernel
ergänzen:
password=string
restricted
/sbin/lilo schreibt lilo neu
-t -v -v zeigt Änderungen an
-u device deinstallieren
Konfiguration /boot/boot.b
/boot/map
= Blocklisten
lilo.conf
image = kernel
label = name
other = name
loader = ntloader z.B
table = device
append = Parameter
Fehlercode
L Hex -> sek. loader noload
LI -> sek. loader load not exec
LIL -> mapdatei falsch
LIL? -> adress sek. loader falsch
LIL- -> mapdatei korrupt

getty
managt (auch serielle)terminals
Einträge in /etc/inittab
/sbin/mingetty tty5
/sbin/mgetty -r -s 38400 ttyS0

SyslogDaemon
bedient /var/log/
konfig-> /etc/syslog.conf

cron-Daemon
Benutzereinstellungen:
cron.allow, und cron.deny
systemweit -> /etc/crontab
z.B.:
01 * * * * root run-parts /etc/cron.hourly
-daily, -weekly, -monthly
edit mit crontab -e

at 12:20 < cmd
startet verwaltet Jobs
zeitgebunden
atq -quest
atrm -remove


Diskettenhandling

fdformat /dev/fd0
mkfs.arg /dev/fd0
mkfs.msdos /dev/fd0
Bootdisk
mkboodisk 2.4.7-10 oder mkbootdisk 'uname -r'
Installationsdisk
dd if=/mnt/cdrom/images/boot.img of=/dev/fd0 (ungemountet)
-> Kickstartdiskette erzeugen bootnet.img <- RHcdrom1 /images
-hier sollten alle .msg ausser general gelöscht werden.
-in der Datei syslinux.cfg ändern: + default linux ks=floppy + promt und Timeout löschen -> ksconfig -> erzeugt ks.cfg -> auf bootfloppy speichern

by the way

dddiskdump
z.b. dd if=/images of=/dev/fd0

--- XWindow
/etc/X11/x86config
strg+alt+backspace = X startet neu
strg+alt+(+)(-) = verändert auflösung
verbinden zu X extern
--Zielhost--
xhost +(-)192.168.4.2-> wem erlaube ich den export
--local--
#/export DISPLAY=192.168.4.2:0
#/xbspanwdg &

Remote mit X arbeiten
xdmcp muss in dem jeweiligen config File (/etc/X11/xdm/  .../gdm oder .../kdm) aktiviert sein
dazu muss die Zeile in der der DisplayManager auf Port 0 gesetzt wird deaktiviert werden, oder entsprechend die Option aktiviert werden (true)
Zugriffskontrolle ist nun über die Datei /etc/X11/xdm/Xaccess einzustellen
z.B.
hostname
!hostname.domain.de
*.hostname.de
Clientseitiger Aufruf erfolgt nun:
X -query 192.168.4.1 :1 startet auf nächstem freien Terminal (tty8)
Xnest -guery 192.168.4.1 :1 startet im Fenster extra Fenster



Generierung eines Kernels
1. cd /usr/src/linux-2.4.7-10
2. vi Makefile -> hier ergänzen "Extraversion=-LCARS"
3. make oldconfig -> .config <-need für xconfig
4. make mrproper -> (make clean)
5. make xconfig -> text:menuconfig
6. make dep -> berechnet Abhänigkeiten
7. make bzImage -> /usr/src/linux.../arch/i386/book/bzImage
8. make modules
9. make modules_install -> /usr/src/linux.../lib/modules/
10. cp .../arch/i386/boot/bzImage /boot/vmlinuz-2.4.7-LCARS
11. cp /usr/src/System.map /boot/System.map-LCARS
12. mkinitrd /boot/initrd-2.4.7-LCARS.img 2.4.7-LCARS
13. vi /etc/lilo.conf > eintragen > /sbin/lilo
optional -> /etc/modules.conf

booten über ntloader
-> image erzeugen: # dd if=/dev/sda2 bs=512 count=1 of=/mnt/win/bootsec.lin
-> optional: lilo.conf+: boot=/mnt/win/bootsek.lin
-> ergänzen in boot.ini: c:\bootsek.lin="=/\=GREEN SHOE=/\="

W2K verbinden
W2K Rechner in /etc/hosts eintragen
portmap
service smb start
smbfs <- maskiert Unixdatstrom mount -t smbfs -o username=home,password=home 192.168.4.253:/home /mnt/bitch