УДК 004.451Linux
ББК 32.973.26-018.2
Б60
Б60 Команда разработчиков BLFS
За пределами проекта «Linux®
с нуля». Версия 7.4. Том 1 / пер. с англ.
Ромоданов Н. А. – М.: ДМК Пресс, 2014. – 792 с.: ил.
ISBN 978-5-97060-059-7
Проект «За пределами «Linux с нуля» является развитием проекта
«Linux с нуля». Перевод сделан с англоязычной версии 7.4 – первой
стабильной версии, выпущенной в течение последних пяти лет.
Эта версия синхронизирована с версией 7.4 проекта «Linux с нуля»
и представляет собой расширение последнего приблизительно 750
пакетами.
В первой части проекта, которая представлена в настоящей книге,
приводится подробное описание установки и настройки пакетов, необходимых
для безопасного использования системы и подключения
ее к локальным и глобальным сетям. Из этой части вы также узнаете
как правильно установить общесистемные библиотеки, сетевые и системные
утилиты, основные командные оболочки и некоторые текстовые
редакторы. Вы также сможете установить среду виртуализации и
ряд инструментальных пакетов, необходимых при программирования
на таких языках, как C, С++, Perl, Python, PHP, Ruby и Java.
УДК 004.451Linux
ББК 32.973.26-018.2
Linux®
является зарегистрированной торговой маркой Linus Torvalds.
Все права защищены. Любая часть этой книги не может быть воспроизведена
в какой бы то ни было форме и какими бы то ни было средствами без
письменного разрешения владельцев авторских прав.
Материал, изложенный в данной книге, многократно проверен. Но, поскольку
вероятность технических ошибок все равно существует, издательство
не может гарантировать абсолютную точность и правильность приводимых
сведений. В связи с этим издательство не несет ответственности за возможные
ошибки, связанные с использованием книги.
© 2001-2013, The BLFS Development Team
ISBN 978-5-97060-059-7 (рус.)
© Оформление, перевод на русский язык
ДМК Пресс, 2014
Стр.5
ОГЛАВЛЕНИЕ
Пролог ....................................................................14
Предисловие ...........................................................15
Для кого предназначена данная книга ........................................... 17
Структура книги ............................................................................ 18
Возможные проблемы ................................................................... 20
ЧАСТЬ I.
Введение ................................................................21
Глава 1. Добро пожаловать в проект BLFS .....................22
Какие разделы книги вам необходимы? ........................................ 22
Типографские соглашения, используемые в данной книге ............ 24
Версия книги ................................................................................ 25
Сайты зеркал ................................................................................ 26
Как получить пакеты с исходным кодом ........................................ 26
Журнал изменений ........................................................................ 27
Списки рассылок .......................................................................... 27
Страницы Wiki проекта BLFS .......................................................... 27
Как обратиться за помощью и часто задаваемые вопросы FAQ ..... 28
Вклад в проект .............................................................................. 30
Контактная информация ............................................................... 32
Глава 2. Важная информация ......................................33
Замечания, касающиеся сборки программ ................................... 33
В чем разница между /usr и /usr/local ............................................ 41
Необязательные патчи .................................................................. 43
Загрузочные скрипты BLFS ........................................................... 43
Библиотеки: статические или динамически разделяемые? ........... 44
Вопросы, касающиеся локалей .................................................... 47
За пределами BLFS ...................................................................... 52
ЧАСТЬ II.
Постпроектная настройка LFS и дополнительные
программы ..............................................................57
Глава 3. Вопросы конфигурирования, не вошедшие
в LFS .......................................................................58
Стр.6
6
Оглавление
Создание специального загрузочного носителя ............................ 59
Конфигурирование процесса добавления пользователей ............. 60
О системных пользователях и группах .......................................... 62
Об устройствах ............................................................................. 64
Файлы запуска командной оболочки Bash ..................................... 68
Файлы /etc/vimrc и ~/.vimrc .......................................................... 76
Настраиваем ваш вход в систему с помощью /etc/issue ............... 78
Файл /etc/shells ........................................................................... 79
Генерация случайных чисел ........................................................... 80
Сжатие страниц Man и Info ............................................................ 80
Пакет lsb_release-1.4 .................................................................... 93
Глава 4. Безопасность ...............................................94
Уязвимости ................................................................................... 94
Пакет acl-2.2.52 ............................................................................ 96
Пакет attr-2.4.47 ........................................................................... 98
Сертификаты Certificate Authority ................................................. 100
Пакет ConsoleKit-0.4.6 ................................................................ 107
Пакет CrackLib-2.9.0 ................................................................... 110
Пакет Cyrus SASL-2.1.26 ............................................................. 113
Пакет GnuPG-1.4.14 .................................................................... 117
Пакет GnuPG-2.0.21 .................................................................... 118
Пакет GnuTLS-3.2.4 ..................................................................... 122
Пакет GPGME-1.4.3 .................................................................... 125
Пакет Iptables-1.4.20 .................................................................. 126
Настройка сетевого брандмауэра ............................................... 130
Пакет libcap2-2.22 ...................................................................... 141
Пакет Linux-PAM-1.1.7 ................................................................. 143
Пакет MIT Kerberos V5-1.11.3 ...................................................... 146
Пакет Nettle-2.7.1 ....................................................................... 154
Пакет NSS-3.15.1 ........................................................................ 156
Пакет OpenSSH-6.3p1 ................................................................. 158
Пакет OpenSSL-1.0.1e ................................................................ 163
Пакет p11-kit-0.20.1 .................................................................... 166
Пакет Polkit-0.111 ....................................................................... 168
Пакет Shadow-4.1.5.1 ................................................................. 171
Пакет stunnel-4.56 ...................................................................... 180
Пакет Sudo-1.8.7 ........................................................................ 184
Пакет Tripwire-2.4.2.2 .................................................................. 187
Глава 5. Файловые системы и управление дисками ......192
О файловой системе initramfs ..................................................... 192
Пакет Fuse-2.9.3 .......................................................................... 200
Пакет jfsutils-1.1.15 ..................................................................... 203
Пакет LVM2-2.02.100 .................................................................. 205
Стр.7
Оглавление
7
О массиве RAID .......................................................................... 207
Пакет mdadm-3.3 ........................................................................ 211
Пакет ntfs-3g-2013.1.13 ............................................................... 213
Пакет gptfdisk-0.8.7 ..................................................................... 216
Пакет parted-3.1 ......................................................................... 218
Пакет reiserfsprogs-3.6.24 ............................................................ 220
Пакет sshfs-fuse-2.4 .................................................................... 222
Пакет xfsprogs-3.1.11 .................................................................. 223
Глава 6. Текстовые редакторы ..................................227
Пакет Bluefish-2.2.4 ..................................................................... 227
Пакет Ed-1.9 ............................................................................... 228
Пакет Emacs-24.3 ........................................................................ 230
Пакет JOE-3.7 .............................................................................. 231
Пакет Nano-2.3.2 ........................................................................ 233
Пакет Vim-7.4 .............................................................................. 235
Другие редакторы ...................................................................... 238
Глава 7. Командные оболочки ...................................239
Пакет Dash-0.5.7 ......................................................................... 239
Пакет Tcsh-6.18.01 ...................................................................... 241
Пакет zsh-5.0.2 ........................................................................... 243
Глава 8. Виртуализация ...........................................247
Пакет qemu-1.6.0 ........................................................................ 247
ЧАСТЬ III.
Библиотеки и утилиты общего назначения ..................253
Глава 9. Библиотеки общего назначения.....................254
Пакет Apr-1.4.8 ........................................................................... 255
Пакет Apr-Util-1.5.2 ..................................................................... 256
Пакет Aspell-0.60.6.1 ................................................................... 258
Пакет Boost-1.54.0 ...................................................................... 260
Пакет dbus-glib-0.100.2 ............................................................... 262
Пакет enchant-1.6.0 .................................................................... 264
Пакет Exempi-2.2.1 ...................................................................... 265
Пакет Expat-2.1.0 ........................................................................ 266
Пакет Gamin-0.1.10 ..................................................................... 268
Пакет GLib-2.36.4 ....................................................................... 269
Пакет GLibmm-2.36.2 .................................................................. 272
Пакет GMime-2.6.17 .................................................................... 274
Пакет gobject-introspection-1.36.0 ............................................... 275
Пакет Gsl-1.16 ............................................................................ 277
Пакет ICU-51.2 ............................................................................ 278
Пакет ISO Codes-3.46 ................................................................. 281
Стр.8
8
Оглавление
Пакет JS-17.0.0 .......................................................................... 282
Пакет JSON-C-0.11 ..................................................................... 283
Пакет JSON-GLib-0.16.0 ............................................................. 285
Пакет keyutils-1.5.6 ..................................................................... 286
Пакет libarchive-3.1.2 .................................................................. 287
Пакет libassuan-2.1.1 .................................................................. 288
Пакет libatasmart-0.19 ................................................................. 290
Пакет libatomic_ops-7.2d ............................................................. 291
Пакет libcroco-0.6.8 .................................................................... 293
Пакет libdaemon-0.14 .................................................................. 294
Пакет libdbusmenu-qt-0.9.2 ......................................................... 296
Пакет libdrm-2.4.46 ...................................................................... 297
Пакет libESMTP-1.0.6 ................................................................... 299
Пакет libffi-3.0.13 ........................................................................ 300
Пакет libgcrypt-1.5.3 ................................................................... 301
Пакет libgee-0.6.8 ........................................................................ 303
Пакет libglade-2.6.4 .................................................................... 304
Пакет libgpg-error-1.12 ................................................................ 306
Пакет libgsf-1.14.28 .................................................................... 307
Пакет libgusb-0.1.6 ..................................................................... 309
Пакет libical-1.0 .......................................................................... 310
Пакет LibIDL-0.8.14 ..................................................................... 312
Пакет libidn-1.28 ......................................................................... 313
Пакет libiodbc-3.52.8 ................................................................... 315
Пакет Libksba-1.3.0 ..................................................................... 317
Пакет libsigc++-2.2.11 ................................................................. 318
Пакет libtasn1-3.3 ....................................................................... 319
Пакет libunistring-0.9.3 ................................................................. 321
Пакет libusb-1.0.9 ....................................................................... 322
Пакет libusb-compat-0.1.5 ........................................................... 323
Пакет libxml2-2.9.1 ...................................................................... 325
Пакет libxslt-1.1.28 ...................................................................... 327
Пакет libzeitgeist-0.3.18 ............................................................... 328
Пакет LZO-2.06 ........................................................................... 330
Пакет mtdev-1.1.4 ....................................................................... 331
Пакет NSPR-4.10 ........................................................................ 332
Пакет OpenOBEX-1.7.1 ................................................................ 334
Пакет PCRE-8.33 ......................................................................... 336
Пакет Popt-1.16 .......................................................................... 338
Пакет Pth-2.0.7 ........................................................................... 339
Пакет Ptlib-2.10.10 ...................................................................... 341
Пакет Qca-2.0.3 .......................................................................... 342
Пакет QJson-0.8.1 ....................................................................... 344
Пакет SBC-1.1 ............................................................................. 345
Стр.9
Оглавление
9
Пакет SLIB-3b4 ........................................................................... 346
Пакет Talloc-2.1.0 ........................................................................ 348
Пакет wv-1.2.9 ............................................................................. 349
Глава 10. Графические библиотеки и библиотеки
шрифтов ...............................................................351
Пакет AAlib-1.4rc5 ....................................................................... 351
Пакет babl-0.1.10 ........................................................................ 353
Пакет Exiv2-0.23 ......................................................................... 354
Пакет FreeType-2.5.0.1 ................................................................ 355
Пакет Fontconfig-2.10.93 ............................................................. 357
Пакет FriBidi-0.19.5 ..................................................................... 360
Пакет gegl-0.2.0 .......................................................................... 362
Пакет giflib-5.0.5 .......................................................................... 363
Пакет Harfbuzz-0.9.20 ................................................................. 365
Пакет IJS-0.35 ............................................................................. 366
Пакет Imlib2-1.4.5 ....................................................................... 368
Пакет JasPer-1.900.1 .................................................................. 369
Пакет Little CMS-1.19 .................................................................. 371
Пакет Little CMS-2.5 .................................................................... 373
Пакет libexif-0.6.21 ...................................................................... 374
Пакет libjpeg-turbo-1.3.0 ............................................................. 376
Пакет libmng-2.0.2 ...................................................................... 378
Пакет libpng-1.6.4 ....................................................................... 379
Пакет librsvg-2.37.0 ..................................................................... 381
Пакет LibTIFF-4.0.3 ..................................................................... 383
Пакет libwebp-0.3.1 ..................................................................... 385
Пакет OpenJPEG-1.5.1 ................................................................. 387
Пакет Pixman-0.30.2 .................................................................... 388
Пакет Poppler-0.24.51 .................................................................. 389
Пакет Qpdf-5.0.0 ......................................................................... 393
Глава 11. Утилиты общего назначения ........................395
Пакет bc-1.06.95 ......................................................................... 395
Пакет Compface-1.5.2 ................................................................. 396
Пакет desktop-file-utils-0.22 ......................................................... 398
Пакет Gperf-3.0.4 ........................................................................ 400
Пакет Graphviz-2.34.0 ................................................................. 401
Пакет GTK-Doc-1.19 .................................................................... 408
Пакет Hd2u-1.0.3 ........................................................................ 410
Пакет icon-naming-utils-0.8.90 ..................................................... 411
Пакет ImageMagick-6.8.6-9 ......................................................... 412
Пакет Intltool-0.50.2 .................................................................... 416
Пакет PIN-Entry-0.8.3 .................................................................. 418
Пакет qtchooser-31 ..................................................................... 419
Стр.10
10
Оглавление
Пакет Rarian-0.8.1 ....................................................................... 422
Пакет Rep-gtk-0.90.8.1 ............................................................... 424
Пакет rxvt-unicode-9.18 ............................................................... 425
Пакет Screen-4.0.3 ...................................................................... 428
Пакет Sharutils-4.13.5 ................................................................. 430
Пакет HTML Tidy-cvs_20101110 ................................................... 431
Пакет unixODBC-2.3.1 ................................................................. 433
Пакет XScreenSaver-5.22 ............................................................ 436
Глава 12. Системные утилиты ...................................439
Пакет acpid-2.0.19 ....................................................................... 439
Пакет at-3.1.14 ............................................................................ 441
Пакет autofs-5.0.7 ........................................................................ 443
Пакет BlueZ-4.101 ....................................................................... 447
Пакет Colord-1.0.3 ....................................................................... 451
Пакет cpio-2.11 ........................................................................... 453
Пакет D-Bus-1.6.14 ..................................................................... 455
Пакет eject-2.1.5 ......................................................................... 460
Пакет Fcron-3.1.2 ........................................................................ 461
Пакет GPM-1.20.7 ....................................................................... 464
Пакет Hdparm-9.43 ..................................................................... 468
Пакет IBus-1.5.3 .......................................................................... 469
Пакет LSB Tools для управления загрузочными скриптами .......... 471
Пакет lm_sensors-3.3.4 ............................................................... 472
Пакет MC-4.8.10 ......................................................................... 475
Пакет obex-data-server-0.4.6 ...................................................... 478
Пакет Obexd-0.48 ....................................................................... 479
Пакет pciutils-3.2.0 ...................................................................... 480
Пакет pm-utils-1.4.1 .................................................................... 482
Пакет Raptor-2.0.10 ..................................................................... 484
Пакет Rasqal-0.9.30 .................................................................... 486
Пакет Redland-1.0.16 ................................................................... 487
Пакет sg3_utils-1.36 .................................................................... 488
Пакет Strigi-0.7.8 ........................................................................ 493
Пакет Sysstat-10.1.7 .................................................................... 495
Пакет Udev – версия, установленная в LFS .................................. 498
Дополнения пакета Udev (из пакета systemd) .............................. 500
Пакет UDisks-1.0.4 ...................................................................... 503
Пакет UDisks-2.1.1 ...................................................................... 504
Пакет UnRar-5.0.11 ..................................................................... 506
Пакет UnZip-6.0 .......................................................................... 507
Пакет UPower-0.9.21 ................................................................... 510
Пакет usbutils-007 ....................................................................... 512
Пакет Which-2.20 и его альтернативные варианты ...................... 514
Пакет Zip-3.0 .............................................................................. 516
Стр.11
Оглавление
11
Глава 13. Программирование ...................................518
Пакет Bazaar-2.5.1 ...................................................................... 518
Пакет Check-0.9.10 ..................................................................... 519
Пакет CMake-2.8.11.2 ................................................................. 520
Пакет CVS-1.11.23 ...................................................................... 522
Запуск сервера CVS ................................................................... 525
Пакет DejaGnu-1.5.1 ................................................................... 528
Пакет Doxygen-1.8.5 ................................................................... 529
Пакет elfutils-0.156 ...................................................................... 531
Пакет Expect-5.45 ....................................................................... 532
Пакет GCC-4.8.1 ......................................................................... 536
Пакет GC-7.2d ............................................................................ 543
Пакет GDB-7.6.1 .......................................................................... 545
Пакет Git-1.8.4 ............................................................................ 547
Пакет Guile-2.0.9 ......................................................................... 551
Пакет Librep-0.92.3 ..................................................................... 553
Пакет LLVM-3.3 ........................................................................... 554
Пакет Lua-5.1.5 ........................................................................... 559
Пакет Mercurial-2.7.1 .................................................................. 561
Пакет NASM-2.10.09 ................................................................... 562
Пакет Perl Modules ...................................................................... 564
Пакет PHP-5.5.3 .......................................................................... 569
Пакет pkg-config-0.28 ................................................................. 574
Пакет Python-2.7.5 ...................................................................... 576
Пакет Python-3.3.2 ...................................................................... 579
Пакет Python Modules ................................................................. 581
Модуль D-Bus Python .....................................................................582
Модуль Notify Python-0.1.1 .............................................................584
Модуль Py2cairo-1.10.0 ..................................................................585
Модуль PyCairo-1.10.0 ...................................................................586
Модуль PyGObject-2.28.6 ...............................................................587
Модуль PyGObject-3.8.3 .................................................................588
Модуль PyGTK-2.24.0 .....................................................................590
Модуль PyAtSpi2-2.8.0 ...................................................................592
Модуль Pyrex-0.9.9 .........................................................................593
Модуль PyXDG-0.25 ........................................................................594
Пакет Ruby-2.0.0 ........................................................................ 595
Пакет SCons-2.3.0 ...................................................................... 596
Пакет S-Lang-2.2.4 ..................................................................... 597
Пакет Subversion-1.8.3 ................................................................ 599
Запуск сервера Subversion ......................................................... 603
Пакет Tcl-8.6.0 ............................................................................ 607
Пакет Tk-8.6.0 ............................................................................. 609
Пакет Vala-0.20.1 ........................................................................ 611
Пакет yasm-1.2.0 ........................................................................ 613
Стр.12
12
Оглавление
Другие инструментальные средства программирования ............ 614
О языке Java ............................................................................... 648
Пакет JUnit-4.11 .......................................................................... 650
Пакет apache-ant-1.9.2 ............................................................... 652
Пакет OpenJDK-1.7.0.40/IcedTea-2.4.1 ....................................... 655
ЧАСТЬ IV.
Сеть .....................................................................671
Глава 14. Подключение к сети ...................................672
Пакет dhcpcd-6.0.5 ...................................................................... 672
Пакет DHCP-4.2.5-P1 .................................................................. 675
Глава 15. Программы для работы с сетью ...................681
Пакет bridge-utils-1.5 .................................................................. 681
Пакет cifs-utils-6.1 ...................................................................... 684
Пакет NcFTP-3.2.5 ...................................................................... 686
Пакет Net-tools-CVS_20101030 ................................................... 688
Пакет NFS-Utils-1.2.8 .................................................................. 691
Конфигурирование сетевых файловых систем ........................... 696
Пакет ntp-4.2.6p5 ....................................................................... 697
Пакет rpcbind-0.2.1 ..................................................................... 701
Пакет rsync-3.0.9 ........................................................................ 702
Пакет Samba-4.0.9 ...................................................................... 705
Пакет Wget-1.14 .......................................................................... 717
Пакет Wireless Tools-29 ............................................................... 719
Пакет wpa_supplicant-2.0 ............................................................ 721
Другие программы для работы с сетью ...................................... 727
Глава 16. Сетевые утилиты .......................................729
Пакет Avahi-0.6.31 ...................................................................... 729
Пакет BIND Utilities-9.9.3-P2 ........................................................ 733
Пакет mod_dnssd-0.6 .................................................................. 734
Пакет NetworkManager-0.9.8.2 .................................................... 736
Пакет Nmap-6.40 ........................................................................ 739
Пакет Traceroute-2.0.19 .............................................................. 740
Пакет Whois-5.0.26 ..................................................................... 742
Пакет Wicd-1.7.2.4 ...................................................................... 743
Пакет Wireshark-1.10.2 ................................................................ 746
Глава 17. Сетевые библиотеки ..................................752
Пакет cURL-7.32.0 ...................................................................... 752
Пакет GeoClue-0.12.0 ................................................................. 754
Пакет glib-networking-2.36.2 ....................................................... 756
Пакет ldns-1.6.16 ........................................................................ 757
Пакет libevent-2.0.21 ................................................................... 759
Стр.13
Оглавление
13
Пакет libnice-0.1.4 ...................................................................... 761
Пакет libnl-3.2.22 ........................................................................ 762
Пакет libpcap-1.4.0 ..................................................................... 764
Пакет libsoup-2.42.2 .................................................................... 765
Пакет libtirpc-0.2.3 ...................................................................... 767
Пакет neon-0.30.0 ....................................................................... 768
Пакет Serf-1.3.1 .......................................................................... 770
Глава 18. Текстовые веб-браузеры ............................772
Пакет Links-2.7 ............................................................................ 772
Пакет Lynx-2.8.8dev.16 ................................................................ 774
Пакет W3m-0.5.3 ......................................................................... 777
Глава 19. Клиентские программы для работы
с почтой и новостными группами ...............................780
Пакет Heirloom mailx-12.4 ........................................................... 780
Пакет Procmail-3.22 .................................................................... 782
Пакет Fetchmail-6.3.26 ................................................................ 784
Пакет Mutt-1.5.21 ....................................................................... 786
Пакет Re-alpine-2.03 ................................................................... 789
Другие программы для работы с почтой и новостными
группами .................................................................................... 791
Стр.14