Основы Slackware Linux

         

ZipSlack/BigSlack


Вы можете воспользоваться несколькими методами для загрузки ZipSlack и BigSlack. Наиболее обычный метод, это использование LINUX.BAT из DOS (или DOS режима из под Windows 9x). Файл должен быть изменён соответствующим образом для соответствия вашей системе.

Начните с открытияC:\LINUX\LINUX.BAT в вашем любимом текстовом редакторе. В шапке файла вы увидите большой комментарий. Он объясняет, что вам надо изменить в файле (а так же, как быть, если вы загружаетесь с внешнего Zip диска). Не волнуйтесь, если root= установка вне вашего понимания. В файле приведено несколько примеров, так что свобода выбора за вами. Если ваша попытка оказалась неудачной, вы можете попробовать опять изменить содержание файла, закомментировав не сработавшую строку, и разкомментировав другую.

После того, как вы разкомментировали нужную вам строку, путём удаления ''rem '' из начала строки, сохраните изменения и выйдите из редактора. Переведите ваш компьютер в режим DOS.


ПРЕДУПРЕЖДЕНИЕ окно DOS prompt в Windows 9x НЕ сработает.

Наберите C:\LINUX\LINUX.BAT, чтобы загрузить систему. Если всё в порядке, перед вами появится приглашение входа в систему (login).

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

Если файл LINUX.BAT не работает в вашей системе, вам следует заглянуть в C:\LINUX\README.1ST файл для ознакомления с другими методами загрузки..



Ar


tar(1) это GNU ленточный архиватор. Он берёт несколько файлов или каталогов и создаёт один большой файл. Это позволяет вам сжимать целое дерево каталогов, чего нельзя достигнуть при простом использовании gzip или

bzip2. tar имеет много параметров командной строки, которые описаны в man странице программы. В этом разделе будут рассмотрены наиболее распространённые варианты использования tar.

Чаще всего tar используется для распаковки и раз-архивирования пакетов, скачанных с вэб или ftp сайтов. Большинство файлов будут иметь .tar.gz

расширение. Это так называемый ''tarball''. Это означает, что несколько файлов были помещены в архив при помощи tar и затем этот архив был сжат при помощи gzip. Иногда они так же имеют расширение .tar.Z. Это означает то же самое, но обычно встречается на более старых Unix системах.

Так же вы можете встретить иногда .tar.bz2 файлы. Исходный текст ядра поставляется в таком виде, потому что так вам придётся скачивать меньший файл. Как вы уже вероятно догадались, это несколько файлов, объединённых в архив при помощи tar и сжатых при помощи bzip2.

Вы можете получить файлы из таких архивов, при помощи tar команды с определёнными аргументами командной строки. Разархивирование tarbal-а требует указания ключа -z, что фактически вызовет вначале выполнение

gunzip, для распаковки файла. Обычно tarbal-ы распаковываются такой командой:

$ tar -xvzf hejaz.tar.gz



Довольно много опций. Что же все они означают? ''-x'' значит извлечь (extract). Это важно, так как именно этот параметр говорит tar-у, что именно делать с входным файлом. В этом случае мы опять разобьём архив на все те файлы, из которых он был составлен. ''-v'' скажет программе быть ''многословной'' (verbose). Указание этого ключа приведёт к тому, что в процессе извлечения будет выводиться список файлов, которые извлекаются. Вы можете смело отказаться от использования этого ключа, если вас раздражает вывод подобной информации. Так же вы можете использовать ''-vv'', чтобы программа стала совсем многословной, и отображала ещё больше информации о файлах, которые извлекаются. опция ''-z'' говорит tar-у, вначале пропустить файлhejaz.tar.gz


через gunzip. Ну и наконец, ''-f'' опция указывает, что далее в командной строке будет указанно имя файла, с которым надо работать.

Есть так же несколько других способов написания той же самой команды. На более старых системах, в которых отсутствует приличная версия GNU tar, вы можете встретить такой синтаксис:

$ gzip -dc hejaz.tar.gz | tar -xvf -

Эта строчка команд вначале распакует файл и затем пошлёт вывод tar-у. Так как gzip запишет вывод на стандартный вывод, если его попросить, эта команда запишет распакованный файл в стандартный вывод. Через pipe файл будет послан tar-у для раз-архивирования. ''-'' означает работать со стандартным вводом. Программа разархивирует поток данных, который она получит от gzip

и запишет вывод на диск.

Другой способ записи первой команды это запись без тире перед опциями:

$ tar xvzf hejaz.tar.gz

Возможно вам так же понадобится работать с bziped архивами. Версия tar, поставляемая со Slackware Linux может работать с ними так же как и с gziped архивами. Вместо ''-z'' опции вам надо воспользоваться ''-y'':

$ tar -xvyf foo.tar.bz2

Следует отметить, что tar поместит извлечённые файлы в текущем каталоге. Так что если ваш архив находится в /tmp каталоге, а распаковать вы его хотите в домашний каталог, есть два варианта решения проблемы. Первая - архив можно переместить в домашний каталог и затем обработан с tar. Или же вы можете указать путь к архиву в командной строке:

$ tar -xvzf /tmp/bar.tar.gz

Содержимое архива будет вывалено в ваш домашний каталог, а исходный архив так и останется в /tmp каталоге.

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

Чтобы создать сжатый tar архив всех файлов текущего каталога (включая поддиректории и их файлы), вам следует воспользоваться командой:

$ tar -cvzf archive.tar.gz .

В этой командной строке ''-c'' опция указывает, что должен быть создан архив, а ''-z'' сжимает получившийся архив при помощи gzip. archive.tar.gz

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

$ tar -cvzf /tmp/archive.tar.gz .

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


Астройка vi


Выбранный вами vi клон может быть настроен несколькими способами.

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

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

Обсуждение всех этих опций и различий между редакторами, не является целью данной книги, так что если вы заинтересовались расширенными функциями редакторов, загляните в man страницу или зайдите на вэб сайт предпочитаемого вами редактора. Некоторые редакторы (как vim) содержат мощную справочную систему, доступную внутри редактора, по команде

:help. Вы так же можете заглянуть в книгу ''Изучаем Редактор vi'' Ламба и Роббинса.

Многие программы в Linux по умолчанию откроют текстовые файлы в vi. Например, редактирование ваших crontab задач загрузит vi по умолчанию. Если вам не нравится vi и хотите, чтобы другая программа запускалась по умолчанию, всё что вам надо сделать, так это установить значение VISUAL переменной окружения равное имени вашего любимого редактора. Для информации по установке переменных окружения смотрите раздел 5.1.3. Если вы хотите, чтобы ваш любимый редактор был редактором по умолчанию при каждом входе в систему, добавьте установку VISUAL переменной в ваш .bash_profile или .bashrc файл.



At


cat(1) это сокращение от ''concatenate'' (сцеплять, связывать). Изначально была разработана для объединения нескольких текстовых файлов в один, но может быть использована и для других целей.

Чтобы объединить два или несколько файлов в один, просто перечислите файлы после cat команды и пере направьте вывод в новый файл. cat работает со стандартным вводом и выводом, поэтому вам надо воспользоваться символами оболочки для пере направления. Например:

$ cat file1 file2 file3 > bigfile

Эта команда возьмёт содержимое фалов file1, file2 и file3 и объединит их в файл bigfile.

Вы можете также использовать cat для просмотра содержимого фалов. Многие пользователи для просмотра текстовых фалов выполняют cat, имя фала, и затем пропускают вывод через more или less:

$ cat file1 | more

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

