Как работает Linux: от нажатия кнопки включения до рабочего стола. Введение

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

В целом загрузку среднестатистического дистрибутива 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

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

У любого пользователя может возникнуть интерес попробовать операционную систему 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. Я подразумеваю, что читатель уже инсталлировал один из дистрибутивов этой ОС. Однако после успешной установки у пользователя обычно возникает много вопросов, ответы на некоторые из них даются в этой статье. При подготовке данного материала использовался 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 системы (этап: что такое Linux и с какой стороны к нему подойти), пользователь встречает такой термин как Терминал. Кого-то он отпугивает, а у кого-то наоборот появляется желание попробовать

Иллюстрация linuxformat.com

Здравствуйте! Я Анатолий Гусляков, модератор сайта Comss.ru. С сегодняшнего дня мы открываем серию интересных тем под общим названием «Вместе изучаем Linux». Темы обсуждений будут в виде статей или сообщений, в которых будут рассматриваться различные материалы по изучению Ubuntu и его производных систем. Материал будет выкладываться не только администрацией ресурса, но и пользователями, желающими поделится своими знаниями (интересны именно личные знания, без копипаста со сторонних ресурсов). Если будут выкладываться объемные темы, предварительно необходимо обговорить с администрацией ресурса, возможно предложенная тема будет выложена в виде отдельной статьи.

Цель — изучение азов Linux систем. Методика, наверное, не совсем обычная, учителей не будет, вернее, каждый пользователь принимающий участие, и будет являться учителем. Открыто в добродушной и теплой обстановке мы будем делиться своими знаниями. Каждая тема обсуждения (урока) будет заканчиваться практическим закреплением новых знаний на своей системе и комментариями со скриншотами.

Начнем первое обсуждение!

Терминал и полезные команды

Еще на этапе предварительного изучения Linux системы (этап: что такое Linux и с какой стороны к нему подойти), пользователь встречает такой термин как Терминал. Кого-то он отпугивает, а у кого-то наоборот появляется желание попробовать (а почему бы не попробовать себя в роли программиста? 🙂) .

Что такое Linux

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

Терминал — графическая программа эмулирующая консоль, говорит нам пользовательская документация с сайта help.ubuntu.ru.

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

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

Примеры наиболее популярных команд (терминал можно запустить с помощью горячих клавиш: Ctrl+Alt+T):

(обновление индекса пакетов)

(непосредственное обновление программ)

Рассмотрим составляющие команды:

  • sudo — команда запуска с правами администратора (после ее ввода необходимо ввести пароль администратора, сам пароль не виден, но пугаться не стоит, он вводится и затем жмем клавишу enter);
  • apt-get — является мощным инструментом по установке и обновлению пакетов;
  • update — обновление списка пакетов, upgrade — обновление самих пакетов.

— установка программы;

— удаление программы;

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

Для большинства команд можно получить справку, введя после команды дополнительную команду —help.

И напоследок несколько интересных команд:

— команда выводит на экран версию ядра Linux;

— список активных сетевых соединений;

— команда хорошего настроения

Популярные эмуляторы терминала

Как оказывается есть различные эмуляторы терминала. Каждый их них по-своему интересен.

Рассмотрим наиболее популярные эмуляторы терминала:

Guake — ниспадающий терминал, напоминающий консоль из популярной игры Quake. Терминал загружается в память, поэтому вызов терминала происходит быстрее стандартного терминала. Доступен в репозитории Ubuntu, поэтому установить можно из Центра приложений Ubuntu.

Final term — «умный» эмулятор терминала. Запоминает вводимые команды и при следующем наборе предлагает их в выпадающем меню. Как и большинство эмуляторов терминала, Final term поддерживает работу горячих клавиш, но через редактирование файла настроек. К сожалению, при ознакомлении он завис, но на это есть объяснение, Final term длительное время не выходит из этапа альфа тестирования.

Переходим к установке. На момент написания данной статьи репозиторий программы не работал, поэтому устанавливать будем из исходников. Дополнительный инструмент Git, который установим для установки Final term нам пригодится в дальнейшем для установки других программ.

(необходимые довольно популярные инструменты)

(дополнительные пакеты для GTK)

(загружаем исходники)

(переходим в папку finalterm)

(создаем папку build)

(переходим в папку build)

(инструмент для автоматической сборки программы из исходного кода)

(непосредственно установка)

Terminator — кроссплатформенный эмулятор терминала, поддерживающий системы Microsoft Windows, Mac OS X, Linux , Unix X11. Удобный эмулятор терминала, позволяет создать горизонтальные и вертикальные вкладки, настроить отображение интерфейса, множество горячих клавиш и подключить дополнительные плагины.

Установить можно из Центра приложений Ubuntu.

RXVT (цветной терминал с поддержкой unicode) — очень легковесный эмулятор терминала. Никаких настроек не обнаружил. По минимализму напоминает встроенный XTerm, однако в RXVT удалены некоторые функции, такие как: эмуляция Tektronix 4014 и конфигурирование в инструментальном стиле.

Доступен в родном репозитории Ubuntu.

Ну а тем, кто продолжает использовать стандартный Терминал предлагаю его немного украсить рисунком, например пингвином по имени Tux (официальный талисман Linux).

Всем отличного настроения. До встречи в обсуждениях темы.

Комментарии и отзывы

Добавляя комментарий, ознакомьтесь с Правилами сообщества

В этой статье пойдет речь об освоении ОС Linux. Других UNIX подобных систем, таких как FreeBSD, AIX и Solaris, мы коснемся в следующей статье.

Прежде всего вам нужно запастись терпением и желанием изучать новое. Нового будет очень много, особенно если ранее вы не сталкивались с консолью. Первое с чего нужно начать — это выбор дистрибутива, и не спешите ставить Ubuntu, толку будет 0, совсем. Я вас уверяю, что поставив его вы не освоите консоль, Ubuntu слишком дружелюбная.

Пути изучения

Сложный путь

Мой опыт изучения начинался с Gentoo — это сложно, муторно, интересно и дает огромный опыт. Если есть много времени и желания изучать как устроены ОС на ядре Linux — в путь. Другой дистрибутив который вам даст опыт — Slackware. Оба изучать смысла нет, стоит остановится на одном. По сложности они схожи, но Gentto сложно ставится и работает с лучшим установщиком программ — Portage, а Slackware — имеет некоторые сложности с нормальными пакетными установщиками.

Нормальный путь

В промышленно применении вы вряд ли встретите Gentoo или Slackware, скорее всего вы увидите Red Hat Enterprise Linux, Centos или иногда Debian, реже это будут производные дистрибутивы на rpm пакетах (OpenSuse). Собственно их и нужно по-хорошему изучать.

Бесполезный путь

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

Как изучать

Для начала нужно установить выбранные дистрибутив, желательно на реальное железо. После установки (а если это Gentoo дистрибутив в процессе) сделайте конфигурацию ядра под ваше железо, это даст вам понимание как собирается ядро, и зачем. Вы запомните что делают команды lspci и lsusb, и многие другие. Так же это вам позволит освоить работу в консоли. Лучше всего если у вас будет стоять операционная система на компьютере для каждодневного использования.

Ошибки

Коллекционирование материалов

Не надо этого делать, вы не прочитаете ни одну из скаченных книг. Очень часто люди начиная что то изучать скачивают «100 книг по Linux».

Как начинающим Линуксойдам начать использовать Linux терминал

Не повторяйте эту ошибку.

Курсы

Нет. Если вы пойдете на курсы за 50000 рублей, то это не значит что вас там чему то научат. Единственное что вы вынесете с них — диплом. И да, всем на него будет пофиг.

Возможно статья будет наполнятся еще, я пока не знаю.

Заучивание команд

Жрет много времени толку мало, если кратко.

Вывод

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

Учитесь новому каждый день, это полезно.

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

Первый этап — загрузка ядра — не зависит от типа операционной системы. Выбор устройства, с которого будет происходить загрузка (жёсткий диск, лазерный диск, дисковод), выполняют подпрограммы из ПЗУ компьютера — BIOS. Поиск ядра системы (возможно, нескольких) и настройку параметров ядра выполняет загрузчик , находящийся на выбранном для загрузки устройстве. Ни то, ни друге не нуждается в дополнительной настройке, пока не возникнет нештатная ситуация. Загрузчик (LInux LOader, LILO) распознаёт несколько способов загрузки и несколько вариантов настройки ядра, поэтому при старте он предлагает выбрать один вариант из нескольких. В меню LILO следует выбрать «linux-up».

Загрузка системы происходит автоматически на основании параметров, переданных загрузчиком, и информации, полученной при самонастройке. Каждая системная служба при запуске выводит на консоль диагностику («готово»), («пропущено») и («сбой»). Если всё в порядке, все сообщения должны иметь вид. Сообщения возникают в случаях, когда система решает, что данную службу запускать не за чем: например, при попытке загрузить драйвер несуществующего устройства. Сообщение означает, что системную службу запустить по каким-то причинам не удалось.

