Внутреннее устройство Linux или как работает Linux
В течение года мы издали три книги по Linux, которые положительно приняли:
Сейчас мы планируем сделать новую книгу и остановились на варианте — How Linux Works: What Every Superuser Should Know. Мы хотим узнать ваше мнение и принять решение делать ли книгу.
Небольшая рецензия на прошлое издание:
Эта книга познакомит вас с внутренней организацией операционной системы Linux. Если вы новичок (книга отлично написана даже для новичков), программист, системный администратор, обычный пользователь или исследователь — впрочем, если вы просто всегда интересуетесь, как именно работает та или иная штука, то это книга для вас. Например, я — программист, прочитал ее, чтобы лучше изучить Linux, так как ранее мое знакомство с этой системой ограничивалось чтением онлайновых руководств. Книга разделена на три части. В части 1 описываются общие принципы конструкции и функционирования Linux. Во второй части рассматриваются инструменты программирования, доступные в Linux. В третьей части собраны специализированные темы, в частности, разъясняется работа с ядром, печать и т.д.
Часть 1: основы изложены весьма подробно. Я заметил, что для уточнения информации по некоторым командам, рассмотренным в этой части достаточно просто почитать справку man или info, но автор явно задумывал книгу иначе. Правда, для справки автор описывает все основные команды Linux и делает краткое введение по каждой из них. Книга исключительно простым языком рассказывает, как именно и по каким принципам работают файловые системы Linux. Я, например, всегда в них путался, но, прочитав эту книгу, выяснил для себя все нюансы. В ходе изучения основ Linux мы также знакомимся с загрузчиками этой операционной системы — GRUB и LILO. Отмечу, что в книге отлично рассмотрены сетевые аспекты работы в Linux. Не могу прокомментировать часть о ppp, но темы Ethernet, iptables и трансляции сетевых адресов (NAT) рассмотрены очень хорошо. Более того, автор подробно объясняет, как обеспечивать безопасность в беспроводных сетях.
Часть 2. Вторая часть начинается с вводного курса по написанию скриптов для командной оболочки (Shell scripting). Правда, следует вновь оговориться о целевой аудитории данной книги — далеко не все аспекты написания таких скриптов можно рассмотреть в столь небольшом пособии. Темы GCC и Make объяснены очень хорошо (в сущности, я разобрался в Make, только прочитав эту книгу). Более того, скрипты в этой книге пишутся на Python! Далее автор переходит к самой интересной (для некоторых, правда, самой несносной) теме в Linux – компилированию ядра. Работе с ядром посвящена целая глава, прочитав ее, я совершенно уверен, что смогу сам перекомпилировать мою систему.
Часть 3: Эту часть можно читать отдельно от всей книги. В ней рассматриваются специализированные темы, каждую из которых можно изучать независимо. Например, как настроить сетевой принтер? Как работать с CUPSd? Как пользоваться Ghostscript для преобразования Postscript в PDF? Ответы на все эти вопросы вы найдете здесь. Так, мне было просто необходимо научиться работать с файловой системой SAMBA. Моя домашняя сеть состоит из компьютеров с Windows, и мне периодически приходилось обращаться к тем или иным файлам, расположенным на них. Теперь все изменилось! Я без труда могу просматривать все домашние каталоги прямо с ноутбука, который подключается к сети по беспроводному соединению.
Пользователи часто сетуют, что в Linux возникает множество багов при работе с аппаратным обеспечением. В этой книге есть целая глава, рассказывающая, как покупать оборудование, совместимое с Linux. Этот материал очень вам пригодится, особенно если вы стараетесь оснастить свой компьютер по последнему слову техники. Кроме того, эта глава очень поможет системным администраторам, занятым обслуживанием больших корпоративных сетей.
Итак, я рекомендую эту книгу всем читателям, которых интересует внутренняя организация Linux. Вы найдете ответы на все интересующие вас вопросы и отлично освоите все механизмы Linux. Конечно, после ее прочтения вы не станете экспертом по Linux, но она поможет вам ответить на многие вопросы «как»? и «почему»? В дальнейшем она послужит вам солидным базисом для профессионального роста в области Linux.
What is Linux?
Linux® is an open source operating system (OS). An operating system is the software that directly manages a system’s hardware and resources, like CPU, memory, and storage. The OS sits between applications and hardware and makes the connections between all of your software and the physical resources that do the work.
What’s a command line?
The command line is your direct access to a computer. It’s where you ask software to perform hardware actions that point-and-click graphical user interfaces (GUIs) simply can’t ask.
Command lines are available on many operating systems—proprietary or open source. But it’s usually associated with Linux, because both command lines and open source software, together, give users unrestricted access to their computer.
Our latest release of Red Hat® Enterprise Linux comes with even more built-in command line capabilities than ever before and includes consoles that bundle those capabilities in easy-to-use modules that exist off of the command line.
How does Linux work?
Think about an OS like a car engine. An engine can run on its own, but it becomes a functional car when it’s connected with a transmission, axles, and wheels. Without the engine running properly, the rest of the car won’t work.
Linux was designed to be similar to UNIX, but has evolved to run on a wide variety of hardware from phones to supercomputers. Every Linux-based OS involves the Linux kernel—which manages hardware resources—and a set of software packages that make up the rest of the operating system. Organizations can also choose to run their Linux OS on a Linux server.
The OS includes some common core components, like the GNU tools, among others. These tools give the user a way to manage the resources provided by the kernel, install additional software, configure performance and security settings, and more. All of these tools bundled together make up the functional operating system. Because Linux is an open source OS, combinations of software can vary between Linux distributions.
How well do you know Linux?
Test your knowledge and earn badges in Legends of Linux trivia.