# Линукс без интернета В то время как некоторые боятся отключения Youtube или даже почти полной потери доступа к Интернету - здесь обсуждаются возможности использовать всё то, что дорого и было получено не только из него. Разговор идёт о доступе и работе с важнейшими файлами: мультимедийными видео-аудио и, конечно текстам. Кстати, о текстах и будет идти речь в этом выпуске про документации и книги, которые нужно не только регулярно читать, но и уметь правильно заготавливать на разные случаи. ## Выпуск 13: Книги под рукой или некриминальное чтиво Последние интернетные десятилетия приучили пользователей компьютеров и прочих гаджетов к тому, чтобы всё, что интересует за почитать искать с помощью поисковиков (Google/Yandex... а когда-то почивший в бозе Alta-Vista или всё ещё в непонятном статусе Yahoo) ну и читать, тоже в браузере. А некоторые даже не знают, что этот браузер когда-то переключался вручную в режим "работа вне сети", чтобы он не подвисал в ожидании подгрузки каких-то ресурсов при масштабировании интерпретации HTML-страницы (т.н. рендеринг). И вот мне, говорят: а зачем накачивать и сохранять какие-то там файлы на флешки, DVD и прочие жёсткие диски, когда всё доступно в Инернете, причём в свежем виде? Таким людям я готов задать следующий встречный вопрос: а если так всё хорошо и радужно, то почему в самых последних дистрибутивах Linux мы в командной строке набираем `man что-то-такое` и нам отображается на экране хоть как-то оформленный текст, отнюдь не из Интернета? А вам я скажу более: это [странички руководства](https://ru.wikipedia.org/wiki/Man) в специальном формате [troff](https://en.wikipedia.org/wiki/Troff). Обычно такого рода дополнительная документация находится в составе того же пакета что и программное обеспечение (исполнимые/двоичные модули, разделяемые библиблиотеки). Реже туда попадает докумнетация в форматах [Texinfo](https://en.wikipedia.org/wiki/Info_(Unix)), HTML и даже PDF. Для просмотра Texinfo можно использовать помимо классической CLI-утилиты info, более продвинутую TUI [pinfo](https://packages.debian.org/sid/pinfo), также есть возможность читать эту документация в GNU Emacs: достаточно набрать комбинацию клавиш `C-h` `i`. Для HTML доступно великое изобилие браузеров, от традиционных FireFox с GUI до консольных w3c, elinks, lynx и т.д. PDF в консоли читать не пробовал, но для слабеньких компьютеров можно рекомендовать mupdf а для чего помощнее: atril и evince. Но обычно, чтобы подобное чтиво всегда было под рукой его формируют в отдельные пакеты. Далее будет уделено внимание системе Debian. Можно оценить и посмотреть список только тех пакетов, которые содержат только документацию по конкретному продукту командой: apt-cache pkgnames |grep -- '-doc$'|sort|less И это далеко не полный список, о чём будет рассказано далее. Ещё в Debian'о-основанных дистрибутивах следует заглянуть в каталог `/usr/share/doc-base`. В нём содержится в файлах метаинформация по пакетам с документацией и, что важно, точки входа для чтения: т.н. индексные файлы, оглавления и т.д. Формат документов, которые там лежат, это, как правило HTML, PDF и PS, о чём сказано в [соответствующем разделе разработчика пакетов Debian](https://www.debian.org/doc/manuals/maint-guide/dother.ru.html#doc-base). А пока прежде всего, стоит отметить, что сообщество разработчиков дистрибутива тщательно отслеживает лицензионную чистоту не только самого программного обеспечения (ПО), но и ещё сопроводительной документации. Например, пакет [texinfo-doc-nonfree](https://packages.debian.org/buster/texinfo-doc-nonfree) находится документация, признанная несвободной, хотя там всего лишь описан формат докуемнтов [GNU Texinfo](https://www.gnu.org/software/texinfo/) причём есть и HTML-файлы, чтобы читать в любимом браузере. Интересно, что Debian на своих дистрибутивных дисках поставлял и пакеты со справочными страничками на русском языке. Назывался он [manpages-ru](https://manpages.debian.org/wheezy/manpages-ru/) . Но поставлялся до 7-го релиза Debian (кодовое имя Wheezy). Потом он исчез, видимо, потому, что его некому было поддерживать в актуальном состоянии, а контроль качества дистрибутива не позволяет включать устаревшие пакеты (видимо, чтобы не дезинформировать пользователей). ### Описание дистрибутива Debian в подробностях Я рекомендую начать работу с любой системой, будь то в Интернете или без неё с освоение предоставляемой ей же документации о себе. Причём делать это лучше на всех знакомых вам языках параллельно. В пакете [debian-faq-ru](https://packages.debian.org/bookworm/debian-faq-ru) есть список вопросов и ответов на русском языке - качественный перевод. А оригинал находится в пакете [debian-faq](https://packages.debian.org/search?keywords=debian-faq). Пакет [debian-reference](https://packages.debian.org/debian-reference) ставит руководства администратора в командной строке на всех языках. Русского языка там нет, поэтому целесообразно поставить один пакет с английским [debian-reference-en](https://packages.debian.org/debian-reference-en). Неспешное чтение настольной книги по Debian [debian-handbook](https://packages.debian.org/search?searchon=names&keywords=debian-handbook) - пакет содержит HTML файлы на многих языках, в том числе русском и английском, хотя в оригинале писался французами на их родном языке. Пакет [debian-history](https://packages.debian.org/search?keywords=debian-history) можно ставить, если вы станете фаном дистрибутива: там не только история развития проекта, но и мартиролог, краткое устройство и политика (кто был лидером)... ### Документация разработчику Если вы занимаетесь программированием (особенно на базовом, системном языке Си), то неплохо на жёсткий диск своего компьютера поставить пакеты: * [manpages-dev](https://packages.debian.org/ru/bullseye/manpages-dev) - подробные странички по вызовам функций библиотеки и ядра * [manpages-posix-dev](https://packages.debian.org/ru/bullseye/manpages-posix-dev) - -//- в стандарте [POSIX](https://ru.wikipedia.org/wiki/POSIX) Инженерная сборка кастомизированного ядра описана в небольшом пакете [debian-kernel-handbook](https://packages.debian.org/debian-kernel-handbook). Есть неплохая подборка официальной докумнетации по компилятору GCC и сопутствующим системным библиотекам C/C++: * [gcc-doc](https://packages.debian.org/bullseye/gcc-doc) - общее описание коллекции компиляторов на разных языках программирования (C/C++/Objective-C/D/Go/...) в форматах HTML/GNU Texinfo * [glibc-doc](https://packages.debian.org/ru/sid/glibc-doc) - только документация по многопоточной библиотеке POSIX threads и описание изменений в библиотеке GNU lib C. Полная документация содержится в следующем пакете: * [glibc-doc-reference](https://packages.debian.org/ru/sid/glibc-doc-reference) - полная документация по текущей библиотеке GNU lib C в форматах: PDF/HTML/Texinfo * [libstdc++-7-doc](https://packages.debian.org/buster/libstdc++-7-doc) - документация по GNU stdc++ library для 7-й версии сборного компилятора GCC. Ищите аналогичный пакет для версии GCC в вашем дистрибутиве ОС. * [cppman](https://packages.debian.org/source/sid/cppman) - этот пакет нужен, если есть хотя бы эпизодическая возможность подключать систему к Интернету. Но есть возможность и читать закэшированную документацию с сайтов cplusplus.com или cppreference.com. Команда `cppman -c` . * [cppreference-doc-en-html](https://packages.debian.org/bookworm/cppreference-doc-en-html) - полная оффлайновая версия cppreference.com на английском языке в формате HTML. Есть аналогичный пакет и для справки экосистемы Qt (qch - Qt Compiled Help). Самое примечательное, что есть описание не только C++, но и языка C. Документация берётся из [заранее подготовленного архива](https://en.cppreference.com/w/Cppreference:Archives) на сайте проекта cppreference.com . С теми же суффикасми `-doc` есть такие имена пакетов с документацией по сборочным средствам: * make-doc - GNU make утилита * cmake-doc - кроссплатформенная утилита cmake * autoconf-doc и m4-doc - документация по средствам автосборки Помимо документации есть разного рода книги, учебники и руководства. Пролистать пакеты с ними можно, например, с помощью такого запроса: apt-cache pkgnames |grep -i guide|sort|less Среди этого списка, хотелось бы отметить такие: * [abs-guide](https://packages.debian.org/sid/abs-guide) - руководство по профессиональному написанию сценариев для Bash * [installation-guide-i386](https://packages.debian.org/sid/installation-guide-i386) - руководство по установки Debian для платформы i386 * [maint-guide-ru](https://packages.debian.org/sid/maint-guide-ru) - руководство по разработке ОС для новичка на русском языке * [maint-guide](https://packages.debian.org/sid/maint-guide) - -//- оригинал на английском * [png-definitive-guide](https://packages.debian.org/sid/png-definitive-guide) - руководство по разработке приложений для работы с популярнейшим классическим форматом растровой графики - PNG. В качестве музыкальной озвучки-подкладки использовался альбом \[MZ005\] [Radiomaniac: 1st Transmission EP](https://archive.org/details/mz005_Radiomaniac) инструментального коллектива некогда сочинявшего в г. Сахалин...