LINUX.ORG.RU

Актуальные книги по Linux на русском

 , ,


1

3

Доброго дня!

Много-много лет являюсь упор(от)[н]ым пользователем OC Windows - знаю эту систему достаточно хорошо и глубоко. Linux как-то пробовал поставить году в 2007+- (Mandrake емнип) - не завелось, т.к. то ли диски были коцаные, то ли оборудование неподходящее. Тогда завязал с этим делом.

И вот, настал момент, когда захотелось поработать с Линухом вновь. Поставил на один из ПК Debian 12, на другой Arch. Методом тыка и немного man’a чуть освоился с системой, установил нужное мне ПО, смонтировал расшаренные на виндовом ПК диски, чуть поковырял настройки по инструкциям из интернетов…

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

  • «Эви Немет - Unix и Linux. Руководство системного администратора» - пишут, что перевод ужасен, часть информации не обновили при переводе с прошлого издания. Также пишут, что это лучшее, что есть по теме. Что истинно?
  • «Майкл Керриск - Linux API. Исчерпывающее руководство» - и тут пишут, что лучшее произведение по теме. Но также пишут, что данные устарели, ядро рассматривается старое… Актуальна ли книга?
  • «Д. Тиволт - Защита и укрепление Linux» - книга вроде как мастрид, если нужно настроить систему с целью огораживания (судя по комментам к английской версии на амазоне). По содержанию - заинтересовали главы про настройки фаерволла, т.к. пришлось с ними сталкиваться при настройке nginx на дебиане и про настройки пользовательских прав доступа и прочие ACL. Вроде книга свежая. Как часто меняется всё в мире Linux?

Собственно главный вопрос: достаточно ли этих книг для глубокого вникания в систему? Что ещё из актуального можете посоветовать нубу? Спасибо!

Ответ на: комментарий от kardapoltsev

Всем спс. По вики дистрибутивов - это понятно. Это справочники и howto, насколько я по диагонали их смотрел. Ну то есть арч я по вики и ставил в целом.

А из фундаментального? Ну чтоб слой за слоем появлялось понимание до полного дзена в итоге? Вот я список книг купленных привел, они норм для этого?

AndrewP
() автор топика

«Майкл Керриск - Linux API. Исчерпывающее руководство» - и тут пишут, что лучшее произведение по теме. Но также пишут, что данные устарели, ядро рассматривается старое… Актуальна ли книга?

Ты разработчик драйверов? Нет, она не может быть актуальна, документацию на API ядра надо читать официальную.

anonymous
()
Ответ на: комментарий от anonymous

Пока не разработчик драйверов, для меня режим ядра в Linux вообще темный лес пока… А как фундамент, чтобы потом понять что смотреть в документации, не? Ну вот по Windows API, например, даже сейчас полезно почитать Дж.Рихтера по Win32, хотя книге уже лет 20…

AndrewP
() автор топика
Ответ на: комментарий от AndrewP

Ну чтоб слой за слоем появлялось понимание до полного дзена в итоге?

Это невозможно, потому что никакого «дзена» там нет, типичный процесс эволюции – один кошмар поверх другого, но, чёрт подери, оно как-то работает 🤣

papin-aziat ★★★★★
()
Ответ на: комментарий от AndrewP

Пока не разработчик драйверов

Завтра начинаешь?

для меня режим ядра в Linux вообще темный лес пока

https://github.com/torvalds/linux

https://docs.kernel.org/

Изучай, всё доступно всем желающим.

Ну вот по Windows API, например, даже сейчас полезно почитать Дж.Рихтера по Win32, хотя книге уже лет 20…

Полезно для каких конкретно целей?

anonymous
()
Ответ на: комментарий от anonymous

Завтра начинаешь?

Завтра я занят, скорее всего, но вот послезавтра вполне может случиться.

Полезно для каких конкретно целей?

Для понимания функционирования системы, конечно. И по сегодняшний день Рихтер + Руссинович + MSDN это фундамент, хотя первые две изрядно устарели. Но ничего лучше не написано до сих пор.

https://github.com/torvalds/linux https://docs.kernel.org/

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

AndrewP
() автор топика
Ответ на: комментарий от AndrewP

Завтра я занят, скорее всего, но вот послезавтра вполне может случиться.

🤡

Для понимания функционирования системы, конечно.

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

обзора общего, взгляда с высоты птичьего полёта

Это есть в документации по ссылке.

anonymous
()
Ответ на: комментарий от anonymous

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

Просто хочется понять Linux на том же уровне, что и Windows. Ну то есть есть загрузчик образов, есть планировщик, есть уровни IRQL, есть HAL, есть табличка такая, табличка сякая, есть такие вот и этакие объекты ядра и прочее и прочее.

Для Windows я писал ядерный код, в основном потехи ради. Общее представление о работе драйверов (и ядерного кода, как следствие) в Win имею. Если процесс будет падать - я и отладить смогу и понять откуда ноги растут.

А линукс пока очень поверхностно, конечно. Но хотелось бы понять. Для начала понять куда смотреть, если ловлю баг какой. Вот, например, в Арче у меня консоль говорит, что ни одной программы не знает, после того, как из ждущего режима возвращется. Как будто сессия всё. Сначала консоль ничего не знает о программах, а потом и KDE виснет намертво. Куда смотреть надо, чтобы выявить проблему? В какие логи? Ну и вот это вот всё.

AndrewP
() автор топика
Ответ на: комментарий от AndrewP

Вот, например, в Арче у меня консоль говорит, что ни одной программы не знает, после того, как из ждущего режима возвращется. Как будто сессия всё. Сначала консоль ничего не знает о программах, а потом и KDE виснет намертво. Куда смотреть надо, чтобы выявить проблему? В какие логи? Ну и вот это вот всё.

dmesg. Судя по симптомам, на диске у тебя уже никаких логов не будет до перезагрузки.

anonymous
()
Ответ на: комментарий от AndrewP

Ну то есть есть загрузчик образов, есть планировщик, есть уровни IRQL, есть HAL, есть табличка такая, табличка сякая, есть такие вот и этакие объекты ядра и прочее и прочее.

Ищи что-нибудь со следующими буквами: linux+kernel+internals. Вот, например, нагуглил за тебя: https://0xax.gitbooks.io/linux-insides/content/ Выглядит занимательно, наверное, сам почитаю.

anonymous
()
Ответ на: комментарий от AndrewP

Просто хочется понять Linux на том же уровне, что и Windows. Ну то есть есть загрузчик образов, есть планировщик, есть уровни IRQL, есть HAL, есть табличка такая, табличка сякая, есть такие вот и этакие объекты ядра и прочее и прочее.

Тогда однозначно советую LFS и Linux Device Drivers издание 3. Первая научит тебя собирать софт из исходников и даст общее представление о том, какие компоненты в системе за что отвечают. Вторая даст общее представление об устройстве ядра и необходимый минимум для написания модулей ядра.

u5er
()
Ответ на: комментарий от anonymous

Да можно и на английском, конечно. Просто скорость чтения не та, хотя MSDN как на родном заходит, с другой стороны.

Вот именно для того, чтобы сформировалось общее представление об архитектуре системы, чтобы отложилась в памяти основная терминология и хочу сначала на русском по быстрому прочесть литературу. Чтобы потом по перекрёстным ссылкам в документации не зарываться от какой-нибудь таблички в ядре к истории второй мировой войны…

AndrewP
() автор топика
Ответ на: комментарий от olelookoe

Ну это, наверное, утрировано. Всё же архитектура не может кардинально меняться раз в год. Что-то обрастает новыми возможностями, что-то выпиливают за ненадобностью (ещё и с обёртками для обратной совместимости, скорее всего), но основная часть монолитна и стабильна, скорее всего.

В Windows так, по крайней мере.

AndrewP
() автор топика

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

Ygor ★★★★★
()
Ответ на: комментарий от Ygor

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

AndrewP
() автор топика
Ответ на: удаленный комментарий

Да неплохо я его знаю. Читать документацию и технические книги без помощи переводчика могу вполне. Просто скорость чтения не та, к сожалению, как на русском.

AndrewP
() автор топика
Ответ на: комментарий от AndrewP

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

Увы тут только чтение исходного кода. Как оно там конкретно реализовано в текущий момент, никакой Таненбаум тебе не расскажет.

Ygor ★★★★★
()

Эви Немет - Unix и Linux. Руководство системного администратора

