💡 Полезные Советы

Windows? История "ОС-Франкенштейна"

16.12.25
35

В мире IT принято считать, что Linux - это прямой потомок и идейный наследник Unix. Но если задать тот же вопрос про Windows, ответ будет похож на запутанный детектив. Мы разобрались в генеалогическом древе самой популярной ОС в мире и выяснили, что Windows - это своего рода "Франкенштейн", сшитый из трёх совершенно разных легендарных систем.

1 . VMS (Душа и Ядро) - Самый важный предок

Если вы спросите системного архитектора, на что похожа Windows внутри (на уровне ядра), он ответит: "На VMS". Это самый важный, но наименее известный широкой публике предок.

В конце 80-х Билл Гейтс осознал, что архитектура MS-DOS и ранних Windows 95 - это тупик. Они были ненадежными и не подходили для серьезных серверов. Ему нужна была "тяжелая артиллерия".

Что сделал Гейтс? Он переманил к себе главного архитектора системы OpenVMS из компании DEC - Дэйва Катлера. Гейтс дал ему огромный бюджет и карт-бланш с одной целью: создать "убийцу Unix". Так родилась Windows NT (New Technology), ядро которой работает сегодня в вашем компьютере.

Интересный факт: Управление памятью, драйверами и процессами в Windows идеологически взято из VMS. Существует легенда, что название WNT — это шифр. Если взять аббревиатуру VMS и сдвинуть каждую букву на одну вперед по алфавиту, получится:

  • V → W

  • M → N

  • S → T

Итог: WNT (Windows NT).

2 . CP/M (Скелет и привычки) - Откуда взялись диски C:\

Если "мозги"(ядро) Windows получила от VMS, то свои старые привычки и логику работы с файлами она унаследовала от системы CP/M (созданной Гэри Килдалом).

Именно отсюда растут корни тех вещей, которые десятилетиями удивляют пользователей Linux и macOS:

  • Буквы дисков: Почему система стоит на диске C:, а не A:? Потому что в CP/M и первых DOS буквы A и B были зарезервированы под дискеты. Эта архаичная структура жива до сих пор.

  • Обратный слеш: Использование \ вместо привычного для всего остального мира / в путях к файлам - тоже наследие CP/M и MS-DOS.

  • Имена файлов: Привычка давать файлам расширения из трех букв (.txt, .exe, .jpg) родилась из старого ограничения "8.3" (8 букв на имя, 3 на расширение).

3 . Xerox Alto и Mac OS (Лицо) - Откуда взялись окна

Внутренности от VMS и скелет от CP/M нужно было продать пользователям. Для этого требовалась красивая обертка.

Вдохновение для графического интерфейса Microsoft черпала в разработках лаборатории Xerox PARC и, позже, у Apple. Билл Гейтс, как и Стив Джобс, увидел будущее за окнами, мышкой и иконками. Первая Windows была попыткой "натянуть" красивый интерфейс (как у Mac) на старый костяк MS-DOS (клон CP/M).

 4 . Заключение

В отличие от Linux, который стремился быть "свободным Unix", Windows создавалась как коммерческий продукт-победитель. Microsoft не стеснялась брать лучшие идеи отовсюду:

  1. Ядро (Kernel): От VMS. Это дало надежность и многозадачность.

  2. Структура (CLI): От CP/M. Это подарило нам диск C: и командную строку.

  3. Интерфейс (GUI): От Xerox/Apple. Это дало нам окна и курсор мыши.

Теперь, когда вы видите синий экран загрузки или открываете "Мой компьютер", вы знаете: перед вами результат слияния трех великих технологий прошлого.

 

 

5 фактов о Bash: Шутка программистов, на которой держится весь Linux

15.12.25
49

Вы открываете терминал каждый день, видите привычный значок $ и пишете команды. Но задумывались ли вы, почему черное окно называется Bash? За этим странным словом скрывается каламбур, библейская отсылка и история борьбы за свободу кода.

Вот 5 фактов о Bash, которые должен знать каждый.

1. Скрытый смысл названия

Аббревиатура BASH расшифровывается как Bourne Again SHell. Это игра слов, которая работает на двух уровнях:

  • Прямой смысл: "Ещё одна оболочка Борна" (потому что она была создана как замена старой оболочке Bourne shell).

  • Ироничный смысл: Созвучно с выражением "Born Again" ("рожденный заново" или "возрожденный").

  • Суть шутки: Старая проприетарная оболочка "умерла" для сообщества из-за закрытой лицензии, а новая возродилась как феникс из пепла, став полностью свободной и ещё более мощной.

2. Кто такой Борн и при чем тут он?

Чтобы понять шутку, перенесемся в 1977 год. В легендарных лабораториях Bell Labs (где придумали Unix и C) работал британец Стивен Борн (Stephen Bourne). Он написал программу sh (shell - оболочка), которая стала стандартом общения человека с машиной. Её так и называли - "Оболочка Борна".

Но была проблема: sh принадлежала корпорации AT&T. Она была закрытой и платной. Вы не могли просто взять её и поставить на свой компьютер.

3. Рождение Bash (GNU и Брайан Фокс)

В 80-х Ричард Столлман запустил проект GNU. Его мечта была дерзкой: создать полностью свободную операционную систему. Им нужны были свои, бесплатные аналоги всех программ: свой редактор, свой компилятор и, конечно, своя оболочка.

Столлман нанял программиста Брайана Фокса (Brian Fox). В 1989 году Фокс выпустил первую версию Bash. Он сделал так, чтобы новая оболочка понимала все команды старой sh (для совместимости), но была удобнее и, главное, абсолютно бесплатной. Именно Фокс придумал название Bourne Again Shell как дань уважения Стивену Борну.

Интересный факт: Брайан Фокс создал Bash, но работал над ним всего пару лет. Настоящий герой - Чет Рэми (Chet Ramey). Он поддерживает и развивает Bash с начала 90-х - уже более 30 лет! Если вы сегодня найдете баг в Bash, вам ответит именно Чет.

4. Почему Bash есть в каждом Linux?

Когда в 1991 году Линус Торвальдс написал ядро Linux, у него был, по сути, только "двигатель". Ему нужны были "руль и колеса" - программы для управления ядром. Он не стал писать их с нуля, а взял готовые инструменты от проекта GNU. Поскольку Bash был лучшей свободной оболочкой на тот момент, он сразу попал в первые дистрибутивы.

С тех пор это стандарт: ставишь Linux - получаешь Bash.

5. Терминал и Bash - не одно и то же

Новички часто путают эти понятия, но разница важна:

  • 📺 Терминал (GNOME Terminal, Putty, Console) - это "телевизор". Это просто окно, которое показывает текст и передает нажатия клавиш.

  • 👨‍💻 Bash - это "телеведущий". Это программа, которая сидит внутри терминала, читает ваши команды (ls, cd, mkdir), понимает их и запускает процессы.

 

Гений, убийца, заключенный: Как уголовное дело уничтожило самую перспективную файловую систему Linux?

13.12.25
47

В мире IT часто говорят о "Bus Factor" (факторе автобуса): сколько сотрудников должно попасть под автобус, чтобы проект остановился? История файловой системы ReiserFS - это самый мрачный пример этого правила.

В начале 2000-х эта система была будущим Linux. Сегодня она мертва. И причина не в плохом коде, а в том, что её создатель, Ганс Райзер, совершил одно из самых громких преступлений в истории Кремниевой долины.

Часть 1. Техническая революция

В конце 90-х Linux страдал от "детских болезней". Файловые системы были медленными и ненадежными: если выключался свет, приходилось часами ждать проверки диска.

Ганс Райзер, талантливый и эксцентричный программист, предложил решение - ReiserFS.

  • Скорость: Она работала с мелкими файлами в разы быстрее конкурентов.

  • Журналирование: Это была первая в Linux журналируемая система (данные не терялись при сбоях питания).

К 2005 году ReiserFS (версия 3) стала стандартом по умолчанию в дистрибутивах SUSE, Slackware и других. Все ждали выхода Reiser4, которая обещала стать настоящим прорывом. Но она так и не вышла.

Часть 2. Исчезновение Нины (2006)

