Тема: Kernel Linux Documentation файлом pdf
Кожен дистрибутив Лінукс має можливість завантаження офіційної документації від розробників Лінукс. У цьому випадку мова піде про Убунту.
Щоб встановити офіційну документацію Лінукс:
sudo apt install linux-doc
Цю документацію буде встановлено в теку: /usr/share/doc/linux-doc/
Далі скопіюйте linux-doc до окремої теки (в «Документи», наприклад), бо ми будемо змінювати її вміст.
Документацію Лінукс побудовано в форматі reStructuredText (файли із розширенням .rst) і щоб зібрати все це в один файл формату pdf потрібно встановити такі програми як Sphinx i Latex:
sudo apt install texlive-latex-base texlive-latex-recommended \
texlive-latex-extra texlive-fonts-recommended
sudo apt install latexmk.
Тепер треба відкрити теку з копією документації в терміналі та
ввести таку команду:
find . -name "*.gz" | xargs gunzip
Ця команда розархівує всі заархівовані файли в поточній теці та всіх вкладених теках. Це потрібно зробити, бо програма, що збиратиме pdf файл, не бачить архівовані файли.
Далі в терміналі набираємо таку команду:
sphinx-quickstart назва вашої цільової теки
Ця команда створить основу для роботи Sphinx, створить вказану вами теку та помістить всі необхідні файли в неї. Там буде потрібно відповісти на кілька питань для створення конфігурації. Якщо не вказати теку, усе буде розміщено відповідно до шляху вказаного в терміналі.
А тепер треба зайти до теки з документацією та поглянути файл index.rst. Тут є перелік великих розділів документації. Звісно, можна створити одним величезним файлом pdf, але вийде десь 9000 сторінок. Прилад для читання електронних книг вас прокляне:). Тому краще вирізати зайві розділи, які вас наразі не цікавлять, з index.srt (окрім того, що формує індекси Indices and tables) та створити якийсь один розділ на вибір.
Далі копіюємо теки, вказані у відредагованому файлі index.srt, та власне файл index.srt до теки, створеної Sphinx. У теці створеній Sphinx буде свій index.srt, просто замінюємо його.
Відкриваємо теку, створену Sphinx, у терміналі та вводимо команду:
make latexpdf
Згенерований файл pdf буде в теці _build/latex/
Звісно, у файлі документації Linux є Makefile, який мав би командою make pdfdocs збирати pdf файл, але в мене він не бачить один із файлів Sphinx (шлях до файлу вказано неправильно в Makefile, не знаю як виправити), окрім того, такий файл буде завеликий для читання в електронних книгах.