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

Содержание

Журнал

Пятница (05/29/09)

/dev/pts/8
17:02:49
#cat /proc/sys/kernel/sysrq
1
/dev/pts/5
17:02:59
#ls /etc/init.d/rc
/etc/init.d/rc
/dev/pts/8
17:02:59
#ls /etc/init.d/rc
/etc/init.d/rc
/dev/pts/4
17:04:30
#screen -x
/dev/pts/6
17:04:30
#screen -x
/dev/pts/5
17:09:29
#ls /etc/rc2.d
README        S12dbus   S20lpd            S21aumix  S89anacron  S99monit      S99stop-bootlogd
S10rsyslog    S16ssh    S20openbsd-inetd  S24hal    S89atd      S99rc.local
S10syslog-ng  S20exim4  S20rsync          S30gdm    S89cron     S99rmnologin
/dev/pts/8
17:09:29
#ls /etc/rc2.d
README        S12dbus   S20lpd            S21aumix  S89anacron  S99monit      S99stop-bootlogd
S10rsyslog    S16ssh    S20openbsd-inetd  S24hal    S89atd      S99rc.local
S10syslog-ng  S20exim4  S20rsync          S30gdm    S89cron     S99rmnologin
/dev/pts/5
17:09:44
#ls /etc/rc6.d
K01gdm      K19aumix          K20rsync             README       S31umountnfs.sh  S40umountfs
K10monit    K20exim4          K25hwclock.sh        S20sendsigs  S32portmap       S60umountroot
K11anacron  K20lpd            K63mountoverflowtmp  S30rsyslog   S35networking    S90reboot
K11atd      K20openbsd-inetd  K90syslog-ng         S30urandom   S36ifupdown
/dev/pts/8
17:09:44
#ls /etc/rc6.d
K01gdm      K19aumix          K20rsync             README       S31umountnfs.sh  S40umountfs
K10monit    K20exim4          K25hwclock.sh        S20sendsigs  S32portmap       S60umountroot
K11anacron  K20lpd            K63mountoverflowtmp  S30rsyslog   S35networking    S90reboot
K11atd      K20openbsd-inetd  K90syslog-ng         S30urandom   S36ifupdown
/dev/pts/5
17:09:54
#ls -l /etc/rc6.d
total 4
lrwxrwxrwx 1 root root  13 2009-05-25 03:55 K01gdm -> ../init.d/gdm
lrwxrwxrwx 1 root root  15 2009-05-27 16:23 K10monit -> ../init.d/monit
lrwxrwxrwx 1 root root  17 2009-05-27 14:34 K11anacron -> ../init.d/anacron
lrwxrwxrwx 1 root root  13 2009-05-27 14:37 K11atd -> ../init.d/atd
lrwxrwxrwx 1 root root  15 2009-05-25 03:20 K19aumix -> ../init.d/aumix
lrwxrwxrwx 1 root root  15 2009-05-27 14:33 K20exim4 -> ../init.d/exim4
lrwxrwxrwx 1 root root  13 2009-05-25 03:20 K20lpd -> ../init.d/lpd
lrwxrwxrwx 1 root root  23 2009-05-26 11:47 K20openbsd-inetd -> ../init.d/openbsd-inetd
lrwxrwxrwx 1 root root  15 2009-05-29 09:18 K20rsync -> ../init.d/rsync
...
lrwxrwxrwx 1 root root  18 2009-05-24 18:18 S20sendsigs -> ../init.d/sendsigs
lrwxrwxrwx 1 root root  17 2009-05-24 18:18 S30rsyslog -> ../init.d/rsyslog
lrwxrwxrwx 1 root root  17 2009-05-24 18:18 S30urandom -> ../init.d/urandom
lrwxrwxrwx 1 root root  22 2009-05-24 18:18 S31umountnfs.sh -> ../init.d/umountnfs.sh
lrwxrwxrwx 1 root root  17 2009-05-25 03:20 S32portmap -> ../init.d/portmap
lrwxrwxrwx 1 root root  20 2009-05-24 18:18 S35networking -> ../init.d/networking
lrwxrwxrwx 1 root root  18 2009-05-24 18:18 S36ifupdown -> ../init.d/ifupdown
lrwxrwxrwx 1 root root  18 2009-05-24 18:18 S40umountfs -> ../init.d/umountfs
lrwxrwxrwx 1 root root  20 2009-05-24 18:18 S60umountroot -> ../init.d/umountroot
lrwxrwxrwx 1 root root  16 2009-05-24 18:18 S90reboot -> ../init.d/reboot
/dev/pts/8
17:09:54
#ls -l /etc/rc6.d
total 4
lrwxrwxrwx 1 root root  13 2009-05-25 03:55 K01gdm -> ../init.d/gdm
lrwxrwxrwx 1 root root  15 2009-05-27 16:23 K10monit -> ../init.d/monit
lrwxrwxrwx 1 root root  17 2009-05-27 14:34 K11anacron -> ../init.d/anacron
lrwxrwxrwx 1 root root  13 2009-05-27 14:37 K11atd -> ../init.d/atd
lrwxrwxrwx 1 root root  15 2009-05-25 03:20 K19aumix -> ../init.d/aumix
lrwxrwxrwx 1 root root  15 2009-05-27 14:33 K20exim4 -> ../init.d/exim4
lrwxrwxrwx 1 root root  13 2009-05-25 03:20 K20lpd -> ../init.d/lpd
lrwxrwxrwx 1 root root  23 2009-05-26 11:47 K20openbsd-inetd -> ../init.d/openbsd-inetd
lrwxrwxrwx 1 root root  15 2009-05-29 09:18 K20rsync -> ../init.d/rsync
...
lrwxrwxrwx 1 root root  18 2009-05-24 18:18 S20sendsigs -> ../init.d/sendsigs
lrwxrwxrwx 1 root root  17 2009-05-24 18:18 S30rsyslog -> ../init.d/rsyslog
lrwxrwxrwx 1 root root  17 2009-05-24 18:18 S30urandom -> ../init.d/urandom
lrwxrwxrwx 1 root root  22 2009-05-24 18:18 S31umountnfs.sh -> ../init.d/umountnfs.sh
lrwxrwxrwx 1 root root  17 2009-05-25 03:20 S32portmap -> ../init.d/portmap
lrwxrwxrwx 1 root root  20 2009-05-24 18:18 S35networking -> ../init.d/networking
lrwxrwxrwx 1 root root  18 2009-05-24 18:18 S36ifupdown -> ../init.d/ifupdown
lrwxrwxrwx 1 root root  18 2009-05-24 18:18 S40umountfs -> ../init.d/umountfs
lrwxrwxrwx 1 root root  20 2009-05-24 18:18 S60umountroot -> ../init.d/umountroot
lrwxrwxrwx 1 root root  16 2009-05-24 18:18 S90reboot -> ../init.d/reboot
/dev/pts/5
17:10:36
#ls /var/lock/subsys
ls: cannot access /var/lock/subsys: No such file or directory
/dev/pts/8
17:10:36
#ls /var/lock/subsys
ls: cannot access /var/lock/subsys: No such file or directory
/dev/pts/5
17:13:51
#apt-get install cowsay
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  portmap
Use 'apt-get autoremove' to remove them.
Suggested packages:
  filters
The following NEW packages will be installed:
  cowsay
0 upgraded, 1 newly installed, 0 to remove and 22 not upgraded.
Need to get 19.8kB of archives.
After this operation, 295kB of additional disk space will be used.
Get:1 http://192.168.15.13 sid/main cowsay 3.03-9.2 [19.8kB]
Fetched 19.8kB in 0s (116kB/s)
Selecting previously deselected package cowsay.
(Reading database ... 46185 files and directories currently installed.)
Unpacking cowsay (from .../cowsay_3.03-9.2_all.deb) ...
Processing triggers for man-db ...
Setting up cowsay (3.03-9.2) ...
/dev/pts/8
17:13:51
#apt-get install cowsay
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  portmap
Use 'apt-get autoremove' to remove them.
Suggested packages:
  filters
The following NEW packages will be installed:
  cowsay
0 upgraded, 1 newly installed, 0 to remove and 22 not upgraded.
Need to get 19.8kB of archives.
After this operation, 295kB of additional disk space will be used.
Get:1 http://192.168.15.13 sid/main cowsay 3.03-9.2 [19.8kB]
Fetched 19.8kB in 0s (116kB/s)
Selecting previously deselected package cowsay.
(Reading database ... 46185 files and directories currently installed.)
Unpacking cowsay (from .../cowsay_3.03-9.2_all.deb) ...
Processing triggers for man-db ...
Setting up cowsay (3.03-9.2) ...
/dev/pts/5
17:16:45
#echo hello | cowsay
bash: cowsay: command not found
/dev/pts/8
17:16:45
#echo hello | cowsay
bash: cowsay: command not found
/dev/pts/5
17:16:56
#echo hello | cowsay -f /usr/share/cowsay/cows/stegosaurus.cow
bash: cowsay: command not found
/dev/pts/8
17:16:56
#echo hello | cowsay -f /usr/share/cowsay/cows/stegosaurus.cow
bash: cowsay: command not found
/dev/pts/5
17:18:05
#vi shtdown
/dev/pts/8
17:18:05
#vi shtdown
--- /dev/null	2009-05-29 16:30:26.503365860 +0300
+++ shtdown	2009-05-29 17:19:13.000000000 +0300
@@ -0,0 +1,2 @@
+if [ "$1" = "start" ]
+then
/dev/pts/5
17:19:45
#echo hello | /usr/games/cowsay -f /usr/share/cowsay/cows/stegosaurus.cow
 _______
