Найти в Дзене
A.D.M.I.N

Поговорим о Linux. Немного истории, интересных фактов и полезных советов в Linux

Оглавление

Немного истории

Корни Linux прослеживаются ещё с 70-х годов 20-го века. Точкой отсчёта можно считать появление операционной системы Unix в 1969-м году в США в фирме Bell Laboratories, дочернем подразделении компании AT&T. Unix стала основной для большого количества операционных систем промышленного класса. Самые основные из них отображены на этой временной шкале:


 

Linux же больше всего обязан своей жизнью двум проектам — GNU и Minix.
Linux же больше всего обязан своей жизнью двум проектам — GNU и Minix.

В 1991-м году, Линус Торвальдс , финский студент, чрезвычайно увлёкся идеей написать совместимое с Unix ядро операционной системы для своего персонального компьютера с процессором Intel. Прототипом для будущего ядра стала операционная система Minix: совместимая с Unix операционная система для персональных компьютеров, которая загружалась с дискет и умещалась в очень ограниченной в те времена памяти персонального компьютера.

25-го августа 1991-го года Линус Торвальдс направил первое сообщение о своей разработке в группу новостей comp.os.minix:

From: torvaldsSklaava.Helsinki.Fi (Linus Benedict Torvalds)
To: Newsgroups: comp.os.inix
Subject: Чего вам больше всего не хватает в minix?
Summary: небольшой опрос для моей операционной системы Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.Fi>
Date: 25 августа 1991 г., 20:57:08 GMT
Organization: University of Helsinki


Привет всем пользователям minix!

Я пишу (бесплатную) операционную систему (это просто хобби, ничего большого и профессионального вроде gnu) для AT 386(486). Я вожусь с этим с апреля, и она, похоже, скоро будет готова. Напишите мне, кому что нравится/не нравится в minix, поскольку моя ОС на неё похожа (кроме всего прочего, у неё — по практическим соображениям — то же физическое размещение файловой системы).

Пока что я перенёс в неё bash (1.08) и gсс (1.40), и всё вроде работает. Значит, в ближайшие месяцы у меня получится уже что-то работающее, и мне бы хотелось знать, какие функции нужны большинству. Все заявки принимаются, но выполнение не гарантируется :-)

Линус (torvalds@kruuna.helsinki.fi)

