Настольный Linux. Часть 1. Первоначальная настройка
Начать сей многосерийный опус меня побудило несколько причин, главная из которых — начало нового учебного года. 1 сентября ассоциируется у многих студентов-компьютерщиков со следующим циклом бессонных ночей, забитыми до отказа пепельницами из-под баночек от Nescafe и горами щебня от гранита изгрызенных околокомпьютерных наук. И вновь найдутся те, кто захочет познать Linux, и перед ними, как и год назад перед их предшественниками, встанут некоторые "извечные" линуксовые вопросы. Далеко не на каждый из этих вопросов можно найти ответ самостоятельно в течение, скажем, недели. А за это время у человека вполне может пропасть всякое желание заниматься Linux'ом. Поэтому начинающим нужно помогать. Я говорю это с полной уверенностью, потому как и сам, когда несколько лет назад стал изучать Linux, часто обращался за помощью к старшим. Мне очень повезло: мне встретились добрые и отзывчивые люди, которые здорово помогли подружиться с Linux. В первую очередь, это, конечно, Женя Калюта, Шахов В., Magelan, Zyxel, Hell с Алисой, Ra, Urukhy и многие другие — от всей души Вам спасибо! И теперь я тоже постараюсь помочь начинающим линуксоидам полюбить Linux.
На страницах КГ часто появляются статьи про Linux для новичков. Я решил немного систематизировать весь этот материал да собственный опыт и подать в виде логически связанной серии статей, в которых была бы не только практика, но и достаточно теории. Зная фундаментальные принципы работы системы, читатель всегда сможет решить задачи и более сложные, чем описанные ниже. Темы, которых я коснусь в эпосе о Linux: первоначальная настройка, мультимедиа, игры, офисные пакеты, работа с графикой, интернет. Затем: сборка собственного ядра, написание скриптов bash и perl, в тонкостях о vim, mc и IceWM. Впрочем, возможно, в процессе список скорректирую.
Итак, вы решились установить Linux и даже выбрали дистрибутив. Дайте угадаю с трех раз? Mandrake, Fedora Core или Suse. Если что-то другое и "ненашенское" — скорее всего, поначалу будет много проблем. Но зато если справитесь, например со Slakware, — будете знать на порядок больше чем рядовой пользователь Suse.
Вообще частенько народ просто побаивается ставить Linux, особенно понаслушавшись разных диких историй о том, как Linux покалечил чей-то винчестер или что-то в этом духе. Не верьте, это все средневековый фольклор. Linux как и любой другой Unix, всегда выполняет то и только то(!), что скажет ему человек. Без никаких хитростей и тем более самодеятельности. Сама же установка выглядит так: сначала нужно при помощи редактора диска (Partition Magic, fdisk и др.) выделить пару гигобайт места для линуксовых разделов, затем загрузиться с установочного компакт-диска с Linux и просто следовать дальнейшим инструкциям. В популярных дистрибутивах давно поддерживается русский язык, а инсталлятор ориентирован на самого-самого начинающего. Так что процесс установки очень прост: время от времени будете нажимать "Да" или "Нет", а потом и сами не заметите, как загрузитесь в установленную систему. Вопросы, которые могут возникнуть в процессе установки.
1. А Linux не покалечит ли Windows ? — Нет, он будет стоять на другом разделе.
2. А не отформатирует ли он весь винчестер ? — Внимательно читайте то, что вам предлагается сделать, и если появится табличка "Отформатировать весь винчестер? Да, нет" — нажмите "Нет".
3. Сколько и каких разделов нужно для Linux? — Минимум два: один основной для системы, второй для подкачки (Linux swap). На раздел подкачки достаточно 60-100Мб, основной раздел должен занимать около 3Гб. Да, кстати, настоятельно советую место для раздела Linux выделять "в начале" диска.
4. Что такое точка монтирования? — Расскажу позже, а во время установки для системного диска выберите "/".
5. Зачем создавать пользователя, буду работать под администратором! — Не будете. По крайней мере, больше нескольких минут: обязательно "убьете" систему, и придется переустанавливать.
6. Какой загрузчик выбрать? — Grub.
7. Я установил Linux, а он не загружается! — А я предупреждал: ставьте Grub или выделяйте место под линуксовый раздел вначале диска! 8. Linux загружается, потом появляется командная строка как в DOS! — Не бойтесь, это все же Linux, просто в системе нет драйверов под вашу экзотическую видеокарту.
9. А-а-а! Я забыл пароль!! — Загрузитесь с установочного диска и выполните по новой все этапы установки кроме форматирования разделов и установки программ. Это займет около минуты.
Если все прошло гладко, то когда вы загрузитесь — сразу пройдут все сомнения: интерфейс будет понятен и похож на то, с чем вы уже сталкивались. Правда, сходство это только внешнее. За Unix как-никак уже тридцатипятилетняя история, здесь своя идеология, свой фольклор, свои мифы и боги. Пользователи Linux не просто любят свои системы — они готовы сражаться за них, исправлять их, делать лучше, быстрее и безопаснее, чем любая другая операционная система. На собственном опыте знаю, какое удовольствие получаешь от совершенствования системы. Мой сосед по комнате, Дима Глусский (привет, Димон!), частенько бывал свидетелем, как я сутки напролет собирал и настраивал очередную новинку. И потом, как пишут в ширпотребовской литературе, "усталый, но довольный" гордо демонстрировал свой новый "шедевр".
Главное, что нужно сделать, впервые поставив Linux — избавиться от некоторых стереотипов и принять идеологию Unix такой, какая она есть. Повторю один из основополагающих принципов Unix: "Текст — идеальное средство взаимодействия". То есть наиболее полного контроля над системой вы добьетесь только при помощи клавиатуры и командной строки. Причин на это несколько: во-первых, в системе элементарно может не быть графической подсистемы. Если это, например, сервер — графика на нем ни к чему. Во-вторых, правильнее знать название команды, нежели в какой менюшке она находится. Менюшка может измениться, а вот название команды стандартизировано и не изменится никогда. В-третьих, следуя принципам Unix, системные программы в Linux маленькие, зато толково между собой взаимодействуют при помощи текста — то есть, опять же, мыши здесь не место. И в- четвертых, не удивляйтесь, но скорость взаимодействия при помощи клавиатуры значительно выше чем при помощи мыши. Вы видели, с какой скоростью набирают текст профессионалы? А с какой скоростью работают фотошоперы? То-то!
Короче, командная оболочка — инструмент номер один для настройки Linux, и вся оставшаяся часть статьи будет ориентирована на работу именно с ней.
Итак, вы загрузили Linux. Если система сразу перешла в графический режим — отлично! Но все же нам понадобится консоль. Раньше Unix-системы обычно использовали как один солидный сервер плюс куча терминалок, подключенных к нему (терминал — дисплей и клавиатура). В Linux есть понятие виртуального терминала, их обычно семь. Переключаться между ними можно при помощи Ctrl-Alt-F1 — Ctrl-Alt-F7. На седьмом обычно работает XServer, и в нем вы сейчас находитесь. Переключитесь в первый терминал и залогиньтесь под root'ом. Строка ввода команды должна выглядеть примерно так: "linux:~ #".
Теперь пояснения о том, что вы видите. Linux — не операционная система, а только ядро, предоставляющее базовую функциональность. Например, для ввода команд нужно использовать программу-оболочку, которую вы и видите перед собой. Примеры оболочек: sh, zsh, ksh, csh, tcsh, ash. У вас — bash (Bourne-Again SHell), которая на сегодняшний день, пожалуй, самая лучшая. Вот список первоочередных команд, которые нужно знать, чтобы продолжить работу.
1. man — получить справку по указанной команде. Пример: "man man".
2. ls — вывести список файлов и каталогов по указанному или текущему пути.
3. pwd — показать текущий путь.
4. cd — сменить каталог на указанный. Пример: "cd /".
5. cat — вывести содержимое файла на экран.
6. less — простой просмотровщик текста, который обычно работает в связке с cat. Пример: "cat file.txt | less".
7. cp — копировать файл с новым именем. Пример: "cp source dest".
8. mv — переместить/переименовать файл. Пример: "mv source dest".
9. rm — удалить указанный файл.
10. rmdir — удалить указанный пустой каталог.
Команды простые и интуитивно понятные, но все же советую почитать по ним man, т.к. они поддерживают больше опций, чем я здесь описал. Теперь о файловой системе. ФС — главное достоинство Unix с самого начала. Если кто-нибудь помнит, то система Unics была изначально разработана по аналогии с Multics и предназначена исключительно для внутрикорпоративного использования. Другими словами, ее написали "для себя" и не собирались никому раздавать/продавать, т.к. не видели за ней большого будущего. Однако Unics получилась очень удачной, главным образом, за счет поддержки древовидной файловой системы, которой тогда могли похвастаться далеко не все. А чуть-чуть позже после своего признания другими специалистами Unics переименовали в Unix.
Файловая система Linux имеет иерархическую структуру с одним корневым элементом — "/", но при этом допускается монтирование в одно пространство нескольких файловых систем. Раньше для этого во всех дистрибутивах использовался каталог /mnt: туда монтировали разделы с FAT, а также дискеты и CD-ROM'ы. Однако дистрибутив Debian изначально монтировал дискету и CD в каталоги /floppy и /cdrom. Впоследствии практически каждый дистрибутив определил для себя свои каталоги для монтирования, безо всякой причины забыв о старом добром /mnt. Так, например в Suse 9.3, все съемные устройства монтируются в каталоге /media, а разделы с FAT/NTFS в /windows.
Следующая особенность ФС Linux — правило, которое гласит: "Все есть файл". Если речь идет о данных на диске, то вопросов, конечно, не возникает. Вот только файлом в Unix считаются еще и все устройства компьютера, механизмы межпроцессной связи, метаинформация о процессах (/proc) — одним словом — все-все-все. Например, устройство /dev/hdа — это ваш жесткий диск. Если обратитесь к этому файлу напрямую, то получите низкоуровневый доступ ко всем данным диска, включая нулевую дорожку, таблицу разделов, загрузчик и т.д.
Файлы бывают произвольного и последовательного доступа. Файлы произвольного доступа — зачастую простые "файлы", к которым мы все давно привыкли. В них можно позиционироваться как угодно и читать их с любого адреса. А файлы последовательного доступа — обычно устройства, например клавиатура и мышь. От таких устройств мы можем получать данные только последовательно и не можем позиционироваться вперед или назад. Если у вас мышь Usb, введите команду: "cat /dev/input/mice" и поводите мышкой. Команда cat выводит на экран содержимое файла. Изначально в /dev/input/mice пусто, но как только от устройства начинают поступать данные, они побайтно появляются в файле, и cat выводит их на экран.
Следующая особенность ФС — каждый файл на диске может иметь несколько имен в файловой системе. Например, вы набрали текстовый документ file1.txt, и он находится в каталоге /home/user1/. При помощи команды ln можно назначить ему еще одно имя (жесткая ссылка), например так: "ln /home/user1/file1.txt /home/user2/file2.txt". То есть данные на диске одни и те же, а имен в файловой системе два. Если удалить файл /home/user1/file1.txt, то сами данные с диска никуда не исчезнут, и к нем все еще можно будет обратиться по имени /home/user2/file2.txt. Окончательно файл будет удален только тогда, когда у него не останется имен в файловой системе. Каталогам жестких ссылок назначать нельзя, т.к. это могло бы привести к рекурсии.
Однако жесткие ссылки не могут преодолеть границ локальной файловой системы. Если, например, у вас есть каталог /home/user/video. Там вы хотели бы иметь ссылки на файлы с фильмами. А они находятся на вашем Widows-диске D, смонтированном в каталоге /windows/D. В этом случае жесткую ссылку им назначить нельзя. Зато есть такое понятие, как "символическая ссылка" — это простой текстовый файл с полным путем к целевому файлу. В файловой системе операции чтения/записи/запуска по символическим ссылкам работают также, как и с обычными файлами. Пример: "ln -s /windows/D/Films/film.avi /home/user/video/film.avi". Кроме того, символические ссылки можно назначать каталогам: "ln -s /windows/D/Films/ /home/user/video/". Если удалить символическую ссылку, с целевым файлом ничего не станет; если удалить целевой файл — символическая ссылка останется, но перестанет работать. При создании символических ссылок обратите внимание на то, что имя целевого файла записывается так, как подано в командной строке и не расширяется до полного пути. То есть если дать команду "ln -s film.avi /home/user/video/film.avi" — ссылка работать не будет.
Теперь перейдем к более практическим вопросам. Еще во время учебы в университете часто видел картину: домашнее задание студент выполнил, принес на дискете, вставил ее и сидит думает, как ее прочитать. Если вам повезло работать с новым пользовательским дистрибутивом, то достаточно войти в каталог /media/floppy, и дискета будет прочитана. Но если этот "способ" не работает? Любой носитель информации прежде всего должен быть смонтирован в файловую систему. Для этого и существует команда mount. За floppy-дисковод в Linux отвечает файл /dev/fd. Первый дисковод будет файлом /dev/fd0, второй — /dev/fd1 и т.д. Значит, чтобы смонтировать дискету нужно выполнить команду "mount /dev/fd0 /media/floppy". Когда носитель будет смонтирован, к нему можно обращаться как к любому другому каталогу. В нем будут работать все "ядреные" механизмы буферизации, права доступа и т.д. Поэтому будьте внимательны: записав что-то на дискету, прежде чем достать ее из дисковода, нужно размонтировать соответствующий каталог. Тогда буфера в памяти будут сброшены на устройство, и только после этого физические данные появятся на дискете. В новых дистрибутивах для этого достаточно выйти из каталога /media/floppy, и он сразу будет размонтирован.
Если нужно смонтировать раздел жесткого диска, то здесь слегка сложнее. Для монтирования раздела нужно знать, как он называется. Если у вас SCSI-диск, то начало файла будет "sd", если IDE — "hd". Первый диск на первом шлейфе будет "a", второй диск на первом шлейфе — "b", первый диск второго шлейфа — "c", второй диск второго шлейфа — "d" и т.д. Первый раздел диска будет "1" и т.д. То есть если у вас один IDE-диск и вы хотите смонтировать в /windows/C первый его раздел, нужно выполнить команду "mount /dev/hda1 /windows/C". Список разделов диска можно посмотреть, например, при помощи команды fdisk.
Вернемся к нашим баранам, то есть к консоли, и проверим, какие разделы у нас смонтированы. Можно, конечно, работать полностью с системными командами вроде cd, ls и т.д. Но проще будет при помощи файлового менеджера Midnight Commander, запустите его командой "mc". Если в ответ появится сообщение "command not found" — значит, вы его не установили. Ничего страшного, работать можно и без него. Когда придется редактировать файлы — воспользуйтесь редактором vi.
Если вы решили отказаться от помощи mc (а так и поступает большинство настоящих юниксоидов), то вам придутся по душе некоторые возможности командной оболочки bash. Нажатие клавиши <Tab> приводит к автодополнению имени набираемой команды или файла/каталога, а <Tab><Tab> — к выводу списка команд (файлов/каталогов), которые начинаются с набранных символов. Именно благодаря этой возможности bash управляться с командной строкой стало гораздо легче.
Посмотрим файл /etc/fstab. Как вы уже догадались, там перечислены точки монтирования, их устройства и опции — все это нужно, чтобы некоторые устройства монтировались при загрузке автоматически. Первый столбец — устройство, которое нужно смонтировать. Второй — точка монтирования, т.е. каталог, из которого это устройство будет доступно. Третий — формат файловой системы. Четвертый — опции монтирования. Пятый нас не интересует (он используется для дампа файловой системы) — там должны быть нули во всех точках монтирования кроме "/". Например, мой диск D монтируется при помощи файла fstab так: "/dev/hda7 /windows/D vfat iocharset=utf8,umask=0 0 0". Самый интересный для нас столбец — четвертый. Для того чтобы на смонтированном разделе нормально работал русский язык, нужно указать правильную кодировку, в которой работает ваша система. Чаще всего это utf8, раньше бывало koi8-r. Некоторые ставят cp1251. Опция umask=0 задает всевозможные права на чтение/запись/выполнение для всех пользователей. Если точка монтирования прописана в /etc/fstab, то для команды mount можно не передавать файл устройства. Т.е., например, если прописана точка монтирования для дискеты в /media/floppy, то достаточно дать команду "mount /media/floppy", и она будет смонтирована. Для размонтирования устройства всегда нужно указывать только точку монтирования, например, так: "umount /media/floppy".
Ну и для завершения обзора файловой системы расскажу о правах на файлы. Всего на файл, как и на каталог, распространяются три права: чтение, запись, выполнение (для каталога выполнение означает возможность в него войти). То есть, если файл исполняемый, и у вас есть право на его исполнение, то тогда его можно запустить как обычную программу. Обратите внимание: исполняемые файлы расширением никак не отличаются от обычных, зачастую у них вообще нет никакого расширения. Права на чтение-запись объяснений не требуют. Обозначения этих прав. Буквенные: r (Read), w (Write), x (eXecute). Численные обозначаются битом в двоичной системе. Чтение — 0100, запись — 0010, выполнение — 0001. Соответственно их аналоги в восьмеричной системе: 4, 2 и 1. Складываются права простым арифметическим суммированием. Файл с правом на чтение, запись и выполнение обозначается числом 7 (0111), на чтение и выполнение — 5 (0101), и т.д. Права выставляются для: владельца файла, группы файла и всех остальных. Их буквенное обозначение: u,g,a. Например, для добавления права на запись в файл для владельца команда будет выглядеть так: "chmod u+w file"; для того, чтобы забрать у всех остальных пользователей возможность войти в каталог — "chmod a-x catalog" и т.д. Но обычно пользуются численным методом выставления прав. Первое число означает права владельца, второе — группы, третье — остальных пользователей. Например, чтобы разрешить владельцу файла исполнять его, читать и записывать, а всем остальным — только выполнять и читать, нужно задать права таким образом: "chmod 0755 file".
У каждого файла и каталога есть имя владельца и группы, которым он принадлежит. Сменить имя владельца можно командой chown, имя группы — chgrp. Если нужно сменить права, владельца или группу всех файлов во вложенных каталогах — опция "-R".
В Linux файлы и каталоги, имя которых начинается с точки, считаются скрытыми и обычно не отображаются, с правами доступа это никак не связано. Для просмотра списка всех, включая скрытые, файлов и каталогов вместе с их правами доступа нужно дать команду "ls -al".
Еще в файловой системе есть два специальных имени каталогов: ".." и ".", которые находятся в любом другом каталоге. "." — полный путь к текущему каталогу, а ".." — путь к родительскому каталогу. Родительским для корневого каталога является он сам. Так, если в вашем домашнем каталоге находится программа prog, вы установили на нее права на исполнение и хотите ее запустить, то нужно набрать либо полный путь к ней, либо сокращенный: "./prog".
Перейдем к рассмотрению процесса загрузки. Обычно на жестком диске стоит не одна, а несколько операционных систем, например Linux и Windows. Поэтому важно знать, как вообще идет загрузка той или иной ОС и что в это время происходит. Сначала кратко о начальной инициализации компьютера. Предположим, что в BIOS выставлены настройки, согласно которым компьютер сначала грузится с дискеты, затем с жесткого диска. Тогда, после включения питания, проверки аппаратной части и заполнения таблицы векторов прерываний, BIOS попытается прочитать первый сектор нулевой дорожки нулевой стороны диска в дисководе "А". Этот сектор помещается в память (по адресу 0000:7C00h, если кому-то интересно), после чего на него передается управление. В прочитанном секторе содержится программа начальной загрузки (boot-запись) и некоторые другие сведения (о них — ниже). Программа проверяет, является ли диск системным. Если это не так, то BIOS попытается считать boot-запись с жесткого диска. Структура boot- сектора следующая: сначала идет код загрузки, затем четыре записи разделов и подпись таблицы разделов — 0AA55h. На все про все 512 байт. Записи разделов занимают 64 байта, да два байта на подпись, итого на загрузчик остается всего лишь 446 байт.
Для справки. Изначально под "разделом" жесткого диска понимался виртуальный жесткий диск со своей загрузочной записью для запуска своей операционной системы. Всего поддерживалось 4 раздела. Затем появилась необходимость в увеличении числа разделов диска, и тогда, еще во времена DOS, ввели термин "расширенный раздел DOS". Этот раздел являлся чем-то вроде обертки для других, вложенных в него разделов, коих внутри него могло быть по числу букв латинского алфавита. Расширенный раздел DOS можно было установить, только если существовал основной раздел DOS. Похожую технологию использует FreeBSD, но в ней более логичная терминология. Так четыре "корневых" раздела диска называются слайсами (slice), а внутри них создаются обычные разделы.
Главный загрузчик, который находится на нулевой дорожке диска перед таблицей разделов, называется Главной Загрузочной Записью (Master Boot Record — MBR). До загрузки Linux перед вами появлялось красочное меню с картинками, курсором и кучей подписей. Теперь, если вы внимательно прочитали описанный процесс загрузки, у вас наверняка возникнет вопрос: каким образом вся эта красивость вместилась в 446 байт? Все просто: загрузка делится на две стадии. На первой стадии программа-загрузчик, записанная в MBR, только лишь считывает в память и запускает основную загрузочную программу, которая, конечно, значительно больше. А уже она, в свою очередь, (вторая стадия) выводит все прибамбасы и предоставляет выбор: с какого раздела грузиться дальше. У каждого раздела может быть своя загрузочная запись, и загрузчик просто считывает ее в память и запускает на выполнение. Именно так и работают все современные загрузчики, например, Lilo (LInux LOader) и Grub (GRand Unified Bootloader). А старые версии lilo, которых я не касаюсь, и все загрузочные вирусы с успехом помещались в 446 байт.
Для того чтобы установить lilo, необходимо отредактировать файл /etc/lilo.conf и запустить команду "lilo", которая перезапишет MBR. Файл конфигурации lilo очень прост, там достаточно комментариев, доступна хорошая страница руководства. А вот конфигурация GRUB более сложна и заслуживает отдельной темы. Правда, если вам захочется просто изменить название в загрузочной менюшке — отредактируйте файл /boot/grub/menu.lst. Grub — действительно очень сложный и навороченный загрузчик. Он умеет загружать другие загрузчики, например, NT Loader, грузиться по сети, загружать ядро напрямую в память и т.д. Впрочем, все это умеет и lilo, но функциональности у него все-таки поменьше. Тело загрузчика обычно находится в каталоге /boot/grub, поэтому будьте внимательны: если удалите или отформатируете Linux-раздел, не установив до этого старый загрузчик, то grub не сможет продолжить вторую стадию.
Далее, когда загрузка продолжается с раздела Linux, происходит следующее. Сначала загружается в память ядро, затем запускается процесс init — прародитель всех будущих процессов. Процессы в Unix тоже имеют иерархическую структуру, как и файловая система. И все остальные процессы будут отпочковываться от init. Соответственно, существует он все время работы системы, а большую часть этого времени просто "спит". С точки зрения этого демона система всегда находится в одном из состояний — уровней выполнения. Всего их 7 штук, и система за время работы последовательно проходит их с 1-го по 6-й. Вот их описание.
0) Останов системы.
1) Административный однопользовательский режим. Обычно используется пользователями root для восстановления системы после сбоя.
2) Многопользовательский режим, но без использования сети.
3) Многопользовательский режим, допускается работа в сети.
4) Обычно не используется.
5) Полноценный многопользовательский режим. Обычно на этом уровне выполняется графическая подсистема.
6) Перезагрузка системы.
То есть демон init начинает с уровня 1 и заканчивает на уровне 5, в обычном рабочем состоянии — тогда и предлагается залогиниться в систему. А если очень хочется попереключаться между уровнями выполнения — то это можно сделать командой "init n", где n — номер уровня. Кстати, на уровне 1 во всех RedHat-based дистрибутивах есть недосмотр с безопасностью: если передать ядру параметр load single, то система загрузится под аккаунтом root'a и не спросит при этом пароль.
Работу демона init определяет файл /etc/inittab. Именно от его конфигурации будет зависеть стиль загрузки. Всего есть два стиля загрузки: SysV и BSD. Примеры дистрибутивов, использующих SysV-стиль загрузки: Red Hat, Fedora Core, Mandrake, Suse. Пример системы, использующий BSD- стиль: Slackware. Стили загрузки различаются действиями, выполняемыми системой на каждом из уровней.
На каждом из уровней выполнения система выполняет некоторые сценарии. Все они находятся в каталоге /etc/init.d. Там есть еще и набор каталогов, которые называются rcN.d, где N — уровень выполнения. В каждом каталоге есть символические ссылки примерно такого вида: "S13xdm". Здесь S значит Start, K — Kill. Число — порядковый номер выполнения, а xdm — имя выполняемого скрипта. Сам скрипт xdm, на который ссылается S13xdm, находится неподалеку — в каталоге /etc/init.d и запускает демон графической подсистемы. Со скриптами из каталога /etc/init.d нужно общаться следующим образом: "./xdm start" для запуска демона xdm, stop — для останова, restart — для перезагрузки демона. Кстати, если вдруг так случилось, что ваша система грузится дольше, чем другая операционная система — просто удалите часть ссылок на ненужные вам демоны. Только сначала прочтите что-нибудь об удаляемой ссылке, вдруг вам захочется удалить ссылку на random или еще на какой-нибудь системный демон. Что вам может не понадобится? Демоны баз данных MySQL и PostgreSQL, сетевые сервера nfs, samba, ftp, http, демон plug-n-play kudzu (кстати он довольно долго грузится), принтера (cups) и т.д. Главное, делайте все в трезвом уме и здравой памяти.
Из статьи вы узнали: как установить Linux, как пользоваться системными командами, как устроена файловая система Linux и как ею пользоваться, что такое загрузчик и как происходит загрузка Linux.
В следующем номере: настройка графической подсистемы, русификация, установка/удаление драйверов для видео, звука и других устройств, установка/удаление дополнительного программного обеспечения, настройка пользователей, контроль за процессами и окончательное приведение системы в порядок.
Дмитрий Бушенко nop@list.ru
На страницах КГ часто появляются статьи про Linux для новичков. Я решил немного систематизировать весь этот материал да собственный опыт и подать в виде логически связанной серии статей, в которых была бы не только практика, но и достаточно теории. Зная фундаментальные принципы работы системы, читатель всегда сможет решить задачи и более сложные, чем описанные ниже. Темы, которых я коснусь в эпосе о Linux: первоначальная настройка, мультимедиа, игры, офисные пакеты, работа с графикой, интернет. Затем: сборка собственного ядра, написание скриптов bash и perl, в тонкостях о vim, mc и IceWM. Впрочем, возможно, в процессе список скорректирую.
Итак, вы решились установить Linux и даже выбрали дистрибутив. Дайте угадаю с трех раз? Mandrake, Fedora Core или Suse. Если что-то другое и "ненашенское" — скорее всего, поначалу будет много проблем. Но зато если справитесь, например со Slakware, — будете знать на порядок больше чем рядовой пользователь Suse.
Вообще частенько народ просто побаивается ставить Linux, особенно понаслушавшись разных диких историй о том, как Linux покалечил чей-то винчестер или что-то в этом духе. Не верьте, это все средневековый фольклор. Linux как и любой другой Unix, всегда выполняет то и только то(!), что скажет ему человек. Без никаких хитростей и тем более самодеятельности. Сама же установка выглядит так: сначала нужно при помощи редактора диска (Partition Magic, fdisk и др.) выделить пару гигобайт места для линуксовых разделов, затем загрузиться с установочного компакт-диска с Linux и просто следовать дальнейшим инструкциям. В популярных дистрибутивах давно поддерживается русский язык, а инсталлятор ориентирован на самого-самого начинающего. Так что процесс установки очень прост: время от времени будете нажимать "Да" или "Нет", а потом и сами не заметите, как загрузитесь в установленную систему. Вопросы, которые могут возникнуть в процессе установки.
1. А Linux не покалечит ли Windows ? — Нет, он будет стоять на другом разделе.
2. А не отформатирует ли он весь винчестер ? — Внимательно читайте то, что вам предлагается сделать, и если появится табличка "Отформатировать весь винчестер? Да, нет" — нажмите "Нет".
3. Сколько и каких разделов нужно для Linux? — Минимум два: один основной для системы, второй для подкачки (Linux swap). На раздел подкачки достаточно 60-100Мб, основной раздел должен занимать около 3Гб. Да, кстати, настоятельно советую место для раздела Linux выделять "в начале" диска.
4. Что такое точка монтирования? — Расскажу позже, а во время установки для системного диска выберите "/".
5. Зачем создавать пользователя, буду работать под администратором! — Не будете. По крайней мере, больше нескольких минут: обязательно "убьете" систему, и придется переустанавливать.
6. Какой загрузчик выбрать? — Grub.
7. Я установил Linux, а он не загружается! — А я предупреждал: ставьте Grub или выделяйте место под линуксовый раздел вначале диска! 8. Linux загружается, потом появляется командная строка как в DOS! — Не бойтесь, это все же Linux, просто в системе нет драйверов под вашу экзотическую видеокарту.
9. А-а-а! Я забыл пароль!! — Загрузитесь с установочного диска и выполните по новой все этапы установки кроме форматирования разделов и установки программ. Это займет около минуты.
Если все прошло гладко, то когда вы загрузитесь — сразу пройдут все сомнения: интерфейс будет понятен и похож на то, с чем вы уже сталкивались. Правда, сходство это только внешнее. За Unix как-никак уже тридцатипятилетняя история, здесь своя идеология, свой фольклор, свои мифы и боги. Пользователи Linux не просто любят свои системы — они готовы сражаться за них, исправлять их, делать лучше, быстрее и безопаснее, чем любая другая операционная система. На собственном опыте знаю, какое удовольствие получаешь от совершенствования системы. Мой сосед по комнате, Дима Глусский (привет, Димон!), частенько бывал свидетелем, как я сутки напролет собирал и настраивал очередную новинку. И потом, как пишут в ширпотребовской литературе, "усталый, но довольный" гордо демонстрировал свой новый "шедевр".
Главное, что нужно сделать, впервые поставив Linux — избавиться от некоторых стереотипов и принять идеологию Unix такой, какая она есть. Повторю один из основополагающих принципов Unix: "Текст — идеальное средство взаимодействия". То есть наиболее полного контроля над системой вы добьетесь только при помощи клавиатуры и командной строки. Причин на это несколько: во-первых, в системе элементарно может не быть графической подсистемы. Если это, например, сервер — графика на нем ни к чему. Во-вторых, правильнее знать название команды, нежели в какой менюшке она находится. Менюшка может измениться, а вот название команды стандартизировано и не изменится никогда. В-третьих, следуя принципам Unix, системные программы в Linux маленькие, зато толково между собой взаимодействуют при помощи текста — то есть, опять же, мыши здесь не место. И в- четвертых, не удивляйтесь, но скорость взаимодействия при помощи клавиатуры значительно выше чем при помощи мыши. Вы видели, с какой скоростью набирают текст профессионалы? А с какой скоростью работают фотошоперы? То-то!
Короче, командная оболочка — инструмент номер один для настройки Linux, и вся оставшаяся часть статьи будет ориентирована на работу именно с ней.
Итак, вы загрузили Linux. Если система сразу перешла в графический режим — отлично! Но все же нам понадобится консоль. Раньше Unix-системы обычно использовали как один солидный сервер плюс куча терминалок, подключенных к нему (терминал — дисплей и клавиатура). В Linux есть понятие виртуального терминала, их обычно семь. Переключаться между ними можно при помощи Ctrl-Alt-F1 — Ctrl-Alt-F7. На седьмом обычно работает XServer, и в нем вы сейчас находитесь. Переключитесь в первый терминал и залогиньтесь под root'ом. Строка ввода команды должна выглядеть примерно так: "linux:~ #".
Теперь пояснения о том, что вы видите. Linux — не операционная система, а только ядро, предоставляющее базовую функциональность. Например, для ввода команд нужно использовать программу-оболочку, которую вы и видите перед собой. Примеры оболочек: sh, zsh, ksh, csh, tcsh, ash. У вас — bash (Bourne-Again SHell), которая на сегодняшний день, пожалуй, самая лучшая. Вот список первоочередных команд, которые нужно знать, чтобы продолжить работу.
1. man — получить справку по указанной команде. Пример: "man man".
2. ls — вывести список файлов и каталогов по указанному или текущему пути.
3. pwd — показать текущий путь.
4. cd — сменить каталог на указанный. Пример: "cd /".
5. cat — вывести содержимое файла на экран.
6. less — простой просмотровщик текста, который обычно работает в связке с cat. Пример: "cat file.txt | less".
7. cp — копировать файл с новым именем. Пример: "cp source dest".
8. mv — переместить/переименовать файл. Пример: "mv source dest".
9. rm — удалить указанный файл.
10. rmdir — удалить указанный пустой каталог.
Команды простые и интуитивно понятные, но все же советую почитать по ним man, т.к. они поддерживают больше опций, чем я здесь описал. Теперь о файловой системе. ФС — главное достоинство Unix с самого начала. Если кто-нибудь помнит, то система Unics была изначально разработана по аналогии с Multics и предназначена исключительно для внутрикорпоративного использования. Другими словами, ее написали "для себя" и не собирались никому раздавать/продавать, т.к. не видели за ней большого будущего. Однако Unics получилась очень удачной, главным образом, за счет поддержки древовидной файловой системы, которой тогда могли похвастаться далеко не все. А чуть-чуть позже после своего признания другими специалистами Unics переименовали в Unix.
Файловая система Linux имеет иерархическую структуру с одним корневым элементом — "/", но при этом допускается монтирование в одно пространство нескольких файловых систем. Раньше для этого во всех дистрибутивах использовался каталог /mnt: туда монтировали разделы с FAT, а также дискеты и CD-ROM'ы. Однако дистрибутив Debian изначально монтировал дискету и CD в каталоги /floppy и /cdrom. Впоследствии практически каждый дистрибутив определил для себя свои каталоги для монтирования, безо всякой причины забыв о старом добром /mnt. Так, например в Suse 9.3, все съемные устройства монтируются в каталоге /media, а разделы с FAT/NTFS в /windows.
Следующая особенность ФС Linux — правило, которое гласит: "Все есть файл". Если речь идет о данных на диске, то вопросов, конечно, не возникает. Вот только файлом в Unix считаются еще и все устройства компьютера, механизмы межпроцессной связи, метаинформация о процессах (/proc) — одним словом — все-все-все. Например, устройство /dev/hdа — это ваш жесткий диск. Если обратитесь к этому файлу напрямую, то получите низкоуровневый доступ ко всем данным диска, включая нулевую дорожку, таблицу разделов, загрузчик и т.д.
Файлы бывают произвольного и последовательного доступа. Файлы произвольного доступа — зачастую простые "файлы", к которым мы все давно привыкли. В них можно позиционироваться как угодно и читать их с любого адреса. А файлы последовательного доступа — обычно устройства, например клавиатура и мышь. От таких устройств мы можем получать данные только последовательно и не можем позиционироваться вперед или назад. Если у вас мышь Usb, введите команду: "cat /dev/input/mice" и поводите мышкой. Команда cat выводит на экран содержимое файла. Изначально в /dev/input/mice пусто, но как только от устройства начинают поступать данные, они побайтно появляются в файле, и cat выводит их на экран.
Следующая особенность ФС — каждый файл на диске может иметь несколько имен в файловой системе. Например, вы набрали текстовый документ file1.txt, и он находится в каталоге /home/user1/. При помощи команды ln можно назначить ему еще одно имя (жесткая ссылка), например так: "ln /home/user1/file1.txt /home/user2/file2.txt". То есть данные на диске одни и те же, а имен в файловой системе два. Если удалить файл /home/user1/file1.txt, то сами данные с диска никуда не исчезнут, и к нем все еще можно будет обратиться по имени /home/user2/file2.txt. Окончательно файл будет удален только тогда, когда у него не останется имен в файловой системе. Каталогам жестких ссылок назначать нельзя, т.к. это могло бы привести к рекурсии.
Однако жесткие ссылки не могут преодолеть границ локальной файловой системы. Если, например, у вас есть каталог /home/user/video. Там вы хотели бы иметь ссылки на файлы с фильмами. А они находятся на вашем Widows-диске D, смонтированном в каталоге /windows/D. В этом случае жесткую ссылку им назначить нельзя. Зато есть такое понятие, как "символическая ссылка" — это простой текстовый файл с полным путем к целевому файлу. В файловой системе операции чтения/записи/запуска по символическим ссылкам работают также, как и с обычными файлами. Пример: "ln -s /windows/D/Films/film.avi /home/user/video/film.avi". Кроме того, символические ссылки можно назначать каталогам: "ln -s /windows/D/Films/ /home/user/video/". Если удалить символическую ссылку, с целевым файлом ничего не станет; если удалить целевой файл — символическая ссылка останется, но перестанет работать. При создании символических ссылок обратите внимание на то, что имя целевого файла записывается так, как подано в командной строке и не расширяется до полного пути. То есть если дать команду "ln -s film.avi /home/user/video/film.avi" — ссылка работать не будет.
Теперь перейдем к более практическим вопросам. Еще во время учебы в университете часто видел картину: домашнее задание студент выполнил, принес на дискете, вставил ее и сидит думает, как ее прочитать. Если вам повезло работать с новым пользовательским дистрибутивом, то достаточно войти в каталог /media/floppy, и дискета будет прочитана. Но если этот "способ" не работает? Любой носитель информации прежде всего должен быть смонтирован в файловую систему. Для этого и существует команда mount. За floppy-дисковод в Linux отвечает файл /dev/fd. Первый дисковод будет файлом /dev/fd0, второй — /dev/fd1 и т.д. Значит, чтобы смонтировать дискету нужно выполнить команду "mount /dev/fd0 /media/floppy". Когда носитель будет смонтирован, к нему можно обращаться как к любому другому каталогу. В нем будут работать все "ядреные" механизмы буферизации, права доступа и т.д. Поэтому будьте внимательны: записав что-то на дискету, прежде чем достать ее из дисковода, нужно размонтировать соответствующий каталог. Тогда буфера в памяти будут сброшены на устройство, и только после этого физические данные появятся на дискете. В новых дистрибутивах для этого достаточно выйти из каталога /media/floppy, и он сразу будет размонтирован.
Если нужно смонтировать раздел жесткого диска, то здесь слегка сложнее. Для монтирования раздела нужно знать, как он называется. Если у вас SCSI-диск, то начало файла будет "sd", если IDE — "hd". Первый диск на первом шлейфе будет "a", второй диск на первом шлейфе — "b", первый диск второго шлейфа — "c", второй диск второго шлейфа — "d" и т.д. Первый раздел диска будет "1" и т.д. То есть если у вас один IDE-диск и вы хотите смонтировать в /windows/C первый его раздел, нужно выполнить команду "mount /dev/hda1 /windows/C". Список разделов диска можно посмотреть, например, при помощи команды fdisk.
Вернемся к нашим баранам, то есть к консоли, и проверим, какие разделы у нас смонтированы. Можно, конечно, работать полностью с системными командами вроде cd, ls и т.д. Но проще будет при помощи файлового менеджера Midnight Commander, запустите его командой "mc". Если в ответ появится сообщение "command not found" — значит, вы его не установили. Ничего страшного, работать можно и без него. Когда придется редактировать файлы — воспользуйтесь редактором vi.
Если вы решили отказаться от помощи mc (а так и поступает большинство настоящих юниксоидов), то вам придутся по душе некоторые возможности командной оболочки bash. Нажатие клавиши <Tab> приводит к автодополнению имени набираемой команды или файла/каталога, а <Tab><Tab> — к выводу списка команд (файлов/каталогов), которые начинаются с набранных символов. Именно благодаря этой возможности bash управляться с командной строкой стало гораздо легче.
Посмотрим файл /etc/fstab. Как вы уже догадались, там перечислены точки монтирования, их устройства и опции — все это нужно, чтобы некоторые устройства монтировались при загрузке автоматически. Первый столбец — устройство, которое нужно смонтировать. Второй — точка монтирования, т.е. каталог, из которого это устройство будет доступно. Третий — формат файловой системы. Четвертый — опции монтирования. Пятый нас не интересует (он используется для дампа файловой системы) — там должны быть нули во всех точках монтирования кроме "/". Например, мой диск D монтируется при помощи файла fstab так: "/dev/hda7 /windows/D vfat iocharset=utf8,umask=0 0 0". Самый интересный для нас столбец — четвертый. Для того чтобы на смонтированном разделе нормально работал русский язык, нужно указать правильную кодировку, в которой работает ваша система. Чаще всего это utf8, раньше бывало koi8-r. Некоторые ставят cp1251. Опция umask=0 задает всевозможные права на чтение/запись/выполнение для всех пользователей. Если точка монтирования прописана в /etc/fstab, то для команды mount можно не передавать файл устройства. Т.е., например, если прописана точка монтирования для дискеты в /media/floppy, то достаточно дать команду "mount /media/floppy", и она будет смонтирована. Для размонтирования устройства всегда нужно указывать только точку монтирования, например, так: "umount /media/floppy".
Ну и для завершения обзора файловой системы расскажу о правах на файлы. Всего на файл, как и на каталог, распространяются три права: чтение, запись, выполнение (для каталога выполнение означает возможность в него войти). То есть, если файл исполняемый, и у вас есть право на его исполнение, то тогда его можно запустить как обычную программу. Обратите внимание: исполняемые файлы расширением никак не отличаются от обычных, зачастую у них вообще нет никакого расширения. Права на чтение-запись объяснений не требуют. Обозначения этих прав. Буквенные: r (Read), w (Write), x (eXecute). Численные обозначаются битом в двоичной системе. Чтение — 0100, запись — 0010, выполнение — 0001. Соответственно их аналоги в восьмеричной системе: 4, 2 и 1. Складываются права простым арифметическим суммированием. Файл с правом на чтение, запись и выполнение обозначается числом 7 (0111), на чтение и выполнение — 5 (0101), и т.д. Права выставляются для: владельца файла, группы файла и всех остальных. Их буквенное обозначение: u,g,a. Например, для добавления права на запись в файл для владельца команда будет выглядеть так: "chmod u+w file"; для того, чтобы забрать у всех остальных пользователей возможность войти в каталог — "chmod a-x catalog" и т.д. Но обычно пользуются численным методом выставления прав. Первое число означает права владельца, второе — группы, третье — остальных пользователей. Например, чтобы разрешить владельцу файла исполнять его, читать и записывать, а всем остальным — только выполнять и читать, нужно задать права таким образом: "chmod 0755 file".
У каждого файла и каталога есть имя владельца и группы, которым он принадлежит. Сменить имя владельца можно командой chown, имя группы — chgrp. Если нужно сменить права, владельца или группу всех файлов во вложенных каталогах — опция "-R".
В Linux файлы и каталоги, имя которых начинается с точки, считаются скрытыми и обычно не отображаются, с правами доступа это никак не связано. Для просмотра списка всех, включая скрытые, файлов и каталогов вместе с их правами доступа нужно дать команду "ls -al".
Еще в файловой системе есть два специальных имени каталогов: ".." и ".", которые находятся в любом другом каталоге. "." — полный путь к текущему каталогу, а ".." — путь к родительскому каталогу. Родительским для корневого каталога является он сам. Так, если в вашем домашнем каталоге находится программа prog, вы установили на нее права на исполнение и хотите ее запустить, то нужно набрать либо полный путь к ней, либо сокращенный: "./prog".
Перейдем к рассмотрению процесса загрузки. Обычно на жестком диске стоит не одна, а несколько операционных систем, например Linux и Windows. Поэтому важно знать, как вообще идет загрузка той или иной ОС и что в это время происходит. Сначала кратко о начальной инициализации компьютера. Предположим, что в BIOS выставлены настройки, согласно которым компьютер сначала грузится с дискеты, затем с жесткого диска. Тогда, после включения питания, проверки аппаратной части и заполнения таблицы векторов прерываний, BIOS попытается прочитать первый сектор нулевой дорожки нулевой стороны диска в дисководе "А". Этот сектор помещается в память (по адресу 0000:7C00h, если кому-то интересно), после чего на него передается управление. В прочитанном секторе содержится программа начальной загрузки (boot-запись) и некоторые другие сведения (о них — ниже). Программа проверяет, является ли диск системным. Если это не так, то BIOS попытается считать boot-запись с жесткого диска. Структура boot- сектора следующая: сначала идет код загрузки, затем четыре записи разделов и подпись таблицы разделов — 0AA55h. На все про все 512 байт. Записи разделов занимают 64 байта, да два байта на подпись, итого на загрузчик остается всего лишь 446 байт.
Для справки. Изначально под "разделом" жесткого диска понимался виртуальный жесткий диск со своей загрузочной записью для запуска своей операционной системы. Всего поддерживалось 4 раздела. Затем появилась необходимость в увеличении числа разделов диска, и тогда, еще во времена DOS, ввели термин "расширенный раздел DOS". Этот раздел являлся чем-то вроде обертки для других, вложенных в него разделов, коих внутри него могло быть по числу букв латинского алфавита. Расширенный раздел DOS можно было установить, только если существовал основной раздел DOS. Похожую технологию использует FreeBSD, но в ней более логичная терминология. Так четыре "корневых" раздела диска называются слайсами (slice), а внутри них создаются обычные разделы.
Главный загрузчик, который находится на нулевой дорожке диска перед таблицей разделов, называется Главной Загрузочной Записью (Master Boot Record — MBR). До загрузки Linux перед вами появлялось красочное меню с картинками, курсором и кучей подписей. Теперь, если вы внимательно прочитали описанный процесс загрузки, у вас наверняка возникнет вопрос: каким образом вся эта красивость вместилась в 446 байт? Все просто: загрузка делится на две стадии. На первой стадии программа-загрузчик, записанная в MBR, только лишь считывает в память и запускает основную загрузочную программу, которая, конечно, значительно больше. А уже она, в свою очередь, (вторая стадия) выводит все прибамбасы и предоставляет выбор: с какого раздела грузиться дальше. У каждого раздела может быть своя загрузочная запись, и загрузчик просто считывает ее в память и запускает на выполнение. Именно так и работают все современные загрузчики, например, Lilo (LInux LOader) и Grub (GRand Unified Bootloader). А старые версии lilo, которых я не касаюсь, и все загрузочные вирусы с успехом помещались в 446 байт.
Для того чтобы установить lilo, необходимо отредактировать файл /etc/lilo.conf и запустить команду "lilo", которая перезапишет MBR. Файл конфигурации lilo очень прост, там достаточно комментариев, доступна хорошая страница руководства. А вот конфигурация GRUB более сложна и заслуживает отдельной темы. Правда, если вам захочется просто изменить название в загрузочной менюшке — отредактируйте файл /boot/grub/menu.lst. Grub — действительно очень сложный и навороченный загрузчик. Он умеет загружать другие загрузчики, например, NT Loader, грузиться по сети, загружать ядро напрямую в память и т.д. Впрочем, все это умеет и lilo, но функциональности у него все-таки поменьше. Тело загрузчика обычно находится в каталоге /boot/grub, поэтому будьте внимательны: если удалите или отформатируете Linux-раздел, не установив до этого старый загрузчик, то grub не сможет продолжить вторую стадию.
Далее, когда загрузка продолжается с раздела Linux, происходит следующее. Сначала загружается в память ядро, затем запускается процесс init — прародитель всех будущих процессов. Процессы в Unix тоже имеют иерархическую структуру, как и файловая система. И все остальные процессы будут отпочковываться от init. Соответственно, существует он все время работы системы, а большую часть этого времени просто "спит". С точки зрения этого демона система всегда находится в одном из состояний — уровней выполнения. Всего их 7 штук, и система за время работы последовательно проходит их с 1-го по 6-й. Вот их описание.
0) Останов системы.
1) Административный однопользовательский режим. Обычно используется пользователями root для восстановления системы после сбоя.
2) Многопользовательский режим, но без использования сети.
3) Многопользовательский режим, допускается работа в сети.
4) Обычно не используется.
5) Полноценный многопользовательский режим. Обычно на этом уровне выполняется графическая подсистема.
6) Перезагрузка системы.
То есть демон init начинает с уровня 1 и заканчивает на уровне 5, в обычном рабочем состоянии — тогда и предлагается залогиниться в систему. А если очень хочется попереключаться между уровнями выполнения — то это можно сделать командой "init n", где n — номер уровня. Кстати, на уровне 1 во всех RedHat-based дистрибутивах есть недосмотр с безопасностью: если передать ядру параметр load single, то система загрузится под аккаунтом root'a и не спросит при этом пароль.
Работу демона init определяет файл /etc/inittab. Именно от его конфигурации будет зависеть стиль загрузки. Всего есть два стиля загрузки: SysV и BSD. Примеры дистрибутивов, использующих SysV-стиль загрузки: Red Hat, Fedora Core, Mandrake, Suse. Пример системы, использующий BSD- стиль: Slackware. Стили загрузки различаются действиями, выполняемыми системой на каждом из уровней.
На каждом из уровней выполнения система выполняет некоторые сценарии. Все они находятся в каталоге /etc/init.d. Там есть еще и набор каталогов, которые называются rcN.d, где N — уровень выполнения. В каждом каталоге есть символические ссылки примерно такого вида: "S13xdm". Здесь S значит Start, K — Kill. Число — порядковый номер выполнения, а xdm — имя выполняемого скрипта. Сам скрипт xdm, на который ссылается S13xdm, находится неподалеку — в каталоге /etc/init.d и запускает демон графической подсистемы. Со скриптами из каталога /etc/init.d нужно общаться следующим образом: "./xdm start" для запуска демона xdm, stop — для останова, restart — для перезагрузки демона. Кстати, если вдруг так случилось, что ваша система грузится дольше, чем другая операционная система — просто удалите часть ссылок на ненужные вам демоны. Только сначала прочтите что-нибудь об удаляемой ссылке, вдруг вам захочется удалить ссылку на random или еще на какой-нибудь системный демон. Что вам может не понадобится? Демоны баз данных MySQL и PostgreSQL, сетевые сервера nfs, samba, ftp, http, демон plug-n-play kudzu (кстати он довольно долго грузится), принтера (cups) и т.д. Главное, делайте все в трезвом уме и здравой памяти.
Из статьи вы узнали: как установить Linux, как пользоваться системными командами, как устроена файловая система Linux и как ею пользоваться, что такое загрузчик и как происходит загрузка Linux.
В следующем номере: настройка графической подсистемы, русификация, установка/удаление драйверов для видео, звука и других устройств, установка/удаление дополнительного программного обеспечения, настройка пользователей, контроль за процессами и окончательное приведение системы в порядок.
Дмитрий Бушенко nop@list.ru
Компьютерная газета. Статья была опубликована в номере 34 за 2005 год в рубрике soft :: ос