< hello >
 -------
\                             .       .
 \                           / `.   .' "
  \                  .---.  <    > <    >  .---.
   \                 |    \  \ - ~ ~ - /  /    |
         _____          ..-~             ~-..-~
        |     |   \~~~\.'                    `./~~~/
       ---------   \__/                        \__/
      .'  O    \     /               /       \  "
     (_____,    `._.'               |         }  \/~~~/
      `----.          /       }     |        /    \__/
            `-.      |       /      |       /      `. ,~~|
                ~-.__|      /_ - ~ ^|      /- _      `..-'
                     |     /        |     /     ~-.     `-. _  _  _
                     |_____|        |_____|         ~ - . _ _ _ _ _>
/dev/pts/8
17:19:45
#echo hello | /usr/games/cowsay -f /usr/share/cowsay/cows/stegosaurus.cow
 _______
< hello >
 -------
\                             .       .
 \                           / `.   .' "
  \                  .---.  <    > <    >  .---.
   \                 |    \  \ - ~ ~ - /  /    |
         _____          ..-~             ~-..-~
        |     |   \~~~\.'                    `./~~~/
       ---------   \__/                        \__/
      .'  O    \     /               /       \  "
     (_____,    `._.'               |         }  \/~~~/
      `----.          /       }     |        /    \__/
            `-.      |       /      |       /      `. ,~~|
                ~-.__|      /_ - ~ ^|      /- _      `..-'
                     |     /        |     /     ~-.     `-. _  _  _
                     |_____|        |_____|         ~ - . _ _ _ _ _>
/dev/pts/5
17:26:16
#chmod +x shtdown

/dev/pts/8
17:26:16
#chmod +x shtdown

/dev/pts/5
17:26:35
#shtdown start
bash: shtdown: command not found
/dev/pts/8
17:26:35
#shtdown start
bash: shtdown: command not found
/dev/pts/5
17:26:43
#./shtdown start
./shtdown: line 5: syntax error near unexpected token `then'
./shtdown: line 5: `then'
/dev/pts/8
17:26:43
#./shtdown start
./shtdown: line 5: syntax error near unexpected token `then'
./shtdown: line 5: `then'
/dev/pts/5
17:26:46
#vi shtdown
/dev/pts/8
17:26:46
#vi shtdown
--- /tmp/l3-saved-7057.27364.10972	2009-05-29 17:26:51.000000000 +0300
+++ shtdown	2009-05-29 17:27:32.000000000 +0300
@@ -1,8 +1,8 @@
 if [ "$1" = "start" ]
 then
-echo hello | /usr/games/cowsay -f /usr/share/cowsay/cows/stegosaurus.cow 
+echo hello | /usr/games/cowsay -f /usr/share/cowsay/cows/stegosaurus.cow
 elsif [ "$1" = "stop"]
 then
-echo good bye | /usr/games/cowsay -f /usr/share/cowsay/cows/satanic.cow 
+echo good bye | /usr/games/cowsay -f /usr/share/cowsay/cows/satanic.cow
 else
 echo $0 "start|stop"
/dev/pts/5
17:27:32
#./shtdown start
./shtdown: line 5: syntax error near unexpected token `then'
./shtdown: line 5: `then'
/dev/pts/8
17:27:32
#./shtdown start
./shtdown: line 5: syntax error near unexpected token `then'
./shtdown: line 5: `then'
17:27:33
#vi shtdown
--- /tmp/l3-saved-7057.27809.946	2009-05-29 17:27:36.000000000 +0300
+++ shtdown	2009-05-29 17:27:55.000000000 +0300
@@ -1,7 +1,7 @@
 if [ "$1" = "start" ]
 then
 echo hello | /usr/games/cowsay -f /usr/share/cowsay/cows/stegosaurus.cow
