что такое система линекс
Линукс для начинающих и его практическое применение
Что такое Линукс
реклама
Первые Линукс изначально были написаны программистами для самих себя. Позднее увеличился выбор программ и появились различные графические интерфейсы (GNOME, KDE, Cinnamon, MATE, XFCE).
реклама
реклама
Разновидностей Линукс довольно много, самые популярные: Linux Mint, Ubuntu, Debian, Mageia, Fedora, OpenSUSE, ArchLinux, CentOS, PCLinuxOS, Slackware.
В России были созданы собственные версии Линукс: Rosa, ALT Linux, ASPLinux, НауЛинукс, Calculate Linux, Runtu, Rosinka, Astra Linux. Их последние годы внедряют в государственных учреждениях.
реклама
Плюсы и минусы Линукс
У Линукс, как и любой другой операционной системы, есть свои достоинства и недостатки. Поэтому прежде чем переходить на одну из ОС этого семейства, изучите её преимущества, а также некоторые особенности, которые в будущем могут сказаться на эффективности Вашей работы.
Основные достоинства Линукс:
Недостатки Линукс, с которыми её разработчики постоянно борются:
Применение Линукс на практике
В интернет-кафе
Линукс позволяет использовать относительно устаревшие компьютеры для комфортного сёрфинга в интернете. На такие компьютеры нет необходимости ставить антивирус и переживать, что кто-нибудь из пользователей что-то закачает и заразит всю локальную сеть интернет-кафе. Linux более экономно обращается к жёсткому диску ПК, поэтому по быстродействию он не сильно отстаёт от SSD.
Для обучения ребёнка
Дети любят необычный дизайн и яркие краски, многие версии Линукса предлагают подобный интерфейс. Можно не бояться, что ребёнок поймает вирус в интернете, а также он не будет жаловаться, если будет сидеть за стареньким компьютером, поскольку тот будет работать вполне резво.
Для встречи с клиентами и проведения презентаций.
Линукс имеет открытый код, а значит Вам не придётся оплачивать лицензию, как в случае с Виндовс. Для презентаций есть отличная замена Майксофт офиса – WPS office, используя его Вы покажете своим клиентам отличные знания компьютера, так как в основном опытные пользователи решаются установить Linux, а полностью на него переходят, только самые продвинутые.
В командировках
Если в командировке Вам нужно работать с почтой и текстовым редактором, а смартфон неудобен для этих целей, то можно приобрести слабый ноутбук, который на Линуксе будет работать на уровне более дорогих моделей. Линукс имеет шикарную подборку программ для работы специалистов всех сфер деятельности. Можно не бояться вставлять флешки с различных презентаций (если на них будет вирус, то ваш ноутбук он не поразит).
Для путешественников
Путешествуя, вам придётся скачивать различные программы, например, карту местности, читать много текста вроде списка местных законов и описания достопримечательностей. За пиратские программы во всём мире наказывают строже, чем в России, поэтому все Ваши программы должны быть либо куплены, либо быть бесплатными.
Для серверов
Высокая надёжность Линукса позволяет использовать его в качестве серверной операционной системы. Например, если у человека есть старый ПК, и он хочет запустить на нём свой сайт или онлайн-магазин.
Для обучения программистов и системных администраторов
Линукс позволяет проводить очень тонкую настройку любых своих функций, поэтому незаменим как для работы, так и для обучения будущих компьютерщиков.
Большая просьба к пользователям Линукс, напишите в комментариях, какой именно версией ОС Вы пользуетесь и какие задачи она решает?
Что такое Linux? История создания Linux
Обновл. 21 Ноя 2021 |
Раньше компьютеры были такими большими, что могли занимать целую комнату или даже дом. Вы только представьте себе, как трудно было ими управлять. Более того, каждый компьютер имел свою собственную операционную систему, в результате чего работать с такими машинами было жутко неудобно. Программное обеспечение таких компьютеров было узкоспециализированным, и не могло работать на другом компьютере. Не говоря уже о том, что подобная техника стоила таких невообразимо больших денег, что обычные люди не могли себе этого позволить.
В качестве решения вопроса с операционной системой компанией AT&T была создана операционная система Unix, которая дала старт возникновению открытого программного обеспечения и созданию Linux. Но давайте по порядку.
История возникновения Unix
В 1969 году команда разработчиков в лице Кена Томпсона, Денниса Ритчи и Дугласа Макилроя из исследовательского центра «Bell Labs» компании AT&T начала проект по созданию единой операционной системы (сокр. «ОС») для всех компьютеров, назвав её — «Unix». Первая версия системы была написана на Ассемблере. В 1972 году для того, чтобы переписать систему на более простой язык, Деннис Ритчи создает язык программирования Си, благодаря чему, 15 октября 1973 года выходит новая версия Unix (четвертая), ядро которой было переписано на Си. А через 2 года (в 1975 году) появляется уже полностью написанная на языке Си редакция Unix (пятая).
Долгое время операционная система являлась лишь исследовательским проектом, но в 1973 году проходит конференция Ассоциации по вычислительной технике (сокр. «ACM» от «Association for Computing Machinery»), на которой создатели Unix рассказывают о своей системе, и к ним сразу же начинают обращаться люди с просьбой поделиться её копией. И тут стоит отметить одну очень важную историческую деталь, которая сыграла свою роль в дальнейшем развитии событий. Дело в том, что в 1956 году компания AT&T (являющаяся на тот момент монополистом на американском рынке местной и междугородней связи) завершает очередное разбирательство с федеральными властями и антимонопольным комитетом по поводу своего монопольного положения, результатом которого становится подписание соглашения, накладывающее на AT&T ограничения по продажи продуктов и услуг, не связанных напрямую с телефонами и телекоммуникациями. А это значит, что Unix не могла продаваться всем желающим её заполучить. В связи с этим фактом, распространение исходных кодов системы Unix происходило абсолютно бесплатно.
Первоначально Unix использовалась в основном в университетах и крупных финансовых корпорациях. К 1978 году насчитывалось около 600 машин с установленной на них системой Unix.
Появление проекта GNU
В восьмидесятые годы 20 века многие компании, в числе которых IBM и HP, начали создавать свои собственные (в том числе и коммерческие) версии системы Unix. Это привело к путанице дистрибутивов Unix. И к тому же фирмы, продающие свои дистрибутивы, прямо запрещали распространять их исходные коды. Из-за этого другие программисты не могли применять уже внедренные к тому моменту новые компоненты системы, и им приходилось писать их заново.
В 1982 году программист из Массачусетского технологического института (MIT) Ричард Столлман сталкивается с проблемой того, что существующая на тот момент коммерческая лицензия программного обеспечения, с которым он вынужден работать, ограничивает свободу своего использования и не позволяет Столлману обмениваться исходными кодами ПО даже в стенах института.
Поэтому, в 1983 году, с целью создать доступную полноценную Unix-подобную операционную систему с открытыми исходными кодами, обмениваться которой смогут все желающие, он начинает разработку проекта GNU (сокр. от «GNU is Not Unix»).
В рамках проекта GNU создаются необходимые для разработки ядра системы компоненты: текстовый редактор Emacs, набор компиляторов gcc, интерпретатор bash, архиватор gzip, утилиты sed, gawk, Autoconf и многие другие. Помимо этого, в 1988 году с целью юридически закрепить за пользователями права на копирование, модифицирование и распространение программ и исходных кодов проекта GNU, Столлманом публикуется лицензия GNU GPL (сокр. от «GNU General Public License» = «Универсальная общественная лицензия GNU»). Однако, несмотря на все его успехи, даже спустя 8 лет после старта проекта, не хватало самого важного компонента операционной системы — её ядра…
История создания Linux
В январе 1991 года, финский студент Линус Торвальдc, находясь под впечатлением от купленной им книги «Проектирование и реализация операционных систем» автора Эндрю С. Таненбаума, с целью детального изучения концепций и строения ОС Unix, решает купить новый компьютер на базе процессора Intel 80386, на который ставит разработанную Таненбаумом учебную ОС Minix.
Но учебная система — она на то и учебная, что обладает рядом недостатков. В частности, в Minix не только была плохая эмуляция терминала, но и не было возможности перевести в фоновый режим программу, которой временно не пользуешься.
И тогда в августе 1991 года Торвальдс объявляет в сети Usenet о том, что создает свою собственную (свободную) операционную систему с открытыми исходными кодами — Linux. Стоит отметить, что в тот момент речь еще не шла о полноценной системе, скорее это был её прообраз в виде ядра.
17 сентября того же 1991 года, без каких-либо особо публичных объявлений, выходит Linux версии 0.01.
Вскоре после этого, 5 октября, Торвальдс представляет версию 0.02, ставшей первой «официальной» версией своей ОС.
А уже 16 апреля 1994, когда, по мнению Линуса, система стала полностью работоспособной, вышел первый, после более чем двух лет развития, мажорный релиз системы — Linux 1.0.
Открытие исходных кодов операционной системы сыграло решающую роль в дальнейшем развитии Linux. Но необходимо все-таки помнить, что технически Linux — это только лишь ядро, без сопутствующих прикладных программ. Полноценной ОС его делает сопутствующее программное обеспечение. Пока роль такого программного обеспечения играли компоненты учебной системы Таненбаума.
Позже, когда Linux немного «окреп и встал на ноги», приложения из проекта GNU заменили соответствующие программы из Minix, так как лицензия (GNU GPL) на исходные коды программ проекта GNU была более удобна для применения в молодой операционной системе.
Таким образом, миру явилась полноценная работающая операционная система под названием «GNU/Linux», которую мы привыкли называть просто «Linux», состоящая из ядра Linux, написанного Торвальдсом, и окружающего программного обеспечения, созданного в рамках проекта Столлмана, GNU.
Что такое Linux?
Linux — это семейство Unix-подобных операционных систем, использующих ядро Linux, которое разработал финно-американский программист Линус Торвальдс. ОС, использующие ядро Linux, называются дистрибутивами Linux, и они являются такими же операционными системами как Microsoft Windows или Apple macOS, но с одной очень важной особенностью, а именно — их исходные коды являются открытыми, так как они распространяются под лицензией GNU GPL, которая подразумевает создание свободного и открытого программного обеспечения (open source software). Это означает, что у любого пользователя есть право изучать и изменять исходный код.
Примечание: Стоит отметить, что есть также и платные дистрибутивы Linux, например, Red Hat Enterprise Linux, Astra Linux Special Edition и др.
Официальным талисманом Linux с 1996 года является пингвин Tux (сокр. от «Torvalds UniX«). Идею использовать пингвина в качестве талисмана Linux выдвинул создатель этого ядра Линус Торвальдс.
Пингвин Tux — талисман Linux
GNU/Linux или Linux?
В сообществе программистов существует спор об именовании операционных систем, использующих ядро Linux и программное обеспечение, разработанное под лицензией GNU GPL. Поскольку ядро Linux само по себе не является работающей операционной системой, то многие предпочитают использовать термин «GNU/Linux».
Примечание: Поскольку статьи цикла «Уроки по Linux» имеют цель донести простыми словами о Linux-системах и их использовании для начинающих, то ради сохранения простоты и лаконичности мы будем использовать термин «Linux», обозначающий операционные системы, работающие на базе ядра Linux.
Вы же можете использовать как термин «Linux», так и термин «GNU/Linux».
Архитектура Linux-систем
На следующем рисунке показана архитектура Linux-систем:
«Железо» — аппаратное обеспечение компьютера (процессор, видеокарта, оперативная память и пр.) со всеми его периферийными устройствами.
Ядро — является основным компонентом операционной системы, взаимодействует непосредственно с аппаратным обеспечением, играя роль посредника между низкоуровневым «железом» и компонентами верхнего уровня.
Оболочка (или «shell», «командный интерпретатор») — интерфейс для взаимодействия между пользователями системы и ядром ОС, абстрагирующий внутреннее устройство системы. Принимает команды от пользователей и запускает на выполнение соответствующие функции.
Утилиты (vi, cat, sed, date, компиляторы и др.) — служебные программы, которые предоставляют пользователю большую часть функциональных возможностей операционной системы.
Ядро Linux
Ядро — это своего рода главная программа, являющаяся основной частью операционной системы. Оно выступает в роли посредника между устройствами компьютера (процессором, видеокартой, оперативной памятью и т.д.) и его программным обеспечением, абстрагируя от обычных программ и пользователей сложную, низкоуровневую работу с «железом» компьютера, предоставляя взамен простой, понятный и удобный в использовании интерфейс. Для этого в код ядра были включены драйверы устройств, которые могут как загружаться в память вместе с ядром ОС, так и подключаться по мере возникновения потребности в ресурсах необходимого устройства.
Примечание: Ядро Linux было разработано в 1991 году программистом Линусом Торвальдсом. Об этом снят документальный фильм «Revolution OS» (2001 г.).
Как вы наверняка знаете, на компьютере может быть запущено сразу несколько программ: какие-то из них работают в фоновом режиме, другие могут ожидать определенных действий от пользователя, а третьим необходимо получать информацию из другой запущенной программы. В такой ситуации именно ядро берет на себя функцию оптимального распределения ресурсов компьютера между запущенными программами и организацию параллельной работы множества различных процессов. Оно первым загружается в оперативную память компьютера и всегда находится в запущенном состоянии, постоянно взаимодействуя с его аппаратным обеспечением и установленными программами.
Как правило, большинство ядер делятся на три типа:
Микроядро — это ядро, состоящее из нескольких подгружаемых в память по мере надобности независимых модулей, выполняющихся в отдельных адресных пространствах. По сути, в таком варианте исполнения оно не сильно отличается от обычных прикладных программ. К достоинствам данного ядра можно отнести теоретически большую надежность в сравнении с другими архитектурами (в действительности же не всё так радужно и гладко) и его модульность (легкость в подключении дополнительных частей ядра). К минусам микроядерной архитектуры относится то, что ядро, построенное по такой схеме, получается очень медленным (ведь ему нужно постоянно переключаться между отдельными частями).
Монолитное ядро — это полная противоположность микроядра, т.к. в памяти компьютера всегда находится весь (или почти весь) код ядра, вследствие чего скорость его работы выше в сравнении с микроядром.
Гибридное ядро — это ядро, сочетающее в себе элементы как монолитной, так и микроядерной архитектур.
Ядро Linux хоть и относится к монолитным ядрам, но оно также заимствует и некоторые идеи из микроядерной архитектуры, что означает, что вся операционная система работает в пространстве ядра, а драйвера устройств (в виде модулей) могут быть легко загружены (или выгружены) прямо во время работы операционной системы.
Заключение
Linux поддерживает целый ряд аппаратных устройств от телефонов и до суперкомпьютеров. Каждая операционная система на базе ядра Linux имеет ядро Linux и набор ПО для управления аппаратными ресурсами компьютера.
На следующих уроках мы детально рассмотрим тему лицензии GNU GPL, сравним Linux и Windows, выполним обзор дистрибутивов Linux и продолжим наше погружение в изучение Linux.
Поделиться в социальных сетях:
Обзор Линукс (Linux) — просто о сложном
Это вступительная статья про операционную систему Линукс (Linux). В ней мы пробежимся по основным моментам и особенностям ОС Линукс. Весь материал ориентирован на новичков и написан доступным языком.
1. Что такое Линукс простыми словами
Помимо самой ОС Линукс, все пакеты (программы) бесплатны. Это крайне ценится на западе, поскольку у них слабо развито пиратство. Большинство из них платят за программные продукты, которыми они пользуются. В России ситуация не такая. Практически каждый считает, что софт является бесплатным, хотя практически все популярные программы являются платными.
Существует несколько графических интерфейсов или GUI (мы рассмотрим их далее). В большинстве случаев он очень напоминает X Window System, поэтому, кто умеет пользоваться Windows легко освоит и Linux.
Кто является владельцем
ОС Линукс никому не принадлежит. Точнее можно сказать, что она принадлежит сообществу программистов. На бесплатной основе каждый желающий может вносить свои изменения, которые в дальнейшем принимаются сообществом.
Собственно говоря усилиями десятков тысяч программистов и был создан Линукс. Изначально первыми пользователями были опытные пользователи ПК. Сейчас все больше становится и обычных пользователей Линукса.
Отличительно и то, что Линукс работает на всех архитектурах: DEC Alpha, x86, x86-64, ARM и PowerPC.
Линукс является ядром операционной системой, поэтому на профессиональном уровне можно сказать, что Линукс это не ОС, а лишь ядро, но для обычного обывателя для начала работы это мало имеет значение. Ядро Линукс похоже на движок.
Зачастую в различных источниках можно увидеть название «GNU/Linux» (по сути это то же самое, что и Linux). Однако в среде профессионалов даже разгораются жаркие дискуссии по этому поводу.
Тех, кто пользуюется ОС Линукс зачастую называют «линуксойдам».
Говоря про Linux нельзя не упомянуть про проект GNU — это концепция свободного бесплатного программного обеспечения. Основатель Ричард Столлман.
2. История появления Linux
Первым разработчиком и создателем Linux считается «Линус Торвальдс». Собственно в честь его имени и была названа ОС. Торговая марка «Linux» принадлежит его создателю.
В далеком 1981 году он стал работать над собственной операционной системой семейства Unix. В 1984 году на свет появилась первая ее версия доступная для скачивания. В то время ей пользовались буквально пару человек.
Однако широкое распространение система получила лишь 10 лет спустя. После этого сообщество программистов подхватили основную идею GNU и стали вкладывать свои усилия в развитие проекта.
Логотипом и талисманом Linux является пингвин «Tux». От «обычных» пингвинов отличается жёлтым цветом клюва и лап. Придуман и запатентован в 1996 году Ларри Юингом.
В 20 веке Linux стал еще более популярным. Это уже давно не любительский проект, а полноценная операционная система, которая насчитывает миллионы строк кода.
3. Особенности Linux
Перечислим основные особенности ОС Linux.
1 Большинство пользователей среду Линукса являются программисты и администраторы. Это довольно опытные и «прошаренные» пользователи. Поэтому их не пугает то, что очень много действий приходится делать через терминал (консольная строка). Для любителей Windows это покажется настоящим «маразмом», но со временем к терминалу быстро привыкаешь:
Для более быстрого «общения» с командной строкой можно использовать кнопку «Tab», которая сразу подскажет все команды начинающиеся на введённый набор символ или же сразу применит автозаполнение, если возможен лишь один доступный набор.
2 Большинство серверов (хостинги, хранилища и прочее) используют в качестве основной ОС Линукс. Это связано с тем, что она бесплатна, проще настраивается и более стабильна. Однако среди обычных пользователей бесспорное лидерство занимает Windows. Лишь 5% населения пользуются Линуксом в качестве домашней операционной системы.
3 Linux является многозадачной и многопользовательской операционной системой. Windows в этом плане также сильно преуспел, но все же его возможности не очень удобные для работы нескольких пользователей
4 В Linux нету жестких дисков, как на Windows. Здесь все хранится в едином каталоге, который начинается с «/» (корневой каталог, root directory). Файлы пользователей лежат в каталогах «/home/name_users/».
5 Программные оболочки bash или tcsh. С помощью них Linux выполняет команды пользователей. Отдаваемая команда относится к текущему каталогу (current directory). Домашний каталог можно обозначать символом «
» (тильда). Это аналог «/home/name_users/»
6 Файловые системы в Linux отличны от Windows:
Стоит отметить, что Линукс поддерживает очень много файловых систем (в том числе Windows-ие NTFS, FAT32). Напомню, что Windows не поддерживает ext4. Про файловые системы Linux будет рассказано более подробно в отдельной статье.
7 Существует два вида дистрибутивов Linux, которые делятся по способу организации и управления программным обеспечением (пакетами)
8 Процессы разделены по ресурсам. Чтобы добавить новое устройств нужен драйвер. Его можно написать самостоятельно и запустить в ядре. Драйверы устройств либо интегрируются непосредственно в ядро, либо добавляются в виде модулей, загружаемых во время работы системы.
9 В Linux все считается файлами: жесткие диски, разделы, папки, приводы оптических дисков, съемные носители информации.
4. Дистрибутивы Linux — что это и какие они бывают
Говоря простыми словами:
Существуют множество видов дистрибутивов Linux. Самые распространённые в мире дистрибутивами являются:
Интересными дистрибутивами также являются и те, которые можно самостоятельно собрать. К таким относятся LFS, Gentoo, CRUX.
Линукс также практикует такой вид дистрибутивов, которые не требуют установки на жесткий диск. Они работают в режиме «LiveCD». Информация загружается в оперативную память и уже работает с нее. Примеры таких систем: Knoppix, Fedora.
Существуют и чисто российские версии:
5. Интерфейсы Linux
Поскольку дистрибутивов много, то и различных версий оформления рабочего стола/панели инструментов также много. Однако в Линуксе придумано несколько стандартов, которые поддерживаются популярными версиями ОС.
6. Репозиторий Linux
В Linux все программы (пакеты) хранятся в репозиториях, который представляет из себя сервер, где программисты выкладывают софт. Здесь можно скачать самые последние и актуальные версии программ.
Для Линукса репозиторий это аналог Play Market для Android.
Чтобы скачать пакет необходимо в терминале написать:
Linux за 30 минут. Руководство по выбору и использованию Linux для новичков
Содержание статьи
Огромное количество хакерского софта работает только на Linux и собрано в специализированных дистрибутивах вроде Kali. К тому же при пентесте ты часто будешь сталкиваться с системами на Linux и должен уметь с ними обращаться. Да и просто полезно иметь опыт работы с этой мощной, абсолютно бесплатной системой. В жизни пригодится, поверь!
В этой статье мы попытаемся рассказать все, что сами хотели бы знать, когда начинали интересоваться «Линуксом» много лет назад. Это и теоретические сведения, которые помогут ориентироваться, и вполне практичные советы.
Важное предупреждение
По уровню сложности это не вполне характерная для «Хакера» статья — она рассчитана на совсем‑совсем новых пользователей. Мысль о ней появилась, когда мы стали компоновать подборку материалов об использовании Linux и обнаружили, что у нас нет ничего, что подошло бы в качестве самого начала. А если и есть, то покрыто толстыми мхами.
Если ты против таких статей в «Хакере», можешь, конечно, отметиться в комментариях, но, право слово, лучше иди почитай про эксплуатацию ядра или про то, как писать минималистичный бэк‑шелл на ассемблере. Благо таких статей у нас большинство и менять в этом плане мы ничего не собираемся.
Если же тема кажется тебе в самый раз, то пристегивайся — наш звездолет отправляется, чтобы пронестись по основам Linux со сверхсветовой скоростью.
Какой бывает Linux
Первое, с чем сталкивается человек, желающий установить Linux, — это огромное разнообразие дистрибутивов. Все эти названия просто невозможно упомнить, но в реальности и не нужно.
Три основных семейства дистрибутивов, о которых нужно знать в первую очередь, — это Debian, Red Hat и Arch. Еще можно вспомнить SUSE, Mandriva и Gentoo, но деньки их славы уже позади, да простят нас их пользователи!
Chrome OS — это тоже внутри вполне настоящий Linux, и в новых версиях поддерживается запуск программ для Linux. Но в один ряд с другими дистрибутивами эту ОС все же не поставишь.
Из семейства Debian в первую очередь стоит обратить внимание на Ubuntu. Это и есть самый очевидный выбор, если ты раздумываешь, с чего начать. Компания Canonical, стоящая за Ubuntu, прикладывает огромные силы для того, чтобы этот дистрибутив хорошо работал и был дружелюбен к пользователю. Для этого дистрибутива имеется широчайший выбор стабильно работающих программ — ты точно не будешь испытывать в них недостатка.
Свежеустановленный Ubuntu
Стандартный набор приложений в Ununtu
К тому же у Ubuntu огромное сообщество, что значительно упрощает решение проблем: в 99% случаев ты будешь не первый, кто испытывает ту или иную сложность. Просто копируй сообщение об ошибке, и наверняка найдешь ветку форума, где более опытные товарищи объясняют другим пострадавшим, как с этим справиться.
Есть и другие популярные дистрибутивы, основанные на Debian, — к примеру, Raspberry Pi OS, MX Linux или Kali Linux. А на Ubuntu базируются Linux Mint, elementary OS и многие другие. Кстати, Mint и elementary тоже неплохие варианты для новичков.
Ставить Kali в качестве первой системы обычно не рекомендуют: этот узкоспециализированный хакерский дистрибутив плохо приспособлен для повседневной работы, и устанавливать его предполагается в виртуалку или в качестве второй ОС. К тому же он под завязку забит хактулзами вместо обычных приложений, что будет сбивать с толку. Но если ты ставишь Linux специально, чтобы заполучить все это богатство, то кто мы такие, чтобы тебя останавливать?
Что до самого Debian, то его главная фишка — это лицензионная чистота. Разработчики внимательно следят за тем, чтобы в него не попало ни строчки кода, который распространяется не по свободной лицензии. Что может быть и похвально с точки зрения идеологии, но, когда ты хочешь освоиться с Linux, скорее всего, обернется разного рода сложностями.
К семейству дистрибутивов Red Hat относятся в первую очередь Fedora, Red Hat Enterprise Linux (RHEL) и Rocky Linux. На обычный ПК есть смысл ставить «Федору», тогда как RHEL — это коммерческое решение для серверов, а Rocky Linux — его некоммерческий клон, созданный сообществом.
Fedora Linux
И наконец, Arch — это крайне интересный «гиковский» дистрибутив, который ты можешь сам собрать по кирпичикам и настроить как тебе захочется. Однако нырять в это без предварительных познаний в Linux не советуем. Решая проблемы, ты, конечно, приобретешь много ценных знаний, но это далеко не самый простой путь, и лучше отложить хождение по нему на потом.
У Arch есть и менее суровые вариации — Manjaro и EndeavourOS. В обеих хотя бы присутствуют заранее настроенные и подготовленные к работе окружения, но тоже аскетичные. С другой стороны, отсутствие необузданного разнообразия может быть плюсом при первом знакомстве, так что начинать с Manjaro — не такая плохая идея. Особенно если ты планируешь ставить Linux на слабый компьютер.
Manjaro для ARM
Not Unix
В чем отличие Linux от Unix? Если очень‑очень упростить, то можно сказать, что Unix — это предок Linux. Более сложный и развернутый ответ требует немного углубиться в историю.
В семидесятые годы Ричард Столлман придумал клонировать коммерческий и по тем временам дорогостоящий Unix и создать свою операционку, которую он назвал GNU is not Unix или просто GNU. Столлман и компания переписали все компоненты Unix и опубликовали их под придуманной ими «вирусной» лицензией GPL.
Изначально словом Linux называли только созданное Линусом Торвальдсом ядро. Но название Linux и маскот‑пингвин быстро прижились, и ими теперь обозначают всю ОС — несмотря на возражения Столлмана и просьбы писать только GNU/Linux.
Linux в эпоху интернета стал быстро набирать популярность, и коммерческим вариантам Unix со временем просто не осталось места. Тем не менее до сих пор живы его потомки — операционные системы FreeBSD и OpenBSD, которые теперь бесплатны и многое заимствуют из современного «Линукса». Кстати, на FreeBSD основаны macOS и iOS.
Получается, что выбор дистрибутива — это в первую очередь выбор подхода и даже идеологии. Однако более приземленным ориентиром обычно служит набор основных компонентов, из которых строятся дистры. Давай обсудим главные из них.
Ядро, хоть и критически важно для работы системы, особо не интересно с точки зрения пользователя — взаимодействовать с ним напрямую тебе вряд ли придется, пока ты не станешь настоящим гуру.
Возможно, ты часто слышал про «сборку ядра» и можешь даже самостоятельно попробовать сделать это. Поскольку ядро Linux монолитное, в него должна входить поддержка множества вещей, которые касаются всех аспектов работы компьютера. Соответственно, перед сборкой можно и нужно задать кучу всяких настроек, но ничего особенно увлекательного в этом, поверь, нет, хотя процесс крайне познавательный.
В системе может одновременно присутствовать сколько угодно ядер, а какое именно будет использоваться, ты можешь выбрать в загрузчике. Апгрейд ядра до более новой версии — совершенно рутинное дело в Linux и обычно происходит автоматически.
Пакетный менеджер
Любой Linux состоит из тысяч мелких компонентов — программ, библиотек и ресурсов (например, файлов конфигурации, наборов иконок и так далее). Распространяются они в виде пакетов (package).
Пакетный менеджер — это специальная программа, которая выполняет установку, настройку, удаление, а также обновление как отдельных приложений, так и всей системы в целом или ее компонентов.
Очень часто один пакет требует для работы наличия других, и следить за этими зависимостями вручную на современной системе невозможно. Поэтому основа каждого дистрибутива — это пакетный менеджер, который рулит установкой и обновлением софта. В дистрибутивах, основанных на Debian, он называется APT, в Red Hat — DNF, а в Arch — pacman.
Пакеты менеджер берет из репозитория — большого склада, куда создатели дистрибутива загружают их. Репозиториев зачастую можно подключить сразу несколько. Например, в Ubuntu есть четыре основных: Main (поддерживаемый разработчиками), Universe (поддерживаемый сообществом), Restricted (с проприетарным ПО) и Multiverse (с ПО, на которые действуют несвободные лицензии).
Поскольку вскоре после установки Linux ты обнаружишь необходимость в драйверах для железа, дополнительных шрифтах, кодеках и тому подобных вещах, скорее всего, понадобится разрешить системе доступ к запятнанным коммерцией репозиториям. В Ubuntu это делается в меню «Программы и обновления».
Графическая система
Далеко не каждый Linux снабжен графической системой или вообще нуждается в ней — очень многие действия здесь можно делать и из командной строки. Однако современный рабочий стол — это все же иконки и окошки.
Чтобы работать с графикой, в Linux должны присутствовать сервер дисплея X.Org (традиционный вариант) либо новомодный композитор Wayland, на который сейчас переходят наиболее передовые дистрибутивы. Плюс требуется оконный менеджер — программа, которая отвечает за то, как выглядят и работают элементы интерфейса.
Впрочем, это всё довольно низкоуровневые подробности, нырять в которые с ходу не обязательно. Куда скорее тебе придется задуматься о выборе рабочей среды (Desktop Environment, DE). Это совокупность оконного менеджера и разного рода программ, мелких (например, рисующих разные панели, рабочий стол, виджеты) и крупных — вроде файлового менеджера. Сюда же обычно входит и набор базового софта: календарь, почтовик и прочее в таком духе.
Самые известные оконные среды — это GNOME и KDE. Но в реальности их список гораздо длиннее. Любители минимализма могут присмотреться к Xfce или LXDE, а Ratpoison, dwm, i3 и xmonad предоставляют среду с неперекрывающимися окнами, что некоторые находят удобным.
А еще от GNOME отвалились проекты MATE и Cinnamon — их разработчикам не понравился интерфейс GNOME 3, и они продолжили развивать вторую ветку. А в elementary OS используется своя среда под названием Pantheon, которую не встретишь больше нигде. В общем, разнообразие огромно!
Создатели дистрибутивов, в которые входит графическая среда, обычно выбирают одну или несколько сред, которые будут поддерживать официально. Но при этом тебе ничто не мешает поменять DE или установить одновременно больше одной, чтобы переключаться между ними или использовать программы одной среды из другой. Пробуй, экспериментируй, и сам поймешь, что тебе ближе.
Командный интерпретатор
В Linux командных интерпретаторов существует множество, и, если для Windows они лишь вспомогательное средство администрирования, здесь это один из основных и очень мощных инструментов работы с системой.
Собственно, сама история Linux началась именно с командной строки, точнее терминала или даже телетайпа. Графический интерфейс к нему приделали уже значительно позже. Именно поэтому командную строку в Linux часто называют «эмулятор терминала», а процессы с ними носят префикс tty (teletype).
Как ты знаешь, с использованием команд в Windows можно писать скрипты, автоматизирующие какие‑либо действия: пакетные файлы (batch files) были в ходу еще со времен MS-DOS, а PowerShell заметно расширил и углубил эту технологию. В Linux можно делать то же самое: собранный в файл набор команд интерпретатора может работать как сложная программа, а сами команды являются по большому счету языком программирования.
Наборы команд, сохраненные одним файлом, принято называть сценариями или скриптами. Все скрипты в Linux начинаются с символов #! (это сочетание называется «шебанг») и пути к интерпретатору — команде, которая будет исполнять скрипт.
Стандартным командным интерпретатором в Linux является bash — обновленная и модернизированная версия командной оболочки Bourne shell, которая была изобретена Стивеном Борном в 1978 году и использовалась еще в классическом Unix.
Прожженные линуксоиды предпочитают ставить вместо bash более продвинутый интерпретатор — Z shell (ZSH), обратно совместимый с bash, но имеющий по сравнению с ним множество улучшений. Для этой оболочки сообществом был разработан специальный открытый и бесплатный фреймворк Oh My ZSH, который содержит множество плагинов для автоматизации работы с командами и скриптами. Как минимум Oh My ZSH позволяет использовать красивые темы оформления окна командной строки, благодаря которым окружающие точно сочтут тебя гениальным хакером.
Предупредим о проблеме, с которой моментально сталкивается каждый новый пользователь Linux. Если ты зайдешь в какой‑то каталог и попытаешься написать название исполняемого файла, чтобы запустить его, то ничего не получится. Почему?
И еще один очень важный момент. В Windows тип файла определяется его расширением — в зависимости от него командный интерпретатор и оболочка определяют, как они будут обрабатывать файл. В Linux все устроено немного по‑другому: у bash полностью отсутствует какое‑либо уважение к расширениям файлов. Исполняемый файл отличается от обычного не расширением, а наличием права на его исполнение: если оно есть, система считает такой файл программой (или скриптом) и пытается выполнить. О правах на файлы мы подробнее поговорим чуть дальше в соответствующем разделе.
Домашний каталог и скрытые файлы
Поскольку Linux изначально задумывался как многопользовательская операционная система, все пути к «домашним» папкам, переменные окружения, программы, которые запускаются при открытии терминала, и другие настройки задаются в профиле пользователя. У разных юзеров они, соответственно, разные. Благодаря этому ты можешь, например, настроить системное окружение так, как комфортно именно тебе.
Чтобы указывать на домашний каталог, очень удобно использовать символ
. Так, вместо / home/ vasya/ можно писать просто
Необходимый минимум команд
Итак, запоминай самые важные команды, если еще не знаешь их:
Несколько важных сетевых команд:
Помимо этого, в Linux обычно есть несколько утилит, которые сильно облегчат тебе жизнь. Если их нет, то стоит их установить:
Ввод-вывод и пайпы
Большинство программ, работающих из командной строки, принимают данные на вход и что‑то выдают на выходе. При этом вывод одной программы можно направить на ввод другой и таким образом достичь какой‑то более сложной цели или автоматизировать какой‑то процесс. Давай разберемся подробнее.
Продолжение доступно только участникам
Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».
Присоединяйся к сообществу «Xakep.ru»!
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее