Книга Брайана Уорда «Внутреннее устройство Linux»
На днях дочитал книгу Брайана Уорда «Внутреннее устройство Linux». Эта книга для тех, кто уже использует Linux как пользователь, но хочет чуть-чуть заглянуть во внутреннюю структуру этой операционной системы. В ней рассказывается обо всем понемногу, но при этом не особо углубляясь в подробности. «Внутреннее устройство Linux» можно сравнить с обзорной экскурсией по операционной системе, когда какие-то новые знания вы получаете, но для их практического применения еще нужно что-то читать дополнительно (в книге постоянно ссылаются на документацию).
Эта книга не столько о ядре Linux, сколько о том, как ядро взаимодействует с другими компонентами операционной системы. После краткого рассказа о том, из чего состоит операционная система на основе Linux (ядро, пользовательские процессы, драйверы устройств) говорится о использовании терминала с описанием наиболее часто используемых команд, таких как ls, cd, pwd, cat, find, file, grep и т.п. Все они описаны достаточно кратко без полного списка параметров, приводятся лишь несколько вариантов использования. Честно говоря, я не люблю такой подход обучения на примерах, потому что он не показывает всех возможностей описываемых команд.
На протяжении всей книги будут встречаться описания и более экзотических команд, например для получения списка устройств, разделов диска, запущенных сервисов и т.д. Например, команды dd, udevadm, lsscsi и подобные им. Все эти команды будут описаны применительно к конкретной ситуации с определенным набором команд (а дальше, если вас заинтересовала команда, смотрите документацию).
Отдельная глава будет посвящена программированию в bash, где будет сказано, что кроме bash существуют и другие оболочки, но вы так и не узнаете, чем они отличаются. В глава про bash мне понравилась, но и она достаточно поверхностна.
Одна глава посвящена файловым системам, тому, как ядро обнаруживает диски и разделы, как они монтируются, и как программно устроены файловые системы. К сожалению, ничего не сказано о том, как работает кеширование и журналирование в файловых системах.
Достаточно подробно описан процесс загрузки ядра, отличие BIOS от UEFI, чем таблица разделов MBR отличается от GPT, как установить и настроить GRUB. Подробно описан процесс загрузки системы и инициализация с помощью systemd, Upstart и System V init.
Мне понравились главы, посвященные сетям и их настройке. Эта тема достаточно аккуратно разделена на «слои», как это сделано в стеке сетевых протоколов. В этих главах коротко рассказано о структуре сети, протоколах TCP и UDP (очень кратко), настройке брандмауэра iptables (буквально несколько страниц), о том, как работает NetworkManager.
Коротко говорится о системе X Window, приводятся некоторые команды, с помощью которых через консоль можно поработать напрямую с этой системой. Упоминаются системы Wayland и Mir, но буквально на одной страничке. Говорится, зачем нужна шина D-Bus.
В конце книги описывается работа с системами сборки программ из исходников. Есть небольшое введение в Makefile и Autoconf, рассказывается, как запускать компилятор и линкер.
В итоге эта книга у меня оставила неоднозначное впечатление. С одной стороны она помогает понять, из чего состоит операционная система на основе Linux, но после ее прочтения вы не станете профессиональным админом или специалистом по Linux. Наверное, эта книга будет полезна скорее уверенным пользователям Windows, которые переходят на Linux, чтобы уменьшить уровень магии, которая происходит «под капотом». Я от книги ожидал большей глубины описания, хотелось бы найти книгу наподобие классики «Windows для профессионалов» Джеффри Рихтера.
Книга «Внутреннее устройство Linux» не такая большая — чуть больше 380 страниц, читается она местами достаточно легко, а где-то немного нудновато. Основная проблема книги в том, что автор распыляется сразу на все части операционной системы, и многим интересным вещам достаются всего лишь одна-две страницы.
Отдельно хочется сказать про перевод. Он иногда просто ужасен. Такое ощущение, что у переводчика проблемы с русским языком. Некоторые предложения приходилось перечитывать по несколько раз, чтобы понять, что там написано. Иногда текст напоминал Google Translate. Например, зачем пользователя root перевели как «корневой пользователь»? Фразы иногда построены на манер английского языка, когда не поймешь, к какому существительному относится придаточное предложение.
Я бы книге поставил оценку 4-. Все-таки несколько полезных шпаргалок с командами я себе в тетрадку выписал.
PS. Вы можете подписаться на новости сайта через RSS, Группу Вконтакте или Канал в Telegram.
Leave a comment