-elsif [ "$1" = "stop"]
+elsif [ "$1" = "stop" ]
 then
 echo good bye | /usr/games/cowsay -f /usr/share/cowsay/cows/satanic.cow
 else
/dev/pts/5
17:27:33
#vi shtdown
17:27:55
#./shtdown start
./shtdown: line 5: syntax error near unexpected token `then'
./shtdown: line 5: `then'
/dev/pts/8
17:27:55
#./shtdown start
./shtdown: line 5: syntax error near unexpected token `then'
./shtdown: line 5: `then'
/dev/pts/5
17:27:56
#vi shtdown
/dev/pts/8
17:27:56
#vi shtdown
--- /tmp/l3-saved-7057.18182.12891	2009-05-29 17:27:57.000000000 +0300
+++ shtdown	2009-05-29 17:28:13.000000000 +0300
@@ -3,6 +3,6 @@
 echo hello | /usr/games/cowsay -f /usr/share/cowsay/cows/stegosaurus.cow
 elsif [ "$1" = "stop" ]
 then
-echo good bye | /usr/games/cowsay -f /usr/share/cowsay/cows/satanic.cow
+echo 'good bye' | /usr/games/cowsay -f /usr/share/cowsay/cows/satanic.cow
 else
 echo $0 "start|stop"
/dev/pts/5
17:28:13
#./shtdown start
./shtdown: line 5: syntax error near unexpected token `then'
./shtdown: line 5: `then'
/dev/pts/8
17:28:13
#./shtdown start
./shtdown: line 5: syntax error near unexpected token `then'
./shtdown: line 5: `then'
/dev/pts/5
17:28:13
#vi shtdown
/dev/pts/8
17:28:13
#vi shtdown
--- /tmp/l3-saved-7057.9611.30626	2009-05-29 17:28:19.000000000 +0300
+++ shtdown	2009-05-29 17:29:08.000000000 +0300
@@ -6,3 +6,4 @@
 echo 'good bye' | /usr/games/cowsay -f /usr/share/cowsay/cows/satanic.cow
 else
 echo $0 "start|stop"
+fi
/dev/pts/5
17:29:08
#./shtdown start
./shtdown: line 5: syntax error near unexpected token `then'
./shtdown: line 5: `then'
/dev/pts/8
17:29:08
#./shtdown start
./shtdown: line 5: syntax error near unexpected token `then'
./shtdown: line 5: `then'
/dev/pts/5
17:29:09
#vi shtdown
/dev/pts/8
17:29:09
#vi shtdown
--- /tmp/l3-saved-7057.828.2681	2009-05-29 17:29:10.000000000 +0300
+++ shtdown	2009-05-29 17:29:25.000000000 +0300
@@ -1,7 +1,7 @@
 if [ "$1" = "start" ]
 then
 echo hello | /usr/games/cowsay -f /usr/share/cowsay/cows/stegosaurus.cow
-elsif [ "$1" = "stop" ]
+elif [ "$1" = "stop" ]
 then
 echo 'good bye' | /usr/games/cowsay -f /usr/share/cowsay/cows/satanic.cow
 else
/dev/pts/5
17:29:25
#./shtdown start
 _______
< hello >
 -------
\                             .       .
 \                           / `.   .' "
  \                  .---.  <    > <    >  .---.
   \                 |    \  \ - ~ ~ - /  /    |
         _____          ..-~             ~-..-~
        |     |   \~~~\.'                    `./~~~/
       ---------   \__/                        \__/
      .'  O    \     /               /       \  "
     (_____,    `._.'               |         }  \/~~~/
      `----.          /       }     |        /    \__/
            `-.      |       /      |       /      `. ,~~|
                ~-.__|      /_ - ~ ^|      /- _      `..-'
                     |     /        |     /     ~-.     `-. _  _  _
                     |_____|        |_____|         ~ - . _ _ _ _ _>
/dev/pts/8
17:29:25
#./shtdown start
 _______
< hello >
 -------
\                             .       .
 \                           / `.   .' "
  \                  .---.  <    > <    >  .---.
   \                 |    \  \ - ~ ~ - /  /    |
         _____          ..-~             ~-..-~
        |     |   \~~~\.'                    `./~~~/
       ---------   \__/                        \__/
      .'  O    \     /               /       \  "
     (_____,    `._.'               |         }  \/~~~/
      `----.          /       }     |        /    \__/
            `-.      |       /      |       /      `. ,~~|
                ~-.__|      /_ - ~ ^|      /- _      `..-'
                     |     /        |     /     ~-.     `-. _  _  _
                     |_____|        |_____|         ~ - . _ _ _ _ _>
/dev/pts/5
17:29:26
#./shtdown stop
 __________
< good bye >
 ----------
     \
      \  (__)
         (\/)
  /-------\/
 / | 666 ||
*  ||----||
   ~~    ~~
/dev/pts/8
17:29:26
#./shtdown stop
 __________
< good bye >
 ----------
     \
      \  (__)
         (\/)
  /-------\/
 / | 666 ||
*  ||----||
   ~~    ~~
/dev/pts/5
17:29:32
#vi shtdown
/dev/pts/8
17:29:32
#vi shtdown
/dev/pts/5
17:29:56
#~ +q436f+q6b75+q6b64+q6b72+q6b6c+q2332+q2334+q2569+q2a37+q6b31
./shtdown start|stop
/dev/pts/8
17:29:56
#~ +q436f+q6b75+q6b64+q6b72+q6b6c+q2332+q2334+q2569+q2a37+q6b31
./shtdown start|stop
/dev/pts/5
17:30:18
#cp shtdown /etc/init.d/

/dev/pts/8
17:30:18
#cp shtdown /etc/init.d/

/dev/pts/5
17:30:33
#cd /etc/init.d/

/dev/pts/8
17:30:33
#cd /etc/init.d/

/dev/pts/5
17:30:46
#ls -l
total 312
-rwxr-xr-x 1 root root  1301 2008-03-09 21:58 anacron
-rwxr-xr-x 1 root root   946 2008-10-20 08:34 atd
-rwxr-xr-x 1 root root  4021 2009-05-14 22:50 aumix
-rwxr-xr-x 1 root root  2155 2008-01-05 01:05 bootlogd
-rwxr-xr-x 1 root root  1988 2008-07-16 20:45 bootmisc.sh
-rwxr-xr-x 1 root root  3004 2008-08-12 15:50 checkfs.sh
-rwxr-xr-x 1 root root  9831 2007-12-30 17:45 checkroot.sh
-rwxr-xr-x 1 root root   682 2008-08-17 16:59 console-cyrillic
-rwxr-xr-x 1 root root  7651 2009-02-20 20:00 console-screen.kbd.sh
...
-rwxr-xr-x 1 root root  1096 2008-01-02 02:27 stop-bootlogd-single
-rwxr-xr-x 1 root root   515 2009-03-28 23:16 sudo
-rwxr-xr-x 1 sys  user  2809 2008-11-23 23:04 syslog-ng
-rwxr-xr-x 1 root root  7345 2009-04-18 04:44 udev
-rwxr-xr-x 1 root root  1001 2008-07-11 16:34 udev-mtab
-rwxr-xr-x 1 root root  3175 2008-03-02 01:14 umountfs
-rwxr-xr-x 1 root root  2140 2007-12-30 11:19 umountnfs.sh
-rwxr-xr-x 1 root root  1456 2008-05-29 20:50 umountroot
-rwxr-xr-x 1 root root  1815 2006-09-13 00:30 urandom
-rwxr-xr-x 1 root root  1777 2009-02-02 14:29 x11-common
/dev/pts/8
17:30:46
#ls -l
total 312
-rwxr-xr-x 1 root root  1301 2008-03-09 21:58 anacron
-rwxr-xr-x 1 root root   946 2008-10-20 08:34 atd
-rwxr-xr-x 1 root root  4021 2009-05-14 22:50 aumix
-rwxr-xr-x 1 root root  2155 2008-01-05 01:05 bootlogd
-rwxr-xr-x 1 root root  1988 2008-07-16 20:45 bootmisc.sh
-rwxr-xr-x 1 root root  3004 2008-08-12 15:50 checkfs.sh
-rwxr-xr-x 1 root root  9831 2007-12-30 17:45 checkroot.sh
-rwxr-xr-x 1 root root   682 2008-08-17 16:59 console-cyrillic
-rwxr-xr-x 1 root root  7651 2009-02-20 20:00 console-screen.kbd.sh
...
-rwxr-xr-x 1 root root  1096 2008-01-02 02:27 stop-bootlogd-single
-rwxr-xr-x 1 root root   515 2009-03-28 23:16 sudo
-rwxr-xr-x 1 sys  user  2809 2008-11-23 23:04 syslog-ng
-rwxr-xr-x 1 root root  7345 2009-04-18 04:44 udev
-rwxr-xr-x 1 root root  1001 2008-07-11 16:34 udev-mtab
-rwxr-xr-x 1 root root  3175 2008-03-02 01:14 umountfs
-rwxr-xr-x 1 root root  2140 2007-12-30 11:19 umountnfs.sh
-rwxr-xr-x 1 root root  1456 2008-05-29 20:50 umountroot
-rwxr-xr-x 1 root root  1815 2006-09-13 00:30 urandom
-rwxr-xr-x 1 root root  1777 2009-02-02 14:29 x11-common
/dev/pts/5
17:30:55
#ln -s /etc/init.d/shtdown /etc/rc2.d/S99zshtdown