Сообщения и не сигнализируют о том, что операционная система «испорчена», скорее — о том, что настройка или окружение компьютера изменились неожиданным для него образом. Например, если система настроена получать сетевой адрес автоматически, однако сервер, выдающий адреса, в сети отсутствует, сетевая служба выдаст сообщение, а система продолжит обычную загрузку. Проконтролировать загрузку системы можно, изучив системные журналы , прежде всего тот, что выдаётся командой dmesg .

В процессе работы активно несколько виртуальных консолей . Каждая виртуальная консоль доступна по нажатию Alt и функциональной клавиши с номером этой консоли. Так, в ALT Linux после загрузки системы функции системной консоли берёт на себя 12-я виртуальная консоль (Alt F12 ). Если запущена графическая подсистема X11, она занимает седьмую консоль, а для переключения в текстовый режим описанные клавиши нужно нажимать вместе с Ctrl : Ctrl Alt F1 , Ctrl Alt F2 и т. д.

нельзя выключать, просто лишив компьютер электропитания. Множество информации, которая должна располагаться на диске, система держит в оперативной памяти для повышения быстродействия. Неожиданное выключение питания приводит к потере этой информации. Останавливать систему следует с помощью команды shutdown -h now . При этом сначала будут остановлены системные службы, затем размонтированы файловые системы, а затем (если это возможно) компьютер отключится. Если программное отключение невозможно, на экран выведется соответствующее сообщение, и питание можно отключить кнопкой Power .

Если компьютер поддерживает протокол работы ACPI, нажатие на кнопку Power приводит не к выключению электропитания, а к передаче системе ACPI-сообщения о том, что кнопка Power была нажата. При получении такого сообщения система выполняет те же действия, что и shutdown . Только в этом случае допустимо выключение кнопкой Power .

Третий вариант — нажать на клавиатуре Ctrl Alt Del , после чего система пойдёт на перезагрузку (останов и немедленная повторная загрузка). Эти клавиши не имеют никакого собственного действия на систему, такая реакция — свойство ядра, которое можно отключить. Дождавшись начала загрузки (например, меню LILO), вы можете выключить компьютер.

Останов системы и выключение компьютера

Включение и выключение компьютера

В существует ровно один пользователь, права которого существенно выше прав остальных пользователей системы. Он называется («корень»), или суперпользователь . Ему соответствует учётная запись с именем и идентификатором пользователя 0. Для выполнения административных действий следует зарегистрироваться в системе под этим именем. Никаких других работ, кроме администраторских, выполнять от имени пользователя не рекомендуется, так как цена ошибки возрастает в несколько раз.

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

Для временного выполнения действий с правами существует команда su — . Выполнять эту команду могут только члены группы («штурвал»). Членство в группе определяется содержимым файла. В случаях, когда требуется передать пользователю только часть полномочий, рекомендуется применять пакет sudo.

Добавить нового пользователя можно при помощи команды useradd входное_имя с необязательными дополнительными параметрами. Результат работы этой команды может быть весьма различен в зависимости от схемы хранения учётных записей. В ALT Linux используется схема TCB, в которой при добавлении новой учётной записи добавляется новая строка в файл, новый подкаталог и файл shadow в нём. Для совместимости с другими схемами может содержать только латинские буквы, цифры и символ подчёркивания. Для задания полного имени пользователя можно использовать ключ.

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

Новичку о Linux. FAQ

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

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

teacher# useradd -c «Аксён Викулович Омметров» axen teacher# passwd axen Enter new password: Re-type new password: passwd: all authentication tokens updated successfully.

Удалить учётную запись, домашний каталог и почтовый ящик пользователя можно с помощью команды userdel -r входное_имя . Если опустить, домашний каталог и почтовый ящик не удаляются.

Для изменения параметров существующей учётной записи используйте утилиту usermod . В частности usermod -L входное_имя временно запрещает использование соответствующей учётной записи, а usermod -U входное_имя — отменяет запрет.

Непосредственной установкой и удалением программных продуктов (пакетов ) в ALT Linux занимается утилита rpm. Однако администратору использовать её неудобно, потому что большинство пакетов не могут нормально работать, если в системе не установлены некоторые другие, поэтому требуется сначала установить их. Те, в свою очередь, могут зависеть ещё от каких-нибудь пакетов, и так далее. Решением этой проблемы занимаются утилиты семейства apt: при установке одного пакета вычисляются также все, от которых он зависит, после чего в систему добавляется набор пакетов, необходимый для работы.

Кроме того, apt может брать пакеты для установки из нескольких источников. Все источники перечисляются в файле. Для добавления каждого дистрибутивного CD в список источников пользуйтесь командой apt-cdrom add . Поиск в источниках пакета, описание которого содержит определённую подстроку осуществляется командой apt-cache search . Поиск лучше не производить от имени суперпользователя, так как, для совместимости с системными сценариями, пользователю устанавливается только английский язык интерфейса. Для установки пакета в систему служит команда apt-get install имя_пакета . Пример:

teacher$ apt-cache search CDR cdda2wav — Утилита для копирования треков с Audio CD cdrecord — Консольная утилита для записи CD/DVD k3b — Программа записи CD mkisofs — Утилита для создания образов ISO9660 xcdroast — Графическая программа для создания CD teacher$ su — Password: teacher# apt-get install xcdroast Reading Package Lists… Done Building Dependency Tree… Done The following extra packages will be installed: cdda2wav The following NEW packages will be installed: cdda2wav xcdroast 0 upgraded, 2 newly installed, 0 removed and 1 not upgraded. Need to get 0B/2056kB of archives. After unpacking 4749kB of additional disk space will be used. Do you want to continue? Get:1 cdrom://Junior2.3 ALT/main cdda2wav 5:2.0-alt4 Get:2 cdrom://Junior2.3 ALT/main xcdroast 6:0.98alpha15-alt2 Fetched 2056kB in 0s (11.8MB/s) Committing changes… Preparing… ###################################################### 1: cdda2wav ###################################################### [ 50%] 2: xcdroast ###################################################### Done.

Для работы с пакетами с помощью графического интерфейса можно использовать программу synaptic.

При использовании системы с профилем перед выполнением каких-либо административных действий необходимо остановить использование удалённого с помощью системного сценария /etc/init.d/etcmount stop .

Установка программных продуктов

Если в домашних каталогах пользователей (особенно сетевых) накопится слишком много ненужных файлов, места для нужных файлов может не хватить. Информация по заполненности файловых систем выводится командой df (disk free, свободное место на диске). Если поле или содержат нулевое или отрицательное значения, изменять такую файловую систему разрешено только суперпользователю. Рекомендуется выявить, в каком подкаталоге содержится больше всего ненужных данных, и попросить хозяина почистить его (а не то сделать это в приказном порядке, применив права суперпользователя). Для определения размера каталогов можно использовать утилиту df .

Пример анализа файловой системы:

teacher$ df Файловая система Разм Исп Дост Исп% смонтирована на /dev/hda1 2,3G 1,5G 728M 67% / /dev/hda3 1,5G 1,4G 48M 96% /home $ su — Password: # du —max-depth=1 /home/chroot/nethome 5.4M /home/chroot/nethome/alex 2.7G /home/chroot/nethome/greedy 4.0M /home/chroot/nethome/netuser 2.7G /home/chroot/nethome # du —max-depth=1 -k /arc/home/george | sort -n | tail -4 25314 /home/chroot/nethome/greedy/Pass 56106 /home/chroot/nethome/greedy/.phoenix 2608536 /home/chroot/nethome/greedy/pictures 2764538 /home/chroot/nethome/greedy

В приведённом примере явным пожирателем свободного места выступает хозяин каталога (2,7 гигабайта) — скорее всего, пользователь — причём более 2,5 гигабайтов приходится на единственный подкаталог.

Переполнение файловых систем

Установленную и работающую на машине систему требуется обновлять только если обновления исправляют недостатки в системе безопасности (т. н. security updates). Кроме того, может потребоваться обновление достаточно старой системы для совместимости с новыми форматами файлов или сетевыми протоколами. Обновление списка пакетов производится с помощью команды apt-get update , а обновление самой системы в соответствии с обновлённым списком — с помощью apt-get dist-upgrade .

Linux: основы работы в Линукс

О чем курс

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

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

После прохождения курса LINUX для начинающих, Вы получите следующие знания и умения:

  • Научитесь устанавливать Linux.
  • Изучите команды для работы в консоли с Unix-подобными операционными системами.
  • Научитесь управлять системными службами Linux.
  • Писать небольшие программы (скрипты) на командном интерпретаторе BASH
  • Читать и понимать логи системы, настройка службы логгирования.
  • Запускать WINDOWS приложения в Linux при помощи эмулятора wine

Знание LINUX помогут Вам создавать и поддерживать высокопроизводительные и надежные сервера. Сервера, которые смогут работать как в локальной сети, так и в Интернете