$ cat /bin/bash > ~/mybash

Файл /bin/bash будет скопирован в ваш домашний каталог, под именем mybash.

Обсуждённые здесь примеры, это лишь несколько из возможных вариантов применения cat. Так как cat предоставляет расширенный контроль за стандартным вводом и выводом, она идеальна для применения в shell скриптах, и для использования в качестве части более сложных команд.



Бзор системы


Очень важно понять, как организован Linux перед тем, как погружаться в различные аспекты по его настройке. Система Linux кардинальным образом отличается от систем DOS или Windows (а так же Macintosh OS). Этот раздел ознакомит вас с расположением основных элементов системы.



Cho


Команда echo(1) выводит указанный текст на экран. Строку, которую вы хотите вывести, следует указать после echo команды. По умолчанию echo выведет текст и символ перевода строки после него. Вы можете указать опцию -n, чтобы строка не переводилась. Опция -e укажет команде искать эскейп символы в строке и выполнить их.



Command Purpose ls Выдаёт список


ncftp(1) (произносится ''Nik-F-T-P'') это альтернатива стандартному

ftp, поставляемая с Slackware. Это так же программа с текстовым интерфейсом, но предлагает много дополнительных функций в сравнении с ftp, включая:

Завершение по tab

Файл закладок

Passive and non-passive FTP transfer modes

More liberal wildcard uses

Command history

По умолчанию, ncftp попробует войти анонимно на указанный вами сервер. Вы можете заставить программу выдать вам логин приглашение, задав ''-u'' ключ. После входа в систему, вы можете пользоваться теми же командами, что и в ftp, только интерфейс немного отличается в лучшую сторону, больше похож на bash.



Cp


cp(1) применяется для копирования файлов. Пользователи DOS найдут её похожей на команду copy. Эта команда имеет очень много опций. Загляните в man страницу, если вам интересно.

Обычный вариант использования команды это копирование файла из одного места в другое. Например:

$ cp hejaz /tmp

Эта команда создать копию файла hejaz из текущего каталога в /tmp каталог.

Многие пользователи предпочитают сохранять временные отметки файлов при копировании. Вот вам пример:

$ cp -a hejaz /tmp

Это сохранит все временные отметки оригинального файла для копии.

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

$ cp -R adirectory /tmp

Это скопирует adirectory в каталог /tmp.

cp имеет гораздо больше опций, которые детально описаны в man странице.



d


Команда cd используется для смены рабочего каталога. Просто наберите cd и затем имя каталога, в который вы хотите перейти. Вот несколько примеров:

darkstar: $ cd /bin
darkstar:/bin$ cd usr
bash: cd: usr: No such file or directory
darkstar:/bin$ cd /usr
darkstar:/usr$

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

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

$ help cd

Эта команда выдаст вам опции команды cd.



Документы HOWTO и mini-HOWTO


HOWTO - аббревиатура от англ. how to- как сделать. Эти документы описывают, как делать что-либо. Если вы установили пакет с коллекцией HOWTO, то вы можете найти их в каталоге /usr/doc/Linux-HOWTOs, а mini-HOWTO - в /usr/doc/Linux-mini-HOWTOs.

В этом же пакете вы так же можете найти коллекцию документов FAQ (Frequently Asked Questions - Часто Задаваемые Вопросы. Иногда можно найти русский вариант аббревиатуры ЧаВО) - это коллекция вопросов и ответов на них.

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



Другие файлы


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

rc.cdrom
Если активизирован, то он проверит, есть ли компакт диск в приводе и если есть, то подключит его к /cdrom
.

rc.gpm
Запускает сервис основной поддержки мыши (general purpose mouse). Это позволит вам копировать и вставлять текст в консоли.

rc.ibcs2
Запускает поддержку Intel Binary Compatibility. Это необходимо только в том случае, если вы планируете выполнять программы, откомпилированные на SCO Unix или на других коммерческих Intel Unix разновидностях. В этом нет необходимости для запуска Linux программ.

rc.font
Загружает пользовательский экранный шрифт для режима командной строки.

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

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



Elm


elm(1) это другой популярный текстовый клиент электронной почты. Его интерфейс не так дружественен, как интерфейс pine, эта программа явно гораздо старше.

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

Чтобы написать новое сообщение, нажмите m с главного экрана. d

пометит сообщение для удаления. А r используется для ответа на сообщение, которое вы читаете. Все эти кнопки перечислены внизу экрана.

man страничка более детально обсуждает elm, так что вам наверное стоит заглянуть туда перед тем, как пользоваться программой.



Elnet


Кто-то когда-то сказал, что telnet(1) это самое крутое, из всего, что он когда либо видел в мире компьютеров. Возможность удалённо подключаться и делать что-то на другом компьютере, выделяет Unix и Unix-подобные системы от других систем.

telnet позволяет вам войти в удалённую систему точно так же, как если бы вы сидели за этим компьютером. Указав ваше имя пользователя и пароль, вам выдаётся приглашение командной строки оболочки. С этого момента вы можете делать всё то же, что обычно выполняете в текстовой консоли. Писать письма, читать группы новостей, перемещать файлы, и т.д. Если вы в X и вы соединились с другим компьютером по telnet из xterm, вы можете выполнять программы на удалённом компьютере, а отображать на вашем. См. раздел 4.3.5.

Для подключения к удалённому компьютеру, воспользуйтесь таким синтаксисом:

$telnet <hostname>

Если хост ответит, вы получите приглашение входа в систему. Введите имя пользователя и пароль. Ну вот. Теперь вы в оболочке. Чтобы выйти из вашей сессии telnet, воспользуйтесь либо exit, либо logout, на ваше усмотрение.

Важно

ВАЖНОЕ ЗАМЕЧАНИЕ: telnet не кодирует информацию, которую он посылает. Всё посылается, как обычный текст, даже пароли. Не желательно использовать telnet через интернет. Альтернатива -Secure Shell. Она кодирует весь трафик и доступна бесплатно. Смотрите http://www.ssh.org/ для справки.



Ess


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



/Etc/hosts


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

127.0.0.1 localhost
192.168.1.32 ninja.tdn ninja

Первая строчка должна быть само-достаточной. Вторая может и не быть. Вы можете указать столько имён и синонимов для одного адреса, сколько захотите, разделяя их пробелами. Итак, у меня ''192.168.1.32'' переводится в ''ninja.tdn'' (и наоборот), но синоним ''ninja'' так же может быть использован, когда мне лень набирать ''.tdn'' (как обычно и происходит).



/Etc/inetdconf


Для операционной системы, ориентированной на сетевое использование, вполне нормальным является запуск различных сетевых сервисов. Обычно для каждого из сервисов должна существовать программа, которая будет сидеть и слушать запросы по соединениям. Что может стать обременительным для системы, если в ней запущенно слишком много различных сервисов. Для уменьшения загрузки системы была создана программа inetd. inetd- это ''интернет-суперсервер''. Эта программа слушает запросы по многим socket-ам, и когда поступает запрос, inetd передаёт управление соответствующему серверу, для обработки запроса. Таким образом вместо нескольких ожидающих серверов, запущен только один.

Файл настроек для inetd - /etc/inetd.conf. В нём определяется, какой сервер должен быть запущен для какого соединения. В man страничке для inetd(8) вы, конечно, можете найти больше информации о использовании программы. Давайте быстренько пробежимся по основным сервисам:

ftp stream tcp nowait root /usr/sbin/tcpd wu.ftpd -l -i -a