/dev/pts/8
17:30:55
#ln -s /etc/init.d/shtdown /etc/rc2.d/S99zshtdown

/dev/pts/5
17:33:03
#ln -s /etc/init.d/shtdown /etc/rc6.d/K01zshtdown

/dev/pts/8
17:33:03
#ln -s /etc/init.d/shtdown /etc/rc6.d/K01zshtdown

/dev/pts/1
17:35:13
#cat shtdown
if [ "$1" = "start" ]
then
echo hello | /usr/games/cowsay -f /usr/share/cowsay/cows/stegosaurus.cow
elif [ "$1" = "stop" ]
then
echo 'good bye' | /usr/games/cowsay -f /usr/share/cowsay/cows/satanic.cow
else
echo $0 "start|stop"
fi
/dev/pts/10
17:35:13
#cat shtdown
if [ "$1" = "start" ]
then
echo hello | /usr/games/cowsay -f /usr/share/cowsay/cows/stegosaurus.cow
elif [ "$1" = "stop" ]
then
echo 'good bye' | /usr/games/cowsay -f /usr/share/cowsay/cows/satanic.cow
else
echo $0 "start|stop"
fi
/dev/pts/1
17:35:23
#./shtdown start
 _______
< hello >
 -------
\                             .       .
 \                           / `.   .' "
  \                  .---.  <    > <    >  .---.
   \                 |    \  \ - ~ ~ - /  /    |
         _____          ..-~             ~-..-~
        |     |   \~~~\.'                    `./~~~/
       ---------   \__/                        \__/
      .'  O    \     /               /       \  "
     (_____,    `._.'               |         }  \/~~~/
      `----.          /       }     |        /    \__/
            `-.      |       /      |       /      `. ,~~|
                ~-.__|      /_ - ~ ^|      /- _      `..-'
                     |     /        |     /     ~-.     `-. _  _  _
                     |_____|        |_____|         ~ - . _ _ _ _ _>
/dev/pts/10
17:35:23
#./shtdown start
 _______
< hello >
 -------
\                             .       .
 \                           / `.   .' "
  \                  .---.  <    > <    >  .---.
   \                 |    \  \ - ~ ~ - /  /    |
         _____          ..-~             ~-..-~
        |     |   \~~~\.'                    `./~~~/
       ---------   \__/                        \__/
      .'  O    \     /               /       \  "
     (_____,    `._.'               |         }  \/~~~/
      `----.          /       }     |        /    \__/
            `-.      |       /      |       /      `. ,~~|
                ~-.__|      /_ - ~ ^|      /- _      `..-'
                     |     /        |     /     ~-.     `-. _  _  _
                     |_____|        |_____|         ~ - . _ _ _ _ _>
/dev/pts/1
17:36:49
#./shtdown stop
 __________
< good bye >
 ----------
     \
      \  (__)
         (\/)
  /-------\/
 / | 666 ||
*  ||----||
   ~~    ~~
/dev/pts/10
17:36:49
#./shtdown stop
 __________
< good bye >
 ----------
     \
      \  (__)
         (\/)
  /-------\/
 / | 666 ||
*  ||----||
   ~~    ~~
/dev/pts/1
17:36:52
#cat shtdown
if [ "$1" = "start" ]
then
echo hello | /usr/games/cowsay -f /usr/share/cowsay/cows/stegosaurus.cow
elif [ "$1" = "stop" ]
then
echo 'good bye' | /usr/games/cowsay -f /usr/share/cowsay/cows/satanic.cow
else
echo $0 "start|stop"
fi
/dev/pts/10
17:36:52
#cat shtdown
if [ "$1" = "start" ]
then
echo hello | /usr/games/cowsay -f /usr/share/cowsay/cows/stegosaurus.cow
elif [ "$1" = "stop" ]
then
echo 'good bye' | /usr/games/cowsay -f /usr/share/cowsay/cows/satanic.cow
else
echo $0 "start|stop"
fi
/dev/tty1
17:45:56
#cd /etc/rc2.d

17:46:17
#ls -l
total 4
-rw-r--r-- 1 root root 556 2008-08-12 17:09 README
lrwxrwxrwx 1 root root  17 2009-05-24 18:18 S10rsyslog -> ../init.d/rsyslog
lrwxrwxrwx 1 root root  19 2009-05-27 15:21 S10syslog-ng -> ../init.d/syslog-ng
lrwxrwxrwx 1 root root  14 2009-05-25 03:20 S12dbus -> ../init.d/dbus
lrwxrwxrwx 1 root root  13 2009-05-24 18:18 S16ssh -> ../init.d/ssh
lrwxrwxrwx 1 root root  15 2009-05-27 14:33 S20exim4 -> ../init.d/exim4
lrwxrwxrwx 1 root root  13 2009-05-25 03:20 S20lpd -> ../init.d/lpd
lrwxrwxrwx 1 root root  23 2009-05-26 11:47 S20openbsd-inetd -> ../init.d/openbsd-inetd
lrwxrwxrwx 1 root root  15 2009-05-29 09:18 S20rsync -> ../init.d/rsync
lrwxrwxrwx 1 root root  15 2009-05-25 03:20 S21aumix -> ../init.d/aumix
lrwxrwxrwx 1 root root  13 2009-05-25 03:20 S24hal -> ../init.d/hal
lrwxrwxrwx 1 root root  13 2009-05-25 03:55 S30gdm -> ../init.d/gdm
lrwxrwxrwx 1 root root  17 2009-05-27 14:34 S89anacron -> ../init.d/anacron
lrwxrwxrwx 1 root root  13 2009-05-27 14:37 S89atd -> ../init.d/atd
lrwxrwxrwx 1 root root  14 2009-05-24 18:18 S89cron -> ../init.d/cron
lrwxrwxrwx 1 root root  15 2009-05-27 16:23 S99monit -> ../init.d/monit
lrwxrwxrwx 1 root root  18 2009-05-24 18:18 S99rc.local -> ../init.d/rc.local
lrwxrwxrwx 1 root root  19 2009-05-24 18:18 S99rmnologin -> ../init.d/rmnologin
lrwxrwxrwx 1 root root  23 2009-05-24 18:18 S99stop-bootlogd -> ../init.d/stop-bootlogd
lrwxrwxrwx 1 root root  19 2009-05-29 17:33 S99zshtdown -> /etc/init.d/shtdown
/dev/pts/5
17:47:39
#./shtdown
./shtdown start|stop
/dev/pts/2
17:47:39
#./shtdown
./shtdown start|stop
/dev/pts/4
17:47:43
#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: Fri May 29 18:01:49 2009 from linux12.unix.nt
l3-agent is already running: pid=1683; pidfile=/root/.lilalo/l3-agent.pid
/dev/pts/7
17:47:43
#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: Fri May 29 18:01:49 2009 from linux12.unix.nt
l3-agent is already running: pid=1683; pidfile=/root/.lilalo/l3-agent.pid
/dev/pts/5
17:53:57
#cat shtdown
if [ "$1" = "start" ]
then
echo hello | /usr/games/cowsay -f /usr/share/cowsay/cows/stegosaurus.cow
elif [ "$1" = "stop" ]
then
echo 'good bye' | /usr/games/cowsay -f /usr/share/cowsay/cows/satanic.cow
else
echo $0 "start|stop"
fi
/dev/pts/2
17:53:57
#cat shtdown
if [ "$1" = "start" ]
then
echo hello | /usr/games/cowsay -f /usr/share/cowsay/cows/stegosaurus.cow
elif [ "$1" = "stop" ]
then
echo 'good bye' | /usr/games/cowsay -f /usr/share/cowsay/cows/satanic.cow
else
echo $0 "start|stop"
fi
/dev/pts/5
17:54:11
#banner hello
bash: banner: command not found
/dev/pts/2
17:54:11
#banner hello
bash: banner: command not found
/dev/pts/4
17:58:07
#учше
bash: учше: команда не найдена
/dev/pts/6
17:58:07
#учше
bash: учше: команда не найдена
/dev/pts/4
17:58:10
#учше
bash: учше: команда не найдена
/dev/pts/6
17:58:10
#учше
bash: учше: команда не найдена
17:58:11
#учexit
exit
Connection to 10.0.35.100 closed.
/dev/pts/4
17:58:11
#учexit
exit
Connection to 10.0.35.100 closed.
/dev/pts/4
18:01:56
#screen -x
/dev/pts/7
18:01:56
#screen -x
/dev/pts/5
18:02:21
#apt-get install sysvconfig
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  portmap
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  dialog
The following NEW packages will be installed:
  dialog sysvconfig