Книга хороша, но тут проблема в том что она должна быть актуальной, сама Эви мертва давно уже, а что там с 2014 года поменялось когда я её читал, многое, т.е. старая версия не актуальна по крайней мере про то где системы инициализации рассматриваются, как минимум всё кроме systemd умерло почти везде (пара магринальных дистрибутивов осталось куда можно поставить что-то другое без слишком долгих плясок с бубном), да и сам systemd с тех пор немного поменялся по капле за раз, но их уже много накопилось, а что в новой версии я не знаю, не читал. Так что новичку можно купить самую последнюю версию, но вообще куда профитнее читать по мере необходимости маны, вики и разные тематические ресурсы. А книжки брать по академическим, не устаревающим знаниям. А так английский язык профитнее прокачать до уровня свободного чтения официальной документации, вики и форумов, для решения повседневных вопросов этого достаточно, да и среди сложных вопросов книжки которая бы дала ответ на них всех тоже нет, важнее уметь находить ответы на проблемы по мере их поступления. Так что я бы брал 1 книжку а дальше в гугл, на арчвики и в официальную документацию, всё это будет более полным чем книга.

peregrine ★★★★★
()
Ответ на: комментарий от peregrine

В целом ТС хочет пойти слишком окружной дорогой, надо брать С/С++ и учится, учится и ещё раз учится. А далее искать компании которым этот опыт был бы интересен и устраиваться туда на работу и учится далее.

Ygor ★★★★★
()
Ответ на: комментарий от Ygor

Так С/С++ и Asm x86/86-64 знаю, занимался реверсом exe с целью отучения от жадности, писал инфекторы exe по приколу, shell-коды. То есть с PE-форматом (который по докам в основном и разобрал) знаком, с архитектурой Windows знаком, за что какая библиотека dll отвечает понимаю, с отладкой в т.ч. низкоуровневой и ядерной для Win знаком.

С Linux вот пробел вышел, не интересовал ранее. Я и с ELF-форматом вот знакомлюсь сейчас, пока по книгам. Хочу понять Linux как можно шире/глубже.

AndrewP
() автор топика
Ответ на: комментарий от Ghostwolf

Потом же ещё год переводить и издавать перевод будут, и то если спрос есть.

Это всё так, и я тоже не могу рекомендовать тратить время на заведомо устаревшие книги в современном IT. Но всё же много чего в ядре не претерпевает особо крупных изменений годами. Например, в ту же VFS ну очень не любят что-то добавлять и там вроде бы даже какая-то стабильность API есть. Сетевые фильтры живут по несколько лет между заменами одного на другой.

anonymous
()
Ответ на: комментарий от AndrewP

По вики дистрибутивов - это понятно. … Ну то есть арч я по вики и ставил в целом.

Есть мнение, что значение арчевики выходит за пределы собственно арча, там есть довольно много знаний по линуксу в целом, выходящих за пределы конкретного дистрибутива.

К Gentoo это относится, наверное, в меньшей степени, но например, благодаря гентушному Howto я для себя в своё время открыл chroot (который оказался полезным не только для генты, просто в генте это часть стандартного пути установки) и научился самостоятельно собирать ядра.

hobbit ★★★★★
()
Ответ на: комментарий от Ygor

Ну в РФ нынче таких компаний тупо нет. С вебом ещё можно куда-то приткнуться без опыта. А с C/C++ это тупо геймдев и микрухи. И первое и второе всегда на ладан дышало у нас традиционно.

peregrine ★★★★★
()
Ответ на: комментарий от d00fy

не надо так!!

-2 — это испокон веков стандартная цена за 7.1 на ЛОРе. Возможно, это не совсем справедливо, но суть в том, что если кто-то (грубо говоря) пишет на ЛОРе «ты дебил», по местным правилам его надо либо молча проигнорировать, либо отписать в спецтему. Но ни в коем случае не кормить.

P.S. ТСу скора подкинул до 50, но на будущее пусть тоже запомнит.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)

Уважаемый(ведь так!) ТС

время - деньги

специфика текущего состояния книжной индустрии меньшие тиражи большая номенклатура - ибо так и выбор(а уж иллюзия так ещё ) больше и больше занятость

бремя выбора оптимального(в той или иной степени и мере) свода текстбучин на аутодидакте

вы бедствуете али коммерчески успешны?

qulinxao3
()

Советы изучать устройство линукса по онлайн вики - это как предложение осваивать школьную алгебру по таблицам Брадиса.

От себя могу порекомендовать англоязычные книги издательства O’Reilly.

visitor
()