Основы Slackware Linux

         

Опция Действие -copy Пакет будет


upgradepkg(8) обновит пакет, уже присутствующий в вашей системе.Синтаксис программы таков:

# [ROOT=<path>] upgradepkg <package name>...

или

# [ROOT=<path>] upgradepkg \
<old package name>%<new package name>

upgradepkg вначале устанавливает новый пакет, а затем удаляет старый пакет, таким образом, файлы от старого пакета не будут мёртвым грузом висеть в ваших каталогах. Если имя обновляемого пакета изменилось, воспользуйтесь вторым вариантом обращения к программе, указав имя старого пакета (который установлен в системе) и после знака процента имя нового пакета (который вы устанавливаете) .

Если вы указали переменную окружения ROOT, до выполнения removepkg, то путь, указанный в переменной будет использован вместо корневого каталога. Это полезно для настройки новых дисков для вашего корневого каталога. Они обычно будут смонтированы к /mnt или что-то другое, отличное от /.

upgradepkg не безупречна. Вам всегда следует создавать копии ваших конфигурационных файлов. Если они будут переписаны, у вас всё ещё будет копия оригиналов.

Как и с installpkg и removepkg, вы можете указать несколько пакетов, или использовать шаблоны для имён пакетов.



Опция Действие -m Производит makepkg


removepkg(8) обеспечивает удаление пакетов, уже установленных в вашей системе. Синтаксис таков:

# [ROOT=<path>] removepkg [option] <package name>...

Для removepkg есть четыре опции. Только одна из них может быть использована при вызове программы.



Операционная система Slackware


Эта книга написана в SGML с использованием DocBook 4.0 DTD. Поэтому нами были использованы встроенные в DocBook элементы для ссылок на имена файлов, на команды и на содержание фалов.4 Вам стоит ознакомиться с некоторыми из соглашений, принятых в этой книге, до того, как вы продолжите чтение.

Где бы мы не упоминали команду, которую вам необходимо выполнить, она будет выглядеть таким образом:

command

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

ifconfig eth0 192.168.1.10 broadcast 192.168.1.255 \


netmask 255.255.255.0

Имена файлов и каталогов будут выглядеть следующим образом:

filename
directory

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

command output

