Изучаем ubuntu с нуля. Как Linux связан с освоением других дисциплин? Поваренная книга администратора Debian

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

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

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

Linux Mint еще одна из наиболее распространённых систем. Она имеет определенное сходство с Ubuntu, так как основывается на нём, но при этом имеет свои собственные наработки рабочих столов. На сегодняшний день эта операционная система имеет 17 (семнадцать) версий. И ее интерфейс достаточно схож с XP, Вистой и Виндовс 7, что значительно облегчает переход с этих операционок на Linux Mint. Существует множество дистрибутивов, которые можно подобрать для себя в индивидуальном порядке, однако выше две вышеперечисленные системы являются самыми оптимальными для новичков.

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

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

Linux поддерживает технологию Live CD. Чтобы попробовать Linux Вам не нужно его устанавливать на компьютер. Просто нужно записать образ Linux на CD или USB, и загрузится с него. Перед Вами возникнет рабочий Linux, на котором можно всё пощупать и пощелкать. На сегодня в сети хватает учебных материалов и просто полезных советов как обойти все подводные камни новичку при работе с линукс.

Как показывает читательский отклик, интерес к решениям на базе 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

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

Как освоить Linux за неделю

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

1. Проведите ревизия знаний Linux и увидьте аналогии

Постарайтесь трезво оценить свои познания в IT. Очень часто пользователь Windows вообще не обладает никакими знаниями и работает в ОС только благодаря пресловутому интуитивно-понятному интерфейсу. В этом случае потребуется не переучиваться , а начать изучать с азов.

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

2. Ваш начальник поможет вам освоить Linux

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

3. Только Linux, никакого Windows

Новичкам часто дают чудовищный по своему вреду совет: использовать две операционные системы параллельно. Мол, установите Linux второй системой, установите Linux в виртуальной машине, используйте WUBI и так далее. Правда в том, что только полный, тотальный и беспощадный переход исключительно на Linux позволит вам относительно быстро изучить эту ОС. А чему научат две системы? Перезагружаться в Windows каждый раз, когда с Linux возникает проблема?

4. Вы - бог Линукса

Заставьте себя поверить в то, что вы гуру, что вы бог Линукса. Начать создавать эту уверенность следует с простого - с изучения базовых команд. Да-да, без командной строки никуда. Выучив самые часто используемые команды и научившись их комбинировать, вы уже сможете делать очень многое, причем без привязки к конкретному дистрибутиву. Говоря языком метафор, научитесь сначала плавать хотя бы по-собачьи, чтобы перестать паниковать и орать «спасите, помогите». А уже потом спокойно подтянете уровень мастерства и будете плавать баттерфляем.

5. Полюбите свои ошибки, они укажут Путь

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

Чтобы пояснить этот пункт, приведём пример из жизни. Однажды начальство отправило одного гражданина в филиал фирмы, который располагался за тысячи километров от головного офиса. Работник должен был за день организовать внутренний web-сервер на Debian и вернуться, что он с успехом и проделал.

Вернувшись домой, гражданин ощутил сильное желание поиграться с сервером посредством ssh. Ночью с домашнего компьютера он подсоединился к серверу и решил поизучать немного работу iptables. Идея была в том, чтобы разрешить подключение к ssh-серверу только из подсетей фирмы. Идея очень правильная, но пользователь немного не рассчитал свои силы и случайно забанил сам себя (выбрал политику [закрыть все входящие, пропускать только из корпоративной сети] вместо политики [пропустить из корпоративной сети, а остальных забанить]).

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

Как быстро изучить Linux. Подведение итогов

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

  1. Трезво оценить свои знания и не стесняться признавать в них пробелы. Учиться.
  2. Представлять зачем Linux вам и уметь доходчиво объяснять оппонентам зачем Linux им.
  3. Никакого Windows на время изучения Linux.
  4. Перестать сомневаться в себе, выучив минимально необходимый минимум.
  5. Не только не пугаться ошибок, но и использовать их себе на пользу.

Изучение Linux с нуля