...
Selecting previously deselected package dialog.
(Reading database ... 46250 files and directories currently installed.)
Unpacking dialog (from .../dialog_1.1-20080819-1_i386.deb) ...
Selecting previously deselected package sysvconfig.
Unpacking sysvconfig (from .../sysvconfig_0.81_all.deb) ...
Processing triggers for man-db ...
Processing triggers for menu ...
Setting up dialog (1.1-20080819-1) ...
Setting up sysvconfig (0.81) ...
Processing triggers for menu ...
/dev/pts/2
18:02:21
#apt-get install sysvconfig
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
  portmap
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  dialog
The following NEW packages will be installed:
  dialog sysvconfig
...
Selecting previously deselected package dialog.
(Reading database ... 46250 files and directories currently installed.)
Unpacking dialog (from .../dialog_1.1-20080819-1_i386.deb) ...
Selecting previously deselected package sysvconfig.
Unpacking sysvconfig (from .../sysvconfig_0.81_all.deb) ...
Processing triggers for man-db ...
Processing triggers for menu ...
Setting up dialog (1.1-20080819-1) ...
Setting up sysvconfig (0.81) ...
Processing triggers for menu ...
/dev/pts/5
18:03:40
#sysvconfig
 "Debian Sysv lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqMain Menuqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
/dev/pts/2
18:03:40
#sysvconfig
 "Debian Sysv lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqMain Menuqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
/dev/pts/5
18:04:09
# qqqqqqqqqqqqqx This is the sysvinit runlevel editor. Use the up and down arrow keys to xqqqqqqqqqqqqqqq
usbip           usb-modeswitch  usbprog         usbutils
usbip-source    usbmount        usbprog-gui     usbview
18:04:09
#apt-get install usbutils
Reading package lists... Done
Building dependency tree
Reading state information... Done
usbutils is already the newest version.
usbutils set to manually installed.
The following packages were automatically installed and are no longer required:
  portmap
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 22 not upgraded.
/dev/pts/2
18:04:09
# qqqqqqqqqqqqqx This is the sysvinit runlevel editor. Use the up and down arrow keys to xqqqqqqqqqqqqqqq
usbip           usb-modeswitch  usbprog         usbutils
usbip-source    usbmount        usbprog-gui     usbview
18:04:09
#apt-get install usbutils
Reading package lists... Done
Building dependency tree
Reading state information... Done
usbutils is already the newest version.
usbutils set to manually installed.
The following packages were automatically installed and are no longer required:
  portmap
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 22 not upgraded.
18:08:18
#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)
/dev/pts/5
18:08:18
#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)

Файлы

  • /proc/sys/kernel/sysrq
  • shtdown
  • /proc/sys/kernel/sysrq
    >
    1
    
    shtdown
    >
    if [ "$1" = "start" ]
    then
    echo hello | /usr/games/cowsay -f /usr/share/cowsay/cows/stegosaurus.cow
    elif [ "$1" = "stop" ]
    then
    echo 'good bye' | /usr/games/cowsay -f /usr/share/cowsay/cows/satanic.cow
    else
    echo $0 "start|stop"
    fi
    

    Статистика

    Время первой команды журнала17:02:49 2009- 5-29
    Время последней команды журнала18:08:18 2009- 5-29
    Количество командных строк в журнале101
    Процент команд с ненулевым кодом завершения, %11.88
    Процент синтаксически неверно набранных команд, % 9.90
    Суммарное время работы с терминалом *, час 1.09
    Количество командных строк в единицу времени, команда/мин 1.54
    Частота использования команд
    shtdown22|====================| 20.56%
    vi14|=============| 13.08%
    ls13|============| 12.15%
    cat7|======| 6.54%
    cowsay6|=====| 5.61%
    echo6|=====| 5.61%
    apt-get6|=====| 5.61%
    screen4|===| 3.74%
    ln4|===| 3.74%
    учше4|===| 3.74%
    cd3|==| 2.80%
    sysvconfig2|=| 1.87%
    chmod2|=| 1.87%
    cp2|=| 1.87%
    qqqqqqqqqqqqqx2|=| 1.87%
    banner2|=| 1.87%
    lspci2|=| 1.87%
    ~2|=| 1.87%
    ssh2|=| 1.87%
    учexit2|=| 1.87%
    ____
    *) Интервалы неактивности длительностью 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$