Основы работы в ОС Linux
Покупка
Тематика:
UNIX, LINUX
Издательство:
ИНТУИТ
Автор:
Костромин В. А.
Год издания: 2016
Кол-во страниц: 577
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
Дополнительное профессиональное образование
Артикул: 833412.01.99
Курс охватывает все аспекты работы с системой - от выбора дистрибутива до тонкой настройки оборудования и использования VMWare.
Для активных пользователей, делающих первые шаги в мире Linux. В курсе рассказывается об установке и настройке программного обеспечения на IBM-совместимом персональном компьютере, работающем под управлением операционной системы версий Linux, основанных на дистрибутиве Red Hat: Black Cat Linux версий 5.2 и 6.02, Red Hat версий 6.0, 6.2, 7.1 и 7.2 (русифицированной), ASPLinux 7.1 и ALTLinux Junior 1.0 и 1.1. Огромное количество дополнительных материалов представлено на сайте автора курса http://rus-linux.net.
Тематика:
ББК:
УДК:
ОКСО:
- 00.00.00: ОБЩИЕ ДИСЦИПЛИНЫ ДЛЯ ВСЕХ СПЕЦИАЛЬНОСТЕЙ
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
- 09.03.04: Программная инженерия
- ВО - Магистратура
- 09.04.01: Информатика и вычислительная техника
- 09.04.02: Информационные системы и технологии
- 09.04.03: Прикладная информатика
- 09.04.04: Программная инженерия
- ВО - Специалитет
- 09.05.01: Применение и эксплуатация автоматизированных систем специального назначения
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Основы работы в ОС Linux 2-е издание, исправленное Костромин В.А. Национальный Открытый Университет “ИНТУИТ” 2016 2
Основы работы в ОС Linux/ В.А. Костромин - М.: Национальный Открытый Университет “ИНТУИТ”, 2016 Курс охватывает все аспекты работы с системой - от выбора дистрибутива до тонкой настройки оборудования и использования VMWare. Для активных пользователей, делающих первые шаги в мире Linux. В курсе рассказывается об установке и настройке программного обеспечения на IBM-совместимом персональном компьютере, работающем под управлением операционной системы версий Linux, основанных на дистрибутиве Red Hat: Black Cat Linux версий 5.2 и 6.02, Red Hat версий 6.0, 6.2, 7.1 и 7.2 (русифицированной), ASPLinux 7.1 и ALTLinux Junior 1.0 и 1.1. Огромное количество дополнительных материалов представлено на сайте автора курса http://rus-linux.net. (c) ООО “ИНТУИТ.РУ”, 2006-2016 (c) Костромин В.А., 2006-2016 3
Предисловие Для кого эта книга? Эта книга предназначена для активных пользователей персональных компьютеров. Поясню, что я имею в виду. На мой взгляд всех людей, которые каким-то образом связаны с применением компьютеров, можно разделить на программистов, администраторов и пользователей. Программисты создают программы, и о них мы здесь не говорим, как и о тех, кто изготавливает или собирает сами компьютеры. Администраторы (которых иногда называют системными программистами) вообще-то не пишут программ, они только устанавливают и настраивают программное обеспечение (разработанное другими), для того, чтобы пользователи могли работать за компьютерами. Администраторам приходится иногда создавать короткие программки, но в основном они пользуются теми средствами настройки и конфигурирования, которые заложены в программные средства их разработчиками. И, наконец, пользователи вообще не обязаны уметь настраивать программные средства, как и собирать компьютеры, они обязаны только уметь использовать свой компьютер для решения конкретных задач. В принципе пользователь может вообще не знать о том, что работой компьютера управляет операционная система. Ему достаточно уметь запускать одно конкретное приложение, которое он освоил, например, текстовый редактор (условно назовем такого пользователя “пассивным”). Но среди пользователей есть и такие, которые либо по собственной инициативе, либо по необходимости, вынуждены сами решать задачи администрирования своей вычислительной системы. Это может быть как домашний компьютер, для которого нет другого системного администратора, кроме самого пользователя, так и компьютер на работе. В последнем случае пользователь просто предпочитает не приглашать администратора при каждом затруднении, а самостоятельно пытается решить возникшие проблемы. Я не анализирую причин и побудительных мотивов, которые заставляют пользователя поступать таким образом. Важно только то, что человеку интересно или просто необходимо уметь устанавливать и настраивать программное обеспечение на своем компьютере, включая саму операционную систему. Именно таких пользователей я и называю “активными” (их часто называют “продвинутыми”, но мне эта калька с английского режет слух). Можно было бы, наверное, найти и более точный термин, но в данном случае это не важно, поскольку далее настоящего предисловия это название я применять не собираюсь, а здесь вы меня, надеюсь, поймете правильно, учитывая приведенные разъяснения. Итак, настоящая книга предназначена для “активных пользователей”, к которым я отношу и себя. Предполагается, что читатель уже знает, что такое компьютер, и поработал с MS-DOS или MS Windows (уж если не версии XP или 2000, то хотя бы с Windows 95). Впрочем, я надеюсь, что книга будет полезна и начинающим системным администраторам. О чем эта книга? 4
Если вы относитесь к категории “активных пользователей”, то вы уже что-то слышали о классе операционных систем, объединенных общим именем UNIX. ОС этого класса имеют ряд преимуществ перед обычно устанавливаемыми на персональные компьютеры ОС типа Windows. И если вы действительно “активный пользователь”, то для вас вполне естественно желание хотя бы попробовать, что такое UNIX. Linux как раз и позволяет удовлетворить такое желание, поскольку с одной стороны она относится к классу UNIX, а с другой - работает на персональных компьютерах на основе процессоров Intel (хотя сейчас уже существуют ее варианты и для других процессоров). В этой книге как раз и рассказывается об установке и настройке программного обеспечения на IBM-совместимом персональном компьютере, работающем под управлением операционной системы Linux, и даже конкретнее, под управлением одной из “веток” этой операционной системы. “Ветки” Linux называют дистрибутивами, так вот речь в книге пойдет о версиях Linux, основанных на дистрибутиве Red Hat. Материал, излагаемый в данной книге, основан на моем опыте установки и работы с дистрибутивами Black Cat Linux версий 5.2 (именно с нее началось мое знакомство с Linux) и 6.02, Red Hat версий 6.0, 6.2, 7.1 и 7.2 (русифицированной), ASPLinux 7.1 и ALTLinux Junior 1.0 и 1.1. Все эти дистрибутивы основаны на Red Hat Linux, и поэтому имеют много общего. Однако не надо думать, что речь в книге пойдет только о самой операционной системе и ее настройке. В конце концов, сама по себе ОС выполняет только служебные функции, обеспечивая управление аппаратной частью компьютера и запуск нужных пользователю приложений. Поэтому основная задача данной книги в том, чтобы описать процесс создания на вашем компьютере “удобной” для пользователя (для вас) рабочей среды, состоящей из набора необходимых для вас приложений и обеспечивающей выполнение стоящих перед вами задач. Книгу можно условно разделить на две части. Первая часть (лекции 1-15) - это непосредственные рекомендации, касающиеся различных аспектов установки и настройки операционной системы и различных приложений. Предполагается, что читатель только что установил ОС Linux из дистрибутива и осваивает ее. Я надеюсь, что, прочитав даже только эту часть книги, читатель сможет создать на персональном компьютере под ОС Linux удобную рабочую среду, сравнимую по возможностям с тем, что предоставляет ОС Windows 95 или Windows NT . Вторая часть - это лекции о внутреннем устройстве файловой системы, обновлении ядра и виртуальных компьютерах. Это те вопросы, которые могут показаться и неактуальными для начинающего пользователя. Но этот материал позволяет глубже понять устройство системы, и эффективно решить проблему взаимодействия с миром Windows. Не надейтесь найти во второй части ответы на все вопросы, которые у вас могут возникнуть, никакого систематического отбора материала для этой части не производилось. Как возникла эта книга? 5
Мое знакомство с операционной системой Linux состоялось более двух лет назад1). Не то, чтобы меня сильно “достала” (как говорят многие приверженцы Linux) ОС Windows, просто я всю свою жизнь с большим интересом учился, осваивал что-то новое. Поэтому новая ОС привлекла мое внимание, и я установил ее на домашнем компьютере (вместе с уже стоявшими на нем Windows 95 и Windows NT 4). Когда я стал устанавливать и настраивать Linux, практически ничего не зная об этой ОС в частности, и имея очень слабые знания по UNIX вообще, я, естественно, начал с чтения различных руководств и HOWTO-файлов. Как оказалось, источники эти хотя и многочисленны, но пользоваться ими новичку крайне неудобно. Во-первых, значительная часть написана по-английски. Хотя я и читаю по-английски, но не так свободно, чтобы не считать недостатком отсутствие русскоязычной документации. Получается примерно так же, как читать неразборчиво написанный от руки текст: прежде чем уловить смысл написанного, приходится затратить существенные усилия на то, чтобы просто разобрать (узнать) отдельные слова. Во-вторых, новичку, естественно, хочется, чтобы его “за ручку” провели через несколько первоначальных этапов. А вместо этого приходится (по крайней мере, мне пришлось) по крохам отыскивать в разрозненных источниках нужную подсказку. Так что примерно через месяц после начала экспериментов с Linux, пройдя несколько этапов по 2-3 раза, повторяя при этом свои ошибки, я начал кое-что записывать, конспектировать разные руководства и документацию. Эти конспекты оказались очень полезны для меня самого. Я неоднократно пользовался ими, когда мне приходилось заново переустанавливать систему (я тогда еще не знал, как можно по-другому выбраться из некоторых затруднительных ситуаций, в которые попадал опять же из-за недостатка знаний). Через некоторое время Linux перебрался и на пару компьютеров на моем рабочем месте. Мои конспекты здесь снова очень пригодились. Ведь запомнить с одного-двух раз все действия по установке и настройке различных программ практически невозможно, тем более, что в Linux многие настройки производятся путем прямого редактирования конфигурационных файлов. Потом я выложил свои конспекты в Интернет, на сайте2) ссылка: http://linux-ve.chat.ru http://linux-ve.chat.ru и получил некоторое число довольно благожелательных отзывов от начинающих пользователей Linux. Оно и понятно: я описывал методы решения как раз тех проблем, с которыми сталкивается каждый новичок. Поэтому я решил, что если издать эти конспекты в виде книги, у нее тоже найдутся читатели. Надеюсь, что я не сильно ошибаюсь. Честно сказать, при подготовке книги меня очень воодушевлял пример книги В. Э. Фигурнова “IBM PC для пользователя”. В свое время (которое как раз совпало с периодом, когда я осваивал компьютер), наверное, вся наша страна училась работать на IBM-совместимых компьютерах (помните PC/XT!?) именно по этой книге. Она появилась в ответ на насущнейшее требование времени и выдержала с тех пор множество изданий. Думаю, что аналогичная потребность в книге по Linux имеется сейчас (2002 год), поскольку эта ОС динамично развивается, приобретает все больше почитателей и имеет серьезные преимущества по сравнению с MS Windows 95/98. Поэтому я, следуя примеру В. Э. Фигурнова, постарался отобрать весь самый 6
необходимый для освоения Linux материал, систематически его изложить, чтобы начинающему пользователю было удобно с ним работать. Не думаю, что я достиг идеального варианта в выборе материала, поэтому с благодарностью приму все замечания и пожелания читателей на эту тему (как и любые другие замечания), с тем, чтобы учесть их в дальнейшей работе. Типографские соглашения Практически в каждом разделе книги приводятся какие-то примеры команд или сообщений, выдаваемых системой. Если речь идет о графическом режиме, то обычно приводится снимок экрана. Если же пример касается работы в текстовом режиме, то он выделяется шрифтом Courier - вот так: [root]# sfdisk -l -x /dev/hda Disk /dev/hda: 784 cylinders, 255 heads, 63 sectors/track Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0 Device Boot Start End #cyls #blocks Id System /dev/hda1 * 0+ 189 190- 1526143+ 6 FAT16 /dev/hda2 190 783 594 4771305 5 Extended Тем же шрифтом Courier выделены все упоминания команд и утилит Linux, встречающиеся в тексте. В качестве приглашения оболочки в примерах используется строка [root]#, если команда должна выполняться от имени пользователя root, и строка [user]$, если команда может выполняться от имени обычного пользователя. Если говорится о том, что надо нажать какую-то клавишу, то название клавиши (точнее, то обозначение, которое нанесено на клавише) заключается в угловые скобки: <Enter>, <Esc>, <Ctrl>, <Alt>, <A>, <S> и т. д. Если должны быть нажаты одновременно несколько клавиш, то обозначения отдельных клавиш соединяются знаком + : <Ctrl>+<Alt>+<Del>, <Ctrl>+<X>. Если же нужно последовательно нажать несколько клавиш или соответствующих комбинаций, то разделителем будет служить запятая: <Ctrl>+<X>, <C> или <Esc>, <5>. Отдельно нужно сказать о клавише <META>, которая часто упоминается в разных HOWTO и руководствах, а также используется в некоторых приложениях, например, редакторе Emacs. Говорят, такая клавиша была на старых клавиатурах UNIXкомпьютеров, поэтому она и используется в UNIX-системах. Однако на PCклавиатурах такой клавиши нет, и ее приходится эмулировать. В консоли вместо <META> Вы можете использовать клавишу <Alt>. В системе X Window (в графической оболочке) это может не сработать. Поскольку <META> - это клавишамодификатор, то она упоминается обычно, когда требуется нажать комбинацию <META> с какой-то другой клавишей. В таких случаях надо нажать клавишу <Esc>, отпустить ее, после чего нажать вторую требуемую клавишу. Но все сказанное относительно <META> надо иметь в виду, когда вы будете читать HOWTO и 7
прилагаемые к программам руководства. В этой же книге я постараюсь корректно указывать, какие комбинации надо набирать на клавиатуре PC. Ссылки на литературу и источники в Интернете сведены в Приложение в конце книги (мне думается, что так их легче отыскать в процессе чтения). Однако нумерация ссылок производится в рамках каждой лекции отдельно. Поэтому в тексте ссылка указывается с указанием на конкретный раздел приложения: [П12.7]. Благодарности Эту свою книгу я хотел бы посвятить своим родителям: Костромину Алексею Гордеевичу и Костроминой Лидии Ермолаевне. Мама уже не увидит ее, а у отца еще есть шанс. Конечно, они не смогли бы покритиковать или похвалить ее содержание, но именно благодаря той привычке к труду, которую они во мне воспитали, эта книга может увидеть свет. Я изучал Linux в основном по документации и различным книгам и статьям. Авторам этих руководств я очень благодарен, но хочу сразу принести свои извинения тем из них, материалы которых я использовал в данном руководстве без явной ссылки. Как уже было сказано, первоначально я просто конспектировал документацию и различные интернет-источники. При этом я не очень заботился о ссылках, был бы материал интересен и полезен (ведь первый вариант этих заметок создавался для себя). Впоследствии я пытался восстановить ссылки, но, боюсь, мне это не везде удалось. Черновой вариант книги я послал нескольким своим заочным (по контактам в Интернете) знакомым и очень благодарен им за те замечания, которые они высказали. Особенно мне хочется отметить Романа Сузи, который прислал множество замечаний и предложений по улучшению содержания. Я понимаю, какой огромный труд пришлось ему проделать, чтобы прочитать (и не бегло) более 500 страниц текста и прокомментировать этот текст, и поэтому выражаю ему свою искреннюю признательность. Я старался учесть и те замечания, которые были присланы читателями чернового варианта книги, размещенного в Интернете (в частности С. Воеводиным). Большую помощь в работе над книгой мне оказали и сотрудники издательства “БХВ Петербург” (ведь эта книга - первый мой опыт работы с издательством). Всем им большое спасибо. 1) Надо иметь в виду, что данный текст был написан в 2001 году. 2) С тех пор адрес моего сайта изменился на http://rus-linux.net. 8
ОС Linux: история и дистрибутивы Что такое ОС вообще и Linux в частности Семейство ОС типа UNIX Операционная система - это комплекс программ, который обеспечивает управление аппаратными средствами компьютера, организует работу с файлами (в том числе запуск и управление выполнением программ), а также реализует взаимодействие с пользователем, т. е. интерпретацию вводимых пользователем команд и вывод результатов обработки этих команд. Без операционной системы компьютер вообще не может функционировать в качестве такового. В таком случае он представляет собой не более чем совокупность неработающих электронных устройств, непонятно зачем собранных воедино. На сегодняшний день наиболее известными операционными системами для компьютеров являются семейства операционных систем Microsoft Windows и UNIX. Первые ведут свою родословную от операционной системы MS-DOS, которой оснащались первые персональные компьютеры фирмы IBM. Операционная система UNIX была разработана группой сотрудников Bell Labs под руководством Денниса Ричи, Кена Томпсона и Брайана Кернигана (Dennis Ritchie, Ken Thompson, Brian Kernighan) в 1969 году. Но в наши дни, когда говорят об операционной системе UNIX, чаще всего имеют в виду не конкретную ОС, а скорее целое семейство UNIX-подобных операционных систем. Само же слово UNIX (заглавными буквами) стало зарегистрированной торговой маркой корпорации AT&T. В конце 70-х годов (теперь уже прошлого столетия) сотрудники Калифорнийского университета в Беркли внесли ряд усовершенствований в исходные коды UNIX, включая работу с протоколами семейства TCP/IP. Их разработка стала известна под именем BSD (“Berkeley Software Distribution”). Она распространялась под лицензией, которая позволяла дорабатывать и усовершенствовать продукт, и передавать результат третьим лицам (с исходными кодами или без них) при условии, что будет указано, какая часть кода разработана в Беркли. Операционные системы типа UNIX, в том числе и BSD, изначально разрабатывались для работы на больших многопользовательских компьютерах - мейнфреймах. Но персональные компьютеры постепенно наращивали мощь своего аппаратного обеспечения, и в наши дни они уже превосходят по возможностям те мейнфреймы, для которых в 70-х годах разрабатывалась ОС UNIX. И вот, в начале 90-х годов студент хельсинкского университета Линус Торвальдс (Linus Torvalds) приступил к разработке UNIX-подобной ОС для IBM-совместимых персональных компьютеров. Немного истории 9
Вот текст сообщения, которое Торвальдс отправил в группу новостей comp.os.minix 25 августа 1991 года: From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds) Newsgroups: comp.os.minix Subject: What would you like to see most in minix? Summary: small poll for my new operating system Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.FI> Date: 25 Aug 91 20:57:08 GMT Organization: University of Helsinki Hello everybody out there using minix I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I’d like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things). I’ve currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I’ll get something practical within a few months, and I’d like to know what features most people would want. Any suggestions are welcome, but I won’t promise I’ll implement them :-) Linus (torvalds@kruuna.helsinki.fi) PS. Yes - it’s free of any minix code, and it has a multi-threaded fs. It is NOT portable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that’s all I have :-(. В этом сообщении Линус пишет, что он работает над (свободной) операционной системой для 386-х (486-х) компьютеров, и просит всех заинтересованных лиц сообщить, какие компоненты системы пользователи хотят видеть в первую очередь. Но, как видно из текста послания, оболочка bash и компилятор gcc у него уже работали. Работали они под управлением операционной системы Minix, которая была разработана профессором Эндрю Стюарт Таненбаум (Andrew Stuart Tanenbaum) как учебное пособие для студентов-программистов. Minix работала на компьютерах с 286ым процессором и послужила для Торвальдса прообразом новой ОС. Файлы первого варианта Linux (версия 0.01) были опубликованы в Интернете 17 сентября 1991 года. Как пишет сам Торвальдс: “As I already mentioned, 0.01 didn’t actually come with any binaries: it was just source code for people interested in what linux looked like. Note the lack of announcement for 0.01: I wasn’t too proud of it, so I think I only sent a note to everybody who had shown interest1).” 10