Как изучить Линукс быстро и с нуля? Есть только один эффективный способ сделать это. Надеюсь, вы понимаете, что просто прочитав книгу добиться этого невозможно? И даже курсы не особо помогут. Единственный верный способ заключается в том, чтобы скачать так называемый «живой» образ Linux (live cd), запустить его и попытаться работать. Если вы возьмете Ubuntu Linux, то скорее всего у вам получится выполнять все привычные операции без всяких подсказок, так как Ubuntu в разы проще Windows. Работа в интернете, прослушивание музыки, просмотр фильмов, работа с офисными документами и так далее. Всё это доступно из коробки в Ubuntu. И вам даже не нужно устанавливать Ubuntu для первоначального знакомства с системой и ее изучения. так чего вы ждете?

С чего начать изучение Linux

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

Самоучитель Linux для начинающих. Стоит ли использовать?

Определенно не стоит. Выкиньте в мусорку, запустите живой Linux и начните работу. Пытаться освоить Linux по книгам так же эффективно, как пытаться научиться кататься на велосипеде, сидя на диване за книгой. Как сказал Ральф Эмерсон, «Каждая сожженная книга освещает мир». Это касается и самоучителей работы с Linux.

Изучение Linux для администраторов

У вот тут всё намного серьезней. Знать базовые команды вы должны идеально, без гугления и использования команды man . Обязательно нужно знать скриптовый язык программирования (любой) для написания сценариев автоматизации. Еще нужно знать всё то, ради чего используют сервера с Linux: Nginx, MySQL, PostgreSQL, PHP-FPM, Drupal, Wordpress и т.п. Более того, нужно обладать отличными познаниями в области информационной безопасности. Например, нужно знать на зубок все нюансы написания правил для iptables. Уметь защитить сервер просто необходимо. Если ваш сервер хакнут по вашей вине, то в лучшем случае вы отделаетесь увольнением и испорченной репутацией.

Linux для программистов

Основную работу на себя возьмут системные администраторы Linux и DevOps"ы. Программисту, решившему изучить Linux, нужно освоить базовые команды Linux, отдаваемые через терминал. Языки программирования в Linux те же, что и в Windows, так что переучиваться не понадобится.

    Большинство системных администраторов, и многие грамотные пользователи, рано или поздно, но обязательно, заинтересуются свободно распространяемыми и бесплатными операционными системами семейства Linux и, естественно, задумаются над вопросом - "С чего начать?" Нередко, от правильного ответа на данный вопрос, зависит сам факт продолжения знакомства с Linux. Что интересно, в большинстве случаев, задавать вопрос о выборе дистрибутива Linux для новичка даже на хорошем тематическом форуме – занятие неблагодарное, потому что, сколько дистрибутивов – столько и мнений. А их на сегодняшний день - несколько сотен! Хотя подавляющее большинство - это производные от 3-х китов Slackware, Red Hat и Debian. Люди, отвечающие на вопрос о выборе Linux, как правило, не понимают, что выбор дистрибутива для работы, и выбор дистрибутива для знакомства с системой – это разные вещи. При знакомстве с линуксом важнее всего - удобство использования, внешний вид рабочего стола, интуитивно понятный интерфейс, максимальное приближение порядка работы в новой системе к тому, что уже знакомо пользователю, простота настроек и простота установки/удаления программ. Все остальное потребуется потом... или не потребуется вообще. Советовать новичку начинать знакомство с семейством Linux с дистрибутива Slackware - это почти гарантировано вызвать реакцию отторжения. Slackware – хорошая, стабильная, шустрая система, но она мало подходит начинающим пользователям, будучи рассчитана на тех, кто уже обладает некоторым опытом в вопросах установки системы и её конфигурировании. Начинать надо с чего-нибудь попроще, а к Slackware вернуться уже имея некоторый опыт работы. В большинстве случаев, вам посоветуют в первую очередь начать с Ubuntu, т.к. маркетинговая часть у данного проекта работает превосходно. Очевидно не зря, несколько лет данный дистрибутив держался на первом месте по популярности и переместившись на второе место в 2013-2014г, по сегодняшний день уступает только Linux Mint. Также, с большой долей вероятности, вам посоветуют остановить выбор на базовых дистрибутивах - Red Hat или Debian, но… слишком уж они ориентированы на профессиональное использование и, более подходящими для новичка могут оказаться созданные на их основе дистрибутивы, ориентированные на домашнего пользователя.

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

При выборе дистрибутива, конечно, стоит прислушиваться к мнению профессионалов, опытных пользователей и ознакомиться с некоторым количеством обзоров, как например - Linux Distrib Сompare - Сравнение Линукс-дистрибутивов , но все равно, главный выбор можно сделать только исходя из собственного практического опыта. В этом ключе, очень желательно, выбирая "свой" Linux поработать хотя бы с несколькими разными, желательно не родственными, дистрибутивами.

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

  • В упоминаемом выше обзоре, как и во многих других, отсутствует дистрибутив, ставший ответвлением одного из популярнейших в русскоязычном сегменте пользователей проекта Linux Mandriva - дистрибутив Linux Mageia . После финансовых трудностей, возникших у проекта Mandriva в 2010 году, часть команды разработчиков и многие активные пользователи создали новый проект - форк (Fork , ветвь, ответвление), под названием Mageia , который практически, является продолжением Mandriva. Mageia разрабатывается в цикле, составляющем 9 месяцев. Каждый релиз поддерживается два цикла, что составляет 18 месяцев. Mageia имеет два типа установочных дисков:

    DVD ISO и CD ISO двойной архитектуры - оба используют традиционный установщик drakx
    - Live DVD/CD ISO - может использоваться для предварительной оценки дистрибутива без установки на компьютер и последующей установки Mageia на ваш жёсткий диск.

    Будучи одним из самых молодых проектов, Mageia быстро завоевывает популярность, и с 2014 года, по данным ресурса distrowatch.com, прочно удерживает 4-е место в рейтинге.

    В качестве некоторого недостатка современных версий Mageia можно считать более высокую, по сравнению с большинством дистрибутивов, требовательность к оборудованию.

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

  • Дистрибутив Linux Mageia, является не единственным ответвлением проекта Mandriva , что неудивительно, для одного из самых популярных в период 2000 -2010 г.г. дистрибутивов. Начиная с 2011 года, российской компанией ООО "НТЦ ИТ РОСА” выпускается линейка дистрибутивов Rosa Linux . В эту линейку включены серверные версии (Rosa Server) и настольные - Rosa Desktop. Продукты выходят в трёх редакциях - Free (содержит только свободные компоненты), EE (расширенная версия, содержащая несвободные компоненты), LTS (Long Team Support - версия с пятилетним сроком поддержки).

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

    ROSA Fresh - это современная отечественная операционная система Linux, создаваемая сообществом и легально доступная всем желающим совершенно бесплатно и без регистрации. Исходные коды всей системы доступны согласно лицензии GPL. Ключевые особенности ROSA Fresh:

    Два года поддержки обновлениями безопасности

    Повышенная стабильность

    Удобство в использовании даже неподготовленными пользователями, подобранный набор программ для домашнего использования

    - "быстрая установка" Skype, SoftMaker, Free Office, и Viber

    Для игр - поддержка проприетарных драйверов AMD и NVIDIA а также Steam

    Наличие нескольких версий с разным окружением рабочего стола: KDE 4, GNOME 3, MATE (для систем с ограниченными ресурсами), PLASMA 5

    Поддержка 32-битной и 64-битной архитектур для процессоров x86

    Поддержка Secure Boot, UEFI и огромного количества периферии

    Собственные технологии, такие как KLook, ROSA Freeze (заморозка системы), ROSA Image Writer (средство записи дистрибутива на USB-накопитель), ROSA Time Frame, ROSA Media Player (медиапроигрыватель), ROSA Simple Welcome и др.

    Live-режим для ознакомления с дистрибутивом без установки

    Уникальная база поддерживаемого оборудования

    Поддерживается работа программы "1С Предприятие"

    ROSA Enterprise - это семейство операционных систем, предназначенных для использования в корпоративном сегменте.

    Семейтсво состоит из:

    ROSA Enterprise Linux Server (RELS) серверная операционная система. Доступна в редакциях для процессоров Intel 32-бит и 64-бит

    ROSA Enterprise Desktop (RED) операционная система для рабочих станций. Доступна в редакциях для процессоров Intel 32-бит и 64-бит

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

    ROSA Virtualization - система управления виртуализацией. Комплекс программных средств для управления программными гипервизорами (KVM), а также виртуальными машинами (до тысячи машин) и инфраструктурой датацентра в доменной среде. Наличие развитых дискреционной и ролевой моделей разграничения доступа выгодно отличает изделие от аналогичных решений, например, на базе OpenStack. В основном, комплекс используется в частных» центрах обработки данных (ЦОД) корпоративного сегмента либо в ЦОД государственных органов или предприятий. ROSA Virtualization позиционируется как частная "облачная" среда для данных, требующих защиты, которая позволяет не беспокоиться об утечке или неправомерном использовании информации. Преимущество комплекса состоит в том, что его можно начать использовать у себя на предприятии уже через несколько часов после начала установки.

    Комплекс ROSA Virtualization доступен в следующих вариантах:

    Минимальный - создание и выполнение до 25 виртуальных машин

    Стандартный - создание и выполнение до 50 виртуальных машин

    Расширенный - создание и выполнение до 100 виртуальных машин

    Максимальный - создание и выполнение до 1000 виртуальных машин

    Индивидуальный - создание и выполнение до 10 000 виртуальных машин.

    Существует ознакомительный вариант ROSA Virtualization. Доступен всем пользователям, официально купившим (получившим на тестирование) операционную систему ROSA Enterprise Linux Server (RELS). В репозитории RELS имеется предыдущая версия системы управления виртуализацией. Ознакомительная версия не снабжена русским интерфейсом и имеет ограничение на выполнение до трех виртуальных машин.

    Особенностью большой части продуктов компании "Роса" является то, что они сертифицированы Федеральной службой по техническому и экспортному контролю (ФСТЭК ) и рекомендуются для работы с персональными данными, служебной и конфиденциальной информацией. Группы сертифицированных ФСТЭК продуктов:

    РОСА "ХРОМ" - операционная система сертифицированная ФСТЭК России в настольном и серверном вариантах, используется госструктурами и промышленными предприятиями, работающими с органами государственной власти. Рекомендуется для работы с государственной тайной.

    РОСА “КОБАЛЬТ” - сертифицирована ФСТЭК России в настольном и серверном вариантах, используется коммерческими структурами, промышленными предприятиями и органами государственной власти, работающими с конфиденциальной информацией, включая персональные данные.

    РОСА "НИКЕЛЬ" - операционная система, сертифицированная Министерством обороны РФ, может использоваться госструктурами и промышленными предприятиями, работающими с органами государственной власти. Рекомендуется для работы с государственной тайной.

  • Также, в упоминаемом обзоре дистрибутивов Linux отсутствует Linux Mint - довольно распространенное ответвление Linux Ubuntu, ставшее самостоятельным проектом. Данный дистрибутив отличается от Ubuntu более удобной графической оболочкой пользователя, собственным менеджером обновлений и довольно удобным менеджером программ. Linux Mint в июне 2013 года, по версии ресурса DistroWatch.com , стал самым популярным дистрибутивом, сместив Linux Ubuntu на второе место.

  • Знакомство с выбранным дистрибутивом Linux можно начинать с установки его на виртуальной машине, что позволит обойтись без неприятностей, связанных с потерей загрузчиков, личных данных и т. п. Кроме того, большинство средств виртуализации позволяют зафиксировать текущее состояние гостевой ОС (в данном случае Linux на виртуальной машине) с помощью создаваемых снимков системы (Snapshot), и при необходимости, выполнить ее откат на сохраненное состояние. При работе в незнакомой среде - это очень полезное средство для экономии времени и нервов. Наиболее популярными средствами виртуализации на сегодняшний день являются бесплатный Oracle VM VirtualBox и платная Vmware Workstation.

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

  • При работе в командной строке, удобно пользоваться файловым менеджером Midnight Commander , внешне похожим на FAR Manager из Windows.

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

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

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

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

    Форум по Linux на oszone.net . Есть и другие.

  • Не ищите "самый лучший Linux" - такого в природе не существует. Самым лучшим для Вас станет тот, который придется по душе, и с которым Вы будете чувствовать себя комфортно.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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