В сентябре 2006 года Ганс Райзер находился в процессе тяжелого и грязного развода со своей женой Ниной (врачом-гинекологом русского происхождения).

3 сентября Нина привезла детей в дом Ганса в Окленде и бесследно исчезла. Полиция начала расследование, которое больше напоминало триллер:

  • В машине Ганса (Honda CRX) отсутствовало пассажирское сиденье.

  • В салоне нашли следы крови, а на полу лежали книги о расследовании убийств.

  • Сам Ганс вел себя крайне странно, но твердил о своей невиновности.

Реакция сообщества: IT-мир был в шоке. Многие фанаты Linux отказывались верить в виновность кумира. Они собирали деньги на адвокатов, считая, что полиция просто не понимает "странного гения" и его социальную неловкость.

Часть 3. Суд и "Сделка с дьяволом" (2008)

Следствие шло два года. Тела не было, прямых улик -тоже. Дело строилось на косвенных доказательствах.

В 2008 году присяжные вынесли вердикт: виновен в убийстве первой степени. Райзеру грозило от 25 лет до пожизненного заключения.

И тут произошел финальный поворот сюжета. Ганс Райзер, поняв, что жизнь кончена, предложил прокуратуре сделку: "Я покажу, где тело, если вы смягчите приговор".

Он привел полицейских к оврагу в парке Редвуд, где закопал тело Нины. В обмен судья изменил квалификацию на "убийство второй степени". Ганс получил 15 лет тюрьмы.

Часть 4. Почему это убило ReiserFS?

Многие спрашивают: "При чем тут код? Если система хорошая, почему ей перестали пользоваться?"

Здесь сработали три фактора, которые похоронили проект:

  1. Крах компании Namesys. Вся разработка держалась на фирме Ганса. Когда его арестовали, деньги кончились - всё ушло на адвокатов. Разработчики разбежались, обновлять код стало некому.

  2. Токсичность бренда. Представьте себя директором банка или хостинга. Захотите ли вы хранить данные клиентов на файловой системе, которая называется фамилией убийцы? Крупные игроки (Red Hat, Google) мгновенно отказались от поддержки ReiserFS, чтобы избежать репутационных рисков.

  3. Технологическая гонка. Пока Ганс сидел в камере предварительного заключения (2006-2008), прогресс не стоял на месте.

    • Разработчики ext4 допилили свою систему, сделав её стабильной.

    • На горизонте появилась Btrfs. Место ReiserFS просто заняли другие.

Эпилог: Где он сейчас?

Ганс Райзер (заключенный № F29411) отбывает наказание в тюрьме штата Калифорния.

Даже в тюрьме он остался программистом: он писал жалобы на администрацию и даже пытался судиться с разработчиками ядра Linux за то, что они не хотят включать его код (Reiser4) в ядро. Суд эти иски отклонил.

Итог: ReiserFS умерла не потому, что устарела. Она умерла, потому что за любым великим кодом стоит человек. И когда этот человек становится преступником, его творение становится ненужным.

 

Debian. История о том, почему серьезная серверная операционная система носит имена игрушек?

12.12.25
42

Это одна из самых милых легенд в мире IT.

Как возникла связь с Pixar?

В 1996 году лидером проекта Debian стал человек по имени Брюс Перенс (Bruce Perens).

В то самое время, когда он занимался разработкой Debian, он работал в компании Pixar. И не просто работал, а участвовал в создании технической инфраструктуры в период производства первого мультфильма "История игрушек" (Toy Story), который вышел в 1995 году.

Брюс решил называть релизы системы именами персонажей из фильма, над которым работала его студия.

  • Первый релиз, которому дали имя, был Debian 1.1. Брюс назвал его Buzz (в честь Базза Лайтера).

  • Следующий стал Rex (тираннозавр).

  • Затем Bo (пастушка Бо Пип).

Брюс давно ушел из проекта, но традиция так полюбилась сообществу, что её решили оставить навсегда.

Главная пасхалка: Кто такой Сид?

В Debian есть три ветки разработки:

  1. Stable (Стабильная) - текущая версия (например, Buster, Bookworm).

  2. Testing (Тестовая) - будущая версия.

  3. Unstable (Нестабильная) - вечная версия для разработчиков, где всё меняется каждый день.

У ветки Unstable есть постоянное кодовое имя, которое никогда не меняется. Её зовут Sid.

Помните мальчика-хулигана Сида Филипса из первой части"Истории игрушек"? Того самого, который ломал игрушки, взрывал их и пересобирал в жутких мутантов?

Это идеальная аллегория:

Debian Sid (Unstable) - это место, где разработчики ломают программы, чтобы посмотреть, что внутри, и собирают из них что-то новое. Если вы используете Sid, ваша система может "сломаться", как игрушка в руках Сида.

3. Хронология имен (от старых к будущим)

Вот как выглядит история версий и их персонажи:

ВерсияИмя (Персонаж)Кто это в мультфильме?Статус
Debian 7WheezyПингвин с поломанной пищалкойУстарела (Архив)
Debian 8JessieДевушка-ковбойУстарела (Архив)
Debian 9StretchРезиновый осьминог (из 3 части)Устарела (Архив)
Debian 10BusterТакса ЭндиУстарела (ELTS*)
Debian 11BullseyeКонь Джесси (Булзая)Поддерживается (LTS)
Debian 12BookwormКнижный червь (с фонариком)Поддерживается
Debian 13TrixieСиний трицератопсТекущая стабильная
Debian 14ForkyВилкинс (из 4 части)Testing (В разработке)
Debian ∞SidМальчик-хулиганUnstable (Вечная бета)

Интересный факт

Слух о том, что "мультфильм создавался на Debian", верен лишь отчасти. В 1995 году Pixar использовала мощные рабочие станции Unix (SGI и Sun), а Linux тогда был еще слишком "сырым". Но Брюс Перенс использовал утилиты GNU и Linux для построения внутренней инфраструктуры студии, поэтому дух Debian действительно витал в коридорах Pixar в момент рождения "Истории игрушек".

Linux Cheat Sheet: Справочник полезных команд с примерами

12.12.25
43

🖥 Информация об оборудовании и системе

Команды для диагностики "железа" и ядра. Многие из них требуют прав root.

  • Сообщения ядра (dmesg): dmesg | less (Показывает события, произошедшие при загрузке. | less позволяет листать вывод).

  • Информация о процессоре: cat /proc/cpuinfo или более наглядно: lscpu

  • Оперативная память (RAM): free -h (Флаг -h показывает размер в Mb/Gb).

  • Конфигурация всего оборудования: sudo lshw -short (Краткий список всего "железа").

  • Блочные устройства (диски, флешки): lsblk

  • PCI-устройства (видеокарты, сетевые карты): lspci -tv

  • USB-устройства: lsusb -tv

  • Информация из BIOS (DMI): sudo dmidecode

  • Информация о параметрах диска: sudo hdparm -i /dev/sda (Замените sda на имя вашего диска).

  • Тест скорости чтения диска: sudo hdparm -tT /dev/sda

  • Проверка диска на битые сектора: sudo badblocks -s /dev/sda


📂 Файлы и Навигация

Базовое управление файловой системой.

  • Список файлов: ls -lh (Показывает размеры файлов в удобном виде).

  • Показать вообще все файлы (включая скрытые): ls -a

  • Где я сейчас? (Текущий каталог): pwd

  • Создать папку: mkdir [имя_папки] (Используйте mkdir -p папка/подпапка, чтобы создать структуру вложенных папок).

  • Создать пустой файл: touch [имя_файла]

  • Копирование файла: cp [источник] [назначение]

  • Копирование папки (рекурсивно): cp -r [папка_источник] [папка_назначение]

  • Перемещение или переименование: mv [старое_имя] [новое_имя]

  • Удаление файла: rm [имя_файла]

  • Удаление папки (Осторожно!): rm -rf [имя_папки] (Удаляет рекурсивно и без вопросов).

  • Символическая ссылка (ярлык): ln -s /путь/к/файлу [имя_ссылки]

Просмотр содержимого:

  • cat [файл] — вывести весь файл.

  • less [файл] — прокрутка длинного файла.

  • head [файл] — первые 10 строк.

  • tail [файл] — последние 10 строк.

  • tail -f [файл] — следить за новыми строками в файле (логи) в реальном времени.


🔍 Поиск

  • Поиск текста в файле (grep): grep "текст" [файл]

  • Рекурсивный поиск текста в папке: grep -r "текст" [папка]

  • Поиск файла по имени (find): find [где_искать] -name "имя_файла"

    Пример: find /home -name "*.jpg"

  • Поиск файлов по размеру: find / -size +100M (Найти файлы больше 100 Мб).

  • Быстрый поиск по базе имен: locate [имя_файла]


📦 Архивация и сжатие

  • Создать архив (tar): tar cf архив.tar [файл_или_папка]

  • Распаковать архив (tar): tar xf архив.tar

  • Создать сжатый архив (tar.gz): tar czf архив.tar.gz [папка]

  • Распаковать сжатый архив (tar.gz): tar xzf архив.tar.gz

  • Сжать файл (gzip): gzip [файл] (Создаст файл.gz и удалит оригинал).


👥 Пользователи и Группы

Команды для администрирования. Требуют sudo.

  • Кто я? whoami

  • Кто в системе? w или who

  • Добавить пользователя: sudo adduser [имя]

  • Добавить группу: sudo groupadd [группа]

  • Добавить пользователя в группу: sudo usermod -aG [группа] [пользователь]

  • Удалить пользователя: sudo userdel [пользователь]


🛡 Права доступа (Permissions)

В Linux права записываются тремя цифрами (Владелец-Группа-Остальные) или буквами (r=чтение, w=запись, x=исполнение).

  • Сделать файл исполняемым: chmod +x [файл]

  • Полные права всем (777 - опасно!): chmod 777 [файл]

  • Стандартные права для файлов (755): chmod 755 [файл] (Владелец может всё, остальные — только читать и исполнять).

  • Изменить владельца файла: sudo chown [юзер]:[группа] [файл]


⚙️ Управление процессами

  • Диспетчер задач (Top): top или htop (если установлен).

  • Список всех процессов: ps aux

  • Дерево процессов: pstree

  • Убить процесс по ID (PID): kill [PID]

  • Убить процесс по имени: pkill [имя_процесса] (Например: pkill firefox).

  • Список открытых файлов: lsof


🌐 Сеть

  • Показать IP-адреса: ip addr show (современный вариант) или ifconfig (устаревший).

  • Показать открытые порты: sudo netstat -tulpn (Или ss -tulpn — более современный аналог).

  • Проверить доступность хоста: ping [google.com]

  • Узнать владельца домена: whois [домен]

  • DNS-запросы: dig [домен] или host [домен]

  • Скачать файл: wget [ссылка]

  • Копировать файл на сервер (SCP): scp [файл] user@host:/путь/куда/класть

  • Синхронизация папок (Rsync): rsync -avz [откуда] [куда]


📥 Установка программ (Пакетные менеджеры)

Команды зависят от вашего дистрибутива.

Debian / Ubuntu / Mint (APT):

  • sudo apt update — обновить список пакетов.

  • sudo apt install [пакет] — установить.

  • sudo apt remove [пакет] — удалить.

CentOS / RHEL (YUM/DNF):

  • sudo yum install [пакет]

  • sudo dnf install [пакет] (для новых версий).


⌨️ Полезные горячие клавиши терминала

Эти сочетания сэкономят вам часы работы.

СочетаниеДействие
Ctrl + CПрервать выполнение текущей команды
Ctrl + ZПриостановить процесс (отправить в фон)
Ctrl + DРазлогиниться (аналог exit)
Ctrl + LОчистить экран (аналог clear)
Ctrl + AКурсор в начало строки
Ctrl + EКурсор в конец строки
Ctrl + RПоиск по истории введенных команд
TabАвтодополнение имен файлов и команд (нажимать дважды)

🔧 Использование диска

  • Свободное место на дисках: df -h

  • Размер папки: du -sh [папка] (Покажет суммарный вес указанной директории).

  • Список разделов: sudo fdisk -l

  • Монтирование: sudo mount /dev/[устройство] /mnt/[папка]