Добро пожаловать обратно, мои начинающие хакеры!
Хотя эту статью, возможно, лучше было бы разместить в начале серии , сомневаюсь, что кто-то читал её, только начав изучать Linux. Теперь, когда вы уже достаточно углубились в изучение Linux и немного знакомы с его принципами работы, я хотел бы воспользоваться случаем и объяснить философию операционной системы Linux.
Когда я использую термин «философия», я не имею в виду такие вопросы, как «в чем смысл жизни» или «существует ли Бог», а скорее то, какова была основная логика и обоснование, лежащее в основе разработки этой вездесущей и основанной на любви операционной системы.
Как многие из вас уже знают, я ярый сторонник операционной системы Linux. На это есть множество причин, которые я постарался объяснить в этой статье . Хотя Linux, возможно, идеально подходит для хакинга и многих других задач, я считаю важным понимать философию, лежащую в основе структуры и модели Linux/Unix для любой среды.
В этой статье я буду использовать термин Unix/Linux для обозначения этой операционной системы. Unix — это оригинальная операционная система, разработанная Томпсоном и Ритчи, а Linux — её реинжиниринг, проведённый Линукс Торвальдсом и его командой. Mac OS X , iOS , Android , Solaris , AIX , HP-UX и IRIX — всё это формы Unix/Linux.
Кроме того, Red Hat , Ubuntu , Mint , Fedora , Debian , Slackware и SUSE — это дистрибутивы Linux. Дистрибутив Linux — это просто операционная система, использующая ядро Linux, но добавляющая собственные компоненты. Эти компоненты различаются, но могут включать приложения, утилиты, модули, графический интерфейс и другие.
Такое разнообразие дистрибутивов часто сбивает с толку и раздражает новичков, но на самом деле это часть красоты и мощи Linux. Unix/Linux разработаны с расчётом на гибкость и портативность, позволяя конечному пользователю работать так, как ему удобно, а не так, как считает разработчик.
Unix был разработан в начале 1970-х годов Деннисом Ритчи и Кеном Томпсоном в лабораториях AT&T. Тот факт, что она всё ещё используется спустя более 40 лет, говорит о качестве, надёжности и эффективности этой операционной системы. Эти ребята сделали что-то правильное! Сколько всего в вычислительной технике до сих пор актуально с начала 1970-х?
На самом деле, эта «древняя» операционная система не угасает, а, наоборот, набирает популярность практически с каждым днём. Chrome, Android, iOS, Linux и Mac OS X — все они основаны на этой 40-летней операционной системе. Если же взглянуть на самый быстрорастущий рынок — мобильные устройства, — то там доминируют варианты Unix, причём на iOS и Android приходится более 91% рынка. Похоже, что в ближайшем будущем мобильный рынок будет практически полностью состоять из 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 и многие другие. В большинстве случаев, несмотря на графический интерфейс по умолчанию, который может быть в вашей системе, вы можете установить и использовать любой другой интерфейс, если захотите.
Сделайте ядро маленьким и легким
Хотя многие ядра операционных систем продолжают добавлять функции к основному ядру, предлагая пользователям более широкие возможности, они всё больше раздувают его. Модель Unix/Linux заключается в том, чтобы ядро оставалось небольшим и лёгким, но при этом разработчики и пользователи могли добавлять компоненты и модули по своему усмотрению.
Используйте строчные буквы и делайте текст коротким
строчные имена и команды — традиция Unix/Linux.
Молчание — золото
Команды Unix/Linux, как правило, не реагируют, если всё сделано правильно. Это может свести с ума некоторых новых пользователей, например, когда они копируют файл из одного места в другое, а Unix/Linux не отвечает. Ни подтверждения, ни даже одобрения.
Думайте иерархически
Операционная система Unix/Linux стала первой, в которой была разработана файловая система, организованная в виде иерархического дерева. Эта иерархическая концепция распространилась и на многие другие области операционных систем, такие как сетевые технологии и объектно-ориентированное программирование.
Краткое содержание
Надеюсь, этот небольшой экскурс в философию Linux поможет вам понять, чем он так отличается от других операционных систем. Результатом этой философии стала небольшая, лёгкая и гибкая операционная система, которая с уважением относится ко всем пользователям.
Хотя эту статью, возможно, лучше было бы разместить в начале серии , сомневаюсь, что кто-то читал её, только начав изучать Linux. Теперь, когда вы уже достаточно углубились в изучение Linux и немного знакомы с его принципами работы, я хотел бы воспользоваться случаем и объяснить философию операционной системы Linux.
Когда я использую термин «философия», я не имею в виду такие вопросы, как «в чем смысл жизни» или «существует ли Бог», а скорее то, какова была основная логика и обоснование, лежащее в основе разработки этой вездесущей и основанной на любви операционной системы.
Как многие из вас уже знают, я ярый сторонник операционной системы Linux. На это есть множество причин, которые я постарался объяснить в этой статье . Хотя Linux, возможно, идеально подходит для хакинга и многих других задач, я считаю важным понимать философию, лежащую в основе структуры и модели Linux/Unix для любой среды.
В этой статье я буду использовать термин Unix/Linux для обозначения этой операционной системы. Unix — это оригинальная операционная система, разработанная Томпсоном и Ритчи, а Linux — её реинжиниринг, проведённый Линукс Торвальдсом и его командой. Mac OS X , iOS , Android , Solaris , AIX , HP-UX и IRIX — всё это формы Unix/Linux.
Кроме того, Red Hat , Ubuntu , Mint , Fedora , Debian , Slackware и SUSE — это дистрибутивы Linux. Дистрибутив Linux — это просто операционная система, использующая ядро Linux, но добавляющая собственные компоненты. Эти компоненты различаются, но могут включать приложения, утилиты, модули, графический интерфейс и другие.
Такое разнообразие дистрибутивов часто сбивает с толку и раздражает новичков, но на самом деле это часть красоты и мощи Linux. Unix/Linux разработаны с расчётом на гибкость и портативность, позволяя конечному пользователю работать так, как ему удобно, а не так, как считает разработчик.
Unix был разработан в начале 1970-х годов Деннисом Ритчи и Кеном Томпсоном в лабораториях AT&T. Тот факт, что она всё ещё используется спустя более 40 лет, говорит о качестве, надёжности и эффективности этой операционной системы. Эти ребята сделали что-то правильное! Сколько всего в вычислительной технике до сих пор актуально с начала 1970-х?
На самом деле, эта «древняя» операционная система не угасает, а, наоборот, набирает популярность практически с каждым днём. Chrome, Android, iOS, Linux и Mac OS X — все они основаны на этой 40-летней операционной системе. Если же взглянуть на самый быстрорастущий рынок — мобильные устройства, — то там доминируют варианты Unix, причём на iOS и Android приходится более 91% рынка. Похоже, что в ближайшем будущем мобильный рынок будет практически полностью состоять из 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 и многие другие. В большинстве случаев, несмотря на графический интерфейс по умолчанию, который может быть в вашей системе, вы можете установить и использовать любой другой интерфейс, если захотите.
Сделайте ядро маленьким и легким
Хотя многие ядра операционных систем продолжают добавлять функции к основному ядру, предлагая пользователям более широкие возможности, они всё больше раздувают его. Модель Unix/Linux заключается в том, чтобы ядро оставалось небольшим и лёгким, но при этом разработчики и пользователи могли добавлять компоненты и модули по своему усмотрению.
Используйте строчные буквы и делайте текст коротким
строчные имена и команды — традиция Unix/Linux.
Молчание — золото
Команды Unix/Linux, как правило, не реагируют, если всё сделано правильно. Это может свести с ума некоторых новых пользователей, например, когда они копируют файл из одного места в другое, а Unix/Linux не отвечает. Ни подтверждения, ни даже одобрения.
Думайте иерархически
Операционная система Unix/Linux стала первой, в которой была разработана файловая система, организованная в виде иерархического дерева. Эта иерархическая концепция распространилась и на многие другие области операционных систем, такие как сетевые технологии и объектно-ориентированное программирование.
Краткое содержание
Надеюсь, этот небольшой экскурс в философию Linux поможет вам понять, чем он так отличается от других операционных систем. Результатом этой философии стала небольшая, лёгкая и гибкая операционная система, которая с уважением относится ко всем пользователям.