Когда мы будем приводить команды, которые вам следует выполнить, мы будем показывать их как запущенные из простой командной строки. Когда подразумевается, что команда должна быть выполнена простым пользователем, она будет показана приглашением командной строки со знаком доллара ($). Когда подразумевается, что команда должна быть выполнена root пользователем, приглашение командной строки будет показано со знаком хэш (#).



Ore


more(1) это то, что мы называем утилитой для разбиения на страницы. Часто вывод определённой команды больше, чем размер экрана. Отдельные команды не знают, как разбить свой вывод на несколько экранов. Они предоставляют это утилите разбиения на страницы.

Команда more разбивает вывод на отдельные экраны и ждёт, пока вы нажмёте пробел до того, как выводить следующий экран. Нажатие ввода сместит экран на одну строчку вниз. Вот хороший пример:

$ cd /usr/bin
$ ls -l

Вывод будет гораздо больше экрана. Чтобы разбить вывод на экраны, просто пропустите (pipe) команду через more:

$ ls -l | more

Это pipe символ (Shift и бэкслэш). В двух словах, pipe означает ''возьми вывод команды ls и пропусти его через more''. Вы можете пропускать практически всё через more, не только ls. pipe описана в разделе 5.1.2.



Организация файловой системы


Первое принципиальное отличие Slackware Linux от DOS или Windows- это организация файловой системы. Для начинающих пользователей: в Linux различным разделам жёсткого диска не сопоставляются буквы. В этой системе есть только один основной каталог. Вы можете провести аналогию с диском C:
системы DOS. Каждый раздел жёсткого диска смонтирован (подключён)12 к одному из каталогов основной директории. Что-то вроде всегда расширяемого диска.

Мы называем эту основную директорию корневой директорией, или корневым каталогом, а ссылаемся на неё при помощи одинарного слэша (/
). Эта концепция может показаться вам странной, но на самом деле она значительно упрощает жизнь в том случае, если вам необходимо увеличить размер используемого дискового пространства. Например, у вас закончилось место на том диске, который содержит каталог /home
. На самом деле, большинство пользователей при установке Slackware создают один большой корневой диск, так что это лишь пример. Так как разделы могут быть подключены к любому каталогу, вы можете просто пойти в магазин, купить ещё один жёсткий диск и подключить его к каталогу /home
13. И вот вы ''привили'' немного свободного пространства к вашей системе. И всё без особых усилий по пере-настройке и переносу различных программ.

Ниже вы найдёте описание основных каталогов верхнего уровня в системе Slackware.

/bin

Здесь хранятся основные программы пользователей. Имеются в виду самые основные команды, необходимые пользователю для работы в системе. Например, такие как оболочки и команды файловой системы (ls, cp и т.д.). Каталог /bin
обычно не претерпевает изменений после установки. Если претерпевает, то обычно лишь при обновления пакетов программ предоставленных нами.

/boot
Файлы, используемые Загрузчиком Linux-a (LILO). Эта директория так же практически не получает изменений после установки.

/cdrom
Помните, что все диски подключаются к определённому каталогу? Так вот, каталог /cdrom
предоставлен вам для использования в качестве точки монтирования вашего привода компакт дисков.


/dev
В Linux всё рассматривается, как файл. Даже различные устройства, такие как последовательные порты, жёсткие диски и сканеры. Для получения доступа к определённому устройству, необходимо чтобы существовал специальный файл, называемый device node14 . Все эти ноды находятся в каталоге /dev
. Аналогично устроены большинство Unix - подобных операционных систем.

/etc
Этот каталог содержит файлы настроек. Всё, от конфигурационных файлов системы X Window, базы данных пользователей и до стартовых сценариев. Администратор системы детально ознакомится с этим каталогом, со временем, конечно.

/home
Linux является многопользовательской системой. Каждому пользователю присваивается эккаунт и уникальная директория для персональных файлов. Эта директория называется ''home'' (домашним) каталогом пользователя. Каталог /home
предоставлен для расположения домашних директорий пользователей.

/lib
Системные библиотеки, необходимые для основных программ находятся здесь. Библиотека C, динамический загрузчик, библиотека ncurses и модули ядра - это основные обитатели этого каталога.

/lost+found
При загрузке системы происходит проверка файловых систем на наличие ошибок. Если они обнаружены, то запускается программа fsck и пытается исправить их. Восстановленные части файловой системы сохраняются программой в этом каталоге.

/mnt
Этот каталог предоставляется как временная точка монтирования для жёстких дисков, или отключаемых устройств.

/opt
Дополнительные пакеты программ. Идея в том, что все пакеты программ, устанавливаются в этот каталог, например /opt/<программный пакет>
и в последствии если этот пакет вам более не нужен, то достаточно всего лишь удалить соответствующий каталог. В Slackware дистрибутиве некоторые программы поставляются в /opt
каталоге (например KDE в /opt/kde
), но вы вольны добавить всё, что угодно в /opt
.

/proc
Это в своём роде уникальная директория. На самом деле, она не является частью файловой системы, это виртуальная файловая система, которая предоставляет доступ к информации ядра. Различная информация, которую ядро хочет сообщить вам, подаётся вам через ''файлы'' в каталоге /proc
. Вы так же можете сообщить ядру через некоторые из этих ''файлов'' попробуйте выполнить cat /proc/cpuinfo.



/root
Администратор системы известен системе, как ''root''. Его домашний каталог - /root
, вместо /home/root
. Причина этого в том, что каталог /home
может находится в разделе, отличном от /
и если по какой-то причине /home
не может быть подключён, то пользователь root вынужден будет войти в систему, чтобы решить проблему. И если его домашний каталог на другом диске, это усложнит вход в систему.

/sbin
Основные программы, выполняемые пользователем root а так же программы, выполняемые процессом загрузки хранятся здесь. Обычные пользователи не будут пользоваться этими программами.

/tmp
Временное хранилище данных. Все пользователи имеют права чтения и записи в этом каталоге.

/usr
Это большой каталог в Linux системе. Практически всё остальное расположено здесь. Программы, документация, исходный код ядра и X Window система. Именно в этот каталог, скорее всего, вы будете устанавливать программы.

/var
Системные лог файлы, кэш файлы и файлы-замки программ хранятся здесь.Это каталог для часто меняющихся данных.

Теперь у вас должно появится хорошее представление о том, что содержится в каких каталогах. Следующий раздел поможет вам научится легко искать конкретные файлы, чтобы не пришлось это делать вручную.


Ouch


touch(1) используется для изменения временных атрибутов файла. С помощью этой команды вы можете изменить отметку времени доступа и отметку времени изменения файла. Если указанный файл не существует, то touch создаст пустой файл с указанным именем. Чтобы пометить файл текущим системным временем, выполните такую команду:

$ touch file1

Эта команда имеет несколько опций, включая опции для уточнения, какую временную метку изменить, какое время использовать, и ещё много других. man станица содержит описание всех этих опций.



Оздание пакетов


Создание Slackware пакетов может быть, как простым, так и сложным. Нет специфического метода создания пакетов. Единственное требование это то, что пакет должен быть tar gziped файл, и если нужен после-установочный скрипт, он должен быть в каталоге /install/doinst.sh.

Если вы заинтересованы в создании пакетов для вашей системы, или для сети, которую вы обслуживаете, вам следует посмотреть на различные build скрипты в дереве каталогов исходников Slackware. Есть несколько методов, которые мы используем для создания пакетов.



Пакет программ это упакованный


Перед тем, как приступить к изучению утилит, вам надо ознакомиться с форматом пакетов Slackware. Пакет, это всего навсего tar архив, сжатый при помощи gzip. Пакет устроен таким образом, что он может быть развёрнут в корневом каталоге файловой системы.

Здесь приведена вымышленная программа и пример её пакета:

./
usr/
usr/bin/
usr/bin/makehejaz
usr/doc/
usr/doc/makehejaz-1.0/
usr/doc/makehejaz-1.0/COPYING
usr/doc/makehejaz-1.0/README
usr/man/
usr/man/man1
usr/man/man1/makehejaz.1.gz
install/
install/doinst.sh

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

Обратите внимание на под-каталог install/. Это специальный каталог, который может содержать скрипт, который будет выполнен после копирования файлов. Скрипт называется doinst.sh. Если система обработки пакета найдёт такой скрипт, он будет выполнен после установки пакета.

Другой сценарий может быть использован в пакете, но мы обсудим это более детально в подразделе 5.9.3.



Pine


pine(1) (англ. сосна) это вам не elm (англ. вяз). По крайней мере так говорят. Вашингтонский университет создал свою программу для интернет, новостей и электронной почты, изначально предназначавшуюся для внутреннего использования студентами, как простого mail-клиента. Сегодня pine это один из самых популярных почтовых клиентов и доступен в любой из разновидностей Unix и даже в Windows.

Вы увидите меню команд, и ряд командных клавиш внизу. pine это довольно сложная программа, так что мы не будем слишком углубляться в детали здесь.

Чтобы посмотреть что у вас в папке ''inbox'' (входящие), нажмите i. Сообщения представлены информацией о дате, авторе и теме. Наведите курсор на то сообщение, которое хотите посмотреть и нажмите ввод. Нажав r вы можете ответить на письмо. Как только вы завершили с набором ответа, нажмите

Ctrl+X, чтобы послать сообщение. Вы можете нажать i, чтобы вернуться к списку сообщений.

Если вы хотите удалить сообщение, нажмите d. Это пометит сообщение, на котором находится курсор для удаления. pine удаляет письма, когда вы выходите из программы. pine так же позволяет сохранять письма в папках. Вы можете получить список папок, нажав l. В списке сообщений нажмите s, чтобы сохранить подсвеченное сообщение в другую папку. Вам надо будет ввести имя папки, в которую вы хотите сохранить сообщение.

pine предлагает много, много разных функций; вам определённо следует заглянуть в man страничку. Там вы найдёте свежую информацию о программе.



Pkgtool


pkgtool(8) это управляемая меню программа, позволяющая установку и удаление пакетов. Основное меню выглядит вот так:

Установка может быть произведена из текущего каталога, другого каталога, или с флоппи дисков. Просто выберите метод, который вы хотите использовать и pkgtool

просмотрит выбранное вами расположение, на факт наличия действительных пакетов для установки.

Вы так же можете просмотреть список пакетов, который будет выглядеть вот так:

Если вы хотите удалить пакеты, выберите remove опцию, и вы увидите список всех установленных пакетов, с возможностью выбора нескольких из них для удаления. Пометьте те, которые вы хотите удалить, и нажмите OK.

pkgtool удалит их.

Некоторые пользователи предпочитают эту команду утилитам командной строки. Тем не менее, следует отметить, что утилиты командной строки предоставляют гораздо больше опций. Так же, возможность обновлять пакеты реализована только, как утилита командной строки.



Поддержка через электронную почту


Команда поддержки Slackware попытается помочь вам, если у вас возникли проблемы с ZipSlack или BigSlack. Постарайтесь как можно понятнее сформулировать проблему и предоставить любую информацию, которая может быть полезна при решении проблемы.

<support@slackware.com>



Поддержка через электронную почту (e-mail)


Все, кто приобрели официальный пакет CD, имеют право на получение бесплатной поддержки по установке, через e-mail. Мы из старой школы. Мы стараемся, насколько это в наших силах, помочь всем, кто посылает нам e-mail с вопросами о помощи. Пожалуйста, перед тем как отправлять нам письмо, проверьте вашу документацию и вэб сайт (в особенности раздел FAQ и форум). Зачастую таким способом вы получите более быстрое решение, чем спрашивая по e-mail. И чем меньше писем нам приходит, тем быстрее мы сможем помочь всем.

Адрес электронной почты для получения технической поддержки следующий: <support@slackware.com> Другие адреса электронной почты и контактная информация указанны на нашем вэб сайте.

[Назад][Содержание][Вперед]

//



Поиск Файлов


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

which  

Первый из них - это команда which(1). which обычно используется для быстрого поиска программ. Он просто ищет в каталогах, указанных в вашей PATH переменной и выдаёт первое найденное соответствие, а так же путь к этому файлу. Например:

$
which bash
/bin/bash

Таким образом, bash
находится в /bin
каталоге. Это очень ограниченная команда для поиска, так как она ищет только в вашем PATH.

whereis  

Команда whereis(1) работает аналогично программе which, но в дополнение к последней, так же ищет man страницы и исходники программ. Результат выполнения whereis для bash будет следующий:

$
whereis bash
bash: /bin/bash /usr/bin/bash /usr/man/man1/bash.1.gz

Эта команда не только говорит, где находится программа, но так же указывает, где находится её онлайн документация. Но она всё ещё весьма ограничена. Что если вам необходимо найти определённый конфигурационный файл? which или whereis тут вам не помогут.

find  

Команда find(1) может быть использована для поиска всего, чего угодно. Я хочу задать поиск файла xinitrc во всей системе.

$
find / -name xinitrc
/var/X11R6/lib/xinit/xinitrc

find потребует много времени для поиска, так как эта команда пролистает всё дерево каталогов для поиска. И если вы выполните команду, как обычный пользователь, то на экран, вероятно, неоднократно будут выведены сообщения об ошибке доступа к некоторым из каталогов (к тем, которые может просматривать только root). Но find нашла наш файл. Уже хорошо. Если бы только она работала чуточку быстрее...

locate  

Команда locate(1) производит поиск по всей файловой системе, в точности как и find, но она просматривает свою базу данных вместо того, чтобы пролистать все каталоги. База данных настроена так, что она автоматически обновляется в 4:40 утра. Вы так же можете вручную выполнить updatedb(1), для обновления этой базы данных (перед запуском её вручную вам следует выполнить su nobody). Вот пример использования locate:

$
locate xinitrc # нам не надо быть root
/var/X11R6/lib/xinit/xinitrc
/var/X11R6/lib/xinit/xinitrc.fvwm2
/var/X11R6/lib/xinit/xinitrc.openwin
/var/X11R6/lib/xinit/xinitrc.twm

Мы получили больше, чем нам было необходимо и очень быстро в то же время. С этими командами вы можете найти всё, что угодно в Linux системе.



Пользователи могут поменять в


Очень важно выключать компьютер правильно. Простое отключение питания может вызвать серьёзные повреждения системы. Пока компьютер включён, даже если вы ничего не делаете, некоторые файлы открыты системой. Помните, что в фоновом режиме всегда выполняются какие-то системные процессы. Эти процессы управляют системой, и много файлов открыты этими программами всё время. Если просто отключить питание, эти файлы не закрываются правильно, и из-за этого могут повредиться. В зависимости от того, какие из файлов были повреждены, система может быть серьёзно повреждена. В любом случае, вам придётся пройти через длительную процедуру проверки системы при следующей загрузке системы.

Так что если вы собираетесь выключить, или пере-загрузить компьютер, очень важно делать это правильно. Есть несколько путей сделать это; вы можете выбрать, тот, который вам понравится больше всех. Большинство способов, используемых для выключения так же могут быть использованы для пере-загрузки.

Первый метод это программа shutdown(8) и наверное это самый распространённый метод. shutdown может быть использована для выключения или пере-загрузки в определённое время, и может выдать сообщение всем пользователям системы, говорящее, что система будет выключена.

Обычный вариант использования shutdown:

# shutdown -h now

В этом случае мы не послали специфическое сообщение пользователям; они увидят стандартное сообщение shutdown программы. ''now'' это время, когда мы хотим выключить систему, а ''-h'' значит halt (остановить) систему. Это не очень вежливый способ выключения многопользовательской системы, но для вашего домашнего компьютера, этого больше чем достаточно. Более вежливо на многопользовательской системе будет заранее предупредить пользователей:

#shutdown -h +60

Эта команда пере-загрузит компьютер через час (60 минут), что вполне нормально на обычной многопользовательской системе. Действительно важные системы должны заранее создавать расписание пере-загрузки и предоставлять его в /etc/motd(5).


Для пере- загрузки используется та же команда, но с ключом ''-r'' вместо ''-h'':

#shutdown -r now

Вы можете использовать тот же формат для времени с shutdown -r, что и с shutdown -h. Есть много других действий, которые вы можете выполнять при помощи shutdown, чтобы контролировать, когда именно пере-загрузить или выключить компьютер. Смотрите man страницу для подробностей.

Второй способ выключения или пере-загрузки компьютера, это использование

halt(8) и reboot(8) программ. halt немедленно выключит ваш компьютер, а reboot пере-загрузит его. reboot это всего лишь символическая ссылка на halt. Вызываются команды вот так:

#halt
#reboot

Более низко уровневый способ пере-загрузки компьютера, это общение напрямую с init. Все остальные методы, это лишь более удобные способы общения с

init, но вы можете так же и напрямую сказать init-у, чего вы хотите, при помощи telinit(8) (обратите внимание на то, что в имени команды есть только одна ''l''26). Использование telinit сообщит init-у, в какой из уровней загрузки (runlevel) перейти, что в свою очередь, вызовет выполнение соответствующего сценария. Этот сценарий убьёт или породит процессы, в соответствии с выбранным уровнем загрузки. Это может быть использовано для выключения или пере-загрузки, так как оба этих процесса являются определёнными уровнями загрузки.

#telinit 0

Уровень загрузки 0 это режим выключения. Сказав init войти в режим загрузки 0, мы заставим его убить все процессы, размонтировать файловые системы и остановить систему. Это отличный способ выключения компьютера. На многих laptop-ах это так же вызовет отключение питания.

#telinit 6

Уровень загрузки 6 это режим пере-загрузки. Все процессы будут убиты, файловые системы размонтированы, и компьютер пере-загрузится. Это самый ''правильный'' метод пере-загрузки.

Есть ещё один способ пере-загрузки компьютера. Все остальные (вышеперечисленные) методы могут быть выполнены только пользователем root. Тем не менее, можно пере-загрузить компьютер, если вы не root, в том случая, если у вас есть физический доступ к клавиатуре. Выполнение комбинации из трёх пальцев (control-alt-delete) вызовет немедленную пере-загрузку компьютера. что действительно происходит в этом случае, так это выполнение программы /usr/sbin/ctrlaltdel(8). Так что если у программы какие-то странные права доступа, или если она отсутствует, нажатие этих кнопок ни к чему не приведёт27.



5.5.3  Итог

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

[Назад][Содержание][Вперед]

//






Программа установки Slackware


Теперь вы должны быть знакомы с идеей пакетов программ и как они используются в Slackware. Вы должны быть знакомы с различными утилитами управления пакетами и знать, как использовать их. Наиболее важные моменты этого раздела, это установка, удаление и обновление пакетов. Это и есть наиболее частое применение утилит пакетов. Так же вы должны иметь хоть общее представление о том, как создаются и проверяются пакеты.

[Назад][Содержание][Вперед]

//



Raceroute


Slackware включает 4.4BSD traceroute(8) программу. Это полезный инструмент для диагностики системы, traceroute показывает каждый хост, через который пакеты путешествуют на пути достижения цели. Вы можете посмотреть, сколько ''прыжков'' пакеты совершают, путешествую от вас до Slackware вэб сайта, воспользовавшись такой командой:

$traceroute www.slackware.com

Каждый из хостов будет показан, вместе со временем ответа. Вот пример вывода:

$traceroute www.slackware.com
traceroute to www.slackware.com (204.216.27.13), 30 hops max, 40 byte packets
1 zuul.tdn (192.168.1.1) 0.409 ms 1.032 ms 0.303 ms
2 207.171.227.254 (207.171.227.254) 18.218 ms 32.873 ms 32.433 ms
3 border-sf-2-0-4.sirius.com (205.134.230.254) 15.662 ms 15.731 ms 16.142 ms
4 pb-nap.crl.net (198.32.128.20) 20.741 ms 23.672 ms 21.378 ms
5 E0-CRL-SFO-03-E0X0.US.CRL.NET (165.113.55.3) 22.293 ms 21.532 ms 21.29 ms
6 T1-CDROM-00-EX.US.CRL.NET (165.113.118.2) 24.544 ms 42.955 ms 58.443 ms
7 www.slackware.com (204.216.27.13) 38.115 ms 53.033 ms 48.328 ms

traceroute сходна с ping в том, что так же использует ICMP пакеты. И у этой программы есть несколько опций. По умолчанию максимальное число хостов 30, но его можно изменить, указав ''-m'' опцию. Другие опции детально описаны на вэб страничке.



Ребования к системе


Для обычной установки Slackware необходимо, как минимум:

Оборудование Требования
Процессор 386
ОЗУ 16Мб
Место на диске 500Мб
Флоппи диск 1.44Мб

Если у вас есть загрузочный CD, то вам скорее всего не понадобится флоппи диск. Разумеется, если вы собираетесь устанавливать систему с CD, вам понадобится привод CD. Сетевая плата необходима при установке с использованием NFS. Смотрите раздел 4.2.6 для дополнительной информации.

Требования к свободному месту на диске, указанные в таблице весьма приблизительны. Рекомендованные 500Мб обычно достаточны, но для полной установки вам понадобится порядка одного гигабайта дискового пространства. Большинству пользователей нет необходимости выполнять полную установку. Между прочим, многие работают с Slackware всего на 100Мб.

Slackware может быть установлен на систему с меньшим количеством ОЗУ и меньшим жёстким диском, но это потребует немного колдовства. Если вы заинтересованны в такой установке, загляните в LOWMEM.TXT файл дистрибутива, для получения основных инструкций.



Редисловие переводчика


Однажды я познакомился с Линукс. Первый дистрибутив, попавший мне в руки был RedHat 6.02 где-то в 1999 году. В Одессе есть такое замечательное место - книжный рынок. Так вот именно там я приобрёл двойной диск с гордым названием Linux Office 2000. Что сейчас для меня самого звучит очень загадочно. Фактически, первый диск был копией упомянутой версии RedHat, а на втором диске было море документации на русском языке, StarOffice 5.1, несколько не легковесных игр и толпа всяких утилит и программ.

При попытке установить это счастье я мгновенно столкнулся с проблемой, которую (по привычке полученной от работы с MS Windows) пытался решить экспериментально. Суть на самом деле была в том, что не запускался графический установщик. Моя тогдашняя видео-карта не поддерживалась ещё XFree86. Это была ATI Rage Mobility. Да и монитор я был не в состоянии правильно настроить, так как тогда ещё не знал всю специфику TFT мониторов.

Последующий год я потратил на то, что искал ''свой'' дистрибутив. И очень рад, что очень скоро появился на свет Madrake 7.0 RE. Я своими глазами и на своём компьютере увидел, что Линукс может быть удобной и мощной русскоязычной рабочей станцией. За это хочется сказать огромное спасибо разработчикам сего прекрасного дистрибутива. Который я бы рекомендовал начинающим пользователям. А потом, кто знает, может он вам настолько понравиться, что вы продолжите работать с ним и далее.

Ещё через некоторое время я прочитал где-то в новостях, кажется на unixware.ru, что ''вышла новая версия мощной 32 разрядной операционной системы Slackware Linux 7.1...''. Так как у меня была уйма свободного времени, я взялся попробовать это чудо. После красивого Mandrake-овского графического установщика я попал в программу в стиле старой DOS-овской программы установки, как показалось мне на первый взгляд. Практически никакой автоматики. В общем, поигрался я немного с этим счастьем, и в очень расстроенных чувствах понял, что это не для меня. Всё показалось мне очень сложным. И основной недостаток оказался в том, что я не мог ничего распечатать. А знакомая мне по RedHat и Mandrake утилита printool просто напросто отсутствовала. В общем, пришлось мне расстаться с этим счастьем.


Потом было ещё много всего - Peanut, Turbo... Затем по определённым причинам у меня не стало моего Compaq-а Pressario. Ещё через время дома появился 386-DX40/8Mb/512kb/4-x speed CD-ROM и аж 540Мб HD. По работе мне надо было срочно писать доклад о проделанной работе. Так что пыхтел, как паровоз. Два дня думал, что на такой быстрый и современный компьютер можно поставить. Ответ пришёл из Zip-howto. Так как CD я тогда писать не мог по техническим причинам, пришлось воспользоваться внешним Zip (ppa). В упомянутом документе речь шла именно о Slackware. Работа была сделана во время, и компьютер отправился на свалку. Но я уже загорелся и был очарован производительностью, получаемой при работе в консоли. Следующим моим шагом в изучении Линукс оказалось прочтение книги ''Slackware Linux Essentials'', которую я наглым образом (т.е. бесплатно) скачал с интернета. Потратил один вечер, чтобы собрать всё в кучу. Немного форматирования. Прочитал интересный документ Cyrillic-HowTO в разделе документация на сайте lug.irk.ru. Где и ознакомился с программой a2ps для преобразования текста в .ps. Немного колдовства, прикрутил к ней русские шрифты и вуаля. Книга попала ко мне в руки.


Режим вставки


Вставка и замена текста осуществляется в режиме вставки. Как сообщалось выше, для перехода в этот режим из командного, вам надо нажать i. Далее, весь напечатанный вами текст вводится в текущий буфер. Нажатие Esc

вернёт вас в командный режим.

Замена текста осуществляется несколькими способами. Нажатие r из командного режима позволит вам заменить один символ, подсвеченный курсором. Просто введите новый символ и он займёт место подсвеченного курсором. Сразу же после этого вы вернётесь в командный режим. Нажатие R

позволяет вам заменить столько символов, сколько вы пожелаете. Чтобы выйти из режима замещения, просто нажмите Esc и вы попадёте в командный режим.

Есть так же и другой способ переключения между вставкой и заменой. Нажатие кнопки Insert из командного режима переведёт вас в режим вставки. Если вы уже в режиме вставки, кнопка Insert работает, как переключатель между режимом вставки и замены.



Rm


rm(1) удаляет файлы и деревья каталогов. Аналогия для пользователей DOS - del и deltree. Использование rm может быть очень опасным, если вы не отдаёте себе отчёта в том, что вы делаете. В отличие от DOS и Windows в Linux удалённые файлы восстановлению не подлежат.

Чтобы удалить отдельный файл, укажите его имя после имени команды:

$ rm file1

Если у вас нет прав записи для этого файла, то вы получите сообщение об ошибке доступа. Чтобы удалить файл, несмотря ни на что, воспользуйтесь -f опцией:

$ rm -f file1

Чтобы целиком удалить каталог, воспользуйтесь обеими -r и -f опциями. Вот вам хороший пример того, как удалить всё содержание вашего диска. Надеемся, вы не захотите выполнить такую команду. В любом случае, вот пример команды:

# rm -rf /

Будьте очень осторожны при использовании rm; вы можете подстрелить себя в ногу. За получением дополнительных опций, обращайтесь к man страничке.



Rmdir


rmdir(1) удаляет каталоги из файловой системы. Каталог должен быть пустым, иначе команда не сможет удалить его. Синтаксис прост:

$ rmdir <directory>

Этот пример удалит hejaz под-каталог в текущем рабочем каталоге:

$ rmdir hejaz

Если этот каталог не существует, rmdir скажет вам об этом. Вы так же можете указать полный путь к каталогу, который хотите удалить:

$ rmdir /tmp/hejaz

Этот пример попробует удалить hejaz каталог, являющийся под-каталогом /tmp каталога.

Вы так же можете удалить каталог, и все его родительские каталоги, указав

-p опцию.

$ rmdir -p /tmp/hejaz

Эта команда вначале попытается удалить каталог hejaz, внутри /tmp. Если это удастся, команда попытается удалить /tmp каталог. rmdir

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



Root: суперпользователь


Итак, кто или что такое ''root''? И что он имеет общего с системой?

Ну, в мире Unix и аналогичных системах (таких, как Linux), есть пользователи и ещё пользователи. Мы вернёмся к более подробному обсуждению позже, но важно знать, что пользователь root, это самый главный пользователь; это всезнающий и все-умеющий пользователь и никто не смеет ослушаться ''root'' пользователя. Это просто не дозволенно. Root это тот, кого мы называем суперпользователем и имеем на это полное право. И что самое лучшее, так это, что вы и есть root.

Здорово, не правда ли?

Если вы не уверенны: да, это очень здорово. Что вы должны усвоить, так это то, что root может поломать всё, что угодно, если пожелает. Возможно, вы захотите заскочить вперёд и заглянуть в раздел5.5 и посмотреть, как добавить пользователя; и войти, как этот пользователь. Мудрость гласит, что лучше всего становится суперпользователем только когда это абсолютно необходимо, чтобы избежать случайных повреждений в системе.

Кстати, если вы вошли в систему, как обычный пользователь, и вам надо выполнить пару команд, как root, вы можете воспользоваться командой su(1). Вас спросят пароль root-а и затем вы им станете, до тех пор, пока не выйдете. При помощи su вы так же можете стать любым другим пользователем вашей системы, если знаете его пароль. Например, su logan сделает вас мной.



Route


Для того, чтобы знать, какую куда посылать информацию, ядро использует роутинговую таблицу (routing table). Я не собираюсь углубляться в подробности, но вы можете просмотреть эту таблицу при помощи /sbin/route(8). route -n выдаст вам таблицу IP адресов вместо имён; это полезно в случае возникновения затруднений с вашим сервером имён или если вы просто не интересуетесь иллюзорным миром доменных имён. К счастью, если вам надо настроить простую сеть (как и большинству людей), то 2.2 ядро автоматически создаст роутинговую таблицу за вас.



Rpmgz/rpmargz


Red Hat Package Manager это популярный сегодня тип системы пакетов. Многие производители программ предоставляют свои программы в RPM формате. Так как это не наш родной формат, мы не рекомендуем нашим пользователям использовать их. Тем не менее, некоторые вещи доступны только в RPM (даже исходники).

Мы предоставляем программы, которая конвертирует RPM пакеты в наш родной .tgz формат28. Это позволит вам распаковать пакет (скажем, при помощи explodepkg ) в временный каталог и исследовать содержимое.

Программа rpm2tgz создаст Slackware пакет с .tgz

расширением, а rpm2targz создаст архив с .tar.gz расширением.



s


Итак, вы знаете, как переключаться между запущенными вами из командной строки фоновыми процессами. Так же вы знаете, что есть ещё много других процессов, которые всё время выполняются. Как же посмотреть их список? Вам надо воспользоваться ps(1) командой. У неё есть множество различных опций, здесь будут описаны лишь самые основные. Для подробной информации смотрите man страницу для ps. Man страницы описаны в разделе 2.2.1.

Простой набор ps выдаст список программ, выполняемых на терминале. Довольно часто этот список будет невелик:

$ ps

PID TTY TIME CMD
7923     ttyp0     00:00:00     bash
8059 ttyp0 00:00:00 ps

Не смотря на то, что процессов немного, информация довольно типичная. Сколько бы у вас не было процессов, при простом использовании ps столбцы будут теми же. Что же означает вся эта информация?

Итак, по порядку: PID это идентификационный номер (ID) процесса. Каждый выполняющийся процесс получает уникальный идентификатор. В 2.2.х ядрах ID процессов может быть любым числом от 1 и до 32767. Каждому процессу присваивается следующий свободный PID. Когда процесс завершается, его номер освобождается. Когда достигнут максимальный PID, следующий свободный будет взят из наименьшего освобождённого. Скорее всего, это изменится в ядре 2.4, и будут представлены новые 32-х битовые PID.

TTY столбец показывает, на каком терминале процесс выполняется. Простое выполнение ps покажет процессы выполняемые на текущем терминале, так что для всех процессов будет выведена идентичная информация в TTY столбце. Как видно из примера, оба показанных процесса выполняются на терминале ttyp0. Это говорит нам о том, что эти процессы запущены либо удалённо, либо из какого-то X терминала.

Столбец TIME показывает, сколько процессорного времени выполняется процесс. Оно не является фактическим временем, с момента запуска процесса. Помните, что Linux это многозадачная операционная система. В любой момент времени есть несколько выполняемых процессов, и каждый из этих процессов получает небольшую порцию процессорного времени. Так вот, информация указанная в столбце TIME, показывает время, которое гораздо меньше фактического времени выполнения процесса. Если вы это время больше, чем несколько минут у одного из процессов, то скорее всего, что-то не так.


Ну и наконец, CMD столбец, показывает что же это за программа. Отображается только имя программы; опции командной строки и аналогичная информация не выводится. Для того чтобы увидеть эту информацию, вам необходимо воспользоваться одной из многих опций программы ps. Давайте обсудим некоторые из них вкратце.

Вы можете получить полный список выполняемых в вашей системе процессов, воспользовавшись правильным набором опций. Скорее вы захотите вывести расширенный список процессов. Давайте попробуем:

$ ps -ax

PID TTY     STAT  TIME COMMAND
1 ? S 0:03 init [3]
2 ? SW 0:13 [kflushd]
3 ? SW 0:14 [kupdate]
4 ? SW 0:00 [kpiod]
5 ? SW 0:17 [kswapd]
11 ? S 0:00 /sbin/kerneld
30 ? SW 0:01 [cardmgr]
50 ? S 0:00 /sbin/rpc.portmap
54 ? S 0:00 /usr/sbin/syslogd
57 ? S 0:00 /usr/sbin/klogd -c 3
59 ? S 0:00 /usr/sbin/inetd
61 ? S 0:04 /usr/local/sbin/sshd
63 ? S 0:00 /usr/sbin/rpc.mountd
65 ? S 0:00 /usr/sbin/rpc.nfsd
67 ? S 0:00 /usr/sbin/crond -l10
69 ? S 0:00 /usr/sbin/atd -b 15 -l 1
77 ? S 0:00 /usr/sbin/apmd
79 ? S 0:01 gpm -m /dev/mouse -t ps2
94 ? S 0:00 /usr/sbin/automount /auto file /etc/auto.misc
106 tty1 S 0:08 -bash
108 tty3 SW 0:00 [agetty]
109 tty4 SW 0:00 [agetty]
110 tty5 SW 0:00 [agetty]
111 tty6 SW 0:00 [agetty]
(output cut)
Большинство из этих процессов запускаются при старте почти любого компьютера, работающего под Linux. В своей системе я сделал несколько изменений, так что вы скорее всего увидите что-то другое. Но всё же большинство из перечисленных процессов вы увидите в вашей системе. Как вы видите, опции заданные программе в этом примере, заставляют её выводить не только имена программ, но и опций с которыми они были выполнены. А так же ещё несколько новых столбцов с интересной информацией.

Наверное вам сразу бросится в глаза, что большинство из процессов выполняются на tty ''?''. Это процессы, запущенные с более не активного терминала. И поэтому они больше не принадлежат определённому терминалу.



Так же вы видите новый столбец: STAT. Он показывает состояние (status) процесса. S используется для спящего (sleeping) процесса: процесс ожидает, пока что-то произойдёт. Z используется для зомбиованных процессов (zombied). Это такие процессы, родительский процесс которых умер, оставив дочерние процессы рабочими. Это не есть хорошо.

Если вы хотите увидеть ещё больше информации о выполняемых процессах, попробуйте такую команду:

$ ps -aux

USER    PID  %CPU  %MEM    VSZ   RSS  TTY       STAT  START    TIME  COMMAND
root    1    0.0  0.0  344  80  ?       S     Mar02  0:03  init [3]
root    2    0.0  0.0    0   0  ?       SW    Mar02  0:13  [kflushd]
root    3    0.0  0.0    0   0  ?       SW    Mar02  0:14  [kupdate]
root    4    0.0  0.0    0   0  ?       SW    Mar02  0:00  [kpiod]
root    5    0.0  0.0    0   0  ?       SW    Mar02  0:17  [kswapd]
root    11   0.0  0.0  1044  44  ?       S     Mar02  0:00  /sbin/kerneld
root    30   0.0  0.0  1160   0  ?       SW    Mar02  0:01  [cardmgr]
bin     50   0.0  0.0  1076  120  ?       S     Mar02  0:00  /sbin/rpc.port
root    54   0.0  0.1  1360  192  ?       S     Mar02  0:00  /usr/sbin/sysl
root    57   0.0  0.1  1276  152  ?       S     Mar02  0:00  /usr/sbin/klog
root    59   0.0  0.0  1332   60  ?       S     Mar02  0:00  /usr/sbin/inet
root    61   0.0  0.2  1540  312  ?       S     Mar02  0:04  /usr/local/sbi
root    63   0.0  0.0  1796   72  ?       S     Mar02  0:00  /usr/sbin/rpc.
root    65   0.0  0.0  1812   68  ?       S     Mar02  0:00  /usr/sbin/rpc.
root    67   0.0  0.2  1172  260  ?       S     Mar02  0:00  /usr/sbin/cron
root    77   0.0  0.2  1048  316  ?       S     Mar02  0:00  /usr/sbin/apmd
root    79   0.0  0.1  1100  152  ?       S     Mar02  0:01  gpm
root    94   0.0  0.2  1396  280  ?       S     Mar02  0:00  /usr/sbin/auto
chris   106  0.0  0.5  1820  680  tty1      S     Mar02  0:08  -bash
root    108  0.0  0.0  1048   0  tty3      SW    Mar02  0:00  [agetty]
root    109  0.0  0.0  1048   0  tty4      SW    Mar02  0:00  [agetty]
root    110  0.0  0.0  1048   0  tty5      SW    Mar02  0:00  [agetty]
root    111  0.0  0.0  1048   0  tty6      SW    Mar02  0:00  [agetty]
(output cut)
Это достаточно полный набор информации. Здесь вы видите новые столбцы, которые описывают: какой пользователь запустил процесс, сколько системных ресурсов использует процесс (%CPU, %MEM, VSZ и RSS столбцы), и дату, когда процесс был запущен. Очевидно, здесь предоставлено достаточно информации о процессах, которая может быть полезна для системного администратора. Так же мы встретились с ещё одной проблемой: информация не помещается на экране. Опция ''-w'' исправит это.

Вывод команды не очень красив, но весьма полезен работает. И всё же мы ещё не увидели всей доступной информации по выполняемым процессам. Есть ещё много разнообразной информации, которую вы можете получить о каждом из процессов. Загляните в man страницу для программы ps. Тем не менее, опции описанные в этом разделе являются наиболее часто применяемыми. И наверное вы будете пользоваться в основном ими.


С целью упрощения, Slackware исторически


Флоппи

Ранее представлялось возможным установить весь Slackware Linux с флоппи дисков. Возросший с тех пор объём программных пакетов (точнее, некоторых из них) изменил эту идеологию. Сегодня лишь два программных раздела все ещё можно установить с флоппи. A серия может быть полностью установлена с флоппи и так же, большинство программ из серии N. Это позволит вам получить основную систему, которая впоследствии может быть использована для установки остальных программ из дистрибутива через сеть.

Следует отметить, что флоппи диски всё ещё могут потребоваться вам при установке с CD-ROMа, если у вас нет загрузочного CD, а так же для установки через NFS.

CDROM  

Если у вас есть загрузочный CD, из официального набора, (см. раздел 3.1.1), то процесс установки будет несколько проще для вас. Если нет, то вам понадобится загрузиться с флоппи диска. Также, если у вас установлено специфическое оборудование, которое приводит к проблемам при использовании ядра с загрузочного CD, вам может понадобится использовать специализированные флоппи диски.

Смотрите подразделы ''Загрузочный диск'' и ''Дополнительный диск'', для получения информации по выбору и созданию флоппи дисков для загрузки, если возникла такая необходимость.

NFS  

NFS (Network File System - сетевая файловая система) - способ предоставления файловых систем удалённым машинам. Установка через NFS позволяет вам установить Slackware с другого компьютера в вашей сети. Машина, с которой вы хотите устанавливать систему, должна быть настроена для экспортирование дерева каталогов дистрибутива Slackware, машине на которую вы собираетесь устанавливать систему. Разумеется, для этого вам необходимы некоторые знания NFS. Вы можете обратиться к разделу 4.2.6 этого руководства.

Теоретически, возможно использование NFS при установке такими методами, как PLIP (через параллельный порт), SLIP и PPP (надеемся, не через модем). Тем не менее, мы рекомендуем использовать сетевые карты, если есть такая возможность. В конце концов, установка системы через порт принтера это очень и очень медленный процесс.

Загрузочный диск  



Серверы и оконные менеджеры


Изначально X Window система была разработана, для работы сквозь сеть. Один большой сервер выполняет X программы, а на экран они выводятся на других машинах-клиентах, где угодно в сети. Возможность удалённо выводить на экран программы может иметь много преимуществ. Главные недостатки этой концепции в том, что она менее безопасна, чем локально выполняемые программы, а так же она очень требовательна к сетевым ресурсам. Вы найдёте обсуждение этой концепции ниже в разделе4.3.5.

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

Работа оконного менеджера - обрабатывать рисование окон на экране, с программами внутри этих окон, а так же обрабатывать ввод с мыши и клавиатуры. Первые оконные менеджеры только это и делали. Сегодняшние оконные менеджеры - гораздо более сложные программы, и в них можно настроить практически всё, что вы пожелаете. В них есть все мыслимые опции, которые позволяют сделать ваш рабочий стол отличным от всех других.

Большое количество оконных менеджеров действительно отличает Linux от Windows. В Windows, у вас есть одна основная оконная среда. В Linux вы можете пользоваться одним из многих оконных менеджеров, каждый с различным внешним видом и различными настройками. Некоторые люди назовут это недостатком, так как нет одного стандартного внешнего вида. Но большинство пользователей Linux назовут это достоинством, так как вы можете настроить вашу систему так, как пожелаете.



Сеть есть не что иное, как несколько


ping(8) посылает ICMP ECHO_REQUEST пакет указанному хосту. Если хост отвечает, вы получаете ICMP пакет обратно. Звучит странно? Вы можете ''ping-овать'' адрес, чтобы посмотреть, жив ли компьютер, ему соответствующий. Вот пример общения между двумя пользователями Linux:


Пользователь A: Loki опять лёг.
Пользователь B: Ты уверен?
Пользователь A: Да, я пытался пинговать его, но никакого ответа.

Такой вариант применения ping и делает её очень полезной каждодневной программой. Программа позволяет очень быстро увидеть, доступен ли компьютер. Синтаксис применения прост:

$ping <ip адрес или имя хоста>

Конечно, программа так же имеет некоторые опции. Загляните в ping(1) man страницу, для информации.



Сетевые устройства PCMCIA


Сетевые устройства PCMCIA настроить пожалуй даже проще, чем остальные. Убедитесь, что вы установили pcmcia пакет (slakware/a11/pcmcia.tgz. (См. раздел 5.9 для подробностей по установке пакетов). При установке pcmcia пакет создаст файл rc.pcmcia в /etc/rc.d каталоге и директорию /etc/pcmcia, а так же установит драйвера в каталог /lib/modules/<версия ядра>/pcmcia. Что здорово в этом пакете, так это то, что он попробует автоматически определить вставку и извлечение поддерживаемых pcmcia устройств; если вы просто вставите ваш сетевой pcmcia адаптер то услышите звуковой сигнал при загрузке необходимого модуля. При извлечении карты, её модуль должен быть автоматически выгружен.

К сожалению, если вы обновите ядро, вам скорее всего понадобится перекомпилировать pcmcia-cs, чтобы обновить драйвера. Естественно, исходный текст поставляется с дистрибутивом; поищите в /source/a/pcmcia каталоге исходники, сценарии и загляните в документацию.



Система Linux это сложный зверь


(Опять что-то интересное.)

Интерфейс командной строчки требует много печатания.

Печатание это работа.

Никто не любит работу.

Из пунктов 3 и 2 мы можем заключить, что 4) никто не любит печатать. К счастью, bash спасает нас от 5 (никто не любит интерфейс командной строки).

Как же bash справляется с этим, спросите вы? В дополнение к шаблонам имён, обсуждённым выше, bash имеет функцию ''завершение по tab''.

Завершение по tab работает примерно так: Вы набираете имя файла. Может он есть в PATH, а может быть в текущем каталоге. Всё что вам надо, это напечатать достаточную часть имени файла для его однозначной идентификации. Затем нажмите tab кнопку. bash определит, чего вы хотели и дополнит имя файла за вас!

Время для примера. Каталог /usr/src содержит два под-каталога:/usr/src/linux и /usr/src/sendmail. Я хочу посмотреть, что находится в /usr/src/linux. Я набираю только ls /usr/src/l, нажимаю кнопку TAB, и bash выдаст мне ls /usr/src/linux.

Теперь, предположим, есть два каталога /usr/src/linux и /usr/src/linux-old; Если я напечатаю /usr/src/l и нажму TAB, bash дополнит столько, сколько сможет, и я получу /usr/src/linux. Я могу остановиться на этом, или нажать TAB опять и bash покажет мне список каталогов, которые подходят под то, что уже напечатано.

Итак, меньше печатания (и пользователям может понравиться интерфейс командной строки). Я же говорил, что это здорово.



Slackware Linux организованна


Эта команда выводит список файлов в каталоге. Пользователи Windows и DOS найдут её аналогичной команде dir. При простом выполнении ls(1) выведет список файлов в текущем каталоге. Для того, чтобы просмотреть содержимое корневого каталога, вам необходимо выполнить следующие команды:

$ cd /
$ ls

bin cdrom home mnt sbin usr
boot dev lib proc suncd var
cdr etc lost+found root tmp vmlinuz

В таком выводе неудобно то, что вы не можете определить, где файлы, а где каталоги. Многие пользователи предпочитают, чтобы ls выводила так же идентификатор типа, что-то вроде этого:

$ ls -FC

bin/ cdrom/ home/ mnt/ sbin/ usr/
boot/ dev/ lib/ proc/ suncd/ var/
cdr/ etc/ lost+found/ root/ tmp/ vmlinuz

Эта команда добавляет слэш после имён каталогов, звезду после имён выполняемых файлов, и т.д.

ls так же может быть использована для получения более подробной информации о файлах. Например, чтобы увидеть, даты создания, имена владельцев, права доступа, вы воспользуетесь подробным списком:

$ ls -l

drwxr-xr-x 2 root bin 4096 May 7 1994 bin/
drwxr-xr-x 2 root root 4096 Feb 24 03:55 boot/
drwxr-xr-x 2 root root 4096 Feb 18 01:10 cdr/
drwxr-xr-x 14 root root 6144 Oct 23 18:37 cdrom/
drwxr-xr-x 4 root root 28672 Mar 5 18:01 dev/
drwxr-xr-x 10 root root 4096 Mar 8 03:32 etc/
drwxr-xr-x 8 root root 4096 Mar 8 03:31 home/
drwxr-xr-x 3 root root 4096 Jan 23 21:29 lib/
drwxr-xr-x 2 root root 16384 Nov 1 08:53 lost+found/
drwxr-xr-x 2 root root 4096 Oct 6 1997 mnt/
dr-xr-xr-x 62 root root 0 Mar 4 15:32 proc/
drwxr-x-x 12 root root 4096 Feb 26 02:06 root/
drwxr-xr-x 2 root bin 4096 Feb 17 02:02 sbin/
drwxr-xr-x 5 root root 2048 Oct 25 10:51 suncd/
drwxrwxrwt 4 root root 487424 Mar 7 20:42 tmp/
drwxr-xr-x 21 root root 4096 Aug 24 1999 usr/
drwxr-xr-x 18 root root 4096 Mar 8 03:32 var/
-rw-r-r- 1 root root 461907 Feb 22 20:04 vmlinuz

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

$ ls -a

. bin cdrom home mnt sbin usr
.. boot dev lib proc suncd var
.pwrchute_tmp cdr etc lost+found root tmp vmlinuz

Файлы, имя которых начинается с точки (так называемые ''dot файлы'') не показываются при простом выполнении ls, поэтому называются ''скрытыми''. Вы увидите их только, если добавите опцию -a.

Существует ещё множество других опций, описание которых вы можете найти в man странице. И не забудьте, что вы можете комбинировать их.



Сновные проблемы


Здесь приведены наиболее часто встречающиеся проблемы, при использовании ZipSlack или BigSlack. Так же мы предлагаем несколько других способов получения помощи, если проблема с которой вы столкнулись не описана здесь. В следующем разделе описаны разные способы получения поддержки.



Совместимость с System V


Совместимость с System V была предоставлена в Slackware 7.0. Много других Linux дистрибутивов используют этот форматом вместо BSD формата. В этом стиле каждому уровню загрузки предоставляется каталог для сценариев, а в BSD-стиле каждому уровню загрузки соответствует только один сценарий.

rc.sysinit
сценарий произведёт поиск всех System V init сценариев в /etc/rc.d
каталоге и выполнит их, если уровень загрузки соответствующий. Это полезно, если вы пользуетесь коммерческим программным обеспечением, которое устанавливает System V init сценарии, в то же время, вы можете пользоваться и BSD сценариями.



Ссылки это указатели на файлы


Как обсуждалось ранее в разделе ''Структура файловой системы'', все диски и устройства в вашем компьютере являются одной большой файловой системой. Различные разделы жёсткого диска, CD-ROMы, и дисководы, все расположены в одном и том же дереве каталогов. Для подключения всех этих устройств к файловой системе, вам надо использовать mount и umount команды.

Некоторые устройства автоматически подключаются при загрузке компьютера. Они перечислены в файле /etc/fstab. Всё, что вы хотите подключать автоматически, должно иметь строчку в этом файле. Для других устройств, вам придётся указывать команду каждый раз, когда вы хотите воспользоваться ими.



Становка


После того, как вы скачали все необходимые компоненты, вам надо развернуть .ZIP файл (или файлы, если вы загрузили нарезку). Вам необходимо использовать 32-bit unzipper. Размер и имена файлов в архиве слишком велики для 16-bit unzipper. Например, вы можете воспользоваться WinZip или PKZIP для Windows.

Оба ZipSlack и BigSlack настроены для развёртывания в корневом каталоге (таком, как C: или D:). Будет создан \LINUX каталог, который фактически содержит Slackware. Так же в этом каталоге вы найдёте файлы, необходимые для загрузки системы.

После того, как вы развернули файлы на выбранном вами диске, там появится каталог \LINUX (для определённости мы будем везде далее предполагать, что выбран диск C:).



Talk


talk(1) позволяет пользователям переговариваться между собой при помощи текстовых сообщений. Экран разделяется горизонтально на две половины. Чтобы запросить общение с другой персоной, воспользуйтесь такой командой:

$talk <персона> [имя tty]

Если вы укажете только имя пользователя, запрос чата рассматривается как локальный, так что только локальные пользователи могут принять участие. Имя tty надо указывать, если вы хотите ''позвонить'' пользователю на специфический терминал, например, если у него несколько открытых терминалов. Необходимая для talk информация может быть получена при помощи команды w(1).

talk так же может быть использован для вызова пользователей удалённо. Для имени пользователя просто укажите его e-mail адрес, и talk попробует соединиться с этим удалённым пользователем на указанном удалённом хосте.

talk довольно ограничен в возможностях. Он работает только с двумя пользователями и наполовину дуплексен.



Tcp_wrappers- это основная система


В этом разделе вы изучили, основы настройки системы для подключения к сети, как обходиться с конфигурационными файлами, а так же изучили некоторые из основ безопасности. В добавок к этому вы узнали, что такое Сетевая Файловая Система (NFS) и как включить её на вашем компьютере. Подключение системы к сети позволяет вам получить доступ ко всем видам сервисов: почта, новости и вэб-сайты. См. раздел 5.6 для информации о том, как пользоваться некоторыми из основных сетевых программ.

[Назад][Содержание][Вперед]

//



Тилиты пакетов


Есть четыре основных утилиты для управления пакетами. Они могут устанавливать, удалять и обновлять пакеты.



Ткрытие файлов


vi позволяет открывать файлы как из командного режима, так и из командной строки, указав имя файла после имени программы. Чтобы открыть файл /etc/lilo.conf:

:e /etc/lilo.conf

Если вы произвели изменения в текущем буфере и не сохранили их, vi

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

Если вы хотите перечитать текущий файл, вы можете сделать это, набрав e!. Это удобно, если вы каким-то образом что-то напортили и хотите перечитать файл.

Некоторые vi клоны (например, vim) позволяют открыть одновременно несколько буферов. Например, чтобы открыть файл 09-vi.sgml

в моём домашнем каталоге, в то время, как другой файл уже открыт, я наберу:

:split  /09-vi.sgml

Новый файл отображается в верхней половине экрана, а старый файл отображается в нижней половине. Есть много команд для управления разделённым экраном, и многие из них напоминают EMACS. Лучшей ссылкой по использованию этих команд будет man страница для вашего vi клона.



То такое Linux?


Linux начался с Линуса Торвальдса5 в 1991 году, как персональный проект. Линус пытался найти способ запуска Unix-подобной операционной системы без существенных материальных затрат. В дополнение к этому он хотел изучить подробности ввода и вывода 386-го процессора. То что получилось он выложил для бесплатного в терминах GNU General Public License (см. раздел 2.1.3) для использования с возможностью модификации всем желающим.

Сегодня Linux вырос в одного из основных игроков на рынке операционных систем. Он портирован на большое число различных процессорных архитектур, включая Compaq-овский Alpha, Sun-овские SPARC и UltraSPARC а так же на Motorola PowerPC чипы (например, на компьютеры Aple Macintosh и IBM RS/6000). Linux сейчас разрабатывается сотнями, если не тысячами программистов со всего мира. В нём работают такие программы, как Sendmail, Apache и BIND, которые являются наиболее распространёнными сер верными программами в Интернет.

На самом деле, термин ''linux'' относится только к ядру - центру операционной системы. Ядро ответственно за управление процессором, памятью, жёсткими дисками и периферийными устройствами. Это на самом деле всё, делает что Linux. Он контролирует работу компьютера, и следит за тем, чтобы все программы работали. Все те программы, которые делают Linux пригодным к использованию, разработаны независимыми группами. Ядро и программы связываются вместе различными компаниями и людьми, чтобы организовать операционную систему. Мы называем это дистрибутивом Linux.



То такое Slackware?


Slackware был первым дистрибутивом, получившим широкое применение. Он был начат Патриком Волькэрдиногм6 в конце 1992 года. Патрик ознакомился с Linux, когда искал недорогой интерпретатор языка LISP для своего проекта. В то время существовало всего несколько дистрибутивов, и Патрик выбрал дистрибутив от Soft Landing Systems (SLS Linux).

Тем не менее, у SLS были свои проблемы и Патрик начал исправлять мелкие ошибки, по мере их обнаружения. В конечном итоге, он решил объединить все исправления в свой собственный дистрибутив, для себя и своих друзей. Этот частный дистрибутив очень быстро обрёл популярность и Патрик сделал его доступным для общественности под именем Slackware.

Патрик так же добавил новые черты дистрибутиву. Такие как программу установки с дружеским интерфейсом, основанную на системах меню и ввёл концепцию менеджмента пакетов программ. Что позволило пользователям легко добавлять, удалять или обновлять пакеты программ в их системе.



То такое ZipSlack/BigSlack?


''ZipSlack'' это специальная версия Slackware Linux. Это уже установленная копия Slackware, готовая к запуску с DOS или Windows раздела. Это она содержит основные компоненты системы. Там нет всех пакетов, входящих в Slackware. Если вы хотите получить все пакеты в виде Zipslack-а, вам надо попробовать ''BigSlack''.

ZipSlack получил своё имя от формы, в которой он поставляется - большой .ZIP файл. Работающие в DOS и Windows скорее всего знакомы с такими файлами. Это сжатые архивы. ZipSlack архив содержит необходимый набор программ для нормальной работы Slackware.

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

Всегда заглядывайте в документацию, содержащуюся в ZipSlack и BigSlack каталогах. Там всегда можно найти наиболее свежую информацию о установке, загрузке и основах использования продуктов.

Преимущества

Не требует пере разметки вашего жёсткого диска.

Отличный способ изучения Slackware Linux без столкновения с установкой системы

Недостатки

Uses the DOS filesystem, which is slower than a native Linux filesystem.

Will not work with Windows NT.



TP клиенты


FTP расшифровывается, как File Transfer Protocol (протокол передачи файлов). Он позволяет вам отсылать и принимать файлы между двумя компьютерами. Один из них FTP сервер, а другой - FTP клиент. В этом разделе мы будем обсуждать клиента.

Для определённости, клиент это вы. ''server'' это компьютер, который отвечает на ваш FTP запрос и позволяет войти. Вы будете загружать файлы с (download) и на (upload) сервер. Клиент не может принимать FTP соединения, он может только соединяться с сервером.



В Slackware Linux есть несколько


gzip(1) это GNU программа сжатия. Она берёт один файл и сжимает его. Пример обычного использования выглядит вот так:

$ gzip infile

Выходной файл будет назван infile.gz и почти всегда будет меньше входного. Обратите внимание, что infile.gz заменит infile. Это значит, что infile прекратит своё существование. Останется только его сжатая копия. Обычные текстовые файлы существенно сожмутся, в то время как jpeg картинки, mp3, и другие подобные файлы почти не сожмутся, так как они уже сжаты. Приведённый выше пример, это нечто среднее между качеством сжатия и затраченным временем. Максимальное сжатие может быть получено при помощи такой команды:

$ gzip -9 infile

Это займёт больше времени, но выходной файл будет настолько сжатым, насколько gzip вообще может его сжать. Использование меньших значений займёт меньше времени, но соответственно и качество компрессии будет хуже.

Распаковывание gzipped (запакованных GNU zip) файлов может быть выполнено при помощи двух команд, которые на самом деле являются одной и той же программой. gzip распакует любой файл с узнаваемым им расширением. Вот список расширений, которые узнаёт команда: .gz, -gz, .z, -z, .Z, или -Z. Первый метод - применить команду gunzip(1) к файлу:

$ gunzip infile.gz

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

Второй метод распаковывания gziped файла, это вызвать gzip в применении к файлу:

$ gzip -d infile.gz

Это приведёт к точно такому же результату, как и вызов gunzip. Объяснение очень просто: gunzip это всего лишь символическая ссылка на /bin/gzip:

$ cd /usr/bin
$ ls -l gunzip
lrwxrwxrwx 1 root root 9 Feb 2 09:45 gunzip -> /bin/gzip

Так что выполнение gunzip на самом деле лишь вызов gzip хоть и под другим именем. Программа может определить, по какому имени к ней обратились, и работает в соответствии с этим. В этом случае, gzip увидит, что его вызвали как gunzip и распакует файл. Поэтому вы можете на ваше усмотрение пользоваться любой из команд, для распаковки gziped файлов.



Вход в систему


Итак, вы загрузились, и перед вами что-то вроде:

Welcome to Linux 2.2.14
darkstar login:

Хм... никто нам ничего не говорил о login. И что такое darkstar? Не волнуйтесь; скорее всего, вы не соединились через гиперпространственную comm-link связь с искусственной луной Империи. (Боюсь, гиперпространственный comm-link ещё не поддерживается Linux ядром :) Нет, drackstar это просто имя одного из наших компьютеров, и его имя устанавливается по умолчанию. Если во время установки вы изменили имя вашего компьютера, то вы увидите его в приглашении входа, вместо drackstar.

Так что же там про login... Если это ваш первый вход в систему, вам необходимо войти в систему, как root пользователь. Вас спросят пароль; если вы указали пароль при установке, то введите его. Если нет, просто нажмите ввод. Ну вот, вы вошли в систему!



Vi( это стандартный текстовый


vi может быть запущен из командной строки множеством различных способов:

$ vi

Такая команда запустит vi с пустым буфером. Вы увидите почти пустой экран. Программа сейчас в ''командном режиме'' и ожидает, пока вы сделаете что -либо. Для обзора различных режимов работы редактора смотрите подраздел 5.8.2. Чтобы выйти из vi напечатайте:

:q

Если вы ничего не изменяли в открытом файле, это приведёт к выходу из программы. Если же вы изменили что либо, программа скажет вам, что содержимое файла было изменено и подскажет вам, что напечатать, чтобы выйти, проигнорировав все изменения.

Вы можете так же открыть при помощи vi уже существующий файл. Например, чтобы открыть /etc/resolv.conf, вам надо выполнить:

$ vi /etc/resolv.conf

Так же, vi может открыть файл с указанной строчки. Например, вы можете запустить vi со строки 47 /usr/src/linux/init/main.c, выполнив такую команду:

vi +47 /usr/src/linux/init/main.c

vi выведет на экран указанный файл, и установит курсор на указанную строку. В случае, если номер строки больше номера последней строки файла,

vi поместит курсор на последнюю строку. Это очень удобно для программистов, так как они могут открыть файл со строки, в которой была обнаружена ошибка, и таким образом, отпадает необходимость поиска строки вручную.



Vi оперирует в разных режимах


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

Вероятно, наиболее часто используемая команда командного режима, это переход в режим вставки. Нажмите i и вы попадёте в режим вставки. Курсор изменит свою форму и ''- INSERT -'' высветится в нижней части экрана (в клонах программы это не произойдёт). В этом режиме вы можете вводить текст, и он будет отображаться на экране. Чтобы вернуться в командный режим, нажмите Esc

кнопку.

Командный режим так же удобен для перемещения внутри файла. На некоторых системах вы можете использовать стрелки для перемещения. В других системах вам придётся воспользоваться более традиционными ''hjkl''. Вот список того, как эти кнопки используются для перемещений:

h перейти влево на один символ
j перейти вниз на один символ
k перейти вверх на один символ
l перейти вправо на один символ

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

Многие команды, используемые в командном режиме начинаются с двоеточия. Например, для выхода используется :q, как уже упоминалось выше. Двоеточие просто показывает, что это команда, в то время, как ''q'' говорит vi что вы хотите покинуть программу. Другой тип команд представлен комбинацией числа (необязательного) и буквы. Перед такими командами не надо указывать двоеточие, они используются в основном для манипулирования текстом.

Для примера, чтобы удалить одну строку из файла, нажмите dd. Что приведёт к удалению строки, на которой находится курсор. Выполнение команды 4dd

укажет vi удалить строку, на которой находится курсор, и три строки после неё. В общем, число указывает vi, сколько раз выполнить команду.


Вы можете комбинировать число с командами перемещения. Например, 10k

переместит вас на 10 строк вверх по тексту.

Командный режим так же может быть использован для вырезания и вставки текста, вставки текста, для считывания других файлов в текущий буфер. Копирование текста осуществляется при помощи y кнопки (y от yank). Копирование текущей строки выполняется нажатием yy и может быть использовано с предшествующим числом, для копирования нескольких строк. Затем перейдёте к месту, куда хотите вставить скопированный текст, и нажмите p. Текст будет вставлен в строку, следующую за текущей.

Вырезание текста выполняется при помощи dd и p используется для вставки вырезанного текста обратно в файл. Считывание текста с другого файла, это довольно простая процедура. Просто наберите :r, пробел и имя файла, содержащего текст, который вы хотите вставить. Содержимое файла будет помещено в текущий буфер, со строки следующей за той, на которой находится курсор. Более усовершенствованные клоны vi завершают имена файла, на подобие того, как это работает в оболочке.

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

Для поиска нажмите на кнопку / и введите текст, который вы хотите найти. vi будет искать от того места, где находится курсор, в направлении к концу файла, и остановится при нахождении первого совпадения. Заметьте, что не точные совпадения так же заставят vi остановиться. Например, поиск ''the'' заставит vi остановиться на ''then'', ''therefore'' и т.д. Это произойдёт потому, что все эти слова содержат ''the'', но только в начале.

После того, как vi нашёл первое совпадение, вы можете продолжить, поиск следующего, простым нажатием / и ввод. Можно так же задавать поиск в направлении от курсора, к началу файла, для этого вместо слэш вам надо воспользоваться ?. Например, для поиска в обратном направлении ''the'' вам необходимо выполнить команду ?the.


Вэб сайт и форум


www.slackware.com

Официальный сайт Slackware Linux содержит достаточно много информации о системе. Вы можете найти там вводную информацию по системе, руководство по установке, список Часто Задаваемых Вопросов (FAQ) и много другой полезной информации, как для новичков, так зачастую и для опытных пользователей.

Так же вы можете найти там форум. Раздел, где пользователи могут обмениваться опытом работы в Slackware и помогать друг другу с решением вопросов и проблем. Этот способ получения помощи, как показывает опыт, является популярным и в то же время очень эффективным и, вероятно, это будет ваша первая остановка на пути получения информации. (Ваши сообщения открываются широкой области пользователей а это означает, что шансы на получение быстрого решения проблемы достаточно высоки. Зачастую вопрос возникший у вас уже встречался кем-то, и он сможет оперативно поделиться своим опытом решения проблемы). Пожалуйста, перед тем, как задавать вопрос, поищите его в форуме, возможно ответ уже есть там и ждёт вас.



Внутри Linux сообщества существует


Довольно часто случается так, что вам необходима инструкция по использованию определённой команды, установке определённой программы, или по настройке оборудования. К счастью для вас, существует множество способов получения такой помощи. Если вы установили пакеты программ из F - раздела, то обширный набор документации уже имеется на вашем компьютере. Программы сами по себе могут поставляться с файлами документации содержащими описание их различных опций, файлов настройки и использования. В конце концов, вы всегда можете обратиться на официальный вэб-сайт Slackware для получения помощи.



Вспомогательные программы


Самый простой способ манипулирования пользователями- при помощи поставляемых с дистрибутивом вспомогательных скриптов и программ. В Slackware для работы с пользователями есть такие программы: adduser,

userdel(8), chfn(1),chsh(1) и passwd(1). А для работы с группами есть groupadd(8), groupdel(8) и groupmod(8). За исключением chfn, chsh и passwd перечисленные программы могут выполняться только пользователем root и поэтому расположены они в /usr/sbin. chfn, chsh и passwd могут быть выполнены кем угодно, а расположены они в каталоге /usr/bin.

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

#adduser

Login name for new user (8 characters or less) []: jellyd

Это имя, которое пользователь будет использовать для входа в систему. Оно должно состоять из восьми или менее символов, так как все login утилиты рассчитаны на это. Обычно используются только маленькие буквы, но можно пользоваться и большими.

User id for jellyd [ defaults to next available]:

ID (UID) пользователя, это на самом деле то, с помощью чего в системе Linux определяется принадлежность файлов. Каждый пользователь имеет уникальный номер, начиная с 1000 в Slackware. Вы можете выбрать UID для нового пользователя, или вы можете просто позволить программе adduser присвоить пользователю следующий свободный номер.

Initial group for jellyd [users]:

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

Additional groups for jellyd (seperated with commas, no spaces) []:

Здесь вам предлагается добавить пользователя в дополнительные группы. Один пользователь может числиться в нескольких группах. Это полезно, если у вас есть разные группы для разных задач, например, для изменения файлов вэб-сайта, для игр и т.д.


jellyd's home directory [/home/jellyd]:
Домашние каталоги по умолчанию располагаются в /home каталоге. Если вы работаете в очень большой системе, возможно возникнет необходимость разместить домашние каталоги в другом месте. Эта опция позволяет вам уточнить, где должен располагаться домашний каталог пользователя. Вы можете так же парализовать пользователя, указав его домашним каталогом что-то вроде /usr/bin/false, но мы не рекомендуем пользоваться этим методом.

jellyd's shell [/bin/bash]:
bash это оболочка по умолчанию в Slackware Linux и подойдёт для большинства людей. Если ваш новый пользователь ранее пользовался Unix, он может быть захочет какую-то другую оболочку, к которой привык больше. Вы можете поменять оболочку сейчас, или же пользователь сделает это позже самостоятельно при помощи chsh команды.

jellyd's account expiry date (YYYY-MM-DD) []:
Вы можете задать дату, после которой пользователь не будет больше иметь доступа к системе. По умолчанию, это бесконечность. Например, эта опция может быть полезна для ISP, если они хотят создать пользователя до определённой даты, пока не получать плату за следующий год.

OK, I'm about to make a new account. Here's
what you entered so far:
New login name: jellyd
New UID: [Next available]
Initial group: users
Additional groups: [none]
Home directory: /home/jellyd
Shell: /bin/bash
Expiry date: [no expiration]
This is it... if you want to bail out, hit Control-C.
Otherwise, press ENTER to go ahead and make the account.
Теперь вы видите всю введённую информацию и если что-то не так, вы можете остановиться при помощи Control-C и начать всё сначала. Иначе вы можете нажать ввод, и пользователь будет создан.

Making new account...
Changing the user information for jellyd
Enter the new value, or press return for the default
           Full Name []: Jeremy
           Room Number []: Smith 130
           Work Phone []:
           Home Phone []:
           Other:
<


Вся эта информация дополнительна, она используется для finger. Вы можете оставить пустыми эти поля. Пользователь может так же изменить эту информацию в любой момент при помощи chfn. Но может быть полезно указать по крайней мере имя и телефон, на тот случай, если вы захотите связаться с персоной.

Changing password for jellyd
Enter the new password (minimum of 5, maximum of 127 characters)
Please use a combination of upper and lower case letters and numbers.
New password:
Re-enter new password:
Password changed.
Done...
Вам придётся ввести пароль для нового пользователя. Если новый пользователь не присутствует при создании эккаунта, просто укажите какой-то пароль по умолчанию и скажите пользователю поменять его на что-то более надёжное.

Выбор пароля

Выбор надёжного пароля это первый шаг по защите системы от взлома. Пароль не должен быть легко угадываемым, так как в этом случае шансы несанкционированного проникновения в систему возрастают. Идеальный пароль это случайный набор символов, включая большие и маленькие буквы, числа и другие символы. Имейте ввиду, что tab лучше не использовать, так как он трактуется по разному разными системами, и при удалённом доступе могут возникнуть проблемы.

В общем, руководствуйтесь здравым смыслом: не выбирайте в качестве пароля чей-то день рождения, какую-то общую фразу, что-то что есть у вас на столе, что-то, что тесно связанно с вами. ''secure1'' так же плохой пароль.

Удаление пользователя ещё более простая процедура. Просто запустите

userdel и имя пользователя, которого вы хотите удалить. Вам необходимо убедиться, что пользователь в этот момент не в системе, и что нет процессов, выполняемых этим пользователем. Так же помните, что если вы удалили пользователя то его больше нет.

#userdel jellyd

Выполнив эту команду, вы удалите ''jellyd'' из вашей системы. Так ему и надо:) Команда удаляет пользователя из файлов /etc/passwd и /etc/group, но не удалит его домашний каталог. Если вы так же хотите удалить и домашний каталог, вы должны воспользоваться следующей командой:



#userdel -r jellyd

Временная парализация эккаунта, будет описана в разделе ''Изменение паролей'', так как это требует изменения пароля пользователя. Изменение регистрационной информации пользователя будет описано в разделах ''Изменения пароля'' и ''Изменение информации о пользователе''.

Программы для создания и удаления групп очень просты. groupadd просто создаст ещё одну группу в файле /etc/group, с уникальным group ID, а groupdel удалит указанную группу. Вам надо будет вручную добавить пользователей в созданную группу, путём редактирования /etc/group.

Давайте создадим группу:

#groupadd cvs

Или удалим:

#groupdel cvs

Вручную  

Конечно, возможно добавлять, изменять и удалять пользователей и группы вручную. После того, как вы ознакомитесь с процедурой, возможно, вы найдёте, что использование скриптов сложнее, чем создание вручную.

Вначале, добавим нового пользователя в файлы /etc/passwd(5), /etc/shadow(5) и /etc/group(5). Файл passwd содержит некоторую информацию о пользователе, но не содержит их паролей. Этот файл должен быть доступен для чтения всем пользователям, но вы не хотите, чтобы пароли, даже закодированные, были доступны для чтения всему миру, так как это будет огромной помощью злоумышленникам. Поэтому закодированные пароли хранятся в теневом файле, который доступен для чтения только root пользователю, а в файле passwd пароли пользователей отображаются, как ''x''. Файл group показывает список всех групп, и кто из пользователей к каким группам относиться.

Давайте рассмотрим /etc/passwd файл и и разберёмся, как добавить кого-то. Типичная строка файла выглядит таким образом:

chris:x:1000:100:Chris Lumens,Room 2,,:/home/chris:/bin/bash
Каждая строка, соответствует пользователю. Поля в каждой линии разделены двоеточием. Поля в порядке слева на право: имя для входа в систему, закодированный пароль (''x'' для всех в Slackware системе, так как мы пользуемся пакетом для теневых файлов паролей), ID пользователя, ID группы, дополнительная информация о пользователе, разделённая запятыми, домашний каталог и оболочка. Что вам надо сделать, так это добавить в конец файла строчку, заполнив все перечисленные поля соответствующими новому пользователю значениями.



Убедитесь, что пароль x, что ID пользователя уникален, что пользователь входит в группу 100 (''users'' группа в Slackware) и что выбрана правильная оболочка.

Теперь добавим строку в /etc/shadow, который содержит пароли. Типичная строка этого файла выглядит вот так:

chris:$1$w9bsw/N9$UWLr2bRER6YyBS.CAEp7R.:11055:0:99999:7:::
Опять таки, каждая строка соответствует одному пользователю, и поля разделены двоеточием. Поля: имя входа в систему, закодированный пароль, количество дней со дня Эпохи (1 Января 1970) до дня, когда пароль был изменён последний раз. количество дней, после которых пароль может быть изменён, количество дней после которых пароль должен быть изменён, количество дней до истечения эккаунта, время когда пользователь получит сообщение о закрытии его эккаунта, дни после истечения эккаунта,после которых эккаунт полностью блокируется, дни с момента Эпохи, когда эккаунт должен быть заблокирован и зарезервированное поле.

Как вы видите, это в основном информация об истечении эккаунта. Если вы не пользуетесь информацией об истечении эккаунта, вам надо только заполнить некоторые из полей со специальными значениями. Иначе, вам понадобится произвести вначале некоторые вычисления и принять некоторые решения, до того, как вы сможете заполнить все эти поля. Для нашего нового пользователя впишите какой-то мусор в поле пароля. Не волнуйтесь о том, какой именно сейчас установлен пароль, так как через минуту мы изменим это. В пароле могут быть использованы любые символы кроме двоеточия. Оставьте ''количество дней, с момента изменения пароля'' пустым. Введите 0, 99999 и 7 как это указанно в примере выше (в те же поля), и оставьте остальные поля пустыми.

Для тех из вас, кто увидев мой пароль в этом примере, и думает, что вы можете взломать его, продолжайте, пожалуйста. Вы теперь знаете пароль к тестовой системе, находящейся за firewall. Это очень вам поможет :)

Так как все являются членами ''users'' группы по умолчанию, вам не надо добавлять нового пользователя в неё. Если вы захотите создать новую группу или добавить нового пользователя в другие группы, вам необходимо будет отредактировать /etc/group. Вот типичная строка файла:



cvs::102:chris,logan,david,root
Поля: имя группы, пароль группы, ID группы и члены группы. Создание новой группы, это всего лишь добавление ещё одной строчки, с уникальным ID и указанием списка пользователей, которых вы хотите включить в группу, в этот файл. Все из перечисленных пользователей, если они в данный момент в системе, вынуждены будут выйти и снова войти в систему, чтобы изменения вступили в силу.

Теперь давайте вернёмся к команде passwd, чтобы создать пароль для созданного нами пользователя. Затем воспользуемся mkdir, чтобы создать домашний каталог там, где мы указали, что он будет расположен в /etc/passwd файле.

Если вы установили sendmail(8), вам необходимо будет создать новый файл с соответствующими правами, принадлежащий новому пользователю в /var/spool/mail каталоге. Вот пример:

#touch /var/spool/mail/jellyd
#chown jellyd.users /var/spool/mail/jellyd
#chmod 660 /var/spool/mail/jellyd25

Эти команды создадут файл очереди почты (mail spool файл) для нового пользователя ''jellyd'' и установят правильные права и принадлежность файла.

Для удаления пользователя, просто удалите всё, что вы вводили при создании. Удалите упоминания о пользователе из /etc/passwd и /etc/group. Удалите его login имя, из всех групп в /etc/group, удалите его очередь почты, если таковая имеется, и так же не забудьте удалить домашний каталог пользователя, если есть необходимость.

Удаление групп проще. Просто удалите строку, определяющую группу из файла /etc/group.


Выбор ядра


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

Slackware предоставляет около 60-ти прекомпилированных ядер. Так что перед вами открывается широкий выбор. Каждое из ядер включает в себя набор стандартных драйверов, плюс дополнительные специфические драйвера. Вы можете использовать одно из прекомпилированных ядер, или вы можете самоcтоятельно откомпилировать ядро для вашей системы. В любом случае, вам следует убедиться в том, что используемое вами ядро содержит поддержку аппаратных устройств, присутствующих в системе.



Выбор рабочего стола


Многие годы Unix использовался исключительно как операционная система для серверов, за исключением мощных профессиональных рабочих станций. Только люди с техническими наклонностями пользовались Unix, как операционной системой, и интерфейс пользователя соответствовал этому факту. GUI были скелетами, разработанными для запуска нескольких необходимых приложений, вроде CAD программ и image render-ов. Управление файлами и системой производилось исключительно из командной строки. Различные производители (Sun Microsystems, Silicon Graphics, и т.д.) продавали рабочие станции с попытками предоставления ''look and feel'', но большое разнообразие сред разработки для GUI привело к исчезновению единого стандартного рабочего стола. Полоса прокрутки может выглядеть по разному в разных программах. Меню расположены в различных частях окна. В программах встречаются разные кнопки и переключатели. до тех пор, пока пользователями были лишь технические профессионалы, это было не очень важно.

С появлением свободных Unix подобных ОС, и растущим числом различных графических приложений, X стал использоваться в качестве рабочего стола пользователями. Большинство, конечно очаровано внешним видом предлагаемым Microsoft-овским Windows и Apple-овским MacOS; недостаток такого разделения в направлениях X-ориентированных приложений, стал барьером к более широкому использованию программ. В ответ на это появились два проекта с открытым исходником: The K Desktop Environment или KDE, и GNU Network Object Model Environment, известная как GNOME. Каждая из которых имеет широкий спектр приложений, от панелей задач и менеджеров файлов, до игр и офисных пакетов, написанных с теми же GUI toolkit, и сильно внедрёнными, чтобы предоставить универсальный и завершённый рабочий стол.

Различия между KDE и GNOME не очень велики. Они выглядят по разному, так как написаны с различными GUI toolkit. KDE основан на Qt библиотеке от Troll Tech AS, в то время, как GNOME основан на GTK, наборе инструментов, изначально разработанном для GNU Image Manipulation Program (или GIMP). Так как проекты независимы, то и разрабатываются они разными дизайнерами и программистами, с разными стилями разработки и с различной философией. Тем не менее, результат в обоих случаях, фундаментально идентичен: полная, тесно интегрированная рабочая среда и набор приложений. По функциональности и внешнему виду, обе среды предоставляют все те же функции, что и другие операционные системы.


