Начало работы с Linux и Ubuntu. Введение

В данной статье не рассматривается установка Linux. Я подразумеваю, что читатель уже инсталлировал один из дистрибутивов этой ОС. Однако после успешной установки у пользователя обычно возникает много вопросов, ответы на некоторые из них даются в этой статье. При подготовке данного материала использовался Black Cat Linux 6.02, но все нижеизложенное практически без изменений применимо и к другим дистрибутивам Linux (например, Red Hat или Mandrake).

Как известно, работать в Linux можно в графической системе X Window или в текстовой консоли. Большинство пользователей после инсталляции предпочитают работать исключительно с оконным менеджером, но есть широкий ряд задач, выполнить которые можно (или значительно проще), работая в консоли. Поэтому именно с нее я бы хотел начать эту статью.
Для начала немного о настройке.

Работа с программой linuxconf.
Если при инсталляции Linux вы настроили автоматический запуск X-ов, то вам необходимо сначала перейти в консоль. Для этого нажмите Ctrl+Alt+F1 . Вы попадете в виртуальную текстовую консоль и после ввода имени пользователя и пароля сможете давать команды shell . Для возвращения в X Window нажмите Alt+F7 . Вообще говоря, по умолчанию вы можете работать сразу в 6-ти виртуальных консолях, что часто бывает очень удобно (переключение между ними - Alt+F1...Alt+F6 ).
В консоли введите команду linuxconf . Запустится программа управления системой. Здесь можно управлять пользователями, сетевыми соединениями, файловыми системами, загрузкой и другими параметрами Linux. Программа организована в виде выпадающего меню. Навигация осуществляется посредством клавиш со стрелками, Enter и Tab . Для примера покажем, как создать нового пользователя и определить его права. Переходим в Config>User accounts>Normal>User accounts
Здесь показан список пользователей. Жмем дважды Tab для перехода на кнопку Add , затем Enter . В графе Login name появившегося окна вводим имя нового пользователя. Остальные поля можно пока оставить нетронутыми. После нажатия кнопки Accept вас дважды спросят пароль - и новый пользователь создан! Я советую работать root-ом как можно меньше, поскольку его ошибка может вызвать самые фатальные для системы последствия, тогда как обычный пользователь может повредить обычно лишь свои собственные файлы.

В linuxconf также удобно описывать файловые системы. Для примера посмотрим, как "научить" Linux видеть раздел с Windows. Переходим в Config>File systems>Access local drive . Появляется список файловых систем, описанных в файле /etc/fstab . Чтобы добавить в него новую запись, жмем Add . В графе Partition пишем /dev/hda1 для 1-го раздела жесткого диска, /dev/hda2 - для второго и т. д. Если хотите добавить первый раздел второго жесткого диска - пишите /dev/hdb1 , второй - /dev/hdb2 . В графе Type жмем Ctrl+x и в списке выбираем тип файловой системы (vfat для Windows). В графе Mount point набираем /mnt/win . После нажатия Accept ответьте положительно на вопрос о создании новой точки монтирования. Теперь в каталоге /mnt у вас появится каталог win , в котором должно находиться содержимое раздела Windows, но если вы в него зайдете, то обнаружите, что он пуст. Для того, чтобы в нем увидеть свой Windows-раздел необходимо в консоли дать команду mount /mnt/win . Из других программ настройки ОС Linux также хотелось бы отметить setup , которая легко позволяет настроить клавиатуру, мышь, звуковую карту и X Window.
Работать в консоли довольно удобно, но для перемещения по каталогам гораздо приятнее использовать Midnight Commander .После вызова команды mc на экране появляется Norton-подобный файловый менеджер, который по мощности почти ничем не уступает DN или FAR. Лично я также использую mc для задания прав доступа к файлам и каталогам, поскольку пользоваться им мне намного удобнее, чем утилитой chown .