Эта строчка относится к ftp серверу. Обратите внимание, вначале идёт имя протокола - ''ftp'', а в конце - программа, которая должна быть запущена для ответа на запрос. В приведённом примере, программа, которая должна быть запущена для ответа на поступивший запрос соединения - это /usr/sbin/tcpd; это программа ''wraper'', которая обеспечивает основные требования безопасности для того сервера, для которого она запущена. wu.ftp фактически и есть наш ftp сервер21, но tcpd запускает его для вас. Больше информации вы можете найти в разделе 4.2.7.

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



/Etc/rcd/rcinetэто файл, используемый


Файл /etc/rc.d/rc.inet2 относится к другой части сети: установке сервисов и демонов22 и оперирует со всеми интересными настройками сети. Давайте рассмотрим блок для примера:

#Start the NAMED/BIND name server:
if [ -f $NET/named ]; then
   echo -n ''named''
   $NET/named -u daemon -g daemon
fi

Важна здесь четвёртая строчка, которая запускает named(8). Всё остальное лишь дополнения: ''if'' проверяет существует ли named программа там, где она должна быть, а echo строчка выдаёт на экран, что программа named запускается, при загрузке системы. Большинство серверов, запускаемых из rc.inet2, загружаются блоками вроде этого; простая проверка того, есть ли какие-то серьёзные причины, чтобы не запускать их, вывод информации о том, что они запускаются, и затем команды, загрузки самих сервисов. Опять таки, rc.inet2 достаточно подробно прокомментирован; погрузитесь в него на какое-то время, и вы найдёте много полезной и интересной информации.



/Etc/resolvconf


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

domain tdn
nameserver 192.168.1.1
search tdn. slackware.com

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

Последняя строчка немного интереснее. Она описывает все доменные имена, присваиваемые системе. Например, предположим, у меня есть машины zuul.tdn и hejaz.slackware.com. Я могу просто выполнить ping zuul и ping hejaz, чтобы пропинговать их, соответственно. ping вначале попробует добавить ''.tdn'' к имени zuul, и найдёт соответствующий хост. В случае с ''hejaz'' вначале будет опробовано имя ''hejaz.tdn''. Соответствующий хост не будет обнаружен, и поэтому будет произведён поиск ''hejaz.slackware.com'' и бинго. Следует отметить, что все домены, перечисленные в search должны заканчиваться на '.', за исключением последнего; если есть только один, то он же и является последним, и поэтому указывать '.' не надо.



Етевое оборудование


Как и большинство наиболее интересных вещей, которые вы можете делать с компьютером, подключение его к сети требует специального аппаратного оборудования. Возможно вам понадобится NIC (Network Interface Card - карта сетевого интерфейса), для подключения к LAN, возможно модем для подключения к провайдеру интернет, а может быть и оба (или несколько каждых из выше перечисленных, а может и ни одного).

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



Explodepkg


explodepkg (8) проделает то же, что installpkg

делает при распаковке пакета, но на самом деле не установит сам пакет, и не произведёт никаких изменений в базе данных пакетов. Она просто развернёт содержимое пакета в текущий каталог.

Если вы посмотрите На дерево каталогов исходников Slackware, вы увидите, как мы используем эту команду для ''структурных'' пакетов. Эти пакеты содержат скелет того, как конечный пакет будет выглядеть. Они хранят все необходимые имена файлов (нулевой длины), права доступа и принадлежности. build скрипт проделает cat с содержанием пакета из исходного каталога в build каталог пакета.



Форум обсуждения ZipSlack


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

http://www.slackware.com/forum/



Fstab


Давайте рассмотрим пример файла /etc/fstab:

/dev/sda1 / ext2 defaults 1  1
/dev/sda2 /usr/local   ext2 defaults 1  1
/dev/sda4 /home ext2 defaults 1  1
/dev/sdb1 swap swap defaults 0  0
/dev/sdb3 /export ext2 defaults 1  1
none /dev/pts devpts gid=5,mode=620  0  0
none /proc proc defaults 0  0
/dev/fd0 /mnt ext2 defaults 0  0
/dev/cdrom /cdrom iso9660   ro 0  0

В первом столбце указанно имя устройства. В этом случае устройства, это пять разделов, разбросанных по двум SCSI жёстким дискам, два специальных файловых системы, которым не нужны файловые системы, флоппи дисковод и CD-ROM дисковод. Второй столбец указывает куда подключать устройство. Это должен быть существующий каталог, за исключением раздела подкачки. Третий столбец указывает тип файловой системы для устройства. Для обычного Linux раздела это будет ext2 (''second extended filesystem'' - вторая расширенная файловая система). Для CD-ROM это будет iso9660, а для Windows разделов это может быть, как msdos, так и vfat.

Четвёртый столбец перечисляет опции, которые используются при монтировании устройств. Почти всегда ''defaults'' вполне достаточно24. Тем не менее, устройствам, доступным только для чтения рекомендуется указывать параметр ro. Существует огромное количество различных опций. Смотрите man страницу fstab(5) для получения дополнительной информации. Последние два столбца используются программой fsck и другими командами для манипулирования дисками. Так же обращайтесь к man странице для получения разъяснений.

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



Ftp


Для подключения к FTP серверу, просто выполните ftp(1), указав имя хоста к которому хотите соединиться:

$ftp <имя хоста>

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

Подключившись, вы получите приглашение ftp>. Для FTP используются отдельные команды, но они похожи на стандартные команды. Вот список основных команд и для чего они используются:



Основы Slackware Linux


wget(1) это утилита командной строки, которая скачивает файлы с указанного URL. Она полезна при скачивании целых вэб сайтов, для просмотра в offline, или для более надёжной загрузки файлов с HTTP или FTP серверов, чем из Netscape. Основной синтаксис:

$wget <url>

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

$wget -recursive http://www.slackware.com

wget создаст каталог www.slackware.com и запишет в него файлы, как они расположены на сайте.

wget так же может загружать файлы с FTP сайтов; просто укажите FTP URL вместо HTTP URL-а.

У wget есть гораздо больше опций, что делает её пригодной для использования в скриптах (зеркалирование вэб сайтов, и т.д.). man

страничка будет вашей следующей остановкой.



Ifconfig


Ну вот, ваше ядро уже умеет общаться с сетевым оборудованием. Теперь надо научить программы указывать ядру куда передавать информацию, и наоборот. Нам надо настроить интерфейс. Нам нужен ifconfig(8).

ifconfig лучше всего изучать на примерах; вы можете захотеть просто заглянуть в ваш rc.inet1 файл (описанный в разделе4.2.4), чтобы посмотреть, как программа запускается оттуда. Типичный вариант выглядит следующим образом:

# ifconfig eth0 192.168.1.10 broadcast 192.168.1.255 \
netmask 255.255.255.0

Эта строчка поднимает eth0 (первый сетевой интерфейс; для token ring используется tr0, для ppp - ppp0, и т.д.), с IP адресом 192.168.1.10, широковещательным адресом 192.168.1.255 (вся подсеть 192.168.1.) и сетевой маской 255.255.255.0 (показывает, что три первых части IP адреса относятся к сети, а .10 относится к вашему хосту). До тех пор, пока вы не делаете что-то очень неординарное, вы можете почти всегда использовать широковещательный адрес, состоящий из первых трёх блоков вашего IP, и завершающийся числом 255. Так же, почти всегда вы можете пользоваться маской сети 255.255.255.0. Если вы делаете что-то неординарное, вы наверное знаете достаточно, и эта часть книги вам вовсе не понадобится.

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



Ill