Преимущество в том, что эти десктопы бесплатны. Т.е. вы можете получить одну из них, или даже обе на одном и том же компьютере. Выбор за вами.

В добавок к GNOME и KDE, в Slackware есть большая коллекция оконных менеджеров. Некоторые разработаны, как эмуляторы других ОС, некоторые для персональной настройки, другие для скорости. Выбор велик. Конечно, вы вольны установить столько, сколько пожелаете, поиграться с ними и выбрать какой же больше всех остальных вам больше нравится.

Чтобы упростить выбор рабочего стола, Slackware включает в себя программу xwmconfig, которая позволяет вам выбрать, какой из десктопов или оконных менеджеров использовать. Итак:

$ xwmconfig

Вы увидите список всех desktop и оконных менеджеров, установленных в вашей системе. Просто выберите один из них, какой захотите. Каждый пользователь в системе должен выполнить эту программу, так как разные пользователи могут использовать разные destop-ы. И возможно, не все захотят пользоваться тем, который установлен по умолчанию, в процессе установки.

А потом просто запустите X:

$ startx


Wildcard Matching (шаблоны имён)


Практически любая оболочка позволяет использовать некоторые символы, подразумевая, ''здесь может быть всё что угодно''. Такие символы называются ''wildcards''; наиболее распространённые из них это ''*'' и ''?''. По соглашению, ''?'' обычно заменяет любой отдельный символ. Например, допустим у вас в каталоге есть файлы: example1.txt, example2.txt и example3.txt. Вы хотите скопировать все эти файлы (при помощи cp программы, которую мы опишем в разделе5.3 в другой каталог, скажем /tmp. Набирать cp example1.txt example2.txt example3.txt /tmp потребует слишком много усилий по печатанию всего этого текста. Гораздо проще написать cp example?.txt /tmp; ''?'' будет заменён на все встретившиеся символы ''1'', ''2'' и ''3''.

Что вы говорите? Всё равно слишком много надо печатать? Вы правы. Это ужасно; ведь у нас есть закон о труде, который защищает нас от таких ситуаций. Но к счастью, у нас в арсенале так же есть ''*''. Как уже упоминалось выше, ''*'' заменяет любое число символов, включая их отсутствие. Так что в случае, если кроме упомянутых выше файлов в каталоге ничего нет, мы можем просто сказать cp * /tmp и убьём их все одним выстрелом. Предположим теперь, что в том же каталоге есть файлы example.txt и hejaz.txt. И мы хотим скопировать фалы example, но не hejaz.txt; cp example*.txt /tmp сделает это для нас.

cp example?.txt /tmp, конечно, скопирует только наши первые три файла; в файле example.txt нет символа, подходящего под ''?'', так что этот файл будет оставлен в покое.



Windows /DOS


Настройка компьютера для загрузки, как Windows 9x, так и Linux, вероятно наиболее часто встречающийся сценарий двойной загрузки. Есть много способов реализации такой загрузки. Ниже будут приведены два из возможных вариантов.

Часто при настройке двойной загрузки системы составляется замечательный план того, как всё должно происходить, но в процессе настройки ошибаются порядком. Очень важно понимать, что операционные системы должны быть установлены в определённом порядке, для того чтобы двойная загрузка работала. Linux предоставляет больше контроля над управлением содержимого MBR. В связи с этим настоятельно рекомендуется устанавливать Linux в последнюю очередь. Вначале должна быть установлена Windows, так как она всегда переписывает MBR своим загрузчиком в процессе установки.

Использование LILO

Большинство пользователей предпочитают использовать LILO для выбора системы в процессе загрузки. Как и предложено выше, Windows должен быть установлен первым.

Предположим, что у вас есть единственный 47GB IDE жёсткий диск в системе. Так же мы предположим, что вы хотите использовать половину диска для Windows, и половину для Linux. В этом случае появляется проблема с загрузкой Linux. Я не знаю, какая будет геометрия у такого диска, но скорее всего, после 23.5GB вы выйдете за предел в 1024-ого цилиндра. Лучшее расположение разделов для такой системы предложено ниже:

1GB Windows boot (C:)
1GB Linux root (/)
22.5 Windows misc (D:)
22.5 Linux /usr (/usr)

Не забудьте так же, что вам понадобится пространство для раздела подкачки Linux. Неписанное правило гласит, что размер раздела подкачки должен в 2 раза превышать объём оперативной памяти вашей системы. Для машины с 64Мб памяти нужен раздел подкачки в 128Мб и т.д.

После разметки диска, вам следует установить Windows. После того, как он установлен и работает, вам следует установить Linux. Установка LILO потребует дополнительного внимания. Вам надо будет выбрать ''expert'' вариант установки LILO.

Начните новую настройку LILO. Вам надо выбрать вариант установки в MBR, чтобы вы могли использовать LILO для выбора операционной системы. Затем из меню добавьте ваш Linux раздел и затем ваш Windows или DOS раздел. После того, как это сделано, выберите ''install LILO''


Пере загрузите компьютер. LILO должен загрузиться и ждать реакции пользователя. Вы можете нажать Alt для получения приглашения boot:. Введите имя системы, которую вы желаете загрузить (эти имена были выбраны при установке LILO). Если вы не помните, какие имена указали, то нажмите Tab для получения списка доступных для загрузки ОС.

Вы можете настроить LILO более детально, путём редактирования /etc/lilo.conf файла. Вы можете настроить его таким образом, чтобы при загрузке выводилось текстовое меню, и чтобы всегда выводилось приглашение. Например, если я хочу, чтобы LILO выводил на экран такое приглашение:

System Boot Menu
================
1 - Linux
2 - Windows
LILO boot:
То мой /etc/lilo.conf будет выглядеть следующим образом:

# LILO configuration file
boot = /dev/hda
vga = normal
message = /boot/message
image = /vmlinuz
root = /dev/hda2
label = 1
read-only
other = /dev/hda1
label = 2
table = /dev/hda
А мой /boot/message файл будет выглядеть вот так:

System Boot Menu
================
1 - Linux
2 - Windows
LILO очень гибкий в настройках системный загрузчик. Он не ограничен загрузкой только Linux или DOS. Он может загрузить практически любую систему. Обратитесь к man страницам для lilo(8) и lilo.conf(5) для получения более подробной информации.

А что делать, если LILO не работает? Существуют определённые конфигурации, при которых LILO просто не будет работать на определённом компьютере. Но к счастью есть и другие способы реализации двойной загрузки Linux и Windows.

Использование LOADLIN  

Этот способ может быть использован в случае, если LILO не работает в вашей системе или просто, если вы не хотите устанавливать LILO. Этот способ идеален для тех пользователей, которые часто пере устанавливают Windows. При каждой установке Windows, он перепишет MBR, и таким образом уничтожит LILO оттуда. С LOADLIN вы избежите этой проблемы. Большой недостаток в том, что вы можете использовать LOADLIN только для загрузки Linux.

При использовании LOADLIN вы можете установить системы в любом желаемом порядке. При установке Linux будьте внимательны и не перепишите MBR. Лучше всего, просто пропустите установку LILO.



После установки операционных систем, скопируйте файл loadlinX.zip (где ''X'' - номер версии, например ''16a'') из домашнего каталога root пользователя на ваш Windows раздел. Так же скопируйте туда образ вашего ядра. Вам надо проделать это из Linux. Вот пример того, как проделать это:

# mkdir /win
# mount -t vfat /dev/hda1 /win
# mkdir /win/linux
# cd /root
# cp loadlin* /win/linux
# cp /vmlinuz /win/linux
# cd /win/linuz
# unzip loadlin16a.zip
Это создаст каталог C:\LINUX на вашем Windows разделе (мы предположили выше, что это /dev/hda1) и создаст там копии файлов, необходимых для LOADLIN. Затем вам следует пере-загрузиться в Windows для создания загрузочного меню.

После загрузки Windows, войдите в командную строку DOS. Нам необходимо убедиться в том, что система настроена так, чтобы не загружать графический интерфейс при включении.

C:\> cd \
C:\> cattrib -r -a -s -h MSDOS.SYS
C:\> cedit MSDOS.SYS

Добавьте туда такую строчку:

BootGUI=0
Сохраните файл и выйдите из редактора. Теперь надо добавить меню в C:\AUTOEXEC.BAT. Ниже приведён пример такого блока в AUTOEXEC.BAT:

cls
echo System Boot Menu
echo.
echo 1 - Linux
echo 2 - Windows
echo.
choice /c:12 ''Selection? -> ''
if errorlevel 2 goto WIN
if errorlevel 1 goto LINUX
:LINUX
cls
echo ''Starting Linux...''
cd \linux
loadlin c:\linux\vmlinuz root=/dev/hda2 ro
goto END
:WIN
cls
echo ''Starting Windows...''
win
goto END
:END
Ключевая строчка здесь та, что загружает LOADLIN. Мы сообщили ей, какое ядро загружать, где находиться корневой каталог Linux, и что мы хотим, чтобы он был подключён только для чтения на начальном этапе загрузки.

Все инструменты, необходимые для обоих этих методов поставляются с Slackware Linux. На рынке существует огромное количество загрузчиков, но этих инструментов должно быть достаточно практически для любого варианта двойной загрузки.


Windows NT


Это второй из наиболее распространённых вариантов двойной загрузки. С Windows NT возникает несколько дополнительных проблем, по сравнению с Windows 9x. Самая основная в том, что если LILO записать в MBR, то Windows NT не сможет загрузиться. Поэтому приходится использовать загрузчик, поставляемый с Windows NT. Ниже приведён список необходимых шагов по настройке Windows NT и Linux для двойной загрузки.

Установите Windows NT

Установите Linux, расположив LILO в суперблок Linux раздела

Прочтите первые 512 байт корневого раздела Linux и запишите их на Windows NT раздел.

Отредактируйте C:\BOOT.INI из Windows NT, добавив опцию загрузки Linux

Установка Windows NT должна быть довольно проста, как и установка Linux. Затем начинаются небольшие трюки. Получение первых 512-ти байтов вашего Linux раздела на самом деле не так сложно, как звучит. Для этого вам надо находиться в Linux. Предположив, что ваш Linux раздел это /dev/hda2, мы выполним команду:

# dd if=/dev/hda2 of=/tmp/bootsect.lnx bs=1 count=512

Ну вот и готово. Теперь надо скопировать bootsect.lnx в ваш Windows NT раздел. Вот вам ещё одна проблема. Linux не содержит стабильной поддержки записи для файловой системы NTFS. Если при установке Windows NT вы отформатировали её раздел, как NTFS, то вам понадобится скопировать этот файл на FAT дискету, а затем в Windows NT прочесть его. Если же вы разметили диск Windows NT, как FAT, то вы можете просто смонтировать этот диск в Linux и скопировать файл на него. В любом случае, вам надо скопировать файл /tmp/bootesct.lnx с Linux диска в C:\BOOTSECT.LNX на Windows NT диске.

Последний шаг - добавление пункта в загрузочное меню Windows NT. Из Windows NT откройте режим командной строки.

C:\WINNT> cd \
С:\> attrib -r -a -s -h boot.ini
C:\> edit boot.ini

Добавьте такую строчку в конец файла:

C:\bootsect.lnx=''Slackware Linux''

Сохраните изменения и выйдите из редактора. После пере загрузки Windows NT в загрузочном меню появится пункт ''Slackware Linux''. Если вы выберете его, то загрузиться Linux.



Xinitrc и ~/xinitrc


xinit(1)- фактически является программой, запускающей X; она выполняется из startx(1), так что возможно, вы не заметили этого (и скорее всего это вам знать и не надо). Тем не менее, её конфигурационный файл определяет, какие программы (включая и оконный менеджер) запускать при загрузке X. xinit вначале проверяет, есть ли в вашем домашнем каталоге .xinitrc файл. Если она находит его, он выполняется, а иначе выполняется /var/X11R6/lib/xinit/xinitrc (системный файл по умолчанию). Вот пример простого xinitrc фала:

# !/bin/sh
# $XConsortium: xinitrc.cpp,v 1.4 91/08/22 11:41:34 rws Exp $
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/usr/X11R6/lib/X11/xinit/.Xresources
sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap
# merge in defaults and keymaps
if [ -f $sysresources ]; then
    xrdb -merge $sysresources
fi
if [ -f $sysmodmap ]; then
    xmodmap $sysmodmap
fi
if [ -f $userresources ]; then
    xrdb -merge $userresources
fi
if [ -f $usermodmap ]; then
    xmodmap $usermodmap
fi
# start some nice programs
twm &
xclock -geometry 50x50-1+1 &
xterm -geometry 80x50+494+51 &
xterm -geometry 80x20+494-0 &
exec xterm -geometry 80x66+0+0 -name login

Все из этих ''if'' блоков используются для подключения разных конфигурационных фалов. Очень скоро мы вернёмся к .Xresources, а вот файл .Xmodmap мы оставим в покое. Наиболее интересная часть файла расположена в конце, это та часть, где запускаются различные программы. Эта X сессия начнётся с twm(1) оконным менеджером, с часами и с тремя терминалами. Обратите внимание на exec в строчке запуска последнего из терминалов. Эта команда говорит, что этот терминал (xterm(1)) заменит текущую оболочку (ту, которая запустила xinit сценарий). Когда пользователь выйдет из этого xterm, X сессия закончится.

Если вы хотите, определить, какие из программ должны быть запущены в X сессии, скопируйте /var/X11R6/lib/xinit/xinitrc в ~/.xinitrc и отредактируйте его, разместив там строчки, запускающие те программы, которые вы пожелаете. Последние строчки моего выглядят вот так:

# Start the window manager:
exec startkde

Обратите внимание, что есть несколько xinitrc.* файлов в каталоге /var/X11R6/lib/xinit, которые соответствуют разным оконным менеджерам и GUI-ам. Вы можете пользоваться тем из них, каким пожелаете.



Xresources и Xdefaults


Многие из программ X, для получения различных предпочтений пользователя (цвета, шрифты, и т.д.), используют X Resource Database. Эта база данных обслуживается при помощи xrdb(1) программы, которую напрямую, скорее всего вы никогда не станете запускать. В Slackware она запускается автоматически из xinitrc. Файл из которого xinitrc указывает программе xrdb загружать предпочтения -  /.Xresources. xrdb так же загрузит  /.Xdefaults. Минимальный файл .Xresources выглядит следующим образом:

xterm*background: black
xterm*foreground: gray
xterm*scrollBar: true
xterm*font: -*-lucidatypewriter-*-r-*-*-15-*-*-*-*-*-*-*

Эти четыре строчки определяют настройки для xterm программы. Xresource имеет следующую структуру:

program*option: setting/value

Таким образом содержание .Xresources должно быть само-достаточно для понимания. Не пугайтесь строчки с шрифтами; шрифты для X всегда описываются таким способом.



Ыход из vi


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

Может случиться, что произойдёт сбой при работе вашего компьютера, или программы vi. Тем не менее, оба клона (и elvis и vim) предпримут шаги по минимизированию потерь всех открытых буферов. Оба редактора сохраняют открытые буфера во временный файл. Этот файл обычно называется по аналогии с открытым файлом, но с точкой вначале. Это делает файл скрытым.

Этот автоматически удаляется, как только вы нормально завершили редактирование файла. Это значит, что если произошёл сбой, то резервный файл всё ещё будет существовать. И если вы захотите опять редактировать файл, программа спросит вас, как поступить. В большинстве случаев большая часть вашей не записанной работы может быть восстановлена.

elvis так же пошлёт вам письмо (из Graceland, что достаточно странно :) сообщающее о существующей резервной копии.



Ynx


lynx(1) это вэб броузер текстового режима. Это очень быстрый способ для поиска чего-то в интернет. Иногда графика это лишнее, если вы знаете, чего вы ищите.

Для запуска lynx, просто напечатайте lynx в приглашении командной строки:

$lynx

Вы так же можете захотеть указать сайт, который хотите открыть с lynx:

$lynx http://www.slackware.com

lynx печатает командные клавиши и их функции внизу экрана. Кнопки вверх и вниз позволяют пролистывать документ, ввод выбирает подсвеченную ссылку, а кнопка ''влево'' возвращает вас к предыдущей странице. Нажав d вы загрузите выделенный файл. Клавиша g покажет строку, где вы можете ввести URL, который хотите открыть.

Есть так же много других команд. Вы можете обратиться к man странице, или нажать h чтобы получить экран помощи.



Ytalk


ytalk(1) это замена talk. В Slackware она поставляется, как ytalk команда. Синтаксис аналогичен, но имеет несколько отличий:

$ytalk <username>[#ttyname]

Имя пользователя и терминал указываются так же, как и в talk, только указать вы их должны вместе, разделив символом хэш (#).

ytalk предлагает несколько преимуществ:

Поддержка более чем двух пользователей.

Меню доступных опций всегда может быть получено нажатием Esc.

Вы можете выйти из вашей оболочки, оставаясь при этом в talk сессии.

И даже больше...

Если вы администратор сервера, вам следует убедиться, что ntalk порт разрешён в /etc/inetd.conf. Это необходимо для нормальной работы

ytalk.



Ывод из фонового режима


Если вам понадобилось взаимодействовать с фоновым процессом, вы можете вернуть его на передний план. Если у вас только один фоновый процесс, вы можете вернуть его, напечатав:

$ fg

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

[1]+  Done              /bin/ls $LS_OPTIONS

Это говорит вам что фоновый процесс (в данном случае ls - не очень интересно), завершился.

Возможно так же одновременно выполнять несколько процессов в фоновом режиме. Если это так, вам надо знать, какой из процессов вы хотите вернуть на передний план. Простое выполнение fg вернёт процесс, который последним был переведён в фоновый режим. А что если у вас целый список процессов в фоновом режиме? К счастью, bash имеет команду для перечисления всех процессов. Она называется jobs и её вывод выглядит примерно так:

$ jpbs
[1] Stopped vim
[2]- Stopped amp
[3]+ Stopped man ps

Это выдаст вам список всех фоновых процессов. Как видите, все они остановлены. А ещё точнее, приостановлены. Номера это что-то вроде ID для всех фоновых процессов. Если возле номера отображается знак плюс (man ps), это означает, что этот процесс будет выведен из фонового режима по команде fg

без указания аргументов.

Если же вы захотите перевести на передний план vim, вам придётся напечатать:

$ fg 1

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



Загрузочный диск, это диск с которого


После того, как вы создали разделы, вы готовы к установке Slackware. Следующий шаг в процессе установки - это запуск программы setup(8). Чтобы запустить её, просто наберите setup в приглашении командной строки оболочки. setup - меню управляемая система для фактической установки Slackware пакетов и настройки вашей системы.

Процесс установки происходит по следующему сценарию: Вы проходите через каждую опцию программы установки в том порядке, в котором они перечислены. (Конечно, вы можете проделать всё это в практически любом желаемом порядке, но шансы на то, что это не сработает достаточно высоки.) Выбор пункта меню производится при помощи кнопок-стрелок вверх и вниз, а выбор кнопок ''Okay'' или ''Cancel'' производится при помощи стрелок вправо и влево. В добавок к этому, каждому пункту меню соответствует определённая кнопка, которая подсвечена на экране в имени опции. Опции-флаги или, иначе говоря, переключатели (те которые отмечены [X]) помечаются при помощи клавиши пробел.

Разумеется, всё это вы можете найти в разделе ''help'' программы установки, но мы пользуемся принципом - пользователю всё самое лучшее за его деньги.

HELP  

Если вы устанавливаете Slackware впервые, вы скорее всего захотите заглянуть в этот раздел. Там дано описание каждого раздела setup (очень похожее на то, что мы пишем сейчас, но менее предвзятое) и инструкции по навигации через процесс установки.

KEYMAP  

Если вам необходима раскладка клавиатуры, отличная от United States ''qwerty'', вы возможно захотите заглянуть в этот раздел9. Там вы найдёте большой список альтернативных раскладок, для получения наслаждения от использования вашей клавиатурой.

ADDSWAP  

Если вы создали раздел подкачки swap (см. раздел ''Разбиение жёсткого диска''), то этот пункт поможет вам активизировать его. Он автоматически обнаружит разделы подкачки, выведет на экран информацию о существующих разделах подкачки, позволяя вам выбрать один, который будет отформатирован и включён.


TARGET  

Пункт target (цель) определяет, какие из других ( не swap) разделов должны быть отформатированы и подключены к точкам монтирования вашей файловой системы. На экран выводится список разделов вашего жёсткого диска. Для каждого раздела вам будет предоставлена возможность отформатировать его (а так же, проверить на наличие bad-блоков) и список для выбора размера инод. Для обычного использования, значение размера инод можно выбрать предлагаемое по умолчанию.

Первая опция в пункте target - выбор раздела, на который установить корневую (\) файловую систему. После этого вы сможете подключить другие разделы к файловой системе, на ваше усмотрение. (Например, вы можете захотеть, чтобы ваш третий раздел, скажем /dev/hda3, был каталогом домашних файловых систем пользователей. Это лишь пример; подключайте ваши разделы, как считаете нужным.)

SOURCE  

Пункт source (источник) позволяет вам выбрать, носитель информации, с которого вы будете устанавливать Slackware. На сегодняшний день есть четыре варианта решения этого вопроса. Флоппи, CD-ROM, NFS или заранее под-монтированный каталог.

Вариант установки с флоппи требует большого количества дискет. Этот вариант требует много времени и терпения, но он возможен10. Помните, что вам необходимо создать флоппи до того, как вы запустите программу установки.

Выбор пункта CD-ROM активизирует установку с CD. Этот пункт предложит вам на выбор, либо автоматический поиск вашего CD-ROM привода, либо выбор устройства, соответствующего приводу из списка. Убедитесь в том, что Slackware CD вставлен в привод компакт дисков, до того, как начнёте сканирование. После того, как программа найдёт CD-ROM вы должны будете выбрать, какой из вариантов установки вы желаете произвести: ''slakware'' или ''slaktest''. Обычный выбор - это slakware, который является стандартной установкой. slaktest опция устанавливает минимальный набор программ на жёсткий диск, и оставляет большинство программ на CD. Вам понадобится ''live'' CD из официального набора для того, чтобы воспользоваться этим вариантом установки.



Вариант установки через NFS попросит вас ответить на вопросы о вашей сети и сетевой информации вашего NFS сервера. NFS сервер должен быть настроен заранее. Так же следует отметить, что вы не можете пользоваться сетевыми именами, вы должны указывать IP адрес и для вашего компьютера, и для NFS сервера (на установочном диске нет преобразователя имён).

Установка из ранее под-монтированного каталога является наиболее гибким пунктом. Вы можете воспользоваться этим методом для установки с таких носителей, как Jaz диск, NFS подключённый через PLIP и с файловых систем FAT11. Под-монтируйте файловую систему к выбранной вами точке монтирования до запуска программы установки, затем укажите эту точку здесь.

SELECT  

Этот пункт позволяет вам выбрать, какие разделы программ вы желаете установить. Эти разделы были описаны в разделе 3.1.2. Пожалуйста, обратите внимание на то, что вы должны установить раздел A, чтобы получить минимальную работающую систему. Все другие разделы не являются обязательными.

INSTALL  

В случае, если вы уже прошли через пункты ''target'', ''source'' и ''select'', этот пункт позволит вам выбрать, какие пакеты программ из выбранных вами разделов вы желаете установить. Иначе вам будет предложено вернуться назад и завершить всё в других пунктах программы установки. Этот пункт позволяет вам выбрать один из шести различных методов установки: full (полный), newbie (новичок), menu (меню), expert (эксперт), custom (выборочный) и tag path.

Подпункт full установит все пакеты из выбранных вами в пункте ''select'' разделов программ. Никаких больше вопросов. Это самый простой метод установки, так как вам не надо принимать никаких решений по поводу того, какие пакеты устанавливать, а какие - нет. Конечно, этот подпункт наиболее требователен к дисковому пространству.

Следующий доступный подпункт - newbie. Этот подпункт устанавливает все действительно необходимые пакеты в выбранных вами разделах. Для каждого из остальных пакетов вам будет предложено выбрать ''Yes'', ''No'' или ''Skip''. Yes или No очевидны, а Skip пропустит все остальные необязательные пакеты из данного раздела программ, и перейдёт к следующему. Дополнительно вам будет выведено описание и требования к дисковому пространству для каждого из пакетов с целью помочь выбрать то, что вам действительно необходимо. Этот вариант рекомендуется для новых пользователей, так как он гарантирует, что все необходимые пакеты будут установлены. Тем не менее, этот метод немного медленен, из за постоянных опросов.



Гораздо более быстрый и расширенный метод - menu. Для каждого раздела программ вы увидите меню, в котором вы можете выбрать, какие из пакетов (не обязательных для этого раздела), должны быть установлены. Пакеты, установка которых необходима не показываются в этом меню.

Для более опытных пользователей, программа установки предлагает подпункт expert. Этот метод позволяет вам получить абсолютный контроль над тем, какие из пакетов должны быть установлены. Вы можете установить то, что вы желаете. Это может привести к неработающей системе в том случае, если вы не установите некоторые из абсолютно необходимых пакетов. С другой стороны, вы полностью контролируете, что должно быть установлено в вашей системе. Мы настоятельно не рекомендуем пользоваться этим способом установки новым пользователям. Так как вы довольно легко можете ''прострелить себе ногу''.

custom и path tag варианты установки так же рекомендуются для использования только опытным пользователям. Эти методы позволяют вам произвести установку на основе пользовательских tag файлов, созданных вами в дереве каталогов дистрибутива. Это очень удобно, если вам необходимо установить систему на большое количество компьютеров, сравнительно быстро. Для получения дополнительной информации по использованию tag файлов смотрите раздел 5.9.4.

После того, как вы выбрали, каким из предложенных способов воспользоваться, возможны различные варианты продолжения. Если вы выбрали full или menu, то появится экран с меню, в котором вы можете выбрать пакеты для установки. Если вы выбрали full, то программа установки немедленно перейдёт к процессу копирования пакетов программ на выбранный вами ранее раздел жёсткого диска. Если вы выбрали newbie, то пакеты начнут копироваться до тех пор, пока не дойдёт очередь одного из дополнительных пакетов.

Пожалуйста, помните, что если вы выбрали слишком много пакетов программ для установки, по сравнению с тем, сколько свободного пространства имеется на жёстком диске, выбранном в пункте target, то место на диске может закончиться. Наиболее безопасным решением будет, не спешить с установкой некоторых из программ, а установить их позднее. Это можно проделать весьма легко, при помощи инструментов Slackware для работы с пакетами программ. Для информации смотрите раздел 5.9.



CONFIGURE  

Пункт configure (настройка) позволяет вам выполнить основные настройки системы. То что вы увидите здесь, во многом зависит от того, какие пакеты программ вы установили. Но всегда вы увидите следующее:

Kernel selection

 - выбор ядра. Здесь вы должны выбрать, какое ядро будет использоваться. Вы можете установить ядро с загрузочного диска, использованного вами в процессе установки, с CD диска Slackware или с другой дискеты, которую вы (всегда думая наперёд) приготовили заранее. Так же вы можете пропустить выбор ядра. В этом случае будет использовано ядро по умолчанию.

Make a boot disk

 - создание загрузочного диска. Создание загрузочного диска для использования в будущем, вероятно является хорошей идеей. Вы сможете отформатировать флоппи диск и затем создать один из двух видов загрузочного диска. Первый тип, simple - просто записывает ядро на флоппи. Более гибкий (и настоятельно нами рекомендуемый) вариант - создать загрузочный диск lilo. Для подробностей по lilo, смотрите раздел 4.4.1. Так же вы можете продолжить без создания загрузочного флоппи диска.

Modem

Вам будут заданы вопросы о настройках вашего модема. Точнее, вы должны будете выбрать, есть ли у вас модем и если он у вас есть, то к какому последовательному порту он подключён.

Следующие пункты могут появится, а могут и нет, в зависимости от того, были или не были установлены соответствующие им пакеты программ.

Timezone

 - часовой пояс. Всё довольно понятно: вас спросят, в каком часовом поясе вы находитесь. Если вы работаете по времени Зулу (Zulu) то мы приносим вам свои извинения, так как ваш часовой пояс находится в самом конце списка.

Mouse

 - мышь. Этот пункт спросит, какого типа мышь установлена в вашей системе, а так же, хотите ли вы, чтобы gpm(8) (поддержка мыши в режиме командной строки) была запущенна при загрузке.

Hardware clock

 - аппаратные часы. Этот раздел спрашивает, идут ли аппаратные часы вашего компьютера в соответствии с Координированным Универсальным Временем (UTC или GMT). Для большинства компьютеров ответ будет нет.



Font

 - шрифт. Подраздел font позволяет вам выбрать из списка подходящий шрифт для режима командной строки.

LILO

Здесь вас спросят об установке LILO (LInux LOader - загрузчик Linux; см. раздел 4.4.1). Если Slackware является единственной системой на вашем компьютере, то опция simple должна замечательно работать с вашей системой. Если у вас есть несколько операционных систем, то вам необходимо выбрать раздел expert. См. раздел 4.4.3

для дополнительной информации. Третий пункт - не устанавливать, не рекомендован, до тех пор, пока у вас нет весьма серьёзных оснований поступить так. Если вы выполняете expert install, вам будет предоставлен выбор, куда разместить LILO. Вы можете разместить его в MBR - (Master Boot Record - главный загрузочный сектор) вашего жёсткого диска. В суперблок корневого каталога Linux, или на флоппи диск. Пожалуйста, обратите внимание на то, что если вы пользуетесь другой операционной системой, которая имеет свой загрузчик, то вам рекомендуется установить LILO в суперблок вашего Linux раздела, или на флоппи. Использование MBR в этом случае повредит загрузчик другой операционной системы и может очень сильно усложнить вашу жизнь.Network

 - сеть. Раздел настройки сети, на самом деле выполнение отдельной программы netconfig. Смотрите соответствующий раздел 4.2.2.CD-ROM

Тут вас спросят, хотите ли вы, чтобы система автоматически проверяла, есть ли диск в CD-ROM и монтировала его, если таковой имеется при загрузке.

X Window Manager

 - Менеджер X Window. Тут вы можете выбрать, какой менеджер окон использовать по умолчанию. См. 4.3 для подробностей.

В независимости от того, какие пакеты были установлены, программа установки спросит вас, хотите ли вы установить пароль суперпользователя. Настоятельно рекомендуется сделать это, по крайней мере из соображений безопасности; тем не менее, почти как и всё в Slackware, вы можете и не делать этого.

EXIT  

Само существование этого подраздела в этой книге - оскорбление вашему чувству собственного достоинства. Мы очень искренне извиняемся, и просим у вас прощения.


Запуск программ


Трудно сделать что либо, без выполнения программ; можно использовать ваш компьютер в качестве подпорки для чего-то, например, для открытой двери, и он будет замечательно жужжать, пока включён, но не больше. И наверное, большинство согласиться со мной, что использование компьютеров в качестве жужжащей подпорки для двери не принесло бы им такой популярности, какую они сейчас приобрели.

Итак, помните, что в Linux почти всё является файлом? Так вот, для программ это тоже справедливо. Каждая команда, которую вы выполняете (если она не встроена в вашу оболочку), соответствует файлу. Вы можете запустить программу, указав полный путь к ней.

Например, помните команду su? Так вот, на самом деле она является файлом, расположенным в /bin каталоге: /bin/su запустит её.

Почему же тогда простой набор su так же работает? Вы ведь не указывали путь /bin. Ведь она могла находится и в /usr/share? откуда же компьютер узнал? Ответ в переменной PATH; большинство оболочек имеет PATH или что-то похожее. Она содержит список каталогов, в которых искать программы, которые вы пытаетесь выполнять. Таким образом, когда вы выполнили su, ваша оболочка прошлась по списку каталогов, ища в каждом из них выполняемый файл su и как только она нашла такой файл, она выполняет его. Это случается каждый раз, когда вы запускаете какую либо программу без указания полного пути к ней; если вы получаете сообщение ''Command not found'', это означает, что программы, которую вы пытаетесь запустить нет в каталогах, перечисленных в PATH переменной. (Это так же будет истиной, если программа вообще не существует...) Мы обсудим переменные окружения более детально в разделеthe Bourne Again Shell (bash).

Запомните так же, что ''.'' это сокращение для ''каталог, в котором я сейчас нахожусь'', так что если вы в каталоге /bin, ./su сработает, как полный путь к файлу.



это альтернативная программа сжатия, установленная


bzip2(1) это альтернативная программа сжатия, установленная в Slackware Linux. Она использует алгоритм отличный от gzip, который имеет как преимущества, так и недостатки. Главное преимущество bzip2 это размер сжатых файлов. bzip2 почти всегда сожмёт лучше, чем gzip. Иногда файлы получаются гораздо меньше, чем фалы сжатые gzip-ом. Это может быть значительным преимуществом для людей, с медленным модемным соединением.

Недостаток bzip2 в том, что она более интенсивно использует CPU, чем

gzip. А это значит, что использование bzip займёт больше времени и будет более требовательно к процессору, чем gzip. Когда вы решаете, каким архиватором пользоваться, надо взвесить это соотношение скорость - сжатие, и выбрать, что важнее.

Использование bzip2 очень похоже на использование gzip, так что мы не станем много времени тратить на её обсуждение. Просто вызовите bzip2, указав имя файла:

$ bzip2 infile

Вывод обычно будет меньше, чем входной файл, и получит название

infile.bz2. Как и с gzip, входной файл будет заменён сжатым.

Вы можете так же указывать числовой аргумент, чтобы балансировать скоростью и качеством сжатия, как и с gzip. Следующий пример показывает, как достигнуть максимального сжатия при помощи bzip2:

$ bzip2 -9 infile

Есть два способа распаковывания файлов, заканчивающихся .bz2

расширением, как и с gzip. Вы можете использовать bzip2 или bunzip2(1) для распаковки bzipped файлов. Использование bzip2

потребует указания аргумента:

$ bzip2 -d infile.bz2

Эта команда распакует bziped файл и заменит его распакованной копией. Этот результирующий файл потеряет .bz2 расширение. Аналогично, вы можете использовать bunzip2 для распаковки файла:

$ bunzip2 infile.bz2

все произведённые программой действия будут абсолютно идентичными, так как опять мы имеем дело с символьной ссылкой. Проверка /bin/bunzip2 показывает, что это просто символьная ссылка на /bin/bzip2. Используется тот же трюк, что и с gzip. Вы увидите, что вызов программ при помощи нескольких различных имён, для получения разного их поведения, это любимый трюк Linux программистов.

$ cd /bin
$ ls -l bunzip2
lrwxrwxrwx 1 root root 5 Feb 2 09:45 /bunzip2 -> bzip2

ZipSlack FAQ


Список наиболее часто задаваемых вопросов и ответов на них, может быть найден как в FAQ.TXT файле в C:\LINUX каталоге, так и на нашем вэб сайте:

http://www.slackware.com/faq/