Установка приложений под Linux.
Для Linux приложения поставляются в основном в виде rpm -пакетов или .tar.gz -архивов. Устанавливается rpm -пакет командой rpm -i имя пакета
Программа rpm сама создаст все необходимые для работы приложения каталоги и положит туда файлы. Если у вас уже установлена предыдущая версия приложения, то в командной строке надо дать ключ --force для замены старой версии. rpm -пакеты содержатся на CD с большинством дистрибутивов Linux, а также на многих ftp-серверах в Интернете. Если расширение rpm -файла выглядит как .src.rpm , то это - исходный код приложения, и перед запуском его необходимо самостоятельно откомпилировать (обычно такие пакеты содержат инструкцию о том, как это сделать). Для удаления пакета из системы дайте команду rpm -e имя пакета .
Если вам досталось приложение в виде упакованного файла с расширением .tar.gz , то для его распаковки надо дать команду tar xzvf имя архива . Далее необходимо найти файл с инструкциями по установке приложения, каковые в каждом конкретном случае могут различаться.
Кстати, чтобы просмотреть содержимое архивов, не распаковывая их вручную, удобно пользоваться Midnight Commander. При нажатии Enter на имени архива вы входите в него, как в обычный каталог.
Еще мне бы хотелось отметить одну полезную программу - fsck . Если, к примеру, во время работы в Linux у вас отключилось питание или вы случайно нажали reset:-), то при загрузке ОС спросит пароль root, и вы попадете в однопользовательский режим. В нем файловая система смонтирована только для чтения и исполнения. Для того, чтобы восстановить поврежденную файловую систему, дайте команду fsck -Aa . После ее окончания дайте команду reboot ,и после перезагрузки все должно заработать, как раньше.
Для просмотра документации на какую-либо команду Linux в командной строке надо указать: man имя_команды . Запустится стандартный просмотрщик документации, который расскажет вам об использовании, ключах и файлах конфигурации данной команды. Если же информации окажется недостаточно, то в каталоге /usr/doc вы найдете полные руководства к большинству программ Linux.
Закончить обзор полезных программ, запускающихся из консоли, мне бы хотелось утилитами обработки документов. Если вы в Линуксе пытались когда-то читать текстовые файлы, созданные в DOS или Windows, то обязательно должны были столкнуться с проблемой перекодировки. Дело в том, что в Linux используется кодировка KOI-8, отличная от досовской или Windows. Для преобразования текста используется утилита recode . Для примера покажем, как преобразовать файл myfile.txt (кодировка Windows) в KOI-8:
recode -wk myfile.txt myfile.koi
После выполнения этой команды в текущем каталоге будет создан файл myfile.koi , который можно просмотреть любым текстовым редактором под Linux. Ключ -wk задает параметры преобразования (Windows - KOI8). Возможны еще 14 ключей. Их список с описанием можно получить, дав команду recode без параметров.
Также для нас представляет интерес программа mswordview . Она предназначена для преобразования doc- файлов (Microsoft Word) в HTML - формат, который поддерживают многие редакторы в Linux. Теперь вам не нужно будет держать на жестком диске Widows и MS Office только из-за необходимости работать с doc -файлами. Кстати, известный бесплатный офисный пакет StarOffice , работающий под Linux, также отлично работает с файлами Microsoft Office.
Теперь перейдем к работе с X Window. Если у вас по умолчанию не запускаются X-ы, то в консоли дайте команду xinit . Если все настроено нормально, то вы попадете в графическую консоль. Дальше необходимо дать команду для запуска оконного менеджера (например, kde для KDE , или icewm для IceWM ). Эти две операции можно заменить одной - скриптом startx . Если ни один из рассмотренных способов не работает, значит, у вас скорее всего неправильно настроены X-ы, и тогда можно попытаться это исправить программой setup , рассмотренной выше.

