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

02.08.2019

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

С тех пор, такой способ ввода использовался во многих системах, в том числе DOS и OS/2 от Apple, пока не был придуман графический интерфейс. Затем текстовый режим терминала был успешно вытеснен, но его до сих пор продолжают использовать там, где это нужно.

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

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

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

TTY - это файл устройства, который создается ядром и предоставляет доступ к терминалу для программ. Это могут быть файлы /dev/tty для постоянных текстовых терминалов и /dev/pts/* для эмуляторов терминалов. Вы можете выполнить команду или отправить сообщение просто записав данные в этот файл, и также получить результат, прочитав данные из этого файла.

Эмулятор терминала - это графическая программа, которая предоставляет вам доступ к tty или pts терминалу. Например, Gnome Terminal, Konsole, Terminix, Xterm и многие другие.

Командная оболочка - устройство tty занимается только передачей и приемом данных, но все эти данные должен еще кто-то обрабатывать, выполнять команды, интерпретировать их синтаксис. Командных оболочек достаточно много, это bash, sh, zsh, ksh и другие, но чаще всего применяется Bash.

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

Теперь, когда мы разобрались что такое терминал Linux и знаем все основные принципы, перейдем к практике работы с ним.

Как открыть терминал Linux?

Есть несколько способов получить доступ к терминалу. Ваша система инициализации по умолчанию создает 12 виртуальных терминалов. В одном из них - обычно седьмом, запущена ваша графическая оболочка, но все другие могут быть свободно использованы. Для переключения между терминалами можно использовать сочетания Ctrl+Alt+F1-F12. Для авторизации нужно будет ввести логин и пароль.

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

Второй способ позволяет открыть виртуальный терминал прямо в графическом интерфейсе с помощью эмулятора терминала. Эмулятор терминала linux работает с файлами в каталоге /dev/pts/* и еще называется псевдотерминалом, потому что не использует tty.

В Ubuntu вы можете запустить терминал linux нажав сочетание клавиш Ctrl+Alt+T :

Также его можно найти в меню приложений Dash:

Как видите, открыть командную строку в linux очень просто.

Выполнение команд в терминале

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

Вы можете набрать что-либо и убедиться, что это работает:

Чтобы выполнить команду достаточно написать ее и нажать Enter.

Более того, командная оболочка Bash поддерживает автодополнение, поэтому вы можете написать половину команды, нажать TAB и если на такие символы начинается только одна команда, то она будет автоматически дополнена, если же нет, то вы можете нажать два раза TAB, чтобы посмотреть возможные варианты.

Точно такая же схема работает для путей к файлам и параметров команд:

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

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

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

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

$ команда опции параметр1 параметр2...

Опции часто необязательны и уточняют тот или иной аспект работы программы. Они записываются в форме черточка и символ или двойная черточка и слово. Например -o или --output. Приведем пример для команды ls. Без опций и параметров:

С параметром, указывающим какую папку посмотреть:

С опцией -l, вывести в виде списка:

В с опцией и параметром:

Можно комбинировать две опции:

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

Выводы

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

Об авторе

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

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

Я слышу Вас и я здесь, чтобы помочь.

Что такое Linux?

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

Поэтому, когда Вы говорите Linux, Вы чаще всего ссылаетесь на любую операционную систему, основанную на ядре Linux, такую как Ubuntu или Fedora. Как ядро, Linux не делает ничего самостоятельно. Ему нужен тот, кто свяжет и распространит его со всем программным обеспечением, необходимым для получения финального результата. Когда это происходит, получившееся операционная система Linux становится известной, как дистрибутив (или “distro”).

Что отличает Linux от других?

Чем отличается ядро Linux? Как и большинство приложений, работающих на нем, ядро активно поддерживается сообществом свободного и открытого программного обеспечения (FOSS).

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

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

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

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

В конце концов, хотя использование Linux очень похоже на Windows и macOS, есть аспекты, которые Вам будет необходимо изучить впервые. Мы столкнемся с множеством из них, так как мы движемся вперед.

Вдохнуть жизнь в старый ПК

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

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

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

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

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

Начало работы

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

Выбор дистрибутива

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

Распределения бывают всех форм и размеров. Некоторые из них направлены на новичков, в то время как другие ориентированы на самых ярых сторонников командной строки. Ubuntu, Fedora и openSUSE - это три дистрибутива общего назначения, подходящие для людей всех уровней квалификации.

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

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

Вы можете посетить Distrowatch, чтобы увидеть сотни дистрибутивов Linux. С правой стороны Вы заметите, что есть Топ-100 самых популярных дистрибутивов. Обратите внимание, что трудно оценить, сколько людей используют Linux. Базы Distrowatch ранжируются по популярности веб-сайта каждого дистрибутива. Это дает представление о том, что интересует людей, но вряд ли это представление о том, какие дистрибутивы наиболее широко используются. Ubuntu, например, в настоящее время не считается #1, но он считается самой широко известной версией настольного Linux.

Выбор среды рабочего стола

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

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

GNOME - это среда рабочего стола по умолчанию в Ubuntu, Fedora и Debian. В то время как Windows, macOS и большинство настольных сред Linux отображают ваши открытые окна на панели или док-станции, GNOME не делает ничего подобного.

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

Рабочий стол KDE Plasma - это среда по умолчанию в KDE Neon, Kubuntu и Chakra. Она также популярна среди пользователей openSUSE.

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

Cinnamon

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

Если Вы не хотите заново изучать, как использовать компьютер, переход с Cinnamon может избавить Вас от головной боли. Это среда рабочего стола по умолчанию в Linux Mint.

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

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

Резервное копирование данных

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

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

Для пользователей Windows:

  1. Двойной щелчок по значку «Мой компьютер» на рабочем столе или в меню «Пуск» открываете окно, содержащее список файлов внешнего жесткого диска.
  2. Найдите и скопируйте необходимые файлы, выбрав их и нажав Ctrl + C, активировав список файлов внешнего жесткого диска. Щёлкните внутри окна, которое мы открыли ранее, и нажмите Ctrl + V. В качестве альтернативы Вы можете выбрать файлы и перетащить их в окно внешнего жесткого диска.

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

Проверка спецификаций оборудования

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

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

Допустим, у Вас есть очень редкая Ethernet карта. Вы можете использовать средство System Profiler для обнаружения спецификаций после завершения установки операционной системы.

Если Вы используете Windows, msinfo32 - это небольшая программа, включенная в Windows 2000, Me, XP и более поздние версии. Эта программа дает Вам полное представление о всей технике, присутствующей в вашей системе. Вы можете найти его, открыв меню «Пуск» и введя msinfo32 в поле поиска. В более старых версиях Windows, возможно, придется нажать кнопку «выполнить» в меню «Пуск» и ввести msinfo32 там.

Установка Linux

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

Существует три основных способа установки большинства дистрибутивов Linux на компьютер:

  1. Заменить существующую ОС на Linux
  2. Установить Linux вместе с существующей ОС
  3. Запуск Linux с USB-накопителя

Ниже приведены подробные инструкции по установке Ubuntu на существующую модель Windows или macOS. Выбирая из трех вариантов представленных выше, при замене операционная система будет работать плавно и быстро на вашем компьютере.

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

Хранение копии Linux на USB-накопителе позволяет загружать копию Linux на компьютер друга, в лаборатории или в библиотеке. Этот метод требует наименьших обязательств от Вас и вашего компьютера, так как Вы не затрагиваете свои копии Windows или macOS.

Использование рабочего стола Linux

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

Это рабочий стол Ubuntu. В то время, как Canonical добавила несколько собственных интересных элементов, интерфейс, который Вы видите, не является эксклюзивным для Ubuntu. Это GNOME.

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

Поиск дополнительного программного обеспечения

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

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

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

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

Хотя загрузка установщиков непосредственно с веб-сайтов не является предпочтительным способом получения программное обеспечение Linux, бывают случаи, когда это единственный вариант. Например, как Вы устанавливаете Google Chrome. Это также распространенный способ установки коммерческих игр из интернет-магазинов, таких, как Humble Bundle и GOG. Просто знайте, что Вы не будете искать EXE. Более вероятно, что вместо этого Вы скорее всего найдете упакованные файлы, такие DEB, RPM, SH, или один из многих других форматов для Linux.

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

Установка обновления

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

Скачивание мультимедийных кодек

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

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

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

Поиск дополнительных драйверов

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

Если у Вас графические сбои или Вы не можете просматривать сети Wi-Fi, Вам возможно потребуется установка проприетарного драйвера. Это программное обеспечение, которое дистрибутивы Linux не позволяют установить предварительно, так что Вы должны сделать это сами. То, как Вы это сделаете, может варьироваться в зависимости от того, какой дистрибутив Вы используете. Если Вы выбрали Ubuntu, Вы можете найти раздел для установки драйверов внутри программного обеспечения и обновления приложения. Software & Updates app.

Что делать, когда Вам нужно определенное программное обеспечение?

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

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

Эмуляции

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

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

Поскольку настройка Wine может быть сложной, есть программы, которые постараются сделать тяжелую работу за Вас. Есть два популярных примера -PlayOnLinux и Crossover Linux. Последнее является платным приложением, которое также существует для Windows и macOS.

Виртуальные машины

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

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

Все готово!

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

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