Журнал лабораторных работ

Содержание

Журнал

Среда (06/03/09)

/dev/tty4
14:02:55
#ls
aaron  ada  dom  quiz  user  user1  user2  uuu
14:02:57
#cd quiz

/dev/tty1
14:02:59
#cat /home/quiz
cat: /home/quiz: Это каталог
/dev/tty4
14:02:59
#ls

14:03:00
#cd ..

14:03:04
#rm -R quiz

/dev/tty1
14:03:07
#cat /home/quiz/
.bash_history  .hushlogin.10  .hushlogin.6   quiz           .ssh/
.bash_logout   .hushlogin.2   .hushlogin.7   .quiz/         start-quiz
.bashrc        .hushlogin.3   .hushlogin.8   .quiz1/        .viminfo
.hushlogin     .hushlogin.4   .hushlogin.9   quiz2/
.hushlogin.1   .hushlogin.5   .profile       quiz3/
14:03:07
#cat /home/quiz/quiz
# 0.1 час
После того как crontab был изменён, для того чтобы его перечитать,
нужно ли перезапускать cron, и если нужно, то как?
# /etc/init.d/crond restart
# /etc/init.d/crontab restart
# /etc/init.d/crontab reload
# pkill -1 cron
# pkill -1 crond
#! Нет, не нужно перезапускать, crontab и так перечитывается
Что обозначает символ % в команде в crontab?
...
# strace `which prg`
#! ldd `which prg`
# strings `which prg'
# strace 'which prg'
Как получить полный список файлов, которые процесс 1234 открывает в ходе своей работы
(не только, которые открыты сейчас).
#! strace -p 1234 -o /tmp/1234.strace; grep open /tmp/1234.strace
#* lsof -p 1234
# strings `which 1234`
# strings 'which 1234'
/dev/tty4
14:03:09
#ls
aaron  ada  dom  user  user1  user2  uuu
14:03:11
#exit
exit
Connection to 192.168.15.5 closed.
rootpass
quiz@10.0.35.100's password:
rootpass
/dev/tty1
14:03:17
#exit
exit
Connection to 10.0.35.100 closed.
/dev/tty4
14:03:33
#~

14:03:36
#ls
1     harddisk.img  ip_forwary~    new        samba.png   shtdown
11    ip_forward~   ip_forwarz~    passswd    screen.dot  usaddscript
all   ip_forwarw~   iptables-save  passswd1   screen.png  vol1
file  ip_forwarx~   lv-table       samba.dot  scriptall
14:03:38
#l3-agent
Removing stale pidfile
/dev/tty1
14:06:29
#openvt

14:06:41
#openvt

14:06:41
#openvt

14:06:41
#openvt

14:06:41
#ssh -w 192.168.16.1:192.168.16.2 192.168.15.13
Bad tun device '192.168.16.1:192.168.16.2'
/dev/tty2
14:06:41
#pgrep l3-agent
3711
/dev/tty4
14:06:42
#ssh 10.0.35.100
root@10.0.35.100's password:
Linux linux0 2.6.18-6-xen-686 #1 SMP Sun Feb 10 22:43:13 UTC 2008 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: Wed Jun  3 14:19:54 2009 from linux11.unix.nt
Agent pid 13439
l3-agent is already running: pid=1854; pidfile=/root/.lilalo/l3-agent.pid
/dev/tty3
14:06:42
#runlevel
N 2
прошло 12 минут
/dev/tty1
14:19:07
#ssh -w 0 -N -f 192.168.15.13
channel 0: open failed: administratively prohibited: open failed
14:20:30
#vim /etc/ss
14:20:30
#vim /etc/ss
14:20:30
#vim /etc/ssh/sshd_config
--- /tmp/l3-saved-3743.26612.13370	2009-06-03 14:21:38.000000000 +0300
+++ /etc/ssh/sshd_config	2009-06-03 14:23:46.000000000 +0300
@@ -75,3 +75,4 @@
 Subsystem sftp /usr/lib/openssh/sftp-server
 
 UsePAM yes
+PermitTunnel yes
/dev/tty4
14:21:23
#screen -x
/dev/tty1
14:23:46
#/etc/init.d/ssh restart
Restarting OpenBSD Secure Shell server: sshd.
14:24:15
#ifconfig -a|less
14:24:24
#ping 192.168.16.1
PING 192.168.16.1 (192.168.16.1) 56(84) bytes of data.
^C
--- 192.168.16.1 ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 1007ms
14:25:03
#ifconfig tun0 192.168.16.1

прошло 12 минут
14:37:04
#ls
etc  ssh-tZgkZc3706
14:37:08
#cd etc

14:37:18
#ls
a2ps.cfg                       email-addresses  locale.alias    profile
a2ps-site.cfg                  environment      locale.gen      protocols
adduser.conf                   ethers           localtim        purple
adduser.conf.dpkg-save         etter.conf       localtime       python
adjtime                        exim4            logcheck        python2.5
aliases                        fonts            login.defs      qpopper.conf
alternatives                   fstab            logrotate.conf  rc0.d
anacrontab                     gai.conf         logrotate.d     rc1.d
apache2                        gamin            lsb-base        rc2.d
apm                            gconf            lvm             rc3.d
...
debian_version                 kde3             pam.d           timezone
debsums-ignore                 kernel           pango           ts.conf
default                        kernel-img.conf  papersize       ucf.conf
defoma                         ldap             passwd          udev
deluser.conf                   ld.so.cache      passwd-         vim
dhcp3                          ld.so.conf       perl            wgetrc
dictionaries-common            ld.so.conf.d     pm              X11
dm                             libaudit.conf    PolicyKit       xdg
dpkg                           libpaper.d       ppp             xml
emacs                          lilalo           printcap
14:37:21
#cd ..

14:37:34
#rm -R etc

14:37:40
#ls
ssh-tZgkZc3706
14:37:41
#apt-get install openvpn
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  libpkcs11-helper1 openvpn-blacklist
Suggested packages:
  resolvconf
The following NEW packages will be installed:
  libpkcs11-helper1 openvpn openvpn-blacklist
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
...
update-alternatives: error: alternative path /bin/ed doesn't exist.
dpkg: error processing ed (--configure):
 subprocess installed post-installation script returned error exit status 2
Setting up libpkcs11-helper1 (1.05-1) ...
Setting up openvpn-blacklist (0.3) ...
Setting up openvpn (2.1~rc11-1) ...
Restarting virtual private network daemon.:.
Errors were encountered while processing:
 ed
E: Sub-process /usr/bin/dpkg returned an error code (1)
/dev/tty1
14:39:05
#exit
exit
Connection to 192.168.15.2 closed.
/dev/pts/5
14:44:42
#ls /etc/init.d
anacron                keyboard-setup         README
aoetools               keymap.sh              reboot
apache2                killprocs              rmnologin
atd                    lpd                    rsync
aumix                  lvm2                   rsyslog
bootlogd               mdadm                  screen-cleanup
bootmisc.sh            mdadm-raid             sendsigs
checkfs.sh             module-init-tools      shtdown
checkroot.sh           monit                  single
console-cyrillic       mountall-bootclean.sh  skeleton
...
exim4                  mountnfs.sh            syslog-ng
gdm                    mountoverflowtmp       udev
glibc.sh               mtab.sh                udev-mtab
hal                    networking             umountfs
halt                   openbsd-inetd          umountnfs.sh
hostname.sh            portmap                umountroot
hwclockfirst.sh        procps                 urandom
hwclock.sh             rc                     x11-common
ifupdown               rc.local
ifupdown-clean         rcS
14:44:52
#/etc/init.d/ssh restart
Restarting OpenBSD Secure Shell server: sshd.
/dev/tty1
14:48:42
#lspci -h
lspci: invalid option -- 'h'
Usage: lspci [<switches>]
Basic display modes:
-mm             Produce machine-readable output (single -m for an obsolete format)
-t              Show bus tree
Display options:
-v              Be verbose (-vv for very verbose)
-k              Show kernel drivers handling each device
-x              Show hex-dump of the standard part of the config space
-xxx            Show hex-dump of the whole config space (dangerous; root only)
...
Other options:
-i <file>       Use specified ID database instead of /usr/share/misc/pci.ids.gz
-p <file>       Look up kernel modules in a given file instead of default modules.pcimap
-M              Enable `bus mapping' mode (dangerous; root only)
PCI access options:
-A <method>     Use the specified PCI access method (see `-A help' for a list)
-O <par>=<val>  Set PCI access parameter (see `-O help' for a list)
-G              Enable PCI access debugging
-H <mode>       Use direct hardware access (<mode> = 1 or 2)
-F <file>       Read PCI configuration dump from a given file
прошла 21 минута
/dev/tty1
15:10:31
#exit
exit
Connection to 192.168.15.2 closed.
прошло 17 минут
/dev/tty2
15:27:41
#kill -9 3711

15:27:49
#ssh 192.168.15.5
Linux linux5 2.6.29-2-686 #1 SMP Sun May 17 17:56:29 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: Wed Jun  3 14:41:32 2009 from linux2.unix.nt
l3-agent is already running: pid=7633; pidfile=/root/.lilalo/l3-agent.pid
15:28:15
#cd /root/new

15:28:20
#ls
quiz
15:28:21
#cat quiz
# 0.1 час
После того как crontab был изменён, для того чтобы его перечитать,
нужно ли перезапускать cron, и если нужно, то как?
# /etc/init.d/crond restart
# /etc/init.d/crontab restart
# /etc/init.d/crontab reload
# pkill -1 cron
# pkill -1 crond
#! Нет, не нужно перезапускать, crontab и так перечитывается
Что обозначает символ % в команде в crontab?
...
# strace `which prg`
#! ldd `which prg`
# strings `which prg'
# strace 'which prg'
Как получить полный список файлов, которые процесс 1234 открывает в ходе своей работы
(не только, которые открыты сейчас).
#! strace -p 1234 -o /tmp/1234.strace; grep open /tmp/1234.strace
#* lsof -p 1234
# strings `which 1234`
# strings 'which 1234'
15:28:32
#rm *

15:28:40
#cd ..

15:28:42
#ls
a  etc.iso  flash  new  screen.dot  screen.png  vimrc
15:29:21
#exit
exit
Connection to 192.168.15.5 closed.
15:29:23
#ssh 192.168.15.5
Linux linux5 2.6.29-2-686 #1 SMP Sun May 17 17:56:29 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: Wed Jun  3 15:27:56 2009 from linux13.unix.nt
l3-agent is already running: pid=7633; pidfile=/root/.lilalo/l3-agent.pid
/dev/tty1
15:30:08
#lspci
00:00.0 Host bridge: Intel Corporation 82P965/G965 Memory Controller Hub (rev 02)
00:02.0 VGA compatible controller: Intel Corporation 82G965 Integrated Graphics Controller (rev 02)
00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 02)
00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 02)
00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 02)
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev f2)
00:1f.0 ISA bridge: Intel Corporation 82801HB/HR (ICH8/R) LPC Interface Controller (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801H (ICH8 Family) 4 port SATA IDE Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 02)
00:1f.5 IDE interface: Intel Corporation 82801H (ICH8 Family) 2 port SATA IDE Controller (rev 02)
01:00.0 IDE interface: JMicron Technologies, Inc. JMB368 IDE controller
02:00.0 Ethernet controller: Attansic Technology Corp. L1 Gigabit Ethernet Adapter (rev b0)
15:30:12
#lspci -n
00:00.0 0600: 8086:29a0 (rev 02)
00:02.0 0300: 8086:29a2 (rev 02)
00:1a.0 0c03: 8086:2834 (rev 02)
00:1a.1 0c03: 8086:2835 (rev 02)
00:1a.7 0c03: 8086:283a (rev 02)
00:1b.0 0403: 8086:284b (rev 02)
00:1c.0 0604: 8086:283f (rev 02)
00:1c.1 0604: 8086:2841 (rev 02)
00:1d.0 0c03: 8086:2830 (rev 02)
00:1d.1 0c03: 8086:2831 (rev 02)
00:1d.2 0c03: 8086:2832 (rev 02)
00:1d.7 0c03: 8086:2836 (rev 02)
00:1e.0 0604: 8086:244e (rev f2)
00:1f.0 0601: 8086:2810 (rev 02)
00:1f.2 0101: 8086:2820 (rev 02)
00:1f.3 0c05: 8086:283e (rev 02)
00:1f.5 0101: 8086:2825 (rev 02)
01:00.0 0101: 197b:2368
02:00.0 0200: 1969:1048 (rev b0)
15:30:30
#cat /etc/fstab
# UNCONFIGURED FSTAB FOR BASE SYSTEM
#LABEL=FEARDATA1 /data ext3 defaults 1 0
#/dev/sdc1 /mnt/flash auto owner,noauto 0 0
15:32:40
#mount
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
procbususb on /proc/bus/usb type usbfs (rw)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
rootfs on / type rootfs (rw)
15:32:45
#lvs -a
  LV   VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert
  vol1 TURBO -wi-a- 1.00G
/dev/tty2
15:34:32
#scp 10.0.35.100:/home/quiz/quiz /root/new/
ssh: connect to host 10.0.35.100 port 22: Connection refused
15:34:37
#scp 10.0.35.100:/home/quiz/quiz /root/new/
Host key fingerprint is 69:b5:3e:1a:9a:b7:c3:c3:96:03:c7:b7:b4:69:1d:3b
+--[ RSA 2048]----+
|                 |
|                 |
|          .      |
|         o .     |
|       .S .      |
|      ..o.o .    |
|       =.+o= o   |
|       oXo=.E    |
|      ooo*   .   |
+-----------------+
root@10.0.35.100's password:
quiz                                          100%   21KB  21.0KB/s   00:00
/dev/tty1
15:36:11
#lvremove vol1
  Volume group "vol1" not found
15:36:32
#lvdisplay
  --- Logical volume ---
  LV Name                /dev/TURBO/vol1
  VG Name                TURBO
  LV UUID                7z4e3q-Fwnd-ahR2-3z0A-Iom8-8d5g-wTA5wx
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                1.00 GB
  Current LE             256
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0
15:36:39
#lvremove /dev/TURBO/vol1
Do you really want to remove active logical volume "vol1"? [y/n]: n
  Logical volume "vol1" not removed
  Command failed with status code 5.
15:37:23
#pvdisplay
  --- Physical volume ---
  PV Name               /dev/md0
  VG Name               TURBO
  PV Size               4.67 GB / not usable 1.00 MB
  Allocatable           yes
  PE Size (KByte)       4096
  Total PE              1194
  Free PE               938
  Allocated PE          256
  PV UUID               3mkyT3-G8Tw-FXyT-qHdU-2Y3C-ADCI-rAKTM3
15:37:35
#cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active (auto-read-only) raid1 sda5[0] sdb5[1]
      4891648 blocks [2/2] [UU]
unused devices: <none>
15:37:58
#cd

/dev/tty2
15:38:58
#cd new

15:39:01
#ls
quiz
15:39:02
#scp * 192.168.15.13:/root/
Host key fingerprint is 34:6c:c2:da:38:7c:d7:17:e9:cd:17:8d:e7:cf:f1:a6
+--[ RSA 2048]----+
|                 |
|     . .     . ..|
|      o =   o ..o|
|   . + + o . + o.|
|    = o S . o o.o|
|     o .   .   o+|
|                =|
|               o |
|              E  |
+-----------------+
quiz                                          100%   21KB  21.0KB/s   00:00
15:39:24
#rm *

15:39:36
#cd ..

15:39:38
#rmdir new