Существует довольно много оконных менеджеров для Linux. Некоторые из них претендуют на сходство с Windows 95 или MacOS, но большинство все-таки имеет оригинальный интерфейс. В данной статье я расскажу о KDE - на мой взгляд, это лучшая среда для работы.Я не хочу обидеть любителей Gnome , но на моей машине он работает намного медленнее, что меня не устраивает.
После запуска KDE вы попадаете в среду, на первый взгляд похожую на Windows. В левом нижнем углу есть кнопка К , аналогичная кнопке Пуск в известной ОС. Внизу экрана имеется панель задач, часы, индикатор клавиатуры. Ну в общем, все как ТАМ. Но это кажущееся сходство интерфейсов KDE и Windows довольно скоро пройдет. Вы увидите, насколько удобнее работать с первым.
Для начала я бы посоветовал запустить скрипт KAppFinder (его ярлык - на рабочем столе), который добавит в меню Личные те приложения, что не входят в состав KDE (к примеру, утилиты Gnome , Netscape Navigator ).
Для того чтобы настроить внешний вид KDE, нажмите правую кнопку мыши на пустом пространстве рабочего стола и выберите пункт Свойства дисплея . Здесь можно будет поменять фон, хранитель экрана, шрифты и стили отображения приложений KDE.
Ярлыки на рабочем столе создаются аналогично Windows 98, т.е. с помощью пункта меню Новый во всплывающем меню. В данной статье было рассмотрено, как с помощью команды mount нужно монтировать другие разделы жесткого диска, предварительно описанные в файле /etc/fstab с помощью программы linuxconf . В KDE на рабочем столе можно создать ярлыки, соответствующие этим разделам. Для этого щелчком правой кнопки мыши на пустом поле рабочего стола вызываем всплывающее меню. Выбираем Новый>Файл системного устройства . Даем ему название (например, "Windows"). Переходим на вкладку Устройство . Тут в графе Устройство задаем раздел (например, /dev/hda1 ), а в графе Точка монтирования - каталог, который был указан в linuxconf (в данной статье - /mnt/win ). Графу Файловая система оставляем без изменений. После нажатия ОК на рабочем столе появится ярлык "Windows". Теперь для того, чтобы попасть на этот раздел, не надо уже будет каждый раз давать команду mount. При двойном щелчке на ярлыке монтирование произойдет автоматически и вы увидите содержимое своего Windows-раздела. Кстати, на программе, которая позволяет вам просматривать каталоги, мне бы хотелось остановиться отдельно. Называется она kfm и запускается из меню Система>Менеджер файлов . С помощью этого приложения вы можете не только управлять файлами (как в Проводнике от Microsoft), но и просматривать html -файлы (что очень удобно при чтении документации), а также "лазить" по ftp -архивам, как по собственном жесткому диску. Дело в том, что в kfm встроен довольно мощный браузер, поддерживающий различные кодировки текста, работу через прокси, файлы cookie и много всякой всячины.

Для нас также представляет интерес приложение kpackage - Менеджер пакетов . Он позволяет устанавливать и удалять приложения Linux, не прибегая к консольной утилите rpm , описанной выше. В левой части экрана находится список установленных пакетов, разделенный по категориям. При выборе одного из них в правой части экрана показывается его описание.
Теперь пару слов о наборе текстов. Редакторов для этого благородного занятия в Linux "немеряно". Некоторые (например, ed , vi ) остались еще с ТЕХ времен, когда люди работали за "тупыми" терминалами и об X-ах могли только мечтать. Кроме того, с Linux поставляется очень мощный текстовый редактор Emacs , однако о нем можно написать не одну статью. Сейчас я расскажу о двух редакторах под KDE - kedit ("Простой текстовый редактор") и kwrite ("Расширенный редактор"). Редактором kedit я пользуюсь постоянно. Он небольшой, быстрый и удобный. Позволяет проверять орфографию, выравнивать текст, открывать страницы прямо из Интернета и записывать их обратно. Ваше сообщение можно тут же отправить по почте. Кстати, небольшой совет: для того, чтобы просмотреть содержимое файла в Windows-кодировке без использования утилиты recode , описанной выше, откройте этот файл в kedit , а затем в меню Настройки>Шрифт выберите любой шрифт, название которого заканчивается на "1251". После этого вы сможете увидеть содержимое файла, но изменить его вряд ли удастся.

Редактор kwrite предназначен скорее для набора кода программ, нежели для текстов. Он позволяет размечать синтаксис, делать закладки и многое другое, что не под силу kedit . На мой взгляд, одним из его главных преимуществ является возможность отката (аналог Undo в Windows).
Напоследок мне бы хотелось отметить программу konsole . Это графический эмулятор терминала. Запускается из X-ов и функционирует как виртуальная консоль. В konsole вы можете вводить команды shell или запустить Midnight Commander. Лично я использую konsole для быстрого запуска в KDE нужных приложений. Не знаю как вам, но мне гораздо удобнее на клавиатуре набрать kmail , kedit или netscape , чем щелкать мышью по выпадающим меню или ярлыкам. Только не забывайте после имени приложения поставить знак "&" , иначе консоль будет заблокирована до тех пор, пока вы не выйдете из него.

Идея вводного курса по работе с Linux возникла у нас с коллегами довольно давно. Я с 2011 года занимаюсь биоинформатикой в Лаборатории алгоритмической биологии СПбАУ РАН ( и мой напарник писал про то, чем мы занимаемся). Сразу нужно сказать, что работа биоинформатика без Linux практически невозможна, поскольку большинство биоинформатических программ созданы именно под эту операционную систему и работают только на ней.

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

На основе нашего опыта я и мой коллега Андрей Пржибельский (@andrewprzh) изначально собирались провести несколько занятий для биологов по компьютерной грамотности. А потом эта идея выросла в трехнедельный открытый онлайн-курс (MOOC) Института биоинформатики на русском языке, который позже был сужен до именно введения в Linux, как отправной точки, - поскольку вместить все в три недели оказалось очень и очень трудно. Курс уже начался и оказался достаточно популярен (на данный момент на него записалось более пяти тысяч человек), но первый дедлайн по заданиям - 24 ноября, поэтому еще можно присоединиться без потери баллов или просто изучать курс в свободном режиме (все материалы останутся открытыми).

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

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

Зачем сейчас нужно уметь обращаться с Linux?

Многие не замечают, но Linux уже вокруг нас. Все Android устройства работают на Linux, большинства серверов в Интернете также используют эту операционную систему и есть множество других примеров. Конечно, можно продолжать пользоваться всеми этими вещами и не зная Linux, но освоив основы этой системы, можно лучше понять поведение окружающих вас вещей. Кроме того, при работе с большим объемом данных, Linux просто необходим, ведь большинство сложных вычислений над огромными массивами данных выполняются именно на компьютерах под управлением Linux. И это не случайный выбор: большинство вычислительных задач выполняются на Linux гораздо быстрее, чем на Windows или Mac OS X.

Как Linux связан с освоением других дисциплин?

Огромная доля научного ПО, особенно программ для обработки больших данных (например, в области биоинформатики) разработана специально под Linux. Это значит, что эти приложения просто не могут быть запущены под Windows или Mac OS X. Так что если вы не умеете работать в Linux, то автоматически лишаетесь возможности использовать самые современные научные наработки. Кроме того, изучая Linux, вы лучше понимаете как работает компьютер, ведь вы сможете отдавать ему команды практически напрямую.

Почему для этого нужен отдельный курс?

У Linux очень много возможностей, которые полезно знать и, конечно же, уметь ими воспользоваться в нужный момент. К счастью, современные версии Linux гораздо более дружелюбны к пользователям, чем их собратья еще 5-6 лет назад. Сейчас можно не мучиться часами и даже днями ночами после установки системы, чтобы настроить себе выход в Интернет, печать на принтере, раскладки клавиатуры и так далее. Любой желающий сможет начать использовать Linux так же, как он использовал Windows или Mac OS X уже после минимального знакомства с этой системой, которое будет исчисляться минутами. Однако возможности Linux гораздо шире «повседневного» использования. Рассказать обо всей функциональности Linux просто невозможно даже за трехнедельный курс. Однако мы стараемся научить слушателей использовать большинство базовых возможностей Linux, а самое главное, надеемся, что прошедшие курс смогут успешно продолжить освоение Linux самостоятельно.

Что в Linux интересного?

Для нас Linux похож на очень интересную книгу, которую вы прочитали и с удовольствием рекомендуете своим друзьям и даже чувствуете зависть от того, что у них знакомство с этим произведением еще впереди. Единственная разница в том, что хоть мы и знакомы с Linux уже почти по 10 лет, не можем сказать, что «прочитали» его целиком. В нем постоянно можно найти что-то новое для себя, узнать что многие вещи, которые ты привык делать одним способом, можно сделать совершенно по-другому - гораздо проще и быстрее.

Чем больше знакомишься с Linux, тем он становится интереснее. И от первоначального желания «поскорее бы выключить и перезагрузиться в родную и знакомую Windows (Mac OS X)» вы вскоре переходите в состояние «хм, а тут не так и плохо» и еще немного позже в «как я вообще мог работать в этой Windows?!». А еще изучая Linux вы порою можете почувствовать себя немного хакером или героем фильма про программистов =)

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

Как проверять решение задач на курсе по Linux? Это вообще возможно?

Ответ на этот вопрос был нетривиальным - мы долго думали, как проверять задания (например, что пользователь установил Linux себе на компьютер или отредактировал файл в определенном редакторе) и как придумать интересные задачи, чтобы действительно показать реальную работу с Linux. Для каких-то тем получились довольно любопытные подходы. Например, специально для курса был добавлен новый тип задач на платформе Stepic - подключение к удалённому серверу (и открытие «терминала») прямо в окне браузера - по отзывам первых пользователей, им понравилось. Конечно, в первый раз не обошлось без шероховатостей, но, в целом, всё работает довольно хорошо. Про техническую сторону этого вопроса скоро появится отдельный пост от разработчиков. Пример такого задания (для просмотра вживую можно записаться на курс):

Нужно сказать, что не все пользователи воспринимали задачи с юмором. Например, мы проверяли навык установки программ на Linux на примере программы VLC. Нужно было установить ее в свою систему одним из рассказанных способов, потом открыть справку о программе, найти фамилию первого автора и ввести ее в форму для проверки. Каких только комментариев мы не наслушались про это задание:) А ошибались люди в основном в том, что вводили имя и фамилию, или только имя, или часть фамилии (а она там двойная, через дефис!). В общем, если решитесь проходить курс, то читайте условия задач внимательнее и это сэкономит много времени и нервов! Правда с тем же автором было замечание и по делу, оказалось что в старых версиях VLC он идет аж на 14 месте, так что добавили в проверку еще одного автора, который первый среди «старого» списка (и, кстати, третий в «новом»).

А почему всё-таки Linux так хорош?

Вопрос, конечно, неоднозначный. На мой взгляд одним из ключевых преимуществ Linux перед Windows или Mac OS X является то, что эта операционная система разрабатывается огромным сообществом программистов по всему миру, а не в двух, пусть и очень больших компаниях (Microsoft и Apple). Исходный код этой системы открыт, и каждый может познакомится с внутренним устройством Linux или поучаствовать в его развитии. Разработчики развивают его не только для пользователей-покупателей, но и для самих себя, с чем и связан такой большой прогресс в развитии и многие другие его преимущества. В качестве «бонусов» для обычных пользователей: Linux бесплатный, на Linux практически нет вирусов (а сами разработчики вирусов зачастую сидят под Linux!), существую огромное число версий этой системы и каждый может выбрать понравившуюся именно ему!

И напоследок хотелось бы рассказать о своем первом знакомстве с Linux именно в рабочем процессе (до этого был еще отдельный курс по учебе, но из него я не очень много вынес, к сожалению). Этот случай меня так впечатлил, что помню его до сих пор. Когда я работал на кафедре в Политехе на 3-ем курсе мне понадобилось запускать одну программу для обработки данных. Программа была написана на С++, а работали мы тогда в Windows XP. Запусков нужно было сделать много, были они довольно однотипные и занимали обычно пару минут. За это время ничего другого сделать на компьютере было нельзя - он полностью «подвисал», так что можно было поболтать с другими сотрудниками или просто прогуляться по кабинету. Примерно через пару недель таких запусков, мой научный руководитель посоветовал попробовать мне сделать всё тоже самое, но не в Windows, а в Linux. Я тогда подумал «ну какая разница», но так руководителя уважал, то программу перекомпилировал и его совет исполнил. Какового же было моё удивление, когда я запустил ту же самую программу на тех же самых данных и получил результат (естественно, точно такой же) за несколько секунд! Я даже со стула встать не успел, не то что прогуляться…

У любого пользователя может возникнуть интерес попробовать операционную систему Linux . Так когда-то было и со мной. В интернете куча литературы, но всегда остаётся актуальным вопрос: «С чего начать?». Кто-то видел линукс у друзей, кто-то нашёл видео или читал статьи в интернете, но всё это чаще готовые варианты. А если вы сами хотите установить такую ОС к себе на компьютер, то у вас возникнет куча вопросов. Первый вопрос который меня волновал – выбор дистрибутива…

