9 декабря, 2021

Основы Linux. Часть 24 (Философия Linux)

С возвращением, мои хакеры!

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

Когда мы используем понятие «философия», то мы вовсе не имеем в виду вопросы типа «в чем смысл жизни» или «существует ли Бог», мы скорее подразумеваем то, какая логика, какие идеи лежали в основе создания этой вездесущей и живой операционной системы.

Как многие из вас уже знают, мы ярые сторонники операционной системы Linux. И для этого есть множество причин, о которых мы говорили в статье о том, почему каждый хакер должен знать Linux. Поскольку Linux, вероятно, идеально подходит для взлома и многих других задач, то думаем, что важно понимать философию, лежащую в основе структуры и модели Linux/Unix для любого окружения.

В этой статье мы будем использовать термин Unix/Linux для обозначения этой операционной системы. Unix был оригиналом, разработанным Томпсоном и Ритчи (Thompson и Ritchie). Линус Торвальдс (Linus Torvalds) и его команда провели реинжиниринг (реконструкцию) Unix.

Mac OS X, iOS, Android, Solaris, AIX, HP-UX и IRIX — это все формы Unix/Linux.

Red Hat, Ubuntu, Mint, Fedora, Debian, Slackware и SUSE — все это дистрибутивы Linux. Дистрибутив Linux — это просто операционная система, которая использует ядро ​​Linux и добавляет к нему свои собственные дополнительные компоненты. Эти компоненты включают в себя различные приложения, утилиты, модули, графические интерфейсы.

Читать также:  Основы Linux.Часть 30 ( Использование Ship для быстрого получения информации об IP-адресах в удобном виде )

Такая вариативность дистрибутивов часто запутывает и несколько расстраивает новичков, но на самом деле это часть красоты и силы Linux. Unix/Linux спроектирована так, чтобы быть гибкой и портативной, давая возможность пользователям работать так, как им удобно, а не так, как принуждают их работать разработчики программного обеспечения.

Unix была впервые разработана в начале 1970-х годов Деннисом Ритчи (Dennis Ritchie) и Кеном Томпсоном (Ken Thompson) в AT&T Labs. Тот факт, что он все еще используется спустя более 40 лет, говорит нам о качестве, долговечности и эффективности этой операционной системы. Эти ребята сделали все правильно! Сколько вы знаете вещей с начала 1970-х годов в области вычислительной техники, которые до сих пор существуют?

Однако вместо того, чтобы уйти в небытие эта «древняя» операционная система набирает обороты почти каждый день. Chrome, Android, iOS, Linux и Mac OS X основаны на этой 40-летней операционной системе. Если мы посмотрим на самый быстрорастущий рынок (мобильные устройства), то увидим, что в нем доминируют Unix-варианты с iOS и Android, на которые приходится более 91% рынка. Похоже, что мобильный рынок в ближайшем будущем будет почти на 100% состоять из Unix/Linux устройств.

Что же такого есть в этой скромной операционной системе, что сделало ее такой долговечной и надежной? Давайте рассмотрим некоторые аспекты философии Linux, которые сделали ее настолько успешной.

Предположение о том, что пользователь является технически подкованным

Разработчики Unix (и, соответственно, Linux) сделали радикальное предположение: пользователи являются хорошо подкованными в использовании компьютеров. Мы не можем сказать того же про другие операционные системы. Во многих случаях разработчики операционных систем предполагают, что мы невежественные, неграмотные неандертальцы, которых нужно защищать. Все совсем не так у Unix/Linux.

Читать также:  Парализовавший работу метро в Сан-Франциско хакер стал жертвой взлома

Как сказал один рассудительный человек: «Unix (Linux) не предназначен для того, чтобы мешать пользователям делать глупые вещи, поскольку это также мешало бы им делать умные вещи».

Прекрасно! Лучше и не скажешь!

Полный контроль

Одной из основных причин, почему хакеры используют Linux и только Linux, является то, что она дает нам полный контроль. Другие операционные системы пытаются скрыть некоторые из своих операций и функций от нас, боясь, что мы что-нибудь сломаем. Linux полностью прозрачен и позволяет нам видеть и использовать все, что захотим.

Предпочтение переносимости над высокой эффективностью

Unix была первой портативной операционной системой, то есть она могла использоваться на многих различных аппаратных платформах. Это хорошо зарекомендовало себя, так как Unix/Linux был портирован и скомпилирован для почти 60 аппаратных платформ. Это стало основной причиной его долговечности и способности адаптироваться к постоянно изменяющемуся технологическому окружению.

Хранение данных в простых текстовых файлах

Unix/Linux хранит данные в простых текстовых файлах, в отличие от других операционных систем. Это делает данные настолько переносимыми, насколько переносим сам код. Почти все системы могут импортировать и использовать простые текстовые файлы.

Использование скриптов шела для увеличения эффективности и переносимости

Использование скриптов шела расширяют возможности наших приложений. Написав скрипт, мы можем автоматизировать использование приложения, чтобы делать что-то столько раз, сколько нам нужно, точно также мы одновременно с этим могли бы использовать возможности других приложений. Кроме того, эти скрипты можно переносить в другие системы, без их компиляции.

Разрешение пользователям настраивать свое окружение

Unix/Linux был разработан так, чтобы разрешить пользователю подстраивать свое рабочее окружение под свои нужды и по своему вкусу. Все контролирует пользователь, а не разработчики программного обеспечения. Unix/Linux всего лишь реализует механизм работы, но не заставляет вас делать что-то определенным образом. Адаптация под нужды пользователей такого рода может принимать различные формы, включая использование окружений с графическим интерфейсом (GUI). Для Linux доступно множество окружений с графическим интерфейсом, включая GNOME (по умолчанию установлен в Kali и наиболее широко используется), KDE, Unity (по умолчанию используется в Ubuntu), Sugar, Trinity, Xfce, Enlightenment и многие другие. В большинстве случаев, вне зависимости от того, какое окружение с графическим интерфейсом у вас установлено в системе по умолчанию, вы можете установить и использовать абсолютно любое другое, какое захотите.

Читать также:  Основы Linux для хакеров, Часть 1 (Первые шаги)

Создание маленького и легкого ядра

Чтобы предоставить пользователям больше возможностей, во многие ядра операционных систем постоянно добавляются новые функции, что делает их все более громоздкими. Основная идея в моделях Unix/Linux состоит в том, чтобы держать ядро ​​маленьким и легким, но при этом позволить разработчикам и пользователям добавлять в него компоненты и модули по своему усмотрению.

Использование нижнего регистра и коротких названий

Традиционно в Unix/Linux используются короткие названия и команды и только в нижнем регистре.

Молчание — золото

Команды Unix/Linux, как правило, ничего вам не будут сообщать, если вы все делаете правильно. Это может несколько раздражать некоторых новых пользователей, когда они, например, скопируют файл из одного места в другое, а Unix/Linux нечего на это не скажет. Вы не получите ни подтверждения, ни похлопывания по плечу.

Думайте об иерархии

Операционная система Unix/Linux первой разработала файловую систему, организованную в виде иерархического дерева. Это иерархическое мышление распространилось и на многие другие области операционной системы, такие как работа с сетью и объектно-ориентированное программирование.

Надеюсь, это небольшое введение в философию Linux поможет вам понять, почему она настолько отличается от других операционных систем. Результатом этой философии является небольшая, легкая и гибкая операционная система, которая уважает своих пользователей.

Предыдущие статьи ( 1, 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23).

Добавить комментарий