PS. Она свободна от кода minix и включает мультизадачную файловую систему. Она НЕ переносима (используется переключение задач 386 и пр.) и, возможно, никогда не будет поддерживать ничего, кроме АТ-винчестеров, потому что у меня больше ничего нет :-(

Название «Linux» новая система получила следующим образом. Самого Торвальдса несколько смущало созвучие этого названия с его именем, поэтому он пытался назвать свою разработку Freax. Это название можно обнаружить в файле kernl/Makefile версии 0.11, и в исходных кодах других программ. Но Ари Лемке, который предоставил место для выкладывания системы на FTP сайте, назвал каталог pub/OS/Linux. И это название закрепилось за новой ОС.

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

Примерно в феврале 1992-го года Линус высказал просьбу ко всем, кто уже пользовался или тестировал Linux, прислать ему открытку. Таких открыток было получено несколько сотен со всех концов света — из Новой Зеландии, Японии, Нидерландов, США. Это говорило о том, что Linux начала приобретать некоторую известность.

Вначале к разработке присоединились сотни, потом тысячи, потом сотни тысяч добровольных помощников. Система уже не была просто игрушкой для хакеров. Дополненная массой программ, разработанных в рамках проекта GNU, ОС Linux стала пригодна для практического использования. А то, что ядро системы распространялось под лицензией GNU General Public License, гарантировало, что исходные коды системы останутся свободными, то есть смогут копироваться, изучаться и модифицироваться без опасения нарваться на какое-либо преследование со стороны разработчика или какой-то коммерческой фирмы. Этот факт привлекал в ряды пользователей и сторонников Linux всё новых последователей, в первую очередь из числа студентов и программистов.

К этому времени сформировалась отдельная конференция в интернете, посвящённая Linux, — comp.os.linux. Энтузиасты образовали множество групп пользователей и в начале 1994-го года вышел первый номер журнала «Linux Journal». Linux привлекла внимание промышленных фирм и несколько небольших компаний начали разрабатывать и продавать собственные версии Linux.

Первоначально Линус Торвальдс не хотел продавать свою разработку. И не хотел, чтобы её продавал кто-то другой. Это было чётко прописано в уведомлении об авторских правах, помещённом в файл COPYING самой первой версии — 0.01. Причём требование Линуса налагало значительно более жёсткие ограничения на распространение Linux, чем те, которые провозглашались в лицензии GNU: не разрешалось взимать никаких денег за передачу или использование Linux. Но уже в феврале 1992-го года к нему стали обращаться за разрешением брать плату за распространение дискет с Linux, чтобы покрыть временные затраты и стоимость дискет. Кроме того, необходимо было считаться и с тем, что при создании Linux использовалось множество свободно распространяемых по интернету инструментов, самым важным из которых был компилятор GCC. Авторские права на него оговорены в общественной лицензии GPL, которую изобрёл Ричард Столлман. Торвальдсу пришлось пересмотреть свое заявление об авторских правах, и, начиная с версии 0.12, он тоже перешёл на использование лицензии GPL.

С технической точки зрения, Linux представляет собой только ядро Unix-подобной операционной системы, отвечающее за взаимодействие с аппаратной частью компьютера и выполнение таких задач, как распределение памяти, выделение процессорного времени различным программам и так далее. Кроме ядра, операционная система включает в себя множество различных утилит, которые служат для организации взаимодействия пользователя с системой. Успех Linux как операционной системы во многом обусловлен тем, что к 1991-му году в рамках проекта GNU уже было разработано множество утилит, свободно распространяемых в интернете. Проекту GNU не хватало ядра, а ядро, скорее всего, осталось бы невостребованным, если бы отсутствовали необходимые для работы утилиты. Линус Торвальдс оказался со своей разработкой в нужном месте в нужное время. И Ричард Столлман прав, когда настаивает на том, что операционную систему следует называть не Linux, а GNU/Linux. Но название Linux исторически закрепилось за этой ОС, поэтому мы тоже будем называть её просто Linux (не забывая о заслугах Столлмана и его сподвижников).

Немного интересных фактов о Linux

Итак, немного интересных фактов о Linux (ядре операционной системы GNU/Linux):

  1. Ядро операционной системы Linux написал 21-летний финский студент колледжа в качестве хобби.
  2. Однажды, один открытый астероид был назван в честь создателя ядра Linux.
  3. Тысячи разработчиков/программистов разбросаны по всему миру и вносят дальнейший вклад в развитие ядра Linux.
  4. Официальным талисманом операционной системы Linux является пингвин по имени Tux.
  5. По данным исследования, финансируемого Европейским Союзом, сметная стоимость на перепланировку самой последней версии ядра будет ~ $1,14 млрд. долларов США.
  6. На сегодняшний день только около 2% ядра Linux были написаны самим Linus'ом Torvalds'ом.
  7. Ядра Linux написаны на языке программирования Cи.
  8. Linux является одним из наиболее широко переносимых операционных систем, работающих на разнообразных платформах от карманных компьютеров до мэйнфреймных серверов.
  9. Linux Kernel 1.0.0 был выпущен вместе с 176250 строками кода. Последнее Linux ядро имеет более чем 10 миллионов строк кода.
  10. Microsoft Windows и ядра Linux могут быть запущены одновременно параллельно на одной и той же машине с помощью программного обеспечения под названием Cooperative Linux (CoLinux).
  11. Сначала Linus Torvalds хотел назвать ядро, которое он разработал Freax (сочетание «свободный», «урод», и буквой «Х», чтобы указать, что это Unix-подобная операционная система), но его друг Ari Lemmke, который администрировал FTP сервер, на котором ядро впервые было опубликовано для скачивания, назвал каталог Linux.
  12. Парень по имени William Della Croce, зарегистрировал торговую марку с названием Linux и в конце концов потребовал деньги за его использование.
  13. Ядро Linux можно найти на более чем 87% систем и на ~500 лучших в мире суперкомпьютеров.
  14. «Ванильное ядро» (vanilla kernel) не мороженое, а немодифицированная версия ядра Linux.
  15. Операционная система Linux не имеет никакого отношения к медицинскому препарату под названием «Linex»

Причины переходить на Linux

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

ZFS в Linux

Файловая система ZFS обеспечивает проверку целостности данных и метаданных, резервирование данных с созданием зеркал, поддержку накопителей объёмом до 256 триллионов йобибайт , нативное шифрование с аппаратным ускорением и эффективную репликацию. ZFS — это инновация, созданная Sun Microsystems; к сожалению, лицензия препятствует её поставкам в комплекте с Linux по умолчанию. Однако коллектив OpenZFS портировал проект на BSD и Linux, поэтому вы можете использовать ZFS на любой системе, от ноутбука до дата-центра.

Осваивать ZFS на удивление легко в Fedora Linux; это продемонстрировал Шэн Мао в своей статье
о настройке ZFS в Linux .

Прерывания Linux

Насколько бы ни было близким ваше знакомство с Linux, всегда есть возможность нырнуть глубже и разобраться в том, как ему удаётся настолько хорошо выполнять свою работу. Компьютерам, работающим на фондовых биржах, в студиях цифровых фильмов, звуковых рабочих станциях и других средах, требующих высокой производительности, необходима обработка в реальном времени; в то же время, другие компьютеры могут позволить себе слегка лениться при обработке запросов, поэтому управление множеством циклов, постоянно выполняемых внутри компьютера — непростая задача. Понимание того, как и зачем ядро Linux управляет запросами на прерывания (IRQ), может и не быть обязательным для обычного пользователя, однако изучать это увлекательно вне зависимости от того, чем вы обычно занимаетесь за компьютером. Подробную информацию можно узнать из статьи Стефана Авенведде " How the Linux kernel handles interrupts ".

Linux в кармане

Так как ОС Android компании Google работает на ядре Linux, многие из нас могут сказать, что Linux и так находится у них в кармане. Однако несмотря на своё удобство, написанный на Java фронтенд Android не всегда передаёт ощущение Linux, к которому стремятся многие пользователи Linux. А у некоторых пользователей и вовсе нет телефона с Android.

Хорошая новость заключается в том, что в устройстве с Android или iOS можно запускать Linux, дополненный терминалом, Bash, Python, менеджером пакетов и всем тем, что вы любите в этой настольной ОС с открытым исходным кодом.

Если вы пользуетесь Android, то прочитайте мою статью о
Termux . А если вы на iOS, то изучите превосходную статью Ли Тусмана о запуске командной строки Linux на устройстве с iOS .

Новые команды Linux

Время идёт вперёд, и иногда старые замысловатые команды прошлого оказываются недостаточными для современных систем. Хотя ваша мышечная память могла привыкнуть к командам наподобие crontab и ifconfig (а также iwconfig и wpa_supplicant ), существуют совершенно приемлемые замены для них и другие возможности. Если вы не можете расстаться со старыми командами, то познакомьтесь с алиасами Bash , потому что эти новые команды стоят изучения.

  • Откажитесь от ifconfig в пользу nmcli . В какой-то момент времени вам придётся признать, что ужасное сочетание ifconfig плюс iwconfig и wpa_supplicant (от которой всё равно уже давно втайне отказались в пользуwicd ) попросту неэффективно. Сегодня Linux использует nmcli , и эта команда стала очень удобным, а иногда и интуитивно понятным способом взаимодействия с сетью. Прочитайте превосходный туториал по nmcli Дейва Маккея.
  • Задания cron, at и batch — уникальные своим бессмертием команды, которые, вероятно, никогда и не следует заменять. Они отлично подходят для быстрого и простого планирования, однако для сложных задач можно найти функции, которые могут стать им поддержкой: таймеры systemd. Дэвид Бот написал подробный туториал по таймерам systemd , демонстрирующий, как писать и отслеживать важные системные задачи.
  • gcore и gdb — важные отладчики, которые могут быть известны разработчикам. Новым подходом к реализации gcore стал ProcDump компании Microsoft, получающий дамп ядра ID процесса (PID), чтобы его можно было проанализировать с помощью gdb . Он является скорее альтернативой, а не заменой, но стоит его попробовать, если вам любопытно изучать разные инструменты. Более подробная информация представлена в туториале по ProcDump Гуарава Камате.

Облако, работающее на Linux

Облачные технологии на всех парах несутся вперёд, и их основной движущей силой остаётся Linux. Облако — это набор компьютеров (узлов) с массово-распределённой файловой системой (например, Ceph ), обычно управляемый при помощи Kubernetes или OpenShift .

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

Кики Лю написал один из лучших обзоров о процессе работы с облаками в статье "
A beginner's guide to Kubernetes container orchestration ". Прочитайте её, а затем скачайте Kubernetes eBook Криса Коллинза, чтобы собрать собственное облако на кластере Raspberry Pi.

Рост open source

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

Немного советов по Linux

1. Быстро и умно управляйте командной строкой
Вы можете использовать клавиатурные сокращения и другие особенности командной строки, чтобы сделать ввод команд легче и быстрее. Вы уже должны знать о клавише 'tab', которая завершает часть команды или даже имена файлов и директорий.
Вот некоторые клавиатурные сокращения, которые вы можете использовать в терминале:

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

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

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


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

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

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

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

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


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

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

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

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

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


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

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

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

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

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


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

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


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

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

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


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

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


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


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

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