/l3/trainings/nt-bsdnet/2006-04-03/fbsd1.unix.nt/root :1 :2 :3 :4 :5 :6 :7 :8 :9 :10 :11 |
cd(sh) — изменить текущий каталог |
make(1) — утилита для сборки программ |
pkg_add(1) — проинсталлировать пакет (для FreeBSD) |
portupgrade(8) — обновить установленный или установить новый порт FreeBSD |
man(1) — интерфейс к страницам документации системы |
portupgrade(8) — обновить установленный или установить новый порт FreeBSD |
portupgrade(8) — обновить установленный или установить новый порт FreeBSD |
pkg_version(1) — посмотреть информацию о версиях пакетов системы (для FreeBSD) |
pkg_version(1) — посмотреть информацию о версиях пакетов системы (для FreeBSD) |
man(1) — интерфейс к страницам документации системы |
pkg_version(1) — посмотреть информацию о версиях пакетов системы (для FreeBSD) |
pkg_version(1) — посмотреть информацию о версиях пакетов системы (для FreeBSD) |
portupgrade(8) — обновить установленный или установить новый порт FreeBSD |
cd(sh) — изменить текущий каталог |
vi(1) — главный текстовый редактор Unix |
ls(1) — показать содержимое каталога |
less(1) — программа просмотра файлов (расширенная версия more) |
less(1) — программа просмотра файлов (расширенная версия more) |
vi(1) — главный текстовый редактор Unix |
portupgrade(8) — обновить установленный или установить новый порт FreeBSD |
vi(1) — главный текстовый редактор Unix |
portupgrade(8) — обновить установленный или установить новый порт FreeBSD |
vi(1) — главный текстовый редактор Unix |
portupgrade(8) — обновить установленный или установить новый порт FreeBSD |
make(1) — утилита для сборки программ |
|
#make fetchindex
/usr/ports/INDEX-6.bz2 100% of 735 kB 41 kBps 00m00s |
#pkg_add -r portupgrade
![]() Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6.0-release/Latest/portupgrade.tbz... Done. pkg_add: package 'portupgrade-20041226_7' or its older version already installed |
#portupgrade minicom
![]() [Rebuilding the pkgdb <format:bdb1_btree> in /var/db/pkg ... - 298 packages found (-0 +298) .......................................................................................................................................................................................................................................................................................................... done] ** Listing the failed packages (*:skipped / !:failed) ! comms/minicom (minicom-2.1) (Invalid argument) ---> Packages processed: 0 done, 0 ignored, 0 skipped and 1 failed |
#man portupgrade
|
#portupgrade -x icom
portupgrade rev.1049 (2004-12-26) usage: portupgrade [-habcCDDfFiklnOpPPqrRsuvwWy] [-A command] [-B command] [-L format] [-S command] [-x pkgname_glob] [[-o origin] [-m make_args] [-M make_env] pkgname_glob ...] -h, --help Show this message -a, --all Do with all the installed packages -A, --afterinstall=CMD Run the command after each installation -b, --backup-packages Keep backup packages of the old versions' -B, --beforebuild=CMD Run the command before each build; If the command exits in failure, then the port will be skipped ... PKG_DBDIR packages DB directory [/var/db/pkg] PKG_PATH packages search path [$PACKAGES/All] PKG_TMPDIR temporary directory for backup etc. [$TMPDIR] (Note: This must have enough free space when upgrading a big package) PORTSDIR ports directory [/usr/ports] PORTS_DBDIR ports db directory [$PORTSDIR] PORTS_INDEX ports index file [$PORTSDIR/INDEX] PORTUPGRADE default options (e.g. -v) [none] TMPDIR temporary directory [/var/tmp] ** No package names given. |
#portupgrade minicom
|
#pkg_version -x minicom
![]() pkg_version: illegal option -- x usage: pkg_version [-hIoqv] [-l limchar] [-L limchar] [[-X] -s string] [-O origin] [index] pkg_version -t v1 v2 pkg_version -T name pattern |
#pkg_version minicom
![]() ORBit2 < OpenEXR < apr-nothr-db4 < arts < ^C |
#man pkg_version
|
#pkg_version -snicom
minicom = |
#pkg_version -s bash
bash < |
#portupgrade bash
![]() ---> Upgrading 'bash-3.0.16_1' to 'bash-3.1.10_1' (shells/bash) ---> Building '/usr/ports/shells/bash' ===> Cleaning for gettext-0.14.5_2 ===> Cleaning for libtool-1.5.22_2 ===> Cleaning for libiconv-1.9.2_2 ===> Cleaning for bash-3.1.10_1 ===> Vulnerability check disabled, database not found => bash-3.1.tar.gz doesn't seem to exist in /usr/ports/distfiles/bash. => Attempting to fetch from http://ftp.gnu.org/gnu/bash/. bash-3.1.tar.gz 100% of 2474 kB 64 kBps 00m00s ... => bash31-010 doesn't seem to exist in /usr/ports/distfiles/bash. => Attempting to fetch from http://ftp.gnu.org/gnu/bash/bash-3.1-patches//. fetch: http://ftp.gnu.org/gnu/bash/bash-3.1-patches//bash31-010: size mismatch: expected 1829, actual 5218 => Attempting to fetch from ftp://ftp.gnu.org/gnu/bash/bash-3.1-patches//. fetch: ftp://ftp.gnu.org/gnu/bash/bash-3.1-patches//bash31-010: size mismatch: expected 1829, actual 5218 ^C** Command failed [exit code 2]: /usr/bin/script -qa /tmp/portupgrade40476.0 make ** Fix the problem and try again. ** Listing the failed packages (*:skipped / !:failed) ! shells/bash (bash-3.0.16_1) (interrupted by user) ---> Packages processed: 0 done, 0 ignored, 0 skipped and 1 failed |
#cd /usr/ports/shells/bash
|
#ls -l
![]() total 18 -rw-r--r-- 1 root wheel 3299 7 ÁÐÒ 11:07 Makefile -rw-r--r-- 1 root wheel 2038 7 ÁÐÒ 11:07 distinfo drwxr-xr-x 2 root wheel 512 7 ÁÐÒ 11:07 files -rw-r--r-- 1 root wheel 505 14 ÏËÔ 2004 pkg-deinstall -rw-r--r-- 1 root wheel 381 31 ÉÀÌ 2004 pkg-descr -rw-r--r-- 1 root wheel 418 14 ÏËÔ 2004 pkg-install -rw-r--r-- 1 root wheel 2254 31 ÉÀÌ 2004 pkg-plist |
#vi Makefile
|
#ls -l
total 18 -rw-r--r-- 1 root wheel 3299 7 ÁÐÒ 11:07 Makefile -rw-r--r-- 1 root wheel 2038 7 ÁÐÒ 11:07 distinfo drwxr-xr-x 2 root wheel 512 7 ÁÐÒ 11:07 files -rw-r--r-- 1 root wheel 505 14 ÏËÔ 2004 pkg-deinstall -rw-r--r-- 1 root wheel 381 31 ÉÀÌ 2004 pkg-descr -rw-r--r-- 1 root wheel 418 14 ÏËÔ 2004 pkg-install -rw-r--r-- 1 root wheel 2254 31 ÉÀÌ 2004 pkg-plist |
#less pkg-plist
|
#less
![]() |
#less distinfo
|
#vi distinfo
|
#portupgrade bash
![]() ---> Upgrading 'bash-3.0.16_1' to 'bash-3.1.10_1' (shells/bash) ---> Building '/usr/ports/shells/bash' ===> Cleaning for gettext-0.14.5_2 ===> Cleaning for libtool-1.5.22_2 ===> Cleaning for libiconv-1.9.2_2 ===> Cleaning for bash-3.1.10_1 ===> Vulnerability check disabled, database not found => bash31-010 doesn't seem to exist in /usr/ports/distfiles/bash. => Attempting to fetch from http://ftp.gnu.org/gnu/bash/bash-3.1-patches//. fetch: invalid size ( IGNORE) ... fetch: invalid size ( IGNORE) => Couldn't fetch it - please try to retrieve this => port manually into /usr/ports/distfiles/bash and try again. *** Error code 1 Stop in /usr/ports/shells/bash. ** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade41143.0 make ** Fix the problem and try again. ** Listing the failed packages (*:skipped / !:failed) ! shells/bash (bash-3.0.16_1) (fetch error) ---> Packages processed: 0 done, 0 ignored, 0 skipped and 1 failed |
#vi distinfo
|
#portupgrade bash
---> Upgrading 'bash-3.0.16_1' to 'bash-3.1.10_1' (shells/bash) ---> Building '/usr/ports/shells/bash' ===> Cleaning for gettext-0.14.5_2 ===> Cleaning for libtool-1.5.22_2 ===> Cleaning for libiconv-1.9.2_2 ===> Cleaning for bash-3.1.10_1 ===> Vulnerability check disabled, database not found => bash31-010 doesn't seem to exist in /usr/ports/distfiles/bash. => Attempting to fetch from http://ftp.gnu.org/gnu/bash/bash-3.1-patches//. fetch: http://ftp.gnu.org/gnu/bash/bash-3.1-patches//bash31-010: size mismatch: expected 2000, actual 5218 => Attempting to fetch from ftp://ftp.gnu.org/gnu/bash/bash-3.1-patches//. ^Cfetch: transfer interrupted ---> Backing up the old version ^C Interrupted. ** Could not clean up temporary directory: Directory not empty - /var/tmp/portupgrade4M5KhGVH |
#vi distinfo
33c33 < SIZE (bash/bash31-010) = 2000 --- > SIZE (bash/bash31-010) = 5218 |
#portupgrade bash
![]() ---> Upgrading 'bash-3.0.16_1' to 'bash-3.1.10_1' (shells/bash) ---> Building '/usr/ports/shells/bash' ===> Cleaning for gettext-0.14.5_2 ===> Cleaning for libtool-1.5.22_2 ===> Cleaning for libiconv-1.9.2_2 ===> Cleaning for bash-3.1.10_1 ===> Vulnerability check disabled, database not found => bash31-010 doesn't seem to exist in /usr/ports/distfiles/bash. => Attempting to fetch from http://ftp.gnu.org/gnu/bash/bash-3.1-patches//. bash31-010 100% of 5218 B 5105 kBps ... check, type "make NO_CHECKSUM=yes [other args]". *** Error code 1 Stop in /usr/ports/shells/bash. *** Error code 1 Stop in /usr/ports/shells/bash. ** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade42430.0 make ** Fix the problem and try again. ** Listing the failed packages (*:skipped / !:failed) ! shells/bash (bash-3.0.16_1) (checksum mismatch) ---> Packages processed: 0 done, 0 ignored, 0 skipped and 1 failed |
#make NO_CHECKSUM=yes
./mkbuiltins -D . exec.def cc -c -DHAVE_CONFIG_H -DSHELL -I. -I.. -I.. -I../include -I../lib -I. -I/usr/local/include -O2 -fno-strict-aliasing -pipe exec.c || ( rm -f exec.c ; exit 1 ) rm -f exec.c rm -f exit.o ./mkbuiltins -D . exit.def cc -c -DHAVE_CONFIG_H -DSHELL -I. -I.. -I.. -I../include -I../lib -I. -I/usr/local/include -O2 -fno-strict-aliasing -pipe exit.c || ( rm -f exit.c ; exit 1 ) rm -f exit.c rm -f fc.o ./mkbuiltins -D . fc.def cc -c -DHAVE_CONFIG_H -DSHELL -I. -I.. -I.. -I../include -I../lib -I. -I/usr/local/include -O2 -fno-strict-aliasing -pipe fc.c || ( rm -f fc.c ; exit 1 ) ... cc -c -I. -I../.. -I../.. -I../../lib -I../../include -I. -DHAVE_CONFIG_H -DSHELL -O2 -fno-strict-aliasing -pipe -I/usr/local/include makepath.c cc -c -I. -I../.. -I../.. -I../../lib -I../../include -I. -DHAVE_CONFIG_H -DSHELL -O2 -fno-strict-aliasing -pipe -I/usr/local/include pathcanon.c cc -c -I. -I../.. -I../.. -I../../lib -I../../include -I. -DHAVE_CONFIG_H -DSHELL -O2 -fno-strict-aliasing -pipe -I/usr/local/include pathphys.c cc -c -I. -I../.. -I../.. -I../../lib -I../../include -I. -DHAVE_CONFIG_H -DSHELL -O2 -fno-strict-aliasing -pipe -I/usr/local/include tmpfile.c cc -c -I. -I../.. -I../.. -I../../lib -I../../include -I. -DHAVE_CONFIG_H -DSHELL -O2 -fno-strict-aliasing -pipe -I/usr/local/include stringlist.c cc -c -I. -I../.. -I../.. -I../../lib -I../../include -I. -DHAVE_CONFIG_H -DSHELL -O2 -fno-strict-aliasing -pipe -I/usr/local/include stringvec.c cc -c -I. -I../.. -I../.. -I../../lib -I../../include -I. -DHAVE_CONFIG_H -DSHELL -O2 -fno-strict-aliasing -pipe -I/usr/local/include spell.c cc -c -I. -I../.. -I../.. -I../../lib -I../../include -I. -DHAVE_CONFIG_H -DSHELL -O2 -fno-strict-aliasing -pipe -I/usr/local/include shquote.c cc -c -I. -I../.. -I../.. -I../../lib -I../../include -I. -DHAVE_CONFIG_H -DSHELL -O2 -fno-strict-aliasing -pipe -I/usr/local/include strtrans.c cc -c -I. -I../.. -I../.. -I../../lib -I../../include -I. -DHAVE_CONFIG_H -DSHELL -O2 -fno-strict-aliasing -pipe -I/usr/local/include strindex.c |
Время первой команды журнала | 11:41:14 2006- 4- 7 | |||||||||||||||||||||||||||
Время последней команды журнала | 11:51:46 2006- 4- 7 | |||||||||||||||||||||||||||
Количество командных строк в журнале | 27 | |||||||||||||||||||||||||||
Процент команд с ненулевым кодом завершения, % | 22.22 | |||||||||||||||||||||||||||
Процент синтаксически неверно набранных команд, % | 0.00 | |||||||||||||||||||||||||||
Суммарное время работы с терминалом *, час | 0.18 | |||||||||||||||||||||||||||
Количество командных строк в единицу времени, команда/мин | 2.56 | |||||||||||||||||||||||||||
Частота использования команд |
|
В журнал автоматически попадают все команды, данные в любом терминале системы.
Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду w. В поле WHAT, соответствующем текущему терминалу, должна быть указана программа script.
Команды, при наборе которых были допущены синтаксические ошибки, выводятся перечёркнутым текстом:
$ l s-l bash: l: command not found |
Если код завершения команды равен нулю, команда была выполнена без ошибок. Команды, код завершения которых отличен от нуля, выделяются цветом.
$ test 5 -lt 4 |
Команды, ход выполнения которых был прерван пользователем, выделяются цветом.
$ 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 |
Команды, выполненные с привилегиями суперпользователя, выделяются слева красной чертой.
# id uid=0(root) gid=0(root) Gruppen=0(root) |
Изменения, внесённые в текстовый файл с помощью редактора, запоминаются и показываются в журнале в формате ed. Строки, начинающиеся символом "<", удалены, а строки, начинающиеся символом ">" -- добавлены.
$ vi ~/.bashrc
|
Для того чтобы изменить файл в соответствии с показанными в диффшоте изменениями, можно воспользоваться командой patch. Нужно скопировать изменения, запустить программу patch, указав в качестве её аргумента файл, к которому применяются изменения, и всавить скопированный текст:
$ patch ~/.bashrc |
Для того чтобы получить краткую справочную информацию о команде, нужно подвести к ней мышь. Во всплывающей подсказке появится краткое описание команды.
Если справочная информация о команде есть, команда выделяется голубым фоном, например: vi. Если справочная информация отсутствует, команда выделяется розовым фоном, например: notepad.exe. Справочная информация может отсутствовать в том случае, если (1) команда введена неверно; (2) если распознавание команды LiLaLo выполнено неверно; (3) если информация о команде неизвестна LiLaLo. Последнее возможно для редких команд.
Большие, в особенности многострочные, всплывающие подсказки лучше всего показываются браузерами KDE Konqueror, Apple Safari и Microsoft Internet Explorer. В браузерах Mozilla и Firefox они отображаются не полностью, а вместо перевода строки выводится специальный символ.
Время ввода команды, показанное в журнале, соответствует времени начала ввода командной строки, которое равно тому моменту, когда на терминале появилось приглашение интерпретатора
Имя терминала, на котором была введена команда, показано в специальном блоке. Этот блок показывается только в том случае, если терминал текущей команды отличается от терминала предыдущей.
Вывод не интересующих вас в настоящий момент элементов журнала, таких как время, имя терминала и других, можно отключить. Для этого нужно воспользоваться формой управления журналом вверху страницы.
Небольшие комментарии к командам можно вставлять прямо из командной строки. Комментарий вводится прямо в командную строку, после символов #^ или #v. Символы ^ и v показывают направление выбора команды, к которой относится комментарий: ^ - к предыдущей, v - к следующей. Например, если в командной строке было введено:
$ whoami
user
$ #^ Интересно, кто я?в журнале это будет выглядеть так:
$ whoami
user
Интересно, кто я? |
Если комментарий содержит несколько строк, его можно вставить в журнал следующим образом:
$ whoami
user
$ cat > /dev/null #^ Интересно, кто я?
Программа whoami выводит имя пользователя, под которым мы зарегистрировались в системе. - Она не может ответить на вопрос о нашем назначении в этом мире.В журнале это будет выглядеть так:
$ whoami user
|
Комментарии, не относящиеся непосредственно ни к какой из команд, добавляются точно таким же способом, только вместо симолов #^ или #v нужно использовать символы #=
1 2 3 4Группы команд, выполненных на разных терминалах, разделяются специальной линией. Под этой линией в правом углу показано имя терминала, на котором выполнялись команды. Для того чтобы посмотреть команды только одного сенса, нужно щёкнуть по этому названию.
LiLaLo (L3) расшифровывается как Live Lab Log.
Программа разработана для повышения эффективности обучения Unix/Linux-системам.
(c) Игорь Чубин, 2004-2008