Тарифы Услуги Сим-карты

Лучшие дистрибутивы Linux для новичка

Дискуссия, лучших рабочих столов Linux является очень горячей, среди постоянных пользователей, потому что в Linux их не 2 и не 3, а популярных только 6, не считаю ещё несколько других менее популярных. Бывалые пользователи Linux «хватают мечи» и начинают защищать свой выбор.

Если вам интересно, о моем мнении, знайте: я использую Ubuntu в течение многих лет, до сих пор. Недавно я попробовал Linux Deepin, возможно в будущем он переманит меня на свой берег. Я очень ценю Linux Mint, когда то я пользовался его новым рабочим окружением Cinnamon, на слабом ноутбуке я сейчас использую Linux Mint XFCE. С учетом сказанного, Linux Mint является явным победителем, когда дело доходит до выбора дистрибутива Linux для начинающих.

Реальная правда, этого вопроса заключается в том, что пробуя Linux с любым из этих рабочих столов, Вы не сможете пойти по неправильному пути. Каждый из них освещает свой путь. Если вы ищете истинную красоту, то идите по пути с Linux Deepin. Если вы хотите сочетание красоты и простоты используйте Ubuntu Linux. Если вы хотите простоту, то вам по пути с Linux Mint. Независимо от того, по какому пути вы пойдете, это будет беспроигрышный вариант.

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

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

В наше время перейти на Linux достаточно просто. Нужно скачать образ и создать загрузочный USB носитель или DVD-диск. После перезагрузки компьютера можно выполнить загрузку с созданного носителя, чтобы использовать Linux в Live-режиме (без установки на компьютер).

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

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

"Попробуй Ubuntu или Mint" - очень частый совет. Действительно, это отличные дистрибутивы Linux для старта и обучения. Если вы ищете немного другое, то Fedora может подойти.

У Fedora есть несколько философских отличий от Ubuntu, Mint и многих других дистрибутивов. В отличие от других, Fedora очень трепетно относится только к программному обеспечению с открытым исходным кодом. Например, система не включает аппаратные драйверы с закрытым исходным кодом. Вы должны найти их сами, если это потребуется.

Разработчики Fedora работают напрямую с проектами с открытым исходным кодом, такими как GNOME, вносят небольшие изменения и поставляют своим пользователям современные наработки. Этот дистрибутив дает вам самые свежие и самые лучшие проекты сообщества.

Рабочий стол Fedora известен как "Fedora Workstation" и отлично подходит для разработчиков, предоставляя быстрый доступ к необходимым инструментам и функциям. С другой стороны, использовать Fedora может любой пользователь.

Fedora является базой для Red Hat Enterprise Linux, коммерческого продукта Linux Red Hat с долгосрочной поддержкой. Проект Fedora выпускает новые версии примерно каждые шесть месяцев, и каждый релиз поддерживается обновлениями безопасности примерно 13 месяцев. Если вы хотите получить бесплатную версию Red Hat Enterprise Linux Red Hat, то можете использовать CentOS. Отличия заключаются в брендинге и коммерческой поддержке.

Что еще можно попробовать

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

Некоторые дистрибутивы Linux разрабатываются и поддерживаются небольшими командами разработчиков, например, . Elementary OS предлагает простой и удобный рабочий стол на базе собственной среды Pantheon. Он выглядит неплохо, но серьезно отличается от других рабочих столов Linux.

Нашли опечатку? Выделите и нажмите Ctrl + Enter

Существует огромное количество версий Linux. На сайте DistroWatch.com только за последний месяц было отмечено больше 300 дистрибутивов, а за всю историю Linux их насчитывалось порядка 700. Как выбрать среди этого изобилия?

Два главных критерия, на которые следует обратить внимание:

  1. Популярность дистрибутива . Чем популярнее ваш дистрибутив, тем легче будет найти руководства по нему в Сети. Большое комьюнити означает, что вы легко сможете получить помощь на форумах, посвящённых дистрибутиву, если у вас возникнут трудности с его освоением. Наконец, чем распространённее дистрибутив, тем больше приложений и пакетов портировано для него. Лучше выбирать популярные решения с готовой базой пакетов, чем мучиться со сборкой из исходников в каком-нибудь экзотическом дистрибутиве.
  2. Команда разработчиков, которая им занимается . Естественно, что лучше обращать внимание на дистрибутивы, поддерживаемые крупными компаниями вроде Canonical Ltd., Red Hat или SUSE, или на дистрибутивы с большими сообществами.

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

Для тех, кто никогда не пользовался Linux, - Linux Mint

Новым пользователям, мигрировавшим с , однозначно стоит установить Linux Mint. На сегодняшний день это популярнейший дистрибутив Linux. Это очень стабильная и простая в работе система, основанная на Ubuntu.

Linux Mint оснащён лёгким и понятным интерфейсом (оболочка Cinnamon для современных компьютеров и MATE для старых машин) и удобным менеджером приложений, так что у вас не возникнет проблем с поиском и установкой программ.

Плюсы: простота, забота об обычных пользователях. Вам не потребуется каких-то специфических знаний, чтобы установить и использовать Mint.

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

Для тех, кто хочет иметь новейшее ПО, - Manjaro

Это популярный дистрибутив Linux, основанный на Arch. Arch - невероятно мощный и функциональный дистрибутив, но его философия KISS (Keep It Simple, Stupid), в противоположность названию, делает его слишком сложным для начинающих. Arch устанавливается только через командную строку.

Manjaro, в отличие от Arch, имеет простой графический установщик и при этом сочетает в себе мощные возможности Arch, такие как AUR (Arch User Repository) и скользящий релиз. AUR - богатейший источник пакетов Linux. Если какое-либо приложение есть в Linux, оно наверняка уже есть в AUR. Так что в Manjaro вы всегда будете пользоваться свежайшими пакетами.

Manjaro поставляется со множеством оболочек рабочего стола на выбор: функциональной KDE, GNOME для планшетных экранов, Xfce, LXDE и другими. Manjaro, вы можете быть уверены, что первыми получите новейшие обновления.

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

Минусы: своеобразное оформление оболочек рабочего стола. Впрочем, вам ничто не мешает заменить его.

Для домашнего сервера - Debian

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

Debian хорошо приживётся на вашем домашнем сервере. Это стабильный и консервативный дистрибутив, ставший основой для Ubuntu и множества других Linux-систем. Debian использует только самые проверенные пакеты, что делает его хорошим выбором для сервера.

Плюсы: стабильность и большой набор приложений.

Минусы: необходимость вручную настраивать дистрибутив после установки.

Для медиацентра - Kodi

Если вы хотите устроить свой медиасервер, выбирайте Kodi. Строго говоря, Kodi не дистрибутив, но полнофункциональный проигрыватель для медиацентра. Вы можете установить его в любом Linux, но лучше всего выбрать связку Ubuntu + Kodi.

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

Благодаря расширениям, Kodi может загружать медиафайлы через торренты, отслеживать появление новых сезонов ваших любимых сериалов, показывать видео с YouTube и других стриминговых сервисов. Короче говоря, Kodi умеет всё.

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

Плюсы: огромное количество функций и удобное управление.

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

Для настольного ПК - Kubuntu

Графическая среда KDE идеальна для использования на десктопе, а Kubuntu - популярнейший дистрибутив с KDE. Как и многие другие дистрибутивы, он основан на Ubuntu, а это значит, что у вас не будет проблем с совместимостью приложений.

Kubuntu красив, функционален и легко настраивается. С ним легко справятся даже начинающие пользователи. Это стабильная и отполированная система, которая предоставляет все необходимые функции для домашнего настольного ПК.

Плюсы: большой выбор пакетов, замечательный набор приложений KDE и огромное количество настроек интерфейса.

Минусы: в Kubuntu используется стабильная версия KDE, а это значит, что новейшие фишки этой оболочки приходят сюда с запозданием. Если хотите опробовать свежайшую KDE, к вашим услугам KDE Neon .

Для старого компьютера или нетбука - Lubuntu

Эта версия Ubuntu основана на оболочке LXDE, лёгкой и скромной в потреблении ресурсов. Она ориентирована на старые или маломощные машины. Если у вас завалялся не очень новый компьютер или нетбук, который не справляется с Windows, вы вполне можете , установив Lubuntu.

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

Плюсы: очень быстрая и лёгкая система. Тем не менее она поддерживает те же пакеты и приложения, что и её старшая сестра Ubuntu.

Минусы: внешний вид LXDE не всем придётся по вкусу, но это небольшая плата за быстродействие.

Альтернатива: .

Для планшета или трансформера - Ubuntu

Ubuntu - один из самых популярных дистрибутивов Linux на десктопе. С версии 17.10 Ubuntu заканчивает поддержку оболочки Unity и мигрирует на GNOME. А GNOME весьма неплохо смотрится на устройствах с сенсорными экранами. Если у вас есть планшет с и вы хотите попробовать установить на него Linux, попробуйте Ubuntu с GNOME.

Крупные элементы интерфейса GNOME, настраиваемые жесты и расширения сделают Ubuntu отличной системой для тачскринов.

Плюсы: Ubuntu - распространённый дистрибутив, а значит, вы без проблем найдёте всё необходимое ПО. Кроме того, большинство сайтов о Linux посвящены именно Ubuntu.

Минусы: оболочка GNOME удобна, но поначалу кажется непривычной.

Для ноутбука - elementary OS

Как и следует из названия, эта версия Linux очень проста. У вас не возникнет проблем с её освоением. Она легко запускается на ноутбуках и медленно расходует заряд .

Интерфейс elementary OS напоминает macOS, так что её будет приятно использовать поклонникам Mac. Анимации, оформление окон - всё здесь такое плавное и симпатичное, что системой можно просто залюбоваться. Тем не менее за красивой оболочкой elementary OS таится полноценный Linux, поддерживающий все необходимые для работы приложения.

Плюсы: красивый интерфейс, собственный магазин инди-приложений.

Минусы: графическая оболочка Pantheon хоть и выглядит стильно, но не очень функциональна.

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

Отличия Linux от Windows

Основа работы в Linux с графической средой не отличается от Windows. Но для корректной работы Linux нужно настроить.

Самые существенные отличия:

  1. Linux предназначен для продвинутых пользователей, Windows - "система для всех".
  2. Linux превосходит Windows в обработке потоков и данных.
  3. При использовании Linux можно не бояться нарушить какое-нибудь лицензионное соглашение.
  4. Любое приложение имеет собственное адресное пространство, независимое от адресного пространства ядра, что позволяет с легкостью создавать встроенные системы на основе Linux.

И это далеко неполный список преимуществ.

Преимущества Linux

Сегодня множество программистов Linux совершенствуют систему, разрабатывая новые версии и ее разновидности. Среди преимуществ можно выделить:

  1. Бесплатность - сама операционная система и большинство программ для нее полностью бесплатны и полностью функциональны.
  2. Отсутствие вирусов - сама конфигурация ядра операционной системы исключает работу вредных программ. Это позволяет обходиться без антивирусов, которые замедляют компьютер.
  3. Открытый исходный код - что позволяет использовать и модифицировать код как угодно. Также благодаря этому создается огромное количество встраиваемых систем на основе Linux .

Дистрибутивы Linux

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

Дистрибутив - форма распространения ПО. Они нужны, чтобы добавить ядру ОС дополнительные компоненты, что позволит пользователям легко установить, настроить, операционную систему.

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

Список лучших дистрибутивов:

  1. Debian - стабильный и нетребовательный к ресурсам. Имеет огромное количество пакетов для установки. Абсолютно бесплатный.
  2. Ubuntu - менее консервативный вариант Debian. Считается одним из лучших для домашнего использования.

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

Установка и настройка Ubuntu

Существует две различные версии дистрибутивов Ubuntu: LTS и Regular. Главное отличие LTS - стабильность и длительная поддержка. Такая версия выходит раз в пять лет.

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

На момент написания статьи последней LTS версией является 18.04 Bionic Beaver.

Установка не вызовет никаких затруднений. От пользователя лишь требуется нажимать кнопку "Далее" в нужные моменты.

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

Основы Linux

На рабочем столе Ubuntu расположены: панель управления, dock-панель, а также меню приложений.

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

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

В меню приложений отображаются все установленные приложения.

Вместе с дистрибутивом Ubuntu поставляется файловый менеджер Nautilus. Этот файловый менеджер позволяет легко управлять файлами и каталогами.

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

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

  1. Название не должно превышать 255 символов.
  2. Linux является чувствительной к регистру системой, следовательно, "example.txt" и "Example.txt" являются разными файлами даже несмотря на то что они могут находиться в одном каталоге.
  3. Если название файла или каталога начинается с "." - такой файл или каталог будет помечен системой как скрытый.
  4. Поскольку основа Linux - UNIX, то он полностью поддерживает кодировку UTF-8, допускается использование национальной раскладки.

Терминалы в Linux

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

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

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

Установка и удаление программ с помощью Synaptic

Synaptic - программа с графическим интерфейсом, использующаяся в дистрибутивах Debian и Ubuntu, и предназначенная для поиска, установки и удаления программ.

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

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

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

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

А как быть с теми, кто только делает свои первые шаги? К сожалению, в IT-сообществе существует некоторый снобизм, мол, чего об этом говорить, это и так все знают, или "гугл в помощь", забывая, что каждый из нас когда-то был новичком и с мистическим ужасом смотрел в черный экран Linux-консоли, абсолютно не понимая, куда он попал и что ему делать.

В итоге новичок, столкнувшись с первыми трудностями, вынужден идти искать знания в другом месте и хорошо если такое место удастся быстро найти. Поэтому мы решили выпустить небольшой цикл материалов, в котором на доступном уровне изложить основы администрирования Linux систем, буквально объясняя на пальцах "общеизвестные вещи", опытные пользователи могут пропустить данный цикл, а могут и прочитать, заодно обновив свои знания.

Итак, вы решили стать Linux администратором...

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

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

Даже больше, сама по себе операционная система не имеет никакой ценности, это всего лищь среда для запуска и выполнения некоторых служб и сервисов. Без софта система мертва. Возьмем для примера клон BeOS - Haiku, ну поставили, ну посмотрели - прикольно... А дальше что?

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

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

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

Linux, создававшийся по образу и подобию UNIX-систем, является полноценной системой и без графической оболочки, более того мы можем запустить, закрыть или вообще сменить графическую оболочку без какого-либо влияния на работоспособность системы и даже без ее перезагрузки. Завершили сеанс Gnome, запустили KDE, а потом и вовсе вышли в консоль. Поэтому все инструменты управления системой разработаны для использования в режиме командной строки. А все панели и графические инструменты являются всего лишь надстройкой над ними.

Windows долгое время разрабатывался по принципиально иной технологии, графическая оболочка была поставлена в основу системы и долгое время даже выполнялась на уровне ядра (семейство Win 9x). Поэтому все инструменты администрирования были изначально графическими, а инструменты командной строки скорее их дополняли, чем заменяли. Любой, кто занимался восстановлением Windows, знает, что возможности инструментов командной строки там существенно ограничены и предназначены в первую очередь для восстановления системы, а не для ее администрирования.

Ситуация стала меняться с выходом PowerShell и Core-версий Windows Server. Несмотря на то, что сегодня графическая оболочка продолжает играть существенную роль в Windows-системах, администраторы получили в руки альтернативный инструмент - консоль PowerShell, которая позволяет полноценно администрировать Windows в режиме командной строки. При этом возможности PowerShell сразу завоевали популярность в среде специалистов, так как позволяют выполнять многие задачи быстрее и проще, чем графические инструменты.

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

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

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

Если вы еще не передумали становиться Linux-администратором, то поедем дальше и рассмотрим отличия в архитектуре системы.

Ядро и драйвера

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

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

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

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

По сути, такого понятия как драйвер, в Linux системах не существует. Оборудование либо поддерживается ядром, либо нет. Несомненный плюс монолитного ядра - оно самодостаточно. Если все оборудование поддерживается - поставил и забыл, самое время вспомнить ситуацию, когда под Windows нет драйвера сетевой карты и диск утерян.

Файловая система

Мы не будем касаться конкретных файловых систем, тут проблем возникнуть не должно, если администратор работал с Windows системами, то что такое файловая система и чем FAT отличается от NTFS он знает, поэтому разобраться в разнице между ext3, ext4 и, скажем, ReiserFS для него особого труда не составит. А поговорим о фундаментальных отличиях. В отличие от Windows, файловая система Linuх иерархична. Она начинается от корня, который обозначается знаком / (слеш), и имеет древовидную структуру. При этом абсолютно не имеет значения, что отдельные части файловой системы могут находиться на других разделах или вообще физических дисках.

Рассмотрим еще одну схему.

В Windows каждый раздел имеет собственную файловую систему и обозначающую его букву. Все пути к файлам и папкам начинаются с буквы, т.е. от корня раздела. Так если у нас на первом физическом диске, на втором логическом разделе была папка DATA, то путь к ней соответственно будет как D:\DATA, если мы захотим перенести ее на второй жесткий диск, то ее пусть изменится на E:\DATA. В ряде случаев это жутко неудобно, так как путь надо изменить во всех местах ее использования и даже существуют соответствующие утилиты.

В Linux подход кардинально иной. Самое время познакомиться с термином точка монтирования , который означает место файловой системы, куда подключается устройство хранения данных. Например, мы хотим вынести домашние каталоги пользователей на отдельный раздел, как на схеме выше, для этого нам нужно смонтировать второй логический раздел первого физического диска sda2 в /home . После чего перенести туда все пользовательские данные. Для системы и программ это произойдет абсолютно прозрачно, они как использовали абсолютный путь, скажем /home/andrey/data , так и будут его использовать. Добавили еще один диск и хотим вынести туда директорию /var ? Нет проблем, останавливаем использующие каталог службы, монтируем sdb1 в /var и переносим данные, запускаем службы.

Всё есть файл

Еще один основополагающий принцип, который унаследован от UNIX-систем. В Linux всё есть файл: устройства, диски, сокеты и т.д., например, открыв /var/run мы увидим pid-файлы, соответствующие каждой запущенной службе в системе, а в /dev файлы каждого подключенного к системе устройства:

Что это дает? Не будем вдаваться в подробности, а разберем несколько простых примеров. Скажем, нужно создать образ оптического диска. В Windows нам понадобится для этого специализированное ПО, в Linuх все проще, CD-ROM - это блочное устройство, но в тоже время - это файл, файл блочного устройства. Берем соответствующий инструмент и копируем содержимое файла устройства в файл ISO образа:

Dd if=/dev/cdrom of=/home/andrey/image.iso

Хотим заменить жесткий диск? Нет ничего проще, копируем содержимое одного файла блочного устройства в файл другого блочного устройства:

Dd if=/dev/sda of=/dev/sdb

И не нужно никаких Partition Magic.

Другая ситуация, какое-либо ПО настоятельно ищет библиотеку lib-2-0-1.so, а у нас есть совместимая с ней, но более новая, lib-2-1-5.so, как быть? Создаем символическую ссылку на lib-2-1-5.so с именем lib-2-0-1.so и все будет работать. Потому что все есть файл и символическая ссылка тоже тип файла. А теперь попробуйте подсунуть Windows приложению lib-2-0-1.lnk вместо lib-2-1-5.dll...

Ifconfig

выведет на экран сведения о сетевых адаптерах системы:

А теперь вспоминаем, что все есть файл, в том числе и устройство отображения (экран), поэтому просто перенаправим стандартный поток вывода вместо экрана в нужный нам файл:

Ifconfig > ~/123.txt

После чего вывод команды будет сохранен в файл 123.txt в корневой директории пользователя:

Потоки и конвейер

В прошлом примере мы затронули стандартный поток вывода. В Linux существуют стандартные для всех процессов потоки ввода-вывода данных stdin , stdout и поток вывода ошибок stderr . Что это значит? Как минимум то, что процесс обмена данными между различными процессами стандартизован. Это позволяет создавать конвейеры, когда стандартный поток вывода одной команды передается стандартному потоку ввода другой. Например, мы хотим посмотреть список установленных пакетов в системе, в частности пакеты squid. Для этой цели есть команда:

Ээээ... Это что такое и как тут что-то понять? На экране быстро промелькнули сведения о всех установленных в системе пакетах и все что мы можем видеть, это "хвост" этого вывода:

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

Dpkg -l | grep squid

Вот это совсем другое дело!

Причем конвейер может быть сколь угодно длинным, результат работы одной команды можно передавать второй, от второй к третьей и т.д. Еще один пример из жизни. Вам надо получить все строки вашего конфигурационного файла squid, но без комментариев и пустых строк, чтобы, например, выложить на форуме или отправить другу. Можно конечно скопировать все, но вряд-ли кто-то захочет вам помогать, прокручивая полотно стандартного файла squid.conf, большая часть которого комментарии и примеры. Делаем проще:

Cat /etc/squid3/squid.conf | grep -v "^#" | sed "/^$/d" > ~/mysquid.conf

И вот что у нас получилось:

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

Буквы большие, буквы маленькие

Linux, как и UNIX, является регистрозависимой системой. И это надо помнить! Потому что, в отличие от Windows, myfile.txt , Myfile.txt и myfile.TXT - это три разных файла. В целях совместимости с другими системами не стоит этим злоупотреблять и хранить файлы, имя которых отличается только регистром, а хорошим тоном считается использование в именах только строчных букв.

Расширения и типы файлов

В Windows системах тип файла определяется его расширением, если мы переименуем exe-файл в jpg , то он не запустится, и система будет пытаться обработать его как картинку. В Linux тип файла определяется по его содержимому и расширение используется исключительно для совместимости с другими системами или для удобства пользователя. Возможность исполнения файла обеспечивается установкой соответствующего атрибута. Так в Windows чтобы сделать скрипт исполняемым, надо было изменить расширение с txt на bat , в Linux для этого нужно сделать файл исполняемым. Непонимание этого момента приводит к ситуациям, когда начинающий администратор не понимает, почему его скрипт myscript.sh не выполняется. На самом деле расширение .sh нужно только для удобства, чтобы сразу было ясно, это скрипт Bash Shell, а чтобы он работал, ему надо поставить атрибут исполняемого, а называться он может как угодно, хоть myscript.pupkin-vasya .

Стесняюсь спросить...

Позвольте, скажет иной читатель, это ведь сколько всего надо помнить: синтаксис команд, ключи, опции и т.д., и т.п. Тут нужно справочник покупать или всегда интернет под рукой держать... Вовсе нет, достаточно помнить названия команд, это как раз несложно, по сложившимся в UNIX традициям, командам дают короткие и удобные имена. А все остальное можно спросить у системы. Вопреки распространенному мнению, Linux системы прекрасно документированы. Посмотреть синтаксис и ключи любой команды можно запустив ее с ключом --help , а так как описания обычно не помещаются на один экран, то следует перенаправить вывод справки утилите more , которая выведет информацию поэкранно. Допустим, нас интересует команда grep :

Grep --help | more

Более подробную информацию можно получить с помощью команды man :

Man grep

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

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

Заключение

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

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

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

  • Теги:

Please enable JavaScript to view the