Sisällysluettelo Contents
|
LTSP5 - Chroot
Tässä ohjeessa kuvaillaan, mitä päätteessä tapahtuu, kun päätteeseen liitetään USB-väylään joko muistitikku tai digikamera. Myös päätteeseen liitettyä näyttöä voi jollakin tavoin selvittää tämän ohjeen avulla. Päätteen ympäristönä toimii palvelimella oleva /opt/ltsp-hakemisto. Se on luotu joko asennuksen yhteydessä tai myöhemmin "ltsp-build-client"-käskyllä.
man ltsp-build-client
"ltsp-build-client builds an ltsp client chroot using standard packages for use with the ltsp server. This chroot installation can be modified in a number of ways as outlined in the OPTIONS section. If present, defaults will be read from the configuration file /etc/ltsp/ltsp-build-client.conf, and will be overridden by using the command line options. Visit http://www.ltsp.org for more information."
Tässä ohjeessa on käytetty tätä päätettä:
Fujitsu-Siemens Scenic (P4/256/i845G)
Usb-tikku on malliltaan "Viking Interworks 512 MB USB 2.0 DRIVE" ja digikamera "Olympus µ720 SW". Näyttö on "Nokia 447PRO 17" CRT".
Root-tunnuksen käyttöönotto pääteympäristössä
Pääkäyttäjän oikeuksilla siirrytään päätteiden chroot-ympäristöön.
sudo chroot /opt/ltsp/i386
Tämän jälkeen annetaan root-tunnukselle salasana. Chroot-ympäristössä ei ole muita tunnuksia, joten passwd-käskyyn ei tarvitse liittää tunnusta. Salasana annetaan luonnollisesti kaksi kertaa samalla tavalla.
passwd
Chroot-ympäristöstä poistutaan "exit"-komennolla.
exit
Levykuva pitää päivittää salasanan antamisen jälkeen.
sudo ltsp-update-image
Kun pääte on käynnistynyt, niin Ctrl-Alt-F1 -komennolla voidaan kirjautua root-tunnuksella ja äsken annetulla salasanalla päätteen konsolista päätteen omaan ympäristöön, joka siis vastaa hakemistoa /opt/ltsp palvelimella.
Tämän ohjeen teossa törmättiin virheilmoitukseen "Your account has expired, please contact your system administrator" eikä kirjautuminen onnistunut. Tästä päästään eteenpäin kirjautumalla palvelimelle vielä kerran chroot-ympäristöön ja antamalla seuraava käsky chroot-ympäristössä.
sudo chroot /opt/ltsp/i386
passwd -u root
Poistutaan chroot-ympäristöstä.
exit
Tämän jälkeen levykuva rakennettiin vielä kerran ja nyt päätteen konsolilta oli mahdollista kirjautua root-käyttäjänä sisään.
sudo ltsp-update-image
Muistilista chroot-ympäristön päivittämisestä
- sudo chroot /opt/ltsp/i386
- mount -t proc /proc /proc
- export LTSP_HANDLE_DAEMONS=false
- apt-get update
- apt-get upgrade TAI apt-get dist-upgrade
- /usr/share/ltsp/update-kernels
- umount /proc
- exit
- ltsp-update-kernels
Ssh-palvelun käyttöönotto pääteympäristössä
Kun tiedetään päätteen ip-numero, siihen voidaan ottaa myös ssh-yhteys root-tunnuksella. Tämä vastaa täysin konsolista sisäänkirjautumista.
Ensin palvelimella tehdään kaksi liitosta /opt/ltsp-hakemistoon.
sudo mount --bind /dev /opt/ltsp/i386/dev sudo mount -t proc none /opt/ltsp/i386/proc sudo mount -o bind /dev/pts /opt/ltsp/i386/dev/pts
Tämän jälkeen laitetaan kuntoon sources.list- ja resolv.conf-tiedostot.
sudo cp /etc/apt/sources.list /opt/ltsp/i386/etc/apt/sources.list sudo cp /etc/resolv.conf /opt/ltsp/i386/etc/
Siirrytään chroot-ympäristöön.
sudo chroot /opt/ltsp/i386
Tiedot saatavilla olevista ohjelmista päivitetään.
apt-get update
Tehdään päivitys.
apt-get dselect-upgrade
Asennetaan ssh-palvelu chroot-ympäristöön.
apt-get install ssh
Poistutaan chroot-ympäristöstä.
exit
Tämän jälkeen levykuva rakennettiin vielä kerran.
sudo ltsp-update-image
Palvelimelta otetaan yhteys päätteeseen root-tunnuksella, jonka salasana oli annettu aiemmin.
asmok@ubuntu:~$ ssh root@192.168.1.244 The authenticity of host '192.168.1.244 (192.168.1.244)' can't be established. RSA key fingerprint is a5:06:53:38:f3:92:bd:28:1a:40:f0:3a:b2:10:61:cb. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.1.244' (RSA) to the list of known hosts. root@192.168.1.244's password: Last login: Wed Jun 18 20:44:33 2008 root@ltsp:~#
USB-tikun liittäminen päätteeseen
Kun USB-tikku liitetään päätteeseen, niin sen liittäminen näkyy myös F1-konsolissa, kun siihen on ensin kirjauduttu root-tunnuksella.
Kun root-tunnuksella on otetaan ssh-yhteys päätteeseen ja ajetaan päätteessä "dmesg"-komento, nähdään USB-tikun liittäminen päätteeseen.
[ 387.252052] usb 3-4: new high speed USB device using ehci_hcd and address 2 [ 387.468351] usb 3-4: configuration #1 chosen from 1 choice [ 387.544144] usbcore: registered new interface driver libusual [ 387.568034] Initializing USB Mass Storage driver... [ 387.571402] scsi2 : SCSI emulation for USB Mass Storage devices [ 387.573862] usbcore: registered new interface driver usb-storage [ 387.573873] USB Mass Storage support registered. [ 387.575781] usb-storage: device found at 2 [ 387.575787] usb-storage: waiting for device to settle before scanning [ 392.581838] usb-storage: device scan complete [ 392.583332] scsi 2:0:0:0: Direct-Access USB Flash Memory 1.00 PQ: 0 ANSI: 2 [ 392.607090] Driver 'sd' needs updating - please use bus_type methods [ 392.615822] sd 2:0:0:0: [sda] 1001472 512-byte hardware sectors (513 MB) [ 392.617418] sd 2:0:0:0: [sda] Write Protect is off [ 392.617424] sd 2:0:0:0: [sda] Mode Sense: 0b 00 00 08 [ 392.617427] sd 2:0:0:0: [sda] Assuming drive cache: write through [ 392.627787] sd 2:0:0:0: [sda] 1001472 512-byte hardware sectors (513 MB) [ 392.629288] sd 2:0:0:0: [sda] Write Protect is off [ 392.629293] sd 2:0:0:0: [sda] Mode Sense: 0b 00 00 08 [ 392.629295] sd 2:0:0:0: [sda] Assuming drive cache: write through [ 392.631246] sda: sda1 [ 392.632775] sd 2:0:0:0: [sda] Attached SCSI removable disk [ 392.648310] sd 2:0:0:0: Attached scsi generic sg0 type 0
Digikameran liittäminen päätteeseen
Samalla tavalla näkyy myös digikameran liittäminen päätteeseen.
[ 1051.350531] usb 2-1: new full speed USB device using uhci_hcd and address 2 [ 1051.531583] usb 2-1: configuration #1 chosen from 1 choice [ 1051.542637] scsi3 : SCSI emulation for USB Mass Storage devices [ 1051.547677] usb-storage: device found at 2 [ 1051.547684] usb-storage: waiting for device to settle before scanning [ 1056.546623] usb-storage: device scan complete [ 1056.550619] scsi 3:0:0:0: Direct-Access OLYMPUS u720SW,S720SW 1.00 PQ: 0 ANSI: 2 [ 1056.573587] sd 3:0:0:0: [sda] 4095630 512-byte hardware sectors (2097 MB) [ 1056.580610] sd 3:0:0:0: [sda] Write Protect is off [ 1056.580620] sd 3:0:0:0: [sda] Mode Sense: 17 00 00 08 [ 1056.580623] sd 3:0:0:0: [sda] Assuming drive cache: write through [ 1056.599580] sd 3:0:0:0: [sda] 4095630 512-byte hardware sectors (2097 MB) [ 1056.606573] sd 3:0:0:0: [sda] Write Protect is off [ 1056.606579] sd 3:0:0:0: [sda] Mode Sense: 17 00 00 08 [ 1056.606581] sd 3:0:0:0: [sda] Assuming drive cache: write through [ 1056.606647] sda: sda1 [ 1056.616705] sd 3:0:0:0: [sda] Attached SCSI removable disk [ 1056.616763] sd 3:0:0:0: Attached scsi generic sg0 type 0
Polttavan CD-aseman liittäminen päätteeseen
Toisin kuin edellä olevat kaksi esimerkkiä (tikku ja digikamera), polttavan CD-aseman liittäminen jää puolitiehen. Kun kirjaudutaan päätteen chroot-ympäristöön, nähdän että Linux-ydin tunnistaa polttavan CD-aseman, mutta sitä ei voi kuitenkaan käyttää päätteen työpöytäympäristössä. Mikään ohjelma ei näe laitetta päätteen tunnuksella (ltsp001). Root-tunnuksella kuitenkin voidaan CD-aseman kelkka avata (eject).
[ 251.812110] usb 3-3: new high speed USB device using ehci_hcd and address 2 [ 252.003518] usb 3-3: configuration #1 chosen from 1 choice [ 252.099213] usbcore: registered new interface driver libusual [ 252.125270] Initializing USB Mass Storage driver... [ 252.128075] scsi2 : SCSI emulation for USB Mass Storage devices [ 252.130455] usbcore: registered new interface driver usb-storage [ 252.130465] USB Mass Storage support registered. [ 252.132429] usb-storage: device found at 2 [ 252.132436] usb-storage: waiting for device to settle before scanning [ 257.131009] usb-storage: device scan complete [ 257.132744] scsi 2:0:0:0: CD-ROM LITE-ON DVDRW LDW-411S FS0B PQ: 0 ANSI: 0 [ 257.173820] Driver 'sr' needs updating - please use bus_type methods [ 257.185072] sr0: scsi3-mmc drive: 94x/40x writer cd/rw xa/form2 cdda tray [ 257.185081] Uniform CD-ROM driver Revision: 3.20 [ 257.185171] sr 2:0:0:0: Attached scsi CD-ROM sr0 [ 257.214445] sr 2:0:0:0: Attached scsi generic sg0 type 5
Root-tunnuksella laite nähdään chroot-ympäristössä, mutta päätteessä se ei näy ltsp001-tunnuksella.
root@ltsp:~# lsusb Bus 003 Device 002: ID 0ecd:a100 Lite-On IT Corp. Bus 003 Device 001: ID 0000:0000 Bus 002 Device 001: ID 0000:0000 Bus 001 Device 001: ID 0000:0000
root@ltsp:~# eject root@ltsp:~#
ltsp001@ubuntu:~$ lsusb Bus 007 Device 006: ID 046d:0990 Logitech, Inc. Bus 007 Device 005: ID 0603:00f2 Novatek Microelectronics Corp. Bus 007 Device 004: ID 046d:c019 Logitech, Inc. Bus 007 Device 003: ID 2001:f111 D-Link Corp. [hex] DBT-122 Bluetooth adapter Bus 007 Device 002: ID 05e3:0606 Genesys Logic, Inc. D-Link DUB-H4 USB 2.0 Hub Bus 007 Device 001: ID 0000:0000 Bus 004 Device 001: ID 0000:0000 Bus 003 Device 001: ID 0000:0000 Bus 002 Device 001: ID 0000:0000 Bus 006 Device 001: ID 0000:0000 Bus 005 Device 001: ID 0000:0000 Bus 001 Device 001: ID 0000:0000
Vaikka asema ei toimikaan polttavana, niin se toimii kuitenkin aivan normaalisti lukevana asemana.
Näytön liittäminen päätteeseen
Kun näyttö on liitetty päätteeseen, niin X yrittää asentaa sen automaattisesti. Yleensä tämä onnistuu, mutta mahdollisia virheilmoituksia voi yrittää jäljittää päätteen chroot-ympäristön /var/log-hakemiston Xorg.6.log-tiedostosta.
asmok@ubuntu:~$ ssh root@192.168.1.244 root@192.168.1.244's password: Last login: Wed Jun 18 20:57:04 2008 from server root@ltsp:~# cd /var/log root@ltsp:/var/log# ls apt boot btmp debug dpkg.log fontconfig.log kern.log ldm.log mail.err mail.log messages syslog wtmp Xorg.6.log.old auth.log bootstrap.log daemon.log dmesg faillog fsck lastlog lpr.log mail.info mail.warn news user.log Xorg.6.log root@ltsp:/var/log#
Chroot-ympäristön tutkiminen
Chroot-ympäristöä voi tutkia samoilla työkaluilla kuin muitakin tietokoneita ja ympäristöjä.
root@ltsp:~# ps ax PID TTY STAT TIME COMMAND 1 ? Ss 0:00 /sbin/init 2 ? S< 0:00 [kthreadd] 3 ? S< 0:00 [migration/0] 4 ? S< 0:00 [ksoftirqd/0] 5 ? S< 0:00 [watchdog/0] 6 ? S< 0:00 [events/0] 7 ? S< 0:00 [khelper] 42 ? S< 0:00 [kblockd/0] 45 ? S< 0:00 [kacpid] 46 ? S< 0:00 [kacpi_notify] 108 ? S< 0:00 [kseriod] 142 ? S 0:00 [pdflush] 143 ? S 0:00 [pdflush] 144 ? S< 0:00 [kswapd0] 184 ? S< 0:00 [aio/0] 1135 ? S< 0:00 [unionfs_siod/0] 1310 ? S< 0:00 [ksuspend_usbd] 1313 ? S< 0:00 [khubd] 2076 ? S 0:00 nbd-client 192.168.1.101 2000 /dev/nbd0 2222 ? S<s 0:00 /sbin/udevd --daemon 2400 ? S< 0:00 [ata/0] 2406 ? S< 0:00 [ata_aux] 2435 ? S< 0:00 [scsi_eh_0] 2442 ? S< 0:00 [scsi_eh_1] 2495 ? S< 0:00 [kpsmoused] 3539 ? Ss 0:00 /sbin/syslogd -u syslog 3563 ? S 0:00 /bin/dd bs 1 if /proc/kmsg of /var/run/klogd/kmsg 3567 ? Ss 0:00 /sbin/klogd -P /var/run/klogd/kmsg 3595 ? Ss 0:00 /usr/sbin/sshd 3647 ? S 0:00 /bin/sh /usr/lib/ltsp/screen.d/ldm 3655 ? S<l 0:00 /usr/bin/pulseaudio --system --disable-shm --no-cpu-limit --resample-method=trivial --high-priority -L module-detect -L module-esound-protocol-tcp auth-anonymous=1 -L module-native 3674 ? Ss 0:00 /usr/bin/ltspfsd 3721 tty1 Ss 0:00 /bin/login -- 3797 tty1 S+ 0:00 -bash 3846 ? S 0:00 ldm vt7 :6 3847 tty7 Ss+ 0:01 /usr/bin/X -auth /root/.Xauthority -br -noreset vt7 :6 3848 pts/0 Ss+ 0:00 /usr/bin/ssh -X -t -M -S /var/run/ldm_socket_vt7_192.168.1.101 ltsp001@192.168.1.101 echo LTSPROCKS ; LANG=C /bin/sh - 3883 ? S 0:00 /usr/bin/ssh -X -t -S /var/run/ldm_socket_vt7_192.168.1.101 -l ltsp001 192.168.1.101 LTSP_CLIENT=192.168.1.244 DISPLAY=192.168.1.244:6 PULSE_SERVER=tcp:192.168.1.244:4713 ESPEAKER 3886 ? Ss 0:00 sshd: root@pts/1 3889 pts/1 Rs 0:00 -bash 3920 ? S< 0:00 [scsi_eh_2] 3922 ? S< 0:00 [usb-storage] 3965 ? S 0:00 /usr/bin/ltspfsd 3994 pts/1 R+ 0:00 ps ax root@ltsp:~#
Chroot-ympäristön hyödyntäminen
Huom! Tämä ohje ssh-avainparien avulla sammuttamisesta ei toimi. kuten alla on kuvattu. Kun pääte käynnistyy uudestaan, niin avainparia ei enää löydy root-käyttäjän kotihakemistosta. Pääte voidaan kuitenkin sammuttaa etänä antamalla root-käyttäjän salasana.
asmok@ubuntu:~$ ssh root@192.168.1.244 'shutdown -h now' root@192.168.1.244's password: asmok@ubuntu:~$
Kun luodaan joltakin koneelta (palvelin tai vaikka pääkäyttäjän kannettava tietokone) ssh-avainparit päätteelle/päätteille no voidaan sammuttaa etänä päivän päätteeksi. Kun skripti on ei-interaktiivinen (salasanaa ei kysytä), se voidaan ajaa crontab-tehtävänä päivän päätteeksi.
Ensin luodan ssh-avainpari sillä koneella, josta yhteys otetaan päätteeseen/päätteisiin. Kun painetaan Enter-näppäintä kaksi kertaa, niin ei luoda lainkaan kysyttävää salasanaa.
asmok@ubuntu:~$ ssh-keygen -q -f ~/.ssh/id_rsa -t rsa Enter passphrase (empty for no passphrase): Enter same passphrase again: asmok@ubuntu:~$
Kopioidaan julkinen avainpari päätteeseen. Tällä kertaa vielä tarvitaan päätteen root-käyttäjän salasanaa.
asmok@ubuntu:~$ scp ~/.ssh/id_rsa.pub root@192.168.1.244: root@192.168.1.244's password: id_rsa.pub 100% 394 0.4KB/s 00:00 asmok@ubuntu:~$
Kopioidaan julkinen avain paikoilleen ja poistutaan päätteestä.
asmok@ubuntu:~$ ssh root@192.168.1.244 root@192.168.1.244's password: root@ltsp:~# cat ~/id_rsa.pub >> ~/.ssh/authorized_keys root@ltsp:~# exit logout Connection to 192.168.1.244 closed.
Testataan kirjautuminen ilman salasanaa.
asmok@ubuntu:~$ ssh root@192.168.1.244 Last login: Thu Jun 19 19:40:51 2008 from server root@ltsp:~#
Poistutaan päätteestä ja annetaan etänä käsky, joka sammuttaa päätteen. Käsky kirjoitetaan ' '-merkkien väliin.
asmok@ubuntu:~$ ssh root@192.168.1.244 'shutdown -h now' asmok@ubuntu:~$
Kun kaikkien päätteiden ip-numerot tiedetään, voidaan kirjoittaa skripti, joka sammuttaa päätteet etänä päivän päätteeksi.