Программирование

Linux

Что такое Linux?

Ядро Linux Linus Torvalds начал писать в 1991 году. Ядро само по себе — не рабочий стол. Дистрибутив добавляет к ядру команды, управление пакетами и часто инструменты GNU. Ubuntu, Debian и Fedora — разные дистрибутивы. Все они запускают ядро Linux, но пакеты и путь установки не одинаковы. Android тоже использует ядро Linux. Android — это не Ubuntu.

Для чего нужен Linux?

Linux выбирают на сервере, в облаке и на маленьком устройстве. Долго оставаться включённым и ставиться пакетами — его обычное место.

  • Сервер сайта
  • Система внутри контейнера
  • Сетевое оборудование
  • Ядро телефона Android

Что можно делать с Linux?

В Linux смотрят процесс, ставят пакет, делят диск и открывают или закрывают сеть. Сам он страницу не рисует. Её рисуют Nginx, база данных и твоя программа. Неосторожная команда может сломать системный файл. Пользователь root может изменить всё.

Сложно ли освоить Linux?

Поставить пакет легко. Трудность в праве и в службе. Если файл не принадлежит твоему пользователю, команда останавливается. Когда служба падает, падает и страница, хотя ядро ещё работает. Путаница дистрибутивов тоже здесь: команда Ubuntu может не сработать на Fedora с тем же именем пакета.

Плюсы и ограничения

Плюс: на серверах его широко используют, пакеты понятны, код ядра можно читать. Ограничение: не каждая настольная программа здесь готова. Если команда неверна, откатить её труднее, чем в окне. Linux — не то же слово, что Ubuntu.

Основные понятия

Ядро говорит с оборудованием. Дистрибутив — готовая система вокруг этого ядра. Пакет — программа, собранная для установки.

  • Ядро делит процесс и память
  • Дистрибутив держит пакеты в одном месте
  • Служба работает в фоне
  • Право говорит, кто может изменить файл

Короткий пример

Эта команда показывает короткое имя ядра, которое работает. Она не ставит систему и не удаляет файл.

uname -r

Частые вопросы

  • Linux и Ubuntu — одно и то же? Нет. Linux — ядро. Ubuntu — один дистрибутив, который это ядро запускает.
  • Linux — язык программирования? Нет. Это система, на которой работают программы.
  • Android — это Linux? Android запускает ядро Linux. Это не Ubuntu и не настольный Linux.