15:39:44
#exit
exit
Connection to 192.168.15.5 closed.
15:39:46
#cd /root

15:39:50
#ls
1     harddisk.img  ip_forwary~    new       samba.dot   scriptall
11    ip_forward~   ip_forwarz~    passswd   samba.png   shtdown
all   ip_forwarw~   iptables-save  passswd1  screen.dot  usaddscript
file  ip_forwarx~   lv-table       quiz      screen.png  vol1
15:39:51
#cat quiz
Какую команду надо дать, чтобы проблема решилась.
# parted
#! partprobe
# partscan
# scandisk
# scanpart
# только reboot
<!-- 27 -->
У вас блочном устройстве /dev/DATA/disk1 создана таблица разделов.
Вы хотите получить к разделам из этой таблицы разделов.
...
# /etc/default/fs
# /etc/default/mount
<!-- 40 -->
Какой программой проверить целостность файловой системы ext3 по имени /dev/sda1?
# dumpe2fs /dev/sda1
# dumpe3fs /dev/sda1
# checkfs /dev/sda1
#! fsck /dev/sda1
# scanfs /dev/sda1
# tune2fs -i /dev/sda1
/dev/tty1
15:40:08
#ssh quiz@10.0.35.100
-----------------------------------------------------------------[39/39]-----
 Вы создали файловую систему и теперь хотите, чтобы она автоматически
 монтировалась при загрузке. В каком файле вам необходимо создать
 запись о ней?
 1. /etc/mtab
 2. /etc/vmtab
 3. /etc/fstab
 4. /etc/inittab
 5. /etc/default/fs
 6. /etc/default/mount
---------------------------------------------------------------------------
3
Your score: 36.5
Connection to 10.0.35.100 closed.
прошло 15 минут
/dev/tty3
15:55:09
#file -s /dev/sda1
/dev/sda1: Linux rev 1.0 ext3 filesystem data, UUID=abcb56f4-3a69-4474-a5fd-c3a107a66da3, volume name "ROOT" (needs journal recovery) (errors) (large files)
15:56:33
#fdisk -l /dev/sda1
Disk /dev/sda1: 20.0 GB, 20003848704 bytes
255 heads, 63 sectors/track, 2431 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000
Disk /dev/sda1 doesn't contain a valid partition table
прошла 21 минута
/dev/tty1
16:17:49
#ls
1     harddisk.img  ip_forwary~    new       samba.dot   scriptall
11    ip_forward~   ip_forwarz~    passswd   samba.png   shtdown
all   ip_forwarw~   iptables-save  passswd1  screen.dot  usaddscript
file  ip_forwarx~   lv-table       quiz      screen.png  vol1
16:17:52
#pgrep l3-agent
3760
16:18:05
#kill -9 3760

16:18:10
#rm quiz

16:18:17
#l3-agent
Removing stale pidfile
16:18:24
#pgrep l3-agent
3867
16:18:40
#kill -9 3867

16:18:47
#ssh 192.168.15.5
Linux linux5 2.6.29-2-686 #1 SMP Sun May 17 17:56:29 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: Wed Jun  3 15:41:23 2009 from linux14.unix.nt
Removing stale pidfile
16:18:54
#cd /root

16:19:22
#ls
a  etc.iso  flash  screen.dot  screen.png  vimrc
16:19:24
#cd

16:19:28
#exit
exit
Connection to 192.168.15.5 closed.
16:19:28
#openvt

/dev/tty2
16:19:34
#apt-cache search console tetris
pytris - two-player networked console tetris clone
/dev/tty1
16:19:34
#openvt

16:19:34
#openvt

16:19:34
#openvt

/dev/tty4
16:19:35
#ssh 10.0.35.100
root@10.0.35.100's password:
Linux linux0 2.6.18-6-xen-686 #1 SMP Sun Feb 10 22:43:13 UTC 2008 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: Wed Jun  3 16:29:28 2009 from linux3.unix.nt
l3-agent is already running: pid=4804; pidfile=/root/.lilalo/l3-agent.pid
/dev/tty1
16:19:35
#ssh 192.168.15.254
Connection to 192.168.15.254 closed by remote host.
/dev/tty5
16:19:35
#finch
    â—green_ph      â│
                      Nickname: green_p         │
│   ◯ Vano        Ac
âAccount: 291670823 (IStatus: Available         │                            │
â   ◯ Vic          └
â строим планы на Ð"""   БЕРНАРДЕН де Сен-Пьер Ð│к Анри  """
â   ⊖ Vovan          â
│   ◯ KEDRIK    ▒”
â- Friends           │
│   ⊖ Kupets    â–â–’
...
 - Altercom         ■t
â   ◯ sab4ik86     â↠‚
│-◯ sab4ik86     ââ†
│   Neo      Hawk  â↠‚
    ◯ Popovich     â”â ‚
    â—SleepNot         ⠂
                       â↓
                       â↓
                       â↓
                        ↓
/dev/tty3
16:19:35
#ssh 192.168.102.1
ssh: connect to host 192.168.102.1 port 22: No route to host
прошла 21 минута
/dev/tty4
16:41:30
#screen -x

Файлы

  • /etc/fstab
  • /home/quiz/quiz
  • /proc/mdstat
  • quiz
  • /etc/fstab
    >
    # UNCONFIGURED FSTAB FOR BASE SYSTEM
    #LABEL=FEARDATA1 /data ext3 defaults 1 0
    #/dev/sdc1 /mnt/flash auto owner,noauto 0 0
    
    /home/quiz/quiz
    >
    # 0.1 час
    После того как crontab был изменён, для того чтобы его перечитать,
    нужно ли перезапускать cron, и если нужно, то как?
    # /etc/init.d/crond restart
    # /etc/init.d/crontab restart
    # /etc/init.d/crontab reload
    # pkill -1 cron
    # pkill -1 crond
    #! Нет, не нужно перезапускать, crontab и так перечитывается
    Что обозначает символ % в команде в crontab?
    # То же, что символ * в обычной командной строке
    # Самого себя (то есть %)
    # Ðо выполняется задача
    #! Перевод строки
    # Время выполнения задачи
    Есть запись в файле /etc/crontab:
    */2 * * * * * root date > /tmp/date
    Что будет делать эта запись?
    # Будет каждую вторую минуту дописывать текущее время в файл /tmp/date
    # Будет каждую минуту записывать текущее время в файл /tmp/date
    # Будет каждые полминуты дописывать текущее время в файл /tmp/date
    # Будет каждую вторую минуту записывать текущее время в файл /tmp/date
    # Будет каждые полминуты записывать текущее время в файл /tmp/date
    #! Не будет работать
    Зачем используется программа anacron?
    # Для выполнения повторяющихся, но апериодических действий
    #! Для выполнения повторяющихся действий в системах, которые периодически выключаются
    # Для того же, для чего и cron, только с более точными временными интервалами
    # Это более старая версия cron, которая не используется в современных системах
    # Это cron, который не требует прав root'а для исполнения
    Как выполнить команду iptables -F через 60 минут?
    # echo iptables -F | at +60
    # echo iptables -F | at +3600
    # echo iptables -F | at now+3600
    # echo iptables -F | at now + 3600
    #! echo iptables -F | at now + 60 minutes
    # echo iptables -F | at now + 60 mins
    # echo iptables -F | at now+60m
    Если вы хотите, чтобы команда k1 выполнялась каждые 30 секунд,
    какую запись вы добавите в /etc/crontab, при условии,
    что команда требует для своего выполнения от 10 до 15 секунд.
    # * * * * * root k1& sleep 30& k1
    #! * * * * * root k1& sleep 30; k1
    # * * * * * root k1; sleep 30& k1
    # * * * * * root k1; sleep 30; k1
    # * * * * * root k1& sleep 30& k1
    # Так сделать нельзя, потому что crontab может выполнять команды только с минимальным интервалом 60 секунд
    Вы (пользователь user) написали чудо-скрипт /usr/local/bin/wonder-greetings
    и хотите чтобы он выполнялся из cron'а.
    Вы хотите чтобы он приветствовал ваших друзей (jid'ы которых перечислены через пробел в файле
    /home/user/my-friend) с утра и желал им счастья и здоровья.
    Для этого у пользователя root вы настроили программу sendxmpp и
    добавили в /etc/crontab такую запись:
        8 10 * * * root wonder-greetings | sendxmpp `cat /home/user/my-friends`
    Остальной /etc/crontab вы не трогали и все записи оставили в том виде, в каком они находятся
    по умолчанию.
    Что произойдёт?
    # Каждый день в 8:10 друзьям будет рассылаться по джабберу приветствие
    # Каждый день 10:08 друзьям будет рассылаться по джабберу приветствие
    #! Ничего, не будет это работать, cron не найдёт скрипт
    # Ничего, не будет это работать, нельзя использовать символ ` в командах cron
    <!--30-->
    На какую ситуацию из программного мира похожа
    ситуация, когда на перекрёстке машины
    перегородили дорогу друг другу, и никто не может сдвинуться,
    потому что ему мешает другая машина. И так по кругу.
    # fstat
    # fileblock
    # superblock
    #! deadlock
    # inode
    # timeout
    Вы запускаете программу vipw, а она подвисает.
    Вы предполагаете, что она это делает из-за того,
    что ждёт, что другой процесс отпустит блокировку,
    которая ей нужна.
    С помощью какой программы можно в этом убедиться
    или это опровергнуть?
    #! strace
    # lsof
    # sockstat
    # lockstat
    # fstat
    # fuser
    Что позволяет отследить программа strace?
    # Ðые системные вызовы
    # Набор системных интерфейсов, через которые проходят данные, прежде чем попасть на жёсткий диск
    # Открытия конфигурационных файлов
    # Обращения к модулям ядра
    Что такое системный вызов?
    #! Обращение процесса к ядру, когда у него у самого не хватает полномочий на выполнение какой-то операции
    # Вызов обычным процессом процесса-демона
    # Ð# Обращение к программной библиотеке
    Можно ли подключиться к работающему процессу и посмотреть, что он делает?
    # Нет, нельзя, для этого нужно останавливать процесс
    #! Да, можно; для этого нужно использовать strace
    # Да, можно; для этого нужно использовать ldconfig
    # Да, можно; для этого нужно использовать lsof
    # Да, можно; для этого нужно использовать ld
    Какой программой просмотреть список открытых файлов?
    # fuser
    # fstat
    #! lsof
    # sockstat
    # vmstat
    #* ls -l /proc/*/fd | awk "[print $11}"
    Как посмотреть список открытых файлов в определённом каталоге /dir?
    # fuser /dir
    # ldof /dir
    #! lsof | grep /dir
    # lsof +/dir
    Как просмотреть среду окружения процесса 1234?
    #! cat /proc/1234/environ | tr '\0' \n'
    # env -p 1234
    # strace -p 1234 | grep env
    # cat /proc/1234/mem | grep env
    # Просмотреть среду окружения процесса нельзя, потому что это закрытая информация
    Как посмотреть, какие библиотеки использует программа prg?
    # ldd 'which prg'
    # strings `which prg`
    # strace `which prg`
    #! ldd `which prg`
    # strings `which prg'
    # strace 'which prg'
    Как получить полный список файлов, которые процесс 1234 открывает в ходе своей работы
    (не только, которые открыты сейчас).
    #! strace -p 1234 -o /tmp/1234.strace; grep open /tmp/1234.strace
    #* lsof -p 1234
    # strings `which 1234`
    # strings 'which 1234'
    
    /proc/mdstat
    >
    Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
    md0 : active (auto-read-only) raid1 sda5[0] sdb5[1]
          4891648 blocks [2/2] [UU]
    unused devices: <none>
    
    quiz
    >
    Какую команду надо дать, чтобы проблема решилась.
    # parted
    #! partprobe
    # partscan
    # scandisk
    # scanpart
    # только reboot
    <!-- 27 -->
    У вас блочном устройстве /dev/DATA/disk1 создана таблица разделов.
    Вы хотите получить к разделам из этой таблицы разделов.
    fdisk -l её вам показывает, но вам нужно чтобы эти разделы
    увидела и система.
    Какую команду вы будете использовать?
    # losetup /dev/loop0 /dev/DATA/disk1
    # fdisk -s /dev/DATA/disk1
    #! kpartx -a /dev/DATA/disk1
    # file -s /dev/DATA/disk1
    # ln -s /dev/DATA/disk1 /dev/DATA/disk1p1
    # partprobe /dev/DATA/disk1
    <!-- 28 -->
    Вы решили изучить как делать RAID-массивы в Linux, но у вас нет свободных разделов.
    Вы вспомнили, что можно файлы привязать к блочному устройству и работать с этим блочным устройством
    как с жёстким дискомr, а данные при этом будут попадать в файл.
    Вы создали файл disk1.img. Как его привязать к блочному устройству?
    # mdconfig /dev/md1 disk1.img
    #! losetup /dev/loop1 disk1.img
    # vnconfig /dev/loop1 disk1.img
    # mount -o loop disk1.img /dev/loop1
    # ln -s /dev/loop1 disk1.img
    <!-- 29 -->
    У вас есть загрузочный диск EBIAN LIVE, с которого вы решили сделать ISO-образ.
    Как вы будете делать этот образ, если привод CDROM в вашей системе называется /dev/cdrom?
    # mkisofs -i /dev/cdrom > ebian.iso
    #! cat /dev/cdrom > ebian.iso
    # cdrecord -i /dev/cdrom -o ebian.iso
    # mount /dev/cdrom /mnt; cp -R /mnt ebian.iso
    # Так сделать не получится, надо ставить специальную программу alkolinux
    <!-- 33 -->
    Как называется система управления логическими томами, использующаяся в Linux в настоящий момент?
    # EVM
    #! LVM
    # LVMS
    # DVMS
    # VMM
    # BTRFS
    # ZFGS
    # ZFS
    <!-- 30, lvm -->
    Вы расширили логический том, отформатированный под файловую систему ext3,
    но команда df показывает, что объём свободного места не увеличился.
    Почему?
    # Надо перезагрузиться
    #! Надо изменить и размер файловой системы
    # Расширение файловой системы ext3 невозможно
    # Надо перемонтировать файловую систему
    <!-- 31 -->
    Вы хотите поднять LVM и файловую систему на одном из томов на чистом диске?
    В какой последовательности вызывать команды по настройке?
    # mkfs, vgcreate, pvcreate, lvcreate
    # lvmcreate, vgcreate, pvcreate, lvcreate, mkfs
    # mkfs, lvmcreate, vgcreate, pvcreate, lvcreate
    #! pvcreate, vgcreate, lvcreate, mkfs
    # pvcreate, pvmove, lvcreate, vgcreate, mkfs
    # mkfs, pvcreate, lvcreate, pvmove, vgcreate
    <!-- 32 -->
    У вас есть система на LVM. Вам нужно быстро, без размонтирования,
    создать точную копию одной из файловых систем размером 600GB для проведения
    эксперимента в ней. На это выделяется не более 5 минут времени.
    Получится?
    # Настолько быстро создать нельзя, только если дисковая подсистема не позволяет копировать 20GB/секунду
    # Без размонтирования не получится, данные могут измениться в процессе копирования. Обязательно нужно размонтировать
    # Не получится как по первой, так и по второй причине
    #! Можно, если использовать snapshot'ы
    # Можно было бы, если бы LVM поддерживал снапшоты, но к сожалению, он их не поддерживает
    <!-- 34 -->
    Можно ли уменьшать размер логического тома LVM?
    #! Можно
    # Нельзя
    # Можно, но не более чем в два раза
    #+ Можно, но только в однопользовательском режиме
    <!-- 35 -->
    Как создать файловую систему на логическом томе LVM,
    если этот том называется /dev/TURBO/lv?
    #! mkfs /dev/TURBO/lv
    # newfs /dev/TURBO/lv
    # createfs /dev/TURBO/lv
    # format /dev/TURBO/lv
    # lvcreatefs /dev/TURBO/lv
    # lvm -a -f /dev/TURBO/lv
    <!-- 36, RAID -->
    Вы хотите собрать RAID-массив 1-го уровня
    из двух устройств /dev/sda1 и /dev/sdb1.
    Какой командой это сделать?
    # mdadm /dev/md0 -C -n 2 -l1 /dev/sda1 /sdb/1
    # mdadm /dev/md0 -B -n 2 -l1 /dev/sda1 /sdb/1
    # mdadm /dev/md0 -B -z 2 -l1 /dev/sda1 /sdb1
    #! mdadm /dev/md0 -C -n 2 -l1 /dev/sda1 /sdb1
    <!-- 37 -->
    У вас в системе есть один диск.  Вы хотите добавить ещё один диск,
    и сделать чтобы корневой раздел был на программном RAID-массиве
    из этих двух дисков.  Можно ли сделать это,
    если разрешается чтобы машина была недоступна
    не более чем на 5 минут.
    Если да, то какова последовательность действий?
    # Так сделать нельзя, при перестроении рейда машина будет недоступна
    # Так сделать нельзя, пока данные будут копироваться на RAID, машина будет недоступна
    # Добавить диск, сделать RAID на нём, указать что старый диск является источником данных
    # Добавить диск, сделать RAID на корневом диске (без одного диска), добавить новый диск как запасной, данные перекопируются
    #! Добавить диск, сделать RAID на нём, но без одного диска; создать файловую систему на RAID'е; скопировать корень; перезагрузиться уже с RAIDа; добавить первый диск в RAID
    <!-- 38 -->
    Как просмотреть состояние RAID-массивов в системе?
    # cat /proc/msdtat
    #! watch cat /proc/mdstat
    # cat /proc/raidtab
    # watch cat /proc/mdadm
    # cat /proc/raid
    <!-- 39 -->
    Вы создали файловую систему и теперь хотите, чтобы она автоматически
    монтировалась при загрузке. В каком файле вам необходимо создать
    запись о ней?
    # /etc/mtab
    # /etc/vmtab
    #! /etc/fstab
    # /etc/inittab
    # /etc/default/fs
    # /etc/default/mount
    <!-- 40 -->
    Какой программой проверить целостность файловой системы ext3 по имени /dev/sda1?
    # dumpe2fs /dev/sda1
    # dumpe3fs /dev/sda1
    # checkfs /dev/sda1
    #! fsck /dev/sda1
    # scanfs /dev/sda1
    # tune2fs -i /dev/sda1
    

    Статистика

    Время первой команды журнала14:02:55 2009- 6- 3
    Время последней команды журнала16:41:30 2009- 6- 3
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, %10.89
    Процент синтаксически неверно набранных команд, % 0.00
    Суммарное время работы с терминалом *, час 2.64
    Количество командных строк в единицу времени, команда/мин 0.64
    Частота использования команд
    ls14|=============| 13.73%
    cd12|===========| 11.76%
    ssh10|=========| 9.80%
    openvt8|=======| 7.84%
    cat7|======| 6.86%
    exit7|======| 6.86%
    rm5|====| 4.90%
    pgrep3|==| 2.94%
    vim3|==| 2.94%
    lspci3|==| 2.94%
    scp3|==| 2.94%
    kill3|==| 2.94%
    ifconfig2|=| 1.96%
    l3-agent2|=| 1.96%
    screen2|=| 1.96%
    lvremove2|=| 1.96%
    /etc/init.d/ssh2|=| 1.96%
    ping1|| 0.98%
    fdisk1|| 0.98%
    finch1|| 0.98%
    mount1|| 0.98%
    pvdisplay1|| 0.98%
    runlevel1|| 0.98%
    lvdisplay1|| 0.98%
    less1|| 0.98%
    rmdir1|| 0.98%
    apt-get1|| 0.98%
    ~1|| 0.98%
    lvs1|| 0.98%
    file1|| 0.98%
    apt-cache1|| 0.98%
    ____
    *) Интервалы неактивности длительностью 30 минут и более не учитываются

    Справка

    Для того чтобы использовать LiLaLo, не нужно знать ничего особенного: всё происходит само собой. Однако, чтобы ведение и последующее использование журналов было как можно более эффективным, желательно иметь в виду следующее:
    1. В журнал автоматически попадают все команды, данные в любом терминале системы.

    2. Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду w. В поле WHAT, соответствующем текущему терминалу, должна быть указана программа script.

    3. Команды, при наборе которых были допущены синтаксические ошибки, выводятся перечёркнутым текстом:
      $ l s-l
      bash: l: command not found
      

    4. Если код завершения команды равен нулю, команда была выполнена без ошибок. Команды, код завершения которых отличен от нуля, выделяются цветом.
      $ test 5 -lt 4
      Обратите внимание на то, что код завершения команды может быть отличен от нуля не только в тех случаях, когда команда была выполнена с ошибкой. Многие команды используют код завершения, например, для того чтобы показать результаты проверки

    5. Команды, ход выполнения которых был прерван пользователем, выделяются цветом.
      $ find / -name abc
      find: /home/devi-orig/.gnome2: Keine Berechtigung
      find: /home/devi-orig/.gnome2_private: Keine Berechtigung
      find: /home/devi-orig/.nautilus/metafiles: Keine Berechtigung
      find: /home/devi-orig/.metacity: Keine Berechtigung
      find: /home/devi-orig/.inkscape: Keine Berechtigung
      ^C
      

    6. Команды, выполненные с привилегиями суперпользователя, выделяются слева красной чертой.
      # id
      uid=0(root) gid=0(root) Gruppen=0(root)
      

    7. Изменения, внесённые в текстовый файл с помощью редактора, запоминаются и показываются в журнале в формате ed. Строки, начинающиеся символом "<", удалены, а строки, начинающиеся символом ">" -- добавлены.
      $ vi ~/.bashrc
      2a3,5
      >    if [ -f /usr/local/etc/bash_completion ]; then
      >         . /usr/local/etc/bash_completion
      >        fi
      

    8. Для того чтобы изменить файл в соответствии с показанными в диффшоте изменениями, можно воспользоваться командой patch. Нужно скопировать изменения, запустить программу patch, указав в качестве её аргумента файл, к которому применяются изменения, и всавить скопированный текст:
      $ patch ~/.bashrc
      В данном случае изменения применяются к файлу ~/.bashrc

    9. Для того чтобы получить краткую справочную информацию о команде, нужно подвести к ней мышь. Во всплывающей подсказке появится краткое описание команды.

      Если справочная информация о команде есть, команда выделяется голубым фоном, например: vi. Если справочная информация отсутствует, команда выделяется розовым фоном, например: notepad.exe. Справочная информация может отсутствовать в том случае, если (1) команда введена неверно; (2) если распознавание команды LiLaLo выполнено неверно; (3) если информация о команде неизвестна LiLaLo. Последнее возможно для редких команд.

    10. Большие, в особенности многострочные, всплывающие подсказки лучше всего показываются браузерами KDE Konqueror, Apple Safari и Microsoft Internet Explorer. В браузерах Mozilla и Firefox они отображаются не полностью, а вместо перевода строки выводится специальный символ.

    11. Время ввода команды, показанное в журнале, соответствует времени начала ввода командной строки, которое равно тому моменту, когда на терминале появилось приглашение интерпретатора

    12. Имя терминала, на котором была введена команда, показано в специальном блоке. Этот блок показывается только в том случае, если терминал текущей команды отличается от терминала предыдущей.

    13. Вывод не интересующих вас в настоящий момент элементов журнала, таких как время, имя терминала и других, можно отключить. Для этого нужно воспользоваться формой управления журналом вверху страницы.

    14. Небольшие комментарии к командам можно вставлять прямо из командной строки. Комментарий вводится прямо в командную строку, после символов #^ или #v. Символы ^ и v показывают направление выбора команды, к которой относится комментарий: ^ - к предыдущей, v - к следующей. Например, если в командной строке было введено:

      $ whoami
      
      user
      
      $ #^ Интересно, кто я?
      
      в журнале это будет выглядеть так:
      $ whoami
      
      user
      
      Интересно, кто я?

    15. Если комментарий содержит несколько строк, его можно вставить в журнал следующим образом:

      $ whoami
      
      user
      
      $ cat > /dev/null #^ Интересно, кто я?
      
      Программа whoami выводит имя пользователя, под которым 
      мы зарегистрировались в системе.
      -
      Она не может ответить на вопрос о нашем назначении 
      в этом мире.
      
      В журнале это будет выглядеть так:
      $ whoami
      user
      
      Интересно, кто я?
      Программа whoami выводит имя пользователя, под которым
      мы зарегистрировались в системе.

      Она не может ответить на вопрос о нашем назначении
      в этом мире.
      Для разделения нескольких абзацев между собой используйте символ "-", один в строке.

    16. Комментарии, не относящиеся непосредственно ни к какой из команд, добавляются точно таким же способом, только вместо симолов #^ или #v нужно использовать символы #=

    17. Содержимое файла может быть показано в журнале. Для этого его нужно вывести с помощью программы cat. Если вывод команды отметить симоволами #!, содержимое файла будет показано в журнале в специально отведённой для этого секции.
    18. Для того чтобы вставить скриншот интересующего вас окна в журнал, нужно воспользоваться командой l3shot. После того как команда вызвана, нужно с помощью мыши выбрать окно, которое должно быть в журнале.
    19. Команды в журнале расположены в хронологическом порядке. Если две команды давались одна за другой, но на разных терминалах, в журнале они будут рядом, даже если они не имеют друг к другу никакого отношения.
      1
          2
      3   
          4
      
      Группы команд, выполненных на разных терминалах, разделяются специальной линией. Под этой линией в правом углу показано имя терминала, на котором выполнялись команды. Для того чтобы посмотреть команды только одного сенса, нужно щёкнуть по этому названию.

    О программе

    LiLaLo (L3) расшифровывается как Live Lab Log.
    Программа разработана для повышения эффективности обучения Unix/Linux-системам.
    (c) Игорь Чубин, 2004-2008

    $Id$