Я перерыл кучу литературы, но мнения разделялись, да и разделяются до сих пор. Кто-то обеими руками за Debian , кто-то за Mandriva , RedHat и т.д. В настоящее время существует более 1300 сборок ОС Linux и выбор одной конкретной из них заставляет закоренелого виндузятника глубоко задуматься. Я пробовал ставить разные, но это не всегда удавалось в силу конфликтов оборудования да и просто неопытности. Первый удачно установившийся дистрибутив был OpenSuse 11.1, потомDebian . Загвоздка в том, что у этих дистрибутивов разная файловая структура, программы и прочее. Это ещё сильней запутало меня, но я продолжал эксперименты до тех пор, пока не остановил свой выбор на Ubuntu . О ней и пойдёт речь.

Я думаю стоит отметить, что Ubuntu основана на дистрибутиве Debian , который в свою очередь является весьма популярным у системных администраторов. Что значит «основана»? Я попробую провести параллель с ОС Windows . Представьте себе обычный лицензионный диск Windows . Представили? А теперь представьте какую-либо сборку, пусть даже пресловутый ZverDVD . Так вот,Ubuntu является «сборкой» Debian ’a , которая имеет обновлённое ядро, патчи (заплатки), собственные программы и репозитории. Позже я расскажу про всё это в отдельности. Я думаю не стоит слишком углубляться в отличия Ubuntu от Debian , добавлю лишь, что дистрибутив этот весьма популярен и новые версии Ubuntu выходят каждые полгода (в апреле и октябре). И всё же, почему Ubuntu ? Да просто она отвечает тем требованиям, которые ставит перед новой ОС начинающий пользователь.

  1. Простота и лёгкость в установке . Я хочу вставить диск, установить, посмотреть и чтобы не было лишних танцев с бубном (хотя при дальнейшей работе без танцев с бубном не обойдётся). Отмечу, что работая в Windows вы можете являться простым пользователем и не заморачиваться как и что работает, а в случае возникновения нечастых проблем или затруднений просто обратиться к знающим и понимающим людям, которые могут вам помочь. В случае с линуксом вам придётся во многом самостоятельно разбираться и самому стать «знающим» человеком. Но не стоит бояться, вы же не за этим сюда пришли. Как бы то ни было вы всегда можете задать вопрос, а мы в свою очередь постараемся вам помочь.
  2. Чтобы всё работало . Установили? Вот вам и рабочий стол и менюшки всякие и программы многие, и браузер, и пакет офисных программ и апплет настройки сети (однако мы будем учиться работать без него и настраивать сеть вручную). Есть даже проигрыватель, но он не умеет по умолчанию воспроизводить многие форматы аудио\видео, я объясню позже почему так и как это решить.
  3. Не хочу ничего потерять. На разделе с ОС Windows много приложений и документов которые я не хочу потерять при установке Linux . Ubuntu предложит вам разделить жёсткий диск на части, сбережёт Windows или любую другую ОС и установит свой загрузчик, который умеет грузить как Windows так и Linux . Современные дистрибутивы Linux , считая Ubuntu имеют замечательную возможность – запуск с диска или флешки без установки на жёсткий диск компьютера. Дистрибутивы, умеющие это делать, называются LiveCD /LiveDVD (сиречь «живой диск»). Я советую перед первой установкой сначала попробовать запустить ОС с установочного диска . Так вы будете точно знать, что конкретный дистрибутив справиться с железом вашего компьютера и не возникнет проблем при установке. Кстати велика вероятность, что при запуске Ubuntu с диска LiveCD вы сможете, вбив настройки сети, пользоваться интернетом и сетью. Вы сможете работать с текстовыми документами и таблицами. Сможете просматривать картинки и прочее-прочее. Просто попробуйте загрузиться с диска. Не стоит забывать что работа с LiveCD это всё-таки не работа в полноценной, установленной на жёсткий диск операционной системе, так что готовьтесь к «тормозам» при чтении с компакт-диска в попытке открыть ту или иную программу.

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

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

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

  1. Загрузчик.
  2. Запуск и первичная инициализация ядра.
  3. Обнаружение оборудования, загрузка драйверов и подключение файловых систем.
  4. Запуск системных служб (демонов).
  5. Старт графической или консольной пользовательской сессии.

Мы пройдемся по всем стадиям и узнаем, что происходит во время загрузки типичного дистрибутива Linux, немного отклонившись в сторону BSD, macOS и Android по пути. Во многих случаях это позволит понять, почему процесс загрузки Linux именно такой, какой есть.

1. Загрузчик

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

Сегодня загрузкой Linux практически в любом дистрибутиве занимается Grub , изначально разработанный для операционной системы GNU/Hard. Grub гораздо сложнее LILO и фактически сам является полноценной ОС. Он не просто читает конфиг загрузки (обычно это /boot/grub/grub.cfg) прямо с диска, но и позволяет исправить этот конфиг на месте. Grub имеет встроенную командную строку, работает с десятком различных файловых систем и позволяет формировать сложные цепочки загрузки.

Как только пользователь выбирает нужный пункт меню (либо по истечении тайм-аута), Grub находит связанный с этим пунктом меню образ ядра Linux на диске (обычно это файл /boot/vmlinuz), а также закрепленный за ним образ initramfs (о нем чуть позже), загружает их в память и передает управление ядру.


Почему vmlinuz?

Название файла с образом ядра имеет исторические корни. Изначально образ ядра классического UNIX назывался просто unix, но, когда появилась версия ядра для процессоров с защитой памяти, чтобы избежать путаницы, название сменили на vmunix. Буква z вместо x на конце, в свою очередь, означает, что образ сжат с помощью утилиты gzip (алгоритм Deflate, тот же, что в классическом ZIP).

2. Ядро и initramfs

Получив управление, ядро начинает первичную инициализацию: запускается подсистема управления памятью, настраивается обработчик прерываний, инициализируются необходимые для дальнейшей работы ядра структуры данных. Когда эта работа будет закончена, ядро распаковывает архив initramfs (обычно он имеет имя вида /boot/initramfs-linux.img и представляет собой архив cpio, сжатый с помощью gzip) в файловую систему в оперативной памяти (tmpfs), делает ее корневой файловой системой и запускает скрипт /init (в различных дистрибутивах имя может отличаться).

Initramfs включает в себя базовый набор компонентов Linux-дистрибутива: стандартные системные каталоги /bin , /lib , /etc и так далее, простейший командный интерпретатор (обычно ash), набор команд BusyBox, несколько вспомогательных библиотек и набор модулей ядра (драйверов), предназначенных для работы с различными накопителями и файловыми системами.



Смысл существования initramfs в том, чтобы решить проблему курицы и яйца: загрузить драйверы для подключения реальной корневой файловой системы до того, как она будет подключена. Именно это и происходит, когда система запускает скрипт /init . Он определяет установленные в систему накопители, загружает в ядро драйверы для работы с ними, а затем подключает нужный раздел нужного накопителя (о том, какой именно, ядро узнает благодаря переданному при загрузке параметру root) к корню, перекрывая таким образом содержимое initramfs. Затем скрипт запускает /sbin/init , с которого и начинается следующий шаг загрузки ОС.



Продолжение доступно только подписчикам

Вариант 1. Оформи подписку на «Хакер», чтобы читать все материалы на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов.

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

1. Linux для начинающих

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

2. Серия уроков «Научись Линукс»

Данный видеокурс предназначен для начала работы с Линукс. Поможет в установке данной системы на ваш ПК. Аудитория данного видеокурса — это люди, которые немного, но слышали про Линукс.

3. Курс лекций по администрированию Линукс

Подробный видеокурс по администрированию Линукс. Он рассматривает разные вопросы: от предназначения данной системы до администрирования MySQL. Подходит как новичкам, так и уже опытным пользователям Линукс.

4. Программирование на Bash

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

5. Администрирование Линукс

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

6. Основы Линукс

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

7. Основы работы с командной строкой

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

8. Видеокурс по GNU/Linux Владимира Моженкова

Видеокурс по основам работы с GNU/Linux, простой и понятный. Данный видеокурс нацелен как на новичков, так и на опытных пользователей Линукс.

9. Серия уроков «Ваш путь в мир Линукс!»

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

10. Администрирование Linux

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



Понравилась статья? Поделиться с друзьями: