Linux что за пингвин
Почему пингвин — талисман Linux?
Пингвин по имени Такс является официальным талисманом ядра Linux, разработанного Линусом Торвальдсом. Вы наверняка задумывались о причинах выбора пингвина в качестве символа, олицетворяющего собой Linux. Некоторые верят, что Торвальдса однажды клюнул пингвин, поэтому он и решил назначить его лицом своего детища.
Пингвин Такс — это официальный талисман Linux на протяжение вот уже 20 лет. История появления Такса внутри Linux-сообщества берет начало в 1996 году, когда Алан Кокс — британский программист — визуализирует пингвина, который должен стать официальным талисманом и логотипом ядра Linux. Алан играл важную роль в разработке ядра и руководил веткой 2.2.
Самое первое изображение Такса было создано Ларри Юингом, с учетом подсказок Алана, в редакторе GIMP в 1996 году. Однажды Линус Торвальдс увидел это изображение, и пингвин показался ему похожим на персонажа «Creature Comforts» (Популярный английский пластилиновый мультфильм, позднее ставший мультсериалом. Прим. перев.).
«Пингвин — талисман Linux» — эта идея показалась ему невероятно удачной. В почтовой рассылке, посвященной ядру Linux, он предложил некоторые уточнения к первоначальному варианту Кокса.
Он не хотел использовать изображение мускулистого пингвина, которое вдохновило его ранее. Вместо этого, он настаивал на милом и улыбчивом варианте Такса. Именно таком, каким в конечном итоге он и стал. Торвальдс описал довольный вид пингвина так: «Он либо только что от подруги, либо до отвала набит селедкой». «Поверьте мне, я разбираюсь в пингвинах, здесь только два варианта», — писал Торвальдс в рассылке.
Джеймс Хьюз был тем человеком, который дал Таксу его имя. По его словам, «TUX» — это акроним от Torvalds UniX. Корни происхождения имени Такс можно обнаружить в том числе и в написании слова tuxedo (смокинг), ведь окрас пингвина выглядит очень похоже.
Существует еще одна легенда, связанная с Таксом, согласно которой Торвальдса клюнул пингвин во время экскурсии по зоопарку-аквариуму в городе Канберра в Австралии. Торвальдс сказал, что заразился в тот момент Пингвинитом. «Он зациклился на толстых водоплавающих, не способных летать», — говорил Джефф Айерс, программист Linux. Торвальдс утверждал, что был атакован свирепым пингвином, который заразил его малоизвестной болезнью — Пингвинитом.
«Пингвинит не дает спать по ночам, наполняя голову мыслями о пингвинах, а сердце — любовью к ним». Редкая болезнь Торвальдса, слухи о которой распространились среди различных групп, посвященных Linux, конечно же была просто шуткой. Однако то, что Линуса клюнул пингвин в зоопарке, — вполне реальная история. Робкий маленький пингвин действительно решил проявить симпатию к Торвальдсу, с любовью клюнув его в палец.
«В то время мне довелось побывать в Австралии несколько раз, преимущественно в связи с конференцией linux.conf.au. Но первая моя поездка — та, во время которой меня клюнул свирепый пингвин: держите их в клетках! — случилась в 1993 году, по крайней мере, если верить австралийским группам пользователей Unix», — говорил Линус Торвальдс в одном из интервью.
Многие не верят в то, что Торвальдса действительно клюнул пингвин. Тем не менее внутри Linux-сообществ ходят шутливые байки на эту тему. Например: «Линус был атакован огромным бешеным человекоядным пингвином, который сошел с ума, который во время нападения передвигался со скоростью 100 миль в час».
Некоторые разработчики недовольны «милашкой», под которым существует ядро Linux. До появления Такса на свет, почтовая рассылка Linux была наполнена предложениями в виде лисиц, орлов, ястребов и даже акул. Тони Пагано утверждал, что недовольства вполне оправданы. Пагано в прошлом был преподавателем корпоративного дизайна логотипов в школе изобразительного искусства. Он говорил, что если пингвин Такс будет изображен на коробке, то люди подумают, что внутри какая-то игрушка. «Это вводит в заблуждение. Linux вовсе не милашка».
Редактор Slashdot (Англоязычный новостной сайт технической направленности. Прим. перев.) Робин Миллер, вдобавок к миловидности Такса, высказывался о нем, как о сексапильном существе и считал, что это — «отличный логотип». «Такс кажется женщинам очень привлекательным, они любят Такса», — говорил он. «Вот почему разработчики Linux такие веселые». Робин рассказал, что до этого, ему довелось посетить Колледж Auto Diesel, чтобы провести беседу с группой пользователей Linux. Он не мог найти нужный кабинет.
«Вдруг две симпатичные девушки вылезли из грузового пикапа и выгрузили набитую фигуру Такса высотой в четыре фута. Я последовал за ними и Таксом и благополучно оказался там, где нужно», — рассказывал Миллер. «Вряд ли вы когда-нибудь встретите пользователей Windows, несущих оконную раму или Mac-пользователей с большим надкусанным яблоком. Но, благодаря Таксу, всегда понятно, где находятся владения Linux».
Вообще, Такс появился в ходе проведения конкурса на логотип Linux. Конкурсов было три, но Такс не победил ни в одном из них. Таким образом, он мог называться официальным талисманом Linux, но официальным логотипом — нет.
Такс появлялся в видеоиграх и рекламах. Некоторые игры предлагали женские варианты Такса, которых звали Пенни и Гаун. Для ядра Linux версии 2.6.29 Линус Торвальдс выбрал логотип в виде Тасманийского дьявола с накладным пингвиньим клювом. Это было своего рода поддержкой действий, направленных на сохранение Тасманийского дьявола, как вида, оказавшегося на грани исчезновения, по причине опухолевого заболевания.
Так же, как и ядро Linux, Такс может быть свободно использован, например — для продвижения какого-либо Linux-ПО. Никакой платы за лицензию или официальных разрешений для этого не требуется. Многие Linux-дистрибутивы используют изображение Такса или свои варианты, созданные на его основе.
Если вам известны другие факты или слухи на тему «Талисман Linux», о которых мы не упомянули, пожалуйста, напишите о них в комментариях.
Linux. Почему логотипом Linux выбрали пингвина
Дискуссии об официальном логотипе Linux ведутся в Интернете с самого момента создания этой ОС. Так же, как и её название, образованное от имени первого разработчика Линукса Торвальдса и названия операционной системы UNIX, лежащей в основе линукса, пингвинёнок Тукс имеет прямое отношение как к создателю Linux, так и к её прототипу.
Эта милая зверюшка была нарисована в 1996 году Ларри Юингом при помощи открытого растрового графического редактора GIMP. Имя ей придумал Джеймз Хьюз, взяв первую букву фамилии (T)orvalds и крайние буквы слова «(U)ni(X)». Также TUX можно трактовать как сокращение от английского слова «tuxedo», что в переводе означает «смокинг». Нетрудно заметить, что на талисмане Linux надета именно эта традиционная деловая одежда.
Пингвинёнок Tux сегодня является общеизвестным символом сообщества Линуксоидов, однако его внешний вид может варьироваться от картинки к картинке. Например, логотип Slackware – Тукс с курительной трубкой, а для PaX, пакета программ, повышающих безопасность компьютера, пингвин изображается в демоническом виде с лабрисом в одной и щитом в другой руке, красными глазами, и шлемом на голове. Неизменным остаётся лишь одно: талисман всегда выглядит пухлым, сытым и довольным. Такова была идея Линукса Торвальдса.
В 1996 г. в электронной почтовой рассылке разработчиков Linux появились первые сообщения о конкурсе на лучший рисунок талисмана. Выбирая среди пародий на символы других операционных систем, стандартных рисунков орлов и акул, попыток обыграть название и другой подобной серости, создатель этой ОС вскользь обмолвился, о своей любви к пингвинам. Сразу же поступило интересное предложение дать одному из них в лапы земной шар. Торвальдс ответил на это довольно ярко: «плохо — жалкий пингвин выглядит недостаточно сильным, чтобы избежать участи быть раздавленным; рассуждая о пингвинах, расслабляюще дышите и думайте «симпатичный». Продолжайте дышать. Думайте дальше «милый». Вдох-выдох. «Симпатичный» значит «довольный». «Довольный» значит или вдоволь натрахался или нажрался селёдки от пуза. Поверьте эксперту, других значений нет и не может быть. Давайте примем второй вариант, чтобы не скатиться в пошлость. В итоге получится пухлый, но всё ещё милый пингвин, сидящий с блаженной улыбкой, только что съевший с десяток килограмм свежей рыбы». Далее Линукс попросил сделать стилизованную версию этой картинки и предупредил, что «мачо» из талисмана делать не стоит, чтобы не пересекаться с дьяволёнком FreeBSD и не превращать логотип в актёра из сценки. Этот вариант проиграл надписи Linux2.0, авторства Мэтта Эриксона. (785 голосов от Linux-сообщества против 541), однако Торвальдс выбрал именно его.
Позже сотрудники компании IBM разрисовали тротуары городов Нью-Йорк и Сан-Франциско граффити с изображением Тукса и надписями «Peace, Love, Linux». За это они заплатили ощутимые штрафы и в качестве общественных работ самостоятельно смыли эту нелегальную рекламу. Однако через некоторое время похожая реклама появилась на стенах нескольких американских домов уже на законных основаниях. Также памятник пингвину по имени Tux планируется установить в Тюмени.
Linux — что это такое?
Linux (читается «линукс») — это операционная система, такая же как Windows, только другая. И бесплатная.
Операционная система (ОС) — это главная программа, которая запускается при включении компьютера. Она позволяет пользователям компьютера работать с файлами, пользоваться Интернетом и запускать в окошках другие программы, игры, фильмы, музыку.
На персональных компьютерах Linux менее распространена, чем Windows. Однако, в среде серверов ситуация совершенно другая. На данный момент более 75% серверов, обеспечивающие надежную работу Интернет, работают под управлением Linux.
Linux — не какая-то одна операционная система. На самом деле это целое семейство ОС, работающих на базе ядра Linux:
Официальным логотипом и талисманом Linux является пингвин Tux, созданный в 1996 году Ларри Юингом. Торговая марка «Linux» принадлежит создателю и основному разработчику ядра Линусу Торвальдсу. При этом проект Linux в широком смысле не принадлежит какой-либо организации или частному лицу, вклад в его развитие и распространение осуществляют тысячи независимых разработчиков и компаний.
Терминал — это важная часть ОС Linux. Многие программы правильнее и проще установить через терминал, а не графическую оболочку. В Windows же командной строкой мало кто пользуется.
Преимущества и недостатки Linux
Преимущества
Недостатки
История Linux
В 1991 году во время обучения в Хельсинкском университете Линус Торвальдс заинтересовался операционными системами и был разочарован лицензией MINIX, которая ограничивала её использование только образовательными целями (что исключало любое коммерческое использование), вследствие чего начал работать над своей собственной операционной системой, которая в итоге стала Linux.
Интерфейсы Linux
Интерфейс — это внешний вид операционной системы. В отличие от Windows у Linux много интерфейсов.
Ссылки
Интересные факты о Linux
Linux используется во всех входящих в список Top500 суперкомпьютерах планеты.
Один из открытых астероидов был назван в честь создателя ядра Linux.
В 2007 году Парламент Франции отказался от использования Windows и перешёл на использование Ubuntu.
В Windows 10 теперь есть подсистема Linux, основанная на Ununtu.
Пингвин с реактивным ранцем: Ускоряем запуск приложений в Linux
Содержание статьи
За все время существования толстых пингвинов (период, отсчитываемый примерно с момента появления GTK+ 2.X, X Free 4.X и Linux 2.6) было придумано немало способов ускорения запуска приложений и всей ОС.
Некоторые из них уже давно успешно применяются в популярных дистрибутивах, другие до сих пор значатся экспериментальными. В этой статье мы посмотрим на них повнимательнее и определим, насколько оправданным может быть их применение.
Предварительное связывание или PRELINK
Пре-связывание есть ни что иное, как модификация запускаемого файла с целью включить в него результаты динамического связывания библиотек. Что это значит?
В стародавние времена приложения были просты и использовали в своей работе всего несколько динамически загружаемых системных библиотек. То было время господства формата исполняемых файлов a.out, особенность которых заключалась в предельной простоте.
Файлы a.out всегда точно знали, по какому адресу они будут загружены в память процесса, и по каким адресам будут располагаться их внутренние функции, константы и т.д. Эта особенность, с одной стороны, давала им преимущество в скорости загрузки, а с другой — создавала проблемы сосуществования библиотек в памяти (что, если две библиотеки будут загружены в память по одному адресу?). Проблемы надо было решать, поэтому появился формат ELF (его создатели на самом деле были поклонниками книг Толкиена :)), который снимал с исполняемых файлов ответственность за выбор адреса своего размещения в виртуальной памяти и перекладывал ее на динамический линковщик. Отныне адреса загрузки приложений, библиотек и всех их символов (переменных, констант, функций т.д.) вычислялись динамически на этапе загрузки.
ELF позволил UNIX/Linux сделать огромный шаг вперед и стать системой, способной загружать и исполнять огромное количество приложений, слинкованных с таким же количеством библиотек, без всяких проблем. Однако с точки зрения производительности это был провал. Процедура динамического связывания очень быстра, и при запуске приложений, зависящих всего от нескольких библиотек, она не вносит в процесс заметных задержек, но если это запуск громоздкого приложения с зависимостями порядка 50 библиотек, то задержка может быть весьма существенной (вплоть до нескольких десятков секунд).
Так называемое пре-связывание наделяет ELF-файлы наиболее выгодной чертой формата a.out. Запускаемые файлы модифицируются таким образом, чтобы уже включать в себя результат динамического связывания и, соответственно, заранее знать собственные адреса в памяти процесса и не тратить на их вычисление время в течение запуска. Процедура пре-связывания была предложена сотрудником Red Hat Jakub Jelinek еще в 2004 году и оказалась очень удачным методом повышения скорости запуска приложений. Согласно тестам, она может дать прирост, равный 50% от первоначальной скорости запуска, а в особо тяжелых случаях (OpenOffice, KDE, Gnome) — и того больше. При этом для ускорения системы достаточно запустить всего одну команду и немного подождать.
Да, задействовать механизм пре-связывания действительно просто. Для этого уже упомянутый выше Jakub Jelinek написал программу под названием prelink. Она доступна практически в любом Linux-дистрибутиве, поэтому собирать из исходников ничего не придется. Просто установи пакеты prelink, используя пакетный менеджер дистрибутива, и выполни следующую команду:
Аргументы командной строки в этом случае значат следующее:
После окончания выполнения приложения можно начинать радоваться ускорению. Однако стоит помнить о нескольких ограничениях:
Далее можно тереть пакет из системы.
Предварительная загрузка или PRELOAD
Хорошим дополнением к prelink станет демон preload, реализующий механизм предварительной загрузки библиотек для часто используемых приложений. Работая в фоне, preload анализирует действия пользователя и составляет список наиболее часто используемых приложений. В дальнейшем эта информация применяется для заблаговременной загрузки приложений и необходимых им библиотек в память, благодаря чему холодный запуск программы занимает намного меньше времени.
Демон preload может существенно повысить скорость загрузки приложений, но произойдет это только в том случае, если система оснащена достаточно большим объемом памяти. Два гигабайта — это минимум, при котором preload даст выигрыш, при меньших объемах он только помешает. Пакет preload можно найти в составе любого современного дистрибутива, поэтому для его установки достаточно использовать стандартный менеджер пакетов:
$ sudo apt-get install preload
Далее следует отредактировать конфигурационный файл /etc/preload.conf. Демон вполне сносно работает и при стандартных настройках, однако каждый из нас индивидуален и использует систему по-своему, поэтому, вероятно, ты захочешь подогнать preload под себя. Перечислю основные опции в секции model:
Секция system также содержит три интересных для нас опции:
На этом все, можешь перезагрузить preload:
$ sudo /etc/init.d/preload reload
Как и любой другой демон, preload ведет логи, которые ты сможешь найти в файле /val/log/preload.log. Информация о текущем состоянии preload и его кэше доступна в файле /var/lib/preload/preload.state.
Предварительное чтение или READAHEAD
Ubuntu, а также некоторые другие современные дистрибутивы Linux, используют систему readahead во время инициализации системы. Как и демон preload, readahead заранее загружает необходимые компоненты приложений в оперативную память с целью ускорить их запуск. Разница заключается лишь в том, что readahead частично работает внутри ядра Linux и оптимизирован специально для ускорения процесса инициализации системы.
Система использует утилиту /sbin/readahead-list, которая читает файлы /etc/readahead/boot и /etc/readahead/desktop и загружает перечисленные в них файлы во время инициализации системы. Эта простая и эффективная схема, которая, однако, имеет и очевидные недостатки. Дело в том, что любая стандартная установка Ubuntu со временем претерпевает изменения в количестве установленных и загружаемых во время старта ОС сервисов. Списки файлов в этом случае становятся неактуальными и требуют обновления. Параметр ядра profile позволяет перестроить списки предварительно загружаемых файлов. Для его включения перезагрузи систему, во время загрузки нажми для входа в меню загрузчика, далее нажми и добавь в конец списка параметров ядра слово profile. Нажми для загрузки. Инициализация системы в режиме профилирования займет время, поэтому будь готов потерпеть.
Заморозка процесса или CRYOPID
Иногда лучший способ ускорить запуск приложения — просто не останавливать его. Для многих юниксоидов работающие сутками напролет браузер, почтовый и jabber-клиенты — обычное дело. Такие приложения просто нет смысла завершать, они могут понадобиться в любую минуту.
Так почему бы не развить эту идею дальше и не сделать так, чтобы вместо остановки процессов их состояние можно было бы заморозить, а позже — восстановить, избавив программу от необходимости каждый раз производить сложную и трудоемкую инициализацию внутреннего состояния? Не мы первые, не мы последние. CryoPID — простое приложение для заморозки процессов и последующего их восстановления. Прога не требует прав root или модификации ядра, работает на архитектурах x86 и amd64 и, что самое главное, не привязывает замороженный процесс к конкретной машине. После заморозки процесс превращается во что-то вроде самораспаковывающегося архива, ты легко можешь перенести его на другую машину и просто запустить. Пакет CryoPID есть далеко не в каждом дистрибутиве, поэтому его придется установить самостоятельно:
После этого можно запустить программу следующим образом:
/bin/freeze имя-файла pid-поцесса
К сожалению, CryoPID имеет несколько проблем, включая неполную поддержку сокетов и X-приложений, а также генерирует мусор в списке процессов вместо имени восстановленной программы.
Шустрая загрузка UBUNTU
Ubuntu быстра, на самом деле быстра. Скорость загрузки этого дистрибутива оставляет далеко позади многие другие линуксы и заставляет завидовать поклонников BSD-систем. Однако нет пределов совершенст ву, и в этом разделе мы попробуем ускорить ускоренное.
1. Отключи таймаут в grub. По умолчанию загрузчик ждет 3 секунды, чтобы пользователь смог изменить параметры загрузки. Открой файл /boot/grub/menu.lst, найди строку «timeout=3» и замени 3 на 0.
2. Отключи splash. Ubuntu splash-screen, показываемый во время загрузки системы, малоинформативен и требует время на свою загрузку. Поэтому открываем все тот же /boot/grub/menu.lst и убираем опции «quiet» и «splash» из параметров загрузки ядра.
3. Отключи IPv6. Раньше поддержка пока ненужного протокола IPv6 в Linux была реализована в виде загружаемого модуля, поэтому для ее отключения требовалось лишь слегка отредактировать файл /etc/ modprobe.d/aliases. Сегодня IPv6 вшит прямо в ядро, поэтому для его отключения ядру должен быть передан параметр «ipv6.disable=1». Сделать это можно, отредактировав файл /boot/grub/menu.lst.
4. Отключи проверку на выход из спящего режима. Во время своей загрузки ядро выполняет проверку, выходит ли комп из спящего режима (suspend) или выполняет обыкновенную загрузку. Занимает эта процедура всего одну секунду, однако ее тоже можно сэкономить, добавив опцию «noresume» к параметрам загрузки ядра. Естественно, владельцам ноутбуков этого делать не стоит.
5. Оптимизируй initramfs. Образ RAM-диска используется для хранения низкоуровневых компонентов ОС, которые должны быть доступны еще до монтирования корневой файловой системы. По умолчанию этот образ содержит всевозможные компоненты, подобранные на все случаи жизни. Без них образ грузится в память быстрее, что способст вует сокращению общего времени загрузки системы. Открываем файл /etc/initramfs-tools/initramfs.conf, находим строку «MODULES=most» и заменяем ее на «MODULES=dep». Далее пересобираем все доступные образы только с необходимыми компонентами:
После обновления ядра образы будут сгенерированы автоматически.
6. Отключи ненужные сервисы. По умолчанию в Ubuntu активировано множество фоновых сервисов на все случаи жизни. Вряд ли тебе нужны они все, поэтому идем отключать. Открываем System q„ Administration <„ Services и видим список сервисов. Выбор кандидатов на отключение зависит от конкретной ситуации, но в большинстве случаев безболезненно можно пожертвовать следующим:
7. Отключи автостарт ненужных приложений. Во время входа в систему происходит автозапуск большого количества различных приложений (в основном это апплеты). Не все они нужны, поэтому открой System ra Preferences p„ Applications startup и удали все, что считаешь ненужным (например, апплет bluetooth). Запуск оставшихся приложений можно немного оптимизировать с помощью следующего трюка: отредактируй строку запуска каждого из них так, чтобы она приняла примерно такой вид:
Ускоряем запуск тяжеловесов
Многие тяжеловесные приложения, используемые нами повседневно, слишком медлительны и неповоротливы. Нередко на их запуск уходит больше минуты, что довольно сильно раздражает и мешает сконцентрироваться на работе. Попробуем это исправить.
Делать это необходимо регулярно (например, раз в неделю), так как базы постоянно растут и захламляются.
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, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее