Почему стоит использовать Linux и Ubuntu в частности. Достоинства и недостатки. Начало работы с Linux и Ubuntu Как работать в линуксе убунту

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

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

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

Если система ломается - то это очень неприятно, вы не можете выполнить свою работу, теряете данные и начинаете нервничать. Поэтому я выбираю и рекомендую новичкам выбирать стабильные дистрибутивы.Не ArchLinux, который не известно как себя поведет при следующем обновлении, а Ubuntu, Mint, OpenSUSE и другие дистрибутивы в этом роде. Для экспериментов можно установить дополнительную операционную систему или использовать виртуальную машину, но основная система должна быть рабочей. Всегда. А теперь пройдемся по пунктам как этого достичь, кроме того, конечно, что вы будете использовать стабильный дистрибутив.

1. Настройка системы

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

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

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

2. Обновление

Обновления - это тоже очень важный момент, с ними вы получаете новое программное обеспечение (иногда), и самое главное исправление проблем с безопасностью, а также, возможно, проблемы с системой. Но как показывает практика, если вы обновляетесь достаточно часто, даже очень часто, то риск сломать систему при обновлении намного ниже, особенно в стабильном дистрибутиве. И вы же не хотите пропустить обновление программ? Поэтому обновляйте систему, как можно чаще, можно даже настроить с помощью утилиты ucare-systemcore, если вас интересует использование ос linux основанной на Debian.

3. Программное обеспечение и драйвера

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

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

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

4. Очистка системы

Время от времени систему нужно чистить. Конечно, она не заваливается всяким мусором, как Windows, но со временем растет количество лог-файлов, размер кєша менеджера пакетов, количество ненужных больше зависимостей, файлы, которые больше не нужны ни одной программе и так далее. Для каждого дистрибутива процесс очистки отличается, потому что там берет участие пакетный менеджер и другие дополнительные утилиты. Основное что вам нужно сделать:

  • Очистить кэш пакетного менеджера;
  • Удалить лишние логи;
  • Удалить зависимости, которые больше не нужны;
  • Удалить ненужные файлы.

Если вас интересует , то об этом уже есть более детальная статья. Как часто нужно проводить очистку? Не очень. Система засоряется очень медленно, я думаю один-два раза в год будет вполне достаточно при наличии достаточного количества памяти на жестком диске.

5. Резервное копирование

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

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

Выводы

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

В октябре 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 самостоятельно. Сегодня в секции о Linux у нас есть кое-что и для опытных пользователей. Перед вами несколько советов, которые вы должны попробовать, если вы опытный пользователь Ubuntu Linux

1. Быстро и умно управляйте командной строкой
Вы можете использовать клавиатурные сокращения и другие особенности командной строки, чтобы сделать ввод команд легче и быстрее. Вы уже должны знать о клавише "tab", которая завершает часть команды или даже имена файлов и директорий.
Вот некоторые клавиатурные сокращения, которые вы можете использовать в терминале:
Ctrl-a - переместиться к началу линии
Ctrl-e - переместиться к концу линии
Alt-] x перемещает курсор прямо к следующему месту появления x
Alt-Ctrl-] x перемещает курсор назад к предыдущему месту появления x
Ctrl-u удалить все от курсора до начала линии
Ctrl-k удалить от курсора до конца линии
Ctrl-w удалить от курсора до начала слова
Ctrl - y вставляет текст из буфера обмена
Ctrl - l очищает экран, перемещая текущую строку вверх на экран
Ctrl-x ctrl-u отмена последних изменений. ctrl-__
Alt-r отмена всех изменений в строке
Alt-Ctrl-e расширить командную строку
Ctrl-r инкрементальный обратный поиск в истории
Alt-p не инкрементальный обратный поиск в истории
!!! выполнить последнюю команду из истории
!abc выполнить последнюю команду из истории, начинающуюся на abc
!n выполнить n-ую команду из истории
^abc^xyz заменить первое появление abc на xyz в последней команде и выполнить ее
Также не забудьте проверить 4 сайта, где вы можете найти классные трюки командной строки.

2. Запускайте приложения Ubuntu Linux с помощью горячих клавиш.
Это можно сделать двумя способами:
* Использовать приложения типа Launchy или Gnome-Do, которые позволяют быстро запускать приложения, набрав всего несколько букв из имени приложения.
* Или Вы можете вызвать редактор gconf (нажать Alt+F2, после этого ввести gconf-editor и нажать ввод) и перейти в apps > metacity > global_keybindings. Там необходимо дважды нажать на любой из run_command_N и указать горячие клавиши, по которым будет запускаться нужное Вам приложение. Запомните это число N, перейдите в apps > metacity > keybinding_commands, дважды нажмите на соответствующую command_N (где N - число, которое Вы запомнили ранее) и введите название приложения, которое будет запущено. Например, если Вы хотите запускать Firefox, просто укажите firefox.



Заодно стоит ознакомиться с горячими клавишами, используемыми в Ubuntu по умолчанию.

3. Продолжайте работу с того места, на котором закончили.


Вы можете настроить Ubuntu, чтобы она запоминала приложения, которые были открыты при последнем выходе из системы. Когда Вы начнете новый сеанс все эти приложения уже будут запущены, и Вы сможете продолжить с того места, на котором закончили.
Чтобы включить эту функцию, перейдите в System > Preferences > Startup Applications, перейдите на закладку настроек и установите галочку у пункта «Automatically remember running applications when logging out».

4. Создайте отдельный раздел под домашнюю директорию Ubuntu Linux.


Новая версия Ubuntu выходит в свет каждые 6 месяцев. Не смотря на то, что Вы можете обновить систему до последней версии используя менеджер обновления, иногда обновление может пройти не корректно, и некоторые пользователи предпочитают в этом случае чистую установку.
Минус этого варианта в том, что все данные в домашней директории будут утеряны. Чтобы избежать этой проблемы Вы можете создать отдельный раздел под домашнюю директорию при первой установке Ubuntu и выделить необходимый объем дискового пространства согласно Вашим потребностям. Во время следующей установки Ubuntu просто укажите этот раздел для домашней директории (указав /home в качестве точки монтирования).
В этом случае все Ваши файлы и данные сохранятся даже в случае чистой установки.

5. Обновляйте и устанавливайте приложения для Ubuntu Linux без подключения к Интернет.


Для этого есть несколько способов, но наиболее простым из них является использование APTonCD. APTonCD позволяет создать CD или DVD диски, содержащие все необходимые Вам пакеты, которые Вы можете в дальнейшем установить на компьютеры без подключения к интернет.
Для создания установочного носителя APTonCD требует подключения к сети (или заранее загруженных пакетов). Однако, после подготовки носителя, Вам не потребуется подключение к сети машин, на которые будут установлены приложения. Вставьте нужный CD/DVD и используйте apt-get как и обычно.

6. Устанавливайте новые шрифты, шрифты Microsoft и улучшайте отображение шрифтов

Ubuntu предоставляет не слишком много выбора, когда дело доходит до шрифтов. Однако Вы можете легко , включая такие шрифты Microsoft как Arial, Verdana, impact и многие другие. Вы можете просмотреть различные сайты и выбрать шрифт, который наиболее Вам подходит.

7. Используйте PPA, устанавливайте последние версии программного обеспечения.
Прежде чем программное станет частью дистрибутива Ubuntu или станет доступно через репозитории, ему приходится пройти ряд этапов. Конечно, эти дополнительные этапы гарантируют дополнительную стабильность, но это так же означает, что Вы не получаете самые последние версии программного обеспечения, когда оно становится доступным.
Если Вы хотите быть впереди планеты всей, Вы можете найти Personal Package Archives для Вашего любимого ПО на Launchpad и добавить их Вашу систему. использование PPA лишь вкратце. Если этот вариант доставляем Вам слишком много хлопот, Вы можете скачать последние deb-пакеты и установить двойным нажатием (Вы не будете получать автоматические обновления для ПО, установленного этим способом).
Используя последние версии, Вы можете столкнуться с парой трудностей, но чаще всего они не являются критичными. Вы всегда можете посетить Форумы Ubuntu и быстро найти помощь.

8. Работайте из-под root.
Пользователь root заблокирован в Ubuntu по умолчанию, чтобы минимизировать возможность выполнения несанкционированных действий. Однако, если Вы «обещаете быть осторожным», Вы можете разблокировать пользователя root следующим способом:


1. Введите sudo passwd root и укажите новый пароль для root.
2. Перейдите в System > Administration > Login Window, откройте закладку Security и поставьте галочку «Enable local system administrator login»
Теперь Вы сможете зайти под root из окна входа. Так же Вы можете ввести «sudo su», указать свой пароль и переключиться в пользователя root.

9. Запускайте приложения и игры для Windows.


Кто не захочет поиграть в Counter Strike на Ubuntu (если Вы, конечно, интересуетесь играми) или даже запустить Photoshop? С Ubuntu (англ).

10. Сокращайте время загрузки используя профилирование.
Разработчики Ubuntu Linux проделали великолепную работу для уменьшения времени загрузки, Jaunty быстр, а Karmic будет еще быстрее. Однако есть еще одна возможность для улучшения - профилирование загрузки. Профилирование позволяет Ubuntu составить список всех файлов, используемых при загрузке, и отсортировать их согласно расположению на жестком диске. Засчет этого при последующих загрузках системы эти файлы будут считываться быстрее.
Для профилирования загрузки выполните следующие действия

* В меню grub выделите пункт загрузки ядра, который Вы используете чаще всего.
* Нажмите «e» для редактирования.
* Выделите строку, начинающуюся с «kernel» и снова нажмите «e». Добавьте в конец строки слово «profile».

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

11. Попробуйте другие cреды рабочего стола Ubuntu.
Если вам нужно что-то другое, нежели стандартная оболочка Gnome, вы просто обязаны заценить альтернативные менеджеры рабочего стола. Если вы ищете полную замену среды, то KDE4, имеющий большую историю, сейчас очень удобен и красив. Чтобы заполучить KDE, вам просто нужно выполнить «sudo apt-get install kubuntu-desktop».

12. Создайте медиацентр или медиасервер.


Было бы здорово, если бы у вас была возможность легко просматривать и управлять вашими огромными коллекциями музыки, видео и фотографий. Очарованы интерфейсом Windows Media Center? Подождите, вы еще не видели всех классных возможностей . Вы даже можете получить доступ к медиа через телефон, PSP или другой компьютер, если вы установите медиасервер на вашу Ubuntu.

13. Делитесь профилем Firefox с Windows.
Многие используют Windows и Linux на одном компьютере. Если вы один из них, значит у вас уже были случаи, когда вы не могли найти свои закладки, потому что они были сделаны в Windows. Узнайте, как вы можете Firefox между несколькими ОС без синхронизации через интернет (гарантированно, если у вас одинаковые версии Firefox). Для разных компьютеров вы, конечно, можете использовать Weave.

14. Настраивайте Nautilus на свой вкус.


Nautilus - стандартный файловый менеджер в Ubuntu. Вы можете довольствоваться тем, что есть, однако вы можете заставить его делать больше. для улучшения функций или даже для добавления новых возможностей в Nautilus.

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

16. Измените экран Usplash и создайте собственный фон для GRUB.


Вы не защитали для себя предыдущий совет? Вот еще один. Экран Usplash - это текст и логотип Ubuntu с бегущей полоской, который вы видите при загрузке системы.

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

Знаете другие возможности и хаки, доступные пользователям Ubuntu? Уверен что знаете. Поделитесь ими в комментариях.

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

Руководство Linux Ubuntu для начинающих - познакомит начинающего пользователя с бесплатной и удобной операционной системой Ubuntu. В руководстве рассказано о системе, как ее установить, проведено краткое знакомство с установленными в системе по-умолчанию программах, как ее настроить после установки, что такое Терминал и как с ним работать, установка и настройка локального веб-сервера Apache, PHP и Mysql. Рассказано как создать свой собственный образ на базе оригинальной Ubuntu, установив в него свои программы, игры и обновив систему. Также кратко описаны полезные советы при работе с Ubuntu.


В Руководстве Linux Ubuntu для начинающих доступным языком и пошагово описан процесс установки операционной системы Ubuntu на компьютер, для большего понимания которого руководство содержит необходимое количество скриншотов. После установки проведено знакомство с внешним видом и стандартными возможностями системы, какие меню, настройки, панели, базовые программы и игры содержит в себе система.
Руководство содержит главу "Полезные программы" в которой кратко описаны программы разных сфер использования: интернет, аудио, видео, почта, файловые менеджеры, онлайн радио, обучающие, фото, программирование и др. К каждой программе прилагается ссылка на сайт разработчика и порядок установки.
В главе "Украшаем Ubuntu" изложено множество способов именить внешнее оформление в системе, таких ее элементов как темы, иконок, курсора, цветовой гаммы, теней и др.
Глава "Репозитории в Ubuntu" ознакомит начинающих осваивать системы с такими вопросами как, что такое репозитории, для чего они нужны, как узнать какие репозитории уже содержит система, как их подключать и удалять.
Не обошлось в руководстве и без такой актуальной темы как безопасность Ubuntu. В соответствующей главе описаны основы безопасности в системе.
Для любителей скоротать свое время за играми, в руководстве содержится глава в которой описаны способы установки игр в Ubuntu.
Одним из наиболее полезных и необходимых навыков работы в Ubuntu является умение работать в Терминале. Для чего в руководстве описано более 100 наиболее используемых команд, которые существенно увеличат возможности использования системы.



Как показывает читательский отклик, интерес к решениям на базе 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х перестанет казаться вам сложным, а консоль мрачной, наоборот, даже располагая графической оболочкой вы будете запускать терминал, окунаясь в привычную и понятную среду, понимая, что системой управляете именно вы и делаете именно то, что хотите, а не что, что задумали разработчики очередной панели.