- Что такое Linux (и другие вопросы)
- Что такое Linux
- Что значит ядро Linux?
- Linux — это версия Unix?
- Что такое дистрибутив Linux
- Почему дистрибутивов так много
- Получается, Linux — это бесплатно?
- Как выглядит интерфейс Linux
- Для чего используется Linux
- Можно ли играть в игры на Linux
- А что со специализированным железом и софтом?
- Можно ли запускать на Linux программы от MacOS или Windows?
- Что дальше
- 5 причин использовать Linux в 2020 году
- ZFS в Linux
- Прерывания Linux
- Linux в кармане
- Новые команды Linux
- Облако, работающее на Linux
- Рост open source
- На правах рекламы
Что такое Linux (и другие вопросы)
Быстрое знакомство с самой многогранной операционной системой
Операционная система Linux работает почти на всех серверах в интернете. При этом Linux — это не название какой-то одной операционной системы, а общее название для сотен систем. Давайте разберёмся, как это вообще возможно.
Что такое Linux
Linux — это одновременно две вещи:
- Название ядра операционной системы (то есть центральный модуль, который отвечает за базовые возможности системы).
- Название семейства операционных систем, в которое, по разным подсчётам, входит от 500 до 600 операционок для разных задач.
Отдельной операционки под названием Linux нет, но если вы знаете принципы работы одной системы, вы сможете легко разобраться во всех остальных.
Что значит ядро Linux?
Ядро Linux — это то, что разработал программист Линус Торвальдс, когда хотел получить основные возможности UNIX, но без ограничения на коммерческое использование.
Ядро операционной системы отвечает за её базовые команды и операции, которые она умеет делать:
- управление памятью — выделить место программе, ограничить, очистить;
- управление процессами — запустить, дать ресурсы, убить;
- управление железом — в ядро встроены драйверы для некоторого набора оборудования, чтобы операционка сразу работала на железе;
- обмен информацией между процессами, службами и программами — чтобы программы могли отправлять запросы в интернет, писать данные на диск, читать с диска, запускать друг друга, обращаться к системе и т. д.
Ядро практически не видимо для пользователя, его нельзя «открыть», у него нет видимых для пользователя окон и кнопок. В ядро даже нельзя ввести команду с клавиатуры. Это как рептильный мозг человека: у нас нет к нему осознанного доступа и мы не можем остановить себе сердце силой мысли, но благодаря этому «ядру» у нас бьётся сердце.
Поверх ядра Linux разные программисты сделали свои версии операционных систем: RedHat, Ubuntu, Mint Linux и много-много других. Вот и получается, что ядро в основе — одно, а дистрибутивов Linux — много.
Linux — это версия Unix?
Нет, несмотря на похожие названия, это разные продукты.
Unix был создан в компании AT&T в 1970-х. Это была коммерческая операционка, которую хоть и лицензировали для университетов, но всё равно на ней хотели зарабатывать. UNIX существует как отдельная операционная система до сих пор и используется на сетевом оборудовании.
Linux создана в начале 90-х с нуля как открытая альтернатива Unix. В Linux используются многие принципы и механизмы Unix, но код другой. Более того, код Linux открытый: кто угодно может скачать исходник ядра Linux и посмотреть, как там всё устроено.
Возможно, именно благодаря открытости Linux стал настолько популярной операционной системой с сотнями дистрибутивов.
Что такое дистрибутив Linux
Дистрибутив Linux — это когда разные компании и разработчики берут ядро и добавляют сверху какой-то набор программ: оболочки, компиляторы, драйверы и всё остальное. Это уже становится полноценной операционной системой, и каждая из таких сборок имеет своё название.
Количество дистрибутивов Linux огромно — около 500 более-менее известных и бесчисленное множество разных сборок под разные задачи.
Любой человек, почитав полдня документацию и сформулировав свою задачу, сможет собрать собственный дистрибутив Linux — например под старый компьютер, для обучения, напичканный играми или для веб-разработки.
Почему дистрибутивов так много
Потому что каждая компания считает важным что-то своё:
- одни хотят сделать операционку с красивым интерфейсом;
- другие делают акцент на безопасности и шифровании данных;
- третьи хотят расширенную поддержку сетевых протоколов;
- четвёртым нужна поддержка определённого оборудования;
- пятые хотят стабильности и отказоустойчивости;
- шестым нужно, чтобы система работала в брелке от сигнализации;
- а кому-то ещё — чтобы система работала на маломощном процессоре.
В зависимости от того, что для них важно, компании собирают свои дистрибутивы из разных компонентов.
Получается, Linux — это бесплатно?
В основном да, Linux — это бесплатно. Есть и коммерческие сборки Linux: ты платишь за софт и поддержку пользователей.
В этом и есть первая сила Linux — в бесплатности и доступности. Вторая суперсила — в гибкости и разнообразии настроек и специальных программ.
Как выглядит интерфейс Linux
Linux может выглядеть как угодно — смотря что вам нравится.
Когда вы смотрите на окна операционной системы, на самом деле вы смотрите на специальную программу-менеджер. Это надстройка над ядром, которая рисует красивые окна. В операционных системах Windows и MacOS оконные менеджеры стандартные и не меняются, а в Linux можно выбрать свой.
Дистрибутивы Linux выглядят по-разному в зависимости от того, какой оконный менеджер там стоит. Можно вообще обойтись без него.
Например, можно поставить себе оконный менеджер KDE:
Или можно использовать GNOME:
Или менеджер Xfce, если железо совсем слабое:
Можно вообще не пользоваться оконным менеджером и управлять всем из командной строки, как это делают на серверах:
Для чего используется Linux
Linux используется для чего угодно. Так как любой дистрибутив Linux собирается из разных кирпичиков, можно найти дистрибутивы:
- для домашнего ежедневного использования (например, Ubuntu);
- для реанимации старого железа (например, поставить Calculate для слабых компьютеров в школьных классах);
- для серверов предприятий;
- для суперкомпьютеров;
- для отказоустойчивых станций для работы в бесперебойном режиме;
- для систем безопасности и шифрования;
- для создания сети из компьютеров для параллельных вычислений;
- для обслуживания сигнализаций, умных домов и районов;
- для роутеров и прочего компьютерного железа;
- для роботов и робототехники.
Если того, что вам нужно, нет в списке, то вы можете сами сделать свой дистрибутив или взять что-то за основу и поставить туда нужный софт. Такой подход и делает Linux универсальной операционной системой для всего.
Можно ли играть в игры на Linux
В целом — да, но с ограничениями. Вот варианты:
- Можно играть в ретроигры с помощью любого из десятков эмуляторов консоли.
- Можно играть в некоторые PC-игры через эмулятор Windows (например, Wine). Игра может подтормаживать в зависимости от того, какое у вас железо и на какое железо была рассчитана игра.
- Можно играть в игры, портированные на SteamOS — это собственная среда Steam на базе Linux. Компания Valve очень старается сделать как можно больше игр для этой платформы, потому что от этого зависит работа их будущей консоли SteamDeck, так что в некоторые топовые игры поиграть всё-таки можно.
- Можно играть в игры, разработанные непосредственно для Linux.
На Linux можно поиграть в Doom Eternal. А в Doom 3 можно поиграть даже на Линуксе, который работает на одноплатном компьютере Raspberry Pi 4.
Основная проблема с играми на Linux — это передовые игры, которые используют максимум возможностей видеокарты. Не на все карты и не у всех производителей есть драйверы на Linux. Хотя со временем их становится всё больше, а некоторые ребята даже пишут собственные драйверы.
А что со специализированным железом и софтом?
На Linux есть масса профессионального софта для работы с графикой, видео и звуком. Это не такие комбайны, как у Adobe и Apple, но со своими задачами справляются.
Постепенно производители софта понимают важность Linux и выпускают для него полноценные версии своего софта. Например, Blackmagic сделали для Linux полноценную версию видеомонтажной программы Davinci Resolve.
Совместимость со специализированным железом под вопросом: есть железо, которое работает только на Linux. И есть железо, у которого вообще нет драйверов на Linux. Надо смотреть.
Можно ли запускать на Linux программы от MacOS или Windows?
В целом — да. На Linux можно установить эмуляторы других операционных систем. Например, Wine — это широко распространённый эмулятор Windows. Есть система VMWare Workstation, которая создаёт виртуальную машину внутри вашего Линукса, и там можно запустить что угодно.
Надо понимать, что любая эмуляция «отжирает» часть ресурсов компьютера и могут быть проблемы с совместимостью, поэтому ступайте осторожно.
Что дальше
В одном из следующих выпусков перейдём к практике — установим Linux на домашний компьютер. Лайк, подписка.
Источник
5 причин использовать Linux в 2020 году
Самые лучшие технологии — это движущаяся мишень. Когда технология стагнирует, общество обычно обгоняет и перерастает её. Linux, широко используемая операционная система с открытыми исходниками — это фундаментальная технология, являющаяся основой для одной из самых прогрессивных современных идей компьютерных систем. Поэтому, хотя на протяжении трёх десятков лет развития она остаётся поразительно неизменной, эта ОС обеспечивает адаптируемость. В результате этого Linux находится в уникальном положении — с одной стороны, это надёжная инвестиция в развитие своих навыков, потому что она не меняется, с другой — это кажущаяся бесконечной движущая сила для изучения новых навыков.
2020 год, как на него не взгляни, был странным, но для Linux он оказался продолжением обычного цикла разработки. В этой статье мы вспомним этот год и вкратце расскажем о том, что нужно знать о Linux в 2020 году.
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 и приступите к изучению чего-то нового уже сегодня!
На правах рекламы
VDSina предлагает виртуальные серверы под любые задачи, огромный выбор операционных систем для автоматической установки, есть возможность установить любую ОС с собственного ISO, удобная панель управления собственной разработки и посуточная оплата.
Источник