Operatsioonisüsteemi Debian GNU/Linux kasutamine: erinevus redaktsioonide vahel
4346. rida: | 4346. rida: | ||
1. Proxmox PVE keskkonnas töötab lvm põhisel storage'l Debian v. 12 virtuaalne arvuti |
1. Proxmox PVE keskkonnas töötab lvm põhisel storage'l Debian v. 12 virtuaalne arvuti |
||
− | 2. Alustatakse eemalt pv abil piiratud kiirusega faili kopeerimist (etteruttavalt on siin toodud ära ka |
+ | 2. Alustatakse eemalt pv abil piiratud kiirusega faili kopeerimist (etteruttavalt on siin toodud ära ka kopeeriv cat programmi edukas exit code; fail.img-4 on 36 MB suur) |
$ cat fail.img-4 | ssh root@192.168.110.246 'pv -q -L3500K | cat > /root/tere4; echo $?' |
$ cat fail.img-4 | ssh root@192.168.110.246 'pv -q -L3500K | cat > /root/tere4; echo $?' |
||
4369. rida: | 4369. rida: | ||
8. käivitatakse virtuaalne arvuti |
8. käivitatakse virtuaalne arvuti |
||
+ | |||
9. kõnealune fail, mis näiliselt õnnestus edukalt kopeerida on väiksema suurusega (või suurusega null) |
9. kõnealune fail, mis näiliselt õnnestus edukalt kopeerida on väiksema suurusega (või suurusega null) |
||
Redaktsioon: 22. november 2023, kell 00:50
Debian GNU/Linux
Debian GNU/Linux ehk lühidalt Debian on vaba operatsioonisüsteem, mis kasutab Linux või FreeBSD tuuma ning töötab paljudel populaarsetel riistvaralistel platvormidel, sealhulgas 32 bit ja 64 bit x86 arvutid.
Debiani sobib kasutada nii serveritel kui ka töökohaarvutitel sh süleritel. Debianile on iseloomulik
- korrektselt ilmuvad turvaparandused (teated ilmuvad ka bugtraqis)
- eeskujulik paketihaldus, sh automaatne pakettide autentsuse valideerimine kontrollsummade abil (MD5sum, SHA1, SHA256)
- rahulik stabiilsete versioonide ilmumise tsükkel, erinevalt närvilisest ja suhteliselt pikk tugi eelmisele stabiisele versioonile
- väärikas kasutajaskond (ingl. k. community)
- tarkvara jagatakse kompileeritud ja lähtetekstipakettide kujul
Debiani kodulehe http://www.debian.org/ tiitel ütleb, et tegemist on universaalse operatsioonisüsteemiga, mille tunnistuseks on ehk tõepoolest asjaolu, et Debiani on kasutatud mitmete teiste nn Linuxi distributsioonide aluseks.
Debian on loodud Ian Murdock'i poolt aastal 1993, kusjuures operatsioonisüsteemi nimi on tuletatud autori ja tema abikaasa Debra eesnimedest.
Operatsioonisüsteemi paigaldamise ettevalmistamine
Debiani kasutamiseks on vajalik sobiv riistvara, näiteks tõenäoliselt praktiliselt suvaline 32 bit või 64 bit x86 arvuti sobib, alatest 486 PC mudelitest kuni HP DL 585 G5 ja IBM x3250 taoliste serveriteni. Riistvara sobivuse määrab põhiliselt operatsioonisüsteemi tuum, 2013 aastal on stabiilsel Debiani versioonil 7.0 selleks Linux tuuma versioon 3.2.0.
Lisaks tuleks enne operatsioonisüsteemi paigaldamist otsutada, mida arvutiga teha soovitakse, sh võiks kujutada ette milline saab olema
- arvuti nimi ja ip aadress
- kõvaketaste kasutus
- kas arvutit kasutatakse serveri või töökohana
- kuhu arvuti füüsiliselt paigutatakse
- kes vastutab arvuti haldamise eest (tarkvara uuendamine, süsteemi monitoorimine ja varundus/taaste)
Üks otsekohene moodus operatsioonisüsteemi paigladmiseks on kasutada Debiani peeglites (ingl. k. mirror) jagatavat CD tõmmisest valmistatud bootivat CD plaati, kuna kõige populaarsem platvorm on x86, siis märgime, et
- 64 bit AMD ja Inteli arvutitel kasutamiseks sobib Debiani amd64 arhitektuur
- 32 bit AMD ja Inteli arvutitel kasutamiseks sobib Debaini i386 arhitektuur
Kuivõrd reeglina AMD ja Inteli 64 bit arvutid on 32 bit-ühilduvad, siis kasutades 32 bit operatsioonisüsteemi tarkvara 64 bit riistvaral käitub arvuti nagu 32 bitine arvuti. Kuigi eelpool on mainitud nimeliselt AMD ja Intelit kehtib öeldu ka teiste tootjate x86 platvormide kohta. Järgnevas on näited toodud konkreetsuse huvides 64 bit keskkonna kohta, kuid põhimõtteliselt toimub tegevus samamoodi ka 32 bit keskkonnas toimetades. Lisaks saab valida mitmete nö eriotstarbeliste tuumade hulgast, nt i386 non-pae, tuuma nimes kasutatakse '486' sel juhul.
Niisiis, kui kasutada on 64 bit x86 riistvara tuleks kopeerida esimene amd64 arhitektuuri CD tõmmis, näiteks aadressilt http://cdimage.debian.org/debian-cd/7.0.0/amd64/iso-cd/debian-7.0.0-amd64-CD-1.iso ning kirjutada CD plaadile. Plaadi kirjutamisel peab jälgima, et tõmmist ei kirjutata plaadile mitte nagu suurt faili, vaid kirjutatakse tõmmisena, vastasel korral arvuti ei boodi sellelt plaadilt. Debian v. 7.0 on rangelt eristatud vabad ja suletud koodiga draiverid, kõige nähtavamalt mõjutab see tõenäoliselt operatsioonisüsteemi paigaldamise protseduur kui on tegemist vastava riistvaraga, http://www.debian.org/releases/stable/amd64/ch06s04.html.en.
USB pulgalt paigaldades tundub, et uuemal ajal on .iso tõmmised nii ettevalmistatud (isohybrid techniques), et need saab lihtsalt dd programmiga kopeerida pulgale ja töötab, https://wiki.debian.org/BootUsb
# dd if=/tmp/debian-7.0.0-amd64-CD-1.iso of=/dev/sdc bs=4M
Kui Debian paigaldatakse arvutile, kus juba on operatsioonisüsteem installeritud, nt Win7, siis tõenäoliselt õnnestub installeriga töötamise ajal Win7 failisüsteemide ja partitsioonide suurusi kahandada, tehes nii ruumi Debiani jaoks. Selleks tuleb kõvaketta seadistamise menüüvalikus öelda 'Manual' ja sealt edasi. Kirjanduse põhjal saab öelda, et vastvaid NTFS failisüsteeme ei ole tarvis eelnevalt defragmenteerida.
Windows operatsioonisüsteemi all sobib USB pulk tekitada UUI (Universal USB Installer) programmiga, mille kasutamise juhised leiab aadressilt http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/.
Operatsioonisüsteemi paigaldamine
Tuleb arvestada, et operatsioonisüsteemi paigaldamisel hävivad eelnevalt kõvaketastel olnud andmed. Peale paigaldusmeedialt arvuti käivitamist käivitatakse automaatselt operatsioonisüsteemi installer, mis näeb tekstrežiimis välja selline (alternatiivina esineb installeri kasutajaliides ka graafilises vormis)
Installeri kasutamine on intuatiivne, paigaldamise tulemusena tekib iseseisvalt bootiv arvuti. Paigaldamise käigus sooritatakse järgmised otsustused ja tegevused
- kõvaketakste kasutamine
- võrguseadistused
- tarkvarakomplekti valik (standard, töökoht, server)
- juurkasutaja parool
- paigaldatakse alglaadur (ingl. k. bootloader) GRUB
Peale paigaldamist saab arvutisse konsoolilt sisse logida ja teatatakse midagi sellist
Linux loomaaed 2.6.26-2-xen-686 #1 SMP Wed May 16 23:50:09 UTC 2009 i686 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Sun Mar 29 23:06:53 2009 from aix.auul mart@loomaaed:~$
Oluline on tähale panna, et muu hulgas räägib Debian oma kasutustingimustest
- Debian GNU/Linux süsteemis sisalduv tarkvara on vaba tarkvara
- Debian GNU/Linux süsteemil kasutamisega ei kaasne garantiid
Paigaldamise lõpus küsitakse, kas on soov osaleda nn populaarsus-võistluses, kord nädalas hakkab arvuti saatma paigaldatud pakettide nimekirja arendajatele, tulemused avaldadakse aadressil http://popcon.debian.org/.
Operatsioonisüsteemi paigaldamine üle serial konsooli
Serial konsooli eksitab splash, sellest saab lahti vajutades Esc. Seejärel tuleb sisestada
boot: install console=ttyS0,9600
Community
Debian GNU/Linux osas suhtlemiseks või niisama tutvumiseks saab kasutada selliseid ressursse
- Veebikoht - http://www.debian.org/
- Wiki - http://wiki.debian.org/
- Postiloendid asuvad aadressil http://lists.debian.org/
- Uudised - http://www.debian.org/News/project/
- Turvaparandusi puudutavad teadaanded - http://www.debian.org/security/
Operatsioonisüsteemi varundamine ja taaste
Operatsioonisüsteemi varundamiseks sobib kasutada programmi rsync kopeerides kogu failisüsteemi va kataloogid
- /tmp
- /proc
- /sys
teisele arvutile.
Süsteemi taastamiseks tuleb arvuti bootida nt RIP-Linuxi CD plaadilt, seadistada võrk, kopeerida varundatud süsteem ja paigaldada bootloader.
IP aadress
Staatilise IP aadressi saab Debianile seadistada failist
/etc/network/interfaces
Tüüpiliselt võiks see välja näna järgnev
# The loopback interface auto lo iface lo inet loopback # The first network card - this entry was created during the Debian installation # (network, broadcast and gateway are optional) auto eth0 iface eth0 inet static address 192.168.1.10 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1
Arvuti nimi ja resolver
Arvutil peab oleme korrektselt seadistatud nimi ning nimesüsteemi kasutamine. Arvuti nimi on kirjas failis /etc/hostname, näiteks
bassein
ning failis /etc/hosts on kirjas nö staatiline nimelahendus, mis töötab päri-ja pöördteisenduse jaoks, lihtsal juhul on seal sellised read (kusjuures esimest rida tuleb kasutada sõna-sõnalt)
127.0.0.1 localhost.localdomain localhost 192.168.1.20 bassein.loomaaed.tartu.ee bassein
Peale nende failide sisu muutmist tuleb muudatuste kehtestamiseks öelda
bash# hostname bassein
Õnnestunud muudatuse kinnituseks ütleb arvuti nii
bash# hostname bassein bash# hostname -f bassein.loomaaed.tartu.ee
Selleks, et arvuti lahendaks muid nimesid, peab olema kirjas nimeserveri aadress failis /etc/resolv.conf
nameserver 192.168.1.254
Kusjuures, kui failis /etc/resolv.conf kasutada mitut sellist rida erinevate nimeserverite aadressidega, siis proovitakse igal nimelahendusel neid järjest läbi kuni jõutakse esimese töötavani. Vaikimisi oodatakse vastust 5 sekundit. Täiendavat infot saab resolveri manuaalist öeldes
# man resolver
Tihtipeale kasutatakse keskkonnamuutujat PS1 prompti kujundamiseks ja mille väärtuse moodustamisel kasutatakse omakorda käsku hostname. Seetõttu muutub promptis oleva arvuti nime väärtus peale välja ja uuesti sisselogimist.
resolvconf
Lenny sisaldab lisaks nö staatilisele resolverile dünaamilist resolvconf tarkvara, asjakohane allikas on aadressil http://wiki.debian.org/NetworkConfiguration
Tarkvara paigaldamiseks tuleb öelda
# apt-get install resolvconf
Osa olulisi faile asub kataloogis
/etc/resolvconf
resolvconf oskab /etc/network/interfaces failist kasutada dns-nameservers parameetrit, nt selliselt
... auto eth0 iface eth0 inet static address 192.168.10.199 gateway 192.168.10.254 netmask 255.255.255.0 broadcast 192.168.10.255 dns-nameservers 192.168.10.254
Kellaaeg
Arvuti kellaaeg on korrektselt juhul kohalik aeg. See sõltub ajavööndi seadistusest, mis võiks Eestis olla
# ls -l /etc/localtime lrwxrwxrwx 1 root root 34 Jul 15 21:40 /etc/localtime -> /usr/share/zoneinfo/Europe/Tallinn
Vajadusel tuleks eemaldada /etc/locatime ja öelda
# ln -s /usr/share/zoneinfo/Europe/Tallinn /etc/localtime
Seadistamiseks sobib kusjuures kasutada pigem ehk utiliiti dpkg-reconfigure öeldes
# dpkg-reconfigure tzdata
Kellaaja esitamine ja seadistamine programmiga date
Töötava süsteemi käest saab küsida aega öeldes
$ date Sat Jan 8 14:07:25 EET 2011
Lisaks saab küsida nt nö kaks nädalat tagasi, sellest on vahel kasu nt varundamisega seotud skriptides
$ date -d "2 weeks ago" Sat Dec 25 14:07:25 EET 2010
Kellaaja esitamine ja seadistamine programmiga rdate
Openrdate http://sourceforge.net/apps/mediawiki/openrdate on OpenBSD projekti rdate tarkvara port Linuxile. Tarkvara paigaldamiseks tuleb öelda
# apt-get install rdate
Kellaja ühekordne seadmine toimub öeldes
# rdate ajaserver.loomaaed.tartu.ee
rdate võimaldab suhelda kahte tüüpi ajaserveritega
- http://tools.ietf.org/html/rfc868 server - tavaliselt töötab inetd abil ja teenindab portidel 37/tcp või 37/udp
- http://tools.ietf.org/html/rfc2030 - tavaliselt töötab pordil 123/udp
rdate võtmetega saab juhtida, millist režiimi klient parasjagu kasutab, nt
$ rdate -4 -p -n ntp.ut.ee Sat Jan 8 14:09:44 EET 2011
kus
- -4 - IPv4 protokoll
- -p - ainult küsida aega ja mitte seadistada
- -n kasutada rfc2030 ajaserverit
Vaikimisi pöördub rdate ajaserveri poole kasutades rfc686 protokolli ja 37/tcp porti.
Kellaaja esitamine ja seadistamine programmiga ntpdate
Tarkvara paigaldamiseks tuleb öelda
# apt-get install ntpdate
ntpdate sobib kellaaja küsimiseks rfc2060 protokolli toetavalt serverilt (kasutades 123/udp porti) ning kohaliku süsteemi kellaaja seadmiseks. Ainult kellaaja küsimiseks sobib kasutada võtit -q
$ ntpdate -p 2 -q ntp.ut.ee ntp.aso.ee server 2001:bb8:2002:500:211:25ff:fe8f:7d64, stratum 2, offset 0.011371, delay 0.10133 server 193.40.5.113, stratum 2, offset 0.000782, delay 0.03786 server 195.80.105.226, stratum 1, offset 0.000217, delay 0.03523 8 Jan 15:35:55 ntpdate[20870]: adjust time server 195.80.105.226 offset 0.000217 sec
kus
- -p 2 - igalt toodud ajaserverilt küsitakse aega kaks korda
- -q - aega ainult küsitakse ja ei seadistata
- vastust küsitakse kolmelt ajaserverilt kuna ntp.ut.ee nimel on A ja AAAA kirjed
Algupärane ntpdate programm ise ei kasuta ühtegi seadistusfaili, kuid Debian keskkonnas on lisaks programm ntpdate-debian, mida juhib seadistusfail /etc/default/ntpdate mille abil saab juhtida, milliseid ajaservereid kasutatakse. Vaikimisi on seadistatud rida
NTPDATE_USE_NTP_CONF=yes
mis tähendab, et kasutatakse ajaservereid ntp paketi tarkvara seadistusfailist /etc/ntp.conf. Kui ntpd programm töötab, siis ntpdate keeldub aega seadmast.
Kellaaja esitamine ja seadistamine tarkvaraga ntp
Kellaaja sünkronisseerimiseks sobib kasutada paketti ntp
# apt-get install ntp
NTP tarkvara juhivad kaks seadistusfaili
- /etc/default/ntp - milles sisaldub vaikimisi rida ja mis tähendab, et ntpd programmi käivitamisel seadistatakse kellaaeg nö kiiresti
NTPD_OPTS='-g'
- /etc/ntp.conf - seadistusfail, kus näidatakse ajaserverid jms parameetrid
Seadistusfailist /etc/ntp.conf tuleb leida read
server 0.debian.pool.ntp.org server 1.debian.pool.ntp.org server 2.debian.pool.ntp.org server 3.debian.pool.ntp.org
ning soovi korral asendada need oma teenese pakkuja nime kasutava ühe reaga, nt
server ajaserver.loomaaed.tartu.ee
Kulub mõni aega, nt 10 minutit kuni ntp töötamine stabiliseerub, sellest annab tunnistust, et ntptrace vastab kus arvuti asub ntp hierarhias, nt midagi sellist
# ntptrace -n 127.0.0.1: stratum 3, offset -0.001927, synch distance 0.038145 192.168.30.8: stratum 2, offset -0.000066, synch distance 0.020106 192.168.30.15: stratum 1, offset 0.000010, synch distance 0.002270, refid 'GPS'
võib ka küsida sarnaselt (see väljund ei ole eelmisega näitega kooskõlas)
# ntpq -np remote refid st t when poll reach delay offset jitter ============================================================================== 10.192.0.53 193.40.5.113 3 u 47 64 37 0.646 -22.260 73.828
Kellaaja esitamine ja seadistamine tarkvaraga openntpd
ntp tarkvarale on populaarne alternatiiv openntpd, üks praktiline erinevus on nt selles, et ntp sisaldab ntptrace utiliiti. OpenNTPD ei sisaldu Debian Squeeze paketihalduses.
Märkused
Selleks, et Xen domU kellaaega mõjutaks domU sees töötav ntp server tuleb öelda
bash# sysctl -w xen.independent_wallclock=1
või lisada faili /etc/sysctl.conf rida
xen.independent_wallclock=1
Leap sekundite käsitlemine toimub tavaliselt kahel võimalikul viisil
- lisatakse äkki sekund ära
# dmesg .. [14255112.244045] Clock: inserting leap second 23:59:60 UTC
- määritakse sekundi lisandumine pikema perioodi peale
Võrgu seadistamine seadistusfailidega
Võrguseadmete seadistamine toimub faili /etc/networks/interfaces abil. Selle faili sisu alusel kehtestatakse võrguseadistused arvuti alglaadimisel või öeldes arvuti töötamisel
# /etc/init.d/networking restart
Failis saab kasutada sellised sektsioone
lo ja eth võrguseadme seadistamine
auto lo iface lo inet loopback
auto eth0 iface eth0 inet static address 192.168.10.10 gateway 192.168.10.254 netmask 255.255.255.0
dummy võrguseadme seadistamine
auto dummy0 iface dummy0 inet static address 192.168.13.251 netmask 255.255.255.0 network 192.168.13.0 broadcast 192.168.13.255
Kui on soov kasutada enam kui ühte dummy seadet, tuleb laadida dummy moodul sarnaselt
# modprobe dummy numdummies=5
VLAN kasutamist tutvustatakse punktis http://kuutorvaja.eenet.ee/wiki/VLAN_kasutamine#Linux.27i_kasutamine_mode_trunk_re.C5.BEiimis
Silla kasutamine
Silla (ingl. k. bridge) kasutamine toimub paketis bridge-utils utiliitidega, paigaldamiseks tuleb öelda
# apt-get install bridge-utils
Nt tekitame silla eth1 ja tap0 seadmetega
# brctl addbr br0 # brctl addif br0 eth1 # brctl addif br0 eth2
Silla omadusi saab küsida öeldes
# brctl show bridge name bridge id STP enabled interfaces br0 8000.00064f320035 yes eth1 eth2
Silla kasutamiseks peavad olema seadmed üleval, nt silla üles tõstmiseks tuleb öelda
# brctl br0 up
Silla saab eemaldamiseks tuleb sild alla lasta, eemaldada seadmed ning lõpuks sild
# brctl br0 down # brctl delif br0 eth1 # brctl delif br0 eth2 # brctl delbr br0
Sillale saab seadistada ka ip aadressi, nii nagu paljudele muudele võrguseadmetele
# ifconfig br0 192.168.1.200 netmask 255.255.255.0
Tulemusena paistab
# ifconfig br0 br0 Link encap:Ethernet HWaddr 00:17:42:02:0b:8a inet addr:192.168.1.250 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::5c63:deff:fe92:e125/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:38 errors:0 dropped:0 overruns:0 frame:0 TX packets:17 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:2008 (1.9 KiB) TX bytes:3101 (3.0 KiB)
kusjuures bridge mac aadressina kasutatakse vaikimisi kõige väiksemat mac aadressi bridge külge ühendatud seadmetest, st see aadress võib muutuda bridge töötamise käigus. mac aadressi saab ka muuta, nt
# ifconfig br0 hw ether 70:01:68:00:12:50
STP (Spanning Tree Protocol) sisselülitamiseks tuleb öelda
# brctl stp br0 on
ja silla STP info esitamiseks
# brctl showstp br0 br0 bridge id 8000.00064f320035 designated root 8000.00064f320035 root port 0 path cost 0 max age 20.00 bridge max age 20.00 hello time 2.00 bridge hello time 2.00 forward delay 15.00 bridge forward delay 15.00 ageing time 300.01 hello timer 1.49 tcn timer 0.00 topology change timer 0.00 gc timer 5.49 flags eth1 (1) port id 8001 state disabled designated root 8000.00064f320035 path cost 4 designated bridge 8000.00064f320035 message age timer 0.00 designated port 8001 forward delay timer 0.00 designated cost 0 hold timer 0.00 flags eth2 (2) port id 8002 state forwarding designated root 8000.00064f320035 path cost 4 designated bridge 8000.00064f320035 message age timer 0.00 designated port 8002 forward delay timer 0.00 designated cost 0 hold timer 0.48 flags
kust on näha, et
- antud juhtumil on silla üks komponent välja lülitatud
Sillaga seotud mac aadresside esitamiseks tuleb öelda
# brctl showmacs br0 port no mac addr is local? ageing timer 2 00:06:4f:32:00:35 yes 0.00 1 00:06:4f:63:e3:d7 yes 0.00 2 00:0c:42:07:1a:45 no 0.04 2 00:16:3e:00:00:01 no 83.98 2 00:1c:c0:38:89:07 no 22.58 2 70:01:68:00:11:45 no 227.43 2 70:01:68:01:02:49 no 33.48
Kasulikud lisamaterjalid
- http://en.wikipedia.org/wiki/Bridging_(networking)
- http://tldp.org/HOWTO/BRIDGE-STP-HOWTO/index.html
- http://en.wikipedia.org/wiki/Spanning_tree_protocol
- http://en.wikipedia.org/wiki/LAN_switching
- http://backreference.org/2010/07/28/linux-bridge-mac-addresses-and-dynamic-ports/
Võrgu seadistamine programmiga ip
Programm ip võimaldab Linuxi kaasaegsetes 2.4 ja 2.6 tuumades sisalduva võrguliideste toega oluliselt paindlikumalt ümber käia kui ifconfig. Näited käsudest, mida on ohutu anda töötavas masinas.
Seadmed
# ip link show 1: lo: mtu 16436 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:07:e9:0b:d3:26 brd ff:ff:ff:ff:ff:ff
Seadme aadressid
Aadresside esitamine
# ip address show eth1 3: eth1: mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:07:e9:0b:d3:d3 brd ff:ff:ff:ff:ff:ff inet 10.0.6.5/24 brd 10.0.6.255 scope global eth1 inet 10.0.6.6/24 brd 10.0.6.255 scope global secondary eth1:1
Ruuting
Ruutingute esitamine
# ip route show 10.0.5.0/24 dev eth3 proto kernel scope link src 10.0.5.1 10.0.6.0/24 dev eth0 proto kernel scope link src 10.0.6.1 ...
Ruutingu lisamine
# ip route add 192.168.10/24 dev eth0
Ruutingu eemaldamine
# ip route del default via 10.0.14.1 dev eth0
Misc
Näited kästudest, mida on ehk ohutu anda töötava masina kasutuses mitte olema võrguseadme suhtes
# ip addr add 100.100.100.4/16 dev eth4 # ip addr del 100.100.100.4/16 dev eth4
nn ifconfig'i aliased
Osade teadlaste arvates on see tänapäeval täiesti igand rääkida ethx:x aliastest. Et lihtsalt saab seadmele omistada mitu aadressi ja kogu lugu. Kui aga on juhtunud selline õnnetu lugu, et seadmel on nt eth0:1 aadress, siis saab seda eemaldada lihtsalt sedasi
# ip addr del 195.80.96.214 dev eth0
Java kasutamine
Java ehk JVM (Java Virtual Machine) tarkvara kasutamiseks on Debianis mitmeid võimalusi. Kui on kavatsus jääda paketihaldusest paigaldatud tarkvara kasutamise juurde, siis tõenäoliselt on otstarbekas lasta paketihaldusel töötada ja kasutada Debiani Java pakette. Kui aga kasutatakse mingit eraldiseisvat tarkvara, nt Tomcat, GlassFish vms Java rakendusserverit, siis on ehk otstarbekas kasutada http://java.sun.com/ veebikohast kopeeritud Javat.
Java kasutamine paketihaldusest
Debiani Lenny paketihalduses on olemas sellised Java kompilaatorit sisaldavad Java implementatsioonid
$ aptitude search "?provides(java-compiler)" p gcj - The GNU Java compiler p gcj-4.2 - The GNU compiler for Java(TM) p gcj-4.3 - The GNU compiler for Java(TM) p jikes-classpath - clean room standard Java libraries - wrapper for jikes p jikes-kaffe - Wrapper for jikes using Kaffe classes p kaffe-jthreads - A green threads enabled version of the Kaffe VM p kaffe-pthreads - A POSIX threads enabled version of the Kaffe VM p sun-java5-jdk - Sun Java(TM) Development Kit (JDK) 5.0 p sun-java6-jdk - Sun Java(TM) Development Kit (JDK) 6
Tarkvara paigaldatakse nagu ikka Debiani pakett ning kasutatakse nagu ikka Javat.
Sun Java kasutamine
Sun on Java autor ja üks oluline edasiarendaja, kuid on ka teisi Java implementatsioone. Sun Java saab kasutaja kopeerida aadressilt http://java.sun.com/ kus saab tutvuda ka Java kasutustingimustega.
Sun jagab Javat üsna erinevates pakendustes, kusjuures erinevus on kolmel nö teljel
- millisele funktsionaalsusele on orieteeritud - SE (Standard Edition), EE (Enterprise Edition), ME (Micro Edition)
- kas tegu on arendusvahendi või nö kasutusvahendiga - nt SDK (Software development kit) vs JRE (Java Runtime Environment), viimane sisaldub esimeses
- versiooninumber
Erinevad versioonid 2009 suve seisuga
- 1.3 - vana versioon, mida kasutavad ehk vaid mõned nö riistvaras javat sisaldavad seadmed
- 1.4 - mõned nö legacy rakendustega Tomcat rakendusserverid võiksid seda veel kasutada
- 5 (vahel nimetatakse 1.5) - täiesti veel kasutuses, mõnda rakendust soovitatakse kasutada sellel versioonil
- 6 (vahel nimetatakse 1.6) - viimane stabiilne versioon
Tundub, et juhtumil kui ei ole teada millist Javat kasutada, siis on sobiv valida SE SDK versioon 1.6, mille saab kopeerida http://java.sun.com/ veebikohast liikudes
Downloads -> Java SE -> Java SE Development Kit (JDK 6 Update 16) -> Download
ning täpsustada platvorm, nt
- Linux64 - 64 bit Linux
- Linux - 32 bit Linux
Seejärel valida nimekirjast .bin
File Description Name Size Java SE Development Kit 6u16 jdk-6u16-linux-x64-rpm.bin 74.04 MB Java SE Development Kit 6u16 jdk-6u16-linux-x64.bin 78.08 MB
Kasutamiseks tuleb otsustada, millises kataloogis JVM asuma hakkab, olgu see nt /usr/local/java6, selleks tuleb minna juurkasutajana kataloogi /usr/local
# cd /usr/local # sh jdk-6u16-linux-x64.bin vastata küsimustele jaatavalt # ln -s /usr/local/tekkinud-katalooginimi /usr/local/java6
Java kasutamiseks tuleb seada ja kui peetakse vajalikuks, lisada teele
$ export JAVA_HOME=/usr/local/java6 $ export PATH=/usr/local/java6/bin:$PATH
Seejärel saab nt küsida Java versiooni öeldes
$ /usr/local/java6/bin/java -version java version "1.6.0_16" Java(TM) SE Runtime Environment (build 1.6.0_16-b01) Java HotSpot(TM) 64-Bit Server VM (build 11.3-b02, mixed mode)
Iceweaseli Java lisa
Iceweaseli ehk Firefox 3.x versiooniga java kasutamiseks on i386 keskkonnas olemas plugin
# apt-get install sun-java5-plugin
või
# apt-get install sun-java6-plugin
Lokaat
Lokaatide kasutamiseks tuleb paigalda pakett locales
# apt-get install locales
ning edasiseks seadistamiseks saab öelda, asjakohased seadistusfailid on iseenesest /etc/environment ning /etc/default/locale
# dpkg-reconfigure locales
Süsteemi vaikelokaat võiks olla ehk C serverite puhul, aga see on kasutaja otsustada kuidas ta paremaks peab.
Lokaatide nimekirja esitamiseks tuleb öelda, nt selline võiks olla üsna tüüpiline tulemus
# locale -a C POSIX et_EE.utf8
Kui seadistada lisaks nt ru_RU.utf8 ja fr_FR.utf8, siis saab lugeda vene ja prantsuse keelseid manuaale. Nt öeldes nö tavalises xtermis
$ export LANG=fr_FR.utf8 $ uxterm
mis paistab selline
Fail:Os-debian-kasutamine-1.gif
Lisaks töötab nt w3m ja lynx uxterm aknas vene keeles.
CD plaadi kirjutamine
Niisama plaadile kirjutamiseks tuleb esmalt moodustada failidest tõmmis öeldes näiteks
# genisoimage -o ../tommis.iso .
ning seejärel kopeerida tõmmis plaadile öeldes
# cdrecord -v speed=10 dev=/dev/cdrom tommis.iso
Kui tegu on RW plaadiga, siis ennem järgmist kirjutamist tuleb plaat puhastada käsuga
# cdrecord -v dev=/dev/cdrom blank=fast
Squeeze puhul
# apt-get install wodim # wodim -v speed=8 dev=/dev/sr0 tommis.iso
korduvkirjutatava plaadi kustutamiseks
# wodim -v dev=/dev/cdrom blank=fast
Klaviatuuriasetus konsoolil
Klaviatuuriasetuse muutmiseks tuleb öelda
# dpkg-reconfigure console-data
ning valida sobiv asetus. NB! Ka mac'i asetus on olemas.
OpenSSL probleem
2008 aasta kevadel ilmnes, et Debiani arendajad olid OpenSSL tarkvara pakendamisel tekitanud avalike võtmete genereerimist puudutavas osas vea, mille tõttu osa varasemalt Debian Etch abil tekitatud võtmeid ja sertifikaate on ärakasutatavad. Kas konkreetne sertifikaat on haavatav saab kontrollida programmiga openssl-vulnkey. Esmalt tuleb paigaldada Backportsidest pakett openssl-blacklist ning öelda
# cat sertifikaat.pem | openssl-vulnkey - COMPROMISED: b3409bf40c63d0d8fc3e1625e9cac2076e20d1e7 -
Helikaardi kastumine
Kui helikaart on arvutisse füüsiliselt paigaldatud, siis vajadusel saab SoX tarkvara utiliitide abil kontrollida, kas heli salvestamine mikrofoni abil ja heli taasesitamine töötavad.
Sox tarkvara paigaldamiseks tuleb öelda
# apt-get install sox
Salvestamiseks sobib öelda
# rec -t .wav /tmp/failinimi.wav
Taasesitamiseks sobib öelda
# play /tmp/failinimi.wav
Lisaks on asjakohane kasutada mikserit, nt aumix või alsamixer, just mikrofoni sisselülitamiseks, käivitades xtermi aknas võiks paista selline pilt, vajadusel käivitamisel näidata seadme number, nt
# alsamixer -c 1
kus
- F6 abil saab valida helikaarti, sh virtuaalset (PulseAudio)
Digifotokaamera kasutamine
Tänapäeval on levinud nn digitaalsed fotokaamerad, mida saab ühendada arvutiga USB liidese abil selleks, et kopeerida arvutisse fotoaparaadi flash diskile salvestatud pildid. Üks populaarne tarkvara, mis võimaldab suhelda fotokaameraga on gphoto2 http://gphoto.sourceforge.net/.
Tarkvara paigaldamiseks tuleb öelda
# apt-get install gphoto2
Graafiline nö pealisehitus gphoto2 tarkvarale on gtkam, mille paigaldamiseks tuleb öelda
# apt-get install gtkam
Piltide kopeerimiseks tuleb kaamera ühendada arvutiga ning lülitada piltide kopeerimise režiimile, operatsioonisüsteem peaks seejärel USB seadme ära tundma
# lsusb ... Bus 001 Device 006: ID 04a9:309a Canon, Inc. PowerShot A80 Bus 001 Device 001: ID 0000:0000
Peale gtkam programmi käivitamist peaks gtkam suutma avastada kaamera ning esitama sarnase kasutajaliidese
gphoto2 programmi abil saab kaamerat otsekohesemalt juhtida, aga eeldusel, et gtkam või mõni muu programm seda ei kasuta. Nt saab küsida kaamera kohta kokkuvõtet öeldes
# gphoto2 --summary Camera summary: Model: Canon PowerShot A80 device version: 01.0001 serial number: (null) Vendor extension ID: 0x0000000b Vendor extension description: (null) ...
või kopeerida kõik failid kaamerast failisüsteemi käesolevasse kataloogi
# gphoto2 --get-all-files Downloading 'IMG_3601.JPG' from folder '/store_00010001/DCIM/236CANON'... Saving file as IMG_3601.JPG Downloading 'IMG_3602.JPG' from folder '/store_00010001/DCIM/236CANON'... Saving file as IMG_3602.JPG ..
Android telefonist vms seadmest kopeerimisel on praktiline näidata kataloog, nt Google Nexus 5 nutitelefon puhul
$ gphoto2 --get-all-files -f /store_00010001/DCIM/Camera
Sony Xperia tahvelarvutiga
$ gphoto2 --get-all-files -f /store_00010001/DCIM/100ANDRO
Kui seadme ühendamise ta nö mountitakse, siis võib olla vajalik ta File Manager programmis vms kohal lahti lasta.
SSH kasutamine
Kui Debian on juhtumisi paigaldatud Networkless siis puudub vaikimisi openssh-server, selle paigaldamiseks tuleb öelda käsk
# apt-get install openssh-server
Mille järel starditakse server ka automaatselt, kasutaja mureks on vaid sisse logida.
Kui Debian Lenny ssh kliendiga sisselogimine teistesse süsteemidesse on muutunud rahulikuks (nt vana RedHat 4 ES või Solaris 10 ssh serverid oma default väärtustega) ning -v võtmega käivitatud klient ütleb muu seas
debug1: Authentications that can continue: gssapi-keyex,\ gssapi-with-mic,publickey,password,keyboard-interactive debug1: Next authentication method: gssapi-keyex debug1: No valid Key exchange context debug1: Next authentication method: gssapi-with-mic debug1: Unspecified GSS failure. Minor code may provide more information No credentials cache found debug1: Unspecified GSS failure. Minor code may provide more information No credentials cache found
siis aitab kliendi seadistusfailis, nt /etc/ssh/ssh_config kasutada selliselt seadistatud parameetrit
GSSAPIAuthentication no
Veebikaamera kasutamine
Veebikaamera on väike videokaamera, mis tavaliselt ühendatakse arvutiga USB abil ning teda sobib kasutada nt Skype programmi juures enda visuaalseks reaalajas esitlemiseks.
Veebikaamera kasutamise ettevalmistamisel peab peale kaamera arvutiga ühendamist ilmuma USB seadmete nimekirja uus seade, midagi sellist
# lsusb .. Bus 001 Device 003: ID 046d:092e Logitech, Inc. QuickCam Chat
Selle spca5xx chipsetiga Logitechi QuickCam Chat veebikaamera kasutamiseks tuleb paigaldada Lennile vastav draiver valides sobiva, st oma tuuma platvormile sobiva tuumamooduli, nt
# apt-get install gspca-modules-2.6-686
Lisaks peab see kasutaja, kelle alt Skype programm töötab kuuluma video gruppi, vajadusel tuleb redigeeerida /etc/group faili
# grep video /etc/group video:x:44:kasutajanimi
Kui kasutaja määrati gruppi kuuluma, siis tuleb korraks süsteemist logida välja ja tagasi sisse, et gruppikuuluvus kehtestuks. Valides seejärel Skype programmi Options peaks olema kaamera kasutamise võimalus olemas
Veebikaamerat oskavad kasutada lisaks mitmed muud programmid, nt Cheese (gnome komponent), Gqcam.
Mälukaartide kasutamine
Nn mälukäärte esineb külluses, need mis ühendatakse arvutile külge USB liidese kaudu, kas otse või nö lugeja abil paistavad operatsioonisüsteemile tavaliselt SCSI seadmena. Seega, kasutamiseks tavaliselt piisab teha kindlaks dmesg väljundi lõpust millise nimega /dev/sdx seade on juurde tekkinud ning monteerida seejärel ta külge, nt
# mount /dev/sdc1 /mnt/malukaart
Squid v. 3 kasutamine
Lenny paketihaldusest saab paigaldada Squid v. 3 tarkvara öeldes
# apt-get install squid3
Kasutamine kiirendina
Squid3 kiirendina kasutamiseks sobib kasutada sellist seadistusfaili
cache_dir ufs /var/spool/squid3 768 16 256 http_port 10.0.6.249:80 defaultsite=www.siseministeerium.ee vhost icp_port 0 cache_peer 10.0.6.95 parent 80 0 no-query originserver name=www100695 login=PASS acl sites_www_100695 dstdomain src "/etc/squid3/sites_www100695.txt" cache_peer_access www100695 allow sites_www_100695 cache_peer 10.0.6.96 parent 80 0 no-query originserver name=www100696 login=PASS acl sites_www_100696 dstdomain src "/etc/squid3/sites_www100696.txt" cache_peer_access www100696 allow sites_www_100696 acl all src 0.0.0.0/0.0.0.0 acl localhost src 127.0.0.1/255.255.255.255 10.0.0.0/255.255.255.0 acl Safe_ports port 80 # http http_access deny !Safe_ports http_access allow all access_log /var/log/squid3/access.log squid emulate_httpd_log on
locate andmebaas
Vaikimisi moodustab Debian updatedb programmi käivitamisel cron'ist nn locate andmebaasi, milles sisaduvad süsteemis leiduvate failid nimed. Seda andmebaasi saab kasutada nt selliselt
# locate .bash_history /root/.bash_history /srv/backup/500g-vint/home/mart/.bash_history
locate andmebaas võib osutuda mitmel juhul ebasoovitavaks
- andmebaasi salvestatakse andmed, mis seal ei peaks sisalduma; nt kui veebiserveri kasutajana saab käivitada programme, siis annab see baas ilmselt soovimatut lisainfot kasutajale ühe või teise faili olemasolust ja asukohast failisüsteemis
- locale andmebaasi moodustatakse väga suure mahuga andmetest iga päev uuesti ning see raiskab ilmselt ressurssi
updatedb programm käivitatakse skripti
/etc/cron.daily/mlocate
abil ning updatedb tööd saab kontrollida seadistusfaili abil, eriti, milliseid katalooge andmebaasi koostamisel kasutatakse
/etc/updatedb.conf
Operatsioonisüsteemi paigaldamine võrgust
Operatsioonisüsteemi võrgust paigaldamine eeldab arusaadavalt paigaldamise ajal võrguühenduse olemasolu, soovitavalt nö hea ühenduse olemasolu. Debian Lenny operatsioonisüsteemi saab paigaldada võrgust kolmel viisil
- business card CD tõmmis (ca 40 MB) - sisaldab tuuma ja installerit
- minimaalse sisu CD tõmmis (ca 180 MB) - sisaldab tuuma, installerit ning minimaalset hulka pakette
- TFTP serverilt paigaldamine - tuuma ja ramdisk booditakse TFTP serverilt
Vaatamata sellele kui palju kasutati kohalikku abi, st lokaalset meediat või TFTP serverit toimub süsteemi mahukama osa moodustava tarkvara kopeerimine paigaldamise ajal võrgust.
Võrgust paigaldamine võiks eriti sobida üle IBM IMM ja HP iLO liideste tarvkara paigaldamisel.
Paigaldamine TFTP serverilt
Üks võimalus Debiani paigaldada on täiesti ilma lokaalse meediate st võrgust, kuid eeldusel, et arvuti omab PXE võimelist võrgukaarti.
Selleks tuleb kopeerida aadressilt tftp serveris kasutamiseks ettevalmistatud kataloogi sisu
# wget -np -r http://ftp.nl.debian.org/debian/dists/lenny/main/installer-i386/current/images/netboot/debian-installer/i386/
ning paigutada lokaalvõrgus asuvasse tftp serverisse, nt kataloogi /tftpbood
# find /tftpboot /tftpboot /tftpboot/debian-installer /tftpboot/debian-installer/i386 /tftpboot/debian-installer/i386/boot-screens /tftpboot/debian-installer/i386/boot-screens/exithelp.cfg /tftpboot/debian-installer/i386/boot-screens/adtxt.cfg /tftpboot/debian-installer/i386/boot-screens/index.html /tftpboot/debian-installer/i386/boot-screens/f1.txt /tftpboot/debian-installer/i386/boot-screens/f10.txt /tftpboot/debian-installer/i386/boot-screens/f2.txt /tftpboot/debian-installer/i386/boot-screens/f3.txt /tftpboot/debian-installer/i386/boot-screens/f4.txt /tftpboot/debian-installer/i386/boot-screens/f5.txt /tftpboot/debian-installer/i386/boot-screens/f6.txt /tftpboot/debian-installer/i386/boot-screens/f7.txt /tftpboot/debian-installer/i386/boot-screens/f8.txt /tftpboot/debian-installer/i386/boot-screens/f9.txt /tftpboot/debian-installer/i386/boot-screens/syslinux.cfg /tftpboot/debian-installer/i386/boot-screens/menu.cfg /tftpboot/debian-installer/i386/boot-screens/prompt.cfg /tftpboot/debian-installer/i386/boot-screens/splash.png /tftpboot/debian-installer/i386/boot-screens/stdmenu.cfg /tftpboot/debian-installer/i386/boot-screens/vesamenu.c32 /tftpboot/debian-installer/i386/boot-screens/txt.cfg /tftpboot/debian-installer/i386/index.html /tftpboot/debian-installer/i386/initrd.gz /tftpboot/debian-installer/i386/linux /tftpboot/pxelinux.0 /tftpboot/pxelinux.cfg /tftpboot/pxelinux.cfg/index.html /tftpboot/pxelinux.cfg/default
Lisaks tuleb valmistada ette sobivalt dchp server, nt sellise host kirjeldusega, next-server 192.168.1.254 on tftpd server
host fuji.auul { hardware ethernet 00:17:42:02:0b:8a; fixed-address 192.168.1.142; option broadcast-address 192.168.1.255; option routers 192.168.1.254; filename "pxelinux.0"; next-server 192.168.1.254; option domain-name-servers 192.168.1.254; }
Tulemusena peab installeeritav arvuti saama dhcp serverilt omale võrguseaded, alglaadima tftp serverilt operatsioonisüsteemi ning käivitama installeri. Edasine paigaldamine toimub tavapärasel viisil, kusjuures installer küsib Debiani peegel-serveri asukohta, millelt kopeeritakse tarkvara.
CVS tarkvara kasutamine
CVS tarkvara saab kasutada mitmel moel, antud juhul on tegemist selliste asjaoludega
- CVS töötab nn pserver rezhiimis, mis tähendab, et teenus kuulab 2401 pordil ja liiklus on krüptimata
- CVS liiklust tuleb täiendavate CVS väliste vahenditega turvata, nt OpenVPN või Stunnel
- CVS tarkvara tegeleb ise oma kasutajatega, st operatsioonisüsteemi kasutajatest eraldi
- saab kasutada mitmeid hoidlaid (ingl. k. repository)
- failisüsteemi kasutamine hoidla operatsioonisüsteemi seisukohalt toimub iga hoidla puhul hoidlale vastava kasutajaga (mitte hoidlat kasutava cvs kasutajana)
Antud juhul kasutatakse mitmeid Debiani haldajate poolt nn vanilla CVS tarkvarale juurde lisatud täiendusi, mille kasutamist on kirjeldatud failis /usr/share/doc/cvs/README.Debian.gz.
Paigaldamiseks tuleb öelda
# apt-get install cvs
ning valida kas kasutatakse pserverit või mitte, antud juhul kasutatakse ja seejuures tuleb järgnevalt määrata, millistes kataloogides asuvad repositooriumid, nt
/srv/cvs-loomaaed /srv/cvs-propaganda
CVS tarkvara juhivad serveri poolel sellised seadistusfaili
- CVS p-serveri seadistusfailis /etc/cvs-pserver.conf sisalduvad muu seas repositooriumide asukohad failisüsteemis ning kasutate paroolifail
CVS_PSERV_REPOS="/data/cvs-loomaaed:/data/cvs-propaganda" CVS_PSERV_LIMIT_MEM=hard CVS_PSERV_LIMIT_DATA=hard CVS_PSERV_LIMIT_CORE=0 CVS_PSERV_LIMIT_CPU=hard CVS_EXT_PASSWD_FILE=/etc/cvs-passwd
- inetd või xinetd kasutamisel vastavalt seadistusfailis /etc/inetd.conf peab sisalduma rida
cvspserver stream tcp nowait root /usr/sbin/tcpd /usr/sbin/cvs-pserver
või fail /etc/xinetd.d/cvs sisuga
service cvspserver { disable = no socket_type = stream protocol = tcp wait = no user = root server = /usr/sbin/cvs-pserver }
- repostitooriumide failide omanikud ja efektiivsed kasutajad failis on kirjeldatud /etc/cvs-repouids
/srv/cvs-loomaaed:cvs-loomaaed /srv/cvs-propaganda:cvs-propaganda
Repositooriumide initsialiseerimiseks tuleb öelda
# su - cvs-loomaaed $ cvs -d /srv/cvs-loomaaed init # su - cvs-propaganda $ cvs -d /srv/cvs-propaganda init
Paroolifaili /etc/cvs-passwd formaat on selline
/data/cvs-loomaaed mart:CHHLHZezIWZZQ priit:KbHgWDSglIOH. /data/cvs-propaganda mart:CHHLHZezIWZZQ priit:KbHgWDSglIOH.
Projektid tuleb alguses hoidlasse importida vastavate kasutajatega
# su - cvs-loomaaed $ cd /data/tmp/portaal-arendus cvs-loomaaed$ cvs -d /data/cvs-loomaaed import -m "Loomaaia portaali arendus algab" portaal-arendus vt rt # su - cvs-propaganada $ cd /data/tmp/portaal-propaganda cvs-propaganda$ cvs -d /data/cvs-propaganda import -m "Loomaaia propaganda algab" propaganada vt rt
Moodulite kirjeldamine
CVS all olevast projektist saab kopeerida ka üksikuid katalooge öeldes
$ cvs co projektinimi/katalooginimi
Kasutamine Linuxi CVS kliendiga
$ export CVSROOT=:pserver:kasutajanimi@cvs.loomaaed.tartu.ee:/data/cvs-loomaaed $ cvs login $ cvs co portaal-arendus $ cvs logout
Kasutamine Windowsi TortoiseCVS kliendiga
Riistvara omadustega tegelevad utiliidid
- lshw - esitab suhteliselt põhjaliku väljundi arvutisüsteemi riistvaralistest komponentidest, nt sellise
# apt-get install lshw
- ethtool
# apt-get install ethtool
Debootstrap programmi kasutamine
debootstrap programmiga saab näidatud kataloogi moodustada operatsioonisteemi juurfailisüsteemi
# debootstrap lenny /srv/lenny-chroot http://ftp.aso.ee/debian
Nt sobib seda kasutada töötava operatsioonisüsteemi sees olles multiboot arvuti moodustamiseks. Sel juhul tuleb Debian Lenny puhul lisaks tähele panna selliseid asjaolusid peale seda kui debootstrap on töö lõpetanud
- moodustada /etc/fstab sisu
- seadistada /etc/network/interfaces ja /etc/hosts
- kopeerida /lib/modules alla tuuma moodulid
- paigaldada udev, lvm2, vlan, firmware-bnx2, bridge-utils ja openssh-server tarkvara (ja muu oluline)
- kirjutada /etc/shadow faili juurkasutajale parool (konsoolilt saab küll login: root järel enterit öeldes sisse ka ilma paroolita)
- kopeerida tuum ja iniramfs /boot kataloogi
- paigaldada alglaadur (nt grub-install abil)
- seadistada ajavöönd, /etc/localtime link
Kui selliselt moodustatud keskkonda chrootida, siis üldiselt peaks olema eelnevalt ühendatud külge sellised failisüsteemid, eeldusel, et keskkond asub kataloogis /target
/dev/sda1 on /target/boot type ext3 (rw,noatime,errors=continue,data=ordered) proc on /target/proc type proc (rw) sysfs on /target/sys type sysfs (rw) udev on /target/dev type tmpfs (rw,size=10240k,mode=755) devpts on /target/dev/pts type devpts (rw,mode=600)
öeldes
# mount -t proc /proc /srv/lenny-32/proc # mount -t devpts devpts /srv/lenny-32/dev/pts
debootstrap abil saab tekitada ka teisele arhitektuurile vastav failisüsteem, nt öeldes amd64 keskkonnas
# debootstrap --arch=i386 lenny /srv/lenny-32 http://ftp.aso.ee/debian
Uuemal ajal soovitatakse kasutada tarkvara multistrap.
Autofs
Selleks, et failisüsteem monteeritaks külge automaatselt vastava ühenduspunkti poole pöördumisel, sobib kasutada tarkvara autofs. Tarkvara paigaldamiseks tuleb öelda
# apt-get install autofs
Tarkvara kasutamiseks tuleb näidata seadistusfailis /etc/auto.master nn map failide asukohad, nt
# cat /etc/auto.master /var/autofs /etc/auto.misc --timeout=60
kusjuures map failis /etc/auto.misc on kirjeldatud konkreetsed ressursid, nt
# cat /etc/auto.misc cd -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom removable -fstype=ext3,ro :/dev/mapper/mpath3
Kui nüüd öelda muidu tühjas kataloogis /var/autofs 'ls -l', siis ühendatakse failisüsteem külge ning seejärel täidetakse ls käsk, nt
# cd /var/autofs/removable drwx------ 2 root root 16384 Apr 11 14:13 lost+found
Ühendatud failisüsteemide parameetreid näeb nii
# mount | grep autofs automount(pid7544) on /var/autofs type autofs (rw,fd=4,pgrp=7544,minproto=2,maxproto=4) /dev/mapper/mpath3 on /var/autofs/removable type ext3 (ro)
Autofs olekut näeb öeldes
# /etc/init.d/autofs status Configured Mount Points: ------------------------ /usr/sbin/automount --timeout=300 /home file /etc/auto.home Active Mount Points: -------------------- /usr/sbin/automount --pid-file=/var/run/autofs/_home.pid --timeout=300 /home file /etc/auto.home
NFS ressursi ühendamine
Nt kasutajate kodukataloogide üle NFS ühendamiseks tuleb kirjeldada nt selline /etc/auto.home fail
# cat /etc/auto.home kernel -ro,soft,intr 192.168.10.249:/data/export
Süsteemi ressursikasutuse jälgimine
Pakett sysstat http://pagesperso-orange.fr/sebastien.godard/ sisaldab süsteemi ressurssikasutuse jälgimiseks vajalikke vahendeid, nii reaalajas kui taustal andmete kogumiseks
- reaalajas - iostat, pidstat, mpstat
- taustal - sa1, sa2, sar
Tarkvara käivitamist ja töötamist juhivad seadistusfailid
/etc/cron.d/sysstat /etc/cron.daily/sysstat /etc/default/sysstat
Taustal töötava sysstat töö tulemusena kogutakse andmed ja salvestatakse binaarses formaadis kataloogi /var/log/sysstat. Kogutud andmeid saab esitada nt selliselt
# sar -A -f /var/log/sysstat/sa22 | less
Eraldi mainimist vajab programm pidstat, mille abil saab jälgida üksiku protsessiga seotud ressursikasutust, nt plokkseadme IO'd
$ pidstat -d -p 15585 2 Linux 2.6.26-1-xen-amd64 (moraal.auul) 04/22/09 _x86_64_ 20:13:28 PID kB_rd/s kB_wr/s kB_ccwr/s Command 20:13:30 15585 0.00 236.82 0.00 wget 20:13:32 15585 0.00 238.00 0.00 wget 20:13:34 15585 0.00 236.82 0.00 wget 20:13:36 15585 0.00 238.00 0.00 wget
Kõigi kasutaja postgres protsesside io'd saab uurida nt selliselt
$ pidstat -d -p ALL 2 | grep postgres
Matrox P690 videokaardi kasutamine
Matrox http://www.matrox.com/ valmistab suhteliselt eeskujulikke videokaarte. P690 mudeli kasutamiseks sobib kasutada aadressil http://www.matrox.com/graphics/en/products/graphics_cards/p_series/p690pci/ kopeeritud draiverit. Lisaks asub nö community-forum aadressil http://forum.tuxx-home.at/ ning sealsed entusiastid avaldavad oma parandustega draivereid.
Paigaldamine
# CC=/usr/bin/gcc-4.1 sh mtxdriver-installer-x86_32-cvs-20090511.run .. Please, enter the directory to extract the files [/root/] /usr/src/mtx Creating directory /usr/src/mtx/matroxdriver-x86_32-cvs-20090511 Verifying archive integrity... All good. Uncompressing Matrox Parhelia Driver. .. ======================================== Matrox Linux Driver Install Script ======================================== Installation package v1.4.7 Refreshing ld database Installing mtx_drv.so ... Installing v4l_drv.so ... Messages are being logged in file /tmp/make.log, this might take some time. Compiling mtx.ko ... done Installing mtx.ko ... Backing up libGL Installing 32bits OpenGL library file to /usr/lib Installing libGL.so.1.3.0 ... Installing the GLX library file to /usr/lib/xorg/modules/extensions Installing libglx.so ... Installing the gl.h header file to /usr/include/GL Installing gl.h ... Installing the glext.h header file to /usr/include/GL Installing glext.h ... Installing the glx.h header file to /usr/include/GL Installing glx.h ... Updating library cache Installing documentation cp: cannot stat `v4l': No such file or directory Installing powerdesk Installing mtxcards ... Installing mtxwizard ... Installing matroxconfig ... Installing libmtxcfg.so ... Do you wish to let the installer setup your X config file (y/n)? y Trying to configure your X config file (/etc/X11/xorg.conf) Installation finished
Tulemusena on
- moodustatud nö vaikimisi /etc/X11/xorg.conf seadistusfail
- seadistusutiliit /usr/bin/matroxconfig
- kataloogi /usr/share/matrox on paigutatud teeke ja tekste
- kompileeritud ja paigaldatud tuuma moodul mtx.ko, mis on link /usr/share/matrox kataloogi failile
# find /lib/modules/2.6.26-2-686 -name mtx.ko -ls 721274 0 lrwxrwxrwx 1 root root 32 Aug 8 17:44 \ /lib/modules/2.6.26-2-686/kernel/drivers/video/mtx.ko -> /usr/share/matrox/current/mtx.ko
Süsteemi on lisatud/asendatud sellised failid
/usr/bin /usr/bin/mtxwizard /usr/bin/matroxconfig /usr/share /usr/share/mtxwizard /usr/share/mtxwizard/mtxcards /usr/share/matrox /usr/share/matrox/samples /usr/share/matrox/samples/XF86Config.QID_Quad_Hybrid /usr/share/matrox/samples/XF86Config.QID_Quad_Merge /usr/share/matrox/samples/XF86Config.triple /usr/share/matrox/samples/XF86Config.QID_Triple_Hybrid_1 /usr/share/matrox/samples/XF86Config.T221-Merged /usr/share/matrox/samples/XF86Config.merged /usr/share/matrox/samples/XF86Config.dual /usr/share/matrox/samples/XF86Config.QID_Triple_Hybrid_2 /usr/share/matrox/samples/XF86Config.single /usr/share/matrox/samples/XF86Config.triple_merged /usr/share/matrox/samples/XF86Config.T221-Xinerama /usr/share/matrox/current /usr/share/matrox/current/gl.h /usr/share/matrox/current/libmtxcfg.so /usr/share/matrox/current/mtxcards /usr/share/matrox/current/mtx_drv.so /usr/share/matrox/current/glx.h /usr/share/matrox/current/glext.h /usr/share/matrox/current/mtx.ko /usr/share/matrox/current/v4l_drv.so /usr/share/matrox/current/mtxwizard /usr/share/matrox/current/libGL.so.1.3.0 /usr/share/matrox/current/matroxconfig /usr/share/matrox/current/libglx.so /usr/share/matrox/backup /usr/share/matrox/docs /usr/share/matrox/docs/readme.txt /usr/share/matrox/docs/readme-advanced.txt /usr/lib /usr/lib/libGL.so.1.3.0 /usr/lib/libGL.so /usr/lib/xorg/modules/extensions /usr/lib/xorg/modules/extensions/libmtxcfg.so /usr/lib/xorg/modules/extensions/libglx.so /usr/lib/xorg/modules/drivers /usr/lib/xorg/modules/drivers/mtx_drv.so /usr/lib/xorg/modules/drivers/v4l_drv.so /usr/lib/libGL.so.1 /usr/src/mtx /usr/src/mtx/log /usr/include/GL /usr/include/GL/gl.h /usr/include/GL/glx.h /usr/include/GL/glext.h
Tuuma laadimisel öeldakse
# modprobe mtx mtx: module license 'Copyright (c) 2002, 2004, Matrox Graphics Inc.' taints kernel. [mtx] MTX driver v1.4.7 [mtx] Allocated a MTX agp driver structure ACPI: PCI Interrupt 0000:03:00.0[A] -> GSI 21 (level, low) -> IRQ 21 [mtx] 0x2539(sub:0xffffffff) board found at 03:00.0
Seadistamine
Komplekt sisaldab ka graafilist haldusutiliiti matroxconfig, mille abil saab genereerida sobiva X serveri seadistusfaili /etc/X11/xorg.conf, nt sellise Fail:Xorg.conf.patch
Käivitamisel öeldakse dmesg'i
[mtx] Registers at 0xe8000000, size: 8K, flags: 131588, knl_addr: 0xf8bb8000 [mtx] Framebuffer at 0xe0000000, size: 128M, flags: 135692, knl_addr: 0x00000000, write-combining: YES [mtx] Busmastering flags: [mtx] Board type detected: PCI [mtx] Chipset 0x2539:0x102b was detected [mtx] AGP chipset was detected [mtx] PCI transfers available for read write [mtx] Parhelia patches applied: PowerM Cap66Mhz CompBypass [mtx] Registers at 0xe8000000, size: 8K, flags: 131588, knl_addr: 0xf8bb8000 [mtx] Framebuffer at 0xe0000000, size: 128M, flags: 135692, knl_addr: 0x00000000, write-combining: YES [mtx] Busmastering flags: [mtx] Board type detected: PCI [mtx] Chipset 0x2539:0x102b was detected [mtx] AGP chipset was detected [mtx] PCI transfers available for read write [mtx] Parhelia patches applied: PowerM Cap66Mhz CompBypass
X log võiks olla nt selline http://kuutorvaja.eenet.ee/mw-1.9.3/images/e/e1/Xorg.mtx-p690.patch
Kui töökohaarvuti vahetada säilitades videokaardi ja monitorid, siis tõenäoliselt piisab xorg.conf failis asendada seadme sektsioonides PCI BusID väärtus sobivaga
Section "Device" # generated by mtx wizard Identifier "mtxwizard_device_1" Driver "mtx" BusID "PCI:3:0:0" Screen 1 EndSection
kusjuures õige saab teha kindlaks lspci utiliidiga
# lspci | grep Matrox 03:00.0 VGA compatible controller: Matrox Graphics, Inc. Millennium P690 (rev 01)
lsattr ja chattr programmide kasutamine
chattr programmi abil saab ext2 ja ext3 failisüsteemis seadistada failidele täiendavad omadusi. Näiteks, märkida faili immutable'ks
# chattr +i failinimi
Tulemusena ei saa seda faili ka kustutada juurkasutaja
# rm failinimi rm: cannot remove `failinimi': Operation not permitted
Atribuutide väärtusi saab küsida öeldes
# lsattr failinimi ----i-------------- failinimi
immutable biti saab eemaldada öeldes
# chattr -i failinimi
ucarp kasutamine
ucarp http://www.ucarp.org/project/ucarp tarkvara abil on võimalik korraldada kahe või enama arvuti nn aktiivset/passiiveset klustrit kasutades CARP protokolli. Klustri igal arvutil on oma individuaalne ip aadress ning lisaks on määratud üks teenuse virtuaalne ip aadress. Sõltuvalt sellest, kuidas parasjagu on klustri osalesid masteri osas kokku leppinud pakub master teenust, teised on nö kõrval-seisvas (ingl. k. standby) asendis.
Tarkvara paigaldamiseks tuleb öelda
# apt-get install ucarp
Ning seadistamiseks tuleb nt kahe komponendilise klustri ühe arvuti võrguliideste seadistusfailis /etc/network/interfaces kasutada
auto eth0 iface eth0 inet static address 192.168.10.51 gateway 192.168.10.254 netmask 255.255.255.0 ucarp-vid 3 ucarp-vip 192.168.10.48 ucarp-password test1234 ucarp-advskew 0 ucarp-advbase 1 ucarp-master yes iface eth0:ucarp inet static address 192.168.10.48 netmask 255.255.255.255
ning teise arvuti puhul
auto eth0 iface eth0 inet static address 192.168.10.52 gateway 192.168.10.254 netmask 255.255.255.0 ucarp-vid 3 ucarp-vip 192.168.10.48 ucarp-password test1234 ucarp-advskew 10 ucarp-advbase 1 ucarp-master yes iface eth0:ucarp inet static address 192.168.10.48 netmask 255.255.255.255
Tulemusena on kokkulepitud masteris lisaks tavalistele vürguseadetele seade eth0:ucarp
eth0:ucarp Link encap:Ethernet HWaddr 70:01:68:01:00:51 inet addr:192.168.10.48 Bcast:192.168.10.255 Mask:255.255.255.255 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
ucarp on võrreldes keepalived või heartbeat tarkvaraga tagasihoidlikemate omadustega, kuid mõnel juhul võib just see ollagi eeliseks.
FUSE
Kui tavaliselt toimub failisüsteemidega tegelemine, nt külgeühendamine, privilegeeritud kasujana ning nn kernel-space'is, siis FUSE (Filesystem in Userspace) http://fuse.sourceforge.net/ tehnika võimaldab seda teha tavakasutajana user-space'is. Linuxi tuum sisaldab FUSE tuge ning paketihalduses on rohkesti FUSE funktsionaalsust kasutavat tarkvara. Üldkasutatavad FUSE utiliidid on paketis fuse-utils.
curlftpfs
curlftpfs abil saab nö külge monteerida ftp serverist ressurssi, tarkvara paigaldamiseks tuleb öelda
# apt-get install curlftpfs
Kasutmise peab kasutaja kuuluma gruppi fuse, ressursi külgeühendamine toimub öeldes
$ curlftpfs ftp://ftp.ee.debian.ee /tmp/ftp.ee.debian.org
ja lahtiühendamiseks
$ fusermount -u /tmp/ftp.ee.debian.org
Kasutamine toimub nii nagu tavalise kohaliku failisüsteemi kasutamine.
SSHFS
sshfs abil saab nö külge monteerida serverist, kuhu on ssh ligipääs, ressurssi, tarkvara paigaldamiseks tuleb öelda
# apt-get install sshfs
Kasutamise peab kuuluma gruppi fuse, külgeühendamiseks sobib öelda
$ sshfs mart@loomaaed.tartu.ee:/katalooginimi-ssh-serveris /katalooginimi-kohalikus-arvutis
Lahtiühendamiseks
$ fusermount -u /katalooginimi-kohalikus-arvutis
SysRq
Kui Linuxi tuum hangub, siis enamikul juhtudel on ta võimeline aru saama talle nö otse saadetud signaalidest. Lenny paketihalduse tuumaga saab vaikimisi SysRq'd kasutada, väljalülitamiseks tuleb parameetrile kernel.sysrq omistada väärtus null
# sysctl -w kernel.sysrq=0
Füüsiliselt konsoolilt
Füüsiliselt konsoolilt saab sisestada erinevaid kombinatsioone (kui SysRq klahv pole tähistatud, siis tavaliselt toimib sellena PrintScreen)
- failisüsteemide sünkroniseerimine - Alt-SysRq-s
- failisüsteemide read-only remountimine - Alt-SysRq-u
- arvuti reboot - Alt-SysRq-b
Iga tegevuse kohta antakse terminalile ka vastav teade.
Käsurealt
Kui aga arvutis ollakse eemal ning mingil põhjusel on siiski võimalik talle käske anda, kuigi ta käitub piisavalt juhtimatult, et selleks ettenähtud vahenditega rebooti teha, nt 'shutdown -r now', siis saab samasid tegevusi esile kutsuda selliselt
bash# echo s > /proc/sysrq-trigger bash# echo u > /proc/sysrq-trigger bash# echo b > /proc/sysrq-trigger
Ammendav loetelu võimalikest sisenditest on kirjas tuuma lähtetekstide kataloogis vist failis Documentation/kernel-parameters.txt.
Xen konsoolilt
Xeni konsoolilt saab saata SysRq signaale valides
Ctrl+O ja täht
h väljastab nimekirja toetatud signaalidest
SysRq : HELP : loglevel0-8 reBoot tErm Full kIll saK aLlcpus\ showMem Nice powerOff showPc show-all-timers(Q) unRaw Sync showTasks \ Unmount shoW-blocked-tasks
Serial konsoolilt
Serial konsoolilt saab tuumale SysRq signaali saata valides Break + täht.
RAM failisüsteemid
RAM failisüsteem võimaldab kasutada arvuti virtuaalmälu st RAM + swap ressursse failisüsteemina, nt sellised tehnikad
- tmpfs - tundub, et 2016 aasta seisuga on see üldiselt soovitatav ram failisüsteem, mõnes kohas kirjandus väidab, et tmpfs ei võimalda failisüsteemi suurust piirata, paistab, et see siiski ei ole nii
- ramfs - legacy ramfs, 2016 aasta seisuga üldiselt ei soovitata kasutada
tmpfs
tmpfs võimaldab kasutada arvuti virtuaalmälu st RAM + swap ressursse failisüsteemina. Kasutamine toimub selliselt
# mkdir /mnt/tmpfs # mount -t tmpfs -o size=48g tmpfs /mnt/tmpfs
Kuna failisüsteem asub mälus, siis ta töötab kiiresti
# dd if=/dev/zero of=/mnt/tmpfs/1G bs=1M count=1024 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB) copied, 0.981817 s, 1.1 GB/s
Traditsiooniline tmpfs ühenduspunkt tmpfs jaoks on /dev/shm mis on ka vaikimisi Debian Lenny puhul kasutuses
# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/system-root 4.0G 3.6G 236M 94% / tmpfs 3.9G 0 3.9G 0% /lib/init/rw udev 10M 60K 10M 1% /dev tmpfs 3.9G 4.0K 3.9G 1% /dev/shm /dev/sda1 107M 82M 20M 81% /boot
Süsteemi poolt vaikimisi kasutatavate tmpfs failisüsteemides on nt selline sisu
# find /dev/shm -ls 5812 0 drwxrwxrwt 3 root root 60 Jul 19 08:25 /dev/shm/ 5964 0 drwxr-xr-x 2 root root 60 Jul 19 08:25 /dev/shm/network 6019 4 -rw-r--r-- 1 root root 16 Jul 19 08:25 /dev/shm/network/ifstate
ja
# find /lib/init/rw /lib/init/rw /lib/init/rw/sendsigs.omit.d /lib/init/rw/sendsigs.omit.d/portmap /lib/init/rw/.ramfs
Lisaks on /dev failisüsteem udev kasutamisel tmpfs peal, üldiselt sobib konkreetse süsteemi puhul küsida
# mount | grep tmpfs
ramfs
# mkdir /mnt/ramfs # mount -t ramfs -o size=200m ramfs /mnt/ramfs
Kasulikud lisamaterjalid
makejail abil chroot keskkonna moodustamine
Makejail programm abil saab moodustada chroot keskkonda, paigaldamiseks sobib öelda
# apt-get install makejail
Programmi tööd juhib seadistusfail, nt /root/makejail-bash.py, kus on antud juhul näidatud
- kuhu kataloogi moodustada chroot keskkond
- lisada sinna /bin/bash shell ning vastavad teegid lisada (antud juhul kasutatakse AMD64 platvormi)
# cat /root/makejail-bash.py chroot="/home/mart" forceCopy=["/lib64/ld-linux-x86-64.so.2", "/bin/bash","/lib/ld-linux-x86-64.so.2"]
moodustame kataloogi /home/mart
bash# mkdir /home/mart
ning moodustame sinna alla chroot keskkonna
bash# makejail /root/makejail-bash.py Loading configuration file /root/makejail.py Defining chroot = '/home/mart' Defining forceCopy = ['/bin/bash'] Chroot directory is /home/mart Initializing list of running processes Executing : ps -e Creating temp dir /tmp/makejail_logs Adding files matching '/bin/bash' Checking path '/bin/bash' Dir '/home/mart/bin' missing Checking path '/bin' Making dir /home/mart/bin .. Creating 'lib/libncurses.so.5' as a symlink to 'libncurses.so.5.5' (pwd=/home/mart/lib) Executing : file /lib/libncurses.so.5 Sleeping for 2.00 seconds
Tulemusena tekib selline failistruktuur
bash# cd /home bash# find mart -ls 507962 4 drwxr-xr-x 4 root root 4096 Sep 9 15:12 mart 507963 4 drwxr-xr-x 2 root root 4096 Sep 9 15:12 mart/lib 507968 1260 -rwxr-xr-x 1 root root 1286104 May 15 13:19 mart/lib/libc-2.3.6.so 507972 0 lrwxrwxrwx 1 root root 17 Sep 9 15:12 mart/lib/libncurses.so.5 -> libncurses.so.5.5 507973 100 -rwxr-xr-x 1 root root 97928 May 15 13:19 mart/lib/ld-2.3.6.so 507967 368 -rw-r--r-- 1 root root 369728 Oct 19 2006 mart/lib/libncurses.so.5.5 507974 0 lrwxrwxrwx 1 root root 11 Sep 9 15:12 mart/lib/ld-linux-x86-64.so.2 -> ld-2.3.6.so 507970 12 -rw-r--r-- 1 root root 10392 May 15 13:19 mart/lib/libdl-2.3.6.so 507971 0 lrwxrwxrwx 1 root root 14 Sep 9 15:12 mart/lib/libdl.so.2 -> libdl-2.3.6.so 507969 0 lrwxrwxrwx 1 root root 13 Sep 9 15:12 mart/lib/libc.so.6 -> libc-2.3.6.so 507964 0 lrwxrwxrwx 1 root root 4 Sep 9 15:12 mart/lib64 -> /lib 507965 4 drwxr-xr-x 2 root root 4096 Sep 9 15:12 mart/bin 507966 756 -rwxr-xr-x 1 root root 769368 Dec 11 2006 mart/bin/bash
Selleks, et veenduda kas kasutaja chroot keskkonna tekitamine õnnestus tuleb öelda, mille vastuseks saab shelli (ja siis öelda exit)
bash# chroot /home/mart bash#
Nt sobib makejaili kasutada OpenSSH kasutajate chrootimisel.
Seda, kas protsess töötab chroot keskkonnas saab kontrollida nt küsides vastava pid kohta, kuis link on mitte / kataloogile, siis on protsess näidatud kataloogi chroot'itud
# ls -ld /proc/11091/root lrwxrwxrwx 1 root root 0 Feb 2 22:39 /proc/11091/root -> /home/mart
Peale crashi Debiani käima-aitamine
Kui Debiani süsteem on crashinud, nt voolu kadumise tõttu, siis enamasti ext3 failisüsteem korrigeerib ennast ise, aga mõned rakendused on segaduses.
Skype
Skype teatab vahel, et 'Another Skype instance may exist', sel puhul ei pruugi aitada lock failide eemaldamine
$ rm .Skype/shared.lck .Skype/martkask/config.lck
aga võib aitada selline järgnevus
- käivitada Skype -dhpath võtmega ja logida korra sisse ning sulgeda programm (Quit), st nii, et protsess skype kaob
$ skype --dbpath=/home/mart/skype-tmp
- selleks, et chat history jms säiliks, kopeerida vana sisuga üle kontole vastava kastaloogi sisu
$ rsync -avH /home/mart/.Skype/martkask/ /home/mart/skype-tmp/martkask $ mv /home/mart/.Skype /home/mart/.Skype-20090811-mittetootav $ mv /home/mart/skype-tmp /home/mart/.Skype
- katsuda kasutada Skype'i edasi tavapärasel moel
Icedove
Programm ütleb käivitamisel, et '...', aitab kustutada failid
$ rm /home/mart/.mozilla-thunderbird/r4t56nog.default/.parentlock $ rm /home/mart/.mozilla-thunderbird/r4t56nog.default/lock
ja proovida tavalisel moel edasi kasutada. Kontod jms seadistused peaksid nõnda säilima.
Iceweasel
Kui Iceweaseli kataloog .mozilla on ühendatud üle NFS'i siis on peale süsteemi crashi Iceweasel üsna katki. St *\lock\* failide eemaldamine näib mitte aitavat jne, väidetavalt on asi NFS ja Iceweaseli koostöös, tundub, et aitab korra .mozilla kataloog kokku ja lahti pakkida
$ tar cf .mozilla.tar .mozilla $ rm -rf .mozilla $ tar xf .morilla.tar $ rm .mozilla.tar
Stunnel4 kasutamine
Stunnel http://www.stunnel.org/ tarkvara võimaldab ühendada kokku krüptimist iseenesest mitte toetavat klienti ja krüptitud teenust, või vastupidi. Või korraldada krüptimist mitte toetava kliendi ja serveri vahel siiski krüptitud andmevahetust.
Paigaldamiseks tuleb öelda
# apt-get install stunnel4
Stunnel4 kliendi kasutamine krüptitud teenuse poole pöördumisel
Seadistusfaili /etc/stunnel/stunnel.conf sobib kirjutada
sslVersion = SSLv3 chroot = /var/lib/stunnel4/ setuid = stunnel4 setgid = stunnel4 pid = /stunnel4.pid socket = l:TCP_NODELAY=1 socket = r:TCP_NODELAY=1 output = /var/log/stunnel4/stunnel.log client = yes [smtps] accept = 127.0.0.1:46525 connect = smtps.loomaaed.tartu.ee:465
tulemusena saab pöörduda smtp kliendiga krüptimata localhost:46525 porti, mida vahendatakse smtps.loomaaed.tartu.ee 465 krüptitud pordiga.
Terminalihaldusprogrammi Screen kasutamine
screen tarkvara peab olema paigaldatud kaughallatavasse arvutisse
# apt-get install screen
- screen käivitamiseks logida eemal olevasse arvutisse sisse ja öelda
$ screen
- Ctrl-a, c - tekita uus aken
- Ctrl-a, n - liigu järgmisse aknasse
- Ctrl-a, d - lase screenist lahti
- esita nimekiri arvutis olevatest kasutaja screenidest
$ screen -ls There is a screen on: 2807.pts-5.pg2a (Detached) 1 Socket in /var/run/screen/S-postgres.
- ühendu näidatud screeniga
$ screen -r 2807.pts-5.pg2a
Süsteemis töötavate screenidele vastavaid protsesse näeb öeldes
# ps aux | grep SCREEN
Mitmekasutajarežiimis screen kasutamiseks saavad järgmised kasutajad ühenduda külge öeldes
$ screen -x
Screen logimiseks on -L võti, logi kirjutatakse faili screenlogN.log, või ^a-H.
Kui screen on attached olekus, aga vastav terminaliaken on nö kadunud, siis resumemiseks tuleb enne force'ida detach
$ screen -D
IEEE 802.1X kasutamine
TODO
- http://en.wikipedia.org/wiki/IEEE_802.1X
- http://www.cesnet.cz/doc/techzpravy/2007/802.1x-wired-authentication/
Bittorrent
Bittorrent on levinud P2P (peer-to-peer, ingl. k. osaliselt-osalisele) andmevahetusprotokoll, millele on iseloomulik, et suhtlemine leiab olulises osas aset otse osaliste endi vahel. Andmevahetusprotokoll on orienteeritud pigem suuremamahulisema andmevahetuse jaoks ning kopeeritud andmeid reeglina ei saa kasutada nö reaalajas kopeerimise käigus, vaid peale kopeerimise lõppu sobiva rakendusega. Nt kui tegu on video-materjaliga, siis saab seda videot asuda vaatama peale kopeerimise lõppu, mitte aga kopeerimise ajal.
Bittorrenti kliendi kasutamine andmete kopeerimiseks
Andmete kopeerimiseks võrgust kohalikku arvutisse on vaja teada huvipakkuva ressursi nö aadressi, mis esineb .torrent faili kujul. Nt jagatakse aadressilt http://www.debian.org/CD/torrent-cd/ edasi liikudes Debian operatsioonisüsteemi .torrent faile
http://cdimage.debian.org/debian-cd/5.0.3/amd64/bt-cd/debian-503-amd64-CD-1.iso.torrent
Debian Linux sisaldab mitmeid bittorrent kliente (nt rtorrent, qbittorrent, bittorrent, bittornado jt), mis võivad erineda kõigi või mõne aspekti poolest järgnevatest
- millises mahus on bittorrent protokoll toetatud
- kas programmil on graafiline, pseudo-graafiline (nn curses) või käsurea kasutajaliides
Konkreetselt qbittorrent kasutajaliides näeb välja nt selline
kust on näha
- kopeeritakse faili debian-503-amd64-CD-1.iso
- DL Speed on allalaadimise kiirus ja UP Speed üleslaadimise kiirus
- Seeds/Leechs näitab kui paljudelt osalistelt kasutaja kopeerib ja kui paljud temalt edasi kopeerivad
- sakil Search saab vaikimisi qbittorrenti klienti seadistatud trackereid kasutada otsinguks ja otsingu tulemustena leitud .torrenteid kopeerida
Kopeerimise alustamiseks tuleb valida nupp BT ning kopeerida sinna .torrent faili aadress, nt
http://cdimage.debian.org/debian-cd/5.0.3/amd64/bt-cd/debian-503-amd64-CD-1.iso.torrent
Bittorrent kliendi kasutamine andmete jagamiseks
Bittorrentiga on algajal kasutajal oluliselt lihtsam kopeerida andmeid endale kui pakkuda välja oma andmeid teistele kasutajatele.
.torrenti moodustamiseks sobib öelda (programmid on paketist bittorrent) eeldusel, et on olemas fail andmed.iso
$ btmakemetafile.bittorrent andmed.iso http://torrent.loomaaed.tartu.ee:80/announce
kus
- andmed.iso - lähtematerjal, mida asutakse välja jagama
- http://torrent.loomaaed.tartu.ee:80/announce - trackeri aadress
Käsu tulemusena moodustatakse vastav .torrent fail
andmed.iso.torrent
ning seejärel saab seda välja jagada nt nii
$ btdownloadcurses.bittorrent andmed.iso.torrent
Kohaliku trackeri kasutamine
bittorrent pakett sisaldab bittorrent tracker programmi bttrack. Trackeri käivitamiseks sobib öelda lihtsamal juhul
# bttrack --dfile dfail.log
mille tulemusena käivitub pordil 80 spetsiaalne http server, mis on valmis võtma vastu bittorrent klientide poolt infot andmete väljajagamise kohta ja teenindama bittorrenti kliente, kes soovivad andmeid endale kopeerida.
Selliselt käivitatud trackerit saab kasutada nt organisatsiooni siseselt, iseasi kas sellisel kasutusel erilist praktilist väärtust on.
Transmission
Transmission tarkvaral on mitmed kasutajaliidesed, muu hulgas käsurealt kasutamise võimalus. Tarkvara paigaldamiseks sobib öelda
# apt-get install transmission-cli
Seejärel tuleb tekitada seadistusfail nt sellise sisuga ning moodustada näidatud kataloogid
$ cat ~/.config/transmission/settings.json { "download-dir": "/home/priit/transm", "incomplete-dir": "/home/priit/transm-incomplete", "incomplete-dir-enabled": true, "open-dialog-dir": "/home/priit", "recent-download-dir-1": "/home/priit/transm", }
kusjuures esimesel käivitamisel kirjutab sinna programm paljude muude seadistusparameetrite vaikeväärtused lisaks juurde. Käivitamiseks sobib öelda nt
$ /usr/bin/transmission-cli /tmp/proxmox-ve_3.1-93bf03d4-8.iso.torrent
Tulemusena tekib fail
transm/proxmox-ve_3.1-93bf03d4-8.iso
Amule
TODO
Debian Live
Debian Live projekt http://debian-live.alioth.debian.org/ tegeleb selliste vahendite ettevalmistamisega, millega kasutaja saab moodustada oma vajaduste rahuldamiseks sobivaid operatsioonisüsteemi tõmmiseid. Live keskkonnale on iseloomulik, et operatsioonisüsteem laaditakse mingilt nö mitte-kõvakettalt, vaid nt CD/DVD plaadilt, USB pulgalt või võrgust ning et sellise keskkonna kasutamine ei mõjuta arvuti lokaalse kõvaketta olekut.
live-helper
Tarkvara paigaldamiseks sobib öelda
# apt-get install live-helper
Tarkvara kasutamist on kirjeldatud aadressil http://live.debian.net/manual/html/index.html.
Nt alglaadiva usb pulga tõmmise ettevalmistamiseks sobib kasutada
# mkdir /usr/src/live # cd /usr/src/live # ld_config # ld_build -b usb-hdd
Tulemusena tekib fail binary.img mida saab kopeerida nt Windows Vista keskkonnas USB pulgale programmiga http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/.
Tulemuse katsetamiseks sobib qemu, sedasi
# qemu -hda binary.img
live-magic
Tarkvara paigaldamiseks sobib öelda
# apt-get install live-magic
Debian Live Magic programmi käivitamiseks tuleb öelda juurkasutajana
# live-magic
ning avaneb järgnev pilt
kus tuleb valida, millist Live keskkonda ettevalmistama asutakse.
Slack kasutamine
Slack https://slack.com/ paigaldamiseks sobib kopeerida .deb fail ning öelda
# apt-get install failinimi.deb
Paistab, et tarkvara paigaldamise käigus tekitatakse fail
# cat /mnt/kontdeb9/etc/apt/sources.list.d/slack.list deb https://packagecloud.io/slacktechnologies/slack/debian/ jessie main
Signal kasutamine
Tarkvara kopeerimiseks https://signal.org/download/
# cat /etc/apt/sources.list.d/signal-xenial.list deb [arch=amd64] https://updates.signal.org/desktop/apt xenial main # curl -s https://updates.signal.org/desktop/apt/keys.asc | sudo apt-key add -
ja paigaldamiseks
# apt-get update # apt-get install signal-desktop
Skype kasutamine
Aadressil http://www.skype.com/ jagatakse Skype tarkvara mitmel erineval kujul
- 32 bit
- 64 bit
- staatiliselt lingitud
2017 - Skype v. 5.0 kasutamine
Märkus: 2017 kevadel on v. 5.0 beta, mis praktiliselt tähendab, et muidu töötab, aga chat histori otsingut pole.
Lisada võti
# curl https://repo.skype.com/data/SKYPE-GPG-KEY | sudo apt-key add -
lisada fail /etc/apt/sources.list.d/skypeforlinux.list
# cat /etc/apt/sources.list.d/skypeforlinux.list deb [arch=amd64] https://repo.skype.com/deb stable main
ja paigaldada
# apt-get update # apt-get install skypeforlinux
Kasulikud lisamaterjalid
pre 2017 - Skype kasutamine 64 bit keskkonnas
Süsteemi etteavalmistamisel tuleb paigaldada paketid ia32-libs-gtk ja libqt4-dev
# apt-get install ia32-libs-gtk libqt4-dev
Seejärel skype 64 bit pakett, muus osas peaks töötama kuigi käivitamisel öeldakse
$ skype Gtk-Message: Failed to load module "canberra-gtk-module": \ /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so: wrong ELF class: ELFCLASS64 (<unknown>:6901): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libglide.so: wrong ELF class: ELFCLASS64
Skype kasutamine Debian Wheezy multiarch keskkonnas
- kopeerida Skype lokaalsesse reposse - http://www.auul.pri.ee/wiki/Operatsioonis%C3%BCsteemi_Debian_GNU/Linux_paketihalduse_kasutamine#Privaatse_failis.C3.BCsteemi_repositooriumi_kasutamine
- lisada süsteemile i386 arhitektuur - http://www.auul.pri.ee/wiki/Operatsioonis%C3%BCsteemi_Debian_GNU/Linux_kasutamine#Multiarch_kasutamine
- paigaldada skype
# apt-get install skype:i386
Skype v. 8.x kasutamine
Kui järgmine v. 8.y versioon ei sobi, siis saab eelmise x. 8.x paigaldada nt selliselt
# apt-get install skypeforlinux=8.11.0.4
Nimekiri variantidest on näha aadressil https://repo.skype.com/deb/pool/main/s/skypeforlinux/
Skyperious
Head inimesed on programmeerinud Python keeles tarkvara Skyperious http://suurjaak.github.io/Skyperious/index.html, mille abil saab Skype andmebaaside sisu, st praktiliselt jutuajamist ajalugu, uurida ilma Skype programmi enda, võrguühenduse jms olemasoluta. Tundub, et programm kasutab asjaolu, et vastav andmebaas on praktiliselt SQLite andmebaas. Praktiliselt võib see olla abiks kui Skype versiooni uuendamisel ei õnnestu chat history sisu uude versiooni kaasa võtta, nt v. 4.2 -> 4.3 uuendamisel Linux all. Skyperiuos kasutajaliides paistab selline
Tarkvara paigaldamist kirjeldatakse aadressil https://github.com/suurjaak/Skyperious. Lühidalt tuleb Debian Jessie all öelda
# apt-get install wx2.8-i18n libwxgtk2.8-dev libgtk2.0-dev # apt-get install python-wxgtk2.8 python-wxtools # apt-get install python-pip
Seejärel lähtetekst lahti pakkida ja öelda
# pip install --allow-all-external --allow-unverified -r requirements
Kasutajana käivitamisel öeldakse alustuseks
$ skyperious.sh -su: skyperious.sh: /bin/sh^M: bad interpreter: No such file or directory
millest saab üle nn dos reavahetuste eemaldamisega
# fromdos skyperious.sh
Misc
Skype vestlusaknas saab teksti parandada nn Sed süntaksit kasutades
mart: priiti, ei ole võimalik ,-------------------------------, | s/priiti/Priit/ | |_______________________________|
http://share.skype.com/sites/linux/2009/09/some_explanations.html
PulseAudio kasutamine
Huawei netipulga kasutamine
2010 aastal on populaarne kasutada mobiilse internetiühenduse teenust Huawei USB netipulga abil. Sellist tüüpi netipulgad on sisuliselt GSM modemid, mis ühendatakse arvutiga USB kaudu ning mille kasutamiseks peab seadmesse olema paigaldatud mobiilside operaatori kehtiv SIM-kaart (Subscriber Identity Module). Selline netipulk ei ole kuidagi seotud wifiga ning seda saab kasutada asudes mobiilside operaatori levialas. Netipulga kasutamiseks peab olema arvutisse paigaldatud PPP kliendi tarkvara, nt wvdial ja arvuti oskama kasutada USB-serial seadmeid.
Kasulikud lisamaterjalid
Riistvara
Näiteks olgu kasutada Huawei E620 USB Modem seade ning teenusepakkuja EMT andmesideteenus.
# lsusb ... Bus 002 Device 003: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem
Tarkvara
Netipulga kasutamiseks piisab Debian Lenny paketihalduse tarkvarast, st vajalikest tuuma moodulitest ning wvdial programmist, mille paigaldamiseks sobib öelda
# apt-get install wvdial
Seadistamine ja käivitamine
Esmalt tuleb laadida maha usb-storage, option ja usbserial tuuma moodulid
# rmmmod usb-storage # rmmod option # rmmod usbserial
ning laadida usbserial sobivate parameetritega, vastavalt käesolevale lsusb väljundile, nt
# modprobe usbserial vendor=0x12d1 product=0x1001
Tulemusena on kasutada USB-serial seadmed
# ls -l /dev/ttyUSB* crw-rw---- 1 root dialout 188, 0 Apr 27 23:46 /dev/ttyUSB0 crw-rw---- 1 root dialout 188, 1 Apr 27 23:15 /dev/ttyUSB1 crw-rw---- 1 root dialout 188, 2 Apr 27 23:15 /dev/ttyUSB2 crw-rw---- 1 root dialout 188, 3 Apr 27 23:15 /dev/ttyUSB3
wvdial tarkvara tööd juhib seadistusfail /etc/wvdial.conf
# cat /etc/wvdial.conf [Dialer Defaults] Phone = *99***1# Username = username Password = password Stupid Mode = 1 Dial Command = ATDT [Dialer hsdpa] Modem = /dev/ttyUSB0 Baud = 460800 Init2 = ATZ Init3 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 ISDN = 0 Modem Type = Analog Modem
kus
- Phone - väärtus sõltub teenusepakkujast
Käivitamiseks sobib öelda juurkasutajana
# wvdial hsdpa --> WvDial: Internet dialer version 1.60 --> Cannot get information for serial port. --> Initializing modem. --> Sending: ATZ ATZ OK --> Sending: ATZ ATZ OK --> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 OK --> Modem initialized. --> Sending: ATDT*99***1# --> Waiting for carrier. ATDT*99***1# CONNECT --> Carrier detected. Starting PPP immediately. --> Starting pppd at Tue Apr 27 23:41:55 2010 --> Pid of pppd: 7879 --> Using interface ppp0 --> pppd: @« @« x« --> pppd: @« @« x« --> pppd: @« @« x« --> pppd: @« @« x« --> pppd: @« @« x« --> pppd: @« @« x« --> pppd: @« @« x« --> local IP address 192.168.3.91 --> pppd: @« @« x« --> remote IP address 10.64.64.64 --> pppd: @« @« x« --> primary DNS address 192.168.32.116 --> pppd: @« @« x« --> secondary DNS address 192.168.32.115 --> pppd: @« @« x«
Tulemusena tekib süsteemi juurde PPP seade, nt
# ifconfig ppp0 ppp0 Link encap:Point-to-Point Protocol inet addr:192.168.3.91 P-t-P:10.64.64.64 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:7 errors:3 dropped:0 overruns:0 frame:0 TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:118 (118.0 B) TX bytes:157 (157.0 B)
Netipulga kasutamine
Peale PPP lingi tekkimist piisab liiklus ruutida üle selle lingi ning saab kasutada võrku, nt
# route add -net 172.23.0.0 netmask 255.255.0.0 gw 192.168.3.91
Lisaks nö sihipärasele mobiilsele töökohale andmeside tekitamisele on võimalikud nt sellised kasutusalad
- ühendada võrku arvuteid, mida muul viisil võib olla tülikas ühendada
- ühendada arvutile külge alternatiivne andmesidekanal (nt monitooringuarvutist teadete saatmiseks)
Kasutamisel tuleb arvestada, et läbi lisandunud seadme on võimalik lisaks välja pöördumisele ka sisse pöörduda, seepärast tasub kaaluda seoses netipulgaga paketifiltri kasutamist.
ffmpeg kasutamine
ffmpeg tarkvara abil saab ekraanil toimuvat nö videona salvestada
$ ffmpeg -f x11grab -s 720x480 -r 23.976 -i :0.0 /tmp/file.mpg
QuickTime andmete teisendamine
$ ffmpeg -i video-in.mov -vcodec mpeg4 video-out.avi
QuickTime teisendamine Digital Video formaati
$ ffmpeg -i fail.mov -s pal -r pal -aspect 4:3 -ar 48000 -ac 2 fail.dv
Taasesitamine nö ressursisäästlikult
$ mplayer -vo xv -vfm ffmpeg -lavdopts lowres=1:fast:skiploopfilter=1 video-out.avi
Kasulikud lisamaterjalid
Märkused
- Selleks, et vaikimisi ei seataks pakettidele DF (don't fragment), sobib öelda
# sysctl -w net.ipv4.ip_no_pmtu_disc=1
- arvuti viimaseid reboote näitab käsk
# last reboot -f /var/log/wtmp.1 reboot system boot 3.16.0-4-amd64 Fri Aug 7 00:35 - 02:03 (38+01:27) reboot system boot 3.16.0-4-amd64 Wed Aug 5 00:14 - 00:35 (2+00:20) reboot system boot 3.16.0-4-amd64 Tue Aug 4 22:57 - 23:51 (00:53) reboot system boot 3.16.0-4-amd64 Tue Aug 4 22:56 - 22:57 (00:01)
kus esimese rea teine kellaaeg on käesolev aeg (ja liigub), sulgudes on praktiliselt arvuti käesolev uptime; teiste ridade sulgudes on vastavad uptime ajad
- Failide-alamkataloogide-jms arv kataloogis
# for i in `ls -d /*` ; do echo -n "$i: "; find $i | wc -l; done
PCMCIA seadmete kasutamine
# apt-get install pcmciautils
ExpressCard seadmete kasutamine
Reeglina paistavad ExpressCard http://en.wikipedia.org/wiki/ExpressCard seadmed operatsioonisüsteemile USB seadmetena.
syslog-ng kasutamine logiserverina
syslog-ng http://www.balabit.com/network-security/syslog-ng/ sobib kasutada logiserveris ja tal on sellised omadused
- TODO
Debian Lenny sisaldab syslog-ng versioon 2.0, paigaldamiseks tuleb öelda
# apt-get install syslog-ng
Tarkvara tööd juhib seadistusfail /etc/syslog-ng/syslog-ng.conf
Failisüsteem
Debiani failisüsteemiga on seotud operatsioonisüsteemi seisukohalt sellised üldised asjaolud
- /proc ja /sys kataloogid on nö vaated töötavale linuxi tuumale
Named ja unnamed pipe
Pipe on FIFO ja selle instrumendi abil saavad programmid omavahel andmeid vahetada, nt named pipe puhul sobib ühes aknas öelda
$ mkfifo /tmp/fifonimi $ cat < /tmp/fifonimi
ja teises aknas öelda
$ cal > /tmp/fifonimi
siis tulemusena esitatakse esimeses aknas cal käsu väljund.
Osutub, et pipe ei ole alati vajalik moodustada mkfifo käsu abil, sobib ka nii, sellisel juhul on tegu anonüümse pipe'iga
$ cal | cat
Pidgin
Pidgin (nö vana nimega Gaim) http://www.pidgin.im/ on mitmeid protokolle toetav instant messaging tarkvara. Kuna Debiani paketihalduse Pidgin tõrgub vahel, siis üks otsekohene alternatiiv on kasutada lähtetekstist kompileeritud Pidgini
# apt-get build-dep pidgin $ ./configure --prefix=/opt/pidgin --disable-vv --disable-idn $ make $ make install
Pidgin v. 2.10.0, tundub, et kui kasutada süsteemis mozilla.debian.net tarkvara, siis ebaõnnestub sõltuvuste tõttu
# apt-get build-dep pidgin
Sellisel juhul tuleb käsitsi paigaldada
# apt-get install intltool libglib2.0-dev libgtk2.0-dev
$ ./configure --prefix=/opt/pidgin --disable-vv --disable-idn --disable-nm --disable-screensaver \ --disable-gtkspell --disable-gstreamer --disable-meanwhile --disable-avahi --disable-dbus --disable-tk ...
lm-sensors
lm-sensors http://www.lm-sensors.org/ tarkvara paigaldamiseks sobib öelda
# apt-get install lm-sensors
Esmalt tuleb teha kindlaks olemasolev riistvara ning laadida vastavad moodulid
# sensors-detect
Kasutamiseks öelda nt
# sensors -A | grep Core Core 0: +47.0 C (high = +76.0 C, crit = +100.0 C) Core 1: +51.0 C (high = +76.0 C, crit = +100.0 C) Core 2: +41.0 C (high = +76.0 C, crit = +100.0 C) Core 3: +41.0 C (high = +76.0 C, crit = +100.0 C)
kus
- Core N - protsessori tuuma temperatuur
GPT kasutamine
GPT (GUID Partition Table) http://en.wikipedia.org/wiki/GUID_Partition_Table on seotud järgmiste probleemide lahendamisega
- operatsioonisüsteemis soovitakse kasutada suuremat partitsiooni kui 2TB
- arvuti riistvara ei kasuta nn PC-BIOS'i vaid nt UEFI't (Unified Extensible Firmware Interface)
- kasutatakse 4096 B plokisuurusega kõvaketast
- saab kasutada kuni 128 nn primary partitsiooni
GPT partitsioonide haldamine
GPT partitsioonide haldamiseks sobib 2010 aasta suvel kasutada nt programme parted ja gdisk, esmalt tuleb moodustada plokkseadmele label öeldes
# parted /dev/sdc (parted) mklabel gpt Warning: The existing disk label on /dev/sdc will be destroyed and all data on this disk will be lost. Do you want to continue? Yes/No? Yes
TODO
Kui kasutada fdisk programmi GPT partitsioonitabelit kasutava plokkseadmega, siis paistab tulemus selline
# fdisk -uc /dev/sda -l WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted. ... Device Boot Start End Blocks Id System /dev/sda1 1 10485759 5242879+ ee GPT
GRUB2 alglaaduri kasutamine GPT ja PC-BIOS riistvaraga
Kui UEFI riistavara töötab GRUB2 alglaaduri ja GPT partitsioneeritud kõvakettaga nö otseselt, siis PC-BIOS arvuti puhul tuleb kasutada seejuures mõnda täiendavat võtet. Üldiselt toimub PC-BIOS riistvaral töötava süsteemi alglaadimine selliselt
- kõvakettale on moodustatud kolm GPT partitsiooni
(parted) p Number Start End Size File system Name Flags 1 2048s 4095s 2048s biosboot bios_grub 2 4096s 1052671s 1048576s boot 3 1052672s 3905974271s 3904921600s system
- alglaadimisel loetakse üks alglaaduri aste esimeselt partitsioonilt
- järgmised astmed ning operatsioonisüsteemi tuum ja initramfs loetakse boot partitsioonilt
- operatsioonisüsteemi juurfailisüsteem asub kolmandal partitsioonil või sellel paiknevalt loogiliselt seadmelt, nt LVM köitelt
GPT partitsioonide moodustamine
(parted) unit s (parted) mkpart biosboot 2048 4095 (parted) set 1 bios_grub on (parted) mkpart boot 4096 1052671 (parted) mkpart system 1052672 3907026943 (parted) set 3 lvm on
kus
- tuleb jälgida, et partitsioonide suurused saavad sobivad, kaks esimest võiksid olla suhtliselt universaalselt sobivad
Failisüsteemide ettevalmistamine
GPT pealt töötava süsteemi saab ettevalmistada nt ühendades vastav plokkseade külge mõnele olemasolevale töötavale süsteemile. Seejärel moodustada seadmele GPT partitsioonitabel, failisüsteemid ning kopeerida sinna töötav süsteem üle, nt rsync abil.
GRUB2 seadistamine ja paigaldamine
GRUB2 seadistamiseks sobib kasutada nt sellist /etc/grub.d/40_custom faili
#!/bin/sh exec tail -n +3 $0 # This file provides an easy way to add custom menu entries. Simply type the # menu entries you want to add after this comment. Be careful not to change # the 'exec tail' line above. echo "Debian GPT" >&2 menuentry "Debian GPT" { insmod part_gpt insmod ext2 set root=(hd0,gpt2) linux /vmlinuz-2.6.32-2-amd64 root=/dev/mapper/system-root ro initrd /initrd.img-2.6.26-2-amd64 }
kus
- insmod part_gpt - grub2 laadib omale GTP partitsioonitabeli tundmise tarkuse
- (hd0,gpt2) - näitab millisel GPT partitsioonil asub /boot failisüsteem
Eeldusel, et failisüsteemid on monteeritud öelda
# grub-install --recheck --no-floppy --root-directory=/mnt/root /dev/sda Installation finished. No error reported.
Tulemusena peaks arvuti käivituma.
4096 B plokisuurusega kõvaketaste kasutamine
2010 aasta suvel on 4k plokisuurusega kõvaketaste kasutamine pisut ebaselge, tundub, et üldiselt peaks utiliidid sellega automaatselt hiljem või varem hakkama saama. Hetkel näib ohutu nö käsitsi arvestada, et partitsiooni algus satuksid arvudega 8 ja 512 jaguvatele kohtadele, nt kasutades GPT partitsioonitabelit selliselt
(parted) unit s (parted) mkpart system 2048 327679999 (parted) mkpart pgdata 327680000 164863999
kus
- unit s - edasi esitatakse partitsiooni algus ja lõpp sektori numbrina
- system - partitsiooni nimi kasutajale tähendust omaval kujul
- 2048 - partitsiooni algussektor
- 327679999 - partitsiooni lõpp sektor, arvestusega, et 327679999 + 1 jagub arvudega 8 ja 512
Paritsioonitüüpide näitamiseks öelda
(parted) set 1 lvm on (parted) set 2 lvm on
Tulemuseks on
(parted) p Model: ATA WDC WD2003FYYS-0 (scsi) Disk /dev/sdc: 3907029168s Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 2048s 327679999s 327677952s system lvm 2 327680000s 328703999s 1024000s pgdata lvm
Kui selliselt ettevalmistatud plokkseadmel kasutada failisüsteemi või nt mdadm, lvm või cryptsetup lahendusi, siis väidetavalt neile sobib 4k plokisuuris hästi.
Kasulikud lisamaterjalid
- http://www.ibm.com/developerworks/linux/library/l-4kb-sector-disks/
- http://www.johannes-bauer.com/linux/wdc/?menuid=3
- http://grub.enbug.org/BIOS_Boot_Partition
- http://wiki.archlinux.org/index.php/User:Skodabenz/GPT
- http://jamie.mayfirst.org/posts/2010/two-tb-disks/
- http://www.wensley.org.uk/gpt
atftpd kasutamine
atftpd on tftpd server ning atftp vastav klient.
Server
Serveri paigaldamiseks sobib öelda
# apt-get install atftpd
Seejuures küsitakse hulk küsimusi, vaikimisi käivitatakse paigaldamise lõpuks tftp teenus inetd superserverist ning kataloogiks on /srv/tftp.
Tööd juhitakse
- /etc/default/atftpd failis
USE_INETD=true
- /etc/inetd.conf failis sarnase reaga
tftp dgram udp4 wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd --tftpd-timeout 300 \ --retry-timeout 5 --no-multicast --maxthread 100 --verbose=5 --logfile /var/log/atftpd.log /srv/tftp
Klient
Kliendi paigaldamiseks sobib öelda
# apt-get install atftp
Kasutamiseks öelda nt
$ atftp 192.168.10.10 tftp> get /srv/tftp/sg200-18-20131217-mirror.conf
Tulemusena kopeeritakse fail kliendi käesolevasse kataloogi.
strace programmi kasutamine
Nö failisüsteemi tcpdump kasutamiseks sobib esmalt vaadata nt veebiseveri protsesside numbrid ja seejärel öelda
$ strace -p 19282 -p 19283 -p 19284 -p 19285 -p 19286 -p 19368 -p 20015 -p 29774 -p 29775 -f -e trace=open
kus
- -f - järgib forkisid
- -e määratleb, et jälgitakse failiavamisi
Märkused
- kui kasutada mitu korda -e parameetrit, siis kehtestub ainult viimane kasutamine
- kui kasutada -e järel mitut väärtust, nt '-e trace=read,write', siis väärtused OR-itakse kokku
- kui on soov jälgida konkreetse file descriptori kasutusi, siis tuleb strace väljundi teksti töödelda grep vms üldiste vahenditega
- shelli protsessi on huvitav strace'ida teisest aknast
Kasulikud lisamaterjalid
- http://myhowto.org/solving-problems/7-exploring-system-internals-with-lsof-and-strace/
- http://www.noah.org/wiki/Debugging_notes
Debian Squeeze paigaldamine USB pulgalt
Debian Squeeze operatsiooniüsteemi USB pulgalt paigaldamise eeldusteks on
- kasutada on olemasolev võrguühendusega Linux arvuti
- installeeritav arvuti boodib USB pulgalt
- installeeritava arvuti saab ühendada võrku
USB pulk tuleb Debian Squeeze paigaldamiseks ettevalmistada järgmiselt
- vastaku USB pulgale seade /dev/sdf, pulk peab olema monteerimata olekus, st öelda
# umount /dev/sdf
- lähtudes aadressilt http://www.debian.org/devel/debian-installer/ kopeerida sobivad boot.img.gz ning netinst.iso failid, nt
# http://ftp.nl.debian.org/debian/dists/testing/main/installer-amd64/current/images/hd-media/boot.img.gz # http://cdimage.debian.org/cdimage/squeeze_di_rc1/amd64/iso-cd/debian-sq-di-rc1-amd64-netinst.iso
- kopeerida boot.img.gz pulgale öeldes
# zcat boot.img.gz > /dev/sdf
- monteerida pulk ning kopeerida netinst iso
# mkdir /mnt/sdf # mount /dev/sdf /mnt/sdf # cp debian-sq-di-rc1-amd64-netinst.iso /mnt/sdf
- ainult nn kommertsdraiveritega töötava riistvara kasutamiseks on vajalik lisaks kopeerida arhiiv firmware.tar.gz aadressilt http://cdimage.debian.org/cdimage/unofficial/non-free/firmware/, nt
# wget http://cdimage.debian.org/cdimage/unofficial/non-free/firmware/squeeze/current/firmware.tar.gz
ning pakkida lahti pulga juurikale kataloogi firmware
# mkdir /mnt/sdf/firmware # tar -C /mnt/sdf/firmware -z -x -f firmware.tar.gz
Lõpuks tuleb pult lahti monteerida
# umount /mnt/sdf
Pulga kasutamiseks tuleb pult ühendada kõnealuse arvutiga, BIOS'ist seadistada käivituma USB pulgalt ning algab tarkvara paigaldus. Paigalduse käigus peaks olema kasutada internetiühendus.
SSL juur-sertifikaatide lisamine
Selleks, et süsteemi utiliidid, nt wget tunnustaksid veebiserveri sertifikaati peab olema vastav juur-sertifikaat ära kirjeldatud. Juur-sertifikaadi lisamiseks tuleb
- paigaldada pakett ca-certificates
# apt-get install ca-certificates
- kopeerida uus juur-sertifikaat kataloogi /usr/local/share/ca-certificates (failinimi peab lõppema .crt vastasel korral update-ca-certificates skript seda ei käsitle)
# cp Juur-LOOMAAED-cacert.pem /usr/local/share/ca-certificates/Juur-LOOMAAED.crt
- öelda
# update-ca-certificates
Tulemusena genereeritakse uued c_rehashid kataloogi /etc/ssl/certs
# ls -l /etc/ssl/certs/ | grep Juur lrwxrwxrwx 1 root root 44 Feb 3 14:18 Juur-LOOMAAED.pem -> /usr/local/share/ca-certificates/Juur-LOOMAAED.crt lrwxrwxrwx 1 root root 11 Feb 3 14:18 a376ee62.0 -> Juur-LOOMAAED.pem
ning lisatakse ta suurfaili /etc/ssl/certs/ca-certificates.crt.
Debian v. 4 Etch -> v. 5 Lenny uuendamine
Kui sources.list failis lenny kasutamise järel apt-get update ütleb vea
W: There is no public key available for the following key IDs: 4D270D06F42584E6 W: You may want to run apt-get update to correct these problems
siis aitab paigaldada debian-archive-keyring pakett
# apt-get install debian-archive-keyring
Kui kasutusel on uuemad bnx2 draiveriga käivad võrgukaardid, siis tuleb jälgida, et oleks paigaldatud pakett firmware-bnx2
# apt-get install firmware-bnx2
Debian v. 5 Lenny -> v. 6 Squeeze uuendamine
Ametlik operatsioonisüsteem Debian GNU/Linux Lenny -> Squeeze (v. 5.0 -> v. 6.0) juhend asub aadresil http://www.debian.org/releases/squeeze/amd64/release-notes/ch-upgrading.en.html
Uuendamise on oluline tähele panna järgmisi asjaolusid
- asutakse kasutama dash shelli nö süsteemse shellina, mh tähendab see, et /bin/sh -> bash asemel on
$ ls -l /bin/sh lrwxrwxrwx 1 root root 4 Dec 26 2010 /bin/sh -> dash
- asuda uuendama süsteemi, millele on kõik Lenny uuendused rakendatud
- asendatakse legacy GRUB GRUB2 alglaaduriga, vajadusel anda pärast uuendust töötavas Squeeze süsteemis käsk upgrade-from-grub-legacy
- veenduda enne uuendamise protseduuri, et failisüsteemis on piisavalt vaba ruumi
- asutakse bootloaderis kasutama failisüsteemide plokkseadmetele vastavaid UUID väärtusi
- eemdalda paketihaldusest mitte paigaldatud tarkvara (nt VMWare Tools)
- eemaldada /etc/ alt nö käsitsi lisatud start-up skriptid, mis võivad segada automaatset süsteemi migreerimist kasutama insserv käivitusskripte
Uuendamise protseduur
- veenduda, et on olemas süsteemist varukoopia
- rakendada paketihaldusest uuendused vanale süsteemile
- teha seadistusfailidest koopia, et oleks mugav võrrelda
# cp -a /etc /root/etc-20110522-tootanud-lenny # cp -a /boot /root/boot-20110522-tootanud-lenny
- eemaldada paketihaldusest mitte paigaldatud tarkvara, nt
# vmware-uninstall.pl
- kasutada /etc/apt/sources.list faili sisuga, uuendamise ajal on security välja kommenteeritud
deb http://ftp.ee.debian.org/debian/ squeeze main contrib non-free deb-src http://ftp.ee.debian.org/debian/ squeeze main contrib non-free # deb http://security.debian.org/ squeeze/updates main contrib non-free # deb-src http://security.debian.org/ squeeze/updates main contrib non-free
ning öelda
# apt-get update # apt-get dist-upgrade -d
- kasutada script'i esitatud küsimuste-vastuste-teadete salvestamiseks, mis töötab üldiselt nii
# script -t 2>~/kernel-udev-upgrade-squeezestep.time -a ~/kernel-udev-upgrade-squeezestep.script Script started, file is /root/upgrade-squeezestep.script # date ... # Ctrl-D Script done, file is /root/upgrade-squeezestep.script
script tööga kaasneb kaks protsessi
# ps aux | grep scr root 4960 0.0 0.0 5848 572 pts/0 S+ 10:36 0:00 script -t -a /root/upgrade-squeezestep.script root 4961 0.0 0.0 5852 460 pts/0 S+ 10:36 0:00 script -t -a /root/upgrade-squeezestep.script
- käivitada script abil salvestamine
# script -t 2>~/kernel-udev-upgrade-squeezestep.time -a ~/kernel-udev-upgrade-squeezestep.script
- uuendada tuum ja udev
# apt-get install linux-image-2.6-amd64
Seejuures pakutakse ja võiks aktsepteerida plokkseadmete UUID väärtuste kasutamist.
# apt-get install udev
- vajadusel paigaldada non-free firmware draiverid öeldes (nt bnx 10g seadme jaoks)
# apt-get install firmware-linux-nonfree
- veenduda, et /boot/grub/menu.lst algaadib uue tuumaga, /etc/fstab ühendab külge sobivad failisüsteemid ja alglaadida süsteem
- veenduda, et failisüsteemis on piisavalt ruumi, käivitada script ja paigaldada muud süsteemi uuendused
# script -t 2>~/dist-upgrade-squeezestep.time -a ~/dist-upgrade-squeezestep.script # apt-get dist-upgrade
- dash shelli kasutamiseks öeldakse
The system shell is the default command interpreter for shell scripts. Using dash as the system shell will improve the system's overall performance. It does not alter the shell presented to interactive users. Use dash as the default system shell (/bin/sh)?
- dist-upgrade käigus üritatakse migreerida dependecy-based insserv käivitusskriptidele
The boot system is prepared to migrate to dependency-based sequencing. This is an irreversible step, but one that is recommended: it allows the boot process to be optimized for speed and efficiency, and provides a more resilient framework for development. A full rationale is detailed in /usr/share/doc/sysv-rc/README.Debian. If you choose not to migrate now, you can do so later by running "dpkg-reconfigure sysv-rc". Migrate legacy boot sequencing to dependency-based sequencing?
- Uuendamisel tuleb kasutaja poolt muudetud seadistusfailid lasta uute nn package maintainer versiooniga üle kirjutada ja pärast muudatused käsitsi kohendada, nimekirja muudetud failidest näeb nt nii
# grep "Configuration file" dist-upgrade-squeezestep.script Configuration file `/etc/security/limits.conf' Configuration file `/etc/nagios/nrpe.cfg' Configuration file `/etc/sysctl.conf' Configuration file `/etc/rsyslog.conf' Configuration file `/etc/ssh/ssh_config' Configuration file `/etc/apache2/apache2.conf' Configuration file `/etc/apache2/ports.conf' Configuration file `/etc/joe/joerc' Configuration file `/etc/snmp/snmpd.conf' Configuration file `/etc/default/snmpd'
kusjuures asendatud failst salvestatakse reeglina koopia nimele lisades lõppu .dpkg-old, nt
/etc/snmp/snmpd.conf.dpkg-old
st ülekirjutatud failid leiab nt nii
# find /etc/ -name \*-old
- vmware tools kompileerimise asemel on alternatiiv kasutada paketti open-vm-tools, kasutaja peab ise otsustama mida eelistada
# apt-get install open-vm-tools ... Loading open-vm-tools modules: vmhgfsFATAL: Module vmhgfs not found. vmmemctlFATAL: Module vmmemctl not found. vmsyncFATAL: Module vmsync not found.
- vajadusel öelda
# dpkg-reconfigure sysv-rc
- vajadusel öelda (kui uuendatavas süsteemis mingil põhjusel oli alglaadur paigaldamata paketihaldusest)
# apt-get install grub-pc
- vajadusel öelda
# upgrade-from-grub-legacy
- kasutuses mitte olevate pakettide eemaldamine
# apt-get autoremove
- eemaldada /etc/apt/sources.list failid security eest kommentaarid ja rakendada uuendused
- kohendada käsitsi paketihaldusest uuendamise käigus vaikeväärtustega asendatud seadistusfailid
Märkused
- kui uuendamine peatub seetõttu, et mõne nö ebaolulise programmi käivitusskript ei tööta, siis sobib vastav pakett eemaldada, kui ka see ei õnnestu, siis võiks proovida käivitusskripti sisu asendada millegagi, mis formaalselt toimib, nt
# cat /etc/init.d/nagios3 #! /bin/sh exit 0;
Debian v. 6 Squeeze > v. 7 Wheezy uuendamine
Ametlik operatsioonisüsteem Debian GNU/Linux Lenny -> Squeeze (v. 6.0 -> v. 7.0) juhend asub aadresil http://www.debian.org/releases/stable/amd64/release-notes/ch-upgrading.en.html
Debian v. 7 Wheezy GRUB2 versiooni on number selline
GNU GRUB version 1.99-27+deb7u1
Kui 2015 kevadel öelda
# apt-get update Hit http://ftp.ee.debian.org wheezy Release.gpg ... Reading package lists... Done W: There is no public key available for the following key IDs: 7638D0442B90D010
siis aitab
# apt-get install debian-keyring debian-archive-keyring
Debian v. 8 Jessie -> v. 9 Stretch uuendamine
Operatsioonisüsteemi uuendus toimub nagu tavaliselt, kuid viimaks sobib öelda
# aptitude search ?obsolete # aptitude purge ?obsolete
MySQL -> MariaDB uuendus toimub üldiselt automaatselt, aga sobib lõpus öelda (vt ligipääs failist /etc/mysql/debian.cnf)
# mysql_upgrade -h localhost -u debian-sys-maint -pparool
Kasulikud lisamaterjalid
- https://www.debian.org/releases/stretch/amd64/release-notes/ch-upgrading.en.html
- https://www.auul.pri.ee/wiki/MySQL_andmebaasi_kasutamine_operatsioonis%C3%BCsteemiga_Debian#Andmebaasi_uuendamine_MySQL_v._5.5_-.3E_MariaDB_v._10.1
insserv käivitussüsteemi kasutamine
Debian Squeeze v. 6.0 kasutab nn System-V-like käivitusskripte, kusjuures nende tööd saab seadistada insserv tarkvaraga
# cat /etc/init.d/nfsen #!/bin/sh set -e ### BEGIN INIT INFO # Provides: nfsen # Required-Start: $local_fs $remote_fs $network $time # Required-Stop: $local_fs $remote_fs $network $time # Should-Start: $syslog # Should-Stop: $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: NfSen Server ### END INIT INFO #!/bin/bash case "$1" in start) echo "Starting NfSen server" /srv/nfsen/bin/nfsen start ;; stop) echo "Stopping NfSen server" /srv/nfsen/bin/nfsen stop ;; *) echo "Usage: /etc/init.d/nfsen {start|stop}" exit 1 esac exit 0
/etc/rc3.d jt rc kataloogide alla tekivad lingid öeldes
# insserv nfsen
Käivitusskriptile linkide eemaldamiseks sobib öelda
# insserv -r nfsen
Lisaks -n võtme lisamine ainult näitab, mis toimuks
# insserv -n -d nfsen
Required-Start: rea lõppu lisades nt 'postgresql' tulemusena käivitatakse kõnealune programm peale PostgreSQL andmebaasi.
Lisamaterjalid:
Dhcpd serveri kasutamine
ISC DHCP tarkvara paigaldamiseks sobib öelda
# apt-get install dhcp3-server
DHCP serveri tööd juhib seadistusfail, nt
# cat /etc/dhcp/dhcpd.conf ddns-update-style none; default-lease-time 600; max-lease-time 7200; log-facility local7; shared-network auul { option domain-name "auul"; option domain-name-servers 10.192.0.53; subnet 192.168.50.0 netmask 255.255.255.0 { range 192.168.50.200 192.168.50.224; option routers 192.168.50.10; } }
Lisaks näidatakse failis /etc/default/isc-dhcp-server millistel võrguseadmetel teenust pakutakse
# cat /etc/default/isc-dhcp-server ... INTERFACES="eth1"
DHCP serveri käivitab skript
# /etc/init.d/isc-dhcp-server stop|start
At tööd
Töö tekitamiseks sobib öelda
$ echo "date >> /tmp/test.log" | at -t 201509250950
Tööde nimekirja esitamiseks
$ atq 10 Fri Sep 25 09:50:00 2015 a imre
Tehtud tööd eemaldatakse automaatselt, tuleviku tööde eemaldamiseks
$ atrm 10
Töö sisu esitamiseks
$ at -c 10
Cron tööd
Debiani cron töid juhivad sellised seadistusfailid
- /etc/crontab
- /etc/cron.d - kataloogis sisalduvaid faile käsitletakse cron kirjeldusfailidena, /etc/crontab formaadis (st sisaldub user väli)
- /etc/cron.daily
- /etc/cron.hourly
- /etc/cron.monthly
- /etc/cron.weekly
- /var/spool/cron/kasutajanimi
Kasulikud lisamaterjalid
- man cron
Anacron
Anacron http://anacron.sourceforge.net/ ...
tcp wrapper teegi kasutamine
Paljud Debiani programmid on kompileeritud vastu libwrap teeki, mis tähendab, et nende tööd saab kontrollida /etc/hosts.allow ja /etc/hosts.deny failidest. Nt nrpe deemoni puhul selleks, et lubada ligipääsu võrgust 172.18.20.0/24 sobib kasutada
# cat /etc/hosts.allow nrpe: 172.18.20.0/24
# cat /etc/hosts.deny nrpe: ALL
Seadistustes tehtud muudatused kehtestuvad kohe, midagi ei ole vaja reloadida ega restartida. Seda kas programm on kompileeritud vastu librwap teeki saab küsida
# ldd /usr/sbin/nrpe | grep libwrap libwrap.so.0 => /lib/libwrap.so.0 (0x00007fd00518b000)
dump ja restore kasutamine
Dump faili moodustamiseks
# umount /mnt/lvmkoitenimi # dump -0uf /tmp/failinimi.dump /dev/system/lvmkoitenimi DUMP: Date of this level 0 dump: Tue Jul 12 23:45:46 2011 DUMP: Dumping /dev/system/lvmkoitenimi (an unlisted file system) to /tmp/failinimi.dump DUMP: Label: none DUMP: Writing 10 Kilobyte records DUMP: mapping (Pass I) [regular files] DUMP: mapping (Pass II) [directories] DUMP: estimated 66671 blocks. DUMP: Volume 1 started with block 1 at: Tue Jul 12 23:45:47 2011 DUMP: dumping (Pass III) [directories] DUMP: dumping (Pass IV) [regular files] DUMP: Closing /tmp/failinimi.dump DUMP: Volume 1 completed at: Tue Jul 12 23:45:48 2011 DUMP: Volume 1 66500 blocks (64.94MB) DUMP: Volume 1 took 0:00:01 DUMP: Volume 1 transfer rate: 66500 kB/s DUMP: 66500 blocks (64.94MB) on 1 volume(s) DUMP: finished in 1 seconds, throughput 66500 kBytes/sec DUMP: Date of this level 0 dump: Tue Jul 12 23:45:46 2011 DUMP: Date this dump completed: Tue Jul 12 23:45:48 2011 DUMP: Average transfer rate: 66500 kB/s DUMP: DUMP IS DONE
kus
- -0 - tekitada full dump
- -u - kirjutada tegevuse kohta jälg /var/lib/dumpdates faili
- -f - salvestada dump näidatud faili
Dump failist taastamiseks
# mount /dev/system/lvmkoitenimi_2 /mnt/lvmkoitenimi_2 # cd /mnt/lvmkoitenimi_2 # restore -rf /tmp/failinimi.dump
kus
- -r - taastada dumpis käesolevasse kataloogi, mis on kuhu on monteeritud tühi failisüsteem
- -f - kasutatav dump fail
inetd
Debian Squeeze paketihaldusest saab valida erinevaid inetd servereid, openbsd-inetd paigaldamiseks sobib öelda
# apt-get install openbsd-inetd
2011. aasta keskel v. 1.3.5 sisaldab libexec/Lookup.pm teeki, kuhu on sisse kirjutatud whois.cyberabuse.org serveri nimi, kuid see server ei paku enam sobival viisil teenust ning tulemuseks on, et NfSen liideses ei saa enam ip aadressidel teha päringuid. Üheks alternatiiviks on seadistada käima lokaalne whois teenus, nt ühendades 43/tcp port ja sellise Perli skripti sisend ja väljund kokku inetd abil
# cat /srv/data/nfsen/libexec/whois.pl #!/usr/bin/perl my $filename = <>; foreach $rida($filename) { $vastus=`/usr/bin/whois $rida`; print $vastus; last; };
ning kasutades /etc/inetd.conf seadisusfailis rida
43 stream tcp nowait nobody /srv/data/nfsen/libexec/whois.pl whois.pl
whois päringute esitamise kontrollimiseks sobib öelda
$ whois -h 127.0.0.1 127.0.0.1 .. NetRange: 127.0.0.0 - 127.255.255.255 CIDR: 127.0.0.0/8 OriginAS: NetName: SPECIAL-IPV4-LOOPBACK-IANA-RESERVED NetHandle: NET-127-0-0-0-1 Parent: NetType: IANA Special Use
Kasutaja peab ise otsustama, kas talle selline lahendus sobib.
Kasulikud lisamaterjalid
http://www.telecom.otago.ac.nz/tele301/student_html/inetd-tcpwrappers.html
RPC portmapper
Debain Squeeze paketihaldusest saab valida erinevaid RPC portmap lahendusi, portmap paigaldamiseks sobib öelda
# apt-get install portmap
Arvutis töötavate RPC teenuste nimekirja küsimiseks sobib öelda
# rpcinfo -p hostname
Tundub, et rpcbind toetab erinevalt portmap tarkvarast IPv6 protokolli.
Netlink socket
ip programm suhtleb tuumaga kasutades netlink socket'it, mis praktiliselt tähendab nt seda, et ip programmi saab kasutada chroot keskkonnast, kus pole /proc failisüsteemi külge monteeritud (erinevalt ifconfig programmist, mis kasutab /proc failisüsteemi).
Kasulikud lisamaterjalid
Process accounting
Operatsioonisüsteemi Debian Squeeze vaikimisi tuum võimaldab koguda process accountiga andmeid. Seda sobib teha nt acct paketi tarkvara abil, paigaldamiseks sobib öelda
# apt-get install acct
Tulemusena paigaldatakse muu hulgas sellised failid
- /usr/bin/lastcomm
- /usr/bin/ac
- /usr/sbin/accton
- /usr/sbin/sa
- /usr/sbin/dump-utmp
- /usr/sbin/dump-acct
- /etc/cron.daily/acct
- /etc/init.d/acct
- /etc/default/acct
- /etc/cron.monthly/acct
Selleks, et arvutis töötavate protsesside kohta andmed kogunema hakkaksid, vaikimisi faili /var/log/account/pacct, tuleb öelda
# accton on | off
Kogutud andmete esitamine toimub selliselt
# dump-acct /var/log/account/pacct | tail -n 5 tail |v3| 0.00| 0.00| 0.00| 0| 0| 4088.00| 0.00| 19856 19253|Mon Sep 19 20:34:56 2011 cron |v3| 0.00| 0.00| 1.00| 0| 0| 18832.00| 0.00| 19857 1138|Mon Sep 19 20:35:01 2011 ssh |v3| 0.00| 1.00| 75.00| 0| 0| 43192.00| 0.00| 19860 19633|Mon Sep 19 20:35:06 2011 postgres |v3| 0.00| 0.00| 2.00| 109| 113| 94272.00| 0.00| 19863 1395|Mon Sep 19 20:35:09 2011 telnet |v3| 0.00| 0.00| 3.00| 1000| 1000| 22680.00| 0.00| 19870 19865|Mon Sep 19 20:35:19 2011
kus kuuendas tulbas on protsessi UID väärtus.
Passwords and encryption keys (Seahorse)
TODO
Mälu kasutamine
Arvuti mälu kasutamise kohta saab küsida selliselt
# free total used free shared buffers cached Mem: 509172 501192 7980 0 3784 200248 -/+ buffers/cache: 297160 212012 Swap: 1048568 92568 956000
kus
- total (509172) - kogu RAM (miinus natuke kerneli tarvis)
- used (501192) - kokku kasutusel
- free (7980) - kokku vaba
- buffers (3784) - kasutusel mälust on nii palju kasutusel buffers all
- cached (200248) - kasutusel mälust on nii palju kasutusel failisüsteemi cache'ina
- teisel real on toodud arvutatud used ja free, mis vastavad sellele, kui buffers + cached oleks vastavalt maha lahutatud või juurde liidetud; selline vaade on õigustatud, kuna Linux tuum vajadusel kasutab failisüsteemi cache'iks olevat mälu ressurssi muuks tarbeks
297160 = 501192 - 3784 - 200248 212012 = 7980 + 3784 + 200248
st kasutatud mälu on tegelikult vähem kui näib ja vaba mälu on vastavalt samapalju rohkem kui näib.
Jõudlus
Arvuteid on valmistatud kasutes erinevaid tehnoloogiaid ja lisaks muudele erinevustele erinevad nad ka mälu kasutamise kiiruse poolest. Üks võimalus mälu kasutamise jõudlust hinnata nö sünteetilise testiga (st spetsiaalselt selleks tarbeks valmistatud programmo abil), nt
Kasutamiseks tuleb viimaselt lingilt kopeerida tar.gz fail, pakkida arhiiv lahti ning öelda
$ ./stream-scaling
Tulemusena kompileeritakse programm, seejärel käivitatakse ning väljastatakse tulemus, nt
$ ./stream-scaling === CPU cache information === CPU /sys/devices/system/cpu/cpu0 Level 1 Cache: 32K (Data) CPU /sys/devices/system/cpu/cpu0 Level 1 Cache: 32K (Instruction) CPU /sys/devices/system/cpu/cpu0 Level 2 Cache: 6144K (Unified) ... Total CPU system cache: 25296896 bytes Suggested minimum array elements needed: 11498589 Array elements used: 11498589 === CPU Core Summary === processor : 3 model name : Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz cpu MHz : 1998.000 siblings : 4 === Testing up to 4 cores === ... ------------------------------------------------------------- Function Rate (MB/s) Avg time Min time Max time Copy: 4101.0477 0.0453 0.0449 0.0456 Scale: 4121.7264 0.0451 0.0446 0.0458 Add: 4982.5056 0.0557 0.0554 0.0560 Triad: 5001.9268 0.0556 0.0552 0.0561 ------------------------------------------------------------- Solution Validates ------------------------------------------------------------- Number of Threads requested = 2 Function Rate (MB/s) Avg time Min time Max time Triad: 5002.6618 0.0566 0.0552 0.0610 Number of Threads requested = 3 Function Rate (MB/s) Avg time Min time Max time Triad: 4892.7425 0.0577 0.0564 0.0607 Number of Threads requested = 4 Function Rate (MB/s) Avg time Min time Max time Triad: 4784.1065 0.0582 0.0577 0.0589
Mälu jõudlust on eriti mõtet hinnata selleks, et võrrelda olemasolevat süsteemi uuega, millega olemasolev kavatsetakse asendada.
Ressursikasutuse haldamine
- IO
# ionice -c 3 -p 1919
- CPU
# renice ...
Protsesside haldamine
Kasutaja postgres protsesside nimekirja nimekirja esitamine
# ps -a -f -u postgres
Kasutaja postgres protsesside ja vastavate lõimede nimekirja esitamine
# ps -aLf -u postgres
pdftk kasutamine
pdftk http://www.pdflabs.com/docs/install-pdftk/ paigaldamiseks sobib öelda
# apt-get install pdftk
tvtime kasutamine
# apt-get install tvtime
ning näidata
Please choose the TV standard to use -> PAL Please choose the frequency table to use -> Custom (must run tvtime-scanner first) Please choose the video4linux device which corresponds to your capture card -> /dev/video0 Please choose the device that will be used in NTSC areas for decoding closed captions and XDS channel information; Device to use for VBI decoding -> /dev/vbi0 Please choose whether tvtime should be "setuid root", therefore getting root privileges when running -> No
Esmalt tuleb laadida TV kaardile vastav draiver, nt selliselt
# rmmod saa7134 # modprobe saa7134 card=21 tuner=26
kus
- card sobiv valik tagab pildi
- tuner sobiv valik tagab heli
Seejärel skaneerida kanalid
$ tvtime-scanner Reading configuration from /etc/tvtime/tvtime.xml Scanning using TV standard PAL. Scanning from 44.00 MHz to 958.00 MHz. Found a channel at 607.00 MHz (605.50 - 608.25 MHz), adding to channel list. I/O warning : failed to load external entity "/home/imre/.tvtime/stationlist.xml" station: No station file found, creating a new one.
ning käivitada tvtime programm
# tvtime
Kasulikud lisamaterjalid
PAM
TODO
Kasutaja autentimine pam_unix abil
/etc/shadow failis on üldiselt toetatud sellised räsid
- $1$ - MD5
- $2a$ - blowfish
- $5$ - SHA-256
- $6$ - SHA-512
Kui osutab, et /etc/shadow ei tööta, st nt peale süsteemi uuendamist kasutaja sisestab õige parooli kuid ei saa sisse logida, siis tõenäoliselt ei sobi kokku /etc/pam.d/* seadistusfailid /etc/shadow sisuga.
Kasulikud lisamaterjalid
Gnome-shell
Gnome shell http://en.wikipedia.org/wiki/GNOME_Shell on ... ja kasutamine eeldab
- 3D toega videokaardi olemasolu, kusjuures kaart peab nö sobima (nt Radeon HD 3600 fglrx draiveriga annab vigu nö olulises kohas, GeForce 7600 GS nouveau draiveriga sobib)
Olulised asjad
- extensions
- gnome-tweak-tool
USB over IP
USB over IP tarkvara http://usbip.sourceforge.net/ abil saab teha ühe arvuti füüsilised USB seadme üle võrgu kasutatavaks teisest avutist.
Praktiliselt voib olla hada sellest, et user space ja kernel space tarkvara ei sobi kokku. Nt tundub, et Ubuntu (sh v. 14.04) paketihalduses on usbip v. 0.7, aga tuumas talle vajalikke mooduleid pole. Teine variant on, et kasutada saab usbip v. 1.1, millega tuuma moodulid naikse paremini kokku sobivat. Debian Jessie sisaldab 2014 aasta suvel v. 1.1 tarvkara ja see paistab töötavat.
Tööpõhimõte
TODO
Tarkvara paigaldamine
Tarkvara paigladamiseks sobib mõlemas arvuti öelda
# apt-get install usbip
Paigaldamise tulemusena tekib failisysteemi muu hulgas
- usbip - utiliit serveri seadistamiseks ja kliendi juhtimiseks
- usbipd - serveri poolel tootav deemon
Serveri poole ettevalmistamine ja käivitamine
Laadida moodulid
server:~# modprobe usbip_core server:~# modprobe usbip_host
Käivitada usbipd deemon, kuulab vaikimisi 3240/tcp pordil
server:~# usbipd
USB seadmete serveris olevate USB seadmete nimekirja esitamiseks sobib öelda
server:~# usbip list --local Local USB devices ================= - busid 1-1 (8087:0024) Intel Corp. : Integrated Rate Matching Hub (8087:0024) 1-1:1.0 -> hub - busid 1-1.2 (0781:5530) SanDisk Corp. : Cruzer (0781:5530) 1-1.2:1.0 -> usb-storage - busid 1-1.4 (0424:2514) Standard Microsystems Corp. : USB 2.0 Hub (0424:2514) 1-1.4:1.0 -> hub - busid 1-1.4.3 (046d:c31d) Logitech, Inc. : Media Keyboard K200 (046d:c31d) 1-1.4.3:1.0 -> usbhid 1-1.4.3:1.1 -> usbhid - busid 1-1.4.4 (046d:c05a) Logitech, Inc. : M90/M100 Optical Mouse (046d:c05a) 1-1.4.4:1.0 -> usbhid - busid 1-1.5 (04e6:e001) SCM Microsystems, Inc. : SCR331 SmartCard Reader (04e6:e001) 1-1.5:1.0 -> usbfs
Seadme eksportimiseks sobib oelda, nt Cruizer USB pulk jaoks
server:~# usbip bind -b 1-1.2 bind device on busid 1-1.2: complete
Tulemusena on --list väljundis vastav seade
- busid 1-1.2 (0781:5530) SanDisk Corp. : Cruzer (0781:5530) 1-1.2:1.0 -> usbip-host
Kliendi poole ettevalmistamine ja käivitamine
Laadida moodul
klient:~# modprobe vhci_hcd
Eksporditud seadmete nimekirja küsimiseks sobib öelda kliendi arvutis
klient:~# usbip list -r 192.168.10.10 Exportable USB devices ====================== - 192.168.10.10 1-1.2: SanDisk Corp. : Cruzer (0781:5530) : /sys/devices/pci0000:00/0000:00:07.0/usb1/1-1/1-1.2 : (Defined at Interface level) (00/00/00) : 0 - Mass Storage / SCSI / Bulk-Only (08/06/50)
Seadme kasutamiseks
klient:~# usbip attach -r 192.168.10.10 -b 1-1.2
Seejärel on seade paistab nagu kohalik seade ja on valmis kasutamiseks, nt
klient:~# lsusb Bus 009 Device 004: ID 0781:5530 SanDisk Corp. Cruzer ..
ja usbip spetsiifilisemalt
klient:~# usbip port Imported USB devices ==================== Port 00: <Port in Use> at High Speed(480Mbps) unknown vendor : unknown product (0781:5530) 9-1 -> usbip://192.168.10.10:3240/1-1.2 -> remote bus/dev 001/037
Kasutamise lõpetamiseks sobib öelda kasutades vhci_hcd pordi numbrit
klient:~# usbip detach --port=0
Serveri poolel kasutamise lõpetamine
Peale seda kui kliendi pool on seadme kasutamine lõpetatud, öelda
server:~# usbip unbind -b 1-1.2 unbind device on busid 1-1.2: complete
Kasulikud lisamaterjalid
- http://www.howtoforge.com/how-to-set-up-a-usb-over-ip-server-and-client-with-debian-lenny
- https://www.kernel.org/doc/readme/drivers-staging-usbip-userspace-README
Töötamine failisüsteemiga
Tavaliselt on häda miinus märgiga failidega töötamisel, -- võtme kasutamine aitab, nt '-failinimi' nimelise faili kustutamisel
$ rm -- -failinimi
USB netipulga kasutamine
USB netipulga kasutamine koosneb kahest osast
- arvutis peavad olema /dev/ttyUSB* nimelised usb serial seadmed
- ppp ühenduse loomiseks tuleb kasutada sobivat programmi, wvdial, Gnome desktopilt midagi vms
Tööpõhimõte
Kui netipulk ei tööta automaatselt, siis võib olla probleem selles, et süsteem tunneb ta ära storage seadmena ja mitte võrguseadmena
[11360165.312014] usb 1-4: new high-speed USB device number 10 using ehci-pci [11360165.458578] usb 1-4: New USB device found, idVendor=12d1, idProduct=1505 [11360165.458734] usb 1-4: New USB device strings: Mfr=3, Product=2, SerialNumber=0 [11360165.458900] usb 1-4: Product: HUAWEI Mobile [11360165.459001] usb 1-4: Manufacturer: Huawei Technologies [11360165.460790] usb-storage 1-4:1.0: USB Mass Storage device detected [11360165.461082] scsi10 : usb-storage 1-4:1.0 [11360166.461381] scsi 10:0:0:0: CD-ROM HUAWEI Mass Storage 2.31 PQ: 0 ANSI: 0 [11360166.478285] sr1: scsi-1 drive [11360166.478582] sr 10:0:0:0: Attached scsi CD-ROM sr1 [11360166.478694] sr 10:0:0:0: Attached scsi generic sg5 type 5
usb-modeswitch paketi tarkvara teeb temast võrguseadme.
/dev/ttyUSB* seadmete tekitamine
E392 kirjaga netipulk paistab faili usb.ids tõttu
# grep 1505 /var/lib/usbutils/usb.ids 1505 E398 LTE/UMTS/GSM Modem/Networkcard
lsusb väljundis E398
Bus 001 Device 041: ID 12d1:1505 Huawei Technologies Co., Ltd. E398 LTE/UMTS/GSM Modem/Networkcard
Kusjuures /dev kataloogis pole usb serialile vastavaid faili, st /dev/ttyUSB* nimelisi.
Kasutamiseks sobib tekitada fail
# cat /etc/usb_modeswitch.d/12d1\:1505 # Huawei E392 DefaultVendor= 0x12d1 DefaultProduct= 0x1505 TargetVendor= 0x12d1 TargetProductList=0x1506 MessageContent="55534243123456780000000000000011062000000100000000000000000000"
ning lisada faili /lib/udev/rules.d/40-usb_modeswitch.rules lõpupoole rida
# Huawei E392 ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1505", RUN+="usb_modeswitch '%b/%k'"
Seejärel võtta pulk usb pesast välja ja uuesti sisse panna, lsusb väljundis peaks nüüd olema, 1506 -> 1505 muutunud
Bus 001 Device 043: ID 12d1:1506 Huawei Technologies Co., Ltd. E398 LTE/UMTS/GSM Modem/Networkcard
ning lisaks tekkinud seadmed
# ls -ld /dev/ttyUSB* crw-rw---- 1 root dialout 188, 0 Dec 20 01:27 /dev/ttyUSB0 crw-rw---- 1 root dialout 188, 1 Dec 20 01:16 /dev/ttyUSB1 crw-rw---- 1 root dialout 188, 2 Dec 20 01:16 /dev/ttyUSB2
Tundub, et kui systemd millegipärast ei taha käivitada sobib öelda
# /usr/sbin/usb_modeswitch --default-vendor 0x12d1 --default-product 0x1505 -J
wvdial kasutamine
# cat /etc/wvdial.conf [Dialer Defaults] Phone = Username = Password = New PPPD = yes Modem Type = Analog Modem Phone = *99# ISDN = 0 Baud = 460800 Username = " " Password = " " Modem = /dev/ttyUSB0 Init1 = ATZ Init2 = at+cgdcont=1,"ip","internet.emt.ee" Stupid Mode = 1
kus
- TODO
käivitamiseks sobib öelda
# wvdial --> WvDial: Internet dialer version 1.61 --> Initializing modem. --> Sending: ATZ ATZ OK --> Sending: at+cgdcont=1,"ip","internet.emt.ee" at+cgdcont=1,"ip","internet.emt.ee" OK --> Modem initialized. --> Sending: ATDT*99# --> Waiting for carrier. ATDT*99# CONNECT --> Carrier detected. Starting PPP immediately. --> Starting pppd at Fri Dec 20 01:35:25 2013 --> Pid of pppd: 17139 --> Using interface ppp0 --> local IP address 10.128.53.223 --> remote IP address 10.64.64.64 --> primary DNS address 217.71.33.151 --> secondary DNS address 217.71.33.150
Tulemusena tekib ppp0 seade üle mille saab liiklust ruutida (teiste arvutite liiklust tuleb src nat'tida)
# ifconfig ppp0 ppp0 Link encap:Point-to-Point Protocol inet addr:10.128.77.124 P-t-P:10.64.64.64 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:7 errors:0 dropped:0 overruns:0 frame:0 TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:70 (70.0 B) TX bytes:157 (157.0 B)
Kasulikud lisamaterjalid
- http://trisquel.info/en/forum/install-huawei-e392-usb-lte-drivers
- http://www.draisberghof.de/usb_modeswitch/bb/viewtopic.php?t=681
- http://blog.bluedrive.ro/?p=28
- http://www.draisberghof.de/usb_modeswitch/
- https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/889878
- http://importgeek.wordpress.com/tag/12d11505/
- http://www.draisberghof.de/usb_modeswitch/bb/
- http://oliver.tele2.ee/kuidas-huawei-e1752-ja-ubuntu-10-04-kasikaes-internetti-lahevad/
- http://www.draisberghof.de/usb_modeswitch/bb/viewtopic.php?f=4&t=891&p=5898&hilit=12d1%3A1505#p5898
zip arhivaatori kasutamine
Parooliga kaitstud arhiivi moodustamiseks sobib öelda nt
$ zip -r --password parool katalooginimi.zip katalooginimi
Pipe viewer
Pipe viewer programmiga saab jälgida läbi toru mineva progressi. Paigaldamiseks sobib öelda
# apt-get install pv
Kasutamine paistab välja sedasi
# timeout 10 cat /dev/zero | pv > /dev/null 4GB 0:00:07 [1.91GB/s] [ <=> ..
AUFS
AUFS http://aufs.sourceforge.net/ võimaldab mitme kataloogi sisu esitada ühes nö virtuaalses kataloogis. Alternatiivne võimalus on seda saavutada UnionFS abil.
# mount -t aufs -o dirs=/tmp/kata1:/tmp/kata2:/root/kata3 none /tmp/dir
Network manager
Lisaks Network manager graafilisele kasutajaliidesele on olemas ka käsurea utiliit nmcli
# nmcli -p dev ================================================ Status of devices ================================================ DEVICE TYPE STATE CONNECTION ------------------------------------------------ docker0 bridge connected docker0 vetha88a ethernet connected vetha88a br0 openvswitch connected br0 br3 openvswitch connected br3 tep0 openvswitch connected tep0 eth0 ethernet unmanaged -- lo loopback unmanaged -- ovs-system openvswitch unmanaged --
Skänneri kasutamine
# apt-get install
Kasulikud lisamaterjalid
Logrotate
Näitab, mis toimub, aga midagi failisüsteemis vms ei tee
# logrotate -d /etc/logrotate.conf
Teeb nö jõuga
# logrotate -f /etc/logrotate.conf
Roteeritud failide nimedes kuupäeva kasutamiseks sobib logrotate seadistusfailide vastavates sektsioonides kasutada lisaks rida
dateext
Tulemuseks on nt
/var/log/apache2/access.log-20140922.gz
iPXE
Käesolevas tekstis mainitud dhcp serveri tarkvarana sobib kasutada paketti
# apt-get install isc-dhcp-server
ja tftpd serverina paketti
# apt-get install atftpd
iPXE tarkvara paketist
# apt-get install ipxe
Tööpõhimõte
Kui on kasutada nö tavalise PXE toega võrgukaardiga arvuti, siis üks viis iPXE tarkvara kasutamiseks on laadida see dhcp + tftp serverilt, nt sellise sektsiooniga
host hp.auul { hardware ethernet 64:31:50:6c:c0:b4; fixed-address 192.168.10.41; option broadcast-address 192.168.10.255; option routers 192.168.10.254; filename "undionly.kpxe"; next-server 192.168.10.10; option domain-name-servers 10.192.0.53; }
kus
- undionly.kpxe - paketist 'apt-get install ipxe'
Tulemusena ilmub vastava arvuti ekraanile iPXE ja Ctrl-B abil saab siseneda iPXE keskkonda. Nt võrgust Debian Jessie installeri käivitamine toimub sedasi
chain http://ftp.imool.ee/pub/incoming/imre/dj-install.ipxe
kus pöördutaval aadressil on tekst sisuga
# cat dj-install.ipxe #!ipxe kernel http://ftp.nl.debian.org/debian/dists/jessie/main/installer-amd64/current/images/netboot/debian-installer/amd64/linux initrd http://ftp.nl.debian.org/debian/dists/jessie/main/installer-amd64/current/images/netboot/debian-installer/amd64/initrd.gz boot
Seejärel käivitab Debian installer. Paistab, et Jessie oskab iSCSI peale paigaldada.
'chain' ütlemist saab automatiseerida nt sellise DHCP serveri sektsiooniga
host hp.auul { hardware ethernet 64:31:50:6c:c0:b4; fixed-address 192.168.10.41; option broadcast-address 192.168.10.255; option routers 192.168.10.254; next-server 192.168.10.10; option domain-name-servers 10.192.0.53; if exists user-class and option user-class = "iPXE" { filename "http://ftp.imool.ee/pub/incoming/imre/ipxe"; } else { filename "undionly.kpxe"; }
}
- esmalt klient arvuti töötab PXE abil DHCP kliendina ja laaditakse undionly.kpxe
- seejärel klient arvuti töötab iPXE abil DHCP kliendina ja pöördutakse http://ftp.imool.ee/pub/incoming/imre/ipxe poole
Debian v. 8 Jessie kasutamine diskless iSCSI kliendina
Üks praktiline vajadus iPXE jaoks on iSCSI ressursi kautamine juurfailisüsteemina. Selleks sobib Debian v. 8 Jessie paigaldada eelmises punktis näidatud viisil ja failisüsteemid paigutada iSCSI peale. Paigaldatud arvuti käivitamiseks sobib kasutada sellist iPXE skripti
# cat scsi-boot.ipxe #!ipxe dhcp set initiator-iqn iqn.1993-08.org.debian:01:6f3ac5994d50 sanboot iscsi:10.1.1.15::::iqn.2000-01.com.synology:syno-varundus-1.imretest.989d9f15bf
kus
- TODO
mis laaditakse dchp serveri seadistusfailist reaga
.. filename "http://ftp.imool.ee/pub/incoming/imre/iscsi-boot.ipxe"; ...
Kui Debian Jessie peaks bootimisel jääma initramfs prompti, siis võib aidata käsitsi sobivate argumentidega öelda
# iscsistart ...
või pärida iPXE käest
# iscsistart -b
kus
- -t - ...
Kasulikud lisamaterjalid
- http://backreference.org/2013/12/23/diskless-iscsi-boot-with-pxe-howto/
- http://www.heath-bar.com/blog/?p=184
- http://etherboot.org/wiki/sanboot/debian_lenny_iscsi
- http://ipxe.org/cmd/sanboot
- http://wiki.openelec.tv/index.php/Network_Boot_-_iSCSI
- http://jpmens.net/2011/07/18/network-booting-machines-over-http/
D-Bus
D-Bus http://www.freedesktop.org/wiki/Software/dbus/ ...
D-Bus peal toimuva jälgimiseks sobib kasutada nt d-feet programmi
# apt-get install d-feet
PlayPause toggleb pausi ja jätkamise vahel, selle rakendamist võib klõpsida hiirega ja öelda Execute või käsurealt
$ dbus-send --print-reply --session --dest=org.mpris.MediaPlayer2.vlc /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause method return sender=:1.913 -> dest=:1.917 reply_serial=2
Samal ajal ütleb dbus-monitor filtreeridest välja töötavale vlc eksemplarile (:1.913) vastused
$ dbus-monitor "sender=:1.913" ... method return sender=:1.913 -> dest=:1.978 reply_serial=2 signal sender=:1.913 -> dest=(null destination) serial=88 path=/org/mpris/MediaPlayer2; \ interface=org.freedesktop.DBus.Properties; member=PropertiesChanged string "org.mpris.MediaPlayer2.Player" array [ dict entry( string "PlaybackStatus" variant string "Paused" ) ] array [ ]
Kasulikud lisamaterjalid
Debian paigaldamine UEFI arvutisse
Olgu eesmärk paigadada UEFI firmwarega arvutisse Debian v. 8 Jessie, kusjuures kasutatakse kahe füüsilise kõvakettaga mdadm RAID1 lülitust. System setup keskkonnnas näidata moel või teisel, et arvuti töötab UEFI (mitte BIOS emulatsiooni vms) režiimis. Esimeseks boot valikuks valida UEFI shell. Shellis öelda
> fs0:\BOOT\EFI\BOOT...
Tulemusena käivitub Debian Installer (DI), kus tuleb seadistada selline kõvaketaste kasutus
- /dev/sda1 ja /dev/sdb1 - EFI System Partitionid, 512 MB
- /dev/sda2 ja /dev/sdb2 - mdadm mirror, 2 GB, kus hakkab paiknema /boot failisüsteem
- /dev/sda3 ja /dev/sdb3 - mdadm mirror, 24 GB, kus hakkab paiknema operatsioonisüsteem, LVM köidetel
- /dev/system/swap ja /dev/system/root - asub mdadm peal
- /dev/sda4 ja /dev/sdb4 jne - juurutatakse operatsioonisüsteemi keskkonnas
Tundub, et selliselt ettevalmistatud kõvakettakasutusest saab DI hästi aru ja tulemusena tekib selline süsteem
# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/dm-0 11403544 938660 9862568 9% / udev 10240 0 10240 0% /dev tmpfs 1631032 8724 1622308 1% /run tmpfs 4077572 0 4077572 0% /dev/shm tmpfs 5120 0 5120 0% /run/lock tmpfs 4077572 0 4077572 0% /sys/fs/cgroup /dev/md0 1888268 35564 1738736 3% /boot /dev/sda1 497696 148 497548 1% /boot/efi
Partitsioonid sellised
# parted /dev/sda p Model: ATA ST2000NM0033-9ZM (scsi) Disk /dev/sda: 2000GB Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 1049kB 512MB 511MB fat32 efsname boot, esp 2 512MB 2511MB 2000MB sda2part raid 3 2511MB 26.5GB 24.0GB sda3part raid
Lõpuks tuleb kopeerida /dev/sdb1 peale /dev/sda1 failisüsteemi sisu (EFI GRUB bootloader).
# efibootmgr BootCurrent: 0003 Timeout: 1 seconds BootOrder: 0003,0009,000D,0000,0001,0002 Boot0000* ATEN Virtual CDROM YS0J Boot0001* IBA GE Slot 0300 v1404 Boot0002* P0: ST2000NM0033-9ZM175 Boot0003* debian Boot0009* UEFI: Built-in EFI Shell Boot000D* UEFI: ATEN Virtual CDROM YS0J
Arvuti kloonimine
Arvuti kloonimise tulemusena moodustatakse olemasoleva arvuti tarkvaralisest seistust, st operatsioonisüsteem ja seal töötavad rakendused, töötav koopia. Sõltuvalt asjaoludest, nt kui koopia töötab samas võrgus ja samal ajal lähtepunktiks oleva arvutiga, peab talle seadistama erineva ip aadressi. Kloonimise põhjuseks võib olla nt soov taha arenduspartnerile kättesaadavaks täpselt samasugune seis arvutist nagu on juba kasutada, sel juhul jääb ära vähem või rohkem keerukas arvuti ettevalmistamise aeg, mis kuluks operatsioonisüsteemi ja rakendusprogrammide seaditamisele.
Kloonimine failisüsteemi kopeerimise teel
Kloonimiseks on rikkalikult võimalusi, käesolev juhtum kirjeldab kloonimist failisüsteemi kopeerimise teel
- valida välja sobiv klooniks saav arvuti, piisava protsessori, kõvakette, mälu, võrgu jms ressursiga
- käivitada puhas uus klooniks saav arvuti (füüsiline või virtuaalne) systemrescue cd plaadilt
- moodustada fdisk partitsioonid
- tekitada lvm
- tekitada failisüsteemid ja swap
# mkfs.ext4 /dev/sda1 # mkfs.ext4 /dev/system/root # mkswap -f /dev/system/swap
- ühendada failisüsteemid külge
# mkdir /mnt/root # mount /dev/system/root # mkdir /mnt/root/boot # mount /dev/sda1 /mnt/root/boot
- seadistada võrk
- veenduda, et lähtepunktiks olevas arvutis on klooni riistvara jaoks vajalikud draiverid ja muuud komponendid olemas (LVM, mdadm tugi jms)
- kopeerida rsync abil üle failisüsteem, vajalike eranditega (nt /proc, /sys, /home)
orig# rsync -avHXA --exclude --exclude-deleted --numeric-ids --exclude-from=/root/ex / root@x.x.x.x:/mnt/root/
- tekitada käsitsi excludetud kataloogid
# mkdir proc sys home tmp # chmod 1777 tmp
- kohendada seadistusfaile
/etc/fstab /etc/network/interfaces /etc/udev/rules.d/70-persistent-net.rules
- ühendada külgeühendatud failisüsteemid lahti
- rebootida valikuda 'Boot Linux from hard disk'
- paigaldada bootloader
# install-grub --recheck --no-floppy /dev/sda
- bootida paigaldatud bootloaderi promptist käsitsi
grub> linux /vmlinuz... root=/dev/mapper/system-root ro grub> initrd /initrd... grub> boot
- genereerida /boot/grub/grub.conf
# update-grub
Kopeeritud süsteemi korrastamine
Kopeeritud süsteemi edasiandmisel võib olla asjakohane pöörata tähelepanu sellistele asjaoludele, st kas ei anta edasi soovimatult palju andmeid
- kasutajate kodukataloogid (.ssh, .pgpass jt)
- root, postgres jt süsteemsete ja muidu alles jäänud kasutajate .bash_history failid
# history -c # rm .bash_history ...
- cron tööd (/etc/cron.*/*, crontab -l. /var/spool/cron ...)
- /var/backups (passwd.bak, shadow.pak jt)
- varunduse tarkvara agent (nt backupninja)
- monitooringu tarkvara agent (nt zabbix)
- liidestus AD vms keskse kasutajahalduse süsteemiga
- konfiguratsioooni halduse agent (nt puppet)
- logiserverisse logimine
- /tmp, /var/tmp kataloogide sisu
- /var/mail
- /usr/src
USB data bridge kasutamine
USB data bridge on kahe otsaga ja keskel asuvad punniga USB kaabel, mille abil saab kaks arvutit omavahel ühendada andmevahetuseks. Üks populaarne kaabel paistab välja sedasi
# lsusb Bus 001 Device 005: ID 067b:2501 Prolific Technology, Inc. PL2501 USB-USB Bridge (USB 2.0)
Tundub, et Debiani tuumas on mitme sarnase kaabli tugi, aga mitte päris PL2501 oma. Toe tekitamist kirjeldatakse aadressil https://lkml.org/lkml/2012/7/23/106. Muudatuste tegemiseks sobib kasutada tekstis http://www.auul.pri.ee/wiki/Operatsioonis%C3%BCsteemi_Debian_GNU/Linux_paketihalduse_kasutamine#Tuuma_kompileerimine kirjeldatud protseduuri.
Peale mooduli laadimist tekib võrguseade
# ifconfig usb0 usb0 Link encap:Ethernet HWaddr a2:68:73:e5:d6:6e inet6 addr: fe80::a068:73ff:fee5:d66e/64 Scope:Link ...
Kasulikud lisamaterjalid
Single user ehk ühekasutaja režiim
Juhtumil, kui arvutisse ei saa root kasutajana sisse logida ja pole ka root parooli teada, et konsoolilt sisse logida, saab kasutada single user režiimi ja seal root parool muuta. Selleks tuleb
- GRUB bootloaderis liikuda nooltega meelepärase boot valiku peale
- vajutada e nagu edit (see on ekraani all kirjas)
- liikuda kernel parameetri juurde ja lisada kõige lõppu juurde tühik ning seejärel
init=/bin/bash
- valida ctrl-x vms (see on ekraani all kirjas) ja arvuti bootida
Tulemusena jõuab arvuti välja nn single user prompti. Selles olekus töötab arvutis suhteliselt vähe protsesse, juurfailisüsteem on monteeritud read-only olekus, võrk on seadistamata jne. root kasutaja või mõni muu kasutaja parooli seadmiseks tuleb
- monteerida juurfailisüsteem read-write olekusse
# mount -o rw,remount / # passwd kasutajanimi # sync # mount -o ro,remount / # sync # oodata 30 sekundit # reboot -f
Seejärel peaks saama seda uut parooli kasutada.
Ksplice kasutamine
Kasulikud lisamaterjalid
Arvuti ressursikasutuse kaardistamine
Protsessid
# ps auxef
Avatud failid
# lsof -n -p PID # lsof -n -u USER
Võrgusoketid
# lsof -i TCP # lsof -i UDP # lsof -U - unix domain sockets
Semafoorid
# ipcs -u ------ Shared Memory Status -------- segments allocated 2 pages allocated 4309411 pages resident 4136103 pages swapped 169536 Swap performance: 0 attempts 0 successes ------ Semaphore Status -------- used arrays = 64 allocated semaphores = 1083 ------ Messages Status -------- allocated queues = 0 used headers = 0 used space = 0 bytes
Nt sellise skript kasutamine cron tööna kord minutis võiks koguda midagi, lisaks sar andmestikule
# cat /opt/osres/bin/osres.sh #!/bin/bash AEG=`date +%Y%m%d-%H%M%S`; LOG="/var/log/osres"; if test -f /tmp/osres.lock; then echo "protsess kaib" >> /tmp/osres.log # echo "kaivitame crontabist osres" >> /tmp/osres.log else touch /tmp/osres.lock echo "protsess kaivitatakse" >> /tmp/osres.log timeout 20 ps auxef >> ${LOG}/ps-auxef_${AEG}.log AEG=`date +%Y%m%d-%H%M%S`; timeout 20 lsof -n >> ${LOG}/lsof-n_${AEG}.log AEG=`date +%Y%m%d-%H%M%S`; timeout 20 ipcs -a >> ${LOG}/ipcs-a_${AEG}.log AEG=`date +%Y%m%d-%H%M%S`; timeout 20 ipcs -u >> ${LOG}/ipcs-u_${AEG}.log AEG=`date +%Y%m%d-%H%M%S`; timeout 20 netstat -anp >> ${LOG}/netstat-anp_${AEG}.log AEG=`date +%Y%m%d-%H%M%S`; timeout 20 conntrack -L >> ${LOG}/conntrack-L_${AEG}.log AEG=`date +%Y%m%d-%H%M%S`; timeout 20 touch /var/lib/postgresql/iocheck/io_${AEG} AEG=`date +%Y%m%d-%H%M%S`; timeout 20 ping -c 4 127.0.0.1 > ${LOG}/ping_127.0.0.1_${AEG}.log AEG=`date +%Y%m%d-%H%M%S`; timeout 20 ping -c 4 10.0.6.73 > ${LOG}/ping_10.0.6.73_${AEG}.log AEG=`date +%Y%m%d-%H%M%S`; timeout 20 ssh root@127.0.0.1 "date > ${LOG}/touch-over-ssh_${AEG}.log" AEG=`date +%Y%m%d-%H%M%S`; timeout 20 dig @10.0.9.4 auul.pri.ee soa >> ${LOG}/dig-10.0.9.4-auul.pri.ee-soa_${AEG}.log AEG=`date +%Y%m%d-%H%M%S`; export PGPASSWORD="xxx" timeout 20 psql -h 10.0.6.174 -U monitoring baas -c "select now();" >> ${LOG}/psql-10.0.6.174-monitoring-portaal_${AEG}.log rm /tmp/osres.lock fi
Capabilities
Linuxi tuumas on üldotstarbeline capability süsteem, mille abil nt saab protsesside anda erinevaid privileege. Nt üks selline capabiliti on dac_override, mis seisneb selles, et root kasutajal on õigus sõita üle enamusest piirangutest, nt saab root töötada kasutajale kuuluvate failidega. Kui root kasutajale ei anna apparmor profiil erilisi privileege, siis root kasutaja on enam-vähem samaväärne tavakasutajaga, mille nimeks on 'root'. St tal ei ole õigust nt teiste kasutajate faile lugeda. Selleks, et root kasutajale kehtestatud apparmor profiili tingimustes see ülesõitmise privileeg tagasi tekiks sobib kasutada profiilis rida 'capability dac_override'. Capability süsteem on üldotstarbeline, ta ei ole LSM komponent, nt üks tema esinemise koht on selles, et uuemal ajal /bin/ping ei ole enam setuid
# ls -ld /bin/ping -rwxr-xr-x 1 root root 44104 Nov 8 2014 /bin/ping # getcap /bin/ping /bin/ping = cap_net_raw+ep # getfattr -d -m "^security\\." /bin/ping getfattr: Removing leading '/' from absolute path names # file: bin/ping security.capability=0sAQAAAgAgAAAAAAAAAAAAAAAAAAA=
Kusjuures stat programm kasutab nn legacy syscall'i ja ei esita capabilities kohta infot (olevat olemas ka statx)
Failile cap seadistamiseks sobib öelda nt
# setcap cap_net_raw,cap_setuid,cap_setgid+ep /tmp/capable
kus
- +ep - kehtestatud
Kasulikud lisamaterjalid
ConsoleKit
2017 seisuga paistab see olevat vananenud tehnoloogia, kasutatakse systemd-logind.
Kasulikud lisamaterjalid
- TODO
Võrgukaart - CPU affinity
TODO
Järgneval viisil tegutsemiseks on vaja ircbalance deemoni töö lõpetada
# systemctl stop irqbalance
Võrgukaardi multi-queue omadused
# ethtool -l eth0 Channel parameters for eth0: Pre-set maximums: RX: 8 TX: 8 Other: 0 Combined: 0 Current hardware settings: RX: 2 TX: 2 Other: 0 Combined: 0
Võrgukaardi ja cpu ja interrupt vahelised seosed
# cat /proc/interrupts | egrep "CPU|eth" CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7 48: 0 0 0 38 0 1339257 461106 0 PCI-MSI 2097152-edge eth0-0 49: 0 0 1 67 2071270 0 0 143901 PCI-MSI 2097153-edge eth0-1 57: 0 0 1738287 4 0 0 0 0 PCI-MSI 2099200-edge eth1-0 58: 0 3918708 0 38 0 0 0 0 PCI-MSI 2099201-edge eth1-1
kus
- 48, 49 jnt on interrupt number
# cat /proc/irq/57/smp_affinity 04
kus
- hex 04 vastav väärtus on bin 0000 0100
- bin väärtuses olev paremalt kolmandal positsioonil olev '1' tähistab süsteemis olevat kolmandat protsessorit, st alates nullist lugedes CPU2
Affinity muutmiseks, st selle muutmiseks, milline cpu tegeleb millise võrgukaardiga (või võrgukaardi queue'ga) sobib öelda uus cpu number, nt seostamiseks CPU3 protsessoriga
# echo 08 > /proc/irq/57/smp_affinity
CPU numeratsioon
- 0000 0001 (bin) ehk 01 (hex) - esimene (CPU0)
- 0000 0010 (bin) ehk 02 (hex) - teine (CPU1)
- 0000 0100 (bin) ehk 04 (hex) - kolmas (CPU2)
- ...
- 1000 0000 (bin) ehk 80 (hex) - kahesas (CPU7)
Tundub, et võrgukaardi queue'de arvu muutmiseks sobib öelda
# ethtool -L eth0 tx 2 # ethtool -L eth0 rx 2
Siin kirjeldatud viisil tehtud seadistused ei kehtestu peale rebooti.
Watchdog
TODO
Kasulikud lisamaterjalid
- https://github.com/miniwark/miniwark-howtos/wiki/Hardware-Watchdog-Timer-setup-on-Ubuntu-12.04
- http://odroid.com/dokuwiki/doku.php?id=en:odroid_linux_watchdog
- https://pve.proxmox.com/wiki/High_Availability
- https://pve.proxmox.com/wiki/High_Availability_Cluster_4.x
- https://lesterlo.wordpress.com/2017/06/23/enable-ipmi-watchdog/
- http://www.madore.org/~david/linux/iTCO-wdt-test.html
- https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/virtualization_administration_guide/section-libvirt-dom-xml-watchdog
- https://casesup.com/using-the-nmi-watchdog-to-detect-hangs/
- https://gist.githubusercontent.com/wmealing/5523247/raw/4dc0474cabc35a9b79cd49fc7eab1f027ea80606/nmi-interrupts.txt
- https://github.com/spotify/linux/blob/master/Documentation/nmi_watchdog.txt
Softdog
TODO
Misc
- Kopeerimise kiiruse kontrollimine pipe peal
# apt-get install pv # ssh root@192.168.112.113 'cd /tmp && dd if=/dev/pve/vm-109-disk-1 bs=1M' | pv -L 15m | dd of=/dev/kvmvg/vm-1019-disk-1 bs=1M
Viber
Viber https://www.viber.com/ on suhtlemistarkvara, paigaldamiseks sobib öelda nt Debian v. 8 ja v. 9 keskkonnas
# apt-get install libxcb-xkb1 libxcb-icccm4 libxcb-image0 libxcb-render-util0 # apt-get install libqt5gui5 # dpkg -i viber.com
ja käivitamiseks
$ /opt/viber/Viber
Kasulikud lisamaterjalid
- https://daksaitay.noblogs.org/post/2017/01/17/viber-on-debian-8-jessie-desktop/
- http://www.roydoer.com/viber-on-ubuntu-14-04-64bit/
KeePassX
MÄRKUS 20190126 - tundub, et õigem projekt on https://en.wikipedia.org/wiki/KeePassXC (C nagu community ja paketinimi keepassxc)
# apt-get intall keepassx
andmebaasi failinime lõpp on .kdbx
Password Gorilla
# apt-get install password-gorilla
andmebaasi failinime lõpp on .psafe3
2018 - Debian v. 9 Stretch paigaldamine
Installeris menüüde läbimise näide
- Installeri keel - "English"
- Select your location: Other > Europe > Estonia
- Configure locales - United States - en_US.UTF-8
- Keymap to use - Estonian
- Hostname - ühekohalinenimi (vist tulemus sõltub kas võrk eelnevalt just seadistati dhcp'ga, antud näites nii oli)
- Domain name - sise.moraal.ee
- Root password - parool
- User name - nimi
- User password - parool
- partitsioonimine (nt efi + lvm)
- Configure package manager - Estonia - ftp.ee.debian.org
- HTTP proxy - tühi
- Contest - no
- Software selection - OpenSSH server ja standard system utilities
- Reboot
2019 - Debian v. 10 Buster paigaldamine
Installeris menüüde läbimise näide
- Installeri keel - "English"
- Select your location: Other > Europe > Estonia
- Configure locales - United States - en_US.UTF-8
- Keymap to use - Estonian
- Hostname - ühekohalinenimi (vist tulemus sõltub kas võrk eelnevalt just seadistati dhcp'ga, antud näites nii oli)
- Domain name - sise.moraal.ee
- Root password - parool
- User name - nimi
- User password - parool
- partitsioonimine (nt efi + lvm)
- Configure package manager - Estonia - ftp.ee.debian.org
- HTTP proxy - tühi
- Contest - no
- Software selection - OpenSSH server ja standard system utilities
- Reboot
linux-perf
Paigldamine
Paigaldamiseks sobib öeld
# apt-get install linux-perf
Kasutamine
perf.data faili salvestamine käesolevasse kataloogi
# /usr/bin/perf record -e sched:sched_process_exec -a
Salvestatud andmete loetaval kujul esitamine
# /usr/bin/perf script --header
Kasulikud lisamaterjalid
Wireguard
Debian v. 10 Buster
TODO
Lisada buster-backports repo
TODO
Paigaldada buster-backports repost wireguard
kus
- paigaldatakse wireguard-dkms wireguard-tools wireguard
- paigaldatakse hulka bui
Debian v. 11 Bullseye
# apt-get install wireguard
MBR -> GPT partitsioonitabeli teisendamine
Tööpõhimõte
- MBR partitsioonitabel hõlvab tavalisel lihtsal juhul plokkseadme esimsesed 512 Baiti
- GPT partitsioonitabel hõlvab tavaliselt plokkseadme esimsed ja viimased 34 * 512 Baiti
- tundub, et seoses uuema ajal 1 MBait piirile asjade sättimisega algab nii MBR kui GPT puhul esimene partitsioon 2048'ndal sektoril; st plokkseadme alguses on rikkalikult vaba ruumi teisendatud gpt jaoks; probleemiks võib olla, plokkseadme lõpus pole piisavalt vaba ruumi backup gpt jaoks
- sektori suurus on 512 Baiti
- MBR partitsioonitabelis on ühte partitsiooni puudutava sissekande suurus 16 baiti, millest 4 baiti ehk 16 bitti on kasutusel partitsiooni moodustavate sektorite hulga tähistamiseks (# echo 2^32*512/1024^3 | bc -> 2048 Gigabyte)
- GPT partitsioonitabelis on ühte partitsiooni puudutava sissekande suurus 128 baiti, millest 8 baiti ehk 64 bitti on kasutusel partitsiooni moodustavate sektorite hulga tähistamiseks (# echo 2^64*512/1024^3 | bc -> väga palju)
- muudatuse käigus partitsioone moodustavaid plokke plokkseadmel ümber ei paigutata
- kui mbr partitsioonitabelis on kasutusel ainult primaarsed partitsioonid ning ilma nö aukudeta partitsioonide vahel, siis on tulemuseks samuti ilma aukudeta üksteisele järgnevad gpt partitsioonid
- antud tekst ei kästile seda, aga boot kood asub mbr puhul esimeses 446 baidis
- gpt puhul põhimõtteliselt boot koodi ei ole kasutusel uefi põhises süsteemis (kasutatakse efi partitsiooni)
Teisendamine
Olgu lähtepunktiks selline plokkseadme kasutus, mbr partitsioonitabel
# fdisk /dev/vdc -l Disk /dev/vdc: 16 GiB, 17179869184 bytes, 33554432 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xdaa60afa Device Boot Start End Sectors Size Id Type /dev/vdc1 2048 33097727 33095680 15.8G 83 Linux
ning partitsioonil üks ext4 failisüsteem, mis on monteeritud
# df -h -T /dev/vdc1 Filesystem Type Size Used Avail Use% Mounted on /dev/vdc1 ext4 16G 1.7G 13G 12% /mnt/vdc1
Eesmärk on teisendada partitsioonitabel gpt kujule säilitades seejuures failisüsteemi sisu. Selleks sobib kasutada sellist protseduuri, esmalt monteerida failisüsteem lahti
# umount /dev/vdc1
seejärel teha mbr partitsioonitabelist varukoopia
# dd if=/dev/vdc of=backup.mbr bs=512 count=1
gdisk ehk 'gpt fdisk' programm sobib gpt partitsioonitabeli haldamiseks, sealhulgas vaikimisi ta püüab mbr partitsioonitabeli teisendada gpt kujule. See on tehniliselt tavaliselt võimalik kuna mbr asub plokkseadme alguses ja seal on nö kasutamata ruumi.
# gdisk /dev/vdc GPT fdisk (gdisk) version 0.8.10 Partition table scan: MBR: MBR only BSD: not present APM: not present GPT: not present *************************************************************** Found invalid GPT and valid MBR; converting MBR to GPT format in memory. THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by typing 'q' if you don't want to convert your MBR partitions to GPT format! *************************************************************** Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): Y OK; writing new GUID partition table (GPT) to /dev/vdc. The operation has completed successfully.
kus
- programm tuvastab esmalt, et plokkseadmel on kasutusel MBR partitsioonitabel
- w abil tehakse muudatus
- Y abil kirjutatakse muudatus üles
Kuna Linux operatsioonisüsteemi puhul eristatakse plokkseadmel ja mälus olevat seisu plokkseadme kasutusest, siis tuleks täielikuks muudatuse kehtestamiseks teha lihtsalt reboot arvutile või öelda
# partprobe /dev/vdc
Tulemusena kasutatakse plokkseadmel gpt partitsioonitabelit
# fdisk /dev/vdc -l Disk /dev/vdc: 16 GiB, 17179869184 bytes, 33554432 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 469E6D74-0022-4200-B0FD-2C5FAED7DCAD Device Start End Sectors Size Type /dev/vdc1 2048 33302527 33300480 15.9G Linux filesystem
Muudatuse tagasivõtmine
Muudatuse tagasivõtmiseks sobib öelda (kuigi nii jääb alles plokkseadme lõppu gpt backup; teatud bios'ide puhul võib see tekitada probleeme, bios on agar ja taastab selle alusel primaarse gpt partitsioonitabeli)
# umount /mnt/vdc1 # dd if=backup.mbr of=/dev/vdc bs=512 count=1 # partprobe /dev/vdc # mount /dev/vdc1 /mnt/vdc1
Kasulikud lisamaterjalid
- https://easylinuxji.blogspot.com/2018/12/what-is-disk-partitioning-disk.html
- https://dannyda.com/2021/05/07/how-to-convert-ubuntu-20-04-1-lts-os-disk-from-mbr-to-gpt-gpt-to-mbr-without-losing-data/
- http://www.rodsbooks.com/gdisk/mbr2gpt.html
Kasutajakonto operatsioonid
Konto lukustamine kusjuures see takistab ainult parooliga autentimist, nt ssh võtmega saab sisse
# passwd -l kasutajanimi # passwd -u kasutajanimi
Konto expire, see takistab igasuguseid kanaleid (eeldab, et pam vms on seadistatud expirega tegelema)
# usermod --expiredate 1 kasutajanimi
grep kasutamine
Perl regulaaravalidsega
TODO
Järjestikulised grep'id ei toimi vahel, aitab nt
# tail -f /var/log/pveproxy/access.log | grep --line-buffered "PUT" | grep --line-buffered firewall | grep --line-buffered option
Debian v. 12 ext4 failisüsteem read-only olekus
Tundub, et kõige tavalisem Debian v. 12 paigaldus, mis kaustab ext4 failisüsteemi (lvm kihi peal) käitub read-only olekus selliselt, et mingil määral näiliselt avatud failidesse kirjutamised jätkuvad. Seejuures kirjutajale jääb mulje, et kirjutamine õnnestus lõpetada edukalt. (Samal ajal uusi faile ei saa tekitada, olemasolevate failide muutmisi ei saa alustada.) Nähtuse jälgimiseks-taaskordamiseks-esilekutsumiseks sobib selline protseduur
1. Proxmox PVE keskkonnas töötab lvm põhisel storage'l Debian v. 12 virtuaalne arvuti
2. Alustatakse eemalt pv abil piiratud kiirusega faili kopeerimist (etteruttavalt on siin toodud ära ka kopeeriv cat programmi edukas exit code; fail.img-4 on 36 MB suur)
$ cat fail.img-4 | ssh root@192.168.110.246 'pv -q -L3500K | cat > /root/tere4; echo $?' 0
3. umbes kolmveerandi kopeerimise pealt viiakse PVE host peal virtuaalsele arvutile vastav plokkseade read-only olekusse
# lvchange -pr vg_data/vm-615-disk-2
4. ootus on, et virtuaalne arvuti reageerib sellele oma juurfailisüsteemi read-only olekusse lülitamisega
5. ootus on, et kopeerimine lõpeb edukalt
6. ootus on, et vaatamata read only olekule Debian operatsioonisüsteemi saab veel natuke kasutada, ja küsida (tulemus klapib orig fail.img-4 failiga)
# sha256sum /root/tere4
6. virtuaalne arvuti stop'itakse PVE abil 7. viiakse plokkseade tagasi rw režiimi
# lvchange -prw vg_data/vm-615-disk-2
8. käivitatakse virtuaalne arvuti
9. kõnealune fail, mis näiliselt õnnestus edukalt kopeerida on väiksema suurusega (või suurusega null)
Märkused
- analoogselt käitub Ubuntu v. 22.04
- Ubuntu v. 22.04 (ja tõenäoliselt Debian v. 12) + ext3 failisüsteem nö hoiavad kinni read-only lubadusest ja sellist nähtust ei toimu
- Vanemad Ubuntu ja Debian versioonid hoiavad kinni read-only lubadusest ja sellist nähtust ei toimu
- PVE host peal lvchange ütlemisele alternatiiviks on virtuaalse arvuti siseselt öelda
# echo u > /proc/sysrq-trigger
- lisaks PVE keskkonnale toimub analoogiline nähtus vmware virtuaalse arvutiga
Kasulikud lisamaterjalid
- Operatsioonisüsteemi Debian GNU/Linux paketihalduse kasutamine
- http://www.debian.org/security/
- http://www.debian-administration.org/
- http://wiki.debian.org/
- http://www.debian.org/distrib/packages
- http://debian.org/doc/maint-guide
- http://www.debianadmin.com/
- http://debian.catsanddogs.com/
- http://debconf9.debconf.org/ - sisaldab videosalvestusi Debiani arendajate esinemistest DebConfidel
- http://cdimage.debian.org/cdimage/unofficial/non-free/firmware/lenny/current/
- http://debian-live.alioth.debian.org/
- http://www.emdebian.org/