Luku 23 RAID
Listaus 1
yum install mdadm
Listaus 3
mdadm -C /dev/md0 /dev/sda /dev/sd[c-j] -n 9 -l 5
mkfs.ext3  /dev/md0
mkdir /raid
mount /dev/md0 /raid
Listaus 5
mdadm --detail --scan >> /etc/mdadm.conf
echo "/dev/md0 /raid ext3 defaults 0 2" >> /etc/fstab
Listaus 6
echo "MAILADDR root@localhost" >> /etc/mdadm.conf
chkconfig --level 2345 mdmonitor on
service mdmonitor on
Listaus 8
mdadm /dev/md0 -f /dev/hdd1
mdadm /dev/md0 -r /dev/hdd1
Listaus 9
mdadm /dev/md0 -a /dev/hdd1
Listaus 10
# Sammutus
umount /dev/md0
mdadm -S /dev/md0
# Käynnistys
mdadm -As /dev/md0
mount /dev/md0
Listaus 11
mdadm --add /dev/md1 /dev/sdb3
mdadm --grow --raid-devices=4 /dev/md1
Listaus 12
mdadm --grow /dev/md0 --size=max
Listaus 13
resize2fs /dev/md0
Listaus 14
mdadm -C /dev/md0 /dev/sdb2 missing -n 2 -l 1
mkfs.ext3 /dev/md0
mkdir /raid
mount /dev/md0 /raid
mount / -o remount,ro
cp -raxv / /raid
vi /raid/etc/fstab
Listaus 15
mdadm /dev/md0 --add /dev/sda2
cat /proc/mdstat
Luku 25 DVD/CD-R(W)-asemien ja -levyjen käyttö
Listaus 3
cdrecord -v -dev=/dev/cdrom -speed=16 -eject so52.iso
Listaus 4
cdrecord -v dev=/dev/cdrom speed=4 -isosize /dev/scd1
Listaus 5
cdrecord -v -eject speed=8 dev=/dev/cdrom -multi test.iso
Listaus 6
cdrecord dev=/dev/cdrom -msinfo
0,27139
Listaus 7
mkisofs -o test2.iso -Jr -V Session2 -C 0,27139 -M 0,1,0 /files/path/
Listaus 8
mkisofs -o test2.iso -Jr -V Session2 -C `cdrecord dev=0,1,0 -msinfo` \
-M 0,1,0 /files/path/
Listaus 9
mkisofs -o cd2.iso -J -r -T -A IT_LINUX_2002_2 -P \
IT_PRESS -p Raimo_Koski -V IT_LINUX -x cd2/rhmoved cd2
Listaus 10
mkisofs -b dosutils/autoboot/cdboot.img \
         -eltorito-alt-boot -b dosutils/autoboot/cdboot-fi.img \
         -eltorito-alt-boot -b dosutils/autoboot/cdboot-de.img \
         -eltorito-alt-boot -b dosutils/autoboot/cdboot-fr.img \
         -eltorito-alt-boot -b dosutils/autoboot/cdboot-es.img \
         -eltorito-alt-boot -b dosutils/autoboot/cdboot-it.img \
         -eltorito-alt-boot -b dosutils/autoboot/cdboot-sv.img \
         -c boot.cat -o spec1.iso -J -r -T -A Spectra_LINUX_1.2_1 \
	 -P Probatus -p Raimo_Koski -V ``Spectra LINUX 1.2 #1'' p12_1
Listaus 11
mkdir /mnt/loop1
mount cd2.iso /mnt/loop1 -o loop
ls /mnt/loop1
Listaus 12
#!/bin/sh
mkdir "$1_wav"
pushd "$1"
for i in [0-9][0-9]*.mp3
do
   mpg123 -w ../"$1_wav"/`basename $i mp3`wav $i
done
popd
Listaus 13
cdrecord -v -dev=/dev/cdrom -eject -speed=4 -dao -pad *.wav
Listaus 14
cdrecord -dev=/dev/cdrom -speed=10 -blank=fast -eject
Listaus 15
#!/bin/sh
mkdir $1
cd $1
cdparanoia -B
# Haetaan vain ensimmäinen sisällysluettelo.
freedbtool.py get -n1
dos2unix toc
# generoidaan skripti, joka uudelleennimeää tiedostot
awk 'BEGIN{FS="="
# Lisätään tyhjä rivi alkuun, jotta ääkköset jne. eivät aiheuta
# virhettä skriptin käynnistyksessä
         print > "toc.sh" }
     /TTITLE/{sub("TTITLE","")
     $1++
     if ($1 < 10) $1="0"$1
     gsub(" ","_",$2)
     gsub("\\(","\\\(",$2)
     gsub("\\)","\\\)",$2)
     gsub("\\&","\\\&",$2)
     print "mv track"$1".cdda.wav " $1"_"$2 ".wav"}' toc  | tr  \' _ >> toc.sh
# Uudelleennimeävä skripti     
sh toc.sh
eject /dev/cdrom
Listaus 16
cdparanoia -d /dev/cdrom1 -B
freedbtool.py get -n1 -d "discid /dev/cdrom1"
eject /dev/cdrom1
Listaus 17
sh ../mkwav.sh Pink_Floyd-Wish_you_were_here
Listaus 18
#!/bin/sh
for i in * 
do if [ -d $i ]
     then 
     cd $i 
     for j in *.wav 
     do 
	 lame $j `basename $j .wav`.mp3 
	 rm -f $j 
     done 
     cd .. 
   fi 
done
Listaus 19
for i in `ls -sr | awk '{print $2}'`
Listaus 20
#!/bin/sh
ls */* | grep -v id | grep -v \.wav | grep -v index | \
    grep -v toc | grep -v \.mp3
ls */track* -l
Listaus 21
#!/bin/sh
cd "$1"
# Tarkistetaan onko kappaleiden tiedot sisältävä toc-tiedosto olemassa
if [ -f toc ]
then
# Ei viitsitä tehdä työtä toistamiseen
 if [ -f id3tag.sh ]
  then
   echo $1 has already been id3tagged
  else
# generoidaan skripti, joka lisää id3-tietueet mp3-tiedostoihin
    awk 'BEGIN{FS="="
# Lisätään tyhjä rivi alkuun, jotta ääkköset jne. eivät aiheuta 
# virhettä skriptin käynnistyksessä
           print > "id3tag.sh"}
     /DTITLE/{sub("DTITLE=","")
             if (RECORD == ""){
             split($0,arr," / ")
	     ARTIST=arr[1]
	     RECORD=arr[2]
             }
# DTITLE voi olla myös jaettu kahdelle riville, yhdistetään loppu
	     else
             RECORD=RECORD $0
	     }
     /DYEAR/{YEAR=$2
	    }
     /TTITLE/{sub("TTITLE","")
# Tarkistetaan, onko TTITLE jaettu kahdelle riville
     if (TRACK == $1)
       TITLE=TITLE $2
     else
       TITLE=$2
     TRACK=$1
     $1++
     if ($1 < 10) $1="0"$1
     print "if [ -f "$1"* ] ; \
            then id3tag -a\""ARTIST"\" -A\""RECORD"\" \ 
                 -y"YEAR" -t"$1" -s\""TITLE"\" "$1"*.mp3 ; \
            fi "
     }' toc  >> id3tag.sh
# id3tag-tiedot lisäävä skripti
    sh id3tag.sh
  fi
fi
Listaus 22
for i in * ; do mktag.sh $i ; done
Listaus 24
[root@rk3 mnt]# dvd+rw-format -force /dev/cdrom
* DVD+/-RW format utility by , version 4.2.
* 4.7GB DVD+RW media detected.
* formatting 1.9/
Listaus 25
dd if=/dev/cdrom of=DVD-image.iso conv=noerror
mkdir DVD-image
mount DVD-image.iso DVD-image -o loop
Listaus 26
mplayer -dvd-device DVD-image dvd://1 -slang en
Listaus 27
mencoder -dvd-device DVD-image dvd://1 -slang en -o Barry_Lyndon.avi \
-oac copy -ovc lavc -lavcopts vcodec=mpeg4:vqscale=5
Listaus 28
mplayer tmp/VIDEO_TS/VTS_01_1.VOB  -vf cropdetect
Listaus 30
mencoder tmp/VIDEO_TS/VTS_01_1.VOB -oac copy  -vf crop=688:480:32:48 \
 -ovc lavc -lavcopts \
 vcodec=mpeg4:vbitrate=2000:v4mv:mbd=2:trell:cmp=3:subcmp=3:mbcmp=3:autoaspect:vpass=1
 -o test.avi
Listaus 31
mencoder dvd://1 -dvd-device=tmp -chapter 12-13 -oac copy  -vf crop=688:480:32:48 \
 -ovc lavc -lavcopts \
 vcodec=mpeg4:vbitrate=2400:v4mv:mbd=2:trell:cmp=3:subcmp=3:mbcmp=3:autoaspect:vpass=1
 -o test.avi
Listaus 33
#for i in `seq 1 27` ; do mplayer -ao pcm dvd://1 -chapter $i ; done
for i in `seq 1 27` ; do transcode -i /dev/dvd -x dvd -T 1,$i,1 -a 0 -y wav -m track${i}.wav ; done
Listaus 34
for j in *.wav ; do lame $j `basename $j .wav`.mp3 ; done 
Luku 31 Shorewall -- Monimutkaisen palomuurin määrittely
Listaus 1
rpm -i http://www.invoca.ch/pub/packages/shorewall/4.0/shorewall-4.0.13/\
shorewall-4.0.13-1.noarch.rpm \
http://www.invoca.ch/pub/packages/shorewall/4.0/shorewall-4.0.13/\
shorewall-perl-4.0.13-1.noarch.rpm
Listaus 2
# For information about entries in this file, type "man shorewall-interfaces"
#
# The manpage is also online at
# http://shorewall.net/manpages/shorewall-interfaces.html
#
###############################################################################
#ZONE   INTERFACE       BROADCAST       OPTIONS
net     eth0            detect          tcpflags,dhcp,routefilter,nosmurfs,logmartians
loc     eth1            detect          tcpflags,nosmurfs
dmz     eth2            detect
Listaus 3
vpn     tap0        detect
Listaus 4
vpn     ipv4
Listaus 5
#SOURCE         DEST            POLICY          LOG             LIMIT:BURST
#                                               LEVEL
vpn     dmz     ACCEPT
vpn     $FW     ACCEPT
vpn     loc     ACCEPT
vpn     net     ACCEPT
Listaus 6
#ACTION          SOURCE  DEST  PROTO  DEST  SOURCE  ORIGINAL  RATE   USER/   MARK
#                                     PORT  PORT(S) DEST      LIMIT  GROUP
DNS/ACCEPT loc   $FW
Listaus 7
ACCEPT  loc     $FW      tcp     53
ACCEPT  loc     $FW      udp     53
Listaus 8
#INTERFACE              SOURCE          ADDRESS         PROTO   PORT(S) IPSEC   MARK
eth0    eth1
Listaus 9
#TYPE                   ZONE    GATEWAY         GATEWAY
openvpnclient net     xxx.xxx.xxx.3
Listaus 10
#TYPE                   ZONE    GATEWAY         GATEWAY
openvpnserver:tcp       net     0.0.0.0/0
Listaus 11
#EXTERNAL       INTERFACE   INTERNAL    ALL         LOCAL
#                                       INTERFACES
xxx.xxx.xxx.45  eth0        10.0.0.45   no          no     #webmail.example.com
Listaus 15
grep  Shorewall /var/log/messages