Иногда что-то не так происходит с программами и возникает необходимость восстановить порядок в системе. Программа, предоставляющая такой вид услуг, называется kill(1). Она может быть использована для манипулирования процессами несколькими разными способами. Наиболее часто программа применяется, чтобы убивать процессы. У вас появится необходимость в этом, если программа вышла из под контроля и забирает много системных ресурсов, или если вам просто не нравится, что эта программа осталась в памяти.

Для того, чтобы убить процесс, вам надо знать либо его PID, либо имя. Чтобы получить PID воспользуйтесь программой ps, как это обсуждалось в предыдущем разделе. Например, чтобы убить процесс 4747, вы зададите такую команду:

$ kill 4747

Для того, чтобы убить процесс, вам надо быть его хозяином. Это сделано в целях безопасности. Если бы вы могли убивать процессы других пользователей, открылась бы возможность произведения множества злонамеренных вещей в системе. Разумеется, root может убить любой процесс в системе.

Есть так же другая разновидность программы kill, которая называется

killall(1). Функция программы соответствует её названию. Она убивает все из запущенных программ, с указанным именем. Если вы хотите убить все выполняемые vim процессы, вам следует воспользоваться такой командой:

$ killall vim

Все vim процессы, выполняемые вами будут убиты. Если вы выполните команду, как root, то она убьёт вообще все vim процессы, выполняемые любым из пользователей. Это предоставляет интересный способ выбрасывания всех (включая и вас) из системы:

#killall bash

Иногда обычное выполнение kill не справляется с поставленной задачей. Некоторые процессы не могут быть убиты обычной командой kill. Вам понадобиться воспользоваться более мощной версией. Если этот нудный процесс с PID4747 не умер после выполнения kill, вы можете попробовать следующее:

$ kill -9 4747

Практически наверняка, это заставит процесс 4747 умереть. Вы можете воспользоваться этим же ключом с killall программой. Этот ключ позволяет посылать различные сигналы программам. Обычный kill посылает процессу сигнал SIGTERM (terminate - завершиться). kill -9 посылает SIGKILL (kill - убить). В вашем распоряжении целый набор различных сигналов. Вы можете запросить список, выполнив:


$ kill -l
   1) SIGHUP      2) SIGINT     3) SIGQUIT    4) SIGILL
   5) SIGTRAP     6) SIGABRT    7) SIGBUS     8) SIGFPE
   9) SIGKILL    10) SIGUSR1   11) SIGSEGV   12) SIGUSR2
  13) SIGPIPE    14) SIGALRM   15) SIGTERM   17) SIGCHLD
  18) SIGCONT    19) SIGSTOP   20) SIGTSTP   21) SIGTTIN
  22) SIGTTOU    23) SIGURG    24) SIGXCPU   25) SIGXFSZ
  26) SIGVTALRM  27) SIGPROF   28) SIGWINCH  29) SIGIO
  30) SIGPWR
Номера используются для kill, а имя без предшествующего ''SIG'' используется для killall. Вот ещё пример:

$ killall -KILL vim

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


Inger


finger(1) запросит информацию о специфическом пользователе. Вы указываете finger-у имя пользователя, или email адрес, а программа попытается соединиться с нужным сервером и запросит имя пользователя, номер телефона офиса и другую подобную информацию. Вот пример:

$finger johnc@idsoftware.com

finger может выдать имя пользователя, состояние почты, телефонные номера и файлы .plan и .project. Разумеется, выдаваемая сервером информация зависит от конкретного сервера. Сервер, поставляемый в Slackware, возвращает такую информацию:

Имя пользователя

Номер комнаты

Домашний телефон

Рабочий телефон

Login статус

Email статусs

Содержимое .plan файла из домашнего каталога пользователя

Содержимое .project файла из домашнего каталога пользователя

Первых четыре могут быть установлены или изменены при помощи chfn

программы. Эти параметры хранятся в /etc/passwd файле. Для изменения информации в ваших .plan и .project файлах, просто измените их при помощи вашего любимого текстового редактора. Они должны находится в вашем домашнем каталоге и называться, соответственно, .plan

и .project.

Многие пользователи пользуются finger для своего эккаунта с удалённых компьютеров, просто чтобы посмотреть, есть ли у них почта. Так же вы можете посмотреть план работы или текущий проект пользователя. John Carmack из id Software регулярно обновляет свой план-файл, чтобы держать сообщество пользователей в курсе того, над чем он сейчас работает.

Как и большинства программ, у finger есть опции. Опять таки, мы отправим вас к man странице за дополнительной информацией.



Инициализация сети


Уровни загрузки 2, 3 и 4 запустят сетевые сервисы. Следующие файлы ответственны за инициализацию сети:

rc.inet1
Этот файл, созданный программой netconfig, ответственен за настройку сетевого интерфейса.

rc.inet2
Выполняется после rc.inet1
и запускает основные сетевые сервисы.

rc.atalk
Запускает AppleTalk сервисы.

rc.httpd
Запускает вэб сервер Apache.

rc.samba
Запускает Samba сервис.

rc.news
Запускает сервер новостей.



Инициализационные сценарии runlevel


После того, как инициализация системы завершена, init переходит к инициализации runlevel. Runlevel описывает, в каком режиме ваш компьютер будет работать. Звучит загадочно? Ну, runlevel сообщает init-у, будете ли вы в многопользовательском (multiuser logins) режиме, или только в одно-пользовательском (single user), хотите ли вы сетевые сервисы и будете ли вы использовать X Window или agetty(8), для управления входом в систему (logins). Файлы, приведённые ниже определяют разные runlevels в Slackware Linux.

rc.0
Выключает систему (runlevel 0). По умолчанию, это символическая ссылка на rc.6.

rc.4
Многопользовательский запуск (runlevel 4), но в X11 с KDM, GDM или XDM в качестве менеджера входа в систему.

rc.6

Перезагружает систему (runlevel 6).

rc.K
Запуск в одно-пользовательском режиме (runlevel 1).

rc.M
Многопользовательский режим (runleveld 2 и 3), но со стандартным текстовым входом (login). Это runlevel, используемый в Slackware по умолчанию.



Installpkg


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

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

installpkg имеет три опции. Только одна из них может использована при вызове программы.



Интерактивная помощь


В дополнение к документации, поставляемой в ОС Slackware Linux, есть несколько способов получения помощи в режиме он-лайн.



Ip


Ну и наконец, есть две утилиты для работы с zip файлами. Которые являются очень популярными в мире WIndows, итак в Linux есть программы для работы с ними. Программа для сжатия называется zip(1), а программа для распаковки называется unzip(1).

Сжимать довольно легко:

$ zip foo *

Эта команда создаст файл foo.zip, который будет содержать все файлы в текущем каталоге. zip автоматически добавит .zip

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

$ zip -r foo *

Распаковывать файлы тоже не сложно.

$ unzip foo

Это распакует все файлы из файла foo.zip, включая все каталоги, присутствующие в архиве.

zip утилиты имеют несколько расширенных опций для создания само-распаковывающихся (self-extracting) архивов, для пропуска некоторых из файлов, управления размером сжатого файла, вывода на экран отчётов и гораздо больше. Смотрите man страницы для zip и unzip, чтобы узнать как использовать эти опции.



Иртуальные терминалы


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

Проблема в том, что мы не можем подключить несколько клавиатур, мышек и мониторов к одному и тому же компьютеру; скорее даже большинство из нас просто не захочет этого. Очевидно, что дополнительное оборудование не является решением проблемы. А вот программное обеспечение может помочь, и Linux позволяет это, предлагая ''виртуальные терминалы'', или "VTs".

Нажав Alt и функциональную кнопку, вы можете переключать виртуальные терминалы; каждая функциональная клавиша соответствует терминалу. Slackware имеет 6 виртуальных терминалов по умолчанию. Alt+F2 переключит вас на второй, Alt+F3 на третий, и т.д.

Остальные функциональные клавиши зарезервированы для X сессий. Каждая X сессия использует свой собственный VT, начиная с седьмого (Alt+F7) и выше. Когда вы находитесь в X, Alt+Function комбинация заменяется на Ctrl+Alt+Function; так что если вы в X и хотите переключиться на третий терминал (не завершая X сессию), Ctrl+Alt+F3 переключит вас туда. (Alt+F7 вернёт вас обратно, если вы используете первую из X сессий.)



Использование модулей ядра


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

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

Модули хранятся в каталоге /lib/modules/<kernel version>
вашей системы. Они могут быть загружены во время загрузки компьютера из rc.modules
файла. В этом файле есть очень много комментариев и примеров для типичных устройств. Для просмотра загруженных модулей воспользуйтесь командой lsmod(1):

#
lsmod
Module Size Used by
parport_pc 7220 0
parport 7844 0 [parport_pc]

Как видно из примера, у меня загружен только модуль параллельного порта. Для выгрузки модуля используйте команду rmmod(1). Модули могут быть загружены командами modprobe(1) или insmod(1). modprobe обычно безопаснее, так как автоматически загрузит модули, необходимые для модуля, который вы пытаетесь загрузить.

Большинство пользователей никогда не загружают или выгружают модули вручную. Они пользуются загрузчиком ядра для менеджмента модулей. Всё что вам надо сделать, это раз-комментировать строчку /sbin/kerneld(8) в /etc/rc.d/rc.modules
и автозагрузчик запустится. Он позаботится о загрузке и выгрузке модулей по мере надобности. Автозагрузчик определяет, что нужно загрузить модуль по обращению к устройству, для которого в данный момент модуль не загружен.

Вы можете найти больше информации в man страницах для каждой из команд, а так же в rc.modules
файле.



В этом разделе описано множество


В этом разделе описано множество программ для манипулирования фалами и каталогами. Вы должны были научиться создавать, удалять, и перемещать файлы и каталоги. Вы так же должны были научиться, отображать содержимое каталогов и файлов и изменять их временные метки. Ну и наконец, вы должны понимать, почему rm -rf / это очень и очень плохая идея.
[Назад][Содержание][Вперед]


//

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


//



Этот раздел является чем то вроде


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

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

//



Как мы отметили выше, возможно


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

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

//



Каталог /etc/rcd


Файлы, выполняемые системой при её инициализации, хранятся в каталоге /etc/rc.d
. Slackware использует расположение сценариев инициализации в стиле BSD. Каждое задание или runlevel (уровень загрузки) имеет свой rc
файл. Таким образом, получается организованная структура, которой легко пользоваться.

Есть несколько категорий сценариев инициализации. Начальная загрузка системы, уровни загрузки, инициализация сети и System V совместимые. По традиции, мы отнесём всё остальное к категории ''других''.



Каталог /kernels на Slackware CD-ROM


Прекомпилированные Slackware ядра доступны в каталоге /kernels
на Slackware CD-ROM, а так же на FTP сайте в основном каталоге Slackware. С появлением новых версий дистрибутива, обновляются и ядра, так что документация в каталоге с ядрами- всегда наиболее полный источник информации по ним. Каталог /kernels
содержит под-каталог для каждого из ядер. Имена под-каталогов совпадают с именами ядер. В каждом под-каталоге вы найдёте следующие фалы:

Файл Назначение
System.map
Системный map файл для этого ядра
bzImage
(или zImage
)
Образ ядра
config
Конфигурационный файл исходника
для этого ядра

Чтобы установить ядро, скопируйте System.map
и config
в каталог /boot
вашей системы, а образ ядра скопируйте в файл /vmlinuz
. Запустите /sbin/lilo(8), чтобы установить LILO для нового ядра, а затем пере загрузите систему. Это всё что вам необходимо проделать для установки одного из прекомпилированных ядер в вашу систему.

Ядра, заканчивающиеся на ''.i'' - это IDE ядра. Т.е. они не содержат SCSI поддержки в самом ядре. Ядра, заканчивающиеся с ''.s'' - это SCSI ядра. Они содержат поддержку IDE устройств точно так же, как и ''.i'' ядра, плюс поддержку SCSI.



Kdir


mkdir(1) создаёт новый каталог. Просто укажите имя каталога, который вы хотите создать после имени команды. Вот пример создания под-каталога hejaz в текущем каталоге:

$ mkdir hejaz

Так же вы можете указать путь:

$ mkdir /usr/local/hejaz

Опция -p укажет mkdir создавать ''вложенные'' каталоги. Так, если в выше приведённом примере каталог /usr/local не существует, то программа выдаст сообщение об ошибке. Указание параметра -p заставить программу создать /usr/local и hejaz каталоги:

$ mkdir -p /usr/local/hejaz



Kernel panic: VFS : Unable to mount root fs


(Это означает, что вы указали неверное устройство для root= параметра в LINUX.BAT файле. Вам необходимо изменить файл опять и выбрать другое root= устройство. Если вы не знаете, какое выбрать, займитесь перебором, пока не найдёте работающее значение.



Компилирование ядра из исходников


Новые пользователи часто спрашивают: ''Следует ли мне компилировать ядро для моей системы?''. Ответ, определённо: может быть. Большинству пользователей подойдёт одно из прекомпилированных ядер, с подгружаемыми модулями для устройств, не поддерживаемых самим ядром. Вы захотите откомпилировать ядро в случае, если вы обновляете его версию на более новое, которое мы ещё не предоставили в Slackware, или если вы наложили патч на исходник вашего ядра.

Сборка своего собственного ядра не такой уж сложный процесс. Первым делом необходимо убедиться, что в вашей системе установлен исходный текст ядра. Убедитесь, что вы установили пакеты из раздела K во время установки. Вам так же понадобятся пакеты из раздела D, в частности компилятор C, GNU make и GNU binutils. В общем неплохо бы, чтобы весь раздел D был установлен, если вы собираетесь заниматься разработкой чего либо. Теперь мы готовы к сборке ядра:

$
su -
Password:
#
cd /usr/src/linux

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

#
make mrproper

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

#
make config     (текстовая вопрос-ответ версия)
#
make menuconfig (menu, текстовая версия)
#
make xconfig    (X-ориентированная версия, вначале убедитесь,
что вы в X)

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


#
make dep
#
make clean

Следующий шаг - компиляция ядра. Вначале попробуйте задать команду zImage. Это не пройдёт, если ваше ядро слишком большое. Не волнуйтесь, вы всё ещё можете попробовать bzImage.

#
make zImage   (Вначале попробуйте так)
#
make bzImage   (Если предыдущая команда не
сработала, попробуйте эту)
В зависимости от скорости процессора, этот процесс может быть достаточно долгим. Во время процесса сборки вы увидите на экране команды компилятора. После сборки образа ядра вы захотите собрать все те части ядра которые вы указали загружаемыми, как модули.

#
make modules

15

Теперь мы можем установить свеже-скомпилированное ядро и модули. Чтобы установить ядро в Slackware системе, необходимо воспользоваться следующими командами:

#
mv /vmlinuz /vmlinuz.old
#
cat arch/i386/boot/zImage > /vmlinuz
#
mv /boot/System.map /boot/System.map.old
#
cp System.map /boot/System.map

Замените zImage на bzImage, если вам пришлось собрать большее ядро. Вероятно, вы захотите отредактировать /etc/lilo.conf
файл и добавить соответствующий раздел для вашего старого ядра, на тот случай, если новое ядро не работает. После этого выполните /sbin/lilo, чтобы установить новый загрузочный блок. Теперь вы можете пере-загрузиться с новым ядром.


Лектронная почта


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

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



Linux


Это определённо, самый простой сценарий двойной загрузки. Используя LILO, просто добавьте ещё пункт в /etc/lilo.conf файл. Вот и всё.



Любая выполняемая программа называется


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

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

$ amp *.mp3 &

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

Другой способ перевода программы в фоновый режим, позволяет проделать это уже во время выполнения программы. Вначале запустите программу. Нажмите control+z. Это приостановит процесс. Что-то вроде паузы. Программа моментально прекратит выполняться, но может в любой момент быть продолжена. Как только вы приостановили процесс, вы возвращаетесь к приглашению командной строки. Для перевода процесса в фоновый режим, наберите:

$ bg

И таким образом, приостановленный процесс перейдёт в фоновый режим.



Mailx


mailx(1) это почтовый клиент, управляемый командной строчкой. Он очень примитивен и практически ничего не предложит вам в качестве интерфейса пользователя. Тем не менее программа очень полезна, когда вам надо быстро отправить что-то, либо если вы хотите написать сценарий отправки почты, или что-то в этом роде.

Обычный вариант запуска вот такой:

$mailx -s <тема> <кому>

mailx читает тело письма из стандартного ввода. Так что вы можете

cat любой файл в эту команду, чтобы отправить его, или же вы можете просто напечатать текст и нажать ctrl+D, когда закончите набор.

Вот пример отправления по почте файла исходника программы другой персоне.

$cat randomfunc.c | mailx -s "Вот эта функция" \
asdf@example.net

man страница объясняет, более подробно возможности mailx, так что вы наверное загляните туда перед использованием программы.



Man (сокращение от ''manual''


Исходные тексты большинства программных пакетов, которые мы включили в дистрибутив поставлялись с какого-то рода документацией. README файлы, инструкции по использованию, файлы лицензий... документация любого рода, поставляемая с исходниками программ входящих в вашу систему и установленных на неё в последствии, находится в каталоге /usr/doc.

Если информации, предоставленной в man вам не достаточно, то ваша следующая остановка - каталог /usr/doc.



Метод Информация телефон вэб-сайт


Slackware Linux так же доступен бесплатно в сети интернет. Вы можете спросить по email о поддержке, но более высокий приоритет всегда отдаётся тем, кто приобрёл официальный набор.

Официальный сайт проекта Slackware Linux находится по адресу:

http://www.slackware.com/

Основной FTP расположен здесь:

ftp://ftp.slackware.com/pub/slackware/



Mount и umount


В Linux очень просто подключать устройства. Всё что вам надо сделать, это запустить mount команду, указывай ей несколько опций. Использование этой команды может быть значительно упрощено, если монтируемое устройство описано в /etc/fstab файле. Предположим, я хочу подключить CD-ROM и fstab выглядит так, как в примере предыдущего раздела. Я могу сделать это, выполнив команду:

# mount /cdrom

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

# mount -t iso9660 -o ro /dev/cdrom /cdrom

Эта строка включает ту же самую информацию, что и строка в вышеприведённом fstab, но в другом формате. Давайте разберёмся. -t iso9660 указывает тип файловой системы на устройстве. В этом случае это iso9660 система, которая используется на большинстве CD-ROM. -o ro указывает, что устройство подключается только для чтения. /dev/cdrom это имя устройства, которое мы хотим подключить и /cdrom это каталог, куда мы хотим подключить устройство.

До того, как извлекать флоппи, CD-ROM, или другое извлекаемое устройство, которое в данный момент подмонтированно, вам надо размонтировать его. Для того, чтобы сделать это, нужно воспользоваться командой umount. Не спрашивайте, почему она называется не unmount, так как мы не сможем вам ответить. Вы можете использовать либо имя устройства, либо точку монтирования в качестве аргумента для команды. Например, если вы хотите размонтировать CD-ROM, подключённый в предыдущем примере, любая из нижеприведённых команд позволит вам сделать это:

# umount /dev/cdrom
# umount /cdrom



Mv


mv(1) перемещает файлы из одного места в другое. Пользователи DOS найдут её похожей на move команду. При использовании команды надо указывать источник и назначение. Вот пример обычного использования mv:

# mv myfile /usr/local/share/hejaz

mv имеет несколько опций, которые так же обсуждаются в man странице.



Мы с вами уже обсуждали структуру


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

$ ls -l /usr/bin/wc
-rwxr-xr-x   1 root     bin    7368 Jul 30  1999 /usr/bin/wc

Нас интересуют третий и четвёртый столбцы. Они содержат информацию о именах пользователя и группы, которым принадлежит файл. В приведённом примере файл принадлежит пользователю root и группе bin.

Владельца файла можно изменить при помощи chown(1) (что значит ''change owner'' - изменить владельца), а группу при помощи chgrp (''change group'' - изменить группу). Чтобы изменить владельца фала на ''daemon'', мы выполним команду:

# chown daemon /usr/bin/wc

А чтобы изменить группу на ''root'':

# chgrp root /usr/bin/wc

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

# chown daemon.root /usr/bin/wc

Принадлежность фалов - это очень важная часть использования Linux системы, даже если вы единственный пользователь. Иногда вам придётся исправлять права владения файлами и узлами (nodes) устройств.



n


ln(1) используется для создания ссылок на файлы. Это могут быть как жёсткие - hard, так и гибкие или символические -soft, symbolic ссылки. Разница между двумя типами ссылок обсуждалась в разделе5.2.3. Если вы хотите создать символическую ссылку на каталог /var/media/mp3 и расположить ссылку в вашем домашнем каталоге, вам необходимо выполнить такую команду:

$ ln -s /var/media/mp3 ~/mp3

Опция -s указывает команде ln, что ссылка должна быть символическая. Затем задаётся цель ссылки, и в конце указывается как она будет называться. В приведённом случае будет создан файл mp3, указывающий на /var/media/mp3. Вы можете назвать ссылку как вам заблагорассудиться, просто изменив последний из параметров команды ln.

Создание жёстких ссылок производится аналогично. Только опускается опция -s. Для примера, создадим жёсткую ссылку на тот же каталог, что и в примере выше:

$ ln /var/media/mp3 ~/mp3



Начальная загрузка системы


Первая программа, запускаемая в Slackware после ядра Linux-это init(8). Эта программа читает /etc/inittab
(5) файл, чтобы узнать, как загружать систему. Запускает /etc/rc.d/rc.S
сценарий для подготовки перед переключением на выбранный runlevel. rc.S
файл активизирует виртуальную память, подключает файловые системы, очищает определённые log каталоги инициализирует Plug and Play устройства, загружает модули ядра, настраивает PCMCIA устройства, активизирует последовательные порты и запускает System V загрузочные сценарии (если таковые присутствуют). rc.S
выполняет много задач самостоятельно, но так же до завершения своей работы, он вызовет ниже перечисленные сценарии из каталога /etc/rc.d
:

rc.S
Это и есть инициализационный сценарий.

rc.modules
Загружает модули ядра. Такие, как поддержка сетевой карты, PPP и другие. Если сценарий находит rc.netdevice
, то он выполнит и его.

rc.pcmcia
Проверяет наличие и настраивает все PCMCIA устройства, присутствующие в вашей системе. Это наиболее полезно для пользователей laptop компьютеров, у которых, наверняка есть PCMCIA модем или сетевая карта.

rc.serial
Настраивает последовательные порты, запуская соответствующие setserial команды.

rc.sysvinit
Ищет System V инициализационные сценарии, соответствующие выбранному runlevel и выполняет их. Это более подробно обсуждается ниже.



Настройка загрузчика системы Linux


Linux Loader (Загрузчик Linux), или LILO, является наиболее популярным загрузчиком, используемым в системе Linux. Он достаточно гибок в настройках и может быть использован для загрузки других операционных систем.

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

LILO читает свои параметры настройки из файла /etc/lilo.conf(5). Этот файл не используется при каждой загрузке системы, но используется при каждой установке LILO. LILO должен быть пере установлен в загрузочный сектор после изменения его настроек. liloconfig поможет вам построить конфигурационный файл. Если вы предпочитаете редактировать /etc/lilo.conf вручную, то пере установка LILO должна быть произведена путём вызова /sbin/lilo из командной строки.

При вызове liloconfig вы увидите такой экран:

Если вы устанавливаете LILO впервые, то вам лучше выбрать ''simple''. В другом случае, вы найдёте, что режим ''expert'' быстрее, если вы знакомы с Linux и LILO. Выбор ''simple'' начнёт настройку LILO.

Если поддержка framebuffer-а включена в ядро, liloconfig спросит вас, какое видео разрешение вы хотите использовать. Это же разрешение будет использовано для XFree86 frame buffer сервера. Если вы не хотите запускать консоль в специфическом видео разрешении, то выбор normal сохранит стандартный 80x25 текстовый режим.

Следующая часть настройки LILO - это выбор места, куда вы его установите. Это, вероятно, самый важный шаг. Список, приведённый ниже объясняет подробности выбора.

Root

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

Floppy


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

MBR

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

ВНИМАНИЕ: Этот вариант перепишет любой другой загрузчик, находящийся в MBR

После выбора места для расположения загрузчика, liloconfig запишет конфигурационный файл и установит LILO. Вот и всё. Если вы выберите вариант установки ''expert'', вы получите особое меню. Пункты в этом меню позволят вам пройтись по файлу /etc/lilo.conf, добавить другие операционные системы в ваше загрузочное меню, и указать LILO передать особые параметры ядру во время загрузки. Меню ''expert'' выглядит следующим образом:

Какой бы не была конфигурация системы, установка загрузчика довольно проста. liloconfig заметно упрощает процесс установки. Тем не менее, возможны варианты, когда LILO просто не будет работать. Но LILO это не единственный способ загрузки Linux.

4.4.2  LOADLIN

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

При установке системы, LOADLIN устанавливается в домашний каталог root пользователя, как .ZIP файл. Для LOADLIN нет автоматической процедуры установки. Вам необходимо будет скопировать ядро Linux (/vmlinuz) и LOADLIN файл из домашнего каталога root-а на DOS раздел.

LOADLIN полезен, если вы хотите сделать загрузочное меню в DOS разделе. Меню может быть добавлено в AUTOEXEC.BAT файл, что позволит выбирать, какую из систем (DOS или Linux) загружать при включении компьютера. Если вы выберите Linux, меню вызовет LOADLIN, для запуска Slackware. Ниже приведён пример AUTOEXEC.BAT файла для Windows 95, с меню выбора системы:



@ECHO OFF
SET PROMPT=$P$G
SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\
CLS
ECHO Please Select Your Operating System:
ECHO.
ECHO [1] Slackware Linux
ECHO [2] Windows 95
ECHO.
CHOICE /C:12 "Selection? -> "
IF ERRORLEVEL 2 GOTO WIN
IF ERRORLEVEL 1 GOTO LINUX
:WIN
CLS
ECHO Starting Windows 95...
WIN
GOTO END
:LINUX
ECHO Starting Slackware Linux...
CD \LINUX
LOADLIN C:\LINUX\VMLINUZ ROOT=<root partition device> RO
GOTO END
:END
Вам необходимо будет указать имя устройства вашего корневого раздела. Что-то вроде /dev/hda2. Вы так же всегда можете воспользоваться LOADLIN из командной строки. Вам надо указать параметры программе, по аналогии с приведенным выше примером. Документация LOADLIN предлагает вам много различных примеров использования программы.

4.4.3  Двойная загрузка

Многие пользователи настраивают свои компьютеры для загрузки Slackware Linux и ещё какой-то другой операционной системы. Ниже описаны несколько типичных сценариев двойной загрузки.


Не получается открыть начальную консоль


Это обычно случается при указании неверного раздела диска для root= параметра в LINUX.BAT файле. Измените LINUX.BAT опять, выбрав другой раздел в качестве root=. Если вы не имеете понятия о том, что это значит, вы можете просто заняться перебором, пока не доберётесь до работающего.

Так же это может быть вызвано распаковкой .ZIP файлов в каталоге, отличном от корневого. Архив должен быть распакован в корневом каталоге диска, а не в каком-то из под-каталогов.



Netconfig это часть программы


В Slackware есть pppsetup- утилита для настройки dialup соединения к ISP (Internet Server Provider). Она находится в ppp.tgz пакете из раздела программ N. pppsetup использует такой же интерфейс, как и программа установки. Если вы не помните, как пользоваться этим интерфейсом, то вернитесь к разделу 3.1.2, для получения справки. pppsetup задаст вам много вопросов и установит несколько конфигурационных файлов в /etc/ppp. Как root запустите pppsetup; давайте пройдёмся по списку вопросов.

Phone number

Здесь вам следует указать номер вашего ISP, с указанием в качестве префикса, типа набора номера. Для большинства людей тональный набор будет правильным выбором18. Если номер вашего провайдера 555-1013 и вы используете тональный набор, то вам надо ввести atdt555101319. Если на вашей телефонной линии есть call waiting (ожидание звонка) и вы хотите отключить этот режим во время работы с провайдером, то введите что-то вроде atdt*70,5551013. Запятая необходима. Она вставляет 1,5 секундную паузу после *70, чтобы отключить режим ожидания звонка. Без запятой это не сработает.

Modem device

Здесь вам следует выбрать, куда подключён ваш модем. Если вы знаете на каком COM порте он был под Windows, то вы можете выбрать из списка эквивалент. Иначе вам придётся поэкспериментировать. Наиболее логично начать с ttyS0 и пройтись по списку.

Modem baud rate

Подберите baud rate, который наиболее близок вашему модему. Если вы не знаете baud rate, обратитесь к документации вашего модема.

Callback

Теперь вам понадобится вся информация, предоставленная вам вашим ISP. Очень немногие ISP используют callback, так что скорее всего, вы можете спокойно ответить ''No'' на этот вопрос. Callback, это когда вы вначале звоните ISP, а затем они перезванивают на ваш номер, и только тогда вы можете войти в сеть. Если вам надо использовать callback, то ответьте ''Yes'' на этот вопрос. Тогда вам будет предложено ввести номер вашего телефона, login и пароль. Возможно, вам не понадобится вводить ваши начальные логин и пароль. Ну и наконец, последний вопрос: какую из схем идентификации (authentication) использует ваш провайдер. Если это CHAP или PAP, то ответьте ''Yes''. Позже вам необходимо будет настроить это. Смотрите ниже, как это сделать. Если они не пользуются вышеперечисленными методами, то ответьте ''No'' и смотрите раздел ''Chat script'' ниже.


Modem init string

Если у вас не какой- то необычный модем, то вам скорее всего можно просто нажать ввод, чтобы выбрать строку инициализации модема по умолчанию (''AT&FH0''). Иначе, смотрите документацию вашего модема. И найдите там строку инициализации, рекомендованную для вашего модема.

Domain name

Теперь вам надо ввести доменное имя вашего провайдера. Это будет что-то вроде ''primer.net'', ''slackware.com'' или что-то похожее. (Ну ладно, почти наверняка это будет не slackware.com :)

DNS IP address

Ваш ISP должен предоставить вам IP адрес их сервера имён. Если он у вас есть, введите его тут. Иначе обратитесь к ISP, чтобы узнать его20.

Authentication method

Вам необходимо узнать у ISP, пользуются ли они CHAP, PAP, или ни одним из них при идентификации пользователя. Проще всего узнать это, позвонив вашему ISP. Тем не менее, если после набора номера вы увидите приглашение login и password после соединения, то наиболее вероятно, вам следует воспользоваться ''SCRIPT''. Иначе, обратитесь к ISP, чтобы выяснить, каким методом пользоваться.

PAP или CHAP

Если вы выбрали PAP или CHAP на экране выбора метода идентификации, то здесь вам необходимо будет ввести ваше имя пользователя (username). ISP должен присвоить вам username. Если это не так, то что-то определённо не правильно. Вам понадобится связаться с ними и получить username. Затем вам будет необходимо ввести пароль, предоставленный вам вашим ISP.Chat script

Если вы выбрали ''SCRIPT'', то вашему вниманию предоставится довольно таки долгое объяснение того, что же такое script. Прочтите его пожалуйста очень внимательно, так как там всё очень подробно описано. в общем, вам необходимо сообщить программе, какую информацию провайдер должен сообщить вашему компьютеру, и что компьютер должен ответить для входа в сеть. Вы попадёте в ''петлю'' вопросов и ответов, где вам надо будет ввести некоторый текст, который компьютер должен ожидать от ISP, и при получении такового, ответить на него то что вы сообщите далее. Для выхода из цикла, просто нажмите ввод на любой пустой строке.Done

В конце на экран будут выведены все данные о ppp конфигурации. Здесь вы не сможете изменить их содержание, но по крайней мере, вы можете проверить, всё ли указанно правильно. Нажмите ввод для того чтобы сохранить все настройки и выйти из программы. На этом экране вы так же найдёте много информации о том, как активизировать ваше dial-up соединение, и как разорвать его. Основная идея этого в следующем: как root, запустите ppp-go, для активизации соединения. Когда программа выдаст вам локальный и удалённый IP, вы подключены к интернет. Когда вы завершили всё, что хотели, выполните ppp-off, как root и эта программа отсоединит вас от сети.


Netmods


Драйвера сетевых устройств, поддерживаемых ядром, включены в пакет netmods (slakware/n3/netmods.tgz)17. Если вы ещё не установили этот пакет, то сейчас самое время установить его. (См. раздел5.9, для получения информации о том, как устанавливать отдельные пакеты программ.)

Модули ядра, которые должны быть загружены во время загрузки компьютера, загружаются из файла rc.modules, расположенного в каталоге /etc/rc.d. В стандартном файле rc.modules есть раздел ''Network device support''. Если вы откроете этот файл и заглянете в упомянутый раздел, вы заметите, что он вначале проверяет, существует ли исполняемый файл rc.netdevice в каталоге /etc/rc.d; rc.netdevice создаётся в том случае, если setup сумел определить ваши сетевые устройства при установке. Если это так, то вы скорее всего не читаете этот раздел (хм, парадокс, однако); ну а если не так, то продолжайте читать.

Ниже, после блока ''if'', находится список сетевых устройств и modprobe строчек, каждая из которых прокомментированна. Найдите ваше устройство и раскомментируйте соответствующую modprobe строчку, не забудьте сохранить изменения в файл. Если вы выполните, как root пользователь, rc.modules, то драйвер вашего устройства должен загрузиться (так же, как и все остальные откомментированные модули). Обратите внимание, что некоторые модули (такие, как драйвер ne2000) требуют указания параметров; убедитесь, что вы выбрали правильную строчку.



Обавка, удаление и обновление программ


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

Смотрите Ref Управление пакетами для дополнительной информации.



Официальный диск и набор в коробке


Официальный набор Slackware Linux CD поставляется от Slackware, Inc. Покупая официальный набор, вы получаете удобство установки с CD, поддержку по установке через электронную почту, 30-страничный буклет по установке и даже больше. Набор Slackware Linux включает в себя набор CD и официальное руководство пользователя. Покупка официального набора- лучший способ помочь проекту Slackware Linux.



Охранение файлов


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

:w randomness

После того, как вы однажды сохранили файл, для повторной записи в него, вы можете просто набрать :w. Все изменения сохранятся в файл. После сохранения файла, вы попадаете в командный режим. Если вы хотите сохранить изменения и выйти, из vi (что случается довольно часто), вам надо набрать :wq. Это укажет vi сохранить изменения и выйти.

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

:w!
:wq!

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



Олучение помощи


Перед тем как обращаться за помощью, вам следует прочесть документацию, в C:\LINUX каталоге, вполне возможно ответ на ваш вопрос уже ждёт вас там.

Если вы прочли документацию и всё ещё не решили вашу проблему, один из приведённых ниже методов наверняка поможет вам.



Олучение ZipSlack/BigSlack


Получение ZipSlack или BigSlack это довольно простая процедура. Если вы приобрели официальный Slackware Linux CD set, то у вас уже есть ZipSlack и BigSlack. Просто найдите CD, содержащий выбранный вами вариант и вставьте его в ваш привод CD-ROM. Обычно это третий или четвёртый диск.

Если вы хотите скачать ZipSlack или BigSlack, то зайдите вначале на нашу ''Get Slack'' страничку, для получения последней информации по загрузке:

http://www.slackware.com/getslack/

ZipSlack и BigSlack являются частью каждого релиза Slackware. Найдите там тот из релизов, который вы хотите, и отправляйтесь к соответствующему каталогу на FTP сайте. Каталог, соответствующий последнему релизу, всегда находится по адресу:

ftp://ftp.slackware.com/pub/slackware/slackware/

Вы найдёте ZipSlack в /zipslack под-каталоге и BigSlack в /bigslack каталоге. ZipSlack поставляется, как один большой .ZIP файл или флоппи ориентированную ''нарезку''. Нарезка находится в /zipslack/split каталоге. BigSlack поставляется только в нарезанном виде.

Не останавливайтесь на скачивании только .ZIP файлов. Вам так же надо скачать документацию и образы загрузочных дисков, которые есть в это каталоге.



Онтирование NFS


NFS, как мы уже упоминали, это сокращение для Network Filesystem (Сетевая файловая система. На самом деле она не является частью реальной файловой системы, но может быть использована для подключения устройств через сеть.

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

Смотрите раздел 4.2.6 и man страницы для exports(5), nfsd(5) и mountd для дополнительной информации.



Оординаты перевода


Домашняя страничка перевода:

http://sle.how-to.ru

Хостинг любезно предоставлен Алексеем Чегляковым.

Если у вас есть какие-то пожелания или советы по поводу перевода, пишите по адресу:

dolphin77@mail.od.ua

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

//



Op


Есть так же и программа, которую вы можете использовать для вывода динамической информации о процессах, выполняемых в системе. Программа называется top(1):

$ top

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

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