Beyond Linux^® From Scratch (Edição systemd ) Versão 12.0 A Equipe de Desenvolvimento do BLFS Copyright © 1999-2023 A Equipe de Desenvolvimento do BLFS Direitos autorais © 1999-2023, A Equipe de Desenvolvimento do BLFS Todos os direitos reservados. Este livro está licenciado sob uma [1]Licença da Creative Commons. As instruções de computador podem ser extraídas a partir do livro sob a [2]Licença do MIT. Linux® é uma marca comercial registrada de Linus Torvalds. Publicado em 2023-09-01 Histórico de Revisões Revisão 12.0 2023-09-01 Vigésimo oitavo lançamento Revisão 11.3 2023-03-01 Vigésimo sétimo lançamento Revisão 11.2 2022-09-01 Vigésimo sexto lançamento Revisão 11.1 2022-03-01 Vigésimo quinto lançamento Revisão 11.0 2021-09-01 Vigésimo quarto lançamento Revisão 10.1 2021-03-01 Vigésimo terceiro lançamento Revisão 10.0 2020-09-01 Vigésimo segundo lançamento Revisão 9.1 2020-03-01 Vigésimo primeiro lançamento Revisão 9.0 2019-09-01 Vigésimo lançamento Revisão 8.4 2019-03-01 Décimo nono lançamento Revisão 8.3 2018-09-01 Décimo oitavo lançamento Revisão 8.2 2018-03-02 Décimo sétimo lançamento Revisão 8.1 2017-09-01 Décimo sexto lançamento Revisão 8.0 2017-02-25 Décimo quinto lançamento Revisão 7.10 2016-09-07 Décimo quarto lançamento Revisão 7.9 2016-03-08 Décimo terceiro lançamento Revisão 7.8 2015-10-01 Décimo segundo lançamento Revisão 7.7 2015-03-06 Décimo primeiro lançamento Revisão 7.6 2014-09-23 Décimo lançamento Revisão 7.5 2014-03-05 Nono lançamento Revisão 7.4 2013-09-14 Oitavo lançamento Revisão 6.3 2008-08-24 Sétimo lançamento Revisão 6.2 2007-02-14 Sexto lançamento Revisão 6.1 2005-08-14 Quinto lançamento Revisão 6.0 2005-04-02 Quarto lançamento Revisão 5.1 2004-06-05 Terceiro lançamento Revisão 5.0 2003-11-06 Segundo lançamento Revisão 1.0 2003-04-25 Primeiro lançamento Resumo Este livro é uma continuação do livro Linux From Scratch. Ele introduz e guia o(a) leitor(a) ao longo de adições ao sistema incluindo rede de comunicação, interfaces gráficas, suporte a som e suporte a impressora e escaneadora. __________________________________________________________________ Dedicação Este livro é dedicado para a comunidade do LFS Índice * [3]Prefácio + [4]Introdução + [5]Quem Desejaria Ler este Livro + [6]Organização * [7]I. Introdução + [8]1. Bem vindo(a) ao BLFS o [9]Quais Seções do Livro Eu Quero? o [10]Convenções Usadas neste Livro o [11]Versão do Livro o [12]Sítios Espelhos o [13]Obtendo os Pacotes Fonte o [14]Registro das Mudanças o [15]Listas de Discussão o [16]Observações do(a) Editor(a) o [17]Pedindo Ajuda e as Perguntas Frequentes o [18]Créditos o [19]Informação de Contato + [20]2. Informação Importante o [21]Observações Acerca de Construir Software o [22]O Debate /usr Versus /usr/local o [23]Remendos Opcionais o [24]Unidades Systemd do BLFS o [25]Acerca dos arquivos de Arquivamento do Libtool (.la) o [26]Bibliotecas: Estáticas ou compartilhadas? o [27]Problemas Relacionados à Localidade o [28]Indo Além do BLFS * [29]II. Configuração Pós LFS e Software Extra + [30]3. Problemas Depois da Configuração do LFS o [31]Criando um Dispositivo Personalizado de Inicialização o [32]Acerca das Fontes do Console o [33]Acerca de Firmware o [34]Acerca de Dispositivos o [35]Configurando para Adicionar Usuários(as) o [36]Acerca de Usuários(as) e de Grupos do Sistema o [37]Os Arquivos de Iniciação do Shell Bash o [38]Os Arquivos /etc/vimrc e ~/.vimrc o [39]Personalizando o seu Logon com o /etc/issue + [40]4. Segurança o [41]Vulnerabilidades o [42]make-ca-1.12 o [43]CrackLib-2.9.11 o [44]cryptsetup-2.4.3 o [45]Cyrus SASL-2.1.28 o [46]GnuPG-2.4.3 o [47]GnuTLS-3.8.1 o [48]GPGME-1.21.0 o [49]iptables-1.8.9 o [50]Configurando um Firewall de Rede de Comunicação o [51]libcap-2.69 com PAM o [52]Linux-PAM-1.5.3 o [53]liboauth-1.0.3 o [54]libpwquality-1.4.5 o [55]MIT Kerberos V5-1.21.2 o [56]Nettle-3.9.1 o [57]NSS-3.92 o [58]OpenSSH-9.4p1 o [59]p11-kit-0.25.0 o [60]Polkit-123 o [61]polkit-gnome-0.105 o [62]Shadow-4.13 o [63]ssh-askpass-9.4p1 o [64]stunnel-5.70 o [65]Sudo-1.9.14p3 o [66]Tripwire-2.4.3.7 o [67]volume_key-0.3.12 + [68]5. Sistemas de Arquivos e Gerenciamento de Disco o [69]A respeito do initramfs o [70]btrfs-progs-6.3.3 o [71]dosfstools-4.2 o [72]Fuse-3.16.1 o [73]jfsutils-1.1.15 o [74]LVM2-2.03.22 o [75]A respeito de Logical Volume Management (LVM) o [76]A respeito de RAID o [77]mdadm-4.2 o [78]ntfs-3g-2022.10.3 o [79]gptfdisk-1.0.9 o [80]parted-3.6 o [81]reiserfsprogs-3.6.27 o [82]smartmontools-7.4 o [83]sshfs-3.7.3 o [84]xfsprogs-6.4.0 o Pacotes para Inicialização UEFI o [85]efivar-38 o [86]efibootmgr-18 o [87]GRUB-2.06 para EFI o [88]Usando o GRUB para Configurar o Processo de Inicialização com UEFI + [89]6. Editores de Texto o [90]Bluefish-2.2.14 o [91]Ed-1.19 o [92]Emacs-29.1 o [93]Gedit-46.1 o [94]JOE-4.6 o [95]Kate-23.08.0 o [96]Mousepad-0.5.10 o [97]Nano-7.2 o [98]Vim-9.0.1677 + [99]7. Shells o [100]Dash-0.5.12 o [101]Tcsh-6.24.10 o [102]zsh-5.9 + [103]8. Virtualização o [104]qemu-8.1.0 * [105]III. Bibliotecas e Utilitários Gerais + [106]9. Bibliotecas Gerais o [107]Apr-1.7.4 o [108]Apr-Util-1.6.3 o [109]Aspell-0.60.8 o [110]Boost-1.83.0 o [111]brotli-1.0.9 o [112]CLucene-2.3.3.4 o [113]dbus-glib-0.112 o [114]Double-conversion-3.3.0 o [115]duktape-2.7.0 o [116]enchant-2.5.0 o [117]Exempi-2.6.4 o [118]fftw-3.3.10 o [119]GLib-2.76.4 o [120]GLibmm-2.66.5 o [121]GMime-3.2.7 o [122]gobject-introspection-1.76.1 o [123]Gsl-2.7.1 o [124]gspell-1.12.2 o [125]ICU-73.2 o [126]inih-57 o [127]Intel-gmmlib-22.3.10 o [128]Jansson-2.14 o [129]JS-102.13.0 o [130]JSON-C-0.17 o [131]JSON-GLib-1.6.6 o [132]keyutils-1.6.1 o [133]libaio-0.3.113 o [134]libarchive-3.7.1 o [135]libassuan-2.5.6 o [136]libatasmart-0.19 o [137]libatomic_ops-7.8.0 o [138]libblockdev-3.0.2 o [139]libbytesize-2.9 o [140]libcloudproviders-0.3.2 o [141]libdaemon-0.14 o [142]libgcrypt-1.10.2 o [143]libgpg-error-1.47 o [144]libgrss-0.7.0 o [145]libgsf-1.14.50 o [146]libgudev-238 o [147]libgusb-0.4.6 o [148]libical-3.0.16 o [149]libidn-1.41 o [150]libidn2-2.3.4 o [151]libiodbc-3.52.15 o [152]libksba-1.6.4 o [153]liblinear-247 o [154]libmbim-1.26.4 o [155]libnvme-1.5 o [156]libpaper-2.1.1 o [157]libportal-0.6 o [158]libptytty-2.0 o [159]libqalculate-4.7.0 o [160]libqmi-1.30.8 o [161]libseccomp-2.5.4 o [162]libsigc++-2.12.0 o [163]libsigsegv-2.14 o [164]libssh2-1.11.0 o [165]libstatgrab-0.92.1 o [166]libtasn1-4.19.0 o [167]libunique-1.1.6 o [168]libunistring-1.1 o [169]libunwind-1.6.2 o [170]liburcu-0.14.0 o [171]libusb-1.0.26 o [172]libuv-1.46.0 o [173]libxkbcommon-1.5.0 o [174]libxml2-2.10.4 o [175]libxslt-1.1.38 o [176]libwacom-2.7.0 o [177]libwpe-1.14.1 o [178]libyaml-0.2.5 o [179]log4cplus-2.1.0 o [180]LZO-2.10 o [181]mtdev-1.1.6 o [182]Node.js-18.17.1 o [183]npth-1.6 o [184]NSPR-4.35 o [185]PCRE-8.45 o [186]PCRE2-10.42 o [187]Popt-1.19 o [188]Pth-2.0.7 o [189]Qca-2.3.7 o [190]Talloc-2.4.1 o [191]telepathy-glib-0.24.2 o [192]Uchardet-0.0.8 o [193]Umockdev-0.17.18 o [194]Wayland-1.22.0 o [195]Wayland-Protocols-1.32 o [196]wpebackend-fdo-1.14.2 o [197]wv-1.2.9 o [198]Xapian-1.4.23 + [199]10. Bibliotecas de Gráficos e de Fontes o [200]AAlib-1.4rc5 o [201]babl-0.1.106 o [202]Exiv2-0.28.0 o [203]FreeType-2.13.1 o [204]Fontconfig-2.14.2 o [205]FriBidi-1.0.13 o [206]gegl-0.4.46 o [207]giflib-5.2.1 o [208]GLM-0.9.9.8 o [209]Graphite2-1.3.14 o [210]HarfBuzz-8.1.1 o [211]JasPer-4.0.0 o [212]Little CMS-1.19 o [213]Little CMS-2.14 o [214]libavif-0.11.1 o [215]libexif-0.6.24 o [216]Libgxps-0.3.2 o [217]libjpeg-turbo-3.0.0 o [218]libmng-2.0.3 o [219]libmypaint-1.6.1 o [220]libpng-1.6.40 o [221]libraw-0.21.1 o [222]librsvg-2.56.3 o [223]Libspiro-20220722 o [224]libtiff-4.5.1 o [225]libwebp-1.3.1 o [226]mypaint-brushes-1.3.1 o [227]newt-0.52.23 o [228]opencv-4.8.0 o [229]OpenJPEG-2.5.0 o [230]Pixman-0.42.2 o [231]Poppler-23.08.0 o [232]Potrace-1.16 o [233]Qpdf-11.5.0 o [234]qrencode-4.1.1 o [235]sassc-3.6.2 o [236]webp-pixbuf-loader-0.2.4 o [237]woff2-1.0.2 + [238]11. Utilitários Gerais o [239]Asciidoctor-2.0.20 o [240]Bogofilter-1.2.5 o [241]Compface-1.5.2 o [242]desktop-file-utils-0.26 o [243]dos2unix-7.5.0 o [244]Graphviz-8.1.0 o [245]GTK-Doc-1.33.2 o [246]Highlight-4.7 o [247]ibus-1.5.28 o [248]ImageMagick-7.1.1-15 o [249]ISO Codes-4.15.0 o [250]lsof-4.95.0 o [251]mandoc-1.14.6 o [252]pinentry-1.2.1 o [253]Rep-gtk-0.90.8.3 o [254]Screen-4.9.1 o [255]shared-mime-info-2.2 o [256]Sharutils-4.15.2 o [257]telepathy-mission-control-5.16.6 o [258]tidy-html5-5.8.0 o [259]Time-1.9 o [260]tree-2.1.1 o [261]unixODBC-2.3.12 o [262]xdg-dbus-proxy-0.1.5 o [263]Xdg-user-dirs-0.18 + [264]12. Utilitários de Sistema o [265]AccountsService-23.13.9 o [266]acpid-2.0.34 o [267]at-3.2.5 o [268]autofs-5.1.8 o [269]BlueZ-5.68 o [270]Bubblewrap-0.8.0 o [271]Colord-1.4.6 o [272]cpio-2.14 o [273]cups-pk-helper-0.2.7 o [274]dbus-1.14.8 o [275]Fcron-3.2.1 o [276]GPM-1.20.7 o [277]Hdparm-9.65 o [278]LSB-Tools-0.10 o [279]Lm-sensors-3-6-0 o [280]Logrotate-3.21.0 o [281]MC-4.8.30 o [282]ModemManager-1.18.12 o [283]notification-daemon-3.20.0 o [284]p7zip-17.04 o [285]Pax-20201030 o [286]pciutils-3.10.0 o [287]pm-utils-1.4.1 o [288]Raptor-2.0.16 o [289]Rasqal-0.9.33 o [290]Redland-1.0.17 o [291]sg3_utils-1.48 o [292]Sysstat-12.7.2 o [293]Systemd-254 o [294]UDisks-2.10.0 o [295]UnRar-6.2.10 o [296]UnZip-6.0 o [297]UPower-1.90.2 o [298]usbutils-015 o [299]Which-2.21 e Alternativas o [300]Zip-3.0 + [301]13. Programação o [302]Autoconf2.13 o [303]Cbindgen-0.24.3 o [304]Clisp-2.49 o [305]CMake-3.27.2 o [306]Doxygen-1.9.7 o [307]GCC-13.2.0 o [308]GC-8.2.4 o [309]GDB-13.2 o [310]Git-2.41.0 o [311]Executando um Servidor "Git" o [312]Guile-3.0.9 o [313]Librep-0.92.7 o [314]LLVM-16.0.5 o [315]Lua-5.4.6 o [316]Lua-5.2.4 o [317]Mercurial-6.5.1 o [318]NASM-2.16.01 o [319]Patchelf-0.17.2 o [320]Módulos Perl o [321]Dependências de Módulos "Perl" o [322]PHP-8.2.9 o [323]Python-2.7.18 o [324]Python-3.11.4 o [325]Módulos "Python" o [326]Dependências do "Python" o [327]Ruby-3.2.2 o [328]Rustc-1.71.1 o [329]SCons-4.5.2 o [330]slang-2.3.3 o [331]Subversion-1.14.2 o [332]Executando um Servidor "Subversion" o [333]SWIG-4.1.1 o [334]Sysprof-3.48.0 o [335]Tk-8.6.13 o [336]unifdef-2.12 o [337]Vala-0.56.11 o [338]Valgrind-3.21.0 o [339]yasm-1.3.0 o Java o [340]Java-20.0.2 o [341]OpenJDK-20.0.2 o [342]Configurando o ambiente JAVA o [343]apache-ant-1.10.14 * [344]IV. Rede de Intercomunicação + [345]14. Conectando a uma Rede de Intercomunicação o [346]Configuração Avançada de Rede de Intercomunicação o [347]dhcpcd-10.0.2 + [348]15. Aplicativos de Rede de Intercomunicação o [349]bridge-utils-1.7.1 o [350]cifs-utils-7.0 o [351]NcFTP-3.2.6 o [352]Net-tools-2.10 o [353]NFS-Utils-2.6.3 o [354]ntp-4.2.8p17 o [355]rpcbind-1.2.6 o [356]rsync-3.2.7 o [357]Samba-4.18.6 o [358]Wget-1.21.4 o [359]Configurando o Núcleo Linux para Sem Fios o [360]iw-5.19 o [361]Wireless Tools-29 o [362]wpa_supplicant-2.10 + [363]16. Utilitários de Trabalho em Rede de Intercomunicação o [364]Avahi-0.8 o [365]Utilitários BIND-9.18.18 o [366]NetworkManager-1.44.0 o [367]network-manager-applet-1.32.0 o [368]Nmap-7.94 o [369]Traceroute-2.1.2 o [370]Whois-5.4.3 o [371]Wireshark-4.0.7 + [372]17. Bibliotecas de Operação Interativa de Dispositivos Via Rede de Intercomunicação o [373]c-ares-1.19.1 o [374]cURL-8.2.1 o [375]GeoClue-2.7.0 o [376]glib-networking-2.76.1 o [377]kdsoap-2.1.1 o [378]ldns-1.8.3 o [379]libevent-2.1.12 o [380]libmnl-1.0.5 o [381]libnl-3.7.0 o [382]libnma-1.10.6 o [383]libnsl-2.0.0 o [384]libpcap-1.10.4 o [385]libpsl-0.21.2 o [386]libndp-1.8 o [387]Libslirp-4.7.0 o [388]libsoup-2.74.3 o [389]libsoup-3.4.2 o [390]libtirpc-1.3.3 o [391]neon-0.32.5 o [392]nghttp2-1.55.1 o [393]rpcsvc-proto-1.4.4 o [394]Serf-1.3.10 o [395]uhttpmock-0.5.3 + [396]18. Navegadores da “Web” em Texto o [397]Links-2.29 o [398]Lynx-2.8.9rel.1 + [399]19. Clientes de Mensagem/Notícias o [400]Fetchmail-6.4.37 o [401]mailx-12.5 o [402]Mutt-2.2.11 o [403]Procmail-3.22 o [404]Outros Aplicativos de Mensagem e Notícias * [405]V. Servers + [406]20. Servidores Principais o [407]Apache-2.4.57 o [408]BIND-9.18.18 o [409]Servidor DHCP Kea 2.4.0 o [410]ProFTPD-1.3.8 o [411]vsftpd-3.0.5 + [412]21. Logiciário de Servidor de Mensagens o [413]Dovecot-2.3.20 o [414]Exim-4.96 o [415]Postfix-3.8.1 o [416]sendmail-8.17.2 + [417]22. Bases de Dados o [418]Observações Importantes Relativas a Atualização do Logiciário do Servidor de Base de Dados o [419]Base de Dados Berkeley-5.3.28 o [420]lmdb-0.9.31 o [421]MariaDB-10.11.4 o [422]PostgreSQL-15.4 o [423]SQLite-3.42.0 + [424]23. Outro Logiciário de Servidor o [425]OpenLDAP-2.6.6 o [426]Unbound-1.17.1 * [427]VI. Componentes Gráficos + [428]24. Ambientes Gráficos o [429]Introdução ao Xorg-7 o [430]util-macros-1.20.0 o [431]xorgproto-2023.2 o [432]libXau-1.0.11 o [433]libXdmcp-1.1.4 o [434]xcb-proto-1.16.0 o [435]libxcb-1.16 o [436]Bibliotecas do Xorg o [437]libxcvt-0.1.2 o [438]xcb-util-0.4.1 o [439]xcb-util-image-0.4.1 o [440]xcb-util-keysyms-0.4.1 o [441]xcb-util-renderutil-0.3.10 o [442]xcb-util-wm-0.4.2 o [443]xcb-util-cursor-0.1.4 o [444]Mesa-23.1.6 o [445]xbitmaps-1.1.3 o [446]Aplicativos do Xorg o [447]xcursor-themes-1.0.7 o [448]Fontes do Xorg o [449]XKeyboardConfig-2.39 o [450]Xwayland-23.2.0 o [451]Xorg-Server-21.1.8 o [452]Controladores de Entrada do Xorg o [453]twm-1.0.12 o [454]xterm-384 o [455]xclock-1.1.1 o [456]xinit-1.4.2 o [457]Testagem e Configuração do Xorg-7 o [458]Ajustando Fontconfig o [459]Fontes TTF e OTF o [460]Legado do Xorg + [461]25. Bibliotecas Gráficas de Ambiente o [462]Atkmm-2.28.3 o [463]at-spi2-core-2.48.3 o [464]Cairo-1.17.6 o [465]libcairomm-1.0 (cairomm-1.14.0) o [466]Cogl-1.22.8 o [467]Clutter-1.26.4 o [468]clutter-gst-3.0.27 o [469]clutter-gtk-1.8.4 o [470]colord-gtk-0.3.0 o [471]FLTK-1.3.8 o [472]Freeglut-3.4.0 o [473]gdk-pixbuf-2.42.10 o [474]gdk-pixbuf-xlib-2.40.2 o [475]GLEW-2.2.0 o [476]GLU-9.0.3 o [477]GOffice-0.10.55 o [478]Grantlee-5.3.1 o [479]Graphene-1.10.8 o [480]GTK+-2.24.33 o [481]GTK+-3.24.38 o [482]GTK-4.12.0 o [483]GTK Engines-2.20.2 o [484]Gtkmm-3.24.8 o [485]gtk-vnc-1.3.1 o [486]gtksourceview-3.24.11 o [487]gtksourceview4-4.8.4 o [488]gtksourceview5-5.8.0 o [489]imlib2-1.12.0 o [490]kColorPicker-0.2.0 o [491]kImageAnnotator-0.6.1 o [492]keybinder-0.3.1 o [493]keybinder-3.0-0.3.2 o [494]libadwaita-1.3.4 o [495]libdazzle-3.44.0 o [496]libgedit-amtk-5.8.0 o [497]libgedit-gtksourceview-299.0.4 o [498]libhandy-1.8.2 o [499]Libdrm-2.4.115 o [500]libepoxy-1.5.10 o [501]libglade-2.6.4 o [502]libnotify-0.8.2 o [503]libxklavier-5.4 o [504]Pango-1.50.14 o [505]Pangomm-2.46.3 o [506]Qt-5.15.10 o [507]qt-alternate-5.15.10 o [508]componentes-qt-5.15.10 o [509]QtWebEngine-5.15.15 o [510]startup-notification-0.12 o [511]Tepl-6.8.0 o [512]WebKitGTK-2.41.91 + [513]26. Gerenciadores de Tela o [514]GDM-44.1 o [515]lightdm-1.32.0 o [516]sddm-0.20.0 + [517]27. Gerenciadores de Janela o [518]Fluxbox-1.3.7 o [519]IceWM-3.4.1 o [520]openbox-3.6.1 o [521]sawfish-1.13.0 + [522]28. Ícones o [523]adwaita-icon-theme-44.0 o [524]breeze-icons-5.109.0 o [525]gnome-icon-theme-3.12.0 o [526]gnome-icon-theme-extras-3.12.0 o [527]gnome-icon-theme-symbolic-3.12.0 o [528]gnome-themes-extra-3.28 o [529]hicolor-icon-theme-0.17 o [530]icon-naming-utils-0.8.90 o [531]lxde-icon-theme-0.5.1 o [532]oxygen-icons5-5.109.0 * [533]VII. KDE + [534]29. Introdução ao KDE o [535]Preliminares do “KDE” o [536]extra-cmake-modules-5.109.0 o [537]Phonon-4.11.1 o [538]Phonon-backend-gstreamer-4.10.0 o [539]Phonon-backend-vlc-0.11.3 o [540]Polkit-Qt-0.114.0 o [541]libdbusmenu-qt-0.9.3+16.04.20160218 o [542]Plasma-wayland-protocols-1.10.0 o [543]kuserfeedback-1.2.0 + [544]30. KDE Frameworks 5 o [545]Configuração da Pré-instalação do “KDE Frameworks 5” o [546]Construindo o KDE Frameworks 5 (KF5) + [547]31. Aplicativos Baseados no “KDE Frameworks 5” o [548]Ark-23.08.0 o [549]Kdenlive-23.08.0 o [550]KMix-23.08.0 o [551]kio-extras-23.08.0 o [552]Khelpcenter-23.08.0 o [553]Konsole-23.08.0 o [554]libkexiv2-23.08.0 o [555]Okular-23.08.0 o [556]libkdcraw-23.08.0 o [557]Gwenview-23.08.0 o [558]libkcddb-23.08.0 o [559]k3b-23.08.0 o [560]Outros pacotes do KDE5 + [561]32. “Plasma” 5 do “KDE” o [562]Construindo o “Plasma” 5 * [563]VIII. GNOME + [564]33. Bibliotecas e Área de Trabalho do “GNOME” o Bibliotecas o [565]Gcr-3.41.1 o [566]Gcr-4.1.0 o [567]gsettings-desktop-schemas-44.0 o [568]libsecret-0.21.0 o [569]rest-0.9.1 o [570]totem-pl-parser-3.26.6 o [571]VTE-0.72.2 o [572]yelp-xsl-42.1 o [573]GConf-3.2.6 o [574]geocode-glib-3.26.4 o [575]Gjs-1.76.2 o [576]gnome-autoar-0.4.4 o [577]gnome-desktop-44.0 o [578]gnome-menus-3.36.0 o [579]gnome-video-effects-0.6.0 o [580]gnome-online-accounts-3.48.0 o [581]Grilo-0.3.16 o [582]libchamplain-0.12.21 o [583]libgdata-0.18.1 o [584]libgee-0.20.6 o [585]libgtop-2.40.0 o [586]libgweather-4.2.0 o [587]libpeas-1.36.0 o [588]libshumate-1.0.5 o [589]libwnck-43.0 o [590]evolution-data-server-3.48.4 o [591]Tracker-3.5.3 o [592]Tracker-miners-3.5.2 o [593]GSound-1.0.3 o Componentes da Área de Trabalho do GNOME o [594]DConf-0.40.0 / DConf-Editor-43.0 o [595]gnome-backgrounds-44.0 o [596]Gvfs-1.50.6 o [597]gexiv2-0.14.2 o [598]Nautilus-44.2.1 o [599]gnome-bluetooth-42.6 o [600]gnome-keyring-42.1 o [601]gnome-settings-daemon-44.1 o [602]gnome-control-center-44.3 o [603]Mutter-44.3 o [604]gnome-shell-44.3 o [605]gnome-shell-extensions-44.0 o [606]gnome-session-44.0 o [607]gnome-tweaks-40.10 o [608]gnome-user-docs-44.3 o [609]Yelp-42.2 + [610]34. GNOME Applications o [611]Baobab-44.0 o [612]Brasero-3.12.3 o [613]Cheese-44.1 o [614]EOG-44.3 o [615]Evince-44.3 o [616]Evolution-3.48.4 o [617]File-Roller-43.0 o [618]gnome-calculator-44.0 o [619]gnome-color-manager-3.36.0 o [620]gnome-disk-utility-44.0 o [621]gnome-logs-43.0 o [622]gnome-maps-44.3 o [623]gnome-nettool-42.0 o [624]gnome-power-manager-43.0 o [625]gnome-screenshot-41.0 o [626]gnome-system-monitor-45.0 o [627]gnome-terminal-3.48.2 o [628]gnome-weather-44.0 o [629]Gucharmap-15.0.4 o [630]Seahorse-43.0 o [631]Vinagre-3.22.0 * [632]IX. Xfce + [633]35. Área de Trabalho do Xfce o [634]libxfce4util-4.18.1 o [635]Xfconf-4.18.1 o [636]libxfce4ui-4.18.4 o [637]Exo-4.18.0 o [638]Garcon-4.18.1 o [639]xfce4-panel-4.18.4 o [640]thunar-4.18.6 o [641]thunar-volman-4.18.0 o [642]tumbler-4.18.1 o [643]xfce4-appfinder-4.18.1 o [644]xfce4-power-manager-4.18.2 o [645]xfce4-settings-4.18.3 o [646]Xfdesktop-4.18.1 o [647]Xfwm4-4.18.0 o [648]xfce4-session-4.18.3 + [649]36. Aplicativos do Xfce o [650]Parole-4.18.0 o [651]xfce4-terminal-1.1.0 o [652]Xfburn-0.7.0 o [653]Ristretto-0.13.1 o [654]xfce4-dev-tools-4.18.0 o [655]xfce4-notifyd-0.8.2 o [656]xfce4-pulseaudio-plugin-0.4.7 * [657]X. LXDE + [658]37. Área de Trabalho do LXDE o [659]lxmenu-data-0.1.5 o [660]libfm-extra-1.3.2 o [661]menu-cache-1.1.0 o [662]libfm-1.3.2 o [663]PCManFM-1.3.2 o [664]libwnck-2.30.7 o [665]LXPanel-0.10.1 o [666]LXAppearance-0.6.3 o [667]LXSession-0.5.5 o [668]lxde-common-0.99.2 + [669]38. Aplicativos do LXDE o [670]GPicView-0.2.5 o [671]lxappearance-obconf-0.2.3 o [672]LXInput-0.3.5 o [673]LXRandR-0.3.2 o [674]LXTask-0.1.10 o [675]Vte-0.28.2 o [676]LXTerminal-0.4.0 * [677]XI. LXQt + [678]39. Área de Trabalho LXQt o [679]Instruções de Pré Instalação da Área de Trabalho do LXQt o KF5, Plasma e Dependências Diversas o [680]kwindowsystem-5.109.0 para lxqt o [681]kwayland-5.109.0 para lxqt o [682]kconfig-5.109.0 para lxqt o [683]solid-5.109.0 para lxqt o [684]kidletime-5.109.0 para lxqt o [685]libkscreen-5.27.7 para lxqt o [686]muparser-2.3.4 o Componentes da Área de Trabalho LXQt o [687]lxqt-build-tools-0.13.0 o [688]libqtxdg-3.11.0 o [689]lxqt-menu-data-20230619 o [690]liblxqt-1.3.0 o [691]libsysstat-0.4.6 o [692]qtxdg-tools-3.11.0 o [693]libfm-qt-1.3.0 o [694]lxqt-themes-1.3.0 o [695]lxqt-qtplugin-1.3.0 o [696]lxqt-about-1.3.0 o [697]lxqt-admin-1.3.0 o [698]lxqt-openssh-askpass-1.3.0 o [699]lxqt-sudo-1.3.0 o [700]lxqt-config-1.3.0 o [701]obconf-qt-0.16.2 o [702]lxqt-globalkeys-1.3.0 o [703]lxqt-policykit-1.3.0 o [704]lxqt-session-1.3.0 o [705]pcmanfm-qt-1.3.0 o [706]lxqt-panel-1.3.0 o [707]lxqt-powermanagement-1.3.0 o [708]lxqt-runner-1.3.0 o [709]Instruções finais da área de trabalho do LXQt + [710]40. Aplicativos LXQt o [711]lximage-qt-1.3.0 o [712]lxqt-archiver-0.8.0 o [713]lxqt-notificationd-1.3.0 o [714]pavucontrol-qt-1.3.0 o [715]qps-2.7.0 o [716]qtermwidget-1.3.0 o [717]qterminal-1.3.0 o [718]screengrab-2.6.0 * [719]XII. Software do X + [720]41. Aplicativos de Escritório o [721]AbiWord-3.0.5 o [722]Gnumeric-1.12.55 o [723]LibreOffice-7.6.0 + [724]42. Navegadores Gráficos da Web o [725]Epiphany-44.6 o [726]Falkon-23.08.0 o [727]Firefox-115.2.0esr o [728]SeaMonkey-2.53.17 + [729]43. Outros Aplicativos baseados no X o [730]Balsa-2.6.4 o [731]feh-3.10 o [732]FontForge-20230101 o [733]Gimp-2.10.34 o [734]Gparted-1.5.0 o [735]HexChat-2.16.1 o [736]Inkscape-1.3 o [737]Pidgin-2.14.12 o [738]Rox-Filer-2.11 o [739]rxvt-unicode-9.31 o [740]Thunderbird-115.2.0 o [741]Tigervnc-1.13.1 o [742]Transmission-4.0.3 o [743]xarchiver-0.5.4.21 o [744]xdg-utils-1.1.3 o [745]XScreenSaver-6.06 * [746]XIII. Multimídia + [747]44. Bibliotecas e Controladores de Multimídia o [748]ALSA-1.2.7 o [749]alsa-lib-1.2.9 o [750]alsa-plugins-1.2.7.1 o [751]alsa-utils-1.2.9 o [752]alsa-tools-1.2.5 o [753]alsa-firmware-1.2.4 o [754]alsa-oss-1.1.8 o [755]AudioFile-0.3.6 o [756]FAAC-1_30 o [757]FAAD2-2.10.1 o [758]fdk-aac-2.0.2 o [759]FLAC-1.4.3 o [760]frei0r-plugins-1.8.0 o [761]gavl-1.4.0 o [762]gstreamer-1.22.5 o [763]gst-plugins-base-1.22.5 o [764]gst-plugins-good-1.22.5 o [765]gst-plugins-bad-1.22.5 o [766]gst-plugins-ugly-1.22.5 o [767]gst-libav-1.22.5 o [768]gstreamer-vaapi-1.22.5 o [769]id3lib-3.8.3 o [770]intel-media-23.3.2 o [771]intel-vaapi-driver-2.4.1 o [772]Liba52-0.7.4 o [773]Libao-1.2.0 o [774]libaom-3.6.1 o [775]libass-0.17.1 o [776]libcanberra-0.30 o [777]libcddb-1.3.2 o [778]libcdio-2.1.0 o [779]libdvdcss-1.4.3 o [780]Libdvdread-6.1.3 o [781]Libdvdnav-6.1.1 o [782]Libdv-1.0.0 o [783]libmad-0.15.1b o [784]libmpeg2-0.5.1 o [785]libmusicbrainz-2.1.5 o [786]libmusicbrainz-5.1.0 o [787]libogg-1.3.5 o [788]libquicktime-1.2.4 o [789]libsamplerate-0.2.2 o [790]libsndfile-1.2.2 o [791]libtheora-1.1.1 o [792]libva-2.19.0 o [793]libvdpau-1.5 o [794]libvdpau-va-gl-0.4.0 o [795]libvorbis-1.3.7 o [796]libvpx-1.13.0 o [797]MLT-7.18.0 o [798]Opus-1.3.1 o [799]Pipewire-0.3.77 o [800]PulseAudio-16.1 o [801]SBC-2.0 o [802]sdl12-compat-1.2.64 o [803]SDL2-2.28.2 o [804]sound-theme-freedesktop-0.8 o [805]SoundTouch-2.3.2 o [806]Speex-1.2.1 o [807]Taglib-1.13.1 o [808]v4l-utils-1.24.1 o [809]x264-20230215 o [810]x265-20230215 o [811]xine-lib-1.2.13 o [812]XviD-1.3.7 + [813]45. Utilitários de Áudio o [814]Audacious-4.3.1 o [815]CDParanoia-III-10.2 o [816]kwave-23.08.0 o [817]LAME-3.100 o [818]mpg123-1.31.3 o [819]pavucontrol-5.0 o [820]pnmixer-0.7.2 o [821]vorbis-tools-1.4.2 + [822]46. Utilitários de Vídeo o [823]FFmpeg-6.0 o [824]MPlayer-1.5 o [825]Transcode-1.1.7 o [826]VLC-3.0.18 o [827]xine-ui-0.99.14 + [828]47. Utilitários de Escrita de CD/DVD o [829]Cdrdao-1.2.4 o [830]Cdrtools-3.02a09 o [831]dvd+rw-tools-7.1 o [832]libburn-1.5.6 o [833]libisoburn-1.5.6 o [834]libisofs-1.5.6 * [835]XIV. Impressão, Digitalização e Composição Tipográfica + [836]48. Impressão o [837]Cups-2.4.6 o [838]cups-filters-1.28.16 o [839]ghostscript-10.01.2 o [840]Gutenprint-5.3.4 + [841]49. Digitalizando o [842]SANE-1.0.32 o [843]XSane-0.999 + [844]50. Standard Generalized Markup Language (SGML) o [845]sgml-common-0.6.3 o [846]docbook-3.1-dtd o [847]docbook-4.5-dtd o [848]OpenSP-1.5.2 o [849]OpenJade-1.3.2 o [850]docbook-dsssl-1.79 o [851]DocBook-utils-0.6.14 + [852]51. Linguagem Extensível de Marcação (XML) o [853]docbook-xml-4.5 o [854]docbook-xml-5.0 o [855]docbook-xml-5.1 o [856]docbook-xsl-nons-1.79.2 o [857]itstool-2.0.7 o [858]xmlto-0.0.28 + [859]52. PostScript o [860]Enscript-1.6.6 o [861]ePDFView-0.1.8 o [862]fop-2.9 o [863]MuPDF-1.22.2 o [864]paps-0.7.1 + [865]53. Composição Tipográfica o [866]Configurando o PATH para TeX Live o [867]install-tl-unx o [868]texlive-20230313-source o [869]asymptote-2.86 o [870]biber-2.19 o [871]dvisvgm-3.1 o [872]xindy-2.5.1 * [873]A. Licença da Creative Commons * [874]B. A Licença do MIT * [875]Glossário * [876]Índice Remissivo Prefácio Tendo ajudado com o Linux From Scratch por um curto período, eu percebi que nós estávamos obtendo muitas consultas do tipo como fazer coisas além do sistema LFS base. Na época, a única assistência oferecida especificamente relacionada ao LFS eram as dicas do LFS ([877]https://www.linuxfromscratch.org/hints). A maioria das dicas do LFS é extremamente boa e bem escrita, porém eu (e outros(as)) ainda poderia ver uma necessidade para ajuda mais abrangente para ir Além do LFS — por isso o BLFS. O BLFS visa a ser mais que as dicas do LFS convertidas para XML, apesar de muito do nosso trabalho ser baseado nas dicas e, de fato, alguns(mas) autores(as) escreverem as dicas e as seções relevantes do BLFS. Nós esperamos poder fornecer a você informação suficiente não apenas para conseguir construir o seu sistema até o que você desejar, seja um servidor da web ou um sistema multimídia de área de trabalho, mas também que você aprenda muito acerca da configuração do sistema conforme avance. Obrigado, como sempre, a todos(as) na comunidade LFS/BLFS; especialmente aqueles(as) que contribuíram com instruções, textos escritos, responderam a perguntas e geralmente gritaram quando as coisas estavam erradas! Finalmente, encorajamos você a se envolver na comunidade; faça perguntas na lista de discussão ou portal de notícias e divirta-se em #lfs e #lfs-support no Libera. Você pode encontrar mais detalhes acerca de tudo isso na seção [878]Introdução do livro. Divirta-se usando o BLFS. Mark Hymers markh linuxfromscratch.org Editor do BLFS (Julho de 2001–Março de 2003) Eu ainda lembro como encontrei o projeto BLFS e comecei a usar as instruções que estavam completas na época. Eu não podia acreditar quão maravilhoso era ter um aplicativo instalado e funcionando muito rapidamente, com explicações do tipo porque as coisas foram feitas de uma certa maneira. Infelizmente, para mim, não demorou muito antes que estivesse abrindo aplicativos que não tinham nada mais que "A ser feito" na página. Eu fiz o que a maioria faria: esperei que alguém fizesse. Não demorou muito também antes que estivesse procurando, via Bugzilla, por alguma coisa fácil de fazer. Como com qualquer experiência de aprendizado, a definição do que era fácil continuou mudando. Nós ainda incentivamos você a se envolver, já que o BLFS nunca está realmente finalizado. Contribuindo ou apenas usando, nós esperamos que você aprecie a sua experiência BLFS. Larry Lawrence larry linuxfromscratch.org Editor do BLFS (Março de 2003–Junho de 2004) O projeto BLFS é uma progressão natural do LFS. Juntos, esses projetos fornecem um recurso único para a Comunidade do Fonte Aberto. Eles tiram o mistério do processo de construir um sistema de software funcional e completo a partir do código fonte contribuído por muitos(as) indivíduos(as) talentosos(as) pelo mundo. Eles verdadeiramente permitem que os(as) usuários(as) implementem o lema “Sua distribuição, suas regras”. Nossa meta é a de continuar a fornecer o melhor recurso disponível que mostra a você como integrar muitas aplicações significantes de Fonte Aberto. Considerando que essas aplicações são atualizadas constantemente e aplicações novas são desenvolvidas, este livro nunca estará completo. Adicionalmente, sempre existe espaço para melhoramento na explicação das nuances do como instalar os diferentes pacotes. Para fazer esses melhoramentos, nós precisamos do seu feedback. Eu incentivo você a participar das diferentes listas de discussão, grupos de notícias e canais do IRC para ajudar a alcançar essas metas. Bruce Dubbs bdubbs linuxfromscratch.org Editor do BLFS (Junho de 2004–Dezembro de 2006 e Fevereiro de 2011–agor a) Minha introdução ao projeto [B]LFS foi, na verdade, por acidente. Eu estava tentando construir um ambiente GNOME usando alguns HOW-TOs e outras informações que encontrei na web. Algumas vezes, encontrei alguns problemas de construção e a pesquisa no Google me trouxe algumas mensagens antigas da lista de discussão do BLFS. Por curiosidade, visitei o sítio da web do Linux From Scratch e pouco tempo depois estava viciado. Não tenho usado qualquer outra distribuição do Linux para uso pessoal desde então. Eu não posso prometer que alguém sentirá o senso de satisfação que senti depois de construir meus primeiros sistemas usando as instruções do [B]LFS, porém espero sinceramente que sua experiência BLFS seja tão gratificante para você quanto tem sido para mim. O projeto BLFS tem crescido significantemente nos dois anos mais recentes. Existem mais instruções de pacote e dependências relacionadas que nunca antes. O projeto exige sua contribuição para o sucesso continuado. Se você descobrir que gosta de construir o BLFS, [então], por favor, considere ajudar da maneira que puder. O BLFS exige centenas de horas de manutenção para mantê-lo até mesmo semi atual. Se você se sentir confiante o suficiente em suas habilidades de edição, [então], por favor, considere ingressar na equipe do BLFS. Simplesmente contribuir para as discussões da lista de discussão com bons conselhos e (ou) fornecer correções para o XML do livro provavelmente resultará em você receber um convite para se juntar à equipe. Randy McMurchy randy linuxfromscratch.org Editor do BLFS (Dezembro de 2006–Janeiro de 2011) Introdução Esta versão do livro é destinada para ser usada quando se construir sobre um sistema construído usando o livro LFS. Cada esforço tem sido feito para garantir a precisão e a confiabilidade das instruções. Muitas pessoas entendem que, ao se usar as instruções neste livro depois de construir a versão atual estável ou de desenvolvimento do LFS, fornece um sistema Linux estável e muito moderno. Aproveite! Randy McMurchy 24 de agosto de 2008 Quem Desejaria Ler este Livro Este livro é principalmente destinado para aqueles(as) que tenham construído um sistema baseado no livro LFS. Ele também será útil para aqueles(as) que estiverem usando outras distribuições e, por uma razão ou outra, quiserem construir manualmente "software" e necessitarem de alguma assistência. Observe que o material contido neste livro, em particular as listagens de dependências, presume que você esteja usando um sistema LFS básico com cada pacote listado no livro LFS já instalado e configurado. O BLFS pode ser usado para criar uma gama de sistemas diversos e, assim, a audiência alvo provavelmente é tão ampla quanto aquela do livro LFS. Se você achou o LFS útil, [então] você também deveria gostar deste! Desde o lançamento 7.4, a versão do livro BLFS tem correspondido com a versão do livro LFS. Este livro possivelmente seja incompatível com um lançamento anterior ou posterior do livro LFS. Organização Este livro está dividido nas seguintes quatorze partes. Parte I - Introdução Essa parte contém informações essenciais que são necessárias para compreender o restante do livro. Parte II - Pós Configuração do LFS e Software Extra Aqui nós apresentamos problemas básicos de configuração e segurança. Também discutimos uma gama de editores de texto, sistemas de arquivos e "shells" que não são cobertos no livro LFS principal. Parte III - Bibliotecas e Utilitários Gerais Nessa seção abordamos bibliotecas que frequentemente são necessárias ao longo do livro, bem como utilitários de sistema. Informações relativas a programação (incluindo a recompilação do GCC para suportar toda a gama dele de linguagens) conclui essa parte. Parte IV - Rede Básica de Comunicação Aqui explicamos como conectar-se a uma rede de intercomunicação quando você não estiver usando a configuração simples de IP estático apresentada no livro principal do LFS. Bibliotecas de rede de intercomunicação e ferramentas de linha de comando de rede de intercomunicação também são abordadas aqui. Parte V - Servidores Aqui mostramos como configurar o correio e outros servidores (como FTP, Apache, etc.). Parte VI - X + Gerenciadores de Janela Essa parte explica como configurar um Sistema de Janelas X básico, junto com algumas bibliotecas X genéricas e gerenciadores de janelas. Parte VII - KDE Essa parte é para aqueles(as) que desejam usar o K Desktop Environment, ou partes dele. Parte VIII - GNOME GNOME é a alternativa principal ao KDE na arena do Ambiente de Área de Trabalho. Parte IX - Xfce Xfce é uma alternativa peso leve ao GNOME e ao KDE. Parte X - LXDE LXDE é outra alternativa peso leve ao GNOME e ao KDE. Parte XI - Mais Software do X Os aplicativos do "Office" e os navegadores gráficos da "web" são importantes para a maioria das pessoas. Eles e alguns softwares X genéricos podem ser encontrados nessa parte do livro. Parte XII - Multimídia Aqui abordamos bibliotecas e controladores multimídia, juntamente com alguns aplicativos de áudio, vídeo e gravação de CD. Parte XIII - Impressão, Digitalização e Composição de Texto (PST) Essa parte cobre o manuseio de documentos, desde aplicativos como Ghostscript, CUPS e DocBook, até o texlive. Anexos Os Anexos apresentam informações que não pertencem ao corpo do livro; eles estão incluídos como material de referência. O glossário de siglas é um recurso útil. Parte I. Introdução Capítulo 1. Bem vindo(a) ao BLFS O livro Beyond Linux From Scratch foi projetado para continuar a partir de onde o livro LFS parou. Porém, diferente do livro LFS, ele não foi projetado para ser seguido sequenciadamente. Ler a parte [879]Quais seções do livro? deste capítulo deveria ajudar a guiar você ao longo do livro. Por favor, leia cuidadosamente a maior parte desta parte do livro, pois ela explica algumas das convenções usadas ao longo do livro. Quais Seções do Livro Eu Quero? Ao contrário do livro Linux From Scratch, o BLFS não foi projetado para ser seguido de maneira linear. O LFS fornece instruções sobre como criar um sistema básico que pode se tornar qualquer coisa, desde um servidor "web" até um sistema multimídia de área de trabalho. O BLFS tenta orientá-lo(a) no processo de passagem do sistema básico até o teu destino pretendido. A escolha está muito envolvida. Todos(as) que lerem este livro vão querer ler certas seções. A [880]Introdução que você está lendo atualmente contém informações genéricas. Tome nota especial das informações no [881]Capítulo 2, Informação Importante, pois elas contém comentários acerca de como desempacotar software, questões relacionadas ao uso de diferentes localidades e várias outras considerações que se aplicam ao longo do livro. A parte acerca da [882]Configuração Pós LFS e Software Extra é onde a maioria das pessoas vai querer ir em seguida. Isso trata não apenas de configuração, mas também de Segurança ([883]Capítulo 4, Segurança), Sistemas de Arquivos ([884]Capítulo 5, Sistemas de Arquivos e Gerenciamento de Disco - incluindo "GRUB" para "UEFI"), Editores de Texto ([885]Capítulo 6, Editores de Texto) e "Shells" ([886]Capítulo 7, Shells). Na verdade, você possivelmente deseje consultar algumas partes desse capítulo (especialmente as seções relativas a Editores de Texto e Sistemas de Arquivos) enquanto constrói teu sistema LFS. Seguindo esses itens básicos, a maioria das pessoas vai querer pelo menos navegar pela parte das [887]Bibliotecas e Utilitários Gerais do livro. Essa contém informações relativas a muitos itens que são pré-requisitos para outras seções do livro, bem como alguns itens (como [888]Capítulo 13, Programação) que são úteis por si só. Você não precisa instalar todas as bibliotecas e pacotes encontradas nessa parte; cada procedimento de instalação do BLFS te informa quais outros pacotes esse depende. Você pode escolher o aplicativo que deseja instalar e ver o que ele precisa. (Não se esqueça de verificar as dependências aninhadas!) Da mesma forma, a maioria das pessoas provavelmente desejará dar uma olhada na seção [889]Rede de Intercomunicação. Ela lida com a conexão à Internet ou à sua "LAN" ([890]Capítulo 14, Conectando a uma Rede de Intercomunicação) usando uma variedade de métodos, como "DHCP" e "PPP", e com itens como bibliotecas de rede de intercomunicação ([891]Capítulo 17, Bibliotecas de Operação Interativa de Dispositivos Via Rede de Intercomunicação), além de vários aplicativos e utilitários básicos de rede de intercomunicação. Depois que tiver lidado com esses básicos, você possivelmente desejará configurar serviços mais avançados de rede de intercomunicação. Eles são tratados na parte [892]Servidores do livro. Aqueles(as) desejantes de construir servidores deveriam encontrar um bom ponto de partida aí. Observe que essa seção também contém informações relativas a vários pacotes de base de dados. Os próximos doze capítulos tratam de sistemas de área de trabalho. Essa parte do livro começa com uma parte falando a respeito de [893]Componentes Gráficos. Essa parte também trata de algumas bibliotecas genéricas baseadas no "X" ([894]Capítulo 25, Bibliotecas Gráficas de Ambiente). Depois disso, [895]KDE, [896]GNOME, [897]Xfce e [898]LXDE recebem as próprias partes deles, seguidas por uma relativa a [899]Software do X. O livro então passa a lidar com pacotes [900]Multimídia. Observe que muitas pessoas possivelmente queiram usar as instruções [901]ALSA-1.2.7 advindas desse capítulo ao iniciar a jornada BLFS delas; as instruções estão colocadas aqui porque é o lugar mais lógico para elas. A parte final do livro principal do BLFS trata de [902]Impressão, Digitalização e Composição Tipográfica. Isso é útil para a maioria das pessoas com sistemas de área de trabalho, mas mesmo aqueles(as) que estiverem criando sistemas dedicados de servidores possivelmente achem-na útil. Esperamos que você goste de usar o BLFS. Que você realize seu sonho de construir o sistema Linux perfeitamente personalizado! Convenções Usadas neste Livro Convenções Tipográficas Para facilitar o acompanhamento, diversas convenções são usadas ao longo do livro. Aqui estão alguns exemplos: ./configure --prefix=/usr Essa forma de texto deveria ser digitada exatamente como mostrado, salvo indicação em contrário no texto ao redor. Também é usado para identificar referências a comandos específicos. install-info: unknown option `--dir-file=/mnt/lfs/usr/info/dir' Essa forma de texto (fonte de largura fixa) mostra a saída gerada de tela, provavelmente o resultado da emissão de um comando. Também é usada para mostrar nomes de arquivos como /boot/grub/grub.conf Ênfase Essa forma de texto é usada para diversos fins, mas principalmente para enfatizar pontos importantes, ou para dar exemplos do que digitar. [903]https://www.linuxfromscratch.org/ Essa forma de texto é usada para links externos de hipertexto para o livro, como "HowTos", locais de transferência, sítios da "web", etc. [904]SeaMonkey-2.53.17 Essa forma de texto é usada para links internos para o livro, como outra seção que descreve um pacote diferente. cat > $LFS/etc/group << "EOF" root:x:0: bin:x:1: ...... EOF Esse estilo é usado principalmente ao criar arquivos de configuração. O primeiro comando (em negrito) diz ao sistema para criar o arquivo $LFS/etc/group a partir do que for digitado nas linhas seguintes, até que a sequência "EOF" seja encontrada. Portanto, toda essa seção geralmente é digitada exatamente como mostrada. Lembre-se, copiar e colar é seu(a) amigo(a)! Essa forma de texto é usada para encapsular o texto que deveria ser modificado e não é para ser digitado conforme mostrado, nem copiado e colado. Os colchetes angulares não são parte do texto literal; eles são parte da substituição. root Essa forma de texto é usada para mostrar uma referência específica a um(a) usuário(a) ou grupo do sistema nas instruções. Convenções Usadas para Dependências de Pacote Quando novos pacotes são criados, os(as) autores(as) do logiciário dependem de trabalhos anteriores. Para a finalidade de construir um pacote no BLFS, essas dependências precisam ser construídas antes que o pacote desejado possa ser compilado. Para cada pacote, os pré-requisitos estão listados em uma ou mais seções separadas: Exigidas, Recomendadas e Opcionais. Dependências Exigidas Essas dependências são o mínimo necessário para construir o pacote. Pacotes no LFS e as dependências exigidas desses pacotes exigidos estão omitidos dessa lista. Lembre-se sempre de verificar dependências aninhadas. Se uma dependência for considerada “tempo de execução”, então ela não será necessária para construir o pacote, mas somente para usá-lo depois da instalação. Dependências Recomendadas Essas são dependências que os(as) editores(as) do BLFS determinaram serem importantes para fornecer recursos razoáveis para o pacote. Se uma dependência recomendada não for considerada “tempo de execução”, as instruções de instalação do pacote assumem que ela está instalada. Se não estiver instalada, as instruções possivelmente exijam modificações para acomodar o pacote ausente. Uma dependência de “tempo de execução” recomendada não precisa ser instalada antes de construir o pacote, mas precisa ser construída posteriormente para executar o pacote com capacidades razoáveis. Dependências Opcionais Essas são dependências que o pacote possivelmente use. A integração de dependências opcionais possivelmente seja automática pelo pacote, ou etapas adicionais não apresentadas pelo BLFS possivelmente sejam necessárias. Dependências opcionais são, ocasionalmente, listadas sem instruções BLFS explícitas. Nesse caso, você mesmo(a) precisa determinar como realizar a instalação. Convenções Usadas para Opções de Configuração do Núcleo Alguns pacotes exigem opções específicas de configuração do núcleo. O esquema geral para esses se parece com isto: Master section ---> Subsection ---> [*] Required parameter [REQU_PAR] <*> Required parameter (not as module) [REQU_PAR_NMOD] <*/M> Required parameter (could be a module) [REQU_PAR_MOD] Required parameter (as a module) [REQU_PAR_MOD_ONLY] < /*/M> Optional parameter [OPT_PAR] < /M> Optional parameter (as a module if enabled) [OPT_PAR_MOD_ONLY] [ ] Incompatible parameter [INCOMP_PAR] < > Incompatible parameter (even as module) [INCOMP_PAR_MOD] [...] na direita fornece o nome simbólico da opção, de forma que você pode facilmente verificar se ela está configurada no teu arquivo config. Observe que o arquivo .config contém um prefixo CONFIG_ antes de todos os nomes simbólicos. O significado das várias entradas é: Seção mestre item do topo do menu Subseção item do submenu Parâmetro exigido a opção pode ou estar integrada ou não selecionada: ela precisa ser selecionada Parâmetro exigido (não como módulo) a opção pode ser integrada, um módulo ou não selecionada ("tri-state"): ela precisa ser selecionada como integrada Parâmetro exigido (poderia ser um módulo) a opção pode ser integrada, um módulo, ou não selecionada: ela precisa ser selecionada, ou como integrada ou como um módulo Parâmetro exigido (como um módulo) a opção pode ser integrada, um módulo, ou não selecionada: ela precisa ser selecionada como um módulo; selecioná-la como integrada possivelmente cause efeitos indesejados Parâmetro opcional a opção pode ser integrada, um módulo, ou não selecionada: ela possivelmente seja selecionada como um módulo ou integrada se você precisar dela para controlar o hardware ou recursos opcionais do núcleo Parâmetro opcional a opção pode ser integrada, um módulo, ou não selecionada: ela possivelmente seja selecionada como um módulo se você precisar dela para controlar o hardware ou recursos opcionais do núcleo, mas selecioná-la como integrada possivelmente cause efeitos indesejados Parâmetro incompatível a opção pode ser ou integrada ou não selecionada: ela precisa não ser selecionada Parâmetro incompatível (mesmo como módulo) a opção pode ser integrada, um módulo ou não selecionada: ela precisa não ser selecionada Observe que, dependendo de outras seleções, os colchetes angulares (<>) no menu de configuração possivelmente apareçam como chaves ({}), se a opção não puder ser desmarcada; ou mesmo traços (-*- ou -M-), quando a escolha for imposta. O texto de ajuda descrevente da opção especifica as outras seleções das quais essa opção depende e como aquelas outras seleções são configuradas. A letra em azul é a tecla de atalho para essa opção. Se você estiver executando make menuconfig, você pode pressionar uma tecla para percorrer rapidamente todas as opções com essa tecla como a tecla de atalho na tela. Valores da UPC no BLFS Assim como no LFS, cada pacote no BLFS tem um tempo de construção listado em Unidades Padrão de Construção ("UPCs"). Esses tempos são relativos ao tempo que levou para construir "binutils" no LFS e são destinados a fornecer algumas dicas sobre quanto tempo levará para construir um pacote. A maioria dos tempos listados é para um processador ou núcleo para construir o pacote. Em alguns casos, compilações grandes e de longa duração testadas em sistemas de múltiplos núcleos tem tempos de "UPC" listados com comentários como '(paralelismo=4)'. Esses valores indicam que o teste foi feito usando vários núcleos. Observe que, embora isso acelere a construção em sistemas com o "hardware" apropriado, a aceleração não é linear e, até certo ponto, depende do pacote individual e do "hardware" específico usado. Para pacotes que usam "Ninja" (ou seja, qualquer coisa que use "Meson") ou "Rust", por padrão todos os núcleos são usados; comentários semelhantes serão vistos em tais pacotes mesmo quando o tempo de construção for mínimo. Mesmo que uma construção paralela leve mais de quinze (15) "UPCs", em certas máquinas o tempo possivelmente seja consideravelmente maior, mesmo quando a construção não usa troca. Em particular, diferentes microarquiteturas construirão alguns arquivos a diferentes velocidades relativas, e isso pode introduzir atrasos quando certos alvos do "Make" aguardam que outro arquivo seja criado. Onde uma construção grande usa muitos arquivos "C++", os processadores com Multi Camadas Simultâneas compartilharão a Unidade de Ponto Flutuante e podem levar quarenta e cinco inteiros por cento (45%) mais tempo que ao usar quatro núcleos 'principais' (medido em um Intel i7 usando o conjunto de tarefas e mantendo os outros núcleos ociosos). Alguns pacotes não suportam construções paralelas; para esses, o comando "make" precisa especificar "-j1". Os pacotes que são conhecidos por imporem tais limites estão assim marcados no texto. Versão do Livro Esta é a versão do Livro do BLFS 12.0 datada de 1º de setembro de 2023. Esta é a ramificação 12.0-systemd do livro do BLFS, atualmente direcionando para o livro 12.0-systemd do LFS. Para versões de desenvolvimento, se essa versão for mais antiga que um mês, é provável que teu espelho não tenha sido sincronizado recentemente e uma versão mais recente provavelmente esteja disponível para transferência ou visualização. Verifique um dos sítios espelhos em [905]https://www.linuxfromscratch.org/mirrors.html para uma versão atualizada. Sítios Espelhos O projeto BLFS tem um número de espelhos configurados mundo afora para tornar mais fácil e mais conveniente para você acessar o sítio da web. Por favor, visite o sítio da web [906]https://www.linuxfromscratch.org/mirrors.html para a lista dos espelhos atuais. Obtendo os Pacotes Fonte Dentro das instruções do BLFS, cada pacote tem duas referências para se encontrar os arquivos fonte para o pacote—um link HTTP e um link FTP (alguns pacotes possivelmente listem somente um desses links). Cada esforço tem sido feito para garantir que esses links estejam corretos. Entretanto, a World Wide Web está em fluxo contínuo. Os pacotes ocasionalmente são movidos ou atualizados e a URL exata especificada nem sempre está disponível. Para contornar esse problema, a Equipe do BLFS, com a assistência do Laboratório do Fonte Aberto da Universidade Estadual do Oregon, tem tornado um sítio HTTP/FTP disponível via espelhos mundo afora. Veja-se [907]https://www.linuxfromscratch.org/blfs/download.html#sources para uma lista. Esses sítios tem todos os fontes das versões exatas dos pacotes usados no BLFS. Se você não puder encontrar o pacote do BLFS que precisar nos endereços listados, [então] obtenha-o a partir desses sítios. Nós gostaríamos de pedir um favor, entretanto. Apesar de esse ser um recurso público para você usar, por favor, não abuse dele. Nós já tivemos um indivíduo sem noção transferindo cerca de três (03) GB de dados, incluindo múltiplas cópias dos mesmos arquivos que são colocados em locais diferentes (via links simbólicos) para tornar mais fácil a procura do pacote certo. Essa criatura claramente não sabia que arquivos precisava e transferiu tudo. O melhor lugar para transferir arquivos é o sítio ou sítios configurados pelo(a) desenvolvedor(a) do código fonte. Por favor, tente lá primeiro. Registro das Mudanças Lançamento atual: 12.0 – 1º de setembro de 2023 Entradas do Registro das Mudanças: * 1º de setembro de 2023 + [bdubbs] - Lançamento do BLFS-12.0. * 31 de agosto de 2023 + [renodr] - Atualização para Thunderbird-115.2.0 (atualização de segurança). Corrige [908]#18479. * 30 de agosto de 2023 + [renodr] - Arquivar LXDM devido a problemas com PAM e elogind. + [pierre] - Atualização para blocaled-0.5. Corrige [909]#18480. * 29 de agosto de 2023 + [renodr] - Atualização para intel-media-driver-23.3.2. Corrige [910]#18472. + [ken] - Atualização para firefox-115.2.0 (Atualização de Segurança). Corrige [911]#18468. * 28 de agosto de 2023 + [renodr] - Atualização para libreoffice-7.6.0.3. Corrige [912]#18435. * 24 de agosto de 2023 + [bdubbs] - Atualização para kf5-apps-23.08.0, kate, kwave, falkon. Corrige [913]#18152. * 23 de agosto de 2023 + [renodr] - Atualização para Thunderbird-115.1.1 (Atualização de Segurança). Corrige [914]#18323. + [renodr] - Atualização para gnome-system-monitor-45.0. Corrige [915]#18430. + [bdubbs] - Atualização para qemu-8.1.0. Corrige [916]#18408. + [bdubbs] - Atualização para plasma5-5.27.7. Corrige [917]#18189. + [bdubbs] - Atualização para kf5-109.0. Corrige [918]#18164. * 22 de agosto de 2023 + [renodr] - Atualização para gnome-bluetooth-42.6. Corrige [919]#18414. + [renodr] - Atualização para samba-4.18.6. Corrige [920]#18416. + [bdubbs] - Atualização para xfce4-terminal-1.1.0. Corrige [921]#18443. + [bdubbs] - Atualização para xfce4-appfinder-4.18.1. Corrige [922]#18444. + [bdubbs] - Atualização para fop-2.9. Corrige [923]#18441. + [bdubbs] - Atualização para apache-ant-1.10.14. Corrige [924]#18433. + [renodr] - Atualização para WebKitGTK+-2.41.91. Corrige [925]#18432. * 21 de agosto de 2023 + [ken]- Atualização para mutt-2.2.11. Corrige [926]#18431. + [bdubbs] - Falha do MPlayer-1.5 ao construir a partir do fonte com binutils-2.41. Corrige [927]#18381. * 20 de agosto de 2023 + [bdubbs] - Atualização para imlib2-1.12.0. Corrige [928]#18428. + [renodr] - Mover Kea do capítulo Rede de Intercomunicação para o capítulo Servidores Principais. * 19 de agosto de 2023 + [bdubbs] - Atualização para ImageMagick-7.1.1-15. Endereça [929]#16962. + [bdubbs] - Atualização para php-8.2.9 (atualização de segurança). Corrige [930]#18423. * 17 de agosto de 2023 + [bdubbs] - Atualização para xwayland-23.2.0. Corrige [931]#18415. + [bdubbs] - Atualização para mesa-23.1.6. Corrige [932]#18417. + [bdubbs] - Atualização para libxcb-1.16. Corrige [933]#18419. + [bdubbs] - Atualização para xcb-proto-1.16.0. Corrige [934]#18418. + [renodr] - Atualização para screen-4.9.1. Corrige [935]#18425. + [renodr] - Atualização para krb5-1.21.2 (atualização de segurança). Corrige [936]#18420. + [renodr] - Atualização para bind-9.18.18. Corrige [937]#18424. + [renodr] - Documentar um teste que é conhecido por travar em alguns sistemas em Rustc. + [renodr] - Desabilitar a criação do diretório /tmp/hsperfdata_[nomeusuário(a)] em Java. Em um sistema BLFS, esse diretório normalmente não é necessário. * 16 de agosto de 2023 + [renodr] - Arquivar o módulo SUPER do Perl. Anteriormente, ele era usado somente por Archive::TestMockModule, que acabou de ser arquivado. + [renodr] - Arquivar Test::MockModule. Anteriormente ele era usado somente em Archive::Zip, mas não mais é usado lá. + [renodr] – Atualização para blfs-systemd-units-20230816. Isso corrige avisos ao usar o serviço sendmail. * 14 de agosto de 2023 + [renodr] - Atualização para vala-0.56.11. Corrige [938]#18412. + [renodr] - Atualização para VIM-9.0.1677 (sincronizar com o LFS). + [renodr] - Atualização para libsndfile-1.2.2. Corrige [939]#18411. + [renodr] - Atualização para mc-4.8.30. Corrige [940]#18410. + [renodr] - Atualização para libadwaita-1.3.4. Corrige [941]#18409. + [timtas] - Atualização para openldap-2.6.6. Corrige [942]#18361. * 13 de agosto de 2023 + [thomas] - Atualização para openssh-9.4p1 e ssh-askpass-9.4p1. Corrige [943]#18397. + [renodr] - Atualização para gtkmm-3.24.8. Corrige [944]#18402. + [renodr] - Atualização para libcloudproviders-0.3.2. Corrige [945]#18399. + [renodr] - Atualização para cmake-3.27.2. Corrige [946]#18400. + [renodr] - Atualização para JSON-C-0.17. Corrige [947]#18407. + [renodr] - Atualização para libsecret-0.21.0. Corrige [948]#18406. + [renodr] - Atualização para Text-CSV-2.03 (módulo Perl). Corrige [949]#18405. + [renodr] - Atualização para Text-CSV_XS-1.51 (módulo Perl). Corrige [950]#18405. + [renodr] - Atualização para boost-1.83.0. Corrige [951]#18404. * 12 de agosto de 2023 + [ken] - mudar a observação de contexto no fonte do texlive para dizer que a correção para 'mkiv' será removida quando o texlive exigir uma atualização. Endereça [952]#18349. + [renodr] - Atualização para WebKitGTK+-2.41.90. Corrige [953]#18403. * 11 de agosto de 2023 + [renodr] - Atualização para node.js-18.17.1 (atualização de segurança). Corrige [954]#18395. + [renodr] - Atualização para postgresql-15.4 (atualização de segurança). Corrige [955]#18401. + [renodr] - Atualização para NetworkManager-1.44.0. Corrige [956]#18396. + [renodr] - Atualização para intel-gmmlib-22.3.10. Corrige [957]#18398. * 9 de agosto de 2023 + [renodr] - Atualização para unixODBC-2.3.12. Corrige [958]#18394. + [renodr] - Atualização para fuse-3.16.1. Corrige [959]#18393. * 8 de agosto de 2023 + [renodr] - Habilitar a sandbox bubblewrap no WebKitGTK+. Isso deveria reduzir o impacto de futuras vulnerabilidades de segurança nesse pacote. Corrige [960]#18391. + [renodr] - Adicionar xdg-user-proxy para suporte à permissão de sandbox no WebKitGTK+. + [ken] - Corrigir falha do fontforge ao construir a partir do fonte com gettext-0.22. Corrige [961]#18392. + [renodr] - Atualização para mercurial-6.5.1. Corrige [962]#18389. + [bdubbs] - Atualização para gtk-4.12.0. Corrige [963]#18386. + [renodr] - Atualização para intel-media-driver-23.3.1. Corrige [964]#18390. * 7 de agosto de 2023 + [renodr] - Atualização para gvfs-1.50.6. Corrige [965]#18387. + [renodr] - Atualização para vala-0.56.10. Corrige [966]#18385. + [renodr] - Atualização para Pygments-2.16.1 (Módulo Python). Corrige [967]#18384. + [renodr] - Atualização para gedit-46.1. Corrige [968]#18383. + [renodr] - Atualização para rustc-1.71.1 (atualização de segurança). Corrige [969]#18382. + [ken] - Atualização para qtwebengine-5.15.15 (correções de segurança). Corrige [970]#18331. * 6 de agosto de 2023 + [renodr] - Atualização para gnome-terminal-3.48.2. Corrige [971]#18378. + [renodr] - Corrigir vulnerabilidades de segurança no WebKitGTK+ e problemas de tempo de execução em VMs. Corrige [972]#18375. + [bdubbs] - Adicionar um remendo originário do(a) desenvolvedor(a) que permite que o ffmpeg-6.0 seja construído com binutils-2.41. Corrige [973]#18367. * 5 de agosto de 2023 + [bdubbs] - Atualização para pipewire-0.3.77. Corrige [974]#18379. + [bdubbs] - Atualização para mesa-23.1.5. Corrige [975]#18372. * 4 de agosto de 2023 + [bdubbs] - Atualização para gnutls-3.8.1. Corrige [976]#18377. + [bdubbs] - Atualização para SDL2-2.28.2. Corrige [977]#18373. + [bdubbs] - Atualização para to unrar-6.2.10. Corrige [978]#18371. + [bdubbs] - Atualização para sg3_utils-1.48. Corrige [979]#18370. + [bdubbs] - Atualização para LVM2.2.03.22. Corrige [980]#18369. + [renodr] - Atualização para seamonkey-2.53.17 (atualização de segurança). Corrige [981]#18362. + [renodr] - Atualização para mariadb-10.11.4 (atualização de segurança). Corrige [982]#18374. * 3 de agosto de 2023 + [bdubbs] - Atualização para polkit-123. Corrige [983]#18345. + [renodr] - Atualização para poppler-23.08.0. Corrige [984]#18364. + [renodr] - Atualização para smartmontools-7.4. Corrige [985]#18363. + [renodr] - Atualização para harfbuzz-8.1.1. Corrige [986]#18359. + [renodr] - Atualização para emacs-29.1. Corrige [987]#18356. + [renodr] - Atualização para sphinx-7.1.2. Corrige [988]#18365. * 2 de agosto de 2023 + [renodr] - Atualização para gedit-46.0. Corrige [989]#18350. + [renodr] - Atualização para tepl-6.8.0. Corrige [990]#18357. + [renodr] - Atualização para libgedit-amtk-5.8.0. Corrige [991]#18366. + [renodr] - Atualização para libgedit-gtksourceview-299.0.4. Corrige [992]#18353. * 1º de agosto de 2023 + [renodr] - Atualização para epiphany-44.6. Corrige [993]#18352. + [renodr] - Atualização para libarchive-3.7.1. Corrige [994]#18351. + [bdubbs] - Atualização para numpy-1.25.2 (módulo Python). Corrige [995]#18360. + [bdubbs] - Atualização para pyparsing-3.1.1 (módulo Python). Corrige [996]#18355. + [renodr] - Documentar alguns dos comportamentos do GDM com GPUs da NVIDIA e uma possível solução alternativa se os(as) usuários(as) desejarem experimentá-lo. Corrige [997]#18266. + [ken] - Atualização para firefox-115.1.0esr (atualização de segurança). Corrige [998]#18310. * 31 de julho de 2023 + [ken] - Atualização para Net-HTTP-6.23 (módulo Perl). Corrige [999]#18358. * 30 de julho de 2023 + [ken] - Atualização para dvisvgm-3.1. Corrige [1000]#18265. + [bdubbs] - Atualização para pipewire-0.3.76. Corrige [1001]#18348. + [bdubbs] - Atualização para mlt-7.18.0. Corrige [1002]#18347. + [bdubbs] - Atualização para gspell-1.12.2. Corrige [1003]#18346. + [bdubbs] - Atualização para gcc-13.2.0. Corrige [1004]#18341. * 28 de julho de 2023 + [xry111] - Atualização para systemd-254 (sincronização com o LFS). Corrige [1005]#18344. + [bdubbs] - Atualização para btrfs-progs-v6.3.3. Corrige [1006]#18340. + [renodr] - Atualização para nss-3.92. Corrige [1007]#18339. + [renodr] - Atualização para sphinx-7.1.1 (módulo Python). Corrige [1008]#18343. + [renodr] - Atualização para python-dbusmock-0.29.1 (módulo Python). Corrige [1009]#18342. * 27 de julho de 2023 + [bdubbs] - Atualização para umockdev-0.17.18. Corrige [1010]#18338. * 26 de julho de 2023 + [renodr] - Atualização para gexiv2-0.14.2. Corrige [1011]#18337. + [renodr] - Atualização para cmake-3.27.1. Corrige [1012]#18336. + [renodr] - Atualização para curl-8.2.1 (atualização de segurança). Corrige [1013]#18315. * 25 de julho de 2023 + [bdubbs] - Atualização para qca-2.3.7. Corrige [1014]#18334. + [bdubbs] - Atualização para sudo-1.9.14p3. Corrige [1015]#18333. + [bdubbs] - Atualização para sphinx-7.1.0 (módulo Python). Corrige [1016]#18335. * 24 de julho de 2023 + [bdubbs] - Atualização para inkscape-1.3. Corrige [1017]#18332. * 23 de julho de 2023 + [renodr] - Atualização para pipewire-0.3.75. Corrige [1018]#18330. + [renodr] - Atualização para icewm-3.4.1. Corrige [1019]#18329. + [renodr] - Atualização para glu-9.0.3. Corrige [1020]#18328. + [renodr] - Atualização para mesa-23.1.4. Corrige [1021]#18325. + [bdubbs] - Atualização para libreoffice-7.5.5.2. Corrige [1022]#18322. + [renodr] - Atualização de gstreamer e plugins para 1.22.5 (atualização de segurança). Corrige [1023]#18318. + [renodr] - Atualização para librsvg-2.56.3 (atualização de segurança). Corrige [1024]#18327. + [renodr] - Atualização para libblockdev-3.0.2. Corrige [1025]#18319. + [renodr] - Atualização para talloc-2.4.1. Corrige [1026]#18320. + [renodr] - Atualização para libshumate-1.0.5. Corrige [1027]#18321. + [renodr] - Atualização para unrar-6.2.9. Corrige [1028]#18324. * 22 de julho de 2023 + [renodr] - Atualização para OpenJDK-20.0.2 (atualização de segurança). Corrige [1029]#18317. * 21 de julho de 2023 + [renodr] - Atualização para WebKitGTK+-2.41.6 (atualização de segurança). Corrige [1030]#18255. + [renodr] - Atualização para samba-4.18.5 (atualização de segurança). Corrige [1031]#18257. + [renodr] - Atualização para dhcpcd-10.0.2. Corrige [1032]#18314. + [renodr] - Atualização para fuse3-3.15.1. Corrige [1033]#18306. + [rahul] - Adicionar o remendo TearFree ao xorg-server. Corrige [1034]#18316. * 20 de julho de 2023 + [bdubbs] - Atualização para bind-9.18.17. Corrige [1035]#18313. + [bdubbs] - Atualização para xfsprogs-6.4.0. Corrige [1036]#18312. + [bdubbs] - Atualização para openssh-9.3p2 (atualização de segurança). Corrige [1037]#18311. + [bdubbs] - Atualização para cmake-3.27.0. Corrige [1038]#18309. + [bdubbs] - Atualização para node-18.17.0. Corrige [1039]#18308. * 19 de julho de 2023 + [bdubbs] - Atualização para libarchive-3.7.0. Corrige [1040]#18307. + [bdubbs] - Atualização para PyYAML-6.0.1. Corrige [1041]#18304. + [bdubbs] - Atualização para highlight-4.7. Corrige [1042]#18302. + [bdubbs] - Atualização para sudo-1.9.14p2. Corrige [1043]#18300. + [bdubbs] - Atualização para stunnel-5.70. Corrige [1044]#18296. + [bdubbs] - Atualização para nghttp2-1.55.1 (atualização de segurança). Corrige [1045]#18295. + [bdubbs] - Atualização para wireshark-4.0.7 (atualização de segurança). Corrige [1046]#18294. + [bdubbs] - Atualização para libva-2.19.0. Corrige [1047]#18293. * 18 de julho de 2023 + [bdubbs] - Atualização para LWP (libwww-perl-6.72). Corrige [1048]#18305. + [bdubbs] - Atualização para krb5-1.21.1 (atualização de segurança). Corrige [1049]#18288. + [bdubbs] - Adicionar capítulos de Área de Trabalho e Aplicativos do LXQt. + [bdubbs] - Adicionar página do sddm (gerenciador de tela). + [bdubbs] - Adicionar páginas qt-alternate e qt-components do sddm. + [renodr] - Atualização para cheese-44.1. Corrige [1050]#18301. + [renodr] - Atualização para epiphany-44.5. Corrige [1051]#18263. + [renodr] - Atualização para intel-media-driver-23.3.0. Corrige [1052]#18299. + [renodr] - Atualização para intel-gmmlib-22.3.9. Corrige [1053]#18298. * 17 de julho de 2023 + [bdubbs] - Atualização para liblinear-247. Corrige [1054]#18281. + [bdubbs] - Atualização para libbytesize-2.9. Corrige [1055]#18259. + [bdubbs] - Atualização para libblockdev-3.0.1. Corrige [1056]#18256. + [bdubbs] - Atualização para gnupg-2.4.3. Corrige [1057]#18250. + [xry111] - Arquivar xf86-video-*. Corrige [1058]#18267. + [bdubbs] - Atualização para LMDB_0.9.31. Corrige [1059]#18290. + [bdubbs] - Atualização para qpdf-11.5.0. Corrige [1060]#18282. + [bdubbs] - Atualização para harfbuzz-8.0.1. Corrige [1061]#18278. + [bdubbs] - Atualização para xapian-core-1.4.23. Corrige [1062]#18270. + [bdubbs] - Atualização para exempi-2.6.4. Corrige [1063]#18269. * 15 de julho de 2023 + [xry111] - Atualização para rustc-1.71.0. Corrige [1064]#18297. * 12 de julho de 2023 + [timtas] - Atualização para thunderbird-115.0. Corrige [1065]#18275. + [pierre] - Atualização para mercurial-6.5. Corrige [1066]#18261. + [pierre] - Atualização para glib-2.76.4. Corrige [1067]#18291. + [pierre] - Atualização para sudo-1.9.14p1. Corrige [1068]#18289. + [pierre] - Atualização para graphviz-8.1.0. Corrige [1069]#18271. + [pierre] - Atualização para gpgme-1.21.0. Corrige [1070]#18268. + [pierre] - Atualização para pipewire-0.3.74. Corrige [1071]#18264. + [pierre] - Atualização para inih-57. Corrige [1072]#18260. + [ken] - Atualização para firefox-115.0.2esr (correção de segurança). Corrige [1073]#18276. * 11 de julho de 2023 + [renodr] - Atualização para libgudev-238. Corrige [1074]#18287. + [rahul] - Atualização para upower-1.90.2. Corrige [1075]#18251. + [pierre] - Atualização para qemu-8.0.3. Corrige [1076]#18277. + [rahul] - Atualização para libshumate-1.0.4. Corrige [1077]#18284. + [timtas] - Atualização para openldap-2.6.5. Corrige [1078]#18285. + [thomas] - Atualização para xterm-384. Corrige [1079]#18286. + [thomas] - Atualização para php-8.2.8. Corrige [1080]#18262. * 10 de julho de 2023 + [renodr] - Atualização para LWP-Protocol-https-6.11 (módulo Perl, atualização de segurança). Corrige [1081]#18283. + [renodr] - Atualização para Test-Differences-0.70 (módulo Perl). Corrige [1082]#18272. + [renodr] - Atualização para numpy-1.25.1 (módulo Python). Corrige [1083]#18279. + [renodr] - Atualização para lxml-4.9.3 (módulo Python). Corrige [1084]#18253. + [renodr] - Atualização para Cython-0.29.36 (módulo Python). Corrige [1085]#18252. * 9 de julho de 2023 + [pierre] - Atualização para mutter-44.3. Corrige [1086]#18274. + [pierre] - Atualização para gnome-shell-44.3. Corrige [1087]#18273. * 8 de julho de 2023 + [thomas] - Adicionar ISC-Kea DHCP Server 2.4.0 (e a dependência dele, log4cplus) o qual é o sucessor do ISC dhcpd. Corrige [1088]#18160. * 6 de julho de 2023 + [renodr] - Atualização para gnome-maps-44.3. Corrige [1089]#18239. + [renodr] - Atualização para evince-44.3. Corrige [1090]#18238. + [renodr] - Atualização para eog-44.3. Corrige [1091]#18237. + [renodr] - Atualização para gnome-user-docs-44.3. Corrige [1092]#18236. + [renodr] - Atualização para gvfs-1.50.5. Corrige [1093]#18235. + [renodr] - Atualização para evolution e evolution-data-server 3.48.4. Corrige [1094]#18232. + [renodr] - Atualização para epiphany-44.4. Corrige [1095]#18228. + [renodr] - Atualização para gnome-control-center-44.3. Corrige [1096]#18227. + [renodr] - Atualização para tepl-6.6.0. Corrige [1097]#18226. + [renodr] - Atualização para opencv-4.8.0. Corrige [1098]#18213. + [renodr] - Atualização para gstreamer e plugins 1.22.4 (atualização de segurança). Corrige [1099]#18190. + [renodr] - Atualização para jdk-20.0.1 (atualização de segurança). Corrige [1100]#18192. * 5 de julho de 2023 + [renodr] - Atualização para intel-media-driver-23.2.4. Corrige [1101]#18254. + [ken] - Atualização para ImageMagick-7.1.1-12 (correção de segurança). Corrige [1102]#18204. * 4 de julho de 2023 + [ken] - Atualização para JS-102.13.0 (correção de segurança). Corrige [1103]#18248. + [ken] - Atualização para firefox-115.0esr (correção de segurança). Corrige [1104]#18220. Por favor, leia esse tíquete ou as Observações de Editor(a) para informações relativas às dependências mínimas se atualizar-se sistemas mais antigos. + [timtas] - Atualização para xfce4-settings-4.18.3. Corrige [1105]#18249. + [renodr] - Corrigir construção do xfsprogs-6.3.0 com gettext-0.22. + [bdubbs] - Atualização para wayland-protocols-1.32. Corrige [1106]#18247. + [bdubbs] - Atualização para libqalculate-4.7.0. Corrige [1107]#18246. + [bdubbs] - Atualização para vala-0.56.9. Corrige [1108]#18245. + [bdubbs] - Atualização para poppler-23.07.0. Corrige [1109]#18244. + [bdubbs] - Atualização para libjpeg-turbo-3.0.0. Corrige [1110]#18243. * 3 de julho de 2023 + [bdubbs] - Atualização para taglib-1.13.1. Corrige [1111]#18234. + [bdubbs] - Atualização para SDL2-2.28.1. Corrige [1112]#18233. + [bdubbs] - Atualização para bluez-5.68. Corrige [1113]#18229. + [bdubbs] - Atualização para libuv-v1.46.0. Corrige [1114]#18225. + [bdubbs] - Atualização para libpaper-2.1.1. Corrige [1115]#18224. + [bdubbs] - Atualização para p11-kit-0.25.0. Corrige [1116]#18219. + [bdubbs] - Atualização para glib-networking-2.76.1. Corrige [1117]#18217. + [bdubbs] - Atualização para NetworkManager-1.42.8. Corrige [1118]#18215. * 1º de julho de 2023 + [xry111] - Atualização para librsvg-2.56.2. Corrige [1119]#18231. + [timtas] - Atualização para nss-3.91. Corrige [1120]#18218. * 30 de junho de 2023 + [bdubbs] - Atualização para udisks-2.10.0. Corrige [1121]#18214. + [bdubbs] - Atualização para libblockdev-3.0. Corrige [1122]#18216. + [bdubbs] - Adicionar libnvme-1.5 em suporte da libblockdev. * 29 de junho de 2023 + [bdubbs] - Atualização para libwebp-1.3.1. Corrige [1123]#18212. + [bdubbs] - Atualização para xterm-383. Corrige [1124]#18210. + [timtas] - Mencionar como construir samba sem dbus. + [timtas] - Atualização para sudo-1.9.14. Corrige [1125]#18209. * 27 de junho de 2023 + [renodr] - Corrigir construção de gexiv2 em sistemas i686. Corrige [1126]#18208. + [renodr] - Atualização do tarball systemd-units para 20230627. + [bdubbs] - Atualização para pipewire-0.3.72. Corrige [1127]#18207. * 26 de junho de 2023 + [bdubbs] - Atualização para gedit-45.0. Corrige [1128]#18202. + [bdubbs] - Atualização para tepl-6.5.1 em suporte de gedit. + [bdubbs] - Adicionar libgedit-gtksourceview em suporte de tepl e gedit. + [bdubbs] - Atualização para flac-1.4.3. Corrige [1129]#18201. + [bdubbs] - Atualização para mercurial-6.4.5. Corrige [1130]#18196. + [renodr] - Atualização para ghostscript-10.01.2. Corrige [1131]#18194. + [renodr] - Atualização para libpng-1.6.40. Corrige [1132]#18195. + [renodr] - Atualização para freetype-2.13.1. Corrige [1133]#18203. + [renodr] - Atualização para pytest-7.4.0 (módulo Python). Corrige [1134]#18200. + [rahul] - Atualização para gegl-0.4.46. Corrige [1135]#18206. * 25 de junho de 2023 + [renodr] - Corrigir construção do ncftp com GCC-13/clang-16. Corrige [1136]#18205. + [timtas] - Atualização para mesa-23.1.3. Corrige [1137]#18197. * 23 de junho de 2023 + [renodr] - Atualização para BIND-9.18.16 (atualização de segurança). Corrige [1138]#18193. + [renodr] - Atualização para node.js-18.16.1 (atualização de segurança). Corrige [1139]#18187. + [renodr] - Atualização para cups-2.4.6 (atualização de segurança). Corrige [1140]#18198. + [ken] - Remover dependência obsoleta opcional exiv2 do gegl-0.4.44. Corrige [1141]#18199. + [thomas] - Atualização para libburn-1.5.6, libisofs-1.5.6 e libisoburn-1.5.6. Corrige [1142]#18191. * 22 de junho de 2023 + [renodr] - Atualização para libksba-1.6.4. Corrige [1143]#18185. + [renodr] - Atualização para libassuan-2.5.6. Corrige [1144]#18184. + [renodr] - Atualização para libwww-perl-6.71 (módulo Perl). Corrige [1145]#18188. + [renodr] - Atualização para pycairo-1.24.0 (módulo Python). Corrige [1146]#18186. + [renodr] - Atualização para SDL2-2.28.0. Corrige [1147]#18172. * 19 de junho de 2023 + [renodr] - Atualização para evince-44.2. Corrige [1148]#18183. + [renodr] - Atualização para pyparsing-3.1.0 (módulo Python). Corrige [1149]#18182. + [renodr] - Atualização para NumPy-1.25.0 (módulo Python). Corrige [1150]#18181. + [bdubbs] - Atualização para btrfs-progs-v6.3.2. Corrige [1151]#18176. * 17 de junho de 2023 + [renodr] - Atualização para gnome-video-effects-0.6.0. Corrige [1152]#18171. + [renodr] - Atualização para tiff-4.5.1. Corrige [1153]#18170. + [renodr] - Corrigir CVE-2023-24805 em cups-filters. Corrige [1154]#18180. + [pierre] - Atualização para mupdf-1.22.2. Corrige [1155]#18178 + [pierre] - Atualização para xorgproto-2023.2. Corrige [1156]#18177 + [pierre] - Atualização para gjs-1.76.2. Corrige [1157]#18175 * 16 de junho de 2023 + [rahul] - Atualização para libX11 to 1.8.6 (atualização de segurança). Corrige [1158]#18174 * 15 de junho de 2023 + [renodr] - Atualização para Thunderbird-102.12.0 (atualização de segurança). Corrige [1159]#18036. + [renodr] - Atualização para WebKitGTK+-2.41.5 para corrigir problemas de oscilação da tela em GPUs da Intel. Corrige [1160]#18051. * 14 de junho de 2023 + [bdubbs] - Atualização para cups-2.4.5. Corrige [1161]#18169. + [bdubbs] - Atualização para icu4c-73_2. Corrige [1162]#18168. * 13 de junho de 2023 + [ken] - Atualização para asymptote-2.86. Corrige [1163]#18148. + [pierre] - Atualização para qt5-5.15.10. Corrige [1164]#18144. * 12 de junho de 2023 + [bdubbs] - Atualização para gjs-1.76.1. Corrige [1165]#18166. + [bdubbs] - Atualização para xkeyboard-config-2.39. Corrige [1166]#18165. + [bdubbs] - Atualização para pytest-7.3.2 (módulo Python). Corrige [1167]#18162. + [bdubbs] - Atualização para libreoffice-7.5.4.2. Corrige [1168]#18153. * 11 de junho de 2023 + [renodr] - Atualização para fuse-3.15.0. Corrige [1169]#18159. + [renodr] - Atualização para libadwaita-1.3.3. Corrige [1170]#18163. * 10 de junho de 2023 + [bdubbs] - Atualização para libgusb-0.4.6. Corrige [1171]#18155. + [bdubbs] - Atualização para mesa-23.1.2. Corrige [1172]#18154. + [bdubbs] - Atualização para cachecontrol-0.13.1. Corrige [1173]#18151. + [bdubbs] - Atualização para php-8.2.7. Corrige [1174]#18150. + [bdubbs] - Atualização para mercurial-6.4.4. Corrige [1175]#18149. + [bdubbs] - Atualização para nghttp2-1.54.0. Corrige [1176]#18147. + [thomas] - Adicionar um sed ao poppler para corrigir um problema de construção em sistemas de 32 bits. * 9 de junho de 2023 + [bdubbs] - Atualização para python3-3.11.4. Corrige [1177]#18145. + [bdubbs] - Atualização para dbus-1.14.8. Corrige [1178]#18141. + [renodr] - Atualização para intel-gmmlib-22.3.7. Corrige [1179]#18140. + [renodr] - Atualização para sendmail-8.17.2. Corrige [1180]#18131. + [renodr] - Atualização para gucharmap-15.0.4. Corrige [1181]#17815. + [renodr] - Atualização para gnome-weather-44.0. Corrige [1182]#17840. + [renodr] - Atualização para gnome-terminal-3.48.1. Corrige [1183]#17814. + [renodr] - Adicionar um remendo ao Desktop File Utils para manusear a tecla SingleMainWindow. Corrige [1184]#17925. + [renodr] - Atualização para gnome-system-monitor-44.0. Corrige [1185]#17813. + [renodr] - Atualização para gnome-maps-44.2. Corrige [1186]#17827. + [renodr] - Atualização para gnome-disk-utility-44.0. Corrige [1187]#17802. + [renodr] - Atualização para gnome-calculator-44.0. Corrige [1188]#17812. + [renodr] - Atualização para evolution-3.48.3. Corrige [1189]#17808. + [renodr] - Atualização para evolution-data-server-3.48.3. Corrige [1190]#17808. + [renodr] - Atualização para evince-44.1. Corrige [1191]#17826. + [renodr] - Atualização para eog-44.2. Corrige [1192]#17825. + [renodr] - Atualização para cheese-44.0.1. Corrige [1193]#17920. + [renodr] - Atualização para baobab-44.0. Corrige [1194]#17839. + [renodr] - Atualização para gdm-44.1. Corrige [1195]#18013. + [renodr] - Atualização para gnome-user-docs-44.1. Corrige [1196]#18158. + [renodr] - Atualização para gnome-session-44.0. Corrige [1197]#18157. + [renodr] - Atualização para gnome-shell-extensions-44.0. Corrige [1198]#17836. + [renodr] - Atualização para gnome-shell-44.2. Corrige [1199]#17836. + [renodr] - Atualização para mutter-44.2. Corrige [1200]#17835. + [renodr] - Atualização para gnome-control-center-44.2. Corrige [1201]#17811. + [renodr] - Atualização para gnome-settings-daemon-44.1. Corrige [1202]#17834. * 8 de junho de 2023 + [bdubbs] - Atualização para sphinx_rtd_theme-1.2.2. Corrige [1203]#18146. + [bdubbs] - Atualização para gtk-4.10.4. Corrige [1204]#18143. + [bdubbs] - Atualização para xwayland-23.1.2. Corrige [1205]#18142. + [bdubbs] - Atualização para krb5-1.21. Corrige [1206]#18139. + [bdubbs] - Atualização para poppler-23.06.0. Corrige [1207]#18137. + [bdubbs] - Atualização para xorgproto-2023.1. Corrige [1208]#18136. + [bdubbs] - Atualização para nss-3.90. Corrige [1209]#18135. + [bdubbs] - Atualização para icewm-3.4.0. Corrige [1210]#18134. + [bdubbs] - Atualização para bluefish-2.2.14. Corrige [1211]#18129. + [bdubbs] - Atualização para cups-2.4.4. Corrige [1212]#18125. + [timtas] - Atualização para nettle-3.9.1. Corrige [1213]#18119. + [thomas] - Atualização para postfix-3.8.1. Corrige [1214]#18138. * 7 de junho de 2023 + [bdubbs] - Atualização para librsvg-2.56.1. Corrige [1215]#18118. + [bdubbs] - Atualização para rustc-1.70.0. Corrige [1216]#18122. + [bdubbs] - Atualização para llvm-16.0.5. Corrige [1217]#18127. + [renodr] - Atualização para nautilus-44.2.1. Corrige [1218]#17810. + [renodr] - Atualização para gvfs-1.50.4. Corrige [1219]#17809. + [renodr] - Atualização para gnome-backgrounds-44.0. Corrige [1220]#17833. * 6 de junho de 2023 + [bdubbs] - Atualização para vte-0.70.2. Corrige [1221]#18124. + [bdubbs] - Atualização para ntp-4.2.8p17. Corrige [1222]#18123. + [bdubbs] - Atualização para tree-2.1.1. Corrige [1223]#18117. + [bdubbs] - Atualização para cachecontrol-0.13.0.tar.gz (módulo Python). Corrige [1224]#18115. + [bdubbs] - Atualização para unrar-6.2.8. Corrige [1225]#18114. + [ken] - Atualização para firefox-102.12.0 (atualização de segurança) e JS-102.12.0. Corrige [1226]#18110. * 5 de junho de 2023 + [bdubbs] - Atualização para serf-1.3.10. Corrige [1227]#18113. + [bdubbs] - Atualização para gnupg-2.4.2. Corrige [1228]#18106. + [bdubbs] - Atualização para gc-8.2.4. Corrige [1229]#18103. + [bdubbs] - Atualização para xfce4-pulseaudio-plugin-0.4.7. Corrige [1230]#18111. + [bdubbs] - Atualização para xfce4-session-4.18.3. Corrige [1231]#18100. + [renodr] - Atualização para intel-media-driver-23.2.3. Corrige [1232]#18064. * 4 de junho de 2023 + [bdubbs] - Atualização para xwd-1.0.9 (aplicativo do Xorg). Corrige [1233]#18133. + [bdubbs] - Atualização para xrdb-1.2.2 (aplicativo do Xorg). Corrige [1234]#18132. + [bdubbs] - Deletar a biblioteca obsoleta do Xorg libdmx. Corrige [1235]#18128. + [bdubbs] - Atualização para xtrans-1.5.0 (biblioteca do Xorg). Corrige [1236]#18128. + [bdubbs] - Atualização para libX11-1.8.5 (biblioteca do Xorg). Corrige [1237]#18112. + [bdubbs] - Atualização para MarkupSafe-2.1.3 (módulo Python). Corrige [1238]#18126. + [bdubbs] - Atualização para Net-DNS-1.39 (módulo Perl). Corrige [1239]#18120. + [bdubbs] - Atualização para xterm-382. Corrige [1240]#18107. + [bdubbs] - Atualização para curl-8.1.2. Corrige [1241]#18104. + [bdubbs] - Atualização para btrfs-progs-v6.3.1. Corrige [1242]#18101. * 2 de junho de 2023 + [timtas] - Atualização para git-2.41.0. Corrige [1243]#18121. * 1º de junho de 2023 + [timtas] - Atualização para qemu-8.0.2. Corrige [1244]#18102. + [renodr] - Atualização para tracker-miners-3.5.2. Corrige [1245]#17832. + [renodr] - Atualização para tracker-3.5.3. Corrige [1246]#17832. + [renodr] - Atualização para evolution-data-server-3.48.2. Corrige parcialmente [1247]#17808. + [renodr] - Atualização para libpeas-1.36.0. Corrige [1248]#17807. + [xry111] - Atualização para libssh2-1.11.0. Corrige [1249]#18105. * 31 de maio de 2023 + [timtas] - Atualização para xfce4-power-manager-4.18.2. Corrige [1250]#18108. + [timtas] - Atualização para samba-4.18.3. Corrige [1251]#18109. + [pierre] - Corrigir construção de gwenview e libkexiv2 em relação a exiv2-0.28. * 30 de maio de 2023 + [bdubbs] - Atualização para webkitgtk-2.40.2. Corrige [1252]#18099. * 29 de maio de 2023 + [pierre] - Atualização para at-spi2-core-2.48.3. Corrige [1253]#18098. + [pierre] - Atualização para xterm-381. Corrige [1254]#18097. + [pierre] - Atualização para gdb-13.2. Corrige [1255]#18096. + [pierre] - Atualização para epiphany-44.3. Corrige [1256]#18095. + [pierre] - Atualização para vala-0.56.8. Corrige [1257]#18094. + [bdubbs] - Atualização para vim-9.0.1503. Endereça [1258]#12241. * 28 de maio de 2023 + [bdubbs] - Atualização para glib-2.76.3. Corrige [1259]#18092. + [bdubbs] - Atualização para mesa-23.1.1. Corrige [1260]#18091. * 27 de maio de 2023 + [pierre] - Atualização para gexiv2-0.14.1 (com um remendo para exiv2-0.28). Corrige [1261]#18020. * 26 de maio de 2023 + [bdubbs] - Atualização para sdl12-compat-release-1.2.64. Corrige [1262]#18090. + [bdubbs] - Atualização para exiv2-0.28.0. Corrige [1263]#18093. + [bdubbs] - Atualização para Cython-0.29.35 (módulo Python). Corrige [1264]#18089. + [ken] - Atualização de como listar todas as opções de configuração para Firefox e Thunderbird. * 25 de maio de 2023 + [bdubbs] - Atualização para wireshark-4.0.6 (correção de segurança). Corrige [1265]#18088. * 24 de maio de 2023 + [renodr] - Atualização para grilo-0.3.16. Corrige [1266]#18035. + [renodr] - Atualização para gnome-online-accounts-3.48.0. Corrige [1267]#17806. + [renodr] - Atualização para gnome-desktop-44.0. Corrige [1268]#17831. + [renodr] - Atualização para gnome-autoar-0.4.4. Corrige [1269]#17805. + [bdubbs] - Atualização para sphinx_rtd_theme-1.2.1. Corrige [1270]#18087. + [bdubbs] - Atualização das dependências do sphinx do Python para sphinxcontrib-jquery-4.1, sphinxcontrib-applehelp-1.0.4 e sphinxcontrib-htmlhelp-2.0.1. + [pierre] - Atualização para requests-2.31.0 (módulo Python, atualização de segurança). Corrige [1271]#18084. + [pierre] - Atualização para enchant-2.5.0. Corrige [1272]#18082. + [pierre] - Atualização para xfsprogs-6.3.0. Corrige [1273]#18081. + [pierre] - Atualização para nmap-7.94. Corrige [1274]#18076. + [pierre] - Atualização para qpdf-11.4.0. Corrige [1275]#18075. + [bdubbs] - Atualização para highlight-4.6. Corrige [1276]#18086. * 23 de maio de 2023 + [bdubbs] - Atualização para curl-8.1.1. Corrige [1277]#18085. + [bdubbs] - Atualização para gtk+3-3.24.38. Corrige [1278]#18083. + [timtas] - Atualização para xfce4-panel-4.18.4. Corrige [1279]#18079. + [timtas] - Atualização para libxfce4ui-4.18.4. Corrige [1280]#18078. + [bdubbs] - Atualização para gstreamer-1.22.3 e gst-plugins. Corrige [1281]#18073. * 22 de maio de 2023 + [bdubbs] - Atualização para libuv-1.45.0. Corrige [1282]#18074. + [bdubbs] - Atualização para pycryptodome-3.18.0 (módulo Python). Corrige [1283]#18072. + [bdubbs] - Atualização para double-conversion-3.3.0. Corrige [1284]#18071. + [ken] - Atualização para c-ares-1.19.1 (correção de segurança). Corrige [1285]#18077. + [bdubbs] - Atualização para icewm-3.3.5. Corrige [1286]#18068. + [bdubbs] - Atualização para doxygen-1.9.7. Corrige [1287]#18068. + [ken] - módulos Perl - adicionar Test::Deep, Test::Requires e URI como dependências de teste para HTTP::CookieJar. Corrige [1288]#18080. * 21 de maio de 2023 + [bdubbs] - Atualização para cmake-3.26.4. Corrige [1289]#18067. + [bdubbs] - Atualização para libwacom-2.7.0. Corrige [1290]#18066. + [bdubbs] - Atualização para pipewire-0.3.71. Corrige [1291]#18065. + [bdubbs] - Atualização para bind e utilitários do bind 9.18.15. Corrige [1292]#18063. + [bdubbs] - Atualização para llvm-16.0.4. Corrige [1293]#18061. * 19 de maio de 2023 + [bdubbs] - Atualização para IO-Socket-SSL-2.083 (módulo Perl). Corrige [1294]#18062. + [bdubbs] - Atualização para dos2unix-7.5.0. Corrige [1295]#18060. + [bdubbs] - Atualização para asciidoctor-2.0.20. Corrige [1296]#18059. + [bdubbs] - Atualização para docutils-0.20.1 (módulo Python). Corrige [1297]#18057. + [bdubbs] - Atualização para libcap-2.69. Corrige [1298]#18054. + [bdubbs] - Atualização para fribidi-1.0.13. Corrige [1299]#18055. + [bdubbs] - Atualização para unrar-6.2.7. Corrige [1300]#18049. + [bdubbs] - Atualização para lua-5.4.6. Corrige [1301]#18048. + [bdubbs] - Atualização para setxkbmap-1.3.4 (aplicativo do Xorg). Corrige [1302]#18047. * 17 de maio de 2023 + [bdubbs] - Atualização para nettle-3.9. Corrige [1303]#18046. + [bdubbs] - Atualização para at-spi2-core-2.48.2. Corrige [1304]#18041. + [bdubbs] - Atualização para php-8.2.6. Corrige [1305]#18039. + [timtas] - Atualização para curl-8.1.0. Corrige [1306]#18058. + [xry111] - Atualização para sqlite-autoconf-3420000 (3.42.0). Corrige [1307]#18056. * 16 de maio de 2023 + [pierre] - Atualização para sphinx-7.0.1 (módulo Python). Corrige [1308]#18043. + [pierre] - Atualização para mupdf-1.22.1. Corrige [1309]#18038. + [pierre] - Atualização para docutils-0.20 (módulo Python). Corrige [1310]#18050. * 15 de maio de 2023 + [bdubbs] - Atualização para mesa-23.1.0. Corrige [1311]#18034. + [timtas] - Atualização para ristretto-0.13.1. Corrige [1312]#18045. * 14 de maio de 2023 + [bdubbs] - Atualização para plasma-5.27.5. Corrige [1313]#17685. + [bdubbs] - Atualização para kf5-gear-23.04.1 incluindo kate, kwave e falkon. Corrige [1314]#17741. + [bdubbs] - Atualização para kf5-5.106.0. Corrige [1315]#17778. + [xry111] - Atualização para llvm-16.0.3. Corrige [1316]#17861. * 13 de maio de 2023 + [pierre] - Adicionar HTTP::CookieJar-0.014 (dependência de módulo Perl) necessário para libwww-perl-6.70. + [pierre] - Atualização para Business::ISBN::Data-20230426.001 (dependência de módulo Perl) porque uma versão mais recente é necessária para Business::ISBN-3.008. Corrige [1317]#18044. * 12 de maio de 2023 + [ken] - Atualização para qtwebengine-5.15.14 (correções de segurança). Corrige [1318]#18024. + [timtas] - Atualização para postgresql-15.3. Corrige [1319]#18040. + [bdubbs] - Atualização para libaom-3.6.1. Corrige [1320]#18037. + [bdubbs] - Atualização para rpcsvc-proto-1.4.4. Corrige [1321]#18033. + [bdubbs] - Atualização para nghttp2-1.53.0. Corrige [1322]#18032. + [bdubbs] - Atualização para wget-1.21.4. Corrige [1323]#18031. * 11 de maio de 2023 + [bdubbs] - Atualização para xterm-380. Corrige [1324]#18030. + [bdubbs] - Atualização para Net-DNS-1.38 (módulo Perl). Corrige [1325]#18029. + [bdubbs] - Atualização para harfbuzz-7.3.0. Corrige [1326]#18028. * 9 de maio de 2023 + [timtas] - Atualização para Linux-PAM-1.5.3. Corrige [1327]#18025. + [ken] - Atualização para firefox-102.11.0 (com um sed para GCC-13) e JS-102.11.0 (ambos são correções de segurança). Corrige [1328]#18022. + [ken] - Usar um sed para corrigir falha do libvdpau-va-gl-0.4.0 ao construir a partir do fonte com GCC-13. Corrige [1329]#18027. + [ken] - Remendar fonte do texlive para uma correção de segurança. [1330]#18006. + [bdubbs] - Atualização para libxslt-1.1.38. Corrige [1331]#18026. * 8 de maio de 2023 + [ken] - Usar um sed para corrigir falha do pango-1.50.14 ao construir a partir do fonte com GCC-13. Corrige [1332]#18023. + [bdubbs] - Atualização para mlt-7.16.0. Corrige [1333]#18021. * 7 de maio de 2023 + [pierre] - Usar um sed para corrigir falha do QT5 ao construir a partir do fonte com GCC-13. Corrige [1334]#18019. + [bdubbs] - Atualização para libwww-perl-6.70 (módulo Perl). Corrige [1335]#18018. + [bdubbs] - Atualização para nss-3.89.1. Corrige [1336]#18017. + [bdubbs] - Atualização para graphviz-8.0.5. Corrige [1337]#18015. + [bdubbs] - Atualização para babl-0.1.106. Corrige [1338]#18014. + [bdubbs] - Atualização para mercurial-6.4.3. Corrige [1339]#18007. + [bdubbs] - Atualização para libreoffice-7.5.3.2. Corrige [1340]#18011. * 6 de maio de 2023 + [bdubbs] - Atualização para libevdev-1.13.1 (controlador do Xorg). Corrige [1341]#18010. + [bdubbs] - Atualização para libXi-1.8.1 (biblioteca do Xorg). Corrige [1342]#18009. + [timtas] - Atualização para intel-media-23.2.1. Corrige [1343]#18016. * 5 de maio de 2023 + [bdubbs] - Atualização para requests-2.30.0 (módulo Python). Corrige [1344]#18008. + [bdubbs] - Atualização para urllib3-2.0.2 (módulo Python). Exigido para requests-2.30.0. + [timtas] - Atualização para alsa-lib alsa-utils 1.2.9. Corrige [1345]#18012. + [timtas] - Atualização para xarchiver-0.5.4.21. Corrige [1346]#18005. * 4 de maio de 2023 + [bdubbs] - Atualização para icewm-3.3.4. Corrige [1347]#18004. * 3 de maio de 2023 + [bdubbs] - Atualização para imlib2-1.11.1. Corrige [1348]#18003. + [bdubbs] - Atualização para poppler-23.05.0. Corrige [1349]#18002. + [bdubbs] - Atualização para qca-2.3.6. Corrige [1350]#18001. + [bdubbs] - Atualização para pciutils-3.10.0. Corrige [1351]#18000. + [bdubbs] - Atualização para cpio-2.14. Corrige [1352]#17999. + [bdubbs] - Atualização para libsoup3-3.4.2. Corrige [1353]#17998. + [bdubbs] - Atualização para gspell-1.12.1. Corrige [1354]#17997. + [bdubbs] - Atualização para audacious e audacious-plugins 4.3.1. Corrige [1355]#17995. + [bdubbs] - Atualização para sphinx-7.0.0 (módulo Python). Corrige [1356]#17994. * 2 de maio de 2023 + [bdubbs] - Atualização para iso-codes-4.15.0. Corrige [1357]#17992. + [bdubbs] - Atualização para valgrind-3.21.0. Corrige [1358]#17990. + [bdubbs] - Atualização para gnupg-2.4.1. Corrige [1359]#17989. + [bdubbs] - Atualização para btrfs-progs-v6.3. Corrige [1360]#17988. * 1º de maio de 2023 + [bdubbs] - Atualização para gcc-13.1. Corrige [1361]#17983. * 30 de abril de 2023 + [timtas] - Atualização para thunar-4.18.6. Corrige [1362]#17996. * 29 de abril de 2023 + [timtas] - Atualização para thunar-4.18.5. Corrige [1363]#17991. * 28 de abril de 2023 + [bdubbs] - Atualização para xinput-1.6.4 (aplicativo do Xorg). Corrige [1364]#17987. + [bdubbs] - Atualização para xdpyinfo-1.3.4 (aplicativo do Xorg). Corrige [1365]#17986. + [timtas] - Atualização para git-2.40.1. Corrige [1366]#17980. * 27 de abril de 2023 + [ken] - em texlive (fonte) criar config.cache. Isso economiza um tempo significativo em uma construção paralela. + [renodr] - Atualização para xf86-video-ati-22.0.0 (controlador do Xorg). Corrige [1367]#17981. + [bdubbs] - Atualização para harfbuzz-7.2.0. Corrige [1368]#17984. + [bdubbs] - Atualização para requests-2.29.0 (módulo Python). Corrige [1369]#17985. + [bdubbs] - Atualização para sphinx-6.2.1 (módulo Python). Corrige [1370]#17982. * 24 de abril de 2023 + [timtas] - Atualização para thunderbird-102.10.1. Corrige [1371]#17979. + [bdubbs] - Atualização para glib-2.76.2. Corrige [1372]#17978. * 23 de abril de 2023 + [bdubbs] - Atualização para sphinx-6.2.0 (módulo Python). Corrige [1373]#17977. + [renodr] - Atualização para gsettings-desktop-schemas-44.0. Corrige [1374]#17830. + [renodr] - Atualização para vte-0.72.1. Corrige [1375]#17804. + [bdubbs] - Atualização para rustc-1.69.0. Corrige [1376]#17965. + [bdubbs] - Atualização para numpy-1.24.3 (módulo Python). Corrige [1377]#17974. + [renodr] - Atualização para libadwaita-1.3.2. Corrige [1378]#17976. + [renodr] - Atualização para gtk-4.10.3. Corrige [1379]#17975. + [renodr] - Atualização para NetworkManager-1.42.6. Corrige [1380]#17967. + [renodr] - Adicionar webp-pixbuf-loader em suporte do EOG. Corrige [1381]#17923. * 22 de abril de 2023 + [bdubbs] - Atualização para LVM2.2.03.21. Corrige [1382]#17973. + [bdubbs] - Atualização para libsoup-3.4.1. Corrige [1383]#17972. + [bdubbs] - Atualização para Data-Compare-1.29 (módulo Perl). Corrige [1384]#17971. + [bdubbs] - Atualização para gpgme-1.20.0. Corrige [1385]#17970. * 21 de abril de 2023 + [renodr] - Atualização para epiphany-44.2. Corrige [1386]#17816. + [renodr] - Atualização para WebKitGTK+-2.40.1 (atualização de segurança). Corrige [1387]#17801. + [bdubbs] - Atualização para pipewire-0.3.70. Corrige [1388]#17969. + [bdubbs] - Atualização para dhcpcd-10.0.1. Corrige [1389]#17966. + [timtas] - Atualização para mesa-23.0.3. Corrige [1390]#17968. + [bdubbs] - Atualização para python-dbusmock-0.29.0 (módulo Python). Corrige [1391]#17964. + [bdubbs] - Atualização para babl-0.1.104. Corrige [1392]#17963. * 20 de abril de 2023 + [bdubbs] - Atualização para qemu-8.0.0. Corrige [1393]#17962. + [bdubbs] - Atualização para bind9 e bind 9.18.14. Corrige [1394]#17961. + [bdubbs] - Atualização para nfs-utils-2.6.3. Corrige [1395]#17960. + [bdubbs] - Atualização para vala-0.56.7. Corrige [1396]#17959. + [renodr] - Adicionar libavif em suporte do WebKitGTK+. Corrige [1397]#17952. + [renodr] - Adicionar libaom em suporte do libavif. Corrige [1398]#17953. * 19 de abril de 2023 + [bdubbs] - Atualização para Pygments-2.15.1 (módulo Python). Corrige [1399]#17956. + [bdubbs] - Atualização para libqalculate-4.6.1. Corrige [1400]#17950. + [renodr] - Adicionar unifdef ao livro. Corrige [1401]#17924. + [renodr] - Atualização para gtksourceview5-5.8.0. Corrige [1402]#17817. + [renodr] - Atualização para libadwaita-1.3.1. Corrige [1403]#17818. + [renodr] - Atualização para sysprof-3.48.0. Corrige [1404]#17820. + [renodr] - Atualização para libsoup-3.4.0. Corrige [1405]#17821. + [renodr] - Atualização para gjs-1.76.0. Corrige [1406]#17824. + [renodr] - Atualização para pygobject-3.44.1 (módulo Python). Corrige [1407]#17841. + [renodr] - Atualização para at-spi2-core-2.48.0. Corrige [1408]#17842. + [renodr] - Atualização para intel-media-driver-23.2.0. Corrige [1409]#17957. + [renodr] - Atualização da pilha do gstreamer para 1.22.2. Inclui o pacote básico e todos os plugins. Corrige [1410]#17921. + [timtas] - Atualização para transmission-4.0.3. Corrige [1411]#17937. + [renodr] - Atualização para network-manager-applet-1.32.0. Corrige [1412]#17951. + [renodr] - Atualização para samba-4.18.2. Corrige [1413]#17958. * 18 de abril de 2023 + [pierre] - Remendar qtwebengine para ICU-73. Corrige [1414]#17941. + [bdubbs] - Atualização para libXpm-3.5.16 (biblioteca do Xorg). Corrige [1415]#17949. + [bdubbs] - Atualização para libXft-2.3.8 (biblioteca do Xorg). Corrige [1416]#17948. + [bdubbs] - Atualização para umockdev-0.17.17. Corrige [1417]#17945. + [bdubbs] - Atualização para apr-1.7.4. Corrige [1418]#17944. + [bdubbs] - Atualização para postfix-3.8.0. Corrige [1419]#17943. + [bdubbs] - Atualização para graphviz-8.0.3. Corrige [1420]#17942. + [timtas] - Atualização para tumbler-4.18.1. Corrige [1421]#17947. + [timtas] - Atualização para xfconf-4.18.1. Corrige [1422]#17946. * 17 de abril de 2023 + [bdubbs] - Atualização para php-8.2.5. Corrige [1423]#17935. + [bdubbs] - Atualização para mercurial-6.4.2. Corrige [1424]#17934. * 15 de abril de 2023 + [bdubbs] - Atualização para dhcpcd-10.0.0. Corrige [1425]#17940. + [bdubbs] - Atualização para boost-1.82.0. Corrige [1426]#17939. + [bdubbs] - Atualização para mupdf-1.22.0. Corrige [1427]#17938. + [bdubbs] - Atualização para node-18.16.0. Corrige [1428]#17928. + [bdubbs] - Atualização para libpaper-2.1.0. Corrige [1429]#17927. + [bdubbs] - Atualização para icu4c-73.1. Corrige [1430]#17926. + [bdubbs] - Atualização para tcsh-6.24.10. Corrige [1431]#17933. + [bdubbs] - Atualização para pipewire-0.3.69. Corrige [1432]#17932. + [bdubbs] - Atualização para pytest-7.3.1 (módulo Python). Corrige [1433]#17936. + [bdubbs] - Atualização para packaging-23.1 (módulo Python). Corrige [1434]#17929. * 14 de abril de 2023 + [bdubbs] - Atualização para Python-3.11.3. Corrige [1435]#17895. * 13 de abril de 2023 + [renodr] - Atualização para Wireshark-4.0.5 (atualização de segurança). Corrige [1436]#17930. + [renodr] - Atualização para libxml2-2.10.4 (atualização de segurança). Corrige [1437]#17922. + [renodr] - Atualização para Thunderbird-102.10.0 (atualização de segurança). Corrige [1438]#17931. * 11 de abril de 2023 + [ken] - Remover mtxrun --generate desnecessário do texlive. Corrige [1439]#17919. + [ken] - Atualização para firefox-102.10.0 e JS-102.10.0 (ambos são correções de segurança). Corrige [1440]#17913. + [ken] - Remendar libwebp-1.0.3 (correção de segurança). Corrige [1441]#17918. * 10 de abril de 2023 + [bdubbs] - Atualização para Pygments-2.15.0 (módulo Python). Corrige [1442]#17917. + [bdubbs] - Atualização para graphviz-8.0.2. Corrige [1443]#17916. + [bdubbs] - Atualização para tcsh-6.24.08. Corrige [1444]#17915. + [bdubbs] - Atualização para parted-3.6. Corrige [1445]#17914. * 10 de abril de 2023 + [renodr] - Atualização para intel-media-driver-23.1.6. Corrige [1446]#17912. + [bdubbs] - Atualização para xwininfo-1.1.6 (aplicativo do Xorg). Corrige [1447]#17911. + [bdubbs] - Atualização para libXfixes-6.0.1 (biblioteca do Xorg). Corrige [1448]#17910. + [bdubbs] - Atualização para libXt-1.3.0 (biblioteca do Xorg). Corrige [1449]#17909. + [bdubbs] - Atualização para icewm-3.3.3. Corrige [1450]#17908. + [pierre] - Atualização para Qt-5.15.9. Corrige [1451]#17900. + [renodr] - Atualização para xf86-input-wacom-1.2.0 (controlador do Xorg). Corrige [1452]#17897. + [renodr] - Atualização para vala-0.56.6. Corrige [1453]#17896. + [renodr] - Atualização para graphviz-8.0.1. Corrige [1454]#17885. + [renodr] - Atualização para wayland-1.22.0. Corrige [1455]#17892. + [renodr] – Corrigir vários defeitos e incompatibilidades com núcleos mais recentes no pm-utils. * 9 de abril de 2023 + [bdubbs] - Atualização para libgcrypt-1.10.2. Corrige [1456]#17903. + [bdubbs] - Atualização para mesa-23.0.2. Corrige [1457]#17906. + [bdubbs] - Atualização para libpcap-1.10.4. Corrige [1458]#17905. + [bdubbs] - Atualização para pytest-7.3.0 (módulo Python). Corrige [1459]#17907. * 8 de abril de 2023 + [renodr] - Atualização para libreoffice-7.5.2.2. Corrige [1460]#17883. + [renodr] - Atualização para libva-2.18.0. Corrige [1461]#17879. * 7 de abril de 2023 + [bdubbs] - Atualização para pipewire-0.3.68. Corrige [1462]#17902. + [timtas] - Atualização para httpd-2.4.57. Corrige [1463]#17899. + [bdubbs] - Atualização para libgpg-error-1.47. Corrige [1464]#17904. + [bdubbs] - Atualização para feh-3.10. Corrige [1465]#17901. + [renodr] - Atualização para Seamonkey-2.53.16 (atualização de segurança). Corrige [1466]#17884. + [bdubbs] - Mudar SDL-1.2 para sdl12-compat-release-1.2.60. Corrige [1467]#17898. * 6 de abril de 2023 + [renodr] - Atualização para ruby-3.2.2 (atualização de segurança). Corrige [1468]#17887. + [pierre] - Atualização para accountsservice-23.13.9. Corrige [1469]#17789. + [bdubbs] - Atualização para SDL2-2.26.5. Corrige [1470]#17894. + [bdubbs] - Atualização para xf86-input-libinput-1.3.0 (controlador do Xorg). Corrige [1471]#17893. + [pierre] - Remendar firefox para ffmpeg-6.0 * 4 de abril de 2023 + [bdubbs] - Atualização para poppler-23.04.0. Corrige [1472]#17890. + [bdubbs] - Atualização para cracklib-2.9.11. Corrige [1473]#17889. + [bdubbs] - Atualização para cmake-3.26.3. Corrige [1474]#17886. * 3 de abril de 2023 + [bdubbs] - Atualização para Cython-0.29.34 (módulo Python). Corrige [1475]#17891. + [bdubbs] - Atualização para libatomic_ops-7.8.0. Corrige [1476]#17876. + [bdubbs] - Atualização para libcap-2.68. Corrige [1477]#17865. + [bdubbs] - Atualização para libbytesize-2.8. Corrige [1478]#17854. + [renodr] - Atualização para intel-media-driver-23.1.5. Corrige [1479]#17878. + [bdubbs] - Atualização para sqlite-autoconf-3410200 (3.41.2). Corrige [1480]#17849. + [bdubbs] - Atualização para Business-ISBN-3.008 (módulo Perl). Corrige [1481]#17855. + [bdubbs] - Atualização para SCons-4.5.2. Corrige [1482]#17848. + [bdubbs] - Atualização para links-2.29. Corrige [1483]#17847. + [renodr] - Corrigir construção do Thunderbird com rustc-1.68.x. * 2 de abril de 2023 + [bdubbs] - Atualização para wpebackend-fdo-1.14.2. Corrige [1484]#17846. + [bdubbs] - Atualização para adwaita-icon-theme-44.0. Corrige [1485]#17838. + [bdubbs] - Atualização para mpg123-1.31.3. Corrige [1486]#17828. + [pierre] - Atualização para xwayland-23.1.1 (atualização de segurança). Corrige [1487]#17850. + [ken] - Atualização para mutt-2.2.10. Corrige [1488]#17863. + [ken] - Atualização para biber-2.19. Corrige [1489]#17757. + [ken] - Atualização para dvisvgm-3.0.4. Corrige [1490]#17775. + [ken] - Adicionar uma solução alternativa para suportar o ConText (mkiv) no texlive-2023. Endereça [1491]#17843. + [ken] - Atualização para texlive-2023 e install-tl-unx de 2023. Corrige [1492]#17823. + [ken] - Mover a criação do link simbólico para libkpathsea da pré-configuração no dvisvgm para o final do texlive (desde o fonte), de forma que um evince existente vinculado ao texlive do ano anterior tenha a chance de funcionar. * 1º de abril de 2023 + [pierre] - Remover flit_core das dependências do Python; ele agora está no LFS. + [bdubbs] - Atualização para gpgme-1.19.0. Corrige [1493]#17803. + [bdubbs] - Atualização para glib-networking-2.76.0. Corrige [1494]#17800. + [bdubbs] - Atualização para php-8.2.4. Corrige [1495]#17798. + [bdubbs] - Atualização para gtk-4.10.1. Corrige [1496]#17792. + [timtas] - Atualização para apr-1.7.3. Corrige [1497]#17888. * 31 de março de 2023 + [pierre] - Atualização para glib-2.76.1. Corrige [1498]#17779. * 30 de março de 2023 + [renodr] - Atualização para rustc-1.68.2. Corrige [1499]#17877. + [renodr] - Atualização para Thunderbird-102.9.1 (atualização de segurança). Corrige [1500]#17880. + [renodr] - Atualização para xorg-server-21.1.8 (atualização de segurança). Corrige [1501]#17882. + [renodr] - Atualização para xfce4-pulseaudio-plugins-0.4.6. Corrige [1502]#17875. + [renodr] - Atualização para vala-0.56.5. Corrige [1503]#17868. + [renodr] - Atualização para gegl-0.4.44. Corrige [1504]#17867. + [renodr] - Atualização para fuse-3.14.1. Corrige [1505]#17866. + [renodr] - Atualização para gobject-introspection-1.76.1. Corrige [1506]#17853. + [renodr] - Atualização para Samba-4.18.1 (atualização de segurança). Corrige [1507]#17881. + [renodr] - Atualização para gimp-2.10.34 e o novo gimp-help associado que foi lançado junto com ele. Corrige [1508]#17776. + [renodr] - Atualização para NetworkManager-1.42.4. Corrige [1509]#17771. + [timtas] - Realmente corrigir o webclient do transmission-4.0.2. + [timtas] - Atualização para transmission-4.0.2. Corrige [1510]#17795. + [pierre] - Atualização para libinput-1.23.0. Corrige [1511]#17869. + [pierre] - Atualização para btrfs-progs-6.2.2. Corrige [1512]#17862. + [pierre] - Atualização para xfsprogs-6.2.0. Corrige [1513]#17858. + [pierre] - Atualização para ghostscript-10.01.1 (atualização de segurança). Corrige [1514]#17851. + [pierre] - Atualização para xwayland-23.1.0. Corrige [1515]#17850. + [pierre] - Atualização para lvm2-2.03.19. Corrige [1516]#17844. + [pierre] - Atualização para mesa-23.0.1. Corrige [1517]#17740. * 28 de março de 2023 + [ken] - A versão binária do asy tem sido compilada em relação à libGLX desde 2020 - contorne isso caso alguém deseje usá-la no futuro. Endereça parcialmente [1518]#17823. * 27 de março de 2023 + [timtas] - Atualização para libxfce4ui-4.18.3. Corrige [1519]#17872. + [timtas] - Atualização para garcon-4.18.1. Corrige [1520]#17873. + [timtas] - Atualização para xfce4-panel-4.18.3. Corrige [1521]#17874. + [timtas] - Atualização para xfce4-session-4.18.2. Corrige [1522]#17871. + [renodr] - Atualização para curl-8.0.1 (atualização de segurança). Corrige [1523]#17829. * 26 de março de 2023 + [renodr] - Atualização para mercurial-6.4. Corrige [1524]#17857. + [renodr] - Atualização para librsvg-2.56.0. Corrige [1525]#17819. + [renodr] - Atualização para rust-1.68.1. Corrige [1526]#17860. + [renodr] - Atualização para Thunderbird-102.9.0 (atualização de segurança). Corrige [1527]#17794. + [renodr] - Corrigir travamentos no gdb ao depurar aplicativos rust. Corrige [1528]#17864. * 25 de março de 2023 + [renodr] - Reverter para LLVM-15. Ainda deixa modificações de página para LLVM-16, apenas comentadas para facilitar a atualização de volta para LLVM-16. A reversão se deve a defeitos do LLVM que levam a erros de compilação no Thunderbird e no Firefox. Corrige [1529]#17859. * 24 de março de 2023 + [thomas] - Atualização para cmake-3.26.1. Corrige [1530]#17856. * 23 de março de 2023 + [renodr] - Corrigir construção do Seamonkey com LLVM-16. Corrige [1531]#17852. + [renodr] - Atualização para intel-media-driver-23.1.4. Corrige [1532]#17768. + [renodr] - Atualização para intel-gmmlib-22.3.5. Corrige [1533]#17845. * 19 de março de 2023 + [renodr] - Corrigir construção do Firefox com LLVM-16. + [thomas] - Atualização para bind-9.18.13, bind-utils-9.18.13. Corrige [1534]#17790. + [xry111] - Atualização para rustc-1.68.0. Corrige [1535]#17822. + [xry111] - Atualização para llvm-16.0.0. Corrige [1536]#17799. * 17 de março de 2023 + [bdubbs] - Atualização para openssh-9.3p1. Corrige [1537]#17796. + [bdubbs] - Atualização para Business-ISMN-1.203 (módulo Perl). Corrige [1538]#17797. + [bdubbs] - Atualização para kImageAnnotator-0.6.1. Corrige [1539]#17793. + [bdubbs] - Atualização para libXaw-1.0.15 (biblioteca Xorg). Corrige [1540]#17791. + [bdubbs] - Atualização para highlight-4.5. Corrige [1541]#17788. + [bdubbs] - Atualização para gobject-introspection-1.76.0. Corrige [1542]#17787. + [bdubbs] - Atualização para cracklib-2.9.10. Corrige [1543]#17748. * 16 de março de 2023 + [bdubbs] - Atualização para cmake-3.26.0. Corrige [1544]#17785. + [bdubbs] - Atualização para git-2.40.0. Corrige [1545]#17783. + [bdubbs] - Atualização para icewm-3.3.2. Corrige [1546]#17784. + [bdubbs] - Atualização para Data-Compare-1.28 (módulo Perl). Corrige [1547]#17786. + [bdubbs] - Atualização para Net-DNS-1.37 (módulo Perl). Corrige [1548]#17782. + [bdubbs] - Atualização para imlib2-1.11.0. Corrige [1549]#17777. + [bdubbs] - Atualização para pipewire-0.3.67. Corrige [1550]#17772. * 14 de março de 2023 + [ken] - Atualização para firefox-102.9.0esr e JS-102.9.0esr (ambos contém correções de segurança). Corrige [1551]#17781. + [thomas] - Atualização para sqlite-3.41.1. Corrige [1552]#17774. * 13 de março de 2023 + [timtas] - Atualização para samba-4.18.0. Corrige [1553]#17767. * 12 de março de 2023 + [ken] - Atualização para nss-3.89. Corrige [1554]#17773. * 9 de março de 2023 + [ken] - Atualização para qtwebengine-5.15.13 (atualização de segurança). Corrige [1555]#17769. + [bdubbs] - Atualização para libpaper-2.0.10. Corrige [1556]#17770. + [bdubbs] - Atualização para cmake-3.25.3. Corrige [1557]#17766. * 8 de março de 2023 + [bdubbs] - Atualização para node-18.15.0. Corrige [1558]#17765. + [pierre] - Atualização para btrfs-progs-6.2.1. Corrige [1559]#17734. + [thomas] - Adicionar um remendo para corrigir sequência de caracteres de versão do gcc-go (parte do gcc-12.2.0). * 7 de março de 2023 + [renodr] - Atualização para SCons-4.5.1. Corrige [1560]#17752. + [renodr] - Atualização para httpd-2.4.56 (atualização de segurança). Corrige [1561]#17764. + [bdubbs] - Atualização para mlt-7.14.0. Corrige [1562]#17760. + [bdubbs] - Atualização para libqalculate-4.6.0. Corrige [1563]#17763. + [bdubbs] - Atualização para SDL2-2.26.4. Corrige [1564]#17761. + [bdubbs] - Atualização para gcr4-4.1.0. Corrige [1565]#17758. + [bdubbs] - Remover uso do ffmpeg externo do mplayer. Corrige [1566]#17751. + [thomas] - Atualização para sudo-1.9.13p3. Corrige [1567]#17762. + [thomas] - Atualização para tigervnc-1.13.1. Corrige [1568]#17759. * 6 de março de 2023 + [xry111] - Atualização para systemd-253. Corrige [1569]#17659. + [bdubbs] - Atualização para gstreamer-1.22.1 e plugins. Corrige [1570]#17747. + [renodr] - Atualização para libhandy-1.8.2. Corrige [1571]#17755. + [renodr] - Atualização para libadwaita-1.2.3. Corrige [1572]#17754. + [renodr] - Atualização para SCons-4.5.0. Corrige [1573]#17752. + [renodr] - Atualização para xfburn-0.7.0. Corrige [1574]#17446. + [bdubbs] - Atualização para audacious-4.3 e audacious-plugins-4.3. Corrige [1575]#17756. + [bdubbs] - Atualização para gtk-4.10.0. Corrige [1576]#17753. + [bdubbs] - Atualização para stunnel-5.69. Corrige [1577]#17749. * 5 de março de 2023 + [bdubbs] - Atualização para wpebackend-fdo-1.14.1. Corrige [1578]#17750. + [bdubbs] - Atualização para pango-1.50.14. Corrige [1579]#17745. + [bdubbs] - Atualização para gtk+-3.24.37. Corrige [1580]#17744. + [bdubbs] - Atualização para pytest-7.2.2 (módulo Python). Corrige [1581]#17743. + [bdubbs] - Atualização para mercurial-6.3.3. Corrige [1582]#17738. + [bdubbs] - Atualização para harfbuzz-7.1.0. Corrige [1583]#17737. * 4 de março de 2023 + [bdubbs] - Atualização para libreoffice-7.5.1.2. Corrige [1584]#17742. * 3 de março de 2023 + [bdubbs] - Atualização para ffmpeg-6.0. Corrige [1585]#17729. + [bdubbs] - Atualização para raptor2-2.0.16. Corrige [1586]#17736. + [bdubbs] - Atualização para poppler-23.03.0. Corrige [1587]#17735. + [bdubbs] - Atualização para qpdf-11.3.0. Corrige [1588]#17710. + [bdubbs] - Atualização para node.js-18.14.2. Corrige [1589]#17694. + [bdubbs] - Atualização para LVM2.2.03.19. Corrige [1590]#17693. + [thomas] - Atualização para wireshark-4.0.4. Corrige [1591]#17739. + [timtas] - Atualização para v4l-utils-1.24.1. Corrige [1592]#17705. * 2 de março de 2023 + [timtas] - Atualização para xfce4-notifyd-0.8.2. Corrige [1593]#17732. + [timtas] - Atualização para v4l-utils-1.24.0. Corrige [1594]#17705. + [timtas] - Atualização para libnotify-0.8.2. Corrige [1595]#17678. + [bdubbs] - Atualização para sudo-1.9.13p2. Corrige [1596]#17727. + [bdubbs] - Atualização para pango-1.50.13. Corrige [1597]#17688. + [bdubbs] - Atualização para ibus-1.5.28. Corrige [1598]#17686. + [bdubbs] - Atualização para gegl-0.4.42. Corrige [1599]#17682. + [bdubbs] - Atualização para babl-0.1.102. Corrige [1600]#17681. + [bdubbs] - Atualização para enchant-2.3.4. Corrige [1601]#17680. + [bdubbs] - Atualização para liblinear-246. Corrige [1602]#17676. + [renodr] - Atualização para glib-2.74.6. Corrige [1603]#17709. + [renodr] - Atualização para fetchmail-6.4.37. Corrige [1604]#17711. + [renodr] - Atualização para libass-0.17.1. Corrige [1605]#17712. + [renodr] - Atualização para bubblewrap-0.8.0. Corrige [1606]#17730. + [renodr] - Atualização para iso-codes-4.13.0. Corrige [1607]#17731. + [renodr] - Atualização para fuse-3.14.0. Corrige [1608]#17675. + [renodr] - Atualização para NetworkManager-1.42.2. Corrige [1609]#17703. + [renodr] - Atualização para gjs-1.74.2. Corrige [1610]#17704. + [renodr] - Atualização para bluefish-2.2.13. Corrige [1611]#17706. + [renodr] - Atualização para font-adobe-utopia-type1-1.0.5 (fonte do Xorg). Corrige [1612]#17715. + [renodr] - Atualização para font-alias-1.0.5 (fonte do Xorg). Corrige [1613]#17716. + [renodr] - Atualização para encodings-1.0.7 (fonte do Xorg). Corrige [1614]#17717. + [renodr] - Atualização para font-bh-ttf-1.0.4 (fonte do Xorg). Corrige [1615]#17718. + [renodr] - Atualização para font-bh-type1-1.0.4 (fonte do Xorg). Corrige [1616]#17719. + [renodr] - Atualização para font-ibm-type1-1.0.4 (fonte do Xorg). Corrige [1617]#17720. + [renodr] - Atualização para font-misc-ethiopic-1.0.5 (fonte do Xorg). Corrige [1618]#17725. + [renodr] - Atualização para font-xfree86-type1-1.0.5 (fonte do Xorg). Corrige [1619]#17726. + [renodr] - Atualização para bdftopcf-1.1.1 (legado do Xorg). Corrige [1620]#17708. + [renodr] - Atualização para font-adobe-100dpi-1.0.4 (legado do Xorg). Corrige [1621]#17713. + [renodr] - Atualização para font-adobe-75dpi-1.0.4 (legado do Xorg). Corrige [1622]#17714. + [renodr] - Atualização para font-isas-misc-1.0.4 (legado do Xorg). Corrige [1623]#17721. + [renodr] - Atualização para font-jis-misc-1.0.4 (legado do Xorg). Corrige [1624]#17722. + [renodr] - Atualização para font-daewoo-misc-1.0.4 (legado do Xorg). Corrige [1625]#17723. + [renodr] - Atualização para font-misc-misc-1.1.3 (legado do Xorg). Corrige [1626]#17724. + [renodr] - Atualização para xbitmaps-1.1.3. Corrige [1627]#17702. + [renodr] - Atualização para xcursor-themes-1.0.7. Corrige [1628]#17701. + [renodr] - Atualização para harfbuzz-7.0.1. Corrige [1629]#17683. + [renodr] - Atualização para libwww-perl-6.68 (módulo Perl). Corrige [1630]#17728. + [renodr] - Arquivar libdiscird. Corrige [1631]#17733. + [renodr] - Atualização para HTTP-Daemon-6.16 (módulo Perl). Corrige [1632]#17707. + [timtas] - Atualização para mesa-22.3.6. Corrige [1633]#17697. + [thomas] - Atualização para sqlite-3.41.0. Corrige [1634]#17687. * 1º março 2023 + [xry111] - Separar o intel-vaapi-driver da libva na própria seção dele e esclarecer que ele é usado para GPUs "antigas" da Intel. + [bdubbs] - Lançamento do BLFS-11.3. Listas de Discussão O servidor linuxfromscratch.org está hospedando um número de listas de discussão que são usadas para o desenvolvimento do livro BLFS. Essas listas incluem, entre outras, as listas principais de desenvolvimento e de suporte. Para mais informação acerca de quais listas estão disponíveis, como assiná-las, locais de arquivamento, etc., visite [1635]https://www.linuxfromscratch.org/mail.html. Observações do(a) Editor(a) O Projeto BLFS criou um Wiki para editores(as) comentarem acerca das páginas e das instruções em [1636]https://wiki.linuxfromscratch.org/blfs/wiki. Quando observações do(a) editor(a) estiverem presentes, um link aparece no formato https://wiki.linuxfromscratch.org/blfs/wiki/pkgname logo abaixo da lista de dependências. A ideia por trás das observações do(a) editor(a) é a de fornecer informações adicionais acerca do pacote e (ou) das instruções de construção dele, armadilhas comuns ou talvez configurações ainda mais sofisticadas para casos especiais de uso. A maioria dos pacotes não tem observações do(a) editor(a). Nota As observações do(a) editor(a) podem estar desatualizadas. Mesmo que as páginas devam ser revisadas quando um pacote é atualizado, pode acontecer que existam observações referentes a uma versão obsoleta e, portanto, as observações possam estar desatualizadas. Verifique sempre a data das observações e, mais importante, a versão do pacote a que as observações se referem. Pedindo Ajuda e as Perguntas Frequentes Se você encontrar um problema enquanto usar este livro e o seu problema não estiver listado nas Perguntas Frequentes ([1637]https://www.linuxfromscratch.org/faq), [então] você achará que a maioria das pessoas no Internet Relay Chat (IRC) e nas listas de discussão está disposta a ajudar você. Uma visão geral das listas de discussão do LFS pode ser encontrada em [1638]Listas de discussão. Para nos auxiliar a diagnosticar e solucionar o seu problema, inclua tanta informação relevante quanto for possível na sua solicitação por ajuda. Coisas a Verificar Antes do Pedido Antes de pedir ajuda, você deveria rever os seguintes itens: * O suporte ao hardware está compilado internamente ao núcleo ou está disponível como um módulo para o núcleo? Se for um módulo, [então] está configurado adequadamente no modprobe.conf e foi carregado? Você deveria usar o lsmod como o(a) usuário(a) root para ver se está carregado. Verifique o arquivo sys.log ou execute modprobe para rever qualquer mensagem de erro. Se carregar adequadamente, [então] você possivelmente precise adicionar o comando modprobe aos seus scripts de inicialização. * As suas permissões estão adequadamente configuradas, especialmente para dispositivos? O LFS usa grupos para tornar mais fáceis essas configurações, porém também adiciona o passo de adicionar usuários(as) a grupos para permitir o acesso. Um simples usermod -G audio possivelmente seja tudo o que é necessário para que esse(a) usuário(a) tenha acesso ao sistema de som. Qualquer pergunta que inicie com “Funciona como root, porém não como ...” exige uma revisão minuciosa das permissões antes de perguntar. * O BLFS usa generosamente /opt/. A objeção principal a isso gira em torno da necessidade de expandir as suas variáveis de ambiente para cada pacote colocado lá (por exemplo, PATH=$PATH:/opt/kde/bin). Na maioria dos casos, as instruções do pacote guiarão você ao longo das mudanças, porém algumas não guiarão. A seção chamada “[1639]Indo Além do BLFS” está disponível para ajudar você a verificar. Coisas a Mencionar Além de uma breve explicação do problema que você está enfrentando, as coisas essenciais a se incluir na sua solicitação são: * a versão do livro que você está usando (sendo 12.0), * o pacote ou seção dando problemas para você, * a mensagem de erro exata ou sintoma que você está recebendo, * se você se desviou do livro ou do LFS de alguma forma, * se você está instalando um pacote do BLFS em um sistema que não é o LFS. (Observe que dizer que você se desviou do livro não significa que nós não te ajudaríamos. Apenas nos ajudará a ver outras causas possíveis do seu problema). Espere por orientação em vez de instruções específicas. Se você for instruído(a) a ler alguma coisa, [então], por favor, faça isso. Geralmente implica que a resposta era óbvia demais e que a pergunta não teria sido feita se um pouco de pesquisa fosse feita antes de perguntar. Os(As) voluntários(as) na lista de discussão preferem não serem usados(as) como uma alternativa a fazer uma pesquisa razoável de sua parte. Adicionalmente, a qualidade da sua experiência com o BLFS também é grandemente melhorada por essa pesquisa e a qualidade dos(as) voluntários(as) é melhorada, pois eles(as) não sentem que o tempo deles(as) foi desperdiçado, de forma que é muito mais provável que eles(as) participem. Um artigo excelente acerca de como pedir ajuda na Internet em geral foi escrito por Eric S. Raymond. Ele está disponível online em [1640]http://www.catb.org/~esr/faqs/smart-questions.html. Leia e siga as dicas naquele documento e é muito mais provável que você obtenha uma resposta inicial e também obtenha a ajuda que você precisa realmente. Créditos Muitas pessoas tem contribuído, direta e indiretamente, para o BLFS. Esta página lista todos(as) os(as) que podemos imaginar. Nós possivelmente tenhamos deixado pessoas fora e, se você sente que esse é o caso, [então] envie-nos uma mensagem. Muito obrigado a todos(as) da comunidade do LFS pela ajuda com este projeto. Editores(as) Atuais * Bruce Dubbs * Pierre Labastie * DJ Lucas * Ken Moffat * Douglas Reno Colaboradores(as) e Antigos(as) Editores(as) A lista dos(as) colaboradores(as) é ampla demais para fornecer informação detalhada acerca das contribuições para cada colaborador(a). Ao longo dos anos, os seguintes indivíduos forneceram contribuições significantes para o livro: * Timothy Bauscher * Daniel Bauman * Jeff Bauman * Andy Benton * Wayne Blaszczyk * Paul Campbell * Nathan Coulson * Jeroen Coumans * Guy Dalziel * Robert Daniels * Richard Downing * Manuel Canales Esparcia * Jim Gifford * Manfred Glombowski * Ag Hatzimanikas * Mark Hymers * James Iwanek * David Jensen * Jeremy Jones * Seth Klein * Alex Kloss * Eric Konopka * Larry Lawrence * Chris Lynn * Andrew McMurry * Randy McMurchy * Denis Mugnier * Billy O'Connor * Fernando de Oliveira * Alexander Patrakov * Olivier Peres * Andreas Pedersen * Henning Rohde * Matt Rogers * James Robertson * Henning Rohde * Chris Staub * Jesse Tie-Ten-Quee * Ragnar Thomsen * Thomas Trepl * Tushar Teredesai * Jeremy Utley * Zack Winkles * Christian Wurst * Igor Živković Reconhecimentos Gerais * Fernando Arbeiza * Miguel Bazdresch * Gerard Beekmans * Oliver Brakmann * Jeremy Byron * Ian Chilton * David Ciecierski * Jim Harris * Lee Harris * Marc Heerdink * Steffen Knollmann * Eric Konopka * Scot McPherson * Ted Riley Informação de Contato Por favor, direcione as suas mensagens de correio eletrônico para uma das listas de discussão do BLFS. Veja-se [1641]Listas de discussão para mais informação acerca das listas de discussão disponíveis. Capítulo 2. Informação Importante Este capítulo é usado para explicar algumas das políticas usadas ao longo do livro; para apresentar conceitos importantes; e para explicar alguns problemas que você possivelmente veja com alguns dos pacotes inclusos. Observações Acerca de Construir Software Aquelas pessoas que tenham construído um sistema LFS possivelmente estejam cientes dos princípios gerais da transferência e do desempacotamento de software. Alguma daquela informação está repetida aqui para aquelas novatas em construir o próprio software delas. Cada conjunto de instruções de instalação contém um URL a partir do qual você pode transferir o pacote. Os remendos, no entanto, estão armazenados nos servidores do LFS e estão disponíveis via HTTP. Esses estão referenciados conforme necessários nas instruções de instalação. Embora possa manter os arquivos do fonte onde quiser, presumimos que você desempacotou o pacote e mudou para o diretório criado pelo processo de desempacotamento (o diretório do fonte). Também presumimos que você descomprimiu quaisquer remendos exigidos e que eles estão no diretório imediatamente acima do diretório do fonte. Nós não podemos enfatizar fortemente o suficiente que você deveria iniciar a partir de uma árvore limpa do fonte a cada vez. Isso significa que, se você tiver tido um erro durante a configuração ou a compilação, [então] geralmente é melhor deletar a árvore do fonte e desempacotá-la outra vez antes de tentar novamente. Isso, obviamente, não se aplica se você for um(a) usuário(a) avançado(a) habituado(a) a hackear Makefiles e código C; porém, se em dúvida, [então] inicie a partir de uma árvore limpa. Construindo Software como um(a) Usuário(a) Não Privilegiado(a) (não root) A regra de ouro da Administração do Sistema Unix é a de usar os seus super poderes somente quando necessário. Assim, o BLFS recomenda que você construa software como um(a) usuário(a) não privilegiado(a) e somente se torne o(a) usuário(a) root quando instalar o software. Essa filosofia é seguida em todos os pacotes neste livro. A menos que especificado de outra maneira, todas as instruções deveriam ser executadas como um(a) usuário(a) não privilegiado(a). O livro alertará você acerca de instruções que precisarem de privilégios do(a) root. Desempacotando o Software Se um arquivo estiver no formato .tar e comprimido, [então] ele é desempacotado executando-se um dos seguintes comandos: tar -xvf nome_arquivo.tar.gz tar -xvf nome_arquivo.tgz tar -xvf nome_arquivo.tar.Z tar -xvf nome_arquivo.tar.bz2 Nota Você possivelmente omita o uso do parâmetro v nos comandos mostrados acima e abaixo se você desejar suprimir a listagem verbosa de todos os arquivos no arquivamento conforme eles forem extraídos. Isso pode ajudar a acelerar a extração, bem como torna quaisquer erros produzidos durante a extração mais óbvios para você. Você também pode usar um método ligeiramente diferente: bzcat nome_arquivo.tar.bz2 | tar -xv Finalmente, ocasionalmente, temos um arquivo de remendo comprimido no formato .patch.gz ou .patch.bz2. A melhor maneira de aplicar o remendo é a de canalizar a saída gerada do descompressor para o utilitário patch. Por exemplo: gzip -cd ../patchname.patch.gz | patch -p1 Ou para um remendo comprimido com bzip2: bzcat ../nome_remendo.patch.bz2 | patch -p1 Averiguando a Integridade do Arquivo Geralmente, para se averiguar se o arquivo transferido está completo, muitos(as) mantenedores(as) de pacote também distribuem somas de verificação md5 dos arquivos. Para averiguar a soma de verificação md5 dos arquivos transferidos, transfira ambos, o arquivo e o arquivo correspondente de soma de verificação md5, para o mesmo diretório (preferencialmente a partir de locais diferentes online) e (assumindo que arquivo.md5sum seja o arquivo de soma de verificação md5 transferido) execute o seguinte comando: md5sum -c arquivo.md5sum Se existirem quaisquer erros, [então] eles serão informados. Observe que o livro BLFS inclui somas de verificação md5 para todos os arquivos de fonte também. Para usar as somas de verificação md5 fornecidas pelo BLFS, você pode criar um arquivo.md5sum (coloque os dados da soma de verificação md5 e o nome exato do arquivo transferido na mesma linha de um arquivo, separados por espaço em branco) e executar o comando mostrado acima. Alternativamente, simplesmente execute o comando mostrado abaixo e compare a saída gerada para os dados da soma de verificação md5 mostrada no livro BLFS. md5sum MD5 não é seguro criptograficamente, de forma que as somas de verificação md5 são fornecidas somente para se detectar mudanças não maliciosas para o conteúdo do arquivo. Por exemplo, um erro ou truncamento introduzido durante a transferência de rede de comunicação; ou uma atualização “furtiva” para o pacote oriunda do(a) desenvolvedor(a) (atualizando o conteúdo de um tarball liberado em vez de fazer um lançamento novo adequadamente). Não existe maneira “100%” segura de garantir a genuinidade dos arquivos do fonte. Assumindo que o(a) desenvolvedor(a) esteja gerenciando corretamente o sítio da web dele(a) (a chave privada não vazou e o domínio não esteja sequestrado); e que as âncoras de confiança tenham sido configuradas corretamente usando [1642]make-ca-1.12 no sistema BLFS; nós podemos razoavelmente confiar nos URLs de transferência para o sítio oficial da web do(a) desenvolvedor(a) com protocolo https. Observe que o próprio livro BLFS está publicado em um sítio da web com https, de forma que você já deveria ter alguma confiança no protocolo https ou você não confiaria no conteúdo do livro. Se o pacote for transferido a partir de um local não oficial (por exemplo, um espelho local), [então] as somas de verificação geradas por algoritmos de resumo criptograficamente seguros (por exemplo, SHA256) podem ser usadas para averiguar a genuinidade do pacote. Transfira o arquivo da soma de verificação a partir do sítio da web oficial do(a) desenvolvedor(a) (ou algum lugar que você possa confiar) e compare a soma de verificação do pacote oriunda do local não oficial com ele. Por exemplo, a soma de verificação SHA256 pode ser verificada com o comando: Nota Se a soma de verificação e o pacote forem transferidos a partir do mesmo local não confiável, [então] você não ganharia melhoramento de segurança averiguando o pacote com a soma de verificação. O(A) atacante pode falsear a soma de verificação assim como comprometer o próprio pacote. sha256sum -c arquivo.sha256sum Se o [1643]GnuPG-2.4.3 estiver instalado, [então] você também pode averiguar a genuinidade do pacote com uma assinatura GPG. Importe a chave pública GPG do(a) desenvolvedor(a) com: gpg --recv-key ID_da_chave ID_da_chave deveria ser substituído pelo ID da chave oriundo de algum lugar que você possa confiar (por exemplo, copie-o a partir do sítio da web oficial do(a) desenvolvedor(a) usando https). Agora, você consegue averiguar a assinatura com: gpg --recv-key arquivo.sig arquivo A vantagem da assinatura GnuPG é, tão logo você importou uma chave pública que possa ser confiada, você pode transferir ambos, o pacote e a assinatura dele, a partir do mesmo local não oficial e averiguá-los com a chave pública. Assim, você não precisaria conectar com o sítio da web oficial do(a) desenvolvedor(a) para ir buscar uma soma de verificação para cada lançamento novo. Você somente precisa atualizar a chave pública se ela estiver expirada ou revogada. Criando Arquivos de Registro Durante a Instalação Para pacotes mais largos, é conveniente se criar arquivos de registro em vez de olhar fixamente para a tela esperando pegar um erro ou aviso em particular. Os arquivos de registro também são úteis para depuração e para manter registros. O seguinte comando permite a você criar um registro da instalação. Substitua pelo comando que você pretende executar. ( 2>&1 | tee compile.log && exit $PIPESTATUS ) 2>&1 redireciona as mensagens de erro para o mesmo local que a saída gerada padrão. O comando tee permite visualizar a saída gerada enquanto se registra os resultados em um arquivo. Os parênteses em volta do comando executam o comando inteiro em um sub shell; e, finalmente, o comando exit $PIPESTATUS garante que o resultado do seja retornado como o resultado e não o resultado do comando tee. Usando Múltiplos Processadores Para muitos sistemas modernos com múltiplos processadores (ou núcleos) o tempo de compilação para um pacote pode ser reduzido realizando-se um "make paralelo", ou configurando-se uma variável de ambiente, ou dizendo-se ao aplicativo make quantos processadores estão disponíveis. Por exemplo, um Core2Duo pode suportar dois processos simultâneos com: export MAKEFLAGS='-j2' ou apenas construir com: make -j2 Se você tiver aplicado o sed opcional quando da construção do ninja no LFS, [então] você pode usar: export NINJAJOBS=2 quando um pacote usar o ninja; ou apenas: ninja -j2 mas para ninja, o número padrão de tarefas é N + 2, se o número de processadores lógicos N for maior que 2; ou N + 1 se N for 1 ou 2. A razão para usar um número de tarefas ligeiramente maior que o número de processadores lógicos é a de manter todos os processadores lógicos ocupados, mesmo que algumas tarefas estejam realizando operações de E/S. Geralmente o número de processos não deveria exceder muito o número de elementos de processamento suportados pela CPU. Para listar os processadores em teu sistema, emita: grep processor /proc/cpuinfo. Em alguns casos, usar múltiplos processos possivelmente resulte em uma condição de 'corrida' onde o sucesso da construção depende da ordem dos comandos executados pelo aplicativo make. Por exemplo, se um executável precisar do Arquivo A e do Arquivo B, [então] tentar-se vincular o aplicativo antes que um dos componentes dependentes esteja disponível resultará em uma falha. Essa condição geralmente surge, pois o(a) desenvolvedor(a) do aplicativo não designou adequadamente todos os pré requisitos necessários para realizar uma etapa no Makefile. Se isso ocorrer, a melhor maneira de se proceder é a de se voltar para uma construção de processador único. Adicionar -j1 a um comando make substituirá a configuração semelhante na variável de ambiente MAKEFLAGS. Importante Outro problema possivelmente ocorra com CPUs modernas, as quais tem um monte de núcleos. Cada trabalho iniciado consome memória e, se a soma da memória necessária para cada trabalho exceder da memória disponível, [então] você possivelmente encontre, ou uma interrupção de kernel Out of Memory (OOM), ou troca intensa, que retardará a construção além de limites razoáveis. Algumas compilações com o g++ possivelmente consumam até 2,5 GB de memória, de forma que, para estar seguro(a), você deveria restringir o número de trabalhos a (Memória Total em GB)/2,5, ao menos para pacotes grandes, tais como o LLVM; o WebKitGtk; o QtWebEngine; ou o Libreoffice. Procedimentos Automatizados de Construção Existem ocasiões onde automatizar a construção de um pacote pode vir a calhar. Todo mundo tem razões próprias para querer automatizar a construção e todo mundo faz isso de maneira própria. Criar Makefiles; scripts do Bash; scripts do Perl; ou, simplesmente, uma lista de comandos usados para recortar e colar, são apenas alguns dos métodos que você pode usar para automatizar a construção de pacotes do BLFS. Detalhar como e fornecer exemplos das muitas maneiras que você pode automatizar a construção de pacotes está além do escopo desta seção. Esta seção exporá você ao uso do redirecionamento de arquivo e do comando yes para ajudar a fornecer ideias acerca do como automatizar suas construções. Redirecionamento de Arquivo para Automatizar a Entrada Gerada Você achará ocasiões ao longo da sua jornada BLFS quando você se deparará com um pacote que tenha um comando solicitando informação. Essa informação poderia ser detalhes de configuração; um caminho de diretório; ou uma resposta a um acordo de licença. Isso pode apresentar um desafio para automatizar a construção desse pacote. Ocasionalmente, você será consultado(a) para diferentes informações em uma série de perguntas. Um método para automatizar esse tipo de cenário exige colocar as respostas desejadas em um arquivo e usar redirecionamento, de forma que o aplicativo use os dados no arquivo como as respostas para as perguntas. Isso, efetivamente, faz com que a suíte de teste use as respostas no arquivo como a entrada gerada para as perguntas. Ocasionalmente você possivelmente termine fazendo um bocado de tentativa e erro para determinar o formato exato do seu arquivo de entrada gerada para algumas coisas, porém, tão logo determinado e documentado, você consegue usar isso para automatizar a construção do pacote. Usando o yes para Automatizar a Entrada Gerada Ocasionalmente você somente precisará fornecer uma resposta ou fornecer a mesma resposta para muitas solicitações. Para tais instâncias, o comando yes funciona realmente bem. O comando yes pode ser usado para fornecer uma resposta (a mesma) para uma ou mais instâncias de perguntas. Ele pode ser usado para simular o pressionamento apenas da tecla Enter; informar a tecla Y; ou informar uma sequência de caracteres de texto. Talvez a maneira mais fácil de mostrar o uso dele é em um exemplo. Primeiro, crie um script curto do Bash informando os seguintes comandos: cat > blfs-yes-test1 << "EOF" #!/bin/bash echo -n -e "\n\nPor favor, digite algo (ou nada) e pressione Enter ---> " read A_STRING if test "$A_STRING" = ""; then A_STRING="Apenas a tecla Enter foi pressionada" else A_STRING="Você informou '$A_STRING'" fi echo -e "\n\n$A_STRING\n\n" EOF chmod 755 blfs-yes-test1 Agora execute o script emitindo ./blfs-yes-test1 a partir da linha de comando. Ele aguardará por uma resposta, que pode ser algo (ou nada) seguida pela tecla Enter. Depois de informar alguma coisa, o resultado será ecoado para a tela. Agora use o comando yes para automatizar a entrada de uma resposta: yes | ./blfs-yes-test1 Perceba que canalizar o próprio yes para o script resulta em y sendo passada para o script. Agora tente com uma sequência de caracteres de texto: yes 'Este é algum texto' | ./blfs-yes-test1 A sequência exata de caracteres foi usada como a resposta para o script. Finalmente, tente usando uma sequência de caracteres vazia (nula): yes '' | ./blfs-yes-test1 Perceba que isso resulta na passagem apenas do pressionamento da tecla Enter para o script. Isso é útil para ocasiões quando a resposta padrão para a solicitação for suficiente. Essa sintaxe é usada nas instruções do [1644]Net-tools para aceitar todos os padrões para as muitas solicitações durante a etapa de configuração. Você possivelmente agora remova o script de teste, se desejado. Redirecionamento de Arquivo para Automatizar a Saída Gerada Para a finalidade de automatizar a construção de alguns pacotes, especialmente aqueles que exigem que você leia um acordo de licença em uma página por vez, exige-se usar um método que evite ter que pressionar uma tecla para exibir cada página. Redirecionar a saída gerada para um arquivo pode ser usado nessas instâncias para auxiliar com a automação. A seção anterior nesta página tocou na criação de arquivos de registro da saída gerada da construção. O método de redirecionamento mostrado lá usou o comando tee para redirecionar a saída gerada para um arquivo enquanto também exibia a saída gerada na tela. Aqui, a saída gerada somente será enviada para um arquivo. Novamente, a maneira mais fácil para demonstrar a técnica é de mostrar um exemplo. Primeiro, emita o comando: ls -l /usr/bin | less Certamente, você será exigido(a) a visualizar a saída gerada uma página por vez, pois o filtro less foi usado. Agora tente o mesmo comando, porém, dessa vez, redirecione a saída gerada para um arquivo. O arquivo especial /dev/null pode ser usado em vez do nome de arquivo mostrado, porém você não terá arquivo de registro para examinar: ls -l /usr/bin | less > redirect_test.log 2>&1 Perceba que, dessa vez, o comando imediatamente retornou ao prompt do shell sem ter que paginar ao longo da saída gerada. Você agora possivelmente remova o arquivo de registro. O último exemplo usará o comando yes em combinação com o redirecionamento da saída gerada para desviar-se de ter que paginar ao longo da saída gerada e, então, fornecerá um y para uma solicitação. Essa técnica poderia ser usada em instâncias quando, de outra maneira, você teria que paginar ao longo da saída gerada de um arquivo (como um acordo de licença) e, então, responder à pergunta de “você aceita o acima?”. Para esse exemplo, outro script curto do Bash é exigido: cat > blfs-yes-test2 << "EOF" #!/bin/bash ls -l /usr/bin | less echo -n -e "\n\nVocê curtiu ler isso? (y,n) " read A_STRING if test "$A_STRING" = "y"; then A_STRING="Você informou a tecla 'y'" else A_STRING="Você NÃO informou a tecla 'y'" fi echo -e "\n\n$A_STRING\n\n" EOF chmod 755 blfs-yes-test2 Esse script pode ser usado para simular um aplicativo que exige que você leia um acordo de licença, então responda apropriadamente que aceita o acordo antes do aplicativo instalar qualquer coisa. Primeiro, execute o script sem quaisquer técnicas de automação emitindo ./blfs-yes-test2. Agora emita o seguinte comando que usa duas técnicas de automação, tornando-o adequado para uso em um script automatizado de construção: yes | ./blfs-yes-test2 > blfs-yes-test2.log 2>&1 Se desejado, emita tail blfs-yes-test2.log para ver o final da saída gerada paginada e a confirmação de que y foi passada ao longo para o script. Tão logo satisfeito que ele funciona como deveria, você possivelmente remova o script e o arquivo de registro. Finalmente, tenha em mente que existem muitas maneiras de automatizar e (ou) roteirizar os comandos de construção. Não existe maneira única “correta” para fazê-lo. Sua imaginação é o único limite. Dependências Para cada pacote descrito, o BLFS lista as dependências conhecidas. Essas são listadas sob vários títulos, cujo significado é como segue: * Exigida significa que o pacote alvo não pode ser construído corretamente sem que a dependência tenha sido instalada primeiro, exceto se a dependência for considerada de “tempo de execução”, o que significa que o pacote alvo pode ser construído, mas não pode funcionar sem ela. Observe que um pacote alvo pode começar a “funcionar” de muitas maneiras sutis: um arquivo de configuração instalado pode fazer o sistema init, o processo de segundo plano cron ou o processo de segundo plano de barramento executar um aplicativo automaticamente; outro pacote usando o pacote alvo como dependência pode executar um aplicativo oriundo do pacote alvo no sistema de construção; e as seções de configuração no livro BLFS também podem executar um aplicativo a partir de um pacote recém-instalado. Portanto, se estiver instalando o pacote alvo sem uma dependência Exigida (tempo de execução) instalada, você deveria instalar a dependência o mais rápido possível depois da instalação do pacote alvo. * Recomendada significa que o BLFS sugere fortemente que esse pacote seja instalado primeiro (exceto se for considerada “tempo de execução”, veja-se abaixo) para uma construção limpa e livre de problemas, que não terá problemas durante o processo de construção ou em tempo de execução. As instruções no livro assumem que esses pacotes estão instalados. Algumas mudanças ou soluções alternativas podem ser exigidas se esses pacotes não estiverem instalados. Se uma dependência recomendada for considerada “tempo de execução”, isso significa que o BLFS sugere fortemente que essa dependência seja instalada antes de usar o pacote, para obter funcionalidade completa. * Opcional significa que esse pacote pode ser instalado para funcionalidade adicional. Frequentemente, o BLFS descreverá a dependência para explicar a funcionalidade adicional resultante. Uma dependência opcional pode ser selecionada automaticamente pelo pacote alvo se a dependência estiver instalada, mas outra dependência opcional também pode precisar de opções adicionais de configuração para habilitá-las quando o pacote alvo for construído. Essas opções adicionais frequentemente estão documentadas no livro BLFS. Se uma dependência opcional for considerada de “tempo de execução”, significa que você pode instalar a dependência depois de instalar o pacote alvo, para suportar alguns recursos opcionais do pacote alvo se precisar desses recursos. Uma dependência opcional pode estar fora do BLFS. Se você precisar de uma tal dependência opcional externa para alguns recursos necessários, leia [1645]Indo Além do BLFS para as dicas gerais acerca de instalar um pacote fora do BLFS. Usando os Fontes Mais Atuais de Pacote Ocasionalmente você possivelmente se encontre em uma situação no livro onde um pacote não construirá ou não funcionará adequadamente. Apesar dos(as) Editores(as) tentarem garantir que cada pacote no livro construa e funcione adequadamente, ocasionalmente um pacote tenha sido negligenciado ou não foi testado com esta versão particular do BLFS. Se você descobrir que um pacote não construirá ou não funcionará adequadamente, [então] você deveria ver se existe uma versão mais recente do pacote. Tipicamente isso significa você ir ao sítio da web do(a) mantenedor(a) e transferir o tarball mais recente e tentar construir o pacote. Se você não conseguir determinar o sítio da web do(a) mantenedor(a) olhando para os URLs de transferência, [então] use o Google e consulte o nome do pacote. Por exemplo, na barra de pesquisa do Google, digite: 'nome_do_pacote download' (omita as aspas) ou algo semelhante. Ocasionalmente, digitar: 'nome_do_pacote home page' resultará em você encontrar o sítio da web do(a) mantenedor(a). Despojando Mais Uma Vez No LFS, a remoção de símbolos de depuração e entradas desnecessárias na tabela de símbolos foi discutida algumas vezes. Ao construir pacotes BLFS, geralmente não existem instruções especiais que discutam a remoção novamente. A remoção pode ser feita durante a instalação de um pacote ou posteriormente. Despojando enquanto se Instala um Pacote Existem várias maneiras de se despojar executáveis instalados por um pacote. Elas dependem do sistema de construção usado (veja-se abaixo [1646]a seção acerca de sistemas de construção), de modo que somente algumas generalidades podem ser listadas aqui: Nota Os métodos a seguir que usam o recurso de um sistema de construção ("autotools", "meson" ou "cmake") não despojarão bibliotecas estáticas, se alguma estiver instalada. Felizmente não existem muitas bibliotecas estáticas no BLFS, e uma biblioteca estática sempre pode ser despojada com segurança executando strip --strip-unneeded nela manualmente. * Os pacotes que usam "Autotools" geralmente tem um alvo install-strip nos arquivos Makefile gerados deles. Portanto, instalar executáveis despojados é apenas uma questão de usar make install-strip em vez de make install. * Os pacotes que usam o sistema de construção "Meson" conseguem aceitar -Dstrip=true ao executar meson. Se esqueceu de adicionar essa opção executando o meson, [então] você também consegue executar meson install --strip em vez de ninja install. * cmake gera alvos install/strip para ambos os geradores Unix Makefiles e Ninja (o padrão é Unix Makefiles no Linux). Portanto, basta executar make install/strip ou ninja install/strip em vez das contrapartes install. * A remoção (ou não geração) de símbolos de depuração também consegue ser obtida removendo-se as opções -g em chamadas "C/C++". Como fazer isso é muito específico para cada pacote. E não remove entradas desnecessárias da tabela de símbolos. Portanto, não será explicado em detalhes aqui. Veja-se também abaixo os parágrafos acerca de otimização. Despojando Executáveis Instalados O utilitário strip muda arquivos no local, o que possivelmente quebre alguma coisa que os usem se estiverem carregados na memória. Observe que se um arquivo estiver em uso, mas recém removido do disco (ou seja, não sobrescrito nem modificado), isso não será um problema, pois o núcleo consegue usar arquivos “deletados”. Veja-se /proc/*/maps e é provável que você veja algumas entradas (deleted). O mv apenas remove o arquivo de destino a partir do diretório, mas não toca no conteúdo dele, de modo que satisfaça a condição para o núcleo usar o arquivo antigo (deletado). Porém, essa abordagem pode desanexar links rígidos em cópias duplicadas, causando um inchaço que, obviamente, é indesejado, pois estamos despojando para reduzir o tamanho do sistema. Se dois arquivos em um mesmo sistema de arquivos compartilharem o mesmo número de inode, eles serão links rígidos entre eles e deveríamos reconstruir o link. O conjunto de comandos sequenciais abaixo é apenas um exemplo. Ele deveria ser executado como o(a) usuário(a) root: cat > /usr/sbin/strip-all.sh << "EOF" #!/usr/bin/bash if [ $EUID -ne 0 ]; then echo "Precisa ser root" exit 1 fi last_fs_inode= last_file= { find /usr/lib -type f -name '*.so*' ! -name '*dbg' find /usr/lib -type f -name '*.a' find /usr/{bin,sbin,libexec} -type f } | xargs stat -c '%m %i %n' | sort | while read fs inode file; do if ! readelf -h $file >/dev/null 2>&1; then continue; fi if file $file | grep --quiet --invert-match 'not stripped'; then continue ; fi if [ "$fs $inode" = "$last_fs_inode" ]; then ln -f $last_file $file; continue; fi cp --preserve $file ${file}.tmp strip --strip-unneeded ${file}.tmp mv ${file}.tmp $file last_fs_inode="$fs $inode" last_file=$file done EOF chmod 744 /usr/sbin/strip-all.sh Se você instalar aplicativos em outros diretórios, como /opt ou /usr/local, você possivelmente queira despojar os arquivos lá também . Basta adicionar outros diretórios a escanear na lista composta de comandos find entre chaves. Para mais informações acerca de despojamento, veja-se [1647]https://www.technovelty.org/linux/stripping-shared-libraries.html . Trabalhando com diferentes sistemas de construção Existem, agora, três sistemas de construção em uso comum para converter código fonte C ou C++ em aplicativos ou bibliotecas compilados e os detalhes deles (particularmente, descobrir acerca de opções disponíveis e os valores padrão delas) diferem. Possivelmente seja mais fácil entender os problemas causados por algumas escolhas (tipicamente, execução lenta; ou uso inesperado de, ou omissão de, otimizações) iniciando-se com as variáveis de ambiente CFLAGS, CXXFLAGS e LDFLAGS. Também existem alguns aplicativos que usam Rust. A maioria dos(as) construtores(as) do LFS e do BLFS provavelmente está ciente dos básicos de CFLAGS e CXXFLAGS para alterar como um aplicativo é compilado. Tipicamente, alguma forma de otimização é usada pelos(as) desenvolvedores(as) de aplicativos (-O2 ou -O3), ocasionalmente com a criação de símbolos de depuração (-g), como padrões. Se existirem sinalizadores contraditórios (por exemplo, múltiplos valores -O), o último valor será usado. Ocasionalmente, isso significa que os sinalizadores especificados em variáveis de ambiente serão escolhidos antes dos valores codificados rigidamente no Makefile, e, portanto, ignorados. Por exemplo, onde um(a) usuário(a) especificar -O2 e isso for seguido por -O3, a construção usará -O3. Existem várias outras coisas que podem ser passadas em CFLAGS ou em CXXFLAGS, tais como permitir-se usar as extensões de conjunto de instruções disponíveis com uma microarquitetura específica (por exemplo, -march=amdfam10 ou -march=native) ajustar o código gerado para uma microarquitetura específica (por exemplo, -mtune=tigerlake ou -mtune=native; se -mtune= não for usada, a microarquitetura oriunda da configuração -march= será usada) ou especificar-se um padrão específico para C ou C++ (-std=c++17, por exemplo). Porém, uma coisa que agora veio à tona é que os(as) programadores(as) poderiam incluir asserções de depuração no código deles(as), esperando que sejam desabilitadas em lançamentos usando-se -DNDEBUG. Especificamente, se o [1648]Mesa-23.1.6 for construído com essas asserções habilitadas, algumas atividades, tais como o carregamento de níveis dos jogos, podem tomar tempos extremamente longos, mesmo em placas de vídeo de alta qualidade. Autotools com Make Essa combinação frequentemente é descrita como “CMMI” (configure; make; make install) e é usada aqui também para cobrir os poucos pacotes que tenham um conjunto de comandos sequenciais de configuração que não seja gerado por autotools. Ocasionalmente, executar-se ./configure --help produzirá opções úteis acerca de chaves que poderiam ser usadas. Em outras ocasiões, depois de olhar para a saída gerada a partir do configure, você possivelmente precise olhar para os detalhes do script para descobrir pelo que ele estava procurando atualmente. Muitos scripts de configuração escolherão quaisquer CFLAGS ou CXXFLAGS a partir do ambiente, porém os pacotes CMMI variam acerca do como esses serão misturados com quaisquer sinalizadores que, de outra maneira, seriam usados (variadamente: ignorados; usados para substituir a sugestão do(a) programador(a); usados antes da sugestão do(a) programador(a); ou usados depois da sugestão do(a) programador(a)). Na maioria dos pacotes CMMI, executar-se make listará cada comando e o executará, intercalado com quaisquer avisos. Porém, alguns pacotes tentam ser “silenciosos” e mostram somente qual arquivo eles estão compilando ou vinculando em vez de mostrar a linha de comando. Se você precisar inspecionar o comando, seja por causa de um erro, seja apenas para ver quais opções e sinalizadores estão sendo usados, adicionar V=1 à invocação do make possivelmente ajude. CMake O CMake funciona de uma maneira muito diferente e ele tem duas estruturas de retaguarda que conseguem ser usadas no BLFS: make e ninja. A estrutura de retaguarda padrão é o make, porém o ninja pode ser mais rápido sobre pacotes grandes com múltiplos processadores. Para usar o ninja, especifique -G Ninja no comando cmake. Entretanto, existem alguns pacotes que criam erros fatais nos arquivos ninja deles, porém constroem com sucesso usando o padrão dos Makefiles do Unix. A parte mais difícil do usar-se o CMake é saber quais opções você poderia desejar especificar. A única maneira de se obter uma lista do que o pacote conhece é a de executar cmake -LAH e olhar para a saída gerada para esta configuração padrão. Talvez a coisa mais importante acerca do CMake é que ele tem uma variedade de valores CMAKE_BUILD_TYPE e esses afetam os sinalizadores. O padrão é o de que isso não seja configurado e nenhum sinalizador seja gerado. Quaisquer CFLAGS ou CXXFLAGS no ambiente serão usadas. Se o(a) programador(a) tiver codificado quaisquer asserções de depuração, essas estarão habilitadas, a menos que -DNDEBUG seja usado. Os seguintes valores CMAKE_BUILD_TYPE gerarão os sinalizadores mostrados e esses virão depois de quaisquer sinalizadores no ambiente e, portanto, terão precedência. Valor Sinalizadores Debug -g Release -O3 -DNDEBUG RelWithDebInfo -O2 -g -DNDEBUG MinSizeRel -Os -DNDEBUG O "CMake" tenta produzir construções silenciosas. Para ver os detalhes dos comandos que estão sendo executados, use make VERBOSE=1 ou ninja -v. Por padrão, o "CMake" trata a instalação de arquivos diferentemente dos outros sistemas de construção: se um arquivo já existir e não for mais recente que um arquivo que o sobrescreveria, então o arquivo não será instalado. Isso possivelmente seja um problema se um(a) usuário(a) quiser registrar qual arquivo pertence a um pacote, seja usando LD_PRELOAD, ou listando arquivos mais recentes que um carimbo de tempo. O padrão pode ser mudado definindo-se a variável CMAKE_INSTALL_ALWAYS como um ("1") no ambiente, por exemplo, via export. Meson O Meson tem algumas semelhanças com o CMake, porém muitas diferenças. Para obter os detalhes das definições que você possivelmente queira mudar, você pode olhar para o meson_options.txt que normalmente está no diretório de nível de topo. Se você já configurou o pacote executando o meson e, agora, deseja mudar uma ou mais configurações, [então] você ou pode remover o diretório de construção, recriá-lo e usar as opções alteradas; ou, dentro do diretório de construção, executar meson configure, por exemplo, para configurar uma opção: meson configure -D=true Se você fizer isso, [então] o arquivo meson-private/cmd_line.txt mostrará os últimos comandos que foram usados. O Meson fornece os seguintes valores de tipo de construção e os sinalizadores que eles habilitam vem depois de quaisquer sinalizadores fornecidos no ambiente e, portanto, tem precedência. * plano : nenhum sinalizador adicionado. Isso é para os(as) distribuidores(as) fornecerem os próprios CFLAGS, CXXFLAGS e LDFLAGS deles(as). Não existe razão óbvia para usar isso no BLFS. * depuração : -g - isso é o padrão, se nada for especificado, seja no meson.build, seja na linha de comando. Entretanto, resulta em binários grandes e lentos, de forma que nós deveríamos substitui-lo no BLFS. * depuração otimizada : -O2 -g : isso é o padrão, especificado no meson.build, de alguns pacotes. * lançamento : -O3 (ocasionalmente um pacote forçará -O2 aqui) - esse é o tipo de construção que usamos para a maioria dos pacotes com sistema de construção Meson no BLFS. O sinalizador -DNDEBUG é implícito pelo tipo de construção de lançamento para alguns pacotes (por exemplo [1649]Mesa-23.1.6). Também pode ser fornecido explicitamente passando-se -Db_ndebug=true. Para ver os detalhes dos comandos que estão sendo executados em um pacote usando o meson, use ninja -v. Rustc e Cargo A maioria dos aplicativos rustc lançados é fornecida como engradado (tarballs de fonte), que consultarão um servidor para verificar as versões atuais de dependências e, então, as baixarão conforme necessário. Esses pacotes são construídos usando-se cargo --release. Na teoria, você consegue manipular a RUSTFLAGS para mudar o nível de otimização (padrão para --release é 3, isto é, -Copt-level=3, semelhante a -03) ou para forçá-lo a construir para a máquina na qual está sendo compilado, usando -Ctarget-cpu=native; porém, na prática, isso parece não fazer uma diferença significante. Se você estiver compilando um aplicativo Rust independente (como um arquivo .rs desempacotado) executando rustc diretamente, você deveria especificar -O (a abreviatura de -Copt-level=2) ou -Copt-level=3, caso contrário ele fará uma compilação não otimizada e executará muito mais lento. Se estiver compilando o aplicativo para depurá-lo, substitua as opções -O ou -Copt-level= por -g para produzir um aplicativo não otimizado com informações de depuração. Semelhante ao ninja, por padrão cargo usa todos os processadores lógicos. Isso frequentemente pode ser contornado, seja exportando-se CARGO_BUILD_JOBS= seja passando-se --jobs para cargo. Para compilar o próprio rustc, especificar-se --jobs para invocações do x.py (juntamente com a variável de ambiente CARGO_BUILD_JOBS=, que se parece com uma abordagem “cinto e suspensórios”, porém parece ser necessária) funciona na maioria. A exceção é a de executar-se os testes quando construir-se o rustc; alguns deles, ainda assim, usarão todas as CPUs online, pelo menos desde o rustc-1.42.0. Otimizando a construção Muitas pessoas preferirão otimizar compilações como acharem melhor, fornecendo CFLAGS ou CXXFLAGS. Para uma introdução às opções disponíveis com o gcc e com o g++, veja-se [1650]https://gcc.gnu.org/onlinedocs/gcc-13.2.0/gcc/Optimize-Options.ht ml. O mesmo conteúdo também pode ser encontrado em info gcc. Alguns pacotes são padronizados como -O2 -g, outros como -O3 -g, e se CFLAGS ou CXXFLAGS forem fornecidas, elas podem ser adicionadas aos padrões do pacote, substituir os padrões do pacote ou até mesmo serem ignoradas. Existem detalhes acerca de alguns pacotes de área de trabalho que estavam mais atualizados em abril de 2019 em [1651]https://www.linuxfromscratch.org/~ken/tuning/ - em particular, README.txt, tuning-1-packages-and-notes.txt e tuning-notes-2B.txt. A coisa específica a lembrar é que se quiser experimentar alguns dos sinalizadores mais interessantes, você possivelmente precise forçar construções detalhadas para confirmar o que está sendo usado. Claramente, se estiver otimizando teu próprio aplicativo, você pode gastar tempo para perfilá-lo e, talvez, recodificar algo dele, se ele estiver lento demais. Porém, para construir um sistema inteiro, essa abordagem é impraticável. No geral, -O3 geralmente produz aplicativos mais rápidos que -O2. Especificar-se -march=native também é benéfico, porém significa que você não pode mover os binários para uma máquina incompatível - isso também pode se aplicar a máquinas mais novas, não apenas às máquinas mais antigas. Por exemplo, os aplicativos compilados para amdfam10 executam em Phenoms antigos; Kaveris; e Ryzens; porém, os aplicativos compilados para um Kaveri não executarão em um Ryzen, pois certos códigos de operação não estão presentes. Similarmente, se você construir para um Haswell, nem tudo executará em um SandyBridge. Nota Atente-se que o nome de uma configuração -march nem sempre corresponde à linha de base da microarquitetura com o mesmo nome. Por exemplo, os processadores Intel Celeron baseados em Skylake não suportam AVX, mas -march=skylake assume AVX e até mesmo AVX2. Quando uma biblioteca compartilhada é construída pelo GCC, um recurso chamado “interposição semântica” é habilitado por padrão. Quando a biblioteca compartilhada se refere a um nome de símbolo com ligação externa e visibilidade padrão, se o símbolo existir tanto na biblioteca compartilhada quanto no executável principal, a interposição semântica garante que o símbolo no executável principal sempre seja usado. Esse recurso foi inventado na tentativa de tornar o comportamento de vincular uma biblioteca compartilhada e vincular uma biblioteca estática o mais semelhante possível. Hoje, somente um pequeno número de pacotes ainda depende da interposição semântica, mas o recurso ainda está ativado por padrão do GCC, fazendo com que muitas otimizações sejam desabilitadas para bibliotecas compartilhadas porque entram em conflito com a interposição semântica. A opção -fno-semantic-interposition pode ser passada para gcc ou g++ para desabilitar a interposição semântica e habilitar mais otimizações para bibliotecas compartilhadas. Essa opção é usada como padrão de alguns pacotes (por exemplo [1652]Python-3.11.4) e também é o padrão do Clang. Existem também várias outras opções que algumas pessoas alegam que são benéficas. Na pior das hipóteses, você consegue recompilar e testar e, então, descobrir que, em seu uso, as opções não fornecem um benefício. Se construir módulos Perl ou Python, em geral as CFLAGS e CXXFLAGS usadas são aquelas que foram usadas por esses pacotes “ancestrais”. Para LDFLAGS, existem três opções que podem ser usadas para otimização. Elas são bastante seguras de usar e o sistema de construção de alguns pacotes usa algumas dessas opções como padrão. Com -Wl,-O1, o vinculador otimizará a tabela de resumo para acelerar a vinculação dinâmica. Observe que -Wl,-O1 não tem nenhuma relação com o sinalizador de otimização do compilador -O1. Com -Wl,--as-needed, o vinculador desconsiderará opções -lfoo desnecessárias da linha de comando, ou seja, a biblioteca compartilhada libfoo só será vinculada se um símbolo em libfoo realmente estiver referenciado pelo executável ou biblioteca compartilhada sendo vinculado. Às vezes, isso pode atenuar os problemas de “dependências excessivas de bibliotecas compartilhadas” causados pela libtool. Com -Wl,-z,pack-relative-relocs, o vinculador gera uma forma mais compactada das entradas relativas de realocação para PIEs e bibliotecas compartilhadas. Ele reduz o tamanho do PIE vinculado ou da biblioteca compartilhada e acelera o carregamento do PIE ou da biblioteca compartilhada. O prefixo -Wl, é necessário porque, apesar da variável ser chamada LDFLAGS, o conteúdo dela é na verdade passado para o gcc (ou g++, clang, etc.) durante o estágio de ligação, não passado diretamente para o ld. Opções para fortalecer a construção Mesmo em sistemas de área de trabalho, existe ainda um monte de vulnerabilidades exploráveis. Para muitas dessas, o ataque vem via javascript em um navegador. Frequentemente, uma série de vulnerabilidades é usada para ganhar acesso a dados (ou, às vezes, para pwn, isto é, dominar, a máquina e instalar rootkits). A maioria das distribuições comerciais aplicará várias medidas de fortalecimento. No passado, existia o "LFS Reforçado", onde o "GCC" (uma versão muito mais antiga) era forçado a usar reforçamento (com opções para desativar parte dele por pacote). Os livros atuais LFS e BLFS estão levando adiante uma parte do espírito dele, habilitando "PIE" (-fPIE -pie) e "SSP" (-fstack-protector-strong) como padrões para o "GCC" e o "clang". O que está sendo abordado aqui é diferente - primeiro, você precisa ter certeza de que o pacote está realmente usando os teus sinalizadores adicionados e não os substituindo. Para opções de reforço que são razoavelmente baratas, existe alguma discussão no link "ajuste" acima (ocasionalmente, uma ou mais dessas opções podem ser inadequadas para um pacote). Essas opções são -D_FORTIFY_SOURCE=2 e (para "C++") -D_GLIBCXX_ASSERTIONS. Nas máquinas modernas, isso deveria ter somente um pequeno impacto na rapidez com que as coisas funcionam e, muitas vezes, não serão perceptíveis. As principais distribuições usam muito mais, como "RELRO" ("Relocation Read Only") e talvez -fstack-clash-protection. Você também possivelmente encontre a chamada “retpoline do espaço de usuário(a)” (-mindirect-branch=thunk etc.), que é o equivalente às mitigações de espectro aplicadas ao núcleo Linux no final de 2018. As mitigações do núcleo causaram muitas reclamações acerca de perda de desempenho; se você tiver um servidor de produção, você pode desejar considerar testá-las, juntamente com outras opções disponíveis, para ver se o desempenho ainda é suficiente. Embora o gcc tenha muitas opções de fortalecimento, os pontos fortes do clang/LLVM estão em outro lugar. Algumas opções que o gcc fornece são ditas serem menos efetivas no clang/LLVM. O Debate /usr Versus /usr/local Eu deveria instalar XXX em /usr ou em /usr/local? Essa é uma pergunta sem uma resposta óbvia para um sistema baseado no LFS. Em sistemas tradicionais Unix, /usr geralmente contém arquivos que vem com a distribuição do sistema e a árvore /usr/local está livre para o(a) administrador(a) local gerenciar. A única regra realmente rígida e rápida é a de que as distribuições do Unix não deveriam tocar no /usr/local, exceto, talvez, para criar os diretórios básicos dentro dele. Com distribuições Linux, tais como Red Hat, Debian, etc., uma possível regra é a de que o /usr é gerenciado pelo sistema de pacote da distribuição e o /usr/local não o é. Dessa maneira, a base de dados do gerenciador de pacote sabe acerca de cada arquivo dentro do /usr. Os(As) usuários(as) do LFS constroem o próprio sistema deles(as) e, portanto, decidir onde o sistema termina e os arquivos locais começam não é simples. Por isso, a escolha deveria ser feita para a finalidade de tornar as coisas mais fáceis de administrar. Existem várias razões para dividir os arquivos entre o /usr e o /usr/local. * Em uma rede de comunicação de várias máquinas, todas executando o LFS; ou misturadas, o LFS e outras distribuições Linux, o /usr/local poderia ser usado para manter os pacotes que fossem comuns entre todos os computadores na rede de comunicação. Ele pode ser montado NFS ou espelhado a partir de um servidor. Aqui, local indica local para o sítio. * Em uma rede de comunicação de vários computadores, todos executando um sistema idêntico LFS, /usr/local poderia manter os pacotes que fossem diferentes entre as máquinas. Nesse caso, local se refere aos computadores individuais. * Mesmo em um computador, o /usr/local pode ser útil se você tiver várias distribuições instaladas simultaneamente e queira um local para colocar os pacotes que serão os mesmos em todas elas. * Ou você poderia reconstruir regularmente o seu LFS, porém quer um local para colocar os arquivos que você não quer reconstruir a cada vez. Dessa maneira você pode limpar o sistema de arquivos do LFS e iniciar a partir de uma partição limpa a cada vez sem perder tudo. Algumas pessoas perguntam por que não usar sua própria árvore de diretório, por exemplo, /usr/site, em vez de /usr/local? Não existe nada parando você; muitos sítios fazem as próprias árvores deles; entretanto, isso torna a instalação de software novo mais dificultosa. Os instaladores automáticos, frequentemente, procuram por dependências no /usr e no /usr/local e, se o arquivo que eles estiverem procurando estiver no /usr/site ao invés, [então] o instalador provavelmente falhará, a menos que você, especificamente, diga a ele onde procurar. Qual é a posição do BLFS a respeito? Todas as instruções do BLFS instalam os aplicativos no /usr, com instruções opcionais para instalar no /opt para alguns pacotes específicos. Remendos Opcionais Conforme seguir as várias seções no livro, você observará que o livro, ocasionalmente, inclui remendos que são exigidos para uma instalação exitosa e segura dos pacotes. A política geral do livro é a de incluir remendos que caiam em um dos seguintes critérios: * Corrige um problema de compilação. * Corrige um problema de segurança. * Corrige uma funcionalidade quebrada. Resumindo, o livro inclui somente os remendos que sejam ou exigidos ou recomendados. Existe um [1653]Sub projeto dos Remendos que hospeda vários remendos (incluindo os remendos referenciados nos livros) para te habilitar a configurar o seu LFS da maneira que você gostar. Unidades Systemd do BLFS O pacote "Systemd Units" do BLFS contém os arquivos de unidade do systemd que são usados ao longo do livro. Informação do Pacote * Transferência: [1654]https://www.linuxfromscratch.org/blfs/downloads/12.0-systemd/ blfs-systemd-units-20230816.tar.xz O pacote "Systemd Units" do BLFS será usado ao longo do livro BLFS para os arquivos de unidade do systemd. Cada unidade do systemd tem um alvo de instalação separado. É recomendado que você mantenha o diretório do fonte do pacote por perto até completar o seu sistema BLFS. Quando uma unidade do systemd for solicitada a partir do "Systemd Units" do BLFS, simplesmente mude para o diretório e, como o(a) usuário(a) root, execute o dado comando make install-. Esse comando instala a unidade do systemd no local adequado dela (junto com quaisquer scripts de configuração auxiliares) e, também, a habilita por padrão. Nota É aconselhável examinar cuidadosamente cada unidade do systemd antes da instalação para determinar se os arquivos instalados atendem às suas necessidades. Acerca dos arquivos de Arquivamento do Libtool (.la) Arquivos com uma extensão .la No LFS e no BLFS, muitos pacotes usam uma cópia da "libtool" enviada internamente para construir em uma variedade de plataformas Unix. Isso inclui plataformas como "AIX", "Solaris", "IRIX", "HP-UX" e "Cygwin", bem como Linux. As origens dessa ferramenta são bastante antigas. Ela era destinada gerenciar bibliotecas em sistemas com capacidades menos avançadas que um sistema Linux moderno. Em um sistema Linux, os arquivos específicos da "libtool" geralmente são desnecessários. Normalmente as bibliotecas são especificadas no processo de construção durante a fase de ligação. Como um sistema Linux usa o [1655]Executable and Linkable Format (ELF) para executáveis e bibliotecas dinâmicas, as informações necessárias para concluir a tarefa são embutidas nos arquivos. Tanto o vinculador quanto o carregador de aplicativos podem consultar os arquivos apropriados e vincular ou executar o aplicativo adequadamente. Bibliotecas estáticas raramente são usadas no LFS e no BLFS. E hoje em dia a maioria dos pacotes armazena as informações necessárias para vincular a uma biblioteca estática em um arquivo ".pc", em vez de depender da "libtool". Um comando pkg-config --static --libs gerará os sinalizadores suficientes para o vinculador para vincular-se a uma biblioteca estática sem qualquer mágica da "libtool". O problema é que a "libtool" geralmente cria um ou mais arquivos de texto para bibliotecas de pacotes, chamados arquivamentos "libtool". Esses pequenos arquivos tem uma extensão ".la" e contém informações semelhantes àquelas embutidas nas bibliotecas ou nos arquivos "pkg-config". Ao construir um pacote que usa "libtool", o processo procura automaticamente por esses arquivos. Às vezes, um arquivo ".la" pode conter o nome ou caminho de uma biblioteca estática usada durante a construção, mas não instalada, então o processo de construção será interrompido porque o arquivo ".la" se refere a algo inexistente no sistema. Da mesma forma, se um pacote for atualizado e não mais usar o arquivo ".la", então o processo de construção poderá quebrar com os arquivos ".la" antigos. A solução é a de remover os arquivos .la. No entanto, existe uma pegadinha. Alguns pacotes, tais como o [1656]ImageMagick-7.1.1-15, usam uma função do libtool, lt_dlopen, para carregar bibliotecas conforme necessárias durante a execução e resolver as dependências deles em tempo de execução. Nesse caso, os arquivos .la deveriam permanecer. O script abaixo remove todos os arquivos .la desnecessários e os salva em um diretório, /var/local/la-files, por padrão, não no caminho normal de biblioteca. Ele também procura em todos os arquivos pkg-config (.pc) por referências embutidas a arquivos .la e os corrige para serem referências convencionais de biblioteca necessárias quando uma aplicação ou biblioteca for construída. Ele pode ser executado conforme necessário para limpar os diretórios que possivelmente estejam causando problemas. cat > /usr/sbin/remove-la-files.sh << "EOF" #!/bin/bash # /usr/sbin/remove-la-files.sh # Escrito para o Beyond Linux From Scratch # por Bruce Dubbs # Certifique-se de que estamos executando com privilégios de "root" if test "${EUID}" -ne 0; then echo "Erro: $(basename ${0}) precisa ser executado como o(a) usuário(a) root ! Saindo..." exit 1 fi # Certifique-se de que PKG_CONFIG_PATH esteja definido se descartado pelo "sudo" source /etc/profile OLD_LA_DIR=/var/local/la-files mkdir -p $OLD_LA_DIR # Pesquise somente diretórios em /opt, mas não links simbólicos para diretórios OPTDIRS=$(find /opt -mindepth 1 -maxdepth 1 -type d) # Mova todos os arquivos ".la" encontrados para um diretório fora do caminho find /usr/lib $OPTDIRS -name "*.la" ! -path "/usr/lib/ImageMagick*" \ -exec mv -fv {} $OLD_LA_DIR \; ############### # Corrija quaisquer arquivos ".pc" que possam ter referências ".la" STD_PC_PATH='/usr/lib/pkgconfig /usr/share/pkgconfig /usr/local/lib/pkgconfig /usr/local/share/pkgconfig' # Para cada diretório que pode conter arquivos ".pc" for d in $(echo $PKG_CONFIG_PATH | tr : ' ') $STD_PC_PATH; do # Para cada arquivo "pc" for pc in $d/*.pc ; do if [ $pc == "$d/*.pc" ]; then continue; fi # Verifique cada palavra em uma linha com uma referência ".la" for word in $(grep '\.la' $pc); do if $(echo $word | grep -q '.la$' ); then mkdir -p $d/la-backup cp -fv $pc $d/la-backup basename=$(basename $word ) libref=$(echo $basename|sed -e 's/^lib/-l/' -e 's/\.la$//') # Corrige o arquivo ".pc" sed -i "s:$word:$libref:" $pc fi done done done EOF chmod +x /usr/sbin/remove-la-files.sh Bibliotecas: Estáticas ou compartilhadas? Bibliotecas: Estáticas ou compartilhadas? As bibliotecas originais eram simplesmente um arquivamento de rotinas a partir do qual as rotinas necessárias eram extraídas e vinculadas ao aplicativo executável. Elas são descritas como bibliotecas estáticas, com nomes no formato libfoo.a em sistemas operacionais do tipo UNIX. Em alguns sistemas operacionais antigos elas são o único tipo disponível. Em quase todas as plataformas Linux também existem bibliotecas “compartilhadas” (ou equivalentemente “dinâmicas”) (com nomes no formato libfoo.so) – uma cópia da biblioteca é carregada na memória virtual e compartilhada por todos os aplicativos que chamam alguma das funções dela. Isso é eficiente em termos de espaço. No passado, aplicativos essenciais, como um "shell", frequentemente eram vinculados estaticamente, de forma que existisse alguma forma de sistema mínimo de recuperação, mesmo se bibliotecas compartilhadas, como libc.so, se tornassem danificadas (por exemplo, movidas para lost+found depois de fsck após um desligamento incorreto). Hoje em dia, a maioria das pessoas usa uma instalação alternativa de sistema ou um pendrive se precisar se recuperar. Os sistemas de arquivos com registro em diário também reduzem a probabilidade desse tipo de problema. Dentro do livro, existem vários locais onde chaves de configuração, tais como --disable-static, são empregadas; e outros locais onde a possibilidade de usar versões de sistema das bibliotecas em vez das versões inclusas em outro pacote é discutida. A razão principal para isso é a de simplificar as atualizações de bibliotecas. Se um pacote for vinculado a uma biblioteca dinâmica, [então] a atualização para uma versão mais recente da biblioteca é automática tão logo a biblioteca mais recente seja instalada e o aplicativo for (re)iniciado (condicionada a que a versão maior da biblioteca não seja modificada, por exemplo, indo de libfoo.so.2.0 para libfoo.so.2.1. Ir para libfoo.so.3 exigirá recompilação – o ldd pode ser usado para encontrar quais aplicativos usam a versão antiga). Se um aplicativo for vinculado a uma biblioteca estática, [então] o aplicativo sempre tem de ser recompilado. Se você souber quais aplicativos estão vinculados a uma biblioteca estática em particular, [então] isso é meramente um aborrecimento. Entretanto, normalmente você não saberá quais aplicativos recompilar. Uma forma de identificar quando uma biblioteca estática é usada é a de tratar disso ao final da instalação de cada pacote. Escreva um script para achar todas as bibliotecas estáticas em /usr/lib ou onde quer que você esteja instalando, e, ou mova-as para outro diretório, de forma que não mais sejam encontradas pelo vinculador; ou renomeie-as, de forma que libfoo.a se torne, por exemplo. libfoo.a.oculta. A biblioteca estática pode então ser restaurada temporariamente se for efetivamente necessária, e o pacote que precisa dela pode ser identificado. Isso não deveria ser feito às cegas, pois muitas bibliotecas existem somente em uma versão estática. Por exemplo, algumas bibliotecas originárias dos pacotes glibc e gcc deveriam sempre estar presentes no sistema (libc_nonshared.a, libg.a, libpthread_nonshared.a, libssp_nonshared. a, libsupc++.a desde "glibc-2.36" e "gcc-12.2"). Se você usar essa abordagem, [então] você possivelmente descubra que mais pacotes que o que estava esperando usam uma biblioteca estática. Esse foi o caso com o nettle-2.4 na configuração padrão somente estática dele: Ele era exigido pelo GnuTLS-3.0.19, porém vinculado também em pacote(s) que usa(m) o GnuTLS, tais como o glib-networking-2.32.3. Muitos pacotes colocam algumas das funções comuns deles em uma biblioteca estática que somente é usada pelos aplicativos dentro do pacote e, crucialmente, a biblioteca não é instalada como uma biblioteca independente. Essas bibliotecas internas não são um problema – se o pacote tiver de ser reconstruído para corrigir um defeito ou uma vulnerabilidade, [então] nada mais é vinculado a elas. Quando o BLFS menciona bibliotecas de sistema, significa versões compartilhadas de bibliotecas. Alguns pacotes como [1657]Firefox-115.2.0 e [1658]ghostscript-10.01.2 agrupam muitas outras bibliotecas na árvore de construção deles. A versão que eles enviam geralmente é mais antiga que a versão usada no sistema, portanto possivelmente contenham defeitos – às vezes os(as) desenvolvedores(as) se dão ao trabalho de consertar defeitos nas bibliotecas incluídas deles(as), outras vezes não. Ocasionalmente, decidir usar as bibliotecas do sistema é uma decisão fácil. Outras vezes, possivelmente exija que você altere a versão do sistema (por exemplo, para a [1659]libpng-1.6.40, se usada pelo [1660]Firefox-115.2.0). De vez em quando, um pacote envia uma biblioteca antiga e não mais pode se vincular à versão atual, porém pode se vincular a uma versão mais antiga. Nesse caso, o BLFS normalmente usará apenas a versão enviada. De quando em quando, a biblioteca inclusa não mais é desenvolvida separadamente; ou o(a) desenvolvedor(a) dela é o(a) mesmo(a) que o desenvolvedor(a) do pacote e você não tem outros pacotes que a usarão. Nesses casos, você será levado(a) a usar a biblioteca inclusa, mesmo se geralmente preferir usar as bibliotecas do sistema. Problemas Relacionados à Localidade Esta página contém informações acerca de problemas e de consequências relacionados à localidade. Nos parágrafos seguintes você encontrará uma visão geral das coisas que podem surgir ao configurar o seu sistema para várias localidades. Muitos (mas, não todos) problemas existentes relacionados à localidade podem ser classificados e enquadrados sob um dos títulos abaixo. As avaliações de gravidade abaixo usam o seguinte critério: * Crítica: O aplicativo não realiza a função principal dele. A correção seria muito invasiva; é melhor procurar por uma substituição. * Alta: Parte da funcionalidade que o aplicativo fornece não é utilizável. Se essa funcionalidade for exigida, [então] é melhor procurar por uma substituição. * Baixa: O aplicativo funciona em todos os casos típicos de uso, porém carece de alguma funcionalidade normalmente fornecida pelos equivalentes dele. Se existir uma solução alternativa conhecida para um pacote específico, ela aparecerá na página desse pacote. Para as informações mais recentes relativas a problemas relacionados à localidade para pacotes individuais, verifique as [1661]Observações de Editor no Wiki do BLFS. A Codificação Necessária Não É uma Opção Válida no Aplicativo Gravidade: Crítica Alguns aplicativos exigem que o(a) usuário(a) especifique a codificação de caracteres para os dados de entrada gerada ou de saída gerada deles e apresentam somente uma escolha limitada de codificações. Esse é o caso para a opção -X no [1662]Enscript-1.6.6; para a opção -input-charset no [1663]Cdrtools-3.02a09 não remendado; e para os conjuntos de caracteres oferecidos para exibição no menu do [1664]Links-2.29. Se a codificação exigida não estiver na lista, [então] o aplicativo geralmente se torna completamente inutilizável. Para os aplicativos não interativos, possivelmente seja possível contornar isso convertendo-se o documento para um conjunto suportado de caracteres de entrada gerada antes de submetê-lo ao aplicativo. Uma solução para esse tipo de problema é a de implementar o suporte necessário para a codificação ausente como um remendo para o aplicativo original ou encontrar um substituto. O Aplicativo Assume a Codificação Baseada no Locale dos Documentos Externos Gravidade: Alta para documentos não textuais; baixa para documentos de texto Alguns aplicativos, [1665]nano-7.2 ou [1666]JOE-4.6, por exemplo, assumem que os documentos sempre estejam na codificação implícita pelo locale atual. Enquanto essa presunção possivelmente seja válida para os documentos criados pelo(a) usuário(a), ela não é segura para os externos. Quando essa presunção falha, os caracteres não ASCII são exibidos incorretamente e o documento possivelmente se torne ilegível. Se o documento externo for inteiramente baseado em texto, [então] ele pode ser convertido para a codificação atual do locale usando-se o aplicativo iconv. Para documentos que não sejam baseados em texto, isso não é possível. De fato, a presunção feita no aplicativo possivelmente seja completamente inválida para documentos onde o sistema operacional Microsoft Windows tenha configurado padrões efetivos. Um exemplo desse problema são as etiquetas ID3v1 nos arquivos MP3 (veja-se a [1667]página Codificação ID3v1 da Wiki do BLFS para mais detalhes). Para esses casos, a única solução é a de encontrar um aplicativo substituto que não tenha o problema (por exemplo, um que te permitirá especificar a codificação presumida do documento). Entre os pacotes do BLFS, esse problema se aplica ao [1668]nano-7.2; ao [1669]JOE-4.6; e a todos os reprodutores de mídia, exceto o [1670]Audacious-4.3.1. Outro problema nessa categoria é quando alguém não consegue ler os documentos que você enviou, pois o sistema operacional dessa pessoa está configurado para manusear diferentemente as codificações de caracteres. Isso pode acontecer frequentemente quando a outra pessoa estiver usando o Microsoft Windows, o qual fornece apenas uma codificação de caracteres para um dado país. Por exemplo, isso causa problemas com documentos do TeX codificados em UTF-8 criados no Linux. No Windows, a maioria dos aplicativos assumirá que esses documentos tenham sido criados usando a codificação padrão de oito (08) bits do Windows. Em casos extremos, os problemas de compatibilidade de codificação do Windows possivelmente somente sejam resolvidos executando-se os aplicativos do Windows sob o [1671]Wine. O Aplicativo Usa ou Cria os Nomes de Arquivo na Codificação Errada Gravidade: Crítica O padrão POSIX manda que a codificação do nome de arquivo seja a codificação implícita pela categoria de locale LC_CTYPE atual. Essa informação está bem ocultada na página que especifica o comportamento dos aplicativos Tar e Cpio. Alguns aplicativos obtém isso errado por padrão (ou, simplesmente, não tem informação suficiente para obter isso certo). O resultado é o de que eles criam nomes de arquivo que não são subsequentemente mostrados corretamente pelo ls; ou eles se recusam a aceitar nomes de arquivo que o ls mostra adequadamente. Para a biblioteca [1672]GLib-2.76.4, o problema pode ser corrigido configurando-se a variável de ambiente G_FILENAME_ENCODING para o valor especial "@locale". Os aplicativos baseados na Glib2 que não respeitarem essa variável de ambiente são defeituosos. O [1673]Zip-3.0 e o [1674]UnZip-6.0 tem esse problema, pois eles rigidamente codificam a codificação esperada de nome de arquivo. O UnZip contém uma tabela rigidamente codificada de conversão entre as codificações CP850 (DOS) e ISO-8859-1 (UNIX) e usa essa tabela quando extrai arquivamentos criados sob o DOS ou sob o Microsoft Windows. Entretanto, essa presunção funciona somente para aqueles(as) nos Estados Unidos da América do Norte e não para qualquer um(a) usando um locale UTF-8. Os caracteres não ASCII serão desfigurados nos nomes de arquivos extraídos. A regra geral para se evitar essa classe de problemas é a de se evitar instalar aplicativos quebrados. Se isso for impossível, [então] a ferramenta de linha de comando [1675]convmv pode ser usada para corrigir os nomes de arquivos criados por esses aplicativos quebrados; ou, intencionalmente, desfigurar os nomes de arquivos existentes para satisfazer as expectativas quebradas de tais aplicativos. Em outros casos, um problema similar é causado importando-se nomes de arquivos a partir de um sistema usando um locale diferente com uma ferramenta que não é ciente do locale (por exemplo, o [1676]OpenSSH-9.4p1). Para a finalidade de se evitar desfigurar os caracteres não ASCII quando se transferir arquivos para um sistema com um locale diferente, quaisquer dos seguintes métodos podem ser usados: * Transfira de qualquer modo; corrija o dano com o convmv. * No lado do(a) remetente, crie um arquivamento tar com a chave --format=posix passada para o tar (isso será o padrão em uma versão futura do tar). * Envie os arquivos como anexos de mensagem de correio eletrônico. Os clientes de correio eletrônico especificam a codificação dos nomes de arquivos anexados. * Escreva os arquivos para um disco removível formatado com um sistema de arquivos FAT ou FAT32. * Transfira os arquivos usando o Samba. * Transfira os arquivos via FTP usando um servidor (atualmente, isso significa somente o wu-ftpd, que tem um mau histórico de segurança) e um cliente (por exemplo, o lftp) cientes da RFC2640. Os últimos quatro métodos funcionam, pois os nomes de arquivos são convertidos automaticamente do locale do(a) remetente para UNICODE e armazenados ou enviados nessa forma. Eles são então convertidos transparentemente do UNICODE para a codificação do locale do(a) recipiente. O Aplicativo Quebra Caracteres Multi Byte ou Não Conta Células de Caracteres Corretamente Gravidade: Alta ou crítica Muitos aplicativos foram escritos em uma era mais antiga onde locales multi Byte não eram comuns. Tais aplicativos assumem que o tipo de dados "char" do C, que é um Byte, pode ser usado para armazenar caracteres únicos. Além disso, eles assumem que qualquer sequência de caracteres é uma sequência de caracteres válida e que cada caractere ocupa uma célula única de caractere. Tais presunções quebram completamente em locales UTF-8. A manifestação visível é a de que o aplicativo trunca sequências de caracteres prematuramente (isto é, em oitenta (80) Bytes, em vez de oitenta (80) caracteres). Os aplicativos baseados em terminal não colocam o cursor corretamente na tela; não reagem à tecla "Backspace" apagando um caractere; e deixam caracteres inúteis ao atualizar a tela, geralmente transformando a tela em uma completa bagunça. Corrigir esses tipos de problemas é uma tarefa tediosa, a partir de um ponto de vista do(a) programador(a), semelhante a todos os outros casos de retro adequar conceitos novos no projeto falho antigo. Nesse caso, deve-se reprojetar todas as estruturas de dados para a finalidade de acomodar ao fato de que um caractere completo possivelmente abranja um número variável de "char"s (ou alternar para wchar_t e converter conforme necessário). Também, para cada chamada à "strlen" e funções similares, descobrir se um número de Bytes; um número de caracteres; ou a largura da sequência de caracteres realmente foi declarada. Ocasionalmente, é mais rápido escrever um aplicativo com a mesma funcionalidade desde o zero. Entre os pacotes do BLFS, esse problema se aplica ao [1677]xine-ui-0.99.14 e a todos os shells. O Pacote Instala as Páginas de Manual em Codificação Incorreta ou Não Exibível Gravidade: Baixa O LFS espera que as páginas de manual estejam na codificação específica para o idioma (geralmente oito (08) bits), conforme especificado na [1678]página Man DB do LFS. Entretanto, alguns pacotes instalam as páginas de manual traduzidas na codificação UTF-8 (por exemplo, o Shadow já tratou); ou páginas de manual em idiomas que não estão na tabela. Nem todos os pacotes do BLFS foram auditados para conformidade com as exigências colocadas no LFS (a quase totalidade foi verificada e correções colocadas no livro para os pacotes conhecidos por instalar páginas de manual não conformes). Se você encontrar uma página de manual instalada por quaisquer dos pacotes do BLFS que obviamente esteja na codificação errada, [então], por favor, remova-a ou converta-a conforme necessário e informe isso para a equipe do BLFS como um defeito. Você pode verificar facilmente o seu sistema para quaisquer páginas de manual não conformes, copiando o seguinte script curto de shell para algum local acessível, #!/bin/sh # Início checkman.sh # Uso: find /usr/share/man -type f | xargs checkman.sh for a in "$@" do # echo "Verificando $a..." # Página de Manual ASCII puro (possivelmente exceto comentários) está OK grep -v '.\\"' "$a" | iconv -f US-ASCII -t US-ASCII >/dev/null 2>&1 \ && continue # Página de Manual não UTF-8 está OK iconv -f UTF-8 -t UTF-8 "$a" >/dev/null 2>&1 || continue # Encontrada uma Página de Manual UTF-8, ruim. echo "Página de Manual UTF-8: $a" >&2 done # Fim checkman.sh e, então, emitindo o seguinte comando (modifique o comando abaixo se o script checkman.sh não estiver na sua variável de ambiente PATH): find /usr/share/man -type f | xargs checkman.sh Observe que, se você tiver páginas de manual instaladas em qualquer outro local que /usr/share/man (por exemplo, /usr/local/share/man), [então] você precisa modificar o comando acima para incluir esse local adicional. Indo Além do BLFS Os pacotes que são instalados neste livro são apenas a ponta do iceberg. Nós esperamos que a experiência que você ganhou com o livro LFS e com o livro BLFS te dará o conhecimento necessário para compilar, instalar e configurar pacotes que não estejam inclusos neste livro. Quando você quiser instalar um pacote para um local outro que / ou /usr, você estará instalando fora das configurações padrão de ambiente na maioria das máquinas. Os seguintes exemplos deveriam te auxiliar a determinar como corrigir essa situação. Os exemplos cobrem o intervalo completo de configurações que possivelmente precisem de atualização, porém eles não são todo o necessário em cada situação. * Expanda a PATH para incluir $PREFIX/bin. * Expanda a PATH para o(a) root para incluir $PREFIX/sbin. * Adicione $PREFIX/lib ao /etc/ld.so.conf; ou expanda a LD_LIBRARY_PATH para inclui-lo. Antes de usar a última opção, consulte [1679]http://xahlee.info/UnixResource_dir/_/ldpath.html. Se você modificar o /etc/ld.so.conf, [então] lembre-se de atualizar o /etc/ld.so.cache, executando ldconfig como o(a) usuário(a) root. * Adicione $PREFIX/man ao /etc/man_db.conf; ou expanda MANPATH. * Adicione $PREFIX/info a INFOPATH. * Adicione $PREFIX/lib/pkgconfig a PKG_CONFIG_PATH. Alguns pacotes agora estão instalando arquivos .pc em $PREFIX/share/pkgconfig, de forma que você possivelmente tenha que incluir esse diretório também. * Adicione $PREFIX/include a CPPFLAGS quando compilar pacotes que dependam do pacote que você instalou. * Adicione $PREFIX/lib a LDFLAGS quando compilar pacotes que dependam de uma biblioteca instalada pelo pacote. Se você estiver em busca de um pacote que não estiver no livro, [então] as seguintes são maneiras diferentes que você pode procurar pelo pacote desejado. * Se você souber o nome do pacote, então procure no "SourceForge" por ele em [1680]https://sourceforge.net/directory/; e procure no "GitHub" por ele em [1681]https://github.com/. Também, procure no "Google" em [1682]https://google.com/. Ocasionalmente, uma busca pelo rpm em [1683]https://rpmfind.net/; ou pelo deb em [1684]https://www.debian.org/distrib/packages#search_packages também pode levar a um link para o pacote. * Se você souber o nome do executável, porém não o do pacote ao qual o executável pertence, [então], primeiro, tente uma busca "Google" com o nome do executável. Se os resultados forem sobrecarregadores, [então] tente buscar pelo dado executável no repositório do "Debian" em [1685]https://www.debian.org/distrib/packages#search_contents. Algumas dicas gerais acerca de manusear pacotes novos: * Muitos dos pacotes mais recentes seguem o processo ./configure && make && make install. Ajuda acerca das opções aceitas pelo configure pode ser obtida via o comando ./configure --help. * A maioria dos pacotes contém documentação acerca de compilar e de instalar o pacote. Alguns dos documentos são excelentes; alguns, não tão excelentes. Consulte a página do pacote para quaisquer dicas adicionais e atualizadas para compilar e configurar o pacote. * Se você estiver tendo um problema compilando o pacote, [então] tente procurar nos arquivamentos do LFS em [1686]https://www.linuxfromscratch.org/search.html pelo erro; ou, se isso falhar, [então] tente procurar no Google. Frequentemente, uma distribuição já terá solucionado o problema (muitas delas usam versões de desenvolvimento dos pacotes, de forma que elas veem as mudanças mais breve que aqueles de nós que normalmente usamos versões estáveis lançadas). Porém, seja cauteloso(a) - todos(as) os(as) construtores(as) tendem a carregar remendos que não mais são necessários; e terem correções que somente são exigidas por causa das escolhas particulares deles(as) em como constroem um pacote. Você possivelmente tenha que procurar profundamente para encontrar uma correção para a versão do pacote que estiver tentando usar; ou até mesmo para encontrar o pacote (os nomes, ocasionalmente, não são o que você poderia esperar; por exemplo, o ghostscript frequentemente tem um prefixo ou um sufixo no nome dele); entretanto, as observações seguintes poderiam ajudar, particularmente aqueles(as) que, como os(as) editores(as), estão tentando construir as versões mais recentes e encontrar problemas: + "Arch" [1687]https://www.archlinux.org/packages/ - informe o nome do pacote na caixa 'Keywords'; selecione o nome do pacote; selecione o campo 'Source Files'; e, então, selecione a entrada PKGBUILD para ver como eles constroem esse pacote. + "Debian" [1688]https://ftp.debian.org/debian/pool (use a versão do teu país, se existir uma) - o fonte estará em "tarballs" ".tar.gz" (ou o fonte original .orig do(a) desenvolvedor(a); ou, do contrário, um dfsg contendo aquelas partes que cumprem as diretrizes de software livre do "Debian") acompanhado por adições versionadas ".diff.gz" ou ".tar.gz". Essas adições frequentemente mostram como o pacote é construído e possivelmente contenham remendos. Nas versões ".diff.gz", quaisquer remendos criam arquivos em debian/patches. + O fonte do pacote do Fedora é reorganizado de tempos em tempos. No momento, o fonte do pacote para rpms está em [1689]https://src.fedoraproject.org/projects/rpms/%2A e, a partir de lá, você pode tentar colocando um nome de pacote na caixa de busca. Se o pacote for encontrado, [então] você pode olhar nos arquivos ("specfile" para controlar a construção; vários remendos) ou nos commits. Se isso falhar, [então] você pode baixar um srpm (source rpm) e usar o rpm2cpio (veja-se a Dica ao final da página). Para rpms, vá para [1690]https://dl.fedoraproject.org/pub/fedora/linux/ e, então, escolha qual repositório deseja olhar - development/rawhide é o desenvolvimento mais recente; ou, escolha "releases", para o que foi embarcado em um lançamento; "updates", para as atualizações para um lançamento; ou, "updates/testing", para as atualizações mais recentes, que poderiam funcionar ou poderiam ter problemas. + "Gentoo" - Primeiro use um mecanismo de busca para encontrar um "ebuild" que pareça resolver o problema, ou pesquise em [1691]https://packages.gentoo.org/ - use o campo de busca. Observe onde o pacote reside na hierarquia do "portage", por exemplo, app-alguma_coisa/. Em geral você pode tratar o "ebuild" como uma espécie de combinação de pseudocódigo/shell com algumas funções que você pode arriscar, como dodoc. Se a correção for apenas um sed, [então] tente. No entanto, na maioria dos casos, a correção usará um remendo. Para encontrar o remendo, use um espelho "gentoo-portage": Dois links para espelhos nos Estados Unidos da América do Norte que parecem estar atualizados são [1692]https://mirror.rackspace.com/gentoo-portage/ e [1693]https://mirror.steadfast.net/gentoo-portage/. Navegue pela árvore até o pacote e depois até o diretório files/ para procurar o remendo. Às vezes um espelho do "portage" ainda não foi atualizado, especialmente para um novo remendo recente. Em alguns casos, o "Gentoo" agrupa os remendos em um "tarball" e o "ebuild" terá um link no formato https://dev.gentoo.org/~${PATCH_DEV}/distfiles/${P}-patches-${ PATCH_VER }.tar.xz : aqui, procure "PATCH_DEV" e "PATCH_VER" na construção e formate o "URL" completo em seu navegador ou para o "wget" : lembre-se do "~" antes do "ID" do(a) desenvolvedor(a) e observe que tentar pesquisar os níveis anteriores do "URL" em um navegador possivelmente te levará para www.gentoo.org ou retornará 403 (proibido). + O "openSUSE" fornece um lançamento contínuo; algumas versões de pacote estão em [1694]https://download.opensuse.org/source/tumbleweed/repo/oss /src/, porém outras estão em ../update/openSUSE-current/src - o fonte parece somente estar disponível em "source rpms". + "Slackware" - o navegador de pacote oficial atualmente está quebrado. O sítio em [1695]https://slackbuilds.org/ tem versões atuais e anteriores no repositório não oficial delas com links para páginas iniciais, transferências e alguns arquivos individuais, particularmente os arquivos .SlackBuild. + "Ubuntu" [1696]ftp://ftp.ubuntu.com/ubuntu/pool/ - vejam-se as observações "Debian" acima. Se tudo o mais falhar, [então] tente a lista de discussão "blfs-support". Dica Se você tiver encontrado um pacote que está disponível somente no formato .deb ou no .rpm, [então] existem dois scripts pequenos, rpm2targz e deb2targz, que estão disponíveis em [1697]https://anduin.linuxfromscratch.org/BLFS/extras/deb2targz.tar.bz2 e [1698]https://anduin.linuxfromscratch.org/BLFS/extras/rpm2targz.tar.bz2 , para converter os arquivamentos em um formato simples tar.gz. Você possivelmente ache também um script "rpm2cpio" útil. A versão "Perl" nos arquivamentos do núcleo Linux em [1699]https://lore.kernel.org/all/20021016121842.GA2292@ncsu.edu/2-rpm2 cpio funciona para a maioria dos "source rpms". O script "rpm2targz" usará um script ou binário "rpm2cpio" se um estiver no teu caminho. Observe que o "rpm2cpio" desempacotará um "source rpm" no diretório atual, dando um "tarball"; um arquivo de especificação; e, talvez, remendos ou outros arquivos. Parte II. Configuração Pós LFS e Software Extra Capítulo 3. Problemas Depois da Configuração do LFS A intenção do LFS é a de fornecer um sistema básico sobre o qual você possa construir. Existem várias coisas acerca de aprimorar o sistema que muitas pessoas se questionam tão logo tenham feito a instalação básica. Nós esperamos cobrir esses problemas neste capítulo. A maioria das pessoas vindas de origens não Unix para o Linux acha o conceito de arquivos de configuração somente texto um pouco estranho. No Linux, quase toda a configuração é feita via manuseio de arquivos de texto. A maioria desses arquivos pode ser encontrada na hierarquia /etc. Existem frequentemente aplicativos gráficos de configuração disponíveis para diferentes subsistemas, porém a maioria é simplesmente estrutura bonita de interação direta com o(a) usuário(a) para o processo de editar um arquivo de texto. A vantagem da configuração somente texto é a de que você consegue editar os parâmetros usando o seu editor de texto favorito, seja ele vim; emacs; ou qualquer outro editor. A primeira tarefa é a de fazer um dispositivo de inicialização de recuperação em [1700]Criando um Dispositivo Personalizado de Inicialização, pois ele é a necessidade mais crítica. Problemas de hardware relevantes para firmware e outros dispositivos são endereçados a seguir. O sistema é então configurado para facilitar a adição de usuários(as) novos(as), pois isso pode afetar as escolhas que você fizer nos dois tópicos subsequentes—[1701]Os Arquivos de Iniciação do Shell Bash e [1702]Os Arquivos vimrc. Existe um tópico restante: [1703]Personalizando o seu Logon com o /etc/issue. Ele não tem muita interação com os outros tópicos neste capítulo. Criando um Dispositivo Personalizado de Inicialização Necessidades Decentes do Dispositivo de Inicialização de Resgate Esta seção realmente é a respeito de criar um dispositivo de resgate. Como o nome resgate indica, o sistema anfitrião tem um problema, frequentemente informação de partição perdida ou sistemas de arquivo corrompidos, que o impede de inicializar e (ou) de operar normalmente. Por essa razão, você não deve depender dos recursos oriundos do anfitrião sendo "resgatado". Presumir que qualquer dada partição ou unidade rígida estará disponível é uma suposição arriscada. Em um sistema moderno, existem muitos dispositivos que podem ser usados como um dispositivo de resgate: disquete; CDROM; unidade USB; ou mesmo uma placa de rede. Qual desses você usa depende do seu hardware e do seu BIOS. No passado, um dispositivo de resgate era concebido para ser um disquete. Atualmente, muitos sistemas nem mesmo tem uma unidade de disquete. Construir um dispositivo de resgate completo é uma tarefa desafiadora. De muitas maneiras, isso é equivalente a construir um sistema LFS inteiro. Adicionalmente, seria uma repetição da informação já disponível. Por essas razões, os procedimentos para uma imagem de dispositivo de resgate não são apresentados aqui. Criando um Disquete de Resgate O software dos sistemas atuais cresceu muito. O Linux 2.6 não mais suporta inicializar diretamente a partir de um disquete. Apesar disso, existem soluções disponíveis usando versões mais antigas do Linux. Uma das melhores é o Disco de Root/Inicialização do Tom disponível em [1704]http://www.toms.net/rb/. Isso fornecerá um sistema mínimo Linux em disquete único e fornece a habilidade para personalizar o conteúdo do seu disco se necessário. Criando um CD-ROM Inicializável Existem várias fontes que podem ser usadas para um CD-ROM de resgate. Quase quaisquer CD-ROMs ou DVDs de instalação das distribuições comerciais funcionarão. Essas incluem RedHat; Ubuntu; e SuSE. Uma opção muito popular é a Knoppix. Também, a Comunidade do LFS desenvolveu o próprio LiveCD dela, disponível em [1705]https://www.linuxfromscratch.org/livecd/. Esse LiveCD não mais é capaz de construir um sistema LFS/BLFS inteiro, porém ainda é um bom CD-ROM de resgate. Se você baixar a imagem ISO, [então] use o [1706]xorriso para copiar a imagem para um CD-ROM. As instruções para usar o GRUB2 para fazer um CD-ROM de resgate personalizado também estão disponíveis no [1707]Capítulo 10 do LFS. Criando uma Unidade USB Inicializável Uma unidade Pen USB, por vezes chamada de unidade Polegar, é reconhecida pelo Linux como um dispositivo SCSI. Usar um desses dispositivos como um dispositivo de resgate tem a vantagem de que, geralmente, ele é largo o suficiente para manter mais que uma imagem de inicialização mínima. Você consegue salvar dados críticos na unidade, bem como usá-la para diagnosticar e recuperar um sistema danificado. Inicializar tal unidade exige suporte BIOS, porém construir o sistema consiste de formatar a unidade; adicionar o GRUB; bem como o núcleo Linux e arquivos de suporte. Acerca das Fontes do Console Um sistema LFS pode ser usado sem uma área de trabalho gráfica e, a menos ou até que instale o [1708]um ambiente gráfico, você terá que trabalhar no console. A maioria, se não todos, dos PCs inicializa com uma fonte 8x16 - qualquer que seja o tamanho atual da tela. Existem umas poucas coisas que você pode fazer para alterar a exibição no console. A maioria delas envolve mudar a fonte, porém a primeira altera a linha de comando usada pelo GRUB. Configurando um tamanho menor de tela no GRUB As telas modernas frequentemente tem muito mais pixeis que as telas usadas no passado. Se a sua tela for da largura de mil e seiscentos (1.600) pixeis, [então] uma fonte 8x16 te dará 200 colunas de texto - a menos que o seu monitor seja enorme, o texto será pequeno. Uma das maneiras de se contornar isso é a de se dizer ao GRUB para usar um tamanho menor, tal como 1.024x768; ou 800x600; ou mesmo 640x480. Mesmo se a sua tela não tiver uma proporção de aspecto de 4:3, isso deveria funcionar. Para tentar isso, você pode reinicializar e editar a linha de comando do GRUB para inserir um parâmetro 'video=' entre o 'root=/dev/sdXn' e o 'ro'; por exemplo, root=/dev/sda2 video=1024x768 ro, baseado no exemplo da seção 10.4.4 do LFS: [1709]../../../../lfs/view/12.0-systemd/chapter10/grub.html. Se decidir que deseja fazer isso, você pode então (como o(a) usuário(a) root) editar /boot/grub/grub.cfg. Usando as fontes psf padrão No LFS o pacote kbd é usado. As fontes que ele fornece são as Fontes de Tela do PC, geralmente chamadas de PSF, e elas foram instaladas no /usr/share/consolefonts. Onde essas incluem uma tabela de mapeamento Unicode, o sufixo do arquivo frequentemente é mudado para .psfu, apesar de pacotes tais como o terminus-font (veja-se abaixo) não adicionarem o 'u'. Essas fontes geralmente são comprimidas com o gzip para economizar espaço, porém isso não é essencial. As telas de texto iniciais do PC tinham oito (08) cores; ou dezesseis (16) cores se as versões brilhantes das oito (08) cores originais fossem usadas. Uma fonte PSF pode incluir até duzentos e cinquenta e seis (256) caracteres (tecnicamente, glifos) enquanto permite dezesseis (16) cores; ou até quinhentos e doze (512) caracteres (caso no qual, as cores brilhantes não estarão disponíveis). Claramente, essas fontes de console não podem ser usadas para exibir texto CJK - isso precisaria de centenas de glifos disponíveis. Algumas fontes no kbd conseguem cobrir mais que quinhentos e doze (512) pontos de código ('caracteres'), com graus variantes de fidelidade: Unicode contém vários pontos de código de espaço em branco os quais podem todos serem mapeados para um espaço; variedades de traços podem ser mapeados para um sinal de menos; aspas inteligentes podem ser mapeadas para as aspas ASCII regulares em vez de para o que é usado para "ponto de código não presente ou inválido"; e aquelas letras cirílicas ou gregas que se parecem com letras latinas podem ser mapeadas nelas, de forma que 'A' também pode cumprir o dever para o A cirílico e grego Alfa; e 'P' também pode cumprir o dever para o cirílico ER e grego RHO. Infelizmente, onde uma fonte tenha sido criada a partir de um arquivo BDF (o método no terminus e no [1710]console-setup do Debian) tal mapeamento dos pontos de código adicionais em um glifo existente nem sempre é feito, apesar das fontes ter-vXXn do terminus fazerem isso bem. Existem mais que cento e vinte (120) combinações de fonte e tamanho no kbd: frequentemente uma fonte é fornecida em vários tamanhos de caracteres; e, de vez em quando, as variedades cobrem subconjuntos diferentes do Unicode. A maioria é da largura de oito (08) pixeis, em alturas de oito (08) até dezesseis (16) pixeis; porém, existem umas poucas que são da largura de nove (09) pixeis; algumas outras são 12x22; e mesmo uma, (latarcyrheb-sun32.psfu), que foi escalada até 16x32. Usar uma fonte maior é outra maneira de tornar o texto mais fácil de ler em uma tela grande. Testando fontes diferentes Você consegue testar as fontes como um(a) usuário(a) normal. Se tiver uma fonte que não tenha sido instalada, [então] você consegue carregá-la com: setfont /caminho/para/sua_fonte.ext Para as fontes já instaladas você precisa somente do nome; assim, usando gr737a-9x16.psfu.gz como um exemplo: setfont gr737a-9x16 Para ver os glifos na fonte, use: showconsolefont Se a fonte aparentar como se pudesse ser útil, você pode então ir em frente para testá-la mais minuciosamente. Quando você encontrar uma fonte que desejar usar, como o(a) usuário(a) root edite o /etc/vconsole.conf conforme descrito na seção 9.6 do LFS [1711]../../../../lfs/view/12.0-systemd/chapter09/console.html. Para fontes não fornecidas com o pacote kbd, você precisará opcionalmente comprimi-la(s) com o gzip e então instalá-la(s) como o(a) usuário(a) root. Editando fontes usando o psf-tools Apesar de algumas fontes de console serem criadas a partir de arquivos "BDF", que é um formato de texto com valores hexadecimais para os pixeis em cada linha do caractere, existem ferramentas mais modernas disponíveis para editar fontes "psf". O pacote [1712]psftools te permite despejar uma fonte para uma representação de texto com um travessão para um pixel que esteja desligado (preto); e uma cerquilha para um pixel que esteja ligado (branco). Você consegue então editar o arquivo de texto para adicionar mais caracteres; ou remodelá-los; ou mapear pontos extras de código para eles; e, então, criar uma fonte "psf" nova com as suas mudanças. Usando fontes a partir da fonte Terminus O pacote [1713]Fonte Terminus fornece fontes de mapa de bits de largura fixa projetadas para trabalho longo (oito (08) horas ou mais por dia) com computadores. Sob "Character variants" naquela página está uma lista de remendos (no diretório alt/). Se estiver usando um navegador gráfico para olhar para aquela página, [então] você consegue ver o que os remendos fazem; por exemplo, "ll2" torna o "l" mais visivelmente diferente de "i" e "1". Por padrão, terminus-fonts tentará criar vários tipos de fontes e falhará se bdftopcf oriundo do [1714]Aplicativos do Xorg não tiver sido instalado. O script configure somente é realmente útil se você for em frente para instalar todas as fontes (console e mapa de bits do X11) nos diretórios corretos, como em uma distribuição. Para construir somente as fontes PSF e as dependências delas, execute: make psf Isso criará mais que duzentas e quarenta (240) fontes ter-*.psf. O sufixo 'b' indica brilhante; 'n' indica normal. Você consegue então testá-las para ver se alguma se adéqua às suas exigências. A menos que esteja criando uma distribuição, parece não fazer sentido instalá-las todas. Como um exemplo, para instalar a última dessas fontes, você pode gzipá-la e, então, como o(a) usuário(a) root: install -v -m644 ter-v32n.psf.gz /usr/share/consolefonts Acerca de Firmware Em alguns PCs recentes, pode ser necessário, ou desejável, carregar firmware para fazer com que trabalhem no melhor deles. Existe um diretório, /lib/firmware, onde o núcleo ou os controladores de núcleo procuram por imagens de firmware. Atualmente, a maioria do "firmware" pode ser encontrada em um repositório git: [1715]https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmw are.git/tree/. Por conveniência, o Projeto LFS criou um espelho, atualizado diariamente, onde esses arquivos de "firmware" podem ser acessados via wget ou via um navegador da "web" em [1716]https://anduin.linuxfromscratch.org/BLFS/linux-firmware/. Para obter o firmware, ou aponte um navegador para um dos repositórios acima e, então, transfira o(s) item(s) que você precisar; ou instale o [1717]git-2.41.0 e clone aquele repositório. Para algum outro firmware, particularmente para microcódigo da Intel e certos dispositivos wifi, o firmware necessário não está disponível no repositório acima. Algo disso será endereçado abaixo, porém uma busca da Internet pelo firmware necessário de vez em quando é necessária. Os arquivos de firmware convencionalmente são referenciados como blobs, pois você não consegue determinar o que eles farão. Observe que o firmware é distribuído sob diferentes licenças que não permitem desmontagem ou engenharia reversa. Firmware para PCs caem em quatro categorias: * Atualizações para a CPU contornar erros, geralmente referenciadas como microcódigo. * Firmware para controladores de vídeo. Em máquinas x86, isso é exigido para dispositivos ATI (chips Radeon e AMDGPU); e possivelmente seja útil para GPUs Intel (Skylake e posteriores) e Nvidia (Kepler e posteriores). Os dispositivos "ATI Radeon" e "AMGPU" todos exigem "firmware" para estarem aptos a usar o "KMS" (kernel modesetting - a opção preferida), bem como para "Xorg". Para os antigos chips "Radeon" (antes do "R600"), o "firmware" ainda está no fonte do núcleo. GPUs integradas Intel a partir do Skylake em diante conseguem usar firmware para GuC (o microcontrolador Graphics) e, também, para o HuC (microcontrolador HEVC/H265, que descarrega para a GPU); e o DMC (Display Microcontroller) para fornecer estados adicionais de baixa eletricidade. O GuC e o HuC tiveram um histórico duvidoso no núcleo e o firmware atualizado possivelmente esteja desabilitado por padrão, dependendo da sua versão de núcleo. Maiores detalhes podem ser encontrados em [1718]01.org; e [1719]Arch linux. "GPUs" "Nvidia" a partir do "Kepler" em diante exigem "firmware" assinado, do contrário o controlador "nouveau" será incapaz de fornecer aceleração de "hardware". "Nvidia" agora lançou "firmware" até o "Ampere" (série "GeForce30") para o "linux-firmware". Observe que os relógios mais rápidos que o padrão não são habilitados pelo "firmware" lançado. * Atualizações de firmware para portas cabeadas de rede de comunicação. A maioria delas funciona mesmo sem as atualizações, porém provavelmente funcionarão melhor com o firmware atualizado. Para alguns laptops modernos, o firmware para ambos, ethernet cabeado (por exemplo, rtl_nic), e também para dispositivos bluetooth (por exemplo, qca), é exigido antes que a rede de comunicação cabeada possa ser usada. * Firmware para outros dispositivos, tais como NICs sem fios. Esses dispositivos não são exigidos para o PC inicializar, porém precisam do firmware antes que esses dispositivos possam ser usados. Nota Apesar de não necessárias para carregar um blob de firmware, as seguintes ferramentas possivelmente sejam úteis para determinar, obter ou preparar o firmware necessário para a finalidade de carregá-lo no sistema: [1720]cpio-2.14; [1721]git-2.41.0; [1722]pciutils-3.10.0; e [1723]Wget-1.21.4 Atualizações de microcódigo para CPUs Em geral, microcódigo pode ser carregado pelo BIOS ou pela UEFI e poderia ser atualizado atualizando-se para uma versão mais recente daqueles. No Linux, você também pode carregar o microcódigo a partir do núcleo se estiver usando um processador AMD família 10h ou posterior (introduzido primeiramente no final de 2007); ou um processador Intel a partir de 1998 e posterior (Pentium4, Core, etc), se microcódigo atualizado tiver sido lançado. Essas atualizações duram somente até que a máquina seja desligada, de forma que elas precisam ser aplicadas a cada inicialização. A "Intel" fornece atualizações do microcódigo dela para os processadores "Skylake" e posteriores conforme vulnerabilidades novas surjam e forneceu no passado atualizações para processadores a partir do "SandyBridge" em diante, apesar daqueles não mais serem suportados para correções novas. Versões novas do "firmware" "AMD" são raras e geralmente somente se aplicam a uns poucos modelos, apesar dos(as) fabricantes de placas mãe obterem atualizações "AMD Generic Encapsulated Software Architecture" ("AGESA") para mudar os valores do "BIOS", por exemplo, para suportar mais variantes de memória, correções novas de vulnerabilidades ou "CPUs" mais recentes. Existiam duas maneiras de carregar o microcódigo, descritas como "antecipada" e "atrasada". O carregamento antecipado ocorre antes que o espaço de usuário(a) tenha sido iniciado; o carregamento atrasado ocorre depois que o espaço de usuário(a) iniciou. No entanto, o carregamento atrasado é conhecido por ser problemático e não mais é suportado (veja-se o "commit" do núcleo [1724]x86/microcode: Taint and warn on late loading). Na verdade, o carregamento antecipado é necessário para contornar uma errata específica nos primeiros processadores "Intel" "Haswell" que tinham "TSX" habilitado. (Veja-se [1725]Intel Disables TSX Instructions: Erratum Found in Haswell, Haswell-E/EP, Broadwell-Y). Sem essa atualização, a "glibc" pode fazer a coisa errada em situações incomuns. Nas versões anteriores deste livro, era recomendado o carregamento atrasado do microcódigo para verificar se ele seria aplicado, seguido pelo uso de um "initrd" para forçar o carregamento antecipado. Mas agora que o conteúdo do "tarball" do microcódigo "Intel" está documentado e o microcódigo "AMD" pode ser lido por um script "Python" para determinar quais máquinas ele cobre, não existe razão real para usar o carregamento atrasado. Ainda pode ser possível forçar manualmente o carregamento atrasado do microcódigo. Mas isso possivelmente cause mau funcionamento do núcleo e você mesmo(a) deveria correr o risco. Você precisará reconfigurar seu núcleo para qualquer um dos métodos. As instruções aqui te mostrarão como criar um "initrd" para carregamento antecipado. Também é possível construir o mesmo arquivo binário de microcódigo interno ao núcleo, o que permite o carregamento antecipado, mas exige que o núcleo seja recompilado para atualizar o microcódigo. Para confirmar qual(is) processador(es) você tem (se mais que um, eles serão idênticos) olhe em "/proc/cpuinfo". Determine os valores decimais da família da "CPU"; do modelo; e da revisão executando o seguinte comando (também informará a versão atual do microcódigo): head -n7 /proc/cpuinfo Converta a família da "CPU", o modelo e a revisão em pares de dígitos hexadecimais e lembre-se do valor do campo “microcode”. Agora você pode verificar se existe algum microcódigo disponível. Se você estiver criando um "initrd" para atualizar "firmware" para máquinas diferentes, como uma distribuição faria, [então] vá para baixo até 'Carregamento antecipado do microcódigo' e concatene todos os "blobs" "Intel" para "GenuineIntel.bin"; ou concatene todos os "blobs" "AMD" para "AuthenticAMD.bin". Isso cria um "initrd" mais largo - para todas as máquinas "Intel" na atualização 20200609, o tamanho era de três (3,0) MB comparado a tipicamente vinte e quatro (24) KB para uma máquina. Microcódigo Intel para a CPU O primeiro passo é o de obter a versão mais recente do microcódigo da Intel. Isso precisa ser feito navegando-se até [1726]https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Fil es/releases/ e baixando-se o arquivo mais recente lá. Ao tempo da escrita deste texto, a versão mais segura do microcódigo era microcode-20230808. Extraia esse arquivo da maneira normal; o microcódigo está no diretório intel-ucode, contendo vários "blobs" com nomes na forma "XX-YY-ZZ". Existem também vários outros arquivos e uma observação de lançamento. No passado, a "Intel" não fornecia quaisquer detalhes relativos a quais "blobs" tinham versões mudadas, mas agora a nota de lançamento detalha isso. Você consegue comparar a versão do microcódigo em /proc/cpuinfo com a versão do seu modelo de "CPU" na nota de lançamento para saber se existe uma atualização. O firmware recente para processadores mais antigos é fornecido para lidar com vulnerabilidades que agora tenham sido tornadas públicas e, para algumas dessas, tais como Microarchitectural Data Sampling (MDS), você poderia desejar aumentar a proteção desabilitando hyperthreading; ou, alternativamente, desabilitar a mitigação padrão do núcleo, por causa do impacto dela sobre os tempos de compilação. Por favor, leia a documentação online em [1727]https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/index. html. Para um dispositivo móvel Tigerlake (descrito como CPU Intel(R) Core(TM) i5-11300H), os valores relevantes são "cpu family 6", "model 140", "stepping 1", de modo que, nesse caso, a identificação exigida é "06-8c-01". A observação de lançamento diz que o microcódigo mais recente para ele é versionado "0xac". Se o valor do campo “microcode” em /proc/cpuinfo for "0xac" ou superior, isso indica que a atualização do microcódigo já foi aplicada pelo BIOS. Caso contrário, configure o núcleo para suportar o carregamento do microcódigo Intel e prossiga para [1728]“Carregamento antecipado do microcódigo”: General setup ---> [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support ... [BLK_DEV_INITRD] Processor type and features ---> [*] CPU microcode loading support [MICROCODE] [*] Intel microcode loading support [MICROCODE_INTEL] Microcódigo AMD para a CPU Comece baixando um contêiner do "firmware" para a família da sua "CPU" a partir de [1729]https://anduin.linuxfromscratch.org/BLFS/linux-firmware/amd-ucode /. A família sempre é especificada em hexadecimal. As famílias "10h" até "14h" (16 até 20) estão no "microcode_amd.bin". As famílias "15h", "16h", "17h" ("Zen", "Zen+", "Zen2") e "19h" ("Zen3") tem os contêineres próprios delas, mas pouquíssimas máquinas provavelmente receberão microcódigo atualizado. Em vez disso, a "AMD" fornece um "AGESA" atualizado para os(as) fabricantes de placas-mãe, que possivelmente forneçam um "BIOS" atualizado usando-o. Existe um script "Python3" em [1730]https://github.com/AMDESE/amd_ucode_info/blob/master/amd_ucode_in fo.py. Baixe esse script e execute-o em relação ao arquivo "bin" para verificar quais processadores tem atualizações. Para o muito antigo "Athlon(tm) II X2" nesses exemplos os valores eram "cpu family 16", "model 5", "stepping 3", dando uma identificação de Família=0x10 Modelo=0x05 Passo=0x03. Uma linha da saída gerada do script amd_ucode_info.py descreve a versão do microcódigo para ele: Family=0x10 Model=0x05 Stepping=0x03: Patch=0x010000c8 Length=960 bytes Se o valor do campo “microcode” em /proc/cpuinfo for "0x10000c8" ou superior, [então] indica que o "BIOS" já aplicou a atualização do microcódigo. Caso contrário, configure o núcleo para suportar o carregamento do microcódigo "AMD" e prossiga para [1731]“Carregamento antecipado do microcódigo”: General setup ---> [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support ... [BLK_DEV_INITRD] Processor type and features ---> [*] CPU microcode loading support [MICROCODE] [*] AMD microcode loading support [MICROCODE_AMD] Carregamento antecipado do microcódigo Se você tiver estabelecido que o microcódigo atualizado está disponível para o seu sistema, [então] é hora de prepará-lo para o carregamento antecipado. Isso exige um pacote adicional, o [1732]cpio-2.14 e a criação de um initrd que precisará ser adicionado ao grub.cfg. Não importa onde você prepara o initrd e, tão logo ele esteja funcionando, você pode aplicar o mesmo initrd a sistemas LFS posteriores ou a núcleos mais recentes na mesma máquina, ao menos até que algum microcódigo mais recente seja liberado. Use os seguintes comandos: mkdir -p initrd/kernel/x86/microcode cd initrd Para uma máquina AMD, use o seguinte comando (substitua pelo nome do contêiner para a família da sua CPU): cp -v ../ kernel/x86/microcode/AuthenticAMD.bin Ou, para uma máquina Intel, copie o blob apropriado usando este comando: cp -v ../intel-ucode/ kernel/x86/microcode/GenuineIntel.bin Agora, prepare o initrd: find . | cpio -o -H newc > /boot/microcode.img Agora você precisa adicionar uma entrada nova a /boot/grub/grub.cfg e aqui você deveria adicionar uma linha nova depois da linha linux dentro da estância. Se /boot for um ponto de montagem separado: initrd /microcode.img ou isto, se ele não for: initrd /boot/microcode.img Se já estiver inicializando com um "initrd" (veja-se [1733]“A respeito do initramfs”), [então] você deveria executar mkinitramfs novamente depois de colocar o "blob" ou contêiner apropriado no /lib/firmware. Mais precisamente, coloque um "blob" "Intel" em um diretório /lib/firmware/intel-ucode ou um contêiner "AMD" em um diretório /lib/firmware/amd-ucode antes de executar mkinitramfs. Alternativamente, você pode ter ambos os "initrd" na mesma linha, tal como initrd /microcode.img /outro-initrd.img (adapte isso conforme acima se "/boot" não for um ponto de montagem separado). Você agora pode reinicializar com o "initrd" adicionado e, então, usar o seguinte comando para verificar se o carregamento antecipado funcionou: dmesg | grep -e 'microcode' -e 'Linux version' -e 'Command line' Se atualizou para endereçar vulnerabilidades, [então] você pode olhar a saída gerada do comando lscpu para ver o que é informado agora. Os locais e horários onde o carregamento antecipado acontece são muito diferentes em máquinas AMD e Intel. Primeiro, um exemplo de uma Intel (dispositivo móvel Tigerlake) com carregamento antecipado: [ 0.000000] microcode: microcode updated early: 0x86 -> 0xac, date = 2023-02- 27 [ 0.000000] Linux version 6.4.7 (root@stargazer) (gcc (GCC) 13.2.0, GNU ld (G NU Binutils) 2.41) #1 SMP PREEMPT_DYNAMIC Wed Aug 2 19:08:46 CST 2023 [ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-6.4.7 root=PARTUUID= ro [ 0.424002] microcode: Microcode Update Driver: v2.2. Um exemplo histórico AMD: [ 0.000000] Linux version 4.15.3 (ken@testserver) (gcc version 7.3.0 (GCC)) #2 SMP Sun Feb 18 02:32:03 GMT 2018 [ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-4.15.3-sda5 root=/dev/sda5 ro [ 0.307619] microcode: microcode updated early to new patch_level=0x010000c8 [ 0.307678] microcode: CPU0: patch_level=0x010000c8 [ 0.307723] microcode: CPU1: patch_level=0x010000c8 [ 0.307795] microcode: Microcode Update Driver: v2.2. Firmware para Placas de Vídeo Firmware para chips de vídeo ATI (R600 e posteriores) Estas instruções NÃO se aplicam aos antigos Radeons antes da família R600. Para aqueles, o firmware está no diretório do núcleo /lib/firmware/. Nem se aplicam se você pretender evitar uma configuração gráfica como o Xorg e estiver contente em usar a exibição padrão de 80x25 em vez de um framebuffer. Os dispositivos iniciais Radeon precisavam somente de um blob de firmware de 2K. Os dispositivos recentes precisam de vários blobs e alguns deles são muito maiores. O tamanho total do diretório do firmware Radeon é de mais que 500K — em um sistema largo moderno você provavelmente pode poupar o espaço, porém ainda é redundante instalar todos os arquivos não usados a cada vez que construir um sistema. Uma abordagem melhor é a de instalar o [1734]pciutils-3.10.0 e, então, usar o lspci para identificar qual controlador VGA está instalado. Com essa informação, verifique a página "RadeonFeature" da "wiki" do "Xorg" para [1735]Decoder ring for engineering vs marketing names para identificar a família (você possivelmente precise saber disso para o controlador "Xorg" no BLFS — Ilhas do Sul e Ilhas do Mar usam o controlador "radeonsi") e o modelo específico. Agora que você sabe qual controlador está usando, consulte a página [1736]Radeon da wiki do Gentoo a qual tem uma tabela listando os blobs de firmware exigidos para os vários chipsets. Observe que os chips das Ilhas do Sul e os das Ilhas do Mar usam firmware diferente para o núcleo 3.17 e posteriores comparados a núcleos anteriores. Identifique e baixe os blobs exigidos; então instale-os: mkdir -pv /lib/firmware/radeon cp -v /lib/firmware/radeon Construir o controlador amdgpu do núcleo como um módulo é recomendado porque os arquivos de firmware precisam estar acessíveis ao tempo que ele for carregado. Se você estiver construindo-o como parte da imagem do núcleo por qualquer motivo, você precisará incluir os arquivos de firmware no initramfs (leia-se [1737]“A respeito do initramfs” para detalhes) ou incluí-los na própria imagem do núcleo (leia-se [1738]“Incluir Blobs de Firmware na Imagem do Núcleo” para detalhes). "Firmware" para chips de vídeo "amdgpu" "AMD"/"ATI" Todos os controladores de vídeo que usam o controlador "amdgpu" do núcleo exigem "firmware", se você estará usando o controlador "amdgpu" do "Xorg", o controlador "modesetting" do "xserver" ou apenas o "modesetting" do núcleo para obter um "framebuffer" do console maior que "80x25". Instale [1739]pciutils-3.10.0 e use-o para verificar o nome do modelo (procure por "VGA compatible controller:"). Se você tiver uma "Unidade de Processamento Acelerado" ("APU"), ou seja, "CPU" e vídeo no mesmo chip), provavelmente te dirá o nome. Se você tiver uma placa de vídeo "amdgpu" separada, [então] precisará pesquisar para determinar qual nome ela usa (por exemplo, uma placa descrita como "Advanced Micro Devices, Inc." ["AMD"/"ATI"] "Baffin" ["Radeon RX 550 640SP / RX 560/560X"] precisa de "firmware" "Polaris11". Existe uma tabela de "Família, nome do "Chipset", nome do Produto e Firmware" no final das seções "Kernel" na página [1740]AMDGPU do "wiki" do "Gentoo". Depois que você tiver identificado o nome do "firmware", instale todos os arquivos relevantes para ele. Por exemplo, a placa "Baffin" mencionada acima tem vinte e um (21) arquivos "polaris11*", "APUs" como "renoir" e "picasso" tem pelo menos doze (12) arquivos e podem ganhar mais em atualizações futuras (por exemplo, a "APU" "raven" agora tem um décimo terceiro (13º) arquivo, "raven_ta.bin"). mkdir -pv /lib/firmware/amdgpu cp -v /lib/firmware/amdgpu Se espaço em disco não for um problema, [então] você poderá instalar todos os arquivos atuais de "firmware" "amdgpu" e não se preocupar exatamente com qual "chipset" está instalado. Construir o controlador amdgpu do núcleo como um módulo é recomendado porque os arquivos de firmware precisam estar acessíveis ao tempo que ele for carregado. Se você estiver construindo-o como parte da imagem do núcleo por qualquer motivo, você precisará incluir os arquivos de firmware no initramfs (leia-se [1741]“A respeito do initramfs” para detalhes) ou incluí-los na própria imagem do núcleo (leia-se [1742]“Incluir Blobs de Firmware na Imagem do Núcleo” para detalhes). Firmware para chips de vídeo Nvidia A "Nvidia" lançou "firmware" básico assinado para chips gráficos recentes, mas significativamente depois que os chips e os próprios controladores binários deles foram disponibilizados pela primeira vez. Para outros chips tem sido necessário extrair o "firmware" a partir do controlador binário. Para informações mais exatas relativas a quais chips precisam de "firmware" extraído, veja-se [1743]https://nouveau.freedesktop.org/VideoAcceleration.html. Se o "firmware" necessário estiver disponível no diretório nvidia/ de "linux-firmware", [então] copie-o /lib/firmware/nouveau. Se o "firmware" não tiver sido disponibilizado em "linux-firmware", para os chips antigos mencionados no link "nouveau" do "wiki" acima, execute os seguintes comandos: wget https://anduin.linuxfromscratch.org/BLFS/nvidia-firmware/extract_firmware.p y wget https://us.download.nvidia.com/XFree86/Linux-x86/340.32/NVIDIA-Linux-x86-34 0.32.run sh NVIDIA-Linux-x86-340.32.run --extract-only python3 extract_firmware.py mkdir -p /lib/firmware/nouveau cp -d nv* vuc-* /lib/firmware/nouveau/ Firmware para Interfaces de Rede de Comunicação O núcleo gosta de carregar firmware para alguns controladores de rede de comunicação, particularmente aqueles originários do diretório da Realtek (o /lib/linux-firmware/rtl_nic/), porém geralmente eles aparentam funcionar sem isso. Sendo assim, você pode inicializar o núcleo; verificar dmesg para mensagens acerca desse firmware ausente; e, se necessário, baixar o firmware e colocá-lo no diretório especificado no /lib/firmware, de forma que ele será encontrado nas inicializações subsequentes. Observe que, com os núcleos atuais, isso funciona se ou não o controlador for compilado internamente ou construído como um módulo; não existe necessidade de construir esse firmware internamente ao núcleo. Aqui está um exemplo onde o controlador R8169 foi compilado internamente, porém o firmware não foi tornado disponível. Tão logo o firmware tenha sido fornecido, não existiu menção dele nas inicializações posteriores. dmesg | grep firmware | grep r8169 [ 7.018028] r8169 0000:01:00.0: Direct firmware load for rtl_nic/rtl8168g-2.f w failed with error -2 [ 7.018036] r8169 0000:01:00.0 eth0: unable to load firmware patch rtl_nic/rt l8168g-2.fw (-2) Firmware para Base de Dados Regulatória de Dispositivos Sem Fio Países diferentes tem regulações diferentes acerca do uso do espectro de rádio dos dispositivos sem fios. Você pode instalar um firmware para fazer com que os dispositivos sem fios obedeçam às regulações locais de espectro, de forma que você não seria questionado(a) pela autoridade local ou não encontraria tua NIC sem fios atrapalhando as frequências de outros dispositivos (por exemplo, controles remotos). O firmware da base de dados regulatória pode ser baixado a partir de [1744]https://kernel.org/pub/software/network/wireless-regdb/. Para instalá-lo, simplesmente extraia o regulatory.db e o regulatory.db.p7s a partir do tarball no /lib/firmware. Observe que ou o controlador cfg80211 precisa ser selecionado como um médulo para os arquivos regulatory.* serem carregados ou esses arquivos precisam serem incluídos como firmware no núcleo, conforme explicado acima em [1745]“Firmware para Placas de Vídeo”. O ponto de acesso (AP) enviaria um código de país para tua NIC sem fio e [1746]wpa_supplicant-2.10 diria ao núcleo para carregar a regulação desse país a partir de regulatory.db, e aplicá-la. Observe que vários AP não enviam esse código de país, de forma que você possivelmente fique bloqueado(a) para um uso bastante restrito (especialmente se quiser usar tua interface como um AP). Firmware Aberto de Som Alguns sistemas (especialmente laptops econômicos) utilizam um DSP fornecido com a CPU para conexão com o codificador de áudio. O Firmware Aberto de Som precisa ser carregado no DSP para torná-lo funcional. Esses arquivos de firmware podem ser baixados a partir de [1747]https://github.com/thesofproject/sof-bin/releases. Extraia o tarball e mude para o diretório extraído e, em seguida, como o(a) usuário(a) root instale o firmware: install -vdm755 /usr/lib/firmware/intel && cp -av -T --no-preserve=ownership sof-v* \ /usr/lib/firmware/intel/sof && cp -av -T --no-preserve=ownership sof-tplg-v* \ /usr/lib/firmware/intel/sof-tplg [1748]alsa-lib-1.2.9 também precisa de arquivos de configuração do Use Case Manager para os sistemas que usam Firmware Aberto de Som. Os arquivos de configuração UCM do ALSA podem ser baixados a partir de [1749]https://github.com/alsa-project/alsa-ucm-conf/tags. Extraia o tarball e mude para o diretório extraído e, em seguida, como o(a) usuário(a) root instale os arquivos de configuração: install -vdm755 /usr/share/alsa && cp -av -T --no-preserve=ownership ucm2 /usr/share/alsa/ucm2 Assim que o firmware for carregado (você possivelmente precise de uma reinicialização, de forma que o núcleo os carregue) e os arquivos de configuração do UCM forem instalados, siga [1750]“Configurando o ALSA Utilities” para configurar tua placa de som para ALSA apropriadamente. Firmware para Outros Dispositivos Identificar o firmware correto tipicamente exigirá que você instale o [1751]pciutils-3.10.0 e, então, use o lspci para identificar o dispositivo. Você deveria então procurar online para verificar qual módulo ele usa; qual firmware; e onde obter o firmware — nem todos eles estão no linux-firmware. Se possível, você deveria iniciar usando uma conexão com fios quando inicializar pela primeira vez o teu sistema LFS. Para usar uma conexão sem fios, você precisará usar ferramentas de rede de comunicação, tais como [1752]iw-5.19, [1753]Wireless Tools-29 or [1754]wpa_supplicant-2.10. Firmware possivelmente também seja necessário para outros dispositivos, tais como alguns controladores SCSI; adaptadores bluetooth; ou gravadores de TV. Os mesmos princípios se aplicam. Incluir Blobs de Firmware na Imagem do Núcleo Alguns controladores, principalmente os controladores para GPU ATI ou AMD, exigem os arquivos de firmware acessíveis no momento em que são carregados. O método mais fácil de lidar com esses controladores é o de construí-los como um módulo do núcleo. Um método alternativo é o de criar um initramfs (leia-se [1755]“A respeito do initramfs” para detalhes) incluindo os arquivos de firmware. Se não quiser usar nenhum dos métodos, você pode incluir os arquivos de firmware na própria imagem do núcleo. Instale os arquivos de firmware necessários em /lib/firmware primeiro, depois configure a seguinte configuração do núcleo e reconstrua o núcleo: Device Drivers ---> Generic Driver Options ---> Firmware loader ---> <*> Firmware loading facility [FW_LOADER] (xx/aa.bin xx/bb.bin) Build named firmware blobs into the kernel binary ... [EXTRA_FIRMWARE] (/lib/firmware) Firmware blobs root directory ... [EXTRA_FIRMWARE_DIR] Substitua xx/aa.bin xx/bb.bin por uma lista de caminhos separados por espaços em branco para os arquivos de firmware necessários, relativos a /lib/firmware. Um método mais fácil que digitar manualmente a lista (ele possivelmente seja longa) é o de executar o seguinte comando: echo CONFIG_EXTRA_FIRMWARE='"'$({ cd /lib/firmware; echo amdgpu/* })'"' >> .conf ig make oldconfig Substitua amdgpu/* por um padrão de shell que corresponda aos arquivos de firmware necessários. Atenção Não distribua uma imagem do núcleo contendo o firmware para terceiros(as) ou você possivelmente viole a GPL. Acerca de Dispositivos Apesar da maioria dos dispositivos necessitados pelos pacotes no BLFS e além serem configurados adequadamente pelo udev usando as regras padrão instaladas pelo LFS em /etc/udev/rules.d, existem casos onde as regras precisam ser modificadas ou estendidas. Múltiplas Placas de Som Se existirem múltiplas placas de som em um sistema, [então] a placa de som "padrão" se torna aleatória. O método para estabelecer a ordem da placa de som depende se os controladores são módulos ou não. Se os controladores da placa de som forem compilados internamente no núcleo, [então] o controle é via parâmetros de linha de comando do núcleo em /boot/grub/grub.cfg. Por exemplo, se um sistema tiver ambas, uma placa FM801 e uma placa PCI SoundBlaster, [então] o seguinte pode ser acrescentado à linha de comando: snd-fm801.index=0 snd-ens1371.index=1 Se os controladores da placa de som forem construídos como módulos, [então] a ordem pode ser estabelecida no arquivo /etc/modprobe.conf com: options snd-fm801 index=0 options snd-ens1371 index=1 Consequências do Dispositivo USB Os dispositivos USB geralmente tem dois tipos de nós de dispositivo associados com eles. O primeiro tipo é criado pelos controladores específicos do dispositivo (por exemplo, usb_storage/sd_mod ou usblp) no núcleo. Por exemplo, um dispositivo USB de armazenamento em massa seria /dev/sdb; e uma impressora USB seria /dev/usb/lp0. Esses nós de dispositivo existem somente quando o controlador específico do dispositivo estiver carregado. O segundo tipo de nós de dispositivo (/dev/bus/usb/BBB/DDD, onde BBB é o número do barramento e DDD é o número do dispositivo) é criado mesmo se o dispositivo não tiver um controlador de núcleo. Ao usar esses nós de dispositivo USB "crus", um aplicativo consegue trocar pacotes USB arbitrários com o dispositivo, isto é, contornar o possivelmente existente controlador de núcleo. O acesso a nós de dispositivo USB brutos é necessário quando um aplicativo do espaço do(a) usuário(a) estiver atuando como um controlador de dispositivo. Entretanto, para o aplicativo abrir o dispositivo com sucesso, as permissões tem de ser configuradas corretamente. Por padrão, devido a motivos de segurança, todos os dispositivos USB brutos são de propriedade do(a) usuário(a) root e do grupo root, e tem permissões 0664 (o acesso de leitura é necessário, por exemplo, para o lsusb funcionar e para os aplicativos acessarem hubs USB). Os pacotes (tais como SANE e libgphoto2) contendo controladores de dispositivo USB do espaço do(a) usuário(a) também enviam regras do Udev que mudam as permissões dos dispositivos USB brutos controlados. Isto é, as regras instaladas pelo SANE mudam as permissões para escaneadores conhecidos, porém não para impressoras. Se um(a) mantenedor(a) de pacote se esqueceu de escrever uma regra para o teu dispositivo, informe um defeito para ambos, o BLFS (se o pacote estiver lá) e o(a) desenvolvedor(a), e você precisará escrever tua própria regra. Antes do Linux-2.6.15, o acesso de dispositivo USB bruto era realizado não com nós de dispositivo /dev/bus/usb/BBB/DDD, mas com pseudo arquivos /proc/bus/usb/BBB/DDD. Alguns aplicativos ainda usam somente essa técnica obsoleta e não conseguem usar os novos nós de dispositivo. Eles não conseguem funcionar com a versão 3.5 ou mais recente do núcleo Linux. Se você precisar executar tal aplicativo, contacte o(a) desenvolvedor(a) dele para uma correção. Atributos de Dispositivo do Udev O ajuste fino dos atributos de dispositivo, tais como nome e permissões do grupo, é possível criando-se regras extras do udev, casando com algo como isto. O fornecedor e produto pode ser encontrado procurando-se nas entradas do diretório /sys/devices ou usando-se o udevadm info depois que o dispositivo tenha sido anexado. Veja-se a documentação no diretório atual do udev do /usr/share/doc para detalhes. SUBSYSTEM=="usb_device", SYSFS{idVendor}=="05d8", SYSFS{idProduct}=="4002", \ GROUP:="scanner", MODE:="0660" Nota A linha acima é usada somente para propósitos descritivos. As regras do udev da escaneadora são colocadas no lugar quando se instalar o [1756]SANE-1.0.32. Dispositivos para Unidades de DVD Se o processo inicial da inicialização não configurar o dispositivo /dev/dvd adequadamente, [então] ele pode ser instalado usando-se a seguinte modificação para as regras padrão do udev. Como o(a) usuário(a) root, execute: sed '1d;/SYMLINK.*cdrom/ a\ KERNEL=="sr0", ENV{ID_CDROM_DVD}=="1", SYMLINK+="dvd", OPTIONS+="link_priority=- 100"' \ /lib/udev/rules.d/60-cdrom_id.rules > /etc/udev/rules.d/60-cdrom_id.rules Configurando para Adicionar Usuários(as) Juntos, o comando /usr/sbin/useradd e o diretório /etc/skel (ambos são fáceis de configurar e de usar), fornecem uma maneira para assegurar que usuários(as) novos(as) sejam adicionados(as) ao seu sistema LFS com as mesmas configurações iniciais para coisas como o PATH; o processamento do teclado; e outras variáveis ambientais. Usar essas duas facilidades torna mais fácil assegurar esse estado inicial para cada usuário(a) novo(a) adicionado(a) ao sistema. O diretório /etc/skel mantém cópias de vários arquivos de inicialização e de outros que possivelmente sejam copiados para o diretório home do(a) novo(a) usuário(a) quando o aplicativo /usr/sbin/useradd adicionar o(a) usuário(a) novo(a). Useradd O aplicativo useradd usa uma coleção de valores padrão mantidos em /etc/default/useradd. Esse arquivo é criado em uma instalação da base do LFS pelo pacote Shadow. Se ele tiver sido removido ou renomeado, [então] o aplicativo useradd usa alguns parâmetros residuais internos. Você consegue ver os valores dos parâmetros residuais executando /usr/sbin/useradd -D. Para mudar esses valores, simplesmente modifique o arquivo /etc/default/useradd como o(a) usuário(a) root. Uma alternativa para modificar diretamente o arquivo é a de executar useradd como o(a) usuário(a) root enquanto fornece as modificações desejadas na linha de comando. Informação acerca do como fazer isso pode ser encontrada na página de manual do useradd. /etc/skel Para começar, crie um diretório /etc/skel e tenha certeza de que ele seja gravável somente pelo(a) administrador(a) do sistema, usualmente o(a) root. Criar-se o diretório como o(a) root é o melhor caminho a percorrer. O modo de quaisquer arquivos oriundos desta parte do livro que você coloque no /etc/skel deveria ser gravável somente pelo(a) dono(a). Também, dado que não existe como se dizer que tipo de informação sensível um(a) usuário(a) eventualmente possa colocar na cópia dele(a) desses arquivos, você deveria torná-los ilegíveis por "group" e "other". Você também pode colocar outros arquivos no /etc/skel e permissões diferentes possivelmente sejam necessárias para eles. Decida quais arquivos de inicialização deveriam ser fornecidos em cada (ou na maioria) diretório "home" do(a) usuário(a) novo(a). As decisões que você tomar afetarão o que você fizer nas próximas duas seções, [1757]Os Arquivos de Iniciação do Shell Bash e [1758]Os Arquivos vimrc. Alguns, ou todos, daqueles arquivos serão úteis para o(a) root; para quaisquer usuários(as) já existentes; e para usuários(as) novos(as). Os arquivos originários daquelas seções que você poderia querer colocar no /etc/skel incluem: .inputrc; .bash_profile; .bashrc; .bash_logout; .dircolors; e .vimrc. Se estiver inseguro(a) acerca de quais desses deveriam ser colocados lá, [então] apenas continue para as seções seguintes; leia cada seção e quaisquer referências fornecidas; e, então, tome a sua decisão. Você executará um conjunto ligeiramente modificado de comandos para arquivos que estejam colocados no /etc/skel. Cada seção te lembrará disso. Em resumo, os comandos do livro foram escritos para arquivos não adicionados ao /etc/skel; e, em vez disso, apenas envia os resultados para o diretório "home" do(a) usuário(a). Se o arquivo estará no /etc/skel, [então] mude o(s) comando(s) do livro para enviar a saída gerada para lá em vez disso; e, então, apenas copie o arquivo a partir do /etc/skel para os diretórios apropriados, como o /etc; o ~; ou o diretório "home" de qualquer outro(a) usuário(a) já no sistema. Quando Adicionando-se um(a) Usuário(a) Quando se adicionar um(a) usuário(a) novo(a) com o useradd, use o parâmetro -m, o qual diz ao useradd para criar o diretório "home" do(a) usuário(a); e para copiar arquivos a partir do /etc/skel (pode ser anulado) para o diretório "home" do(a) usuário(a) novo(a). Por exemplo, (realize como o(a) usuário(a) root): useradd -m Se você estiver compartilhando um /home ou /usr/src com outra distribuição Linux (por exemplo, a distribuição anfitriã usada para construir o LFS), [então] você pode criar um(a) usuário(a) com o mesmo "UID" (e o mesmo "GID" de grupo primário) para manter a titularidade da propriedade do arquivo consistente em todos os sistemas. Primeiro, na outra distribuição, obtenha o "UID" do(a) usuário(a) e o "GID" do grupo primário do(a) usuário(a): getent passwd | cut -d ':' -f 3,4 O comando deveria gerar o "UID" e o "GID", separados por dois pontos. Agora no sistema BLFS, crie o grupo primário e o(a) usuário(a): groupadd -g && useradd -u -g Acerca de Usuários(as) e de Grupos do Sistema Ao longo do BLFS, muitos pacotes instalam aplicativos que executam como processos em segundo plano ou, de alguma maneira, deveriam ter um nome de usuário(a) ou um de grupo atribuído. Geralmente esses nomes são usados para mapear um ID do(a) usuário(a) (uid) ou um ID do grupo (gid) para uso do sistema. Geralmente os números específicos do uid ou do gid usados por esses aplicativos não são significativos. A exceção, certamente, é que o(a) root tem um uid e um gid de zero (0), que é, de fato, especial. Os valores do uid são armazenados em /etc/passwd; e os valores do gid são encontrados em /etc/group. Costumeiramente, os sistemas Unix classificam os(as) usuários(as) e os grupos em duas categorias: usuários(as) do sistema; e usuários(as) regulares. Aos(Às) usuários(as) e aos grupos do sistema são dados números baixos; e os(as) usuários(as) e os grupos regulares tem valores numéricos maiores que todos os valores do sistema. O ponto de corte para esses números é encontrado em dois parâmetros no arquivo de configuração /etc/login.defs. O valor padrão UID_MIN é mil (1000); e o valor padrão GID_MIN é mil (1000). Se um valor específico do uid e do gid não for especificado quando se criar um(a) usuário(a) com o useradd ou um grupo com o groupadd, [então] os valores atribuídos sempre estarão acima desses valores do ponto de corte. Adicionalmente, o [1759]Linux Standard Base recomenda que os valores do "UID" e do "GID" do sistema deveriam estar abaixo de cem (100). Abaixo está uma tabela de valores sugeridos do uid/gid usados no BLFS além daqueles definidos em uma instalação da base do LFS. Estes podem ser mudados conforme desejado, porém fornecem um conjunto sugerido de valores consistentes. Tabela 3.1. Valores Sugeridos do UID/GID Nome uid gid bin 1 lp 9 adm 16 atd 17 17 messagebus 18 18 lpadmin 19 named 20 20 gdm 21 21 fcron 22 22 systemd-journal 23 23 apache 25 25 smmsp 26 26 polkitd 27 27 rpc 28 28 exim 31 31 postfix 32 32 postdrop 33 sendmail 34 mail 34 vmailman 35 35 news 36 36 kdm 37 37 fetchmail 38 mysql 40 40 postgres 41 41 dovecot 42 42 dovenull 43 43 ftp 45 45 proftpd 46 46 vsftpd 47 47 rsyncd 48 48 sshd 50 50 stunnel 51 51 dhcpcd 52 52 svn 56 56 svntest 57 git 58 58 games 60 60 kvm 61 wireshark 62 lightdm 63 63 sddm 64 64 lightdm 65 65 scanner 70 colord 71 71 systemd-journal-gateway 73 73 systemd-journal-remote 74 74 systemd-journal-upload 75 75 systemd-network 76 76 systemd-resolve 77 77 systemd-timesync 78 78 systemd-coredump 79 79 uuidd 80 80 systemd-oom 81 81 ldap 83 83 avahi 84 84 avahi-autoipd 85 85 netdev 86 ntp 87 87 unbound 88 88 plugdev 90 wheel 97 anonymous 98 nobody 65534 nogroup 65534 Os Arquivos de Iniciação do Shell Bash O aplicativo de shell /bin/bash (doravante referenciado apenas como "o shell") usa uma coleção de arquivos de iniciação para auxiliar a criar um ambiente. Cada arquivo tem um uso específico e possivelmente afete diferentemente os ambientes de login e os interativos. Os arquivos no diretório /etc geralmente fornecem configurações globais. Se um arquivo equivalente existir no seu diretório home, [então] ele possivelmente substitua as configurações globais. Um shell de login interativo é iniciado depois de um login exitoso, usando o /bin/login, pela leitura do arquivo /etc/passwd. Essa invocação do shell normalmente lê /etc/profile e o equivalente privado dele ~/.bash_profile (ou o ~/.profile, se chamado como /bin/sh) assim que iniciar. Um shell de não login interativo normalmente é iniciado em linha de comando usando um aplicativo de shell (por exemplo, [prompt]$/bin/bash) ou pelo comando /bin/su. Um shell de não login interativo também é iniciado com um aplicativo de terminal, tal como o xterm ou o konsole, a partir de dentro de um ambiente gráfico. Esse tipo de invocação do shell normalmente copia o ambiente do(a) ancestral e, então, lê o arquivo ~/.bashrc do(a) usuário(a) para instruções adicionais de configuração de iniciação. Um shell não interativo usualmente está presente quando um script de shell está executando. Ele é não interativo, pois está processando um script e não aguardando por entradas geradas de usuário(a) entre os comandos. Para essas invocações de shell, somente o ambiente herdado a partir do shell ancestral é usado. O arquivo ~/.bash_logout não é usado para uma invocação do shell. Ele é lido e executado quando um(a) usuário(a) sai de um shell de login interativo. Muitas distribuições usam o /etc/bashrc para a inicialização abrangente ao sistema dos shells de não login. Esse arquivo usualmente é chamado a partir do arquivo ~/.bashrc do(a) usuário(a) e não é construído diretamente no próprio bash. Essa convenção é seguida nesta seção. Para mais informação, veja-se info bash -- Nós: Arquivos de Iniciação do Bash e Shells Interativos. Nota A maioria das instruções abaixo é usada para criar arquivos localizados na estrutura de diretório /etc, o que exige que você execute os comandos como o(a) usuário(a) root. Se você escolher criar os arquivos nos diretórios home dos(as) usuários(as) em vez disso, [então] você deveria executar os comandos como um(a) usuário(a) desprivilegiado(a). Observações de Editor(a): [1760]https://wiki.linuxfromscratch.org/blfs/wiki/bash-shell-startup-fi les /etc/profile Aqui está um /etc/profile de base. Esse arquivo inicia configurando algumas funções auxiliares e alguns parâmetros básicos. Ele especifica alguns parâmetros do histórico do bash e, para propósitos de segurança, desabilita a manutenção de um arquivo permanente do histórico para o(a) usuário(a) root. Também configura um prompt padrão do(a) usuário(a). Então chama scripts pequenos e de propósito único no diretório /etc/profile.d para fornecer a maior parte da inicialização. Para mais informação acerca das sequências de escape que você pode usar para o seu prompt (isto é, a variável de ambiente PS1), veja-se info bash -- Nó: Imprimindo um Prompt. cat > /etc/profile << "EOF" # Inicia /etc/profile # Escrito para o Beyond Linux From Scratch # por James Robertson # modificações por Dagmar d'Surreal # Aplicativos da inicialização e variáveis de ambiente abrangentes ao sistema. # Alias e funções abrangentes ao sistema deveriam estar em /etc/bashrc. Os apli cativos # da inicialização e as variáveis de ambiente pessoais deveriam estar no # ~/.bash_profile. Alias e funções pessoais deveriam estar no # ~/.bashrc. # Funções para nos auxiliar a gerenciar "paths". O segundo argumento é o nome da # variável "path" a ser modificada (default: PATH) pathremove () { local IFS=':' local NEWPATH local DIR local PATHVARIABLE=${2:-PATH} for DIR in ${!PATHVARIABLE} ; do if [ "$DIR" != "$1" ] ; then NEWPATH=${NEWPATH:+$NEWPATH:}$DIR fi done export $PATHVARIABLE="$NEWPATH" } pathprepend () { pathremove $1 $2 local PATHVARIABLE=${2:-PATH} export $PATHVARIABLE="$1${!PATHVARIABLE:+:${!PATHVARIABLE}}" } pathappend () { pathremove $1 $2 local PATHVARIABLE=${2:-PATH} export $PATHVARIABLE="${!PATHVARIABLE:+${!PATHVARIABLE}:}$1" } export -f pathremove pathprepend pathappend # Configura o caminho inicial export PATH=/usr/bin # Tenta fornecer retrocompatibilidade com o LFS anterior a 11 if [ ! -L /bin ]; then pathappend /bin fi if [ $EUID -eq 0 ] ; then pathappend /usr/sbin if [ ! -L /sbin ]; then pathappend /sbin fi unset HISTFILE fi # Configura algumas variáveis de ambiente. export HISTSIZE=1000 export HISTIGNORE="&:[bf]g:exit" # Configura alguns padrões para os sistemas gráficos export XDG_DATA_DIRS=${XDG_DATA_DIRS:-/usr/share/} export XDG_CONFIG_DIRS=${XDG_CONFIG_DIRS:-/etc/xdg/} export XDG_RUNTIME_DIR=${XDG_RUNTIME_DIR:-/tmp/xdg-$USER} # Configura um prompt vermelho para o(a) root e um verde para os(as) usuários(as ). NORMAL="\[\e[0m\]" RED="\[\e[1;31m\]" GREEN="\[\e[1;32m\]" if [[ $EUID == 0 ]] ; then PS1="$RED\u [ $NORMAL\w$RED ]# $NORMAL" else PS1="$GREEN\u [ $NORMAL\w$GREEN ]\$ $NORMAL" fi for script in /etc/profile.d/*.sh ; do if [ -r $script ] ; then . $script fi done unset script RED GREEN NORMAL # Termina /etc/profile EOF O Diretório /etc/profile.d Agora crie o diretório /etc/profile.d, onde os scripts individuais da inicialização são colocados: install --directory --mode=0755 --owner=root --group=root /etc/profile.d /etc/profile.d/bash_completion.sh Nota Usar o script de completação do bash abaixo é controverso. Nem todos(as) os(as) usuários(as) gostam dele. Ele adiciona muitas (usualmente mais que mil (1.000)) linhas ao ambiente do bash e torna difícil usar o comando 'set' para examinar variáveis simples de ambiente. Omitir-se este script não interfere na habilidade do bash de usar a tecla tab para a completação de nome de arquivo. Este script importa scripts de completação do bash, instalados por muitos outros pacotes do BLFS, para permitir a completação de linha de comando TAB. cat > /etc/profile.d/bash_completion.sh << "EOF" # Início /etc/profile.d/bash_completion.sh # Importa scripts de completação do bash # Se o pacote "bash-completion" estiver instalado, use configuração dele ao inv és if [ -f /usr/share/bash-completion/bash_completion ]; then # Verificar Bash interativo e que já não fomos carregados. if [ -n "${BASH_VERSION-}" -a -n "${PS1-}" -a -z "${BASH_COMPLETION_VERSINFO-} " ]; then # Verificar versão do Bash suficientemente recente. if [ ${BASH_VERSINFO[0]} -gt 4 ] || \ [ ${BASH_VERSINFO[0]} -eq 4 -a ${BASH_VERSINFO[1]} -ge 1 ]; then [ -r "${XDG_CONFIG_HOME:-$HOME/.config}/bash_completion" ] && \ . "${XDG_CONFIG_HOME:-$HOME/.config}/bash_completion" if shopt -q progcomp && [ -r /usr/share/bash-completion/bash_completion ] ; then # Carregar código de completação. . /usr/share/bash-completion/bash_completion fi fi fi else # bash-completions não estão instaladas; use somente o diretório de completaç ão do Bash if shopt -q progcomp; then for script in /etc/bash_completion.d/* ; do if [ -r $script ] ; then . $script fi done fi fi # Fim /etc/profile.d/bash_completion.sh EOF Tenha certeza de que o diretório existe: install --directory --mode=0755 --owner=root --group=root /etc/bash_completion.d Para uma instalação mais completa, veja-se [1761]https://wiki.linuxfromscratch.org/blfs/wiki/bash-shell-startup-fi les#bash-completions. /etc/profile.d/dircolors.sh Este script usa os arquivos ~/.dircolors e /etc/dircolors para controlar as cores dos nomes de arquivos em uma listagem de diretório. Eles controlam a saída gerada colorida de coisas como ls --color. A explicação do como inicializar esses arquivos está ao final desta seção. cat > /etc/profile.d/dircolors.sh << "EOF" # Configuração para /bin/ls e /bin/grep suportarem cor; o alias está em /etc/bas hrc. if [ -f "/etc/dircolors" ] ; then eval $(dircolors -b /etc/dircolors) fi if [ -f "$HOME/.dircolors" ] ; then eval $(dircolors -b $HOME/.dircolors) fi alias ls='ls --color=auto' alias grep='grep --color=auto' EOF /etc/profile.d/extrapaths.sh Este script adiciona alguns caminhos úteis à PATH e pode ser usado para personalizar outras variáveis de ambiente relacionadas a PATH (por exemplo, LD_LIBRARY_PATH, etc) que possivelmente sejam necessárias para todos(as) os(as) usuários(as). cat > /etc/profile.d/extrapaths.sh << "EOF" if [ -d /usr/local/lib/pkgconfig ] ; then pathappend /usr/local/lib/pkgconfig PKG_CONFIG_PATH fi if [ -d /usr/local/bin ]; then pathprepend /usr/local/bin fi if [ -d /usr/local/sbin -a $EUID -eq 0 ]; then pathprepend /usr/local/sbin fi if [ -d /usr/local/share ]; then pathprepend /usr/local/share XDG_DATA_DIRS fi # Configura alguns parâmetros residuais antes de outros aplicativos adicionarem a estes caminhos. pathappend /usr/share/man MANPATH pathappend /usr/share/info INFOPATH EOF /etc/profile.d/readline.sh Este script configura o arquivo padrão de configuração inputrc. Se o(a) usuário(a) não tiver configurações individuais, [então] usa o arquivo global. cat > /etc/profile.d/readline.sh << "EOF" # Configura a variável de ambiente "INPUTRC". if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ] ; then INPUTRC=/etc/inputrc fi export INPUTRC EOF /etc/profile.d/umask.sh Configurar-se o valor do umask é importante para a segurança. Aqui as permissões padrão de escrita do grupo são desligadas para os(as) usuários(as) de sistema e quando o nome do(a) usuário(a) e o nome do grupo não forem os mesmos. cat > /etc/profile.d/umask.sh << "EOF" # Por padrão, a máscara de usuário(a) deveria ser configurada. if [ "$(id -gn)" = "$(id -un)" -a $EUID -gt 99 ] ; then umask 002 else umask 022 fi EOF /etc/profile.d/i18n.sh Este script configura uma variável de ambiente necessária para o suporte ao idioma nativo. Uma discussão completa acerca de se determinar esta variável pode ser encontrada na página [1762]Arquivos de Inicialização do Shell Bash do LFS. cat > /etc/profile.d/i18n.sh << "EOF" # Configura variáveis de internacionalização. . /etc/locale.conf export LANG EOF Outros Valores da Inicialização Outra inicialização pode facilmente ser adicionada ao profile adicionando-se scripts adicionais ao diretório /etc/profile.d. /etc/bashrc Aqui está um /etc/bashrc de base. Os comentários no arquivo deveriam explicar tudo o que você precisa. cat > /etc/bashrc << "EOF" # Início /etc/bashrc # Escrito para o Beyond Linux From Scratch # por James Robertson # atualização por Bruce Dubbs # Alias e funções abrangentes ao sistema. # Variáveis de ambiente e aplicativos de inicialização abrangentes ao sistema # deveriam ir para /etc/profile. Variáveis de ambiente e aplicativos de iniciali zação pesoais # deveriam ir para ~/.bash_profile. Alias e funções pessoais deveriam # ir para ~/.bashrc # Fornece comandos coloridos /bin/ls e /bin/grep. Usado junto # com o código em /etc/profile. alias ls='ls --color=auto' alias grep='grep --color=auto' # Fornece prompt para shells que não são de login, especificamente shells inicia dos # no ambiente do X. [Reveja-se o tópico do arquivamento do LFS intitulado # "PS1 Environment Variable" para um grande estudo de caso por traz deste # adendo de script]. NORMAL="\[\e[0m\]" RED="\[\e[1;31m\]" GREEN="\[\e[1;32m\]" if [[ $EUID == 0 ]] ; then PS1="$RED\u [ $NORMAL\w$RED ]# $NORMAL" else PS1="$GREEN\u [ $NORMAL\w$GREEN ]\$ $NORMAL" fi unset RED GREEN NORMAL # Fim /etc/bashrc EOF ~/.bash_profile Aqui está um ~/.bash_profile de base. Se você quiser que cada usuário(a) novo(a) tenha esse arquivo automaticamente, [então] apenas mude a saída gerada do comando para o /etc/skel/.bash_profile e verifique as permissões depois que o comando for executado. Você pode, então, copiar o /etc/skel/.bash_profile para os diretórios home dos(as) usuários(as) já existentes, incluindo o(a) root, e configurar o(a) proprietário(a) e o grupo apropriadamente. cat > ~/.bash_profile << "EOF" # Início ~/.bash_profile # Escrito para o Beyond Linux From Scratch # por James Robertson # atualizado por Bruce Dubbs # Variáveis de ambiente e aplicativos de inicialização pessoais. # Alias e funções pessoais deveriam ir em ~/.bashrc. Variáveis de # ambiente e aplicativos de inicialização abrangentes ao sistema estão # em /etc/profile. Alias e funções abrangentes ao sistema estão em /etc/bashrc. if [ -f "$HOME/.bashrc" ] ; then source $HOME/.bashrc fi if [ -d "$HOME/bin" ] ; then pathprepend $HOME/bin fi # Ter-se o "." no PATH é perigoso. #if [ $EUID -gt 99 ]; then # pathappend . #fi # Fim ~/.bash_profile EOF ~/.profile Aqui está um ~/.profile de base. Os comentários e as instruções para se usar o /etc/skel para o .bash_profile acima também se aplicam aqui. Somente os nomes dos arquivos alvo são diferentes. cat > ~/.profile << "EOF" # Início ~/.profile # Variáveis de ambiente e aplicativos de inicialização pessoais. if [ -d "$HOME/bin" ] ; then pathprepend $HOME/bin fi # Configura variáveis de internacionalização específicas de usuário(a). #export LANG=_.<@modifiers> # Fim ~/.profile EOF ~/.bashrc Aqui está um ~/.bashrc de base. cat > ~/.bashrc << "EOF" # Início ~/.bashrc # Escrito para o Beyond Linux From Scratch # por James Robertson # Alias e funções pessoais. # Variáveis de ambiente e aplicativos da inicialização pessoais deveriam # ir em ~/.bash_profile. Variáveis de ambiente e aplicativos da # inicialização abrangentes ao sistema estão em /etc/profile. Alias e # funções abrangentes ao sistema estão em /etc/bashrc. if [ -f "/etc/bashrc" ] ; then source /etc/bashrc fi # Configura variáveis de internacionalização específicas de usuário(a). #export LANG=_.<@modifiers> # Fim ~/.bashrc EOF ~/.bash_logout Este é um ~/.bash_logout vazio que pode ser usado como um modelo. Você perceberá que o ~/.bash_logout de base não inclui um comando clear. Isso é porque o clear é manuseado no arquivo /etc/issue. cat > ~/.bash_logout << "EOF" # Início ~/.bash_logout # Escrito para o Beyond Linux From Scratch # por James Robertson # Itens pessoais a realizar quando do logout. # Fim ~/.bash_logout EOF /etc/dircolors Se você quiser usar o recurso dircolors, então execute o seguinte comando. As etapas de configuração do /etc/skel mostradas acima também podem ser usadas aqui para fornecer um arquivo ~/.dircolors quando um(a) usuário(a) novo(a) for configurado(a). Como antes, apenas mude o nome de arquivo da saída gerada no seguinte comando e se assegure de que as permissões, proprietário(a) e grupo estejam corretas nos arquivos criados e (ou) copiados. dircolors -p > /etc/dircolors Se desejar personalizar as cores usadas para os diferentes tipos de arquivo, [então] você pode editar o arquivo /etc/dircolors. As instruções para configurar as cores estão embutidas no arquivo. Finalmente, Ian Macdonald escreveu uma excelente coleção de dicas e de truques para melhorar o seu ambiente de "shell". Você consegue lê-la online em [1763]https://www.caliban.org/bash/index.shtml. Os Arquivos /etc/vimrc e ~/.vimrc O livro LFS instala o Vim como o editor de texto dele. Neste ponto, deveria ser observado que existe um monte de aplicativos de edição por aí, incluindo o Emacs; o nano; o Joe; e muitos mais. Qualquer um(a) que tenha estado na Internet (especialmente usenet) por um curto período de tempo certamente terá observado pelo menos uma guerra de chamas, geralmente envolvendo usuários(as) do Vim e do Emacs! O livro LFS cria um arquivo vimrc básico. Nesta seção, você encontrará uma tentativa de melhorar esse arquivo. Na iniciação, o vim lê o arquivo global de configuração (/etc/vimrc), bem como um arquivo específico do(a) usuário(a) (~/.vimrc). Qualquer um ou ambos podem ser adaptados para atender às necessidades de seu sistema específico. Aqui está um .vimrc ligeiramente expandido que você pode colocar no ~/.vimrc para fornecer efeitos específicos do(a) usuário(a). Certamente, se você colocá-lo no /etc/skel/.vimrc em vez disso, [então] ele será disponibilizado para os(as) usuários(as) que você adicionar ao sistema posteriormente. Você também pode copiar o arquivo a partir do /etc/skel/.vimrc para o diretório home dos(as) usuários(as) já no sistema, tais como o(a) root. Tenha certeza de configurar permissões, proprietário(a) e grupo se você efetivamente copiar alguma coisa diretamente a partir do /etc/skel. " Início .vimrc set columns=80 set wrapmargin=8 set ruler " Fim .vimrc Observe que as etiquetas de comentário são ", em vez da mais usual # ou //. Isso está correto; a sintaxe para o vimrc é ligeiramente incomum. Abaixo você encontrará uma explicação rápida do que cada uma das opções nesse arquivo de exemplo significa aqui: * set columns=80: Isso simplesmente configura o número de colunas usadas na tela. * set wrapmargin=8: Isso é o número de caracteres a partir da borda direita da janela onde a quebra inicia. * set ruler: Isso faz com que o vim mostre a linha e a coluna atuais no canto direito inferior da tela. Mais informação acerca das muitas opções do vim pode ser encontrada lendo-se a ajuda dentro do próprio vim. Faça isso digitando :help no vim para obter a ajuda geral; ou digitando :help usr_toc.txt para visualizar a Tabela de Conteúdo do Manual do(a) Usuário(a). Personalizando o seu Logon com o /etc/issue Quando você inicializar pela primeira vez o seu novo sistema LFS, a tela do logon será legal e plana (como deveria ser em um sistema esqueleto). Muitas pessoas, entretanto, desejarão que o sistema delas exiba alguma informação na mensagem do logon. Isso pode ser realizado usando o arquivo /etc/issue. O arquivo /etc/issue é um arquivo de texto plano que também aceitará certas sequências de escape (veja-se abaixo) para a finalidade de inserir informação acerca do sistema. Existe também o arquivo issue.net que pode ser usado quando se logar remotamente. O ssh, no entanto, somente o usará se você configurar a opção no arquivo de configuração e não interpretará as sequências de escape mostradas abaixo. Uma das coisas mais comuns que as pessoas querem fazer é limpar a tela a cada logon. A maneira mais fácil de fazer isso é a de colocar uma sequência de escape "clear" no /etc/issue. Uma maneira simples de fazer isso é a de emitir o comando clear > /etc/issue. Isso inserirá o código de escape relevante no início do arquivo /etc/issue. Observe que, se você fizer isso, quando editar o arquivo, você deveria deixar os caracteres (normalmente '^[[H^[[2J') sozinhos na primeira linha. Nota As sequências de escape do terminal são códigos especiais reconhecidos pelo terminal. O ^[ representa um caractere ASCII ESC. A sequência ESC [ H coloca o cursor no canto superior esquerdo da tela; e ESC 2 J apaga a tela. Para mais informação acerca das sequências de escape do terminal, veja-se [1764]http://rtfm.etla.org/xterm/ctlseq.html As seguintes sequências são reconhecidas pelo agetty (o aplicativo que normalmente analisa o /etc/issue). Esta informação é originária do man agetty, onde você consegue encontrar informação extra acerca do processo do logon. O arquivo issue pode conter certas sequências de caracteres para exibir várias informações. Todas as sequências do issue consistem de uma contra barra (\) imediatamente seguida de uma das letras explicadas abaixo (assim, \d no /etc/issue inseriria a data atual). b Insere a taxa de transmissão da linha atual. d Insere a data atual. s Insere o nome do sistema; o nome do sistema operacional. l Insere o nome da linha tty atual. m Insere o identificador da arquitetura da máquina, por exemplo, i686. n Insere o nome do nó da máquina, também conhecido como nome do host. o Insere o nome de domínio da máquina. r Insere o número de lançamento do núcleo, por exemplo, 2.6.11.12. t Insere a hora atual. u Insere o número de usuários(as) atuais conectados(as). U Insere a string "1 usuário(a)" ou " usuários" onde é o número de usuários(as) atuais conectados(as). v Insere a versão do sistema operacional, por exemplo, a data de construção, e tc. Capítulo 4. Segurança Segurança toma muitas formas em um ambiente computacional. Depois de alguma discussão inicial, este capítulo dá exemplos de três tipos de segurança: acesso; prevenção; e detecção. O acesso para os(as) usuários(as) geralmente é manuseado pelo login ou um aplicativo projetado para lidar com a função de login. Neste capítulo, nós mostramos como melhorar o login configurando-se políticas com os módulos PAM. O acesso via redes de comunicação também pode ser assegurado por políticas configuradas pelo iptables, comumente referenciado como um firewall. As bibliotecas Network Security Services (NSS) e Netscape Portable Runtime (NSPR) podem ser instaladas e compartilhadas entre os muitos aplicativos exigindo elas. Para os aplicativos que não oferecem a melhor segurança, você pode usar o pacote Stunnel para amarrar um processo de segundo plano do aplicativo dentro de um túnel SSL. A prevenção a violações, como um trojan, é auxiliada por aplicativos como o GnuPG, especificamente a habilidade de confirmar pacotes assinados, o que reconhece modificações do tarball depois que o(a) empacotador(a) o criou. Finalmente, nós tocamos na detecção com um pacote que armazena "assinaturas" de arquivos críticos (definidos pelo(a) administrador(a)) e, então, regenera aquelas "assinaturas" e compara para arquivos que tenham sido mudados. Vulnerabilidades Acerca de vulnerabilidades Todo software tem defeitos. De vez em quando, um defeito cosegue ser explorado, por exemplo para permitir que os(as) usuários(as) ganhem privilégios melhorados (talvez ganhando um shell do(a) root; ou simplesmente acessando ou deletando os arquivos dos(as) outros(as) usuários(as)); ou para permitir que um sítio remoto quebre um aplicativo (negação de serviço); ou para roubo de dados. Esses defeitos são rotulados como vulnerabilidades. O lugar principal onde as vulnerabilidades são registradas é [1765]cve.mitre.org. Infelizmente, muitos números de vulnerabilidade ("CVE-yyyy-nnnn") inicialmente são rotulados somente como "reservado" quando as distribuições iniciam a emitir correções. Também, algumas vulnerabilidades se aplicam a combinações particulares das opções do configure; ou se aplicam somente a versões antigas de pacotes que foram há muito tempo atualizados no BLFS. O BLFS se diferencia das distribuições—não existe equipe de segurança do BLFS e os(as) editores(as) somente se tornam cientes das vulnerabilidades depois que elas são de conhecimento público. De vez em quando, um pacote com uma vulnerabilidade não será atualizado no livro por um tempo longo. Os problemas podem ser registrados no sistema Trac, o que poderia acelerar a resolução. A maneira normal para o BLFS corrigir uma vulnerabilidade é, idealmente, a de atualizar o livro para um novo lançamento corrigido do pacote. De vez em quando isso acontece mesmo antes da vulnerabilidade ser de conhecimento público, de forma que não existe a garantia de que será mostrada como uma correção de vulnerabilidade no Registro das Mudanças. Alternativamente, um comando sed ou um remendo tomado a partir de uma distribuição, possivelmente seja apropriado. O ponto principal é o de que você é o(a) responsável pela sua própria segurança e por avaliar o impacto potencial de quaisquer problemas. Os(As) editores(as) agora emitem Avisos de Segurança para pacotes no BLFS (e no LFS), os quais podem ser encontrados em [1766]Avisos de Segurança do BLFS, e graduam a gravidade de acordo com o que o(a) desenvolvedor(a) informa; ou com o que for mostrado em [1767]nvd.nist.gov, se isso tiver detalhes. Para acompanhar o que está sendo descoberto, você possivelmente deseje seguir os anúncios de segurança de uma ou mais distribuições. Por exemplo, o "Debian" tem o [1768]Segurança do Debian. Os links do Fedora acerca de segurança estão em [1769]o wiki do Fedora. Os detalhes dos anúncios de segurança do Linux do "Gentoo" são discutidos em [1770]Segurança do Gentoo. Finalmente, os arquivamentos do "Slackware" dos anúncios de segurança estão em [1771]Segurança do Slackware. A fonte mais genérica no idioma inglês é talvez [1772]a Lista de Discussão de Divulgação Completa; porém, por favor, leia o comentário naquela página. Se usar outros idiomas, [então] você possivelmente prefira outros sítios, tais como o [1773]heise.de (alemão); ou o [1774]cert.hr (croata). Não existe um específico para Linux. Existe também uma atualização diária em "lwn.net" para assinantes (acesso livre aos dados depois de duas semanas, porém a base de dados de vulnerabilidades deles em [1775]lwn.net/Alerts é irrestrita). Para alguns pacotes, assinar as listas de 'anúncio' deles fornecerá notícias imediatas das versões mais recentes. make-ca-1.12 Introdução a make-ca A Infraestrutura de Chave Pública (ICP) é um método para validar a autenticidade de uma entidade desconhecida ao longo de redes de comunicação não confiáveis. A ICP funciona estabelecendo uma cadeia de confiança, em vez de confiar explicitamente em cada dispositivo individual ou entidade. Para a finalidade de um certificado apresentado por uma entidade remota ser acreditado, esse certificado precisa apresentar uma cadeia completa de certificados que possa ser validada usando-se o certificado raiz de uma Autoridade Certificadora (AC) que é acreditada pela máquina local. Estabelecer confiança com uma AC envolve validar coisas como endereço da companhia, propriedade, informação de contato, etc., e assegurar que a AC tenha seguido as melhores práticas, tais como se submeter a auditorias periódicas de segurança por investigadores(as) independentes e manter uma sempre disponível lista de revogação de certificado. Isso está bem fora do escopo do BLFS (como está para a maior parte das distribuições do Linux). A loja de certificado fornecida aqui é tomada a partir da Fundação Mozilla, que estabeleceu políticas de inclusão muito estritas descritas [1776]aqui. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [1777]https://github.com/lfs-book/make-ca/releases/download/v1.12/m ake-ca-1.12.tar.xz * Tamanho da transferência: 36 KB * Somas de verificação MD5 da transferência: 67e0b911e73a859fc326171c5153d455 * Espaço em disco estimado exigido: 6,9 MB (com todas as dependências em tempo de execução) * Tempo de construção estimado: 0,1 UPC (com todas as dependências em tempo de execução) Dependências do make-ca Exigida [1778]p11-kit-0.25.0 (tempo de execução, construído depois do [1779]libtasn1-4.19.0, exigido nas instruções a seguir para gerar armazenamentos de certificados a partir de âncoras de confiança, e a cada vez que make-ca for executado) Opcional (tempo de execução) [1780]nss-3.92 (para gerar um NSSDB compartilhado) Instalação do make-ca e Geração dos Armazenamentos de Certificados de AC O script make-ca baixará e processará os certificados incluídos no arquivo certdata.txt para uso como âncoras de confiança para o módulo de confiança [1781]p11-kit-0.25.0. Adicionalmente, gerará lojas de certificado do sistema usadas pelos aplicativos do BLFS (se os aplicativos recomendados e os opcionais estiverem presentes no sistema). Quaisquer certificados locais armazenados em /etc/ssl/local serão importados para ambos: as âncoras de confiança; e as lojas de certificado geradas (substituindo a confiança do Mozilla). Adicionalmente, quaisquer valores de confiança modificados serão copiados a partir das âncoras de confiança para /etc/ssl/local antes de quaisquer atualizações, preservando os valores de confiança personalizados que divergirem do Mozilla quando se usar o utilitário trust oriundo do p11-kit para operar sobre a loja de confiança. Para instalar as várias lojas de certificados, primeiro instale o script make-ca no local correto. Como o(a) usuário(a) root: make install && install -vdm755 /etc/ssl/local Nota Tecnicamente, esse pacote já está instalado neste ponto. Mas, a maioria dos pacotes que listam make-ca como uma dependência na verdade exige o armazenamento de certificados do sistema configurado por esse pacote, em vez de exigir o próprio programa make-ca. Portanto, as instruções para usar make-ca para configurar o armazenamento de certificados do sistema estão incluídas nesta seção. Você deveria certificar-se de que a dependência de tempo de execução exigida para make-ca esteja satisfeita agora e continuar seguindo as instruções. Como o(a) usuário(a) root, baixe o fonte do certificado e apronte para uso do sistema com o seguinte comando: Nota Se executar-se o script uma segunda vez com a mesma versão do certdata.txt, por exemplo, para atualizar as lojas quando o make-ca for atualizado; ou para acrescentar lojas adicionais conforme o software solicitante for instalado, [então] substitua a chave -g pela chave -r na linha de comando. Se empacotando, [então] execute make-ca --help para ver todas as opções de linha de comando disponíveis. /usr/sbin/make-ca -g Você deveria atualizar periodicamente a loja com o comando acima, seja manualmente, ou via um temporizador do systemd. Um temporizador está instalado em /usr/lib/systemd/system/update-pki.timer que, se habilitado, verificará as atualizações semanalmente. Execute os seguintes comandos, como o(a) usuário(a) root, para habilitar o temporizador do systemd: systemctl enable update-pki.timer Configurando make-ca Para a maioria dos(as) usuários(as), nenhuma configuração adicional é necessária; entretanto, o arquivo certdata.txt padrão fornecido pelo "make-ca" é obtido a partir da ramificação "mozilla-release" e é modificado para fornecer uma revisão "Mercurial". Essa será a versão correta para a maior parte dos sistemas. Existem muitas outras variantes do arquivo disponíveis para uso que poderiam ser preferidas por uma razão ou por outra, incluindo os arquivos enviados com os produtos da "Mozilla" neste livro. "RedHat" e "OpenSUSE", por exemplo, usam a versão inclusa no [1782]nss-3.92. Transferências adicionais do(a) desenvolvedor(a) estão disponíveis nos links inclusos em /etc/make-ca/make-ca.conf.dist. Simplesmente copie o arquivo para /etc/make-ca.conf e edite conforme apropriado. Acerca de Argumentos de Confiança Existem três tipos de confiança que são reconhecidos pelo script make-ca, SSL/TLS, S/Mime e assinatura de código. Para o OpenSSL, esses são serverAuth; emailProtection; e codeSigning, respectivamente. Se um dos três argumentos de confiança for omitido, [então] o certificado nem é acreditado, nem é rejeitado para aquela função. Os clientes que usarem o OpenSSL ou o NSS encontrando esse certificado apresentarão um aviso para o(a) usuário(a). Os clientes usando o GnuTLS sem o suporte ao p11-kit não estão cientes dos certificados confiáveis. Para incluir essa AC nos arquivos ca-bundle.crt, email-ca-bundle.crt ou objsign-ca-bundle.crt (os pacotes legados do GnuTLS), precisa ter os argumentos confiáveis adequados. Acrescentando Certificados Adicionais de AC O diretório /etc/ssl/local está disponível para acrescentar certificados adicionais de AC à loja de confiança do sistema. Esse diretório também é usado para armazenar certificados que foram acrescentados a ou modificados na loja de confiança do sistema pelo [1783]p11-kit-0.25.0, de forma que os valores de confiança sejam mantidos ao longo de atualizações. Os arquivos nesse diretório precisam estar no formato de certificado confiável do OpenSSL. Os certificados importados usando o utilitário trust originário do [1784]p11-kit-0.25.0 utilizarão os valores Uso Estendido de Chave x509 para atribuir valores confiáveis padrão para as âncoras do sistema. Se você precisar substituir os valores de confiança ou, do contrário, precisar criar um certificado de confiança do OpenSSL manualmente a partir de um arquivo codificado PEM comum, [então] você precisa acrescentar argumentos de confiança ao comando openssl e criar um certificado novo. Por exemplo, usando as raízes do [1785]CAcert, se você quiser confiar em ambos para todas as três funções, [então] os seguintes comandos criarão os certificados confiáveis do OpenSSL adequados (execute como o(a) usuário(a) root depois que o [1786]Wget-1.21.4 estiver instalado): wget http://www.cacert.org/certs/root.crt && wget http://www.cacert.org/certs/class3.crt && openssl x509 -in root.crt -text -fingerprint -setalias "CAcert Class 1 root" \ -addtrust serverAuth -addtrust emailProtection -addtrust codeSigning \ > /etc/ssl/local/CAcert_Class_1_root.pem && openssl x509 -in class3.crt -text -fingerprint -setalias "CAcert Class 3 root" \ -addtrust serverAuth -addtrust emailProtection -addtrust codeSigning \ > /etc/ssl/local/CAcert_Class_3_root.pem && /usr/sbin/make-ca -r Substituindo a Confiança do Mozilla Ocasionalmente, possivelmente existam instâncias onde você não concorda com a inclusão do Mozilla de uma autoridade de certificação específica. Se você gostaria de substituir a confiança padrão de uma AC específica, [então] simplesmente crie uma cópia do certificado existente em /etc/ssl/local com argumentos de confiança diferentes. Por exemplo, se você gostaria de desconfiar do arquivo "Makebelieve_CA_Root", [então] execute os seguintes comandos: openssl x509 -in /etc/ssl/certs/Makebelieve_CA_Root.pem \ -text \ -fingerprint \ -setalias "Disabled Makebelieve CA Root" \ -addreject serverAuth \ -addreject emailProtection \ -addreject codeSigning \ > /etc/ssl/local/Disabled_Makebelieve_CA_Root.pem && /usr/sbin/make-ca -r Usando o make-ca com o Python3 Quando o Python3 foi instalado no LFS ele incluiu o módulo pip3 com certificados fornecidos pelo módulo Certifi. Isso foi necessário, mas significa que, sempre que o pip3 for usado, ele poderá referenciar esses certificados, principalmente ao criar um ambiente virtual ou ao instalar um módulo com todas as dependências "wheel" dele de uma vez. Geralmente considera-se que o(a) Administrador(a) do Sistema(a) deveria ser responsável por quais certificados estão disponíveis. Agora que [1787]make-ca-1.12 e [1788]p11-kit-0.25.0 foram instalados e make-ca foi configurado, é possível fazer com que pip3 use os certificados do sistema. Os certificados fornecidos instalados no LFS são um instantâneo de quando a versão extraída do Certifi foi criada. Se você atualizar regularmente os certificados do sistema, [então] a versão fornecida se tornará desatualizada. Para usar os certificados do sistema no Python3 você deveria configurar _PIP_STANDALONE_CERT para apontar para eles, por exemplo, para o "shell" bash: export _PIP_STANDALONE_CERT=/etc/pki/tls/certs/ca-bundle.crt Atenção Se você tiver criado ambientes virtuais, por exemplo, ao testar módulos, e eles incluem os módulos Requests e Certifi em ~/.local/lib/python3.11/, então esses módulos locais serão usados em vez dos certificados do sistema, a menos que você remova os módulos locais. Para usar os certificados do sistema no Python3 com os perfis BLFS, adicione a seguinte variável aos teus perfis de sistema ou pessoal: mkdir -pv /etc/profile.d && cat > /etc/profile.d/pythoncerts.sh << "EOF" # Inicia /etc/profile.d/pythoncerts.sh export _PIP_STANDALONE_CERT=/etc/pki/tls/certs/ca-bundle.crt # Termina /etc/profile.d/pythoncerts.sh EOF Conteúdo Aplicativos Instalados: make-ca Diretórios Instalados: /etc/ssl/{certs,local} e /etc/pki/{nssdb,anchors,tls/{certs,java}} Descrições Curtas make-ca é um script de shell que adapta uma versão atual do certdata.txt e o apronta para uso como a loja de confiança do sistema CrackLib-2.9.11 Introdução ao CrackLib O pacote CrackLib contém uma biblioteca usada para impor senhas fortes comparando senhas selecionadas pelo(a) usuário(a) a palavras em listas de palavras escolhidas. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [1789]https://github.com/cracklib/cracklib/releases/download/v2.9.1 1/cracklib-2.9.11.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: a6dfb1766aab43a54e1cbd78abf0a20a * Tamanho da transferência: 452 KB * Espaço em disco estimado exigido: 6,8 MB * Tempo de construção estimado: 0,1 UPC Transferências Adicionais Lista de palavras recomendadas para países de idioma inglês: * Transferência (HTTP): [1790]https://github.com/cracklib/cracklib/releases/download/v2.9.1 1/cracklib-words-2.9.11.xz * Soma de verificação MD5 da transferência: f27804022dbf2682a7f7c353317f9a53 * Tamanho da transferência: 4,0 MB Existem listas adicionais de palavras disponíveis para download, por exemplo, em [1791]https://wiki.skullsecurity.org/index.php/Passwords. O CrackLib consegue utilizar o máximo ou o mínimo possível das listas de palavras que você escolher instalar. Importante Os(As) usuários(as) tendem a basear as senhas deles(as) em palavras comuns do idioma falado e os crackers sabem disso. CrackLib destina-se a filtrar essas senhas ruins na fonte usando um dicionário criado a partir de listas de palavras. Para conseguir isso, a(s) lista(s) de palavras para uso com CrackLib precisa ser uma lista exaustiva de palavras e combinações de teclas baseadas em palavras que provavelmente serão escolhidas pelos(as) usuários(as) do sistema como senhas (adivinháveis). A lista de palavras padrão recomendada acima para download atende principalmente a essa função em países de língua inglesa. Em outras situações, possivelmente seja necessário baixar (ou mesmo criar) listas adicionais de palavras. Observe que as listas de palavras adequadas para verificação ortográfica não podem ser usadas como listas de palavras do CrackLib em países com alfabetos não latinos, devido às “combinações de teclas baseadas em palavras” que tornam as senhas incorretas . Instalação do CrackLib Instale o CrackLib executando os seguintes comandos: autoreconf -fiv && PYTHON=python3 \ ./configure --prefix=/usr \ --disable-static \ --with-default-dict=/usr/lib/cracklib/pw_dict && make Agora, como o(a) usuário(a) root: make install Emita os seguintes comandos como o(a) usuário(a) root para instalar a lista de palavras recomendadas e criar o dicionário CrackLib. Outras listas de palavras (baseadas em texto, uma palavra por linha) também podem ser usadas simplesmente instalando-as em /usr/share/dict e adicionando-as ao comando create-cracklib -dict. install -v -m644 -D ../cracklib-words-2.9.11.xz \ /usr/share/dict/cracklib-words.xz && unxz -v /usr/share/dict/cracklib-words.xz && ln -v -sf cracklib-words /usr/share/dict/words && echo $(hostname) >> /usr/share/dict/cracklib-extra-words && install -v -m755 -d /usr/lib/cracklib && create-cracklib-dict /usr/share/dict/cracklib-words \ /usr/share/dict/cracklib-extra-words Se desejado, verifique a operação adequada da biblioteca como um(a) usuário(a) não privilegiado(a) emitindo o seguinte comando: make test Importante Se você estiver instalando o CrackLib depois que seu sistema LFS tiver sido concluído e você tiver o pacote Shadow instalado, [então] você precisa reinstalar o [1792]Shadow-4.13 se desejar fornecer suporte de senha forte em seu sistema. Se for instalar agora o pacote [1793]Linux-PAM-1.5.3, você pode desconsiderar essa observação, pois o Shadow será reinstalado depois da instalação do Linux-PAM. Explicações do Comando autoreconf -fiv: O conjunto de comandos sequenciais de configuração fornecido com o pacote é muito antigo para obter a sequência correta de caracteres de versão do Python 3.10 ou posterior. Esse comando o regenera com uma versão mais recente do autotools, que corrige o problema. PYTHON=python3: Isso força a instalação de vínculos python para Python 3, mesmo se o Python 2 estiver instalado. --with-default-dict=/lib/cracklib/pw_dict: Esse parâmetro força a instalação do dicionário CrackLib na hierarquia /lib. --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. install -v -m644 -D ...: Esse comando cria o diretório /usr/share/dict (se já não existir) e instala a lista compactada de palavras lá. ln -v -s cracklib-words /usr/share/dict/words: A lista de palavras está vinculada a /usr/share/dict/words como historicamente; words é a lista principal de palavras no diretório /usr/share/dict. Omita esse comando se você já tiver um arquivo /usr/share/dict/words instalado em seu sistema. echo $(hostname) >>...: O valor de hostname é ecoado para um arquivo chamado cracklib-extra-words. Esse arquivo extra destina-se a ser uma lista específica do sítio que inclui senhas fáceis de adivinhar, como nomes de organizações empresariais ou departamentos, nomes de usuários(as), nomes de produtos, nomes de computadores, nomes de domínio, etc. create-cracklib-dict ...: Esse comando cria o dicionário CrackLib a partir das listas de palavras. Modifique o comando para adicionar quaisquer listas adicionais de palavras que você tiver instalado. Conteúdo Aplicativos Instalados: cracklib-check, cracklib-format, cracklib-packer, cracklib-unpacker, cracklib-update e create-cracklib-dict Bibliotecas Instaladas: libcrack.so e o _cracklib.so (módulo Python) Diretórios Instalados: /usr/lib/cracklib, /usr/share/dict e /usr/share/cracklib Descrições Curtas cracklib-check é usado para determinar se uma senha é forte cracklib-format é usado para formatar arquivos de texto (minuscula todas as palavras, remove caracteres de controle e ordena as listas) cracklib-packer cria uma base de dados com palavras lidas a partir da entrada gerada padrão cracklib-unpacker exibe na saída gerada padrão a base de dados especificada create-cracklib-dict é usado para criar o dicionário CrackLib a partir da(s) lista(s) fornecida(s) de palavras libcrack.so fornece um método rápido de pesquisa de dicionário para imposição de senha forte cryptsetup-2.4.3 Introdução a cryptsetup cryptsetup é usado para configurar a encriptação transparente de dispositivos de bloco usando a API criptográfica do núcleo. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [1794]https://www.kernel.org/pub/linux/utils/cryptsetup/v2.4/crypts etup-2.4.3.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 2303d57e78d4977344188a46e125095c * Tamanho da transferência: 11 MB * Espaço em disco estimado exigido: 29 MB (adicionar 5 MB para os testes) * Tempo de construção estimado: 0,2 UPC (adicionar 19 UPC para os testes) Dependências do cryptsetup Exigidas [1795]JSON-C-0.17, [1796]LVM2-2.03.22 e [1797]popt-1.19 Opcionais [1798]libpwquality-1.4.5, [1799]argon2, [1800]libssh e [1801]passwdqc Configuração do Núcleo Dispositivos de bloco encriptados exigem suporte de núcleo. Para usá-lo, os parâmetros apropriados de configuração do núcleo precisam estar configurados: Device Drivers ---> [*] Multiple devices driver support (RAID and LVM) ---> [MD] <*/M> Device mapper support [BLK_DEV_DM] <*/M> Crypt target support [DM_CRYPT] -*- Cryptographic API ---> [CRYPTO] Block ciphers ---> <*/M> AES (Advanced Encryption Standard) [CRYPTO_AES] # For tests: <*/M> Twofish [CRYPTO_TWOFISH] Length-preserving ciphers and modes ---> <*/M> XTS (XOR Encrypt XOR with ciphertext stealing) [CRYPTO_XTS] Hashes, digests, and MACs ---> <*/M> SHA-224 and SHA-256 [CRYPTO_SHA256] Userspace interface ---> <*/M> Symmetric key cipher algorithms [CRYPTO_USER_API_SKCIPHER] Instalação do cryptsetup Instale cryptsetup executando os seguintes comandos: ./configure --prefix=/usr --disable-ssh-token && make Para testar o resultado, emita como o(a) usuário(a) root: make check. Alguns testes falharão se as opções apropriadas de configuração do núcleo não forem configuradas. Algumas opções adicionais que possivelmente sejam necessárias para os testes são: CONFIG_SCSI_LOWLEVEL, CONFIG_SCSI_DEBUG, CONFIG_BLK_DEV_DM_BUILTIN, CONFIG_CRYPTO_USER, CONFIG_CRYPTO_CRYPTD, CONFIG_CRYPTO_LRW, CONFIG_CRYPTO_XTS, CONFIG_CRYPTO_ESSIV, CONFIG_CRYPTO_CRCT 10DIF, CONFIG_CRYPTO_AES_TI, CONFIG_CRYPTO_AES_NI_INTEL, CONFIG_CRYPTO_BLOWFISH, CONFIG_CRYPTO_CAST5, CONFIG_CRYPTO_SERPENT, CONFIG_CRYPTO_SERPENT_SSE2_X86_64, CONFIG_CRYPTO_SERPENT_AVX_X86_64, CONFIG_CRYPTO_SERPENT_AVX2_X86_64 e CONFIG_CRYPTO_TWOFISH_X86_64. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-ssh-token: Essa opção é exigida se a dependência opcional libssh não estiver instalada. Configurando cryptsetup Devido ao número de configurações possíveis, a configuração de volumes encriptados está além do escopo do livro BLFS. Por favor, veja-se o guia de configuração nas [1802]Perguntas Frequentes do cryptsetup. Conteúdo Aplicativos Instalados: cryptsetup, cryptsetup-reencrypt, integritysetup e veritysetup Bibliotecas Instaladas: libcryptsetup.so Diretórios Instalados: Nenhum Descrições Curtas cryptsetup é usado para configurar mapeamentos de mapeadores de dispositivos gerenciados pelo dm-crypt cryptsetup-reencrypt é uma ferramenta para re-encriptação offline de dispositivo LUKS integritysetup é uma ferramenta para gerenciar volumes dm-integrity (integridade em nível de bloco) veritysetup é usado para configurar mapeamentos de mapeadores de dispositivos gerenciados dm-verity. O destino de veracidade do mapeador de dispositivos fornece verificação de integridade transparente somente leitura de dispositivos de bloco usando a API criptográfica do núcleo Cyrus SASL-2.1.28 Introdução a Cyrus SASL O pacote Cyrus SASL contém uma implementação de Autenticação Simples e Camada de Segurança, um método para adicionar suporte de autenticação a protocolos baseados em conexão. Para usar o SASL, um protocolo inclui um comando para identificar e autenticar um(a) usuário(a) em um servidor e, opcionalmente, negociar a proteção de interações subsequentes de protocolo. Se o uso dele for negociado, [então] uma camada de segurança é inserida entre o protocolo e a conexão. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [1803]https://github.com/cyrusimap/cyrus-sasl/releases/download/cyr us-sasl-2.1.28/cyrus-sasl-2.1.28.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 6f228a692516f5318a64505b46966cfa * Tamanho da transferência: 3,9 MB * Espaço em disco estimado exigido: 28 MB * Tempo de construção estimado: 0,2 UPC Dependências do Cyrus SASL Recomendada [1804]Base de Dados Berkeley-5.3.28 Opcionais [1805]Linux-PAM-1.5.3, [1806]MIT Kerberos V5-1.21.2, [1807]MariaDB-10.11.4 ou [1808]MySQL, [1809]OpenLDAP-2.6.6, [1810]PostgreSQL-15.4, [1811]sphinx-7.1.2, [1812]SQLite-3.42.0, [1813]krb4, [1814]Dmalloc e [1815]Pod::POM::View::Restructured Instalação do Cyrus SASL Nota Esse pacote não suporta construção paralela. Instale o Cyrus SASL executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc \ --enable-auth-sasldb \ --with-dbpath=/var/lib/sasl/sasldb2 \ --with-sphinx-build=no \ --with-saslauthd=/var/run/saslauthd && make -j1 Esse pacote não vem com uma suíte de teste. Se estiver planejando usar o mecanismo de autenticação GSSAPI, [então teste-o depois de instalar o pacote usando os aplicativos de amostra servidor e cliente que foram construídos na etapa anterior. As instruções para realizar os testes podem ser encontradas em [1816]https://www.linuxfromscratch.org/hints/downloads/files/cyrus-sasl .txt. Agora, como o(a) usuário(a) root: make install && install -v -dm755 /usr/share/doc/cyrus-sasl-2.1.28/html && install -v -m644 saslauthd/LDAP_SASLAUTHD /usr/share/doc/cyrus-sasl-2.1.28 && install -v -m644 doc/legacy/*.html /usr/share/doc/cyrus-sasl-2.1.28/html && install -v -dm700 /var/lib/sasl Explicações do Comando --with-dbpath=/var/lib/sasl/sasldb2: Essa chave força a base de dados sasldb a ser criada em /var/ lib/sasl em vez de /etc. --with-saslauthd=/var/run/saslauthd: Essa chave força saslauthd a usar o diretório conforme com FHS /var/run/ saslauthd para dados variáveis de tempo de execução. --enable-auth-sasldb: Essa chave habilita a estrutura de retaguarda de autenticação SASLDB. --with-dblib=gdbm: Essa chave força GDBM a ser usado em vez de Berkeley DB. --with-ldap: Essa chave habilita o suporte OpenLDAP. --enable-ldapdb: Essa chave habilita a estrutura de retaguarda de autenticação LDAPDB. --enable-login: Essa opção habilita a autenticação não suportada LOGIN. --enable-ntlm: Essa opção habilita a autenticação não suportada NTLM. install -v -m644 ...: Esses comandos instalam a documentação que não é instalada pelo comando make install. install -v -m700 -d /var/lib/sasl: Esse diretório precisa existir ao iniciar saslauthd ou usar o plug-in sasldb. Se não vai executar o processo de segundo plano ou usar os plugins, [então] você pode omitir a criação desse diretório. Configurando o Cyrus SASL Arquivos de Configuração /etc/saslauthd.conf (para configuração LDAP do saslauthd) e /etc/sasl2/Appname.conf (onde "Appname" é o nome definido do aplicativo do aplicativo) Informação de Configuração Veja-se [1817]https://www.cyrusimap.org/sasl/sasl/sysadmin.html para informação a respeito do que incluir nos arquivos de configuração do aplicativo. Veja-se [1818]file:///usr/share/doc/cyrus-sasl-2.1.28/LDAP_SASLAUTHD para configuração do saslauthd com o OpenLDAP. Veja-se [1819]https://www.cyrusimap.org/sasl/sasl/gssapi.html#gssapi para configurar o saslauthd com Kerberos. Unidade do Systemd Se você precisar executar o processo de segundo plano saslauthd na inicialização do sistema, [então] instale a unidade saslauthd.service incluída no pacote [1820]blfs-systemd-units-20230816 usando o seguinte comando: make install-saslauthd Nota Você precisará modificar /etc/default/saslauthd e modificar o parâmetro MECHANISM com o mecanismo de autenticação desejado. O mecanismo de autenticação padrão é "shadow". Conteúdo Aplicativos Instalados: pluginviewer, saslauthd, sasldblistusers2, saslpasswd2 e testsaslauthd Biblioteca Instalada: libsasl2.so Diretórios Instalados: /usr/include/sasl, /usr/lib/sasl2, /usr/share/doc/cyrus-sasl-2.1.28 e /var/lib/sasl Descrições Curtas pluginviewer é usado para listar plugins carregáveis SASL e as propriedades deles saslauthd é o servidor de autenticação SASL sasldblistusers2 é usado para listar os(as) usuários(as) na base de dados de senha SASL sasldb2 saslpasswd2 é usado para configurar e para deletar uma senha SASL, e os segredos específicos do mecanismo, do(a) usuário(a) na base de dados de senhas SASL sasldb2 testsaslauthd é um utilitário de teste para o servidor de autenticação SASL libsasl2.so é uma biblioteca de autenticação de uso geral para aplicativos servidor e cliente GnuPG-2.4.3 Introdução a GnuPG O pacote GnuPG é a ferramenta do GNU para comunicação e armazenamento de dados segura. Ela pode ser usada para encriptar dados e para criar assinaturas digitais. Ela inclui uma facilidade avançada de gerenciamento de chave e é conforme com o padrão proposto da Internet OpenPGP conforme descrito na RFC2440 e com o padrão S/MIME conforme descrito por várias RFCs. O GnuPG 2 é a versão estável do suporte de integração GnuPG para o OpenPGP e o S/MIME. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [1821]https://www.gnupg.org/ftp/gcrypt/gnupg/gnupg-2.4.3.tar.bz2 * Transferência (FTP): [1822]ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-2.4.3.tar.bz2 * Soma de verificação MD5 da transferência: e21ab42c629af80f19f813eeb61aa939 * Tamanho da transferência: 7,0 MB * Espaço em disco estimado exigido: 127 MB (com testes) * Tempo de construção estimado: 0,7 UPC (com testes; usando paralelismo=4) Transferências Adicionais * Remendo exigido: [1823]https://www.linuxfromscratch.org/patches/blfs/12.0/gnupg-2.4. 3-emacs-1.patch Dependências do GnuPG 2 Exigidas [1824]libassuan-2.5.6, [1825]libgcrypt-1.10.2, [1826]libksba-1.6.4, [1827]npth-1.6 e [1828]OpenLDAP-2.6.6 Recomendadas [1829]GnuTLS-3.8.1 (exigido para se comunicar com servidores de chave usando o protocolo https ou o hkps); e [1830]pinentry-1.2.1 (Exigência em tempo de execução para a maioria das funcionalidades do pacote) Opcionais [1831]cURL-8.2.1, [1832]Fuse-3.16.1, [1833]ImageMagick-7.1.1-15 (para o utilitário convert, usado para gerar a documentação), [1834]libusb-1.0.26, um [1835]MTA, [1836]SQLite-3.42.0, [1837]texlive-20230313 (ou [1838]install-tl-unx), [1839]fig2dev (para gerar a documentação) e [1840]GNU adns Instalação do GnuPG Primeiro, corrija um problema de compatibilidade com o emacs: patch -Np1 -i ../gnupg-2.4.3-emacs-1.patch Instale GnuPG executando os seguintes comandos: mkdir build && cd build && ../configure --prefix=/usr \ --localstatedir=/var \ --sysconfdir=/etc \ --docdir=/usr/share/doc/gnupg-2.4.3 && make && makeinfo --html --no-split -I doc -o doc/gnupg_nochunks.html ../doc/gnupg.texi & & makeinfo --plaintext -I doc -o doc/gnupg.txt ../doc/gnupg.texi & & make -C doc html Se tiver o [1841]texlive-20230313 instalado e você desejar criar a documentação em formatos alternativos, [então] emita os seguintes comandos ([1842]fig2dev é necessário para o formato "ps"): make -C doc pdf ps Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install && install -v -m755 -d /usr/share/doc/gnupg-2.4.3/html && install -v -m644 doc/gnupg_nochunks.html \ /usr/share/doc/gnupg-2.4.3/html/gnupg.html && install -v -m644 ../doc/*.texi doc/gnupg.txt \ /usr/share/doc/gnupg-2.4.3 && install -v -m644 doc/gnupg.html/* \ /usr/share/doc/gnupg-2.4.3/html Se você criou formatos alternativos da documentação, [então] instale-os usando o seguinte comando como o(a) usuário(a) root: install -v -m644 doc/gnupg.{pdf,dvi,ps} \ /usr/share/doc/gnupg-2.4.3 Explicações do Comando mkdir build && cd build: os(as) desenvolvedores(as) do "GnuPG2" recomendam construir o pacote em um diretório dedicado. --docdir=/usr/share/doc/gnupg-2.4.3: Essa chave muda o diretório padrão da documentação para /usr/share/doc/gnupg-2.4.3. --enable-all-tests: Essa chave permite que mais testes sejam executados com make check. --enable-g13: Essa chave habilita a construção do aplicativo g13. Conteúdo Aplicativos Instalados: addgnupghome, applygnupgdefaults, dirmngr, dirmngr-client, g13 (opcional), gpg-agent, gpg-card, gpg-connect-agent, gpg, gpgconf, gpgparsemail, gpgscm, gpgsm, gpgsplit, gpgtar, gpgv, gpg-wks-client, gpg-wks-server, kbxutil e watchgnupg Bibliotecas Instaladas: Nenhuma Diretórios Instalados: /usr/share/doc/gnupg-2.4.3 e /usr/share/gnupg Descrições Curtas addgnupghome é usado para criar e povoar os diretórios ~/.gnupg de um(a) usuário(a) applygnupgdefaults é um script amarrador usado para executar o gpgconf com o parâmetro --apply-defaults em todos os diretórios home GnuPG do(a) usuário(a) dirmngr é uma ferramenta que se encarrega de acessar os servidores de chave OpenPGP dirmngr-client é uma ferramenta para contactar um dirmngr em execução e testar quando um certificado tenha sido revogado g13 é uma ferramenta para criar, montar ou desmontar um contêiner de sistema de arquivos encriptado (opcional) gpg-agent é um processo de segundo plano usado para gerenciar chaves secretas (privadas) independentemente de qualquer protocolo. Ele é usado como uma estrutura de retaguarda para o gpg e o gpgsm, bem como para um par de outros utilitários gpg-card é uma ferramenta para gerenciar cartões inteligentes e "tokens" gpg-connect-agent é um utilitário usado para comunicar com um gpg-agent em execução gpg é a parte OpenPGP do GNU Privacy Guard (GnuPG). Ele é uma ferramenta usada para fornecer serviços digitais de encriptação e de assinatura usando o padrão OpenPGP gpgconf é um utilitário usado para consultar e para modificar arquivos de configuração automática e razoavelmente seguramente no diretório home ~/.gnupg. Ele é projetado não para ser invocado manualmente pelo(a) usuário(a), mas automaticamente por interfaces gráficas de usuário(a) gpgparsemail é um utilitário atualmente útil somente para depuração. Execute-o com --help para informação de uso gpgscm executa o aplicativo de esquema dado ou gera um shell interativo gpgsm é uma ferramenta semelhante ao gpg usada para fornecer serviços digitais de encriptação e de assinatura em certificados X.509 e o protocolo CMS. Ele é usado principalmente como uma estrutura de retaguarda para o processamento de mensagem S/MIME gpgsplit divide uma mensagem OpenPGP em pacotes gpgtar é uma ferramenta para encriptar ou para assinar arquivos dentro de um arquivamento gpgv é uma versão somente verificação do gpg gpg-wks-client é um cliente para o protocolo Web Key Service gpg-wks-server fornece um servidor para o protocolo Web Key Service kbxutil é usado para listar, exportar e importar dados Keybox watchgnupg é usado para ouvir um soquete Unix Domain criado por quaisquer das ferramentas GnuPG GnuTLS-3.8.1 Introdução a GnuTLS O pacote GnuTLS contém bibliotecas e ferramentas do espaço de usuário(a) que fornecem uma camada segura sobre uma camada de transporte confiável. Atualmente, a biblioteca GnuTLS implementa os padrões propostos pelo grupo de trabalho TLS da IETF. Citando a [1843]especificação do protocolo TLS 1.3 : “O TLS permite que aplicativos cliente/servidor se comuniquem pela Internet de uma maneira projetada para evitar espionagem, adulteração e falsificação de mensagens.” O GnuTLS fornece suporte para os protocolos TLS 1.3, TLS 1.2, TLS 1.1, TLS 1.0 e (opcionalmente) SSL 3.0. Ele também suporta extensões TLS, incluindo nome do servidor e tamanho máximo do registro. Além disso, a biblioteca suporta autenticação usando o protocolo SRP, certificados X.509 e chaves OpenPGP, junto com suporte para a extensão TLS Pre-Shared-Keys (PSK), a extensão Inner Application (TLS/IA) e manuseio de certificados OpenPGP e X.509. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [1844]https://www.gnupg.org/ftp/gcrypt/gnutls/v3.8/gnutls-3.8.1.tar .xz * Transferência (FTP): [1845]ftp://ftp.gnupg.org/gcrypt/gnutls/v3.8/gnutls-3.8.1.tar.xz * Soma de verificação MD5 da transferência: 31a4b85586522c527b044597e86870a4 * Tamanho da transferência: 6,1 MB * Espaço em disco estimado exigido: 146 MB (adicionar 113 MB para testes) * Tempo de construção estimado: 0,7 UPC (adicionar 1,4 UPC para testes; ambos usando paralelismo=8) Dependências do GnuTLS Exigida [1846]Nettle-3.9.1 Recomendadas [1847]make-ca-1.12, [1848]libunistring-1.1, [1849]libtasn1-4.19.0 e [1850]p11-kit-0.25.0 Opcionais [1851]Brotli-1.0.9, [1852]Doxygen-1.9.7, [1853]GTK-Doc-1.33.2, [1854]libidn-1.41 ou [1855]libidn2-2.3.4, [1856]libseccomp-2.5.4, [1857]Net-tools-2.10 (usado durante a suíte de teste), [1858]texlive-20230313 ou [1859]install-tl-unx, [1860]Unbound-1.17.1 (para construir a biblioteca DANE), [1861]Valgrind-3.21.0 (usado durante a suíte de teste), [1862]autogen, [1863]cmocka e [1864]datefudge (usado durante a suíte de teste se a biblioteca DANE for construída) e [1865]Trousers (suporte a Trusted Platform Module) Nota Observe que, se você não instalar o [1866]libtasn1-4.19.0, [então] uma versão enviada no tarball GnuTLS será usada em vez. Instalação do GnuTLS Instale GnuTLS executando os seguintes comandos: ./configure --prefix=/usr \ --docdir=/usr/share/doc/gnutls-3.8.1 \ --with-default-trust-store-pkcs11="pkcs11:" && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Explicações do Comando --with-default-trust-store-pkcs11="pkcs11:": Essa chave diz ao gnutls para usar o armazenamento de confiança PKCS #11 como a confiança padrão. Omita essa chave se [1867]p11-kit-0.25.0 não estiver instalado. --with-default-trust-store-file=/etc/pki/tls/certs/ca-bundle.crt: Essa chave informa ao configure onde encontrar o pacote legado de certificados da AC e usá-lo em vez do módulo PKCS #11 por padrão. Use isso se [1868]p11-kit-0.25.0 não estiver instalado. --enable-gtk-doc: Use esse parâmetro se GTK-Doc estiver instalado e você desejar reconstruir e instalar a documentação da API. --enable-openssl-compatibility: Use essa chave se desejar construir a biblioteca de compatibilidade OpenSSL. --without-p11-kit: use essa chave se você não tiver instalado o p11-kit. --with-included-unistring: usa a versão empacotada da libunistring, em vez da do sistema. Use essa chave se você não tiver instalado [1869]libunistring-1.1. Conteúdo Aplicativos Instalados: certtool, danetool, gnutls-cli, gnutls-cli-debug, gnutls-serv, ocsptool, p11tool, psktool e srptool Bibliotecas Instaladas: libgnutls.so, libgnutls-dane.so, libgnutlsxx.so, libgnutls-openssl.so (opcional) e /usr/lib/guile/3.0/extensions/guile-gnutls-v-2.so Diretórios Instalados: /usr/include/gnutls, /usr/lib/guile/3.0/site-ccache/gnutls, /usr/share/guile/site/3.0/gnutls e /usr/share/doc/gnutls-3.8.1 Descrições Curtas certtool é usado para gerar certificados X.509, solicitações de certificados e chaves privadas danetool é uma ferramenta usada para gerar e verificar registros de recursos DNS para o protocolo DANE gnutls-cli é um aplicativo cliente simples para configurar uma conexão TLS com algum outro computador gnutls-cli-debug é um aplicativo cliente simples para configurar uma conexão TLS com algum outro computador e produz resultados de progresso muito detalhados gnutls-serv é um aplicativo servidor simples que escuta as conexões TLS entrantes ocsptool é um aplicativo que pode analisar e imprimir informação relativa a solicitações/respostas OCSP, gerar solicitações e verificar respostas p11tool é um aplicativo que permite manusear dados procedentes de cartões inteligentes PKCS #11 e de módulos de segurança psktool é um aplicativo simples que gera chaves aleatórias para uso com TLS-PSK srptool é um aplicativo simples que emula os aplicativos nas bibliotecas Stanford SRP (Secure Remote Password) usando o GnuTLS libgnutls.so contém as funções centrais da API e as funções da API de certificado X.509 GPGME-1.21.0 Introdução a GPGME O pacote GPGME é uma biblioteca C que permite que suporte à criptografia seja adicionada a um aplicativo. Ele é projetado para tornar o acesso a mecanismos de criptografia de chave pública, como o GnuPG ou o GpgSM, mais fácil para os aplicativos. O GPGME fornece uma API criptográfica de alto nível para encriptação, desencriptação, assinatura, verificação de assinatura e gerenciamento de chaves. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [1870]https://www.gnupg.org/ftp/gcrypt/gpgme/gpgme-1.21.0.tar.bz2 * Transferência (FTP): [1871]ftp://ftp.gnupg.org/gcrypt/gpgme/gpgme-1.21.0.tar.bz2 * Soma de verificação MD5 da transferência: 3a83288e753a7da53a5626d29e4416fd * Tamanho da transferência: 1,8 MB * Espaço em disco estimado exigido: 305 MB (com testes) * Tempo de construção estimado: 1,7 UPC (com todas as vinculações e testes; com paralelismo=4) Dependências do GPGME Exigida [1872]libassuan-2.5.6 Opcionais [1873]Doxygen-1.9.7 e [1874]Graphviz-8.1.0 (para documentação da API), [1875]GnuPG-2.4.3 (exigido se Qt ou SWIG estiverem instalados; usado durante a suíte de teste), [1876]Clisp-2.49, ([1877]Qt-5.15.10 ou [1878]qt-alternate-5.15.10) e (ou) [1879]SWIG-4.1.1 (para vinculações de idioma) Instalação do GPGME Instale GPGME executando os seguintes comandos: ./configure --prefix=/usr --disable-gpg-test && make Para testar os resultados, você deveria ter [1880]GnuPG-2.4.3 instalado e remover o --disable-gpg-test acima. Emita: make -k check. Um teste, TestRemarks, é conhecido por falhar. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-gpg-test: se esse parâmetro não for passado para configurar, [então] os aplicativos de teste são construídos durante o estágio make, que exige [1881]GnuPG-2.4.3. Esse parâmetro não é necessário se [1882]GnuPG-2.4.3 estiver instalado. Conteúdo Aplicativo Instalado: gpgme-json e gpgme-tool Bibliotecas Instaladas: libgpgme, libgpgmepp.so e libqgpgme.so Diretório Instalado: /usr/include/{gpgme++,qgpgme,QGpgME}, /usr/lib/cmake/{Gpgmepp,QGpgme}. /usr/lib/python2.7/site-packages/gpg, /usr/lib/python3.11/site-packages/gpg-1.21.0-py3.11-linux-.egg e /usr/share/common-lisp/source/gpgme Descrições Curtas gpgme-json gera comandos GPGME no formato JSON gpgme-tool é um servidor assuan que expõe operações GPGME, como impressão de impressões digitais e identificadores de chave com servidores de chaves libgpgme.so contém as funções da API GPGME libgpgmepp.so contém as funções da API C++ GPGME libqgpgme.so contém funções de API para lidar com operações GPG em aplicativos Qt iptables-1.8.9 Introdução a iptables O iptables é um aplicativo de linha de comando do espaço do(a) usuário(a) usado para configurar o conjunto de regras de filtragem de pacote do núcleo Linux 2.4 e posteriores. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [1883]https://www.netfilter.org/projects/iptables/files/iptables-1. 8.9.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: ffa00f68d63e723c21b8a091c5c0271b * Tamanho da transferência: 633 KB * Espaço em disco estimado exigido: 16 MB * Tempo de construção estimado: 0,1 UPC Dependências do iptables Opcionais [1884]libpcap-1.10.4 (exigido para suporte ao compilador BPF ou nfsynproxy), [1885]bpf-utils (exigido para suporte ao Berkeley Packet Filter), [1886]libnfnetlink (exigido para suporte ao connlabel), [1887]libnetfilter_conntrack (exigido para suporte ao connlabel) e [1888]nftables Configuração do Núcleo Um firewall no Linux é realizado por meio da interface netfilter. Para usar o iptables para configurar a netfilter, os seguintes parâmetros de configuração do núcleo são exigidos: [*] Networking support ---> [NET] Networking options ---> [*] Network packet filtering framework (Netfilter) ---> [NETFILTER] [*] Advanced netfilter configuration [NETFILTER_ADVANCED] Core Netfilter Configuration ---> <*/M> Netfilter connection tracking support [NF_CONNTRACK] <*/M> Netfilter Xtables support (required for ip_tables) ... [NETFILTER_XTABLES] <*/M> LOG target support [NETFILTER_XT_TARGET_LOG] IP: Netfilter Configuration ---> <*/M> IP tables support (required for filtering/masq/NAT) ... [IP_NF_IPTABLES] Inclua quaisquer protocolos de rastreamento de conexão que serão usados, bem como quaisquer protocolos que você desejar usar para corresponder ao suporte sob a seção "Configuração Central da Netfilter". As opções acima são suficientes para se executar o [1889]Criando um Firewall Pessoal Com o iptables abaixo. Instalação do iptables Nota A instalação abaixo não inclui a construção de algumas bibliotecas de extensão especializadas que exigem os cabeçalhos crus no código fonte do Linux. Se desejar construir as extensões adicionais (se não tiver certeza, então provavelmente não deseja), [então] você pode olhar no arquivo INSTALL para ver um exemplo do como mudar o parâmetro KERNEL_DIR= para apontar para o código fonte do Linux. Observe que, se atualizar a versão do núcleo, [então] possivelmente precisará também recompilar o iptables e isso a equipe do BLFS não testou usando os cabeçalhos crus do núcleo. Instale iptables executando os seguintes comandos: ./configure --prefix=/usr \ --disable-nftables \ --enable-libipq && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-nftables: Essa chave desabilita a construção da compatibilidade do nftables. --enable-libipq: Essa chave habilita a construção da libipq.so a qual pode ser usada por alguns pacotes fora do BLFS. --enable-nfsynproxy: Essa chave habilita a instalação da ferramenta de configuração do SYNPROXY nfsynproxy. Configurando iptables Nota Nas seguintes configurações de exemplo, LAN1 é usada para a interface interna da LAN e WAN1 é usada para a interface externa conectada com a Internet. Você precisará substituir esses valores por nomes apropriados de interface para o seu sistema. Firewall Pessoal Um Firewall Pessoal é projetado para permitir que você acesse todos os serviços oferecidos na Internet enquanto mantém o seu computador seguro e os seus dados privados. Abaixo está uma versão ligeiramente modificada da recomendação do Rusty Russell oriunda do [1890]Linux 2.4 Packet Filtering HOWTO. Ela ainda é aplicável aos núcleos Linux 5.x. install -v -dm755 /etc/systemd/scripts cat > /etc/systemd/scripts/iptables << "EOF" #!/bin/sh # Início do /etc/systemd/scripts/iptables # Insere módulos de rastreamento de conexão (não necessário se # construído internamente ao kernel) modprobe nf_conntrack modprobe xt_LOG # Habilita difusão echo Protection echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts # Desabilita Pacotes Fonte Roteados echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route echo 0 > /proc/sys/net/ipv4/conf/default/accept_source_route # Habilita a Proteção SYN Cookie do TCP echo 1 > /proc/sys/net/ipv4/tcp_syncookies # Desabilita a Aceitação de Redireção de ICMP echo 0 > /proc/sys/net/ipv4/conf/default/accept_redirects # Não envia Mensagens de Redireção echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects # Descarta Pacotes Falsificados entrantes em uma interface, onde as # respostas resultariam na resposta indo para uma interface diferente. echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter # Registra pacotes com endereços impossíveis. echo 1 > /proc/sys/net/ipv4/conf/all/log_martians echo 1 > /proc/sys/net/ipv4/conf/default/log_martians # Seja verboso acerca de endereços dinâmicos de IP (não necessário no caso de IP estático) echo 2 > /proc/sys/net/ipv4/ip_dynaddr # Desabilita a Notificação Explícita de Congestão # roteadores demais ainda são ignorantes echo 0 > /proc/sys/net/ipv4/tcp_ecn # Configura um estado conhecido iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP # Estas linhas estão aqui no caso das regras já estiverem no lugar e o script fo r mesmo # reexecutado em tempo real. Nós queremos remover todas as regras e cadeias pre existentes # definidas por usuário(a) antes de implementarmos novas regras. iptables -F iptables -X iptables -Z iptables -t nat -F # Permite conexões locais somente iptables -A INPUT -i lo -j ACCEPT # Libera a saída gerada em qualquer interface para qualquer IP para # qualquer serviço (igual a -P ACCEPT) iptables -A OUTPUT -j ACCEPT # Permite respostas em conexões já estabelecidas e permite novas # conexões relacionadas às estabelecidas (por exemplo, modo de porta # ftp) iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT # Registra tudo o mais. iptables -A INPUT -j LOG --log-prefix "FIREWALL:INPUT " # Fim do /etc/systemd/scripts/iptables EOF chmod 700 /etc/systemd/scripts/iptables Esse script é bastante simples; ele descarta todo o tráfego entrante no seu computador que não foi iniciado a partir do seu computador; porém, considerando que você está simplesmente surfando na Internet, é improvável que exceda os limites dele. Se você encontrar frequentemente certos atrasos ao acessar servidores FTP, [então] dê uma olhada em [1891]Exemplo número quatro de BusyBox com o iptables. Mesmo se você tiver processos de segundo plano ou serviços executando em seu sistema, esses estarão inacessíveis em todos os lugares, exceto a partir do seu próprio computador. Se quiser permitir o acesso a serviços na sua máquina, tais como o ssh ou o ping, [então] dê uma olhada em [1892]Criando um BusyBox Com o iptables. Roteador de Mascaramento Um Firewall de Rede de Comunicação tem duas interfaces, uma conectada com uma intranet, neste exemplo LAN1 e uma conectada com a Internet, aqui WAN1. Para fornecer a máxima segurança para o próprio firewall, tenha certeza de que não existem servidores desnecessários executando nele, tais como o X11. Como um princípio geral, o próprio firewall não deveria acessar qualquer serviço não confiável (pense em um servidor remoto dando respostas que fazem com que um processo de segundo plano no seu sistema quebre; ou ainda pior, que implementa um verme via um estouro do buffer). install -v -dm755 /etc/systemd/scripts cat > /etc/systemd/scripts/iptables << "EOF" #!/bin/sh # Inicia /etc/systemd/scripts/iptables echo echo "Você está usando a configuração de exemplo para uma configuração de um fir ewall" echo "oriunda do Beyond Linux From Scratch." echo "Este exemplo está longe de ser completo; ele é entendido para ser" echo "somente uma referência." echo "A segurança do firewall é um problema complexo, que excede o escopo" echo "das regras de configuração abaixo." echo "Você pode encontrar informação adicional" echo "acerca de firewalls no Capítulo 4 do livro BLFS." echo "https://www.linuxfromscratch.org/blfs" echo # Insere módulos do iptables (não necessário se construído internamente ao núcle o). modprobe nf_conntrack modprobe nf_conntrack_ftp modprobe xt_conntrack modprobe xt_LOG modprobe xt_state # Habilita difusão echo Protection echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts # Desabilita Pacotes Fonte Roteados echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route # Habilitar Proteção de "Cookies" "SYN" do "TCP" echo 1 > /proc/sys/net/ipv4/tcp_syncookies # Desabilitar Aceitação de Redirecionamento "ICMP" echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects # Não envia Mensagens de Redireção echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects # Descarta Pacotes Falsificados entrantes em uma interface, onde as # respostas resultariam na resposta indo para uma interface diferente. echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter # Registra pacotes com endereços impossíveis. echo 1 > /proc/sys/net/ipv4/conf/all/log_martians # Seja verboso a respeito de endereços de IP dinâmicos (não necessário no caso d e IP estático) echo 2 > /proc/sys/net/ipv4/ip_dynaddr # Desabilita a Notificação Explícita de Congestão # roteadores demais ainda são ignorantes echo 0 > /proc/sys/net/ipv4/tcp_ecn # Configura um estado conhecido iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP # Estas linhas estão aqui no caso das regras já estiverem no lugar e o script fo r # mesmo reexecutado em tempo real. Nós queremos remover todas as regras e # cadeias preexistentes definidas por usuário(a) antes de implementarmos novas r egras. iptables -F iptables -X iptables -Z iptables -t nat -F # Permite conexões locais iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT # Permite o encaminhamento se a iniciada na intranet iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD ! -i WAN1 -m conntrack --ctstate NEW -j ACCEPT # Faz o mascaramento (não necessário se a intranet não estiver usando # endereços IP privados) iptables -t nat -A POSTROUTING -o WAN1 -j MASQUERADE # Registra tudo para depuração (última de todas as regras, porém antes # das regras de política) iptables -A INPUT -j LOG --log-prefix "FIREWALL:INPUT " iptables -A FORWARD -j LOG --log-prefix "FIREWALL:FORWARD " iptables -A OUTPUT -j LOG --log-prefix "FIREWALL:OUTPUT " # Habilita o Encaminhamento de IP echo 1 > /proc/sys/net/ipv4/ip_forward # As seções seguintes permitem pacotes de entrada para exemplos específicos; # descomente as linhas de exemplo e ajuste conforme necessário # Permite ping na interface externa #iptables -A INPUT -p icmp -m icmp --icmp-type echo-request -j ACCEPT #iptables -A OUTPUT -p icmp -m icmp --icmp-type echo-reply -j ACCEPT # Rejeita pacotes idênticos com reconfiguração de TCP para evitar atrasos com o FTP ou o IRC #iptables -A INPUT -p tcp --dport 113 -j REJECT --reject-with tcp-reset # Permite HTTP e HTTPS para 192.168.0.2 #iptables -A PREROUTING -t nat -i WAN1 -p tcp --dport 80 -j DNAT --to 192.168.0. 2 #iptables -A PREROUTING -t nat -i WAN1 -p tcp --dport 443 -j DNAT --to 192.168.0 .2 #iptables -A FORWARD -p tcp -d 192.168.0.2 --dport 80 -j ACCEPT #iptables -A FORWARD -p tcp -d 192.168.0.2 --dport 443 -j ACCEPT # Termina /etc/systemd/scripts/iptables EOF chmod 700 /etc/systemd/scripts/iptables Com esse script sua intranet deveria estar razoavelmente segura contra ataques externos. Ninguém deveria estar apto(a) a configurar uma conexão nova para qualquer serviço interno e, se estiver mascarada, torna a sua intranet invisível para a Internet. Além disso, o seu firewall deveria estar relativamente a salvo, pois não existem serviços executando que um cracker pudesse atacar. BusyBox Este cenário não é muito diferente do [1893]Criando um Roteador de Mascaramento Com o iptables, porém, adicionalmente, oferece alguns serviços para a sua intranet. Exemplos disto podem ser quando você quer administrar o seu firewall a partir de outro dispositivo na sua intranet ou usá-lo como um proxy ou como um servidor de nome. Nota Delinear especificamente como proteger um servidor que oferece serviços na Internet vai bem além do escopo deste documento. Vejam-se as referências em [1894]“Informação Extra” para mais informação. Seja cauteloso(a). Cada serviço que você tenha habilitado torna a sua configuração mais complexa e o seu firewall menos seguro. Você está exposto(a) aos riscos dos serviços mal configurados ou de executar um serviço com um defeito explorável. Um firewall geralmente não deveria executar quaisquer serviços extras. Veja-se a introdução ao [1895]Criando um Roteador de Mascaramento Com o iptables para mais alguns detalhes. Se você quiser acrescentar serviços, tais como servidores internos Samba ou de nome, que não precisem acessar eles próprios a Internet, [então] as declarações adicionais são bastante simples e ainda deveriam ser aceitáveis a partir de um ponto de vista da segurança. Apenas acrescente as seguintes linhas no script antes das regras de registro. iptables -A INPUT -i ! WAN1 -j ACCEPT iptables -A OUTPUT -o ! WAN1 -j ACCEPT Se processos de segundo plano, tais como o squid, tiverem que acessar eles próprios a Internet, [então] você geralmente poderia abrir OUTPUT e restringir INPUT. iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -j ACCEPT Entretanto, geralmente não é aconselhável deixar OUTPUT irrestrito. Você perde algum controle sobre trojans que gostariam de "chamar home", e um monte de redundância no caso de você tiver (mal) configurado um serviço, de forma que difunda a existência dele para o mundo. Para realizar isso, você deveria restringir INPUT e OUTPUT em todas as portas, exceto naquelas que sejam absolutamente necessárias ter abertas. Quais portas você tem de abrir depende das suas necessidades: a maioria você as encontrará procurando por acessos falhos nos seus arquivos de registro. Dê Uma Olhada nos Seguintes Exemplos: * O Squid está armazenando a web em cache: iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED \ -j ACCEPT * Seu servidor de nome de cache (por exemplo, named) faz as pesquisas dele via UDP: iptables -A OUTPUT -p udp --dport 53 -j ACCEPT * Você quer executar ping em seu computador para garantir que ele ainda esteja ativo: iptables -A INPUT -p icmp -m icmp --icmp-type echo-request -j ACCEPT iptables -A OUTPUT -p icmp -m icmp --icmp-type echo-reply -j ACCEPT * Se frequentemente estiver acessando servidores FTP ou curte chat, [então] você poderia notar atrasos, pois algumas implementações desses processos de segundo plano consultam um processo de segundo plano identd no seu sistema para obter nomes de usuário(a). Embora exista realmente pouco dano nisso, ter-se um identd executando não é recomendado, pois muitos especialistas em segurança entendem que o serviço dá muito mais informação adicional. Para evitar tais atrasos, você poderia rejeitar as solicitações com uma resposta 'tcp-reset': iptables -A INPUT -p tcp --dport 113 -j REJECT --reject-with tcp-reset * Para registrar e descartar pacotes inválidos (pacotes que vieram depois de um tempo esgotado do netfilter ou de alguns tipos de escaneamentos de rede de comunicação) insira estas regras no topo da cadeia: iptables -I INPUT 0 -p tcp -m conntrack --ctstate INVALID \ -j LOG --log-prefix "FIREWALL:INVALID " iptables -I INPUT 1 -p tcp -m conntrack --ctstate INVALID -j DROP * Qualquer coisa vinda a partir do lado de fora não deveria ter um endereço privado; isso é um ataque comum chamado de falsificação de IP: iptables -A INPUT -i WAN1 -s 10.0.0.0/8 -j DROP iptables -A INPUT -i WAN1 -s 172.16.0.0/12 -j DROP iptables -A INPUT -i WAN1 -s 192.168.0.0/16 -j DROP Existem outros endereços que você possivelmente também queira descartar: 0.0.0.0/8, 127.0.0.0/8, 224.0.0.0/3 (multicast e experimental), 169.254.0.0/16 (Redes de Comunicação Link Local) e 192.0.2.0/24 (rede de comunicação de teste definida pela IANA). * Se o seu firewall for um cliente DHCP, [então] você precisa permitir aqueles pacotes: iptables -A INPUT -i WAN1 -p udp -s 0.0.0.0 --sport 67 \ -d 255.255.255.255 --dport 68 -j ACCEPT * Para simplificar a depuração e ser justo(a) com qualquer um(a) que gostaria de acessar um serviço que você tenha desabilitado, propositalmente ou por erro, você poderia REJEITAR aqueles pacotes que são descartados. Obviamente, isso precisa ser feito diretamente depois do registro, como as ultimíssimas linhas antes dos pacotes serem descartados pela política: iptables -A INPUT -j REJECT Esses são somente exemplos para mostrar para você algumas das capacidades do código do firewall no Linux. Dê uma olhada na página de manual do iptables. Lá você encontrará muito mais informação. Os números de porta necessários para isso podem ser encontrados em /etc/services, caso você não os encontrou por tentativa e erro no seu arquivo de registro. Unidade do systemd Para configurar o firewall iptables na inicialização, instale a unidade iptables.service inclusa no pacote [1896]blfs-systemd-units-20230816. make install-iptables Conteúdo Aplicativos Instalados: ip6tables, ip6tables-apply, ip6tables-legacy, ip6tables-legacy-restore, ip6tables-legacy-save, ip6tables-restore, ip6tables-save, iptables, iptables-apply, iptables-legacy, iptables-legacy-restore, iptables-legacy-apply, iptables-restore, iptables-save, iptables-xml, nfsynproxy (opcional) e xtables-multi Bibliotecas Instaladas: libip4tc.so, libip6tc.so, libipq.so, libiptc.so e libxtables.so Diretórios Instalados: /lib/xtables e /usr/include/libiptc Descrições Curtas iptables é usado para configurar, manter e inspecionar as tabelas de regras de filtro de pacote IP no núcleo Linux iptables-apply é uma maneira mais segura para atualizar o iptables remotamente iptables-legacy é usado para interagir com o iptables usando o conjunto legado de comandos iptables-legacy-restore é usado para restaurar um conjunto de regras legadas do iptables iptables-legacy-save é usado para salvar um conjunto de regras legadas do iptables iptables-restore é usado para restaurar as Tabelas de IP a partir de dados especificados na STDIN. Use o redirecionamento de Entrada/Saída fornecida pelo seu shell para ler a partir de um arquivo iptables-save é usado para despejar o conteúdo de uma Tabela de IP em formato facilmente analisável para a STDOUT. Use o redirecionamento de Entrada/Saída fornecido pelo seu shell para escrever em um arquivo iptables-xml é usado para converter a saída gerada do iptables-save para um formato XML. Usar a folha de estilo iptables.xslt converte o XML de volta para o formato do iptables-restore ip6tables* é um conjunto de comandos para IPv6 que paraleliza os comandos do iptables acima nfsynproxy ferramenta de configuração (opcional). O alvo SYNPROXY torna o manuseio de grandes inundações SYN possível sem as grandes penalidades de desempenho impostas pelo rastreio de conexão em tais casos xtables-multi é um binário que se comporta de acordo com o nome pelo qual ele for chamado Configurando um Firewall de Rede de Comunicação Introdução à Criação de Firewall O propósito de um firewall é o de proteger um computador ou uma rede de comunicação contra acesso malicioso. Em um mundo perfeito, cada processo de segundo plano ou serviço, em cada máquina, está perfeitamente configurado e imune a falhas de segurança e todos(as) os(as) usuários(as) são implicitamente confiáveis para usar o equipamento conforme pretendido. Entretanto, isso é raramente, se é que existe, o caso. Processos de segundo plano possivelmente estejam mal configurados ou atualizações possivelmente não tenham sido aplicadas para maus usos em benefício próprio conhecidos contra serviços essenciais. Adicionalmente, você possivelmente deseje escolher quais serviços são acessíveis por certas máquinas ou por usuários(as); ou você possivelmente deseje limitar para quais máquinas ou aplicativos são permitidas o acesso externo. Alternativamente, você possivelmente simplesmente não confie em alguns dos seus aplicativos ou usuários(as). Por essas razões, um firewall cuidadosamente projetado deveria ser uma parte essencial da segurança do sistema. Embora um firewall consiga limitar bastante o escopo dos problemas acima, não assuma que ter-se um firewall torna redundante a configuração cuidadosa ou que qualquer má configuração negligente seja inofensiva. Um firewall não evita o mau uso em benefício próprio de qualquer serviço que você ofereça do lado de fora dele. A despeito de ter um firewall, você precisa manter aplicativos e processos de segundo plano devidamente configurados e atualizados. Significado da Palavra "Firewall" A palavra firewall pode ter diferentes significados. Firewall Pessoal Esse é um dispositivo de hardware ou aplicativo de software destinado a proteger computador doméstico ou de área de trabalho conectado com a Internet. Esse tipo de firewall é altamente relevante para usuários(as) que não sabem como o computador deles(as) poderia ser acessado via Internet ou como desabilitar tal acesso, especialmente se eles(as) sempre estiverem online e conectados(as) via links de banda larga. Uma configuração de exemplo para um firewall pessoal é fornecida em [1897]Criando um Firewall Pessoal Com o iptables. Roteador de Mascaramento Isso é um sistema colocado entre a Internet e uma intranet. Para minimizar o risco de comprometimento do próprio firewall, geralmente deveria ter somente uma função—aquela de proteger a intranet. Embora não completamente livre de risco, as tarefas de fazer o roteamento e de mascaramento de IP (reescrever cabeçalhos de IP dos pacotes que ele roteia de clientes com endereços IP privados para a Internet, de forma que eles pareçam vir a partir do próprio firewall) comumente são consideradas relativamente seguras. Uma configuração de exemplo para um firewall de mascaramento é fornecida em [1898]Criando um Roteador de Mascaramento Com o iptables. BusyBox Isso frequentemente é um computador antigo que você possivelmente tenha aposentado e quase esquecido, realizando funções de mascaramento ou de roteamento, porém oferecendo serviços que não são de firewall, tais como um cache de web ou correio. Isso possivelmente seja usado para redes de comunicação domésticas, porém não é para ser considerado tão seguro quanto uma máquina somente de firewall, pois a combinação de servidor e roteador/firewall em uma máquina eleva a complexidade da configuração. Uma configuração de exemplo para uma BusyBox é fornecida em [1899]Criando um BusyBox Com o iptables. Firewall com uma Zona Desmilitarizada Esse tipo de firewall realiza mascaramento ou roteamento, porém concede acesso público a alguma ramificação da sua rede de comunicação que é separada fisicamente da sua intranet regular e essencialmente é uma rede de comunicação separada com acesso direto à Internet. Os servidores nessa rede de comunicação são aqueles que precisam estar facilmente acessíveis a partir tanto da Internet quanto da intranet. O firewall protege ambas as redes de comunicação. Esse tipo de firewall tem um mínimo de três interfaces de rede de comunicação. Filtro de Pacote Esse tipo de firewall faz roteamento ou mascaramento, porém não mantém uma tabela estável dos fluxos de comunicação transeuntes. É rápido, entretanto bastante limitado na habilidade de bloquear pacotes indesejados sem bloquear pacotes desejados. Conclusão Cuidado As configurações de exemplo fornecidas para o [1900]iptables-1.8.9 não são destinadas para serem um guia completo para a segurança de sistemas. As técnicas de firewall são um problema complexo que exige configuração cuidadosa. As configurações fornecidas pelo BLFS são destinadas somente para dar exemplos do como um firewall funciona. Elas não são destinadas a se adequarem a qualquer configuração específica e possivelmente não forneçam proteção completa contra um ataque. O BLFS fornece um utilitário para gerenciar a interface Netfilter do núcleo, o [1901]iptables-1.8.9. Ele tem estado por aí desde os primeiros núcleos 2.4 e tem sido o padrão desde então. Esse provavelmente é o conjunto de ferramentas que será mais familiar para os(as) administradores(as) existentes. Outras ferramentas tem sido desenvolvidas mais recentemente; veja-se a lista das leituras adicionais abaixo para mais detalhes. Aqui você encontrará uma lista de URLs que contém informação compreensível acerca do construir firewalls e de proteção adicional ao seu sistema. Informação Extra Leitura Adicional Acerca de Firewalls [1902]www.netfilter.org - Página inicial dos projetos netfilter/iptable s/nftables [1903]Perguntas Frequentes relacionadas ao Netfilter [1904]Tutoriais relacionados ao Netfilter [1905]Tutoriais do nftables [1906]tldp.org/LDP/nag2/x-087-2-firewall.html [1907]tldp.org/HOWTO/Security-HOWTO.html [1908]tldp.org/HOWTO/Firewall-HOWTO.html [1909]linuxsecurity.com/howtos [1910]www.e-infomax.com/ipmasq [1911]www.circlemud.org/jelson/writings/security/index.htm [1912]insecure.org/reading.html libcap-2.69 com PAM Introdução a libcap com PAM O pacote libcap foi instalado no LFS, porém se o suporte Linux-PAM for desejado, [então] o módulo PAM precisa ser construído (depois da instalação do Linux-PAM). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [1913]https://www.kernel.org/pub/linux/libs/security/linux-privs/li bcap2/libcap-2.69.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 4667bacb837f9ac4adb4a1a0266f4b65 * Tamanho da transferência: 188 KB * Espaço em disco estimado exigido: 2,2 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do libcap Exigida [1914]Linux-PAM-1.5.3 Instalação do libcap Nota Se você estiver atualizando o libcap a partir de uma versão anterior, [então] use as instruções na [1915]página libcap do LFS para atualizar o libcap. Se [1916]Linux-PAM-1.5.3 tiver sido construído, o módulo PAM também será construído automaticamente. Instale libcap executando os seguintes comandos: make -C pam_cap Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: install -v -m755 pam_cap/pam_cap.so /usr/lib/security && install -v -m644 pam_cap/capability.conf /etc/security Configurando Libcap Para a finalidade de permitir que o Linux-PAM conceda privilégios baseados nos recursos POSIX, você precisa adicionar o módulo libcap ao início do arquivo /etc/pam.d/system-auth. Faça as edições necessárias com os seguintes comandos: mv -v /etc/pam.d/system-auth{,.bak} && cat > /etc/pam.d/system-auth << "EOF" && # Begin /etc/pam.d/system-auth auth optional pam_cap.so EOF tail -n +3 /etc/pam.d/system-auth.bak >> /etc/pam.d/system-auth Além disso, você precisará modificar o arquivo /etc/security/capability.conf para conceder os privilégios necessários para os(as) usuários(as) e utilizar o utilitário setcap para configurar recursos em utilitários específicos como necessário. Veja-se man 8 setcap e man 3 cap_from_text para informação adicional. Conteúdo Aplicativos Instalados: Nenhum Biblioteca Instalada: pam_cap.so Diretórios Instalados: Nenhum Linux-PAM-1.5.3 Introdução a Linux PAM O pacote Linux PAM contém Módulos Plugáveis de Autenticação usados pelo(a) administrador(a) local do sistema para controlar como os aplicativos autenticam usuários(as). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [1917]https://github.com/linux-pam/linux-pam/releases/download/v1.5 .3/Linux-PAM-1.5.3.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: a913bd5fbf9edeafaacf3eb1eb86fd83 * Tamanho da transferência: 967 KB * Espaço em disco estimado exigido: 39 MB (com os testes) * Tempo de construção estimado: 0,4 UPC (com os testes) Transferências Adicionais Documentação Opcional * Transferência (HTTP): [1918]https://github.com/linux-pam/linux-pam/releases/download/v1.5 .3/Linux-PAM-1.5.3-docs.tar.xz * Soma de verificação MD5 da transferência: c3771fdc447be78b4c1756b875235965 * Tamanho da transferência 456 KB Dependências do Linux PAM Opcionais [1919]Base de Dados Berkeley-5.3.28, [1920]libnsl-2.0.0, [1921]libtirpc-1.3.3, [1922]libaudit e [1923]Prelude Nota [1924]Shadow-4.13 e [1925]Systemd-254 precisa ser reinstalado e reconfigurado depois de instalar e de configurar o Linux PAM. Com o Linux-PAM-1.4.0 e superior, o módulo pam_cracklib não é instalado por padrão. Use [1926]libpwquality-1.4.5 para impor senhas fortes. Instalação do Linux PAM Se você baixou a documentação, [então] desempacote o tarball emitindo o seguinte comando. tar -xf ../Linux-PAM-1.5.3-docs.tar.xz --strip-components=1 Compile e vincule o Linux PAM executando os seguintes comandos: ./configure --prefix=/usr \ --sbindir=/usr/sbin \ --sysconfdir=/etc \ --libdir=/usr/lib \ --enable-securedir=/usr/lib/security \ --docdir=/usr/share/doc/Linux-PAM-1.5.3 && make Para testar os resultados, um arquivo de configuração adequado /etc/pam.d/other precisa existir. Reinstalação ou Atualização do Linux PAM Se você tiver um sistema com Linux PAM instalado e funcionando, seja cuidadoso(a) ao modificar os arquivos em /etc/pam.d, pois seu sistema possivelmente se torne totalmente inutilizável. Se você deseja executar os testes, [então] não precisa criar outro arquivo /etc/pam.d/other. O arquivo existente pode ser usado para os testes. Você também deveria estar ciente de que make install sobrescreve os arquivos de configuração em /etc/security, assim como em /etc/environment . Se você tiver modificado esses arquivos, [então] certifique-se de produzir uma cópia de segurança deles. Para uma primeira instalação, crie um arquivo de configuração emitindo os seguintes comandos como o(a) usuário(a) root: install -v -m755 -d /etc/pam.d && cat > /etc/pam.d/other << "EOF" auth required pam_deny.so account required pam_deny.so password required pam_deny.so session required pam_deny.so EOF Agora execute os testes emitindo make check. Certifique-se de que os testes não produziram erros antes de continuar a instalação. Observe que os testes são muito longos. Redirecione a saída gerada para um arquivo de registro, de forma que você possa inspecioná-lo completamente. Para uma primeira instalação, remova o arquivo de configuração criado anteriormente emitindo o seguinte comando como o(a) usuário(a) root: rm -fv /etc/pam.d/other Agora, como o(a) usuário(a) root: make install && chmod -v 4755 /usr/sbin/unix_chkpwd Explicações do Comando --enable-securedir=/usr/lib/security: Essa chave configura o local de instalação para os módulos PAM. chmod -v 4755 /usr/sbin/unix_chkpwd: O bit setuid para o aplicativo auxiliar unix_chkpwd precisa ser ativado, de forma que processos não root possam acessar o arquivo de sombra. Configurando Linux-PAM Arquivos de Configuração /etc/security/* e /etc/pam.d/* Informação de Configuração A informação de configuração é colocada em /etc/pam.d/. Aqui está um arquivo de amostra: # Início /etc/pam.d/other auth required pam_unix.so nullok account required pam_unix.so session required pam_unix.so password required pam_unix.so nullok # Fim /etc/pam.d/other Agora, crie alguns arquivos genéricos de configuração. Como o(a) usuário(a) root: install -vdm755 /etc/pam.d && cat > /etc/pam.d/system-account << "EOF" && # Inicia /etc/pam.d/system-account account required pam_unix.so # Termina /etc/pam.d/system-account EOF cat > /etc/pam.d/system-auth << "EOF" && # Inicia /etc/pam.d/system-auth auth required pam_unix.so # Termina /etc/pam.d/system-auth EOF cat > /etc/pam.d/system-session << "EOF" && # Inicia /etc/pam.d/system-session session required pam_unix.so # Termina /etc/pam.d/system-session EOF cat > /etc/pam.d/system-password << "EOF" # Inicia /etc/pam.d/system-password # Use resumo 'yescrypt' para encriptação; use sombra e tente usar # qualquer token de autenticação previamente definido (senha escolhida) # configurado por qualquer módulo anterior. password required pam_unix.so yescrypt shadow try_first_pass # Termina /etc/pam.d/system-password EOF Se você deseja ativar o suporte a senhas fortes, [então] instale [1927]libpwquality-1.4.5 e siga as instruções naquela página para configurar o módulo PAM pam_pwquality com suporte a senhas fortes. Em seguida, adicione um arquivo de configuração /etc/pam.d/other restritivo. Com esse arquivo, os aplicativos que reconhecem o PAM não serão executados, a menos que exista um arquivo de configuração específico para esse aplicativo. cat > /etc/pam.d/other << "EOF" # Início /etc/pam.d/other auth required pam_warn.so auth required pam_deny.so account required pam_warn.so account required pam_deny.so password required pam_warn.so password required pam_deny.so session required pam_warn.so session required pam_deny.so # Fim /etc/pam.d/other EOF A página de manual do PAM (man pam) fornece um bom ponto de partida para aprender a respeito dos diversos campos e entradas permitidas. O [1928]Guia do(a) Administrador(a) do Sistema Linux-PAM é recomendado para informação adicional. Importante Você deveria agora reinstalar os pacotes [1929]Systemd-254 e [1930]Shadow-4.13. Conteúdo Aplicativo Instalado: faillock, mkhomedir_helper, pam_namespace_helper, pam_timestamp_check, pwhistory_helper, unix_chkpwd e unix_update Bibliotecas Instaladas: libpam.so, libpamc.so e libpam_misc.so Diretórios Instalados: /etc/security, /usr/lib/security, /usr/include/security e /usr/share/doc/Linux-PAM-1.5.3 Descrições Curtas faillock exibe e modifica os arquivos de registro de falha de autenticação mkhomedir_helper é um binário auxiliar que cria diretórios home pam_namespace_helper é um aplicativo auxiliar usado para configurar um espaço de nome privado para uma sessão de usuário(a) pwhistory_helper é um aplicativo auxiliar que transfere hashes de senha de passwd ou shadow para opasswd pam_timestamp_check é usado para verificar se o carimbo padrão de tempo é válido unix_chkpwd é um binário auxiliar que verifica a senha do(a) usuário(a) atual unix_update é um binário auxiliar que atualiza a senha de um(a) determinado(a) usuário(a) libpam.so fornece as interfaces entre os aplicativos e os módulos PAM liboauth-1.0.3 Introdução a liboauth liboauth é uma coleção de funções POSIX-C implementando o padrão OAuth Core RFC 5849. Liboauth fornece funções para escapar e codificar parâmetros de acordo com a especificação OAuth e oferece funcionalidade de alto nível para assinar solicitações ou verificar assinaturas OAuth, bem como realizar solicitações HTTP. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [1931]https://downloads.sourceforge.net/liboauth/liboauth-1.0.3.tar .gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 689b46c2b3ab1a39735ac33f714c4f7f * Tamanho da transferência: 496 KB * Espaço em disco estimado exigido: 3,5 MB * Tempo de construção estimado: menos que 0,1 UPC Transferências Adicionais * Remendo exigido para uso com o OpenSSL: [1932]https://www.linuxfromscratch.org/patches/blfs/12.0/liboauth-1 .0.3-openssl-1.1.0-3.patch Dependências do liboauth Exigida [1933]cURL-8.2.1 Opcionais [1934]nss-3.92 e [1935]Doxygen-1.9.7 (para construir a documentação) Instalação do liboauth Aplique um remendo para a versão atual do OpenSSL: patch -Np1 -i ../liboauth-1.0.3-openssl-1.1.0-3.patch Instale liboauth executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Se você deseja construir a documentação (precisa do [1936]Doxygen-1.9.7), emita: make dox Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Se você previamente já tiver criado a documentação, [então] instale-a executando os seguintes comandos como o(a) usuário(a) root: install -v -dm755 /usr/share/doc/liboauth-1.0.3 && cp -rv doc/html/* /usr/share/doc/liboauth-1.0.3 Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --enable-nss: Use essa chave se desejar usar Mozilla NSS em vez do OpenSSL. Conteúdo Aplicativos Instalados: Nenhum Bibliotecas Instaladas: liboauth.so Diretórios Instalados: /usr/share/doc/liboauth-1.0.3 Descrições Curtas liboauth.so fornece funções para escapar e codificar sequências de caracteres de acordo com as especificações OAuth e oferece funcionalidade de alto nível integrada para assinar solicitações ou verificar assinaturas usando NSS ou OpenSSL para calcular o hash/assinaturas libpwquality-1.4.5 Introdução a libpwquality O pacote libpwquality fornece funções comuns para verificação da qualidade da senha e também pontuação com base na aparente aleatoriedade dela. A biblioteca também fornece uma função para gerar senhas aleatórias com boa pronúncia. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [1937]https://github.com/libpwquality/libpwquality/releases/downloa d/libpwquality-1.4.5/libpwquality-1.4.5.tar.bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: 6b70e355269aef0b9ddb2b9d17936f21 * Tamanho da transferência: 424 KB * Espaço em disco estimado exigido: 5,4 MB * Tempo de construção estimado: 0,1 UPC Dependências do libpwquality Exigida [1938]CrackLib-2.9.11 Recomendadas [1939]Linux-PAM-1.5.3 Instalação do libpwquality Instale libpwquality executando os seguintes comandos: ./configure --prefix=/usr \ --disable-static \ --with-securedir=/usr/lib/security \ --with-python-binary=python3 && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Explicações do Comando --with-python-binary=python3: Esse parâmetro dá o local do binário Python. O padrão é python e exige [1940]Python-2.7.18. Configurando libpwquality libpwquality é destinado a ser um substituto funcional para o agora obsoleto módulo PAM pam_cracklib.so. Para configurar o sistema para usar o módulo pam_pwquality, execute os seguintes comandos como o(a) usuário(a) root: mv /etc/pam.d/system-password{,.orig} && cat > /etc/pam.d/system-password << "EOF" # Inicia /etc/pam.d/system-password # verifique a força das novas senhas (man pam_pwquality) password required pam_pwquality.so authtok_type=UNIX retry=1 difok=1 \ minlen=8 dcredit=0 ucredit=0 \ lcredit=0 ocredit=0 minclass=1 \ maxrepeat=0 maxsequence=0 \ maxclassrepeat=0 gecoscheck=0 \ dictcheck=1 usercheck=1 \ enforcing=1 badwords="" \ dictpath=/usr/lib/cracklib/pw_dict # use resumo yescrypt para encriptação; use sombra e tente usar algum # token de autenticação previamente definido (senha escolhida) configurado # por algum módulo anterior. password required pam_unix.so yescrypt shadow try_first_pass # Termina /etc/pam.d/system-password EOF Conteúdo Aplicativos Instalados: pwscore e pwmake Bibliotecas Instaladas: pam_pwquality.so e libpwquality.so Diretórios Instalados: Nenhum Descrições Curtas pwmake é uma ferramenta configurável simples para gerar senhas aleatórias e relativamente fáceis de pronunciar pwscore é uma ferramenta simples para verificar a qualidade de uma senha libpwquality.so contém funções de API para verificar a qualidade da senha pam_pwquality.so é um módulo Linux PAM usado para realizar verificação da qualidade da senha MIT Kerberos V5-1.21.2 Introdução a MIT Kerberos V5 MIT Kerberos V5 é uma implementação livre do Kerberos 5. Kerberos é um protocolo de autenticação de rede de comunicação. Ele centraliza a base de dados de autenticação e usa aplicativos kerberizados para trabalhar com servidores ou serviços que suportem Kerberos, permitindo logins únicos e comunicação criptografada em redes internas de comunicação ou na Internet. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [1941]https://kerberos.org/dist/krb5/1.21/krb5-1.21.2.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 97d5f3a48235c53f6d537c877290d2af * Tamanho da transferência: 8,2 MB * Espaço em disco estimado exigido: 130 MB (adicionar 10 MB para testes) * Tempo de construção estimado: 0,3 UPC (Usando paralelismo=4; adicionar 1,0 UPC para testes) Dependências do MIT Kerberos V5 Opcionais [1942]Utilitários BIND-9.18.18, [1943]GnuPG-2.4.3 (para autenticar o pacote), [1944]keyutils-1.6.1, [1945]OpenLDAP-2.6.6, [1946]Valgrind-3.21.0 (usado durante a suíte de teste), [1947]yasm-1.3.0, [1948]libedit, [1949]cmocka, [1950]kdcproxy, [1951]pyrad e [1952]resolv_wrapper Nota Algum tipo de recurso de sincronização de tempo em seu sistema (como o [1953]ntp-4.2.8p17) é necessário, pois o Kerberos não autenticaria se houvesse uma diferença de horário entre um cliente kerberizado e o servidor KDC. Instalação do MIT Kerberos V5 Construa MIT Kerberos V5 executando os seguintes comandos: cd src && sed -i -e '/eq 0/{N;s/12 //}' plugins/kdb/db2/libdb2/test/run.test && ./configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var/lib \ --runstatedir=/run \ --with-system-et \ --with-system-ss \ --with-system-verto=no \ --enable-dns-for-realm && make Para testar a construção, emita: make -j1 -k check. Alguns testes possivelmente falhem com a versão mais recente de dejagnu e glibc. Alguns testes possivelmente travem por um tempo longo e falhem se o sistema não estiver conectado a uma rede de comunicação. Um teste, t_kadm5srv, é conhecido por falhar. Agora, como o(a) usuário(a) root: make install && cp -vfr ../doc -T /usr/share/doc/krb5-1.21.2 Explicações do Comando O comando sed remove um teste que é conhecido por falhar. --localstatedir=/var/lib: Essa opção é usada de forma que os dados variáveis de tempo de execução do Kerberos estejam localizados em /var/lib em vez de /usr/var. --runstatedir=/run: Essa opção é usada de forma que a informação de estado em tempo de execução do Kerberos esteja localizada em /run em vez do obsoleto /var/run. --with-system-et: Essa chave faz com que a construção use as versões instaladas do sistema do software de suporte à tabela de erros. --with-system-ss: Essa chave faz com que a construção use as versões instaladas do sistema do software de interface de linha de comando do subsistema. --with-system-verto=no: Essa chave corrige um defeito no pacote: ele não reconhece a própria biblioteca verto dele instalada anteriormente. Isso não é um problema, se reinstalar-se a mesma versão; mas, se estiver atualizando, [então] a biblioteca antiga é usada como a do sistema, ao invés de instalar a nova versão. --enable-dns-for-realm: Essa chave permite que os domínios sejam resolvidos usando o servidor DNS. --with-ldap: Use essa chave se desejar compilar o módulo de estrutura de retaguarda da base de dados OpenLDAP. Configurando o MIT Kerberos V5 Arquivos de Configuração /etc/krb5.conf e /var/lib/krb5kdc/kdc.conf Informação de Configuração Configuração do Kerberos Dica Você deveria considerar instalar algum tipo de dicionário de verificação de senha, de forma que consiga configurar a instalação para aceitar somente senhas fortes. Um dicionário adequado para usar é mostrado nas instruções do [1954]CrackLib-2.9.11. Observe que somente um arquivo pode ser usado, mas você pode concatenar muitos arquivos em um. O arquivo de configuração mostrado abaixo assume que você tenha instalado um dicionário em /usr/share/dict/words. Crie o arquivo de configuração do Kerberos com os seguintes comandos emitidos pelo(a) usuário(a) root: cat > /etc/krb5.conf << "EOF" # Início /etc/krb5.conf [libdefaults] default_realm = encrypt = true [realms] = { kdc = admin_server = dict_file = /usr/share/dict/words } [domain_realm] . = [logging] kdc = SYSLOG:INFO:AUTH admin_server = SYSLOG:INFO:AUTH default = SYSLOG:DEBUG:DAEMON # Fim /etc/krb5.conf EOF Você precisará substituir seu domínio e nome adequado do dispositivo para as ocorrências dos nomes e . default_realm deveria ser o nome do seu domínio mudado para TUDO EM MAIÚSCULAS. Isso não é obrigatório, mas tanto o Heimdal quanto o MIT o recomendam. encrypt = true fornece encriptação de todo o tráfego entre clientes e servidores kerberizados. Não é necessário e pode ser deixado de lado. Se você deixá-lo desativado, [então] consegue encriptar todo o tráfego procedente do cliente para o servidor usando uma chave no aplicativo cliente. Os parâmetros [realms] dizem aos aplicativos clientes onde procurar pelos serviços de autenticação do KDC. A seção [domain_realm] mapeia um domínio para um reino. Crie a base de dados do KDC: kdb5_util create -r -s Agora você deveria povoar a base de dados com principais (usuários(as)). Por enquanto, apenas use seu nome normal de login ou root. kadmin.local kadmin.local: add_policy dict-only kadmin.local: addprinc -policy dict-only O servidor KDC e qualquer máquina executando processos de segundo plano de servidor kerberizados precisam ter uma chave de dispositivo instalada: kadmin.local: addprinc -randkey host/ Depois de escolher os padrões quando solicitado, você terá que exportar os dados para um arquivo de tabela de chave: kadmin.local: ktadd host/ Isso deveria ter criado um arquivo em /etc chamado krb5.keytab (Kerberos 5). Esse arquivo deveria ter permissões 600 (somente leitura e escrita por root). Manter os arquivos de tabela de chave do acesso público é crucial para a segurança geral da instalação do Kerberos. Saia do aplicativo kadmin (use quit ou exit) e retorne ao prompt do shell. Inicie o processo de segundo plano KDC manualmente, apenas para testar a instalação: /usr/sbin/krb5kdc Tente obter um tíquete com o seguinte comando: kinit Você será solicitado(a) a fornecer a senha que criou. Depois de obter seu tíquete, você consegue listá-lo com o seguinte comando: klist Informação a respeito do tíquete deveriam ser exibidas na tela. Para testar a funcionalidade do arquivo de tabela de chave, emita o seguinte comando como o(a) usuário(a) root: ktutil ktutil: rkt /etc/krb5.keytab ktutil: l Isso deveria despejar uma lista do principal do dispositivo, juntamente com os métodos de encriptação usados para acessar o principal. Crie um arquivo ACL vazio que possa ser modificado posteriormente: touch /var/lib/krb5kdc/kadm5.acl Neste ponto, se tudo deu certo até agora, [então] você pode se sentir bastante confiante na instalação e configuração do pacote. Informação Adicional Para informação adicional, consulte a [1955]documentação para krb5-1.21.2 na qual as instruções acima são baseadas. Unidade do Systemd Se você deseja iniciar os serviços Kerberos na inicialização, [então] instale a unidade krb5.service incluída no pacote [1956]blfs-systemd-units-20230816 usando o seguinte comando: make install-krb5 Conteúdo Aplicativos Instalados: gss-client, gss-server, k5srvutil, kadmin, kadmin.local, kadmind, kdb5_ldap_util (opcional), kdb5_util, kdestroy, kinit, klist, kpasswd, kprop, kpropd, kproplog, krb5-config, krb5-send-pr, krb5kdc, ksu, kswitch, ktutil, kvno, sclient, sim_client, sim_server, sserver, uuclient e uuserver Bibliotecas Instaladas: libgssapi_krb5.so, libgssrpc.so, libk5crypto.so, libkadm5clnt_mit.so, libkadm5clnt.so, libkadm5srv_mit.so, libkadm5srv.so, libkdb_ldap.so (opcional), libkdb5.so, libkrad.so, libkrb5.so, libkrb5support.so, libverto.so e alguns plugins sob a árvore /usr/lib/krb5 Diretórios Instalados: /usr/include/{gssapi,gssrpc,kadm5,krb5}, /usr/lib/krb5, /usr/share/{doc/krb5-1.21.2,examples/krb5}, /var/lib/krb5kdc e /run/krb5kdc Descrições Curtas gss-client é um cliente de teste da API GSS gss-server é um servidor de teste da API GSS k5srvutil é um utilitário de manipulação da tabela de chaves do dispositivo kadmin é um utilitário usado para fazer modificações na base de dados Kerberos kadmin.local é um utilitário semelhante ao kadmin, mas se a base de dados for db2, [então] o cliente local kadmin.local, destina-se a executar diretamente no KDC mestre sem autenticação Kerberos kadmind é um servidor para acesso administrativo a uma base de dados Kerberos kdb5_ldap_util (opcional) permite que um(a) administrador(a) gerencie reinos, serviços Kerberos e políticas de tíquete kdb5_util é o utilitário de base de dados KDC kdestroy remove o conjunto atual de tíquetes kinit é usado para se autenticar no servidor Kerberos como um(a) principal e adquirir um tíquete que concede tíquete que consegue posteriormente ser usado para obter tíquetes para outros serviços klist lê e exibe os tíquetes atuais no cache de credenciais kpasswd é um aplicativo para mudar as senhas do Kerberos 5 kprop pega uma base de dados principal em um formato especificado e a converte em um fluxo de registros de base de dados kpropd recebe uma base de dados enviada pelo kprop e a grava como uma base de dados local kproplog exibe o conteúdo do registro de atualização da base de dados KDC na saída gerada padrão krb5-config fornece informação a respeito do como vincular aplicativos a bibliotecas krb5kdc é o servidor Kerberos 5 krb5-send-pr envia um Informe de Problema (IP) para um sítio central de suporte ksu é o aplicativo de superusuário(a) que usa o protocolo Kerberos. Exige um /etc/shells configurado adequadamente e ~/.k5login contendo principais autorizados a se tornarem superusuários(as) kswitch torna o cache especificado de credenciais o cache primário para a coleção, se uma coleção de cache estiver disponível ktutil é um aplicativo para gerenciar tabelas de chave do Kerberos kvno imprime os números de versão de chave dos principais do Kerberos sclient é usado para contactar um servidor de amostra e autenticar-se nele usando tíquetes Kerberos 5 e, em seguida, exibir a resposta do servidor sim_client é um simples aplicativo cliente de amostra baseado em UDP, para demonstração sim_server é um simples aplicativo servidor baseado em UDP, para demonstração sserver é o servidor de amostra Kerberos 5 uuclient é outro cliente de amostra uuserver é outro servidor de amostra libgssapi_krb5.so contém as funções Generic Security Service Application Programming Interface (GSSAPI) que fornecem serviços de segurança para chamadores de forma genérica, compatíveis com uma variedade de mecanismos e tecnologias subjacentes e, portanto, permitindo a portabilidade de nível de fonte de aplicativos para diferentes ambientes libkadm5clnt.so contém as funções administrativas de autenticação e verificação de senha exigidas pelos aplicativos Kerberos 5 do lado do cliente libkadm5srv.so contém as funções administrativas de autenticação e verificação de senha exigidas pelos servidores Kerberos 5 libkdb5.so é uma biblioteca de acesso à base de dados de autenticação/autorização Kerberos 5 libkrad.so contém a biblioteca interna de suporte para a funcionalidade RADIUS libkrb5.so é uma biblioteca Kerberos 5 multifuncional Nettle-3.9.1 Introdução a Nettle O pacote Nettle contém uma biblioteca criptográfica de baixo nível que é projetada para caber facilmente em muitos contextos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [1957]https://ftp.gnu.org/gnu/nettle/nettle-3.9.1.tar.gz * Transferência (FTP): [1958]ftp://ftp.gnu.org/gnu/nettle/nettle-3.9.1.tar.gz * Soma de verificação MD5 da transferência: 29fcd2dec6bf5b48e5e3ffb3cbc4779e * Tamanho da transferência: 2,3 MB * Espaço em disco estimado exigido: 95 MB (com testes) * Tempo de construção estimado: 0,2 UPC (com testes; ambos usando paralelismo=4) Dependências do Nettle Opcionais [1959]Valgrind-3.21.0 (opcional para os testes) Instalação do Nettle Instale Nettle executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install && chmod -v 755 /usr/lib/lib{hogweed,nettle}.so && install -v -m755 -d /usr/share/doc/nettle-3.9.1 && install -v -m644 nettle.{html,pdf} /usr/share/doc/nettle-3.9.1 Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativos Instalados: nettle-hash, nettle-lfib-stream, nettle-pbkdf2, pkcs1-conv e sexp-conv Bibliotecas Instaladas: libhogweed.so e libnettle.so Diretório Instalado: /usr/include/nettle e /usr/share/doc/nettle-3.9.1 Descrições Curtas nettle-hash calcula um valor de hash usando um algoritmo especificado nettle-lfib-stream gera uma sequência de bytes pseudo-aleatórios (não criptográficos), usando o gerador fibonacci defasado de Knuth. O fluxo é útil para testes, mas não deveria ser usado para gerar chaves criptográficas ou qualquer outra coisa que precise de aleatoriedade real nettle-pbkdf2 é uma função de derivação de chave baseada em senha que usa uma senha ou frase secreta como entrada e retorna uma senha reforçada, que é protegida contra ataques de pré-computação usando salting e outros cálculos dispendiosos. pkcs1-conv converte chaves RSA privadas e públicas do formato PKCS #1 para o formato sexp sexp-conv converte uma expressão s para uma codificação diferente NSS-3.92 Introdução a NSS O pacote Network Security Services (NSS) é um conjunto de bibliotecas projetadas para suportar o desenvolvimento em plataforma cruzada de aplicativos cliente e servidor habilitados para segurança. Aplicativos construídos com NSS podem suportar SSL v2 e v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, certificados X.509 v3 e outros padrões de segurança. Isso é útil para implementar SSL e S/MIME ou outros padrões de segurança da Internet em um aplicativo. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [1960]https://archive.mozilla.org/pub/security/nss/releases/NSS_3_9 2_RTM/src/nss-3.92.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 589167c3be81d09b9e332ff17d46ebca * Tamanho da transferência: 69 MB * Espaço em disco estimado exigido: 299 MB (adicionar 261 MB para testes) * Tempo de construção estimado: 1,2 UPC (com paralelismo=4; adicionar 15 UPC para testes em Ryzens AMD ou ao menos 30 UPC em máquinas Intel) Transferências Adicionais * Remendo exigido: [1961]https://www.linuxfromscratch.org/patches/blfs/12.0/nss-3.92-s tandalone-1.patch Dependências do NSS Exigida [1962]NSPR-4.35 Recomendadas [1963]SQLite-3.42.0 e [1964]p11-kit-0.25.0 (tempo de execução) Observações de Editor(a): [1965]https://wiki.linuxfromscratch.org/blfs/wiki/nss Instalação do NSS Instale NSS executando os seguintes comandos: patch -Np1 -i ../nss-3.92-standalone-1.patch && cd nss && make BUILD_OPT=1 \ NSPR_INCLUDE_DIR=/usr/include/nspr \ USE_SYSTEM_ZLIB=1 \ ZLIB_LIBS=-lz \ NSS_ENABLE_WERROR=0 \ $([ $(uname -m) = x86_64 ] && echo USE_64=1) \ $([ -f /usr/include/sqlite3.h ] && echo NSS_USE_SYSTEM_SQLITE=1) Para executar os testes, execute os seguintes comandos: cd tests && HOST=localhost DOMSUF=localdomain ./all.sh cd ../ Nota Alguma informação relativa aos testes: * HOST=localhost e DOMSUF=localdomain são exigidas. Sem essas variáveis, é necessário especificar um FQDN e essa forma genérica deveria funcionar para todos(as), desde que localhost.localdomain esteja definido em /etc/hosts, conforme feito [1966]no livro LFS. * Os testes tomam um tempo longo para executar. Se desejado, existe informação no conjunto de comandos sequenciais all.sh relativa a executar subconjuntos da suíte total de teste. * Ao interromper os testes, a suíte de teste falha ao desligar os servidores de teste que estão executando. Isso leva a um loop infinito nos testes em que a suíte de teste tenta matar um servidor que não mais existe porque extrai o PID errado. * Os resultados da suíte de teste (em formato HTML!) podem ser encontrados em ../../test_results/security/localhost.1/results.html * Uns poucos testes podem falhar em algumas máquinas Intel por razões desconhecidas. Agora, como o(a) usuário(a) root: cd ../dist && install -v -m755 Linux*/lib/*.so /usr/lib && install -v -m644 Linux*/lib/{*.chk,libcrmf.a} /usr/lib && install -v -m755 -d /usr/include/nss && cp -v -RL {public,private}/nss/* /usr/include/nss && install -v -m755 Linux*/bin/{certutil,nss-config,pk12util} /usr/bin && install -v -m644 Linux*/lib/pkgconfig/nss.pc /usr/lib/pkgconfig Explicações do Comando BUILD_OPT=1: Essa opção é passada para make de modo que a construção seja realizada sem símbolos de depuração embutidos nos binários e as otimizações padrão do compilador sejam usadas. NSPR_INCLUDE_DIR=/usr/include/nspr: Essa opção configura o local dos cabeçalhos nspr. USE_SYSTEM_ZLIB=1: Essa opção é passada para make para garantir que a biblioteca libssl3.so esteja vinculada ao zlib instalado do sistema em vez da versão em árvore. ZLIB_LIBS=-lz: Essa opção fornece os sinalizadores de vinculador necessários para vincular ao zlib do sistema. $([ $(uname -m) = x86_64 ] && echo USE_64=1): A opção USE_64=1 é exigida em x86_64, caso contrário, make tentará (e falhará) criar objetos de 32 bits. O teste [ $(uname -m) = x86_64 ] garante que não tenha efeito em um sistema de 32 bits. ([ -f /usr/include/sqlite3.h ] && echo NSS_USE_SYSTEM_SQLITE=1): Isso testa se o sqlite está instalado e, se estiver, echo a opção NSS_USE_SYSTEM_SQLITE=1 para make, de modo que libsoftokn3.so vinculará à versão do sistema do sqlite. NSS_DISABLE_GTESTS=1: Se você não precisa executar a suíte de teste NSS, anexe essa opção ao comando make, para evitar a compilação dos testes e economizar algum tempo de construção. Configurando NSS Se [1967]p11-kit-0.25.0 estiver instalado, [então] o módulo de confiança p11-kit (/usr/lib/pkcs11/p11-kit-trust.so) pode ser usado como um substituto imediato para /usr/lib/libnssckbi.so para transparentemente tornar as ACs do sistema disponíveis para aplicativos cientes de NSS, em vez da lista estática fornecida por /usr/lib/libnssckbi.so. Como o(a) usuário(a) root, execute o seguinte comando: ln -sfv ./pkcs11/p11-kit-trust.so /usr/lib/libnssckbi.so Além disso, para aplicativos dependentes que não usam a base de dados interna (/usr/lib/libnssckbi.so), o script /usr/sbin/make-ca incluído na página [1968]make-ca-1.12 pode gerar uma base de dados NSS abrangente ao sistema com a chave -n ou modificando o arquivo /etc/make-ca/make-ca. conf. Conteúdo Aplicativos Instalados: certutil, nss-config e pk12util Bibliotecas Instaladas: libcrmf.a, libfreebl3.so, libfreeblpriv3.so, libnss3.so, libnssckbi.so, libnssckbi-testlib.so, libnssdbm3.so, libnsssysinit.so, libnssutil3.so, libpkcs11testmodule.so, libsmime3.so, libsoftokn3.so e libssl3.so Diretórios Instalados: /usr/include/nss Descrições Curtas certutil é a ferramenta de base de dados de certificados da Mozilla. É um utilitário de linha de comando que consegue criar e modificar os arquivos de base de dados cert8.db e key3.db do Netscape Communicator. Ele também consegue listar, gerar, modificar ou deletar certificados dentro do arquivo cert8.db e criar ou mudar a senha, gerar novos pares de chaves públicas e privadas, exibir o conteúdo da base de dados de chaves ou deletar pares de chaves dentro do arquivo key3.db nss-config é usado para determinar as configurações da biblioteca NSS das bibliotecas instaladas NSS pk12util é uma ferramenta para importar certificados e chaves a partir de arquivos PKCS #12 para o NSS ou exportá-los. Ele também consegue listar certificados e chaves nesses arquivos OpenSSH-9.4p1 Introdução ao OpenSSH O pacote OpenSSH contém clientes ssh e o processo de segundo plano sshd. Isso é útil para encriptar a autenticação e o tráfego subsequente em uma rede de comunicação. Os comandos ssh e scp são implementações seguras do telnet e do rcp respectivamente. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [1969]https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh- 9.4p1.tar.gz * Soma de verificação MD5 da transferência: 4bbd56a7ba51b0cd61debe8f9e77f8bb * Tamanho da transferência: 1,7 MB * Espaço em disco estimado exigido: 45 MB (adicionar 22 MB para testes) * Tempo de construção estimado: 0.2 SBU (Using parallelism=4; running the tests takes about 20 minutes, irrespective of processor speed) Dependências do OpenSSH Opcionais [1970]GDB-13.2 (para testes), [1971]Linux-PAM-1.5.3, [1972]Aplicativos do Xorg (ou [1973]Ambiente de construção do "Xorg", vejam-se Explicações do Comando), [1974]MIT Kerberos V5-1.21.2, [1975]Which-2.21 (para testes), [1976]libedit, [1977]LibreSSL Portável, [1978]OpenSC e [1979]libsectok Opcional em Tempo de Execução (usado somente para coletar entropia) [1980]Net-tools-2.10 e [1981]Sysstat-12.7.2 Observações de Editor(a): [1982]https://wiki.linuxfromscratch.org/blfs/wiki/OpenSSH Instalação do OpenSSH O OpenSSH executa como dois processos ao se conectar a outros computadores. O primeiro processo é um processo privilegiado e controla a emissão de privilégios conforme necessário. O segundo processo se comunica com a rede de intercomunicação. Etapas adicionais de instalação são necessárias para configurar o ambiente adequado, que são realizadas emitindo os seguintes comandos como o(a) usuário(a) root: install -v -g sys -m700 -d /var/lib/sshd && groupadd -g 50 sshd && useradd -c 'sshd PrivSep' \ -d /var/lib/sshd \ -g sshd \ -s /bin/false \ -u 50 sshd Instale o OpenSSH executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc/ssh \ --with-privsep-path=/var/lib/sshd \ --with-default-path=/usr/bin \ --with-superuser-path=/usr/sbin:/usr/bin \ --with-pid-dir=/run && make Para testar os resultados, emita: make -j1 tests. Agora, como o(a) usuário(a) root: make install && install -v -m755 contrib/ssh-copy-id /usr/bin && install -v -m644 contrib/ssh-copy-id.1 \ /usr/share/man/man1 && install -v -m755 -d /usr/share/doc/openssh-9.4p1 && install -v -m644 INSTALL LICENCE OVERVIEW README* \ /usr/share/doc/openssh-9.4p1 Explicações do Comando --sysconfdir=/etc/ssh: Isso evita que os arquivos de configuração sejam instalados em /usr/etc. --with-default-path=/usr/bin e --with-superuser-path=/usr/sbin:/usr/bin: Esses configuram PATH consistente com o pacote Shadow do LFS e do BLFS. --with-pid-dir=/run: Isso evita que OpenSSH se refira ao obsoleto /var/run. --with-pam: Esse parâmetro habilita o suporte Linux-PAM na construção. --with-xauth=$XORG_PREFIX/bin/xauth: Configure o local padrão para o binário xauth para autenticação do X. A variável de ambiente XORG_PREFIX deveria estar configurada seguindo [1983]Ambiente de construção do "Xorg". Isso também pode ser controlado a partir de sshd_config com a palavra-chave XAuthLocation. Você pode omitir essa chave se o Xorg já estiver instalado. --with-kerberos5=/usr: Essa opção é usada para incluir suporte a Kerberos 5 na construção. --with-libedit: Essa opção habilita a edição de linha e recursos de histórico para o sftp. Configurando o OpenSSH Arquivos de Configuração ~/.ssh/*, /etc/ssh/ssh_config e /etc/ssh/sshd_config Não existem mudanças exigidas para nenhum desses arquivos. No entanto, você possivelmente deseje visualizar os arquivos do /etc/ssh/ e fazer quaisquer mudanças apropriadas para a segurança do teu sistema. Uma mudança recomendada é a de desabilitar o login do(a) root via ssh. Execute o seguinte comando como o(a) usuário(a) root para desabilitar o login do(a) root via ssh: echo "PermitRootLogin no" >> /etc/ssh/sshd_config Se quiser estar apto(a) a se logar sem digitar tua senha, crie primeiro ~/.ssh/id_rsa e ~/.ssh/id_rsa.pub com o ssh-keygen e depois copie ~/.ssh /id_rsa.pub para ~/.ssh/authorized_keys no computador remoto no qual deseja se logar. Você precisará mudar NOME_USUARIO(A)_REMOTO e NOME_DISPOSITIVO_REMOTO para o nome de usuário(a) e nome do dispositivo do computador remoto e também precisará inserir tua senha para que o comando ssh-copy-id seja bem-sucedido: ssh-keygen && ssh-copy-id -i ~/.ssh/id_rsa.pub NOME_USUARIO(A)_REMOTO@NOME_DISPOSITIVO_REMOTO Tão logo tenha obtido logins sem senha funcionando, atualmente é mais seguro que se logar com uma senha (já que a chave privada é muito mais longa que as senhas da maioria das pessoas). Se você gostaria de desabilitar logins de senha agora, como o(a) usuário(a) root: echo "PasswordAuthentication no" >> /etc/ssh/sshd_config && echo "KbdInteractiveAuthentication no" >> /etc/ssh/sshd_config Se você adicionou suporte Linux-PAM e deseja que o ssh o use, então precisará adicionar um arquivo de configuração para o sshd e habilitar o uso do Linux-PAM. Observe que o ssh somente usa PAM para verificar senhas; se tiver desabilitado os logins de senha, estes comandos não são necessários. Se você deseja usar o PAM, emita os seguintes comandos como o(a) usuário(a) root: sed 's@d/login@d/sshd@g' /etc/pam.d/login > /etc/pam.d/sshd && chmod 644 /etc/pam.d/sshd && echo "UsePAM yes" >> /etc/ssh/sshd_config Informação adicional de configuração pode ser encontrada nas páginas de manual para sshd, ssh e ssh-agent. Unidade do systemd Para iniciar o servidor SSH na inicialização do sistema, instale a unidade sshd.service incluída no pacote [1984]blfs-systemd-units-20230816. make install-sshd Conteúdo Aplicativos Instalados: scp, sftp, ssh, ssh-add, ssh-agent, ssh-copy-id, ssh-keygen, ssh-keyscan e sshd Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /etc/ssh, /usr/share/doc/openssh-9.4p1 e /var/lib/sshd Descrições Curtas scp é um aplicativo de cópia de arquivo que age como rcp, exceto que usa um protocolo encriptado sftp é um aplicativo do tipo FTP que funciona ao longo dos protocolos SSH1 e SSH2 ssh é um aplicativo cliente do tipo rlogin/rsh, exceto que usa um protocolo encriptado sshd é um processo de segundo plano que escuta solicitações de login do ssh ssh-add é uma ferramenta que adiciona chaves ao ssh-agent ssh-agent é um agente de autenticação que consegue armazenar chaves privadas ssh-copy-id é um conjunto de comandos sequenciais que habilita logins em máquinas remotas usando chaves locais ssh-keygen é uma ferramenta de geração de chave ssh-keyscan é um utilitário para coletar chaves públicas de dispositivo a partir de vários dispositivos p11-kit-0.25.0 Introdução a p11-kit O pacote p11-kit fornece uma maneira de carregar e de enumerar módulos PKCS #11 (um padrão de interface de token criptográfico). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [1985]https://github.com/p11-glue/p11-kit/releases/download/0.25.0/ p11-kit-0.25.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 9fcb1ec80b5d083dd9b34122fa7c3c23 * Tamanho da transferência: 940 KB * Espaço em disco estimado exigido: 90 MB (com testes) * Tempo de construção estimado: 0,6 UPC (com testes) Dependências do p11-kit Recomendadas [1986]libtasn1-4.19.0 Recomendadas (tempo de execução) [1987]make-ca-1.12 Opcionais [1988]GTK-Doc-1.33.2, [1989]libxslt-1.1.38 e [1990]nss-3.92 (tempo de execução) Instalação do p11-kit Corrija um problema causante de alguns módulos PKCS 11 falharem para carregar: sed 's/if (gi/& \&\& gi != C_GetInterface/' \ -i p11-kit/modules.c Prepare o gancho de ancoragem específico para distribuição: sed '20,$ d' -i trust/trust-extract-compat && cat >> trust/trust-extract-compat << "EOF" # Copia as modificações de âncora existentes para /etc/ssl/local /usr/libexec/make-ca/copy-trust-modifications # Atualiza armazenamentos confiáveis /usr/sbin/make-ca -r EOF Instale p11-kit executando os seguintes comandos: mkdir p11-build && cd p11-build && meson setup .. \ --prefix=/usr \ --buildtype=release \ -Dtrust_paths=/etc/pki/anchors && ninja Para testar os resultados, emita: ninja test. Agora, como o(a) usuário(a) root: ninja install && ln -sfv /usr/libexec/p11-kit/trust-extract-compat \ /usr/bin/update-ca-certificates Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dtrust_paths=/etc/pki/anchors: essa chave configura o local dos certificados confiáveis usados pela libp11-kit.so. -Dhash_impl=freebl: Use essa chave se quiser usar a biblioteca Freebl proveniente da NSS para hash SHA1 e MD5. -Dgtk_doc=true: Use essa chave se você tiver instalado [1991]GTK-Doc-1.33.2 e [1992]libxslt-1.1.38 e deseja reconstruir a documentação e gerar páginas de manual . Configurando p11-kit O módulo de confiança p11-kit (/usr/lib/pkcs11/p11-kit-trust.so) pode ser usado como um substituto imediato para /usr/lib/libnssckbi.so para transparentemente tornar as ACs do sistema disponíveis para aplicativos cientes da NSS, em vez da lista estática fornecida pela /usr/lib/libnssckbi.so. Como o(a) usuário(a) root, execute os seguintes comandos: ln -sfv ./pkcs11/p11-kit-trust.so /usr/lib/libnssckbi.so Conteúdo Aplicativos Instalados: p11-kit, trust e update-ca-certificates Bibliotecas Instaladas: libp11-kit.so e p11-kit-proxy.so Diretórios Instalados: /etc/pkcs11, /usr/include/p11-kit-1, /usr/lib/pkcs11, /usr/libexec/p11-kit, /usr/share/gtk-doc/html/p11-kit e /usr/share/p11-kit Descrições Curtas p11-kit é uma ferramenta de linha de comando que pode ser usada para realizar operações em módulos PKCS#11 configurados no sistema trust é uma ferramenta de linha de comando para examinar e modificar o armazenamento de política de confiança compartilhada update-ca-certificates é uma ferramenta de linha de comando para extrair certificados locais a partir de um armazenamento âncora atualizado e regenerar todas as âncoras e armazenamentos de certificados no sistema. Isso é feito incondicionalmente no BLFS usando os sinalizadores --force e --get para o make-ca e provavelmente não deveria ser usado para atualizações automáticas libp11-kit.so contém funções usadas para coordenar a inicialização e a finalização de qualquer módulo PKCS#11 p11-kit-proxy.so é o módulo proxy PKCS#11 Polkit-123 Introdução ao Polkit Polkit é um kit de ferramentas para definir e para manusear autorizações. Ele é usado para permitir que processos não privilegiados se comuniquem com processos privilegiados. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [1993]https://gitlab.freedesktop.org/polkit/polkit/-/archive/123/po lkit-123.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 36540b837c588e1e77145523bb39f511 * Tamanho da transferência: 736 KB * Espaço em disco estimado exigido: 6,8 MB (com testes) * Tempo de construção estimado: 0,3 UPC (com os testes, usando paralelismo=4) Dependências do Polkit Exigidas [1994]GLib-2.76.4 Recomendadas [1995]duktape-2.7.0, [1996]gobject-introspection-1.76.1, [1997]libxslt-1.1.38 e, [1998]Linux-PAM-1.5.3 Nota Como systemd-logind usa PAM para registrar sessões de usuário(a), é uma boa ideia construir Polkit com suporte a PAM, de forma que systemd-logind possa rastrear sessões Polkit. Opcionais [1999]GTK-Doc-1.33.2, [2000]JS-102.13.0 (pode ser usado no lugar de duktape) e [2001]dbusmock-0.29.1 (para os testes) Dependências Exigidas em Tempo de Execução [2002]Systemd-254 Dependências Opcionais em Tempo de Execução Um agente de autenticação polkit para usar o polkit no ambiente gráfico: polkit-kde-agent em [2003]Plasma-5.27.7 para KDE, o agente construído em [2004]gnome-shell-44.3 para GNOME3, [2005]polkit-gnome-0.105 para XFCE e lxpolkit em [2006]LXSession-0.5.5 para LXDE Nota Se [2007]libxslt-1.1.38 estiver instalado, então [2008]docbook-xml-4.5 e [2009]docbook-xsl-nons-1.79.2 serão exigidos. Se você tiver instalado [2010]libxslt-1.1.38, mas não deseja instalar nenhum dos pacotes DocBook mencionados, [então] você precisará usar -Dman=false nas instruções abaixo. Instalação do Polkit Deveria existir um(a) usuário(a) e um grupo dedicado(a) para assumir o controle do processo de segundo plano polkitd depois que ele for iniciado. Emita os seguintes comandos como o(a) usuário(a) root: groupadd -fg 27 polkitd && useradd -c "Dono(a) do Processo de Segundo Plano do PolicyKit" -d /etc/polkit-1 -u 27 \ -g polkitd -s /bin/false polkitd Se usar [2011]JS-102.13.0, faça a seguinte mudança (veja-se as Explicações dos Comandos abaixo para mais informações): sed -e 's/JS_Init/JS::DisableJitBackend(); &/' \ -i src/polkitbackend/polkitbackendjsauthority.cpp Instale o Polkit executando os seguintes comandos: mkdir build && cd build && meson setup .. \ --prefix=/usr \ --buildtype=release \ -Dman=true \ -Dsession_tracking=libsystemd-login \ -Dtests=true && ninja Para testar os resultados, primeiro certifique-se de que o processo de segundo plano D-Bus do sistema esteja executando e que [2012]D-Bus Python-1.3.2 e [2013]dbusmock-0.29.1 estejam instalados. Em seguida, execute ninja test. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando sed -e 's/JS_Init/JS::DisableJitBackend(); &/' ... : A compilação JIT do JS102 precisa do mapeamento W+X, o que é perigoso e não é permitido pelo arquivo de unidade do systemd fornecido com o pacote polkit. Esse comando não é estritamente necessário em sistemas baseados em sysvinit, mas ainda melhora a segurança. Ele não tem efeito se construir-se o polkit com o mecanismo Javascript [2014]duktape-2.7.0 recomendado. --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dtests=true: Essa chave permite executar a suíte de teste deste pacote. Como Polkit é usado para autorizações, a integridade dele pode afetar a segurança do sistema. Portanto, é recomendado executar a suíte de teste construindo este pacote. -Djs_engine=mozjs: Essa chave permite usar o mecanismo JavaScript [2015]JS-102.13.0 em vez do mecanismo JavaScript [2016]duktape-2.7.0. -Dos_type=lfs: Use essa chave se você não criou o arquivo /etc/lfs-release ou a detecção automática da distribuição falhará e você estará inapto(a) a usar o Polkit. -Dauthfw=shadow: Essa chave habilita o pacote a usar o Shadow em vez da estrutura de autenticação Linux PAM. Use-a se você não tiver instalado Linux PAM. -Dintrospection=false: Use essa opção se tiver certeza de que não precisa dos arquivos gobject-introspection para o polkit ou não tiver o gobject-introspection instalado. -Dman=false: Use essa opção para desabilitar a geração e a instalação das páginas de manual. Isso é útil se libxslt não estiver instalado. -Dexamples=true: Use essa opção para construir os aplicativos de exemplo. -Dgtk_doc=true: Use essa opção para habilitar a construção e a instalação da documentação da API. Conteúdo Aplicativos Instalados: pkaction, pkcheck, pkexec, pkttyagent e polkitd Bibliotecas Instaladas: libpolkit-agent-1.so e libpolkit-gobject-1.so Diretórios Instalados: /etc/polkit-1, /usr/include/polkit-1, /usr/lib/polkit-1, /usr/share/gtk-doc/html/polkit-1 e /usr/share/polkit-1 Descrições Curtas pkaction é usado para obter informação relativa às ações registradas do PolicyKit pkcheck é usado para verificar se um processo está autorizado para ação pkexec permite que um(a) usuário(a) autorizado(a) execute um comando como outro(a) usuário(a) pkttyagent é usado para iniciar um agente textual de autenticação para o assunto polkitd fornece o serviço D-Bus do org.freedesktop.PolicyKit1 no barramento de mensagem do sistema libpolkit-agent-1.so contém as funções de API do agente de autenticação Polkit libpolkit-gobject-1.so contém as funções da API de autorização Polkit polkit-gnome-0.105 Introdução a Polkit GNOME O pacote Polkit GNOME fornece um Agente de Autenticação para Polkit que se integra bem com o ambiente de área de trabalho GNOME. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2017]https://download.gnome.org/sources/polkit-gnome/0.105/polkit- gnome-0.105.tar.xz * Transferência (FTP): [2018]ftp://ftp.acc.umu.se/pub/gnome/sources/polkit-gnome/0.105/pol kit-gnome-0.105.tar.xz * Soma de verificação MD5 da transferência: 50ecad37c8342fb4a52f590db7530621 * Tamanho da transferência: 305 KB * Espaço em disco estimado exigido: 5,0 MB * Tempo de construção estimado: 0,1 UPC Transferências Adicionais * Remendo exigido: [2019]https://www.linuxfromscratch.org/patches/blfs/12.0/polkit-gno me-0.105-consolidated_fixes-1.patch Dependências do Polkit GNOME Exigidas [2020]AccountsService-23.13.9, [2021]GTK+-3.24.38 e [2022]Polkit-123 Instalação do Polkit GNOME Primeiro, aplique algumas correções que permitem que o ícone adequado de usuário(a) seja usado, bem como algumas correções de segurança: patch -Np1 -i ../polkit-gnome-0.105-consolidated_fixes-1.patch Instale o Polkit GNOME executando os seguintes comandos: ./configure --prefix=/usr && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Configurando o Polkit GNOME Iniciação Automática Para que a estrutura de autenticação funcione, polkit-gnome-authentification-agent-1 precisa ser iniciado. No entanto, make install não instalou um arquivo de iniciação para o Polkit GNOME, de modo que você tem de criá-lo você mesmo(a). Emita os seguintes comandos como o(a) usuário(a) root para criar um arquivo de iniciação para Polkit GNOME: mkdir -p /etc/xdg/autostart && cat > /etc/xdg/autostart/polkit-gnome-authentication-agent-1.desktop << "EOF" [Desktop Entry] Name=PolicyKit Authentication Agent Comment=PolicyKit Authentication Agent Exec=/usr/libexec/polkit-gnome-authentication-agent-1 Terminal=false Type=Application Categories= NoDisplay=true OnlyShowIn=GNOME;XFCE;Unity; AutostartCondition=GNOME3 unless-session gnome EOF Conteúdo Aplicativo Instalado: polkit-gnome-authentication-agent-1 Bibliotecas Instaladas: Nenhum(a) Diretório Instalado: Nenhum(a) Descrições Curtas polkit-gnome-authentication-agent-1 é o agente de autenticação Polkit Shadow-4.13 Introdução a Shadow O Shadow foi realmente instalado no LFS e não existe razão para reinstalá-lo, a menos que você tenha instalado o CrackLib ou o Linux-PAM depois que seu sistema LFS foi concluído. Se você tiver instalado CrackLib depois do LFS, então reinstalar o Shadow habilitará o suporte a senha forte. Se você tiver instalado o Linux-PAM, [então] reinstalar o Shadow permitirá que aplicativos como login e su utilizem o PAM. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2023]https://github.com/shadow-maint/shadow/releases/download/4.13 /shadow-4.13.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: b1ab01b5462ddcf43588374d57bec123 * Tamanho da transferência: 1,7 MB * Espaço em disco estimado exigido: 45 MB * Tempo de construção estimado: 0,2 UPC Dependências do Shadow Exigida [2024]Linux-PAM-1.5.3 ou [2025]CrackLib-2.9.11 Instalação do Shadow Importante Os comandos de instalação mostrados abaixo são para instalações onde o Linux-PAM tenha sido instalado e o Shadow esteja sendo reinstalado para suportar a instalação do Linux-PAM. Se você estiver reinstalando Shadow para fornecer suporte de senha forte usando a biblioteca CrackLib sem usar Linux-PAM, [então] certifique-se de adicionar o parâmetro --with-libcrack ao script configure abaixo e também emita o seguinte comando: sed -i 's@DICTPATH.*@DICTPATH\t/lib/cracklib/pw_dict@' etc/login.defs Reinstale Shadow executando os seguintes comandos: sed -i 's/groups$(EXEEXT) //' src/Makefile.in && find man -name Makefile.in -exec sed -i 's/groups\.1 / /' {} \; && find man -name Makefile.in -exec sed -i 's/getspnam\.3 / /' {} \; && find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \; && sed -e 's@#ENCRYPT_METHOD DES@ENCRYPT_METHOD YESCRYPT@' \ -e 's@/var/spool/mail@/var/mail@' \ -e '/PATH=/{s@/sbin:@@;s@/bin:@@}' \ -i etc/login.defs && ./configure --sysconfdir=/etc \ --disable-static \ --with-{b,yes}crypt \ --with-group-name-max-length=32 && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make exec_prefix=/usr install As páginas de manual foram instaladas no LFS, mas se a reinstalação for desejada, execute (como o(a) usuário(a) root): make -C man install-man Explicações do Comando sed -i 's/groups$(EXEEXT) //' src/Makefile.in: Esse sed é usado para suprimir a instalação do aplicativo groups, pois a versão originária do pacote Coreutils instalado durante o LFS é a preferida. find man -name Makefile.in -exec ... {} \;: O primeiro comando é usado para suprimir a instalação das páginas de manual do groups, de modo que as existentes instaladas a partir do pacote Coreutils não sejam substituídas. Os outros dois comandos impedem a instalação de páginas de manual que já estão instaladas pelo Man-pages no LFS. sed -e 's@#ENCRYPT_METHOD DES@ENCRYPT_METHOD YESCRYPT@' -e 's@/var/spool/mail@/var/mail@' -e '/PATH=/{s@/sbin:@@;s@/bin:@@}' -i etc/login.defs: Em vez de usar o método padrão 'DES ', esse comando modifica a instalação para usar o método muito mais seguro 'YESCRYPT' de resumo de senhas, que também permite senhas maiores que oito caracteres. O comando também muda o local obsoleto /var/spool/mail para caixas de correio de usuário(a) que Shadow usa por padrão para o local /var/mail. Ele também muda o caminho padrão para estar consistente com aquele configurado no LFS. --with-group-name-max-length=32: O nome máximo de usuário(a) é de trinta e dois (32) caracteres. Torne o nome máximo do grupo o mesmo. Configurando Linux-PAM para Funcionar com Shadow Nota O restante desta página é dedicado à configurar o Shadow para funcionar adequadamente com o Linux-PAM. Se você não tiver o Linux-PAM instalado e reinstalou o Shadow para suportar senhas fortes por meio da biblioteca CrackLib, [então] nenhuma configuração adicional é necessária. Arquivos de Configuração /etc/pam.d/* ou, alternativamente, /etc/pam.conf, /etc/login.defs e /etc/security/* Informação de Configuração Configurar seu sistema para usar Linux-PAM pode ser uma tarefa complexa. A informação abaixo fornecerá uma configuração básica, de modo que a funcionalidade de login e senha do Shadow funcione efetivamente com o Linux-PAM. Revise a informação e os links na página [2026]Linux-PAM-1.5.3 para informação adicional de configuração. Para informação específica relativa a integrar o Shadow, Linux-PAM e o libpwquality, você pode visitar o seguinte link: * [2027]https://deer-run.com/users/hal/linux_passwords_pam.html Configurando /etc/login.defs O aplicativo login atualmente realiza muitas funções que os módulos Linux-PAM agora deveriam manusear. O seguinte comando sed comentará as linhas apropriadas em /etc/login.defs e impedirá login de realizar essas funções (um arquivo de cópia de segurança chamado /etc/login.defs.orig também é criado para preservar o conteúdo do arquivo original). Emita os seguintes comandos como o(a) usuário(a) root: install -v -m644 /etc/login.defs /etc/login.defs.orig && for FUNCTION in FAIL_DELAY \ FAILLOG_ENAB \ LASTLOG_ENAB \ MAIL_CHECK_ENAB \ OBSCURE_CHECKS_ENAB \ PORTTIME_CHECKS_ENAB \ QUOTAS_ENAB \ CONSOLE MOTD_FILE \ FTMP_FILE NOLOGINS_FILE \ ENV_HZ PASS_MIN_LEN \ SU_WHEEL_ONLY \ CRACKLIB_DICTPATH \ PASS_CHANGE_TRIES \ PASS_ALWAYS_WARN \ CHFN_AUTH ENCRYPT_METHOD \ ENVIRON_FILE do sed -i "s/^${FUNCTION}/# &/" /etc/login.defs done Configurando os Arquivos /etc/pam.d/ Conforme mencionado anteriormente nas instruções do Linux-PAM, o Linux-PAM tem dois métodos suportados para configuração. Os comandos abaixo assumem que você tenha escolhido usar uma configuração baseada em diretório, onde cada aplicativo tem o próprio arquivo de configuração dele. Você pode opcionalmente usar um arquivo de configuração /etc/pam.conf usando o texto oriundo dos arquivos abaixo e fornecendo o nome do aplicativo como um primeiro campo adicional para cada linha. Como o(a) usuário(a) root, crie os seguintes arquivos de configuração do Linux-PAM no diretório /etc/pam.d/ (ou adicione o conteúdo ao arquivo /etc/pam.conf) usando os seguintes comandos: 'login' cat > /etc/pam.d/login << "EOF" # Início /etc/pam.d/login # Configura atraso de falha antes do próximo prompt para 3 segundos auth optional pam_faildelay.so delay=3000000 # Verifica se o(a) usuário(a) tem permissão para se logar auth requisite pam_nologin.so # Verifica para assegurar que o(a) root tem permissão para se logar. # Desabilitado por padrão. Você precisará criar o arquivo /etc/securetty # para que este módulo funcione. Veja-se man 5 securetty. #auth required pam_securetty.so # Associações adicionais de grupo - desabilitadas por padrão #auth optional pam_group.so # Inclui configurações de autenticação do sistema auth include system-auth # Verifica acesso para o(a) usuário(a) account required pam_access.so # Inclui configurações de conta do sistema account include system-account # Configura variáveis padrão de ambiente para o(a) usuário(a) session required pam_env.so # Configura limites de recursos para o(a) usuário(a) session required pam_limits.so # Exibe a mensagem do dia - Desabilitado por padrão #session optional pam_motd.so # Verifica mensagens eletrônicas para o(a) usuário(a) - Desabilitado por padrão #session optional pam_mail.so standard quiet # inclui configurações da sessão e senha do sistema session include system-session password include system-password # Fim /etc/pam.d/login EOF 'passwd' cat > /etc/pam.d/passwd << "EOF" # Início /etc/pam.d/passwd password include system-password # Fim /etc/pam.d/passwd EOF 'su' cat > /etc/pam.d/su << "EOF" # Início /etc/pam.d/su # Sempre permitir root auth sufficient pam_rootok.so # Permite que usuários(as) do grupo wheel executem su sem uma senha # Desabilitado por padrão #auth sufficient pam_wheel.so trust use_uid # Inclui configurações de autenticação do sistema auth include system-auth # Limita su a usuários(as) no grupo wheel # Desabilitado por padrão #auth required pam_wheel.so use_uid # Inclui configurações de conta do sistema account include system-account # Configura variáveis padrão de ambiente para o(a) usuário(a) do serviço session required pam_env.so # Inclui configurações de sessão do sistema session include system-session # Fim /etc/pam.d/su EOF 'chpasswd' e 'newusers' cat > /etc/pam.d/chpasswd << "EOF" # Início /etc/pam.d/chpasswd # Sempre permitir root auth sufficient pam_rootok.so # Inclui configurações do sistema de autenticação e de conta auth include system-auth account include system-account password include system-password # Fim /etc/pam.d/chpasswd EOF sed -e s/chpasswd/newusers/ /etc/pam.d/chpasswd >/etc/pam.d/newusers 'chage' cat > /etc/pam.d/chage << "EOF" # Início /etc/pam.d/chage # Sempre permitir root auth sufficient pam_rootok.so # Inclui configurações do sistema de autenticação e de conta auth include system-auth account include system-account # Fim /etc/pam.d/chage EOF Outros utilitários de sombra for PROGRAM in chfn chgpasswd chsh groupadd groupdel \ groupmems groupmod useradd userdel usermod do install -v -m644 /etc/pam.d/chage /etc/pam.d/${PROGRAM} sed -i "s/chage/$PROGRAM/" /etc/pam.d/${PROGRAM} done Atenção Neste ponto, você deveria fazer um teste simples para ver se o Shadow está funcionando conforme o esperado. Abra outro terminal e se logue como root e, em seguida, execute login e se logue como outro(a) usuário(a). Se não vir nenhum erro, então está tudo bem e você deveria prosseguir com o restante da configuração. Se você recebeu erros, [então] pare agora e verifique duplamente os arquivos de configuração acima manualmente. Qualquer erro é o sinal de um erro no procedimento acima. Você também pode executar a suíte de teste proveniente do pacote Linux-PAM para ajudá-lo(a) a determinar o problema. Se não conseguir localizar e corrigir o erro, [então] você deveria recompilar o Shadow adicionando a chave --without-libpam ao comando configure nas instruções acima (também mova o arquivo de cópia de segurança /etc/login.defs.orig para /etc/login.defs). Se falhar em fazer isso e os erros persistirem, [então] você não conseguirá se logar no seu sistema. Configurando Acesso de Login Em vez de usar o arquivo /etc/login.access para controlar o acesso ao sistema, o Linux-PAM usa o módulo pam_access.so juntamente com o arquivo /etc/security/access.conf. Renomeie o arquivo /etc/login.access usando o seguinte comando: if [ -f /etc/login.access ]; then mv -v /etc/login.access{,.SEMUSO}; fi Configurando Limites de Recurso Em vez de usar o arquivo /etc/limits para limitar o uso dos recursos do sistema, o Linux-PAM usa o módulo pam_limits.so junto com o arquivo /etc/security/limits.conf. Renomeie o arquivo /etc/limits usando o seguinte comando: if [ -f /etc/limits ]; then mv -v /etc/limits{,.SEMUSO}; fi Cuidado Certifique-se de testar os recursos de login do sistema antes de se deslogar. Erros na configuração podem causar um bloqueio permanente exigindo uma inicialização a partir de uma fonte externa para corrigir o problema. Conteúdo Uma lista dos arquivos instalados, juntamente com as descrições curtas deles, pode ser encontrada em [2028]../../../../lfs/view/12.0-systemd/chapter08/shadow.html#contents- shadow. ssh-askpass-9.4p1 Introdução a ssh-askpass O ssh-askpass é um nome executável genérico para muitos pacotes, com nomes semelhantes, que fornecem um serviço interativo do X para obter senha para pacotes que exigem privilégios administrativos para serem executados. Ele exibe para o(a) usuário(a) uma caixa de janela onde a senha necessária pode ser inserida. Aqui, escolhemos o pacote de Damien Miller distribuído no tarball do OpenSSH. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2029]https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh- 9.4p1.tar.gz * Transferência (FTP): [2030]ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9. 4p1.tar.gz * Soma de verificação MD5 da transferência: 4bbd56a7ba51b0cd61debe8f9e77f8bb * Tamanho da transferência: 1,7 MB * Espaço em disco estimado exigido: 10 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do ssh-askpass Exigidas [2031]GTK+-3.24.38, [2032]Sudo-1.9.14p3 (tempo de execução), [2033]Bibliotecas do Xorg e [2034]um ambiente gráfico (tempo de execução) Observações de Editor(a): [2035]https://wiki.linuxfromscratch.org/blfs/wiki/ssh-askpass Instalação do ssh-askpass Instale ssh-askpass executando os seguintes comandos: cd contrib && make gnome-ssh-askpass3 Agora, como o(a) usuário(a) root: install -v -d -m755 /usr/libexec/openssh/contrib && install -v -m755 gnome-ssh-askpass3 /usr/libexec/openssh/contrib && ln -sv -f contrib/gnome-ssh-askpass3 /usr/libexec/openssh/ssh-askpass O uso de /usr/libexec/openssh/contrib e um link simbólico é justificado pela eventual necessidade de um aplicativo diferente para esse serviço. Configurando ssh-askpass Informação de Configuração Como o(a) usuário(a) root, configure [2036]Sudo-1.9.14p3 para usar ssh-askpass: cat >> /etc/sudo.conf << "EOF" && # Caminho para o aplicativo auxiliar askpass Path askpass /usr/libexec/openssh/ssh-askpass EOF chmod -v 0644 /etc/sudo.conf Se um dado gráfico exigir privilégios administrativos, [então] use sudo -A a partir de um terminal do X, a partir de um menu do Gerenciador de janelas e(ou) substitua "Exec= ..." por "Exec=sudo -A ..." no arquivo .desktop. Conteúdo Aplicativos Instalados: gnome-ssh-askpass3, ssh-askpass (link simbólico para gnome-ssh-askpass3) Biblioteca Instalada: Nenhuma Diretório Instalado: /usr/libexec/openssh/contrib stunnel-5.70 Introdução a stunnel O pacote stunnel contém um aplicativo que permite encriptar conexões arbitrárias TCP dentro de SSL (Secure Sockets Layer), de modo que você consiga se comunicar facilmente com clientes ao longo de canais seguros. stunnel também pode ser usado para encapsular PPP ao longo de soquetes de rede de comunicação sem mudanças no código-fonte do pacote do servidor. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): * Transferência (FTP): [2037]ftp://ftp.stunnel.org/stunnel/archive/5.x/stunnel-5.70.tar.gz * Soma de verificação MD5 da transferência: 4246f65d556b9ec51e94f80744ce0eda * Tamanho da transferência: 864 KB * Espaço em disco estimado exigido: 6,9 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do stunnel Opcionais [2038]libnsl-2.0.0, [2039]netcat (exigido para os testes), [2040]tcpwrappers e [2041]TOR Instalação do stunnel O processo de segundo plano stunnel será executado em uma jaula chroot por um(a) usuário(a) sem privilégios. Crie o(a) novo(a) usuário(a) e grupo usando os seguintes comandos como o(a) usuário(a) root: groupadd -g 51 stunnel && useradd -c "Processo de segundo plano stunnel" -d /var/lib/stunnel \ -g stunnel -s /bin/false -u 51 stunnel Nota Um certificado SSL assinado e uma chave privada é necessário(a) para executar o processo de segundo plano stunnel. Depois que o pacote estiver instalado, existem instruções para gerá-lo(a). No entanto, se você é dono(a) ou já criou um Certificado SSL assinado que deseja usar, [então] copie-o para /etc/stunnel/stunnel.pem antes de iniciar a construção (certifique-se de que somente o(a) root tenha acesso de leitura e gravação). O arquivo .pem precisa ser formatado conforme mostrado: -----BEGIN PRIVATE KEY----- -----END PRIVATE KEY----- -----BEGIN CERTIFICATE----- -----END CERTIFICATE----- -----BEGIN DH PARAMETERS----- -----END DH PARAMETERS----- Instale stunnel executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var && make Se você tiver instalado o aplicativo opcional netcat, [então] os testes de regressão podem ser executados com make check. Agora, como o(a) usuário(a) root: make docdir=/usr/share/doc/stunnel-5.70 install Instale a unidade systemd incluída executando o seguinte comando como o(a) usuário(a) root: install -v -m644 tools/stunnel.service /usr/lib/systemd/system Se você ainda não tiver um certificado SSL assinado e uma chave privada, [então] crie o arquivo stunnel.pem no diretório /etc/stunnel usando o comando abaixo. Você será solicitado(a) a inserir a informação necessária. Certifique-se de responder ao Common Name (FQDN of your server) [localhost]: prompt com o nome ou o endereço IP que você usará para acessar o(s) serviço(s). Para gerar um certificado, como o(a) usuário(a) root, emita: make cert Explicações do Comando make docdir=... install: Esse comando instala o pacote e muda o diretório de instalação da documentação para convenções de nomenclatura padrão. Configurando stunnel Arquivos de Configuração /etc/stunnel/stunnel.conf Informação de Configuração Como o(a) usuário(a) root, crie o diretório usado para o arquivo .pid criado quando o processo de segundo plano stunnel inicia: install -v -m750 -o stunnel -g stunnel -d /var/lib/stunnel/run && chown stunnel:stunnel /var/lib/stunnel Em seguida, crie um arquivo básico de configuração /etc/stunnel/stunnel.conf usando os seguintes comandos como o(a) usuário(a) root: cat > /etc/stunnel/stunnel.conf << "EOF" ; File: /etc/stunnel/stunnel.conf ; Observação: os locais da saída gerada e do PID são relativos ao local do chroo t. pid = /run/stunnel.pid chroot = /var/lib/stunnel client = no setuid = stunnel setgid = stunnel cert = /etc/stunnel/stunnel.pem ;debug = 7 ;output = stunnel.log ;[https] ;accept = 443 ;connect = 80 ;; "TIMEOUTclose = 0" é um contorno para uma falha de projeto no Microsoft SSL ;; Implementações Microsoft não usam alerta de notificação de fechamento SSL e, portanto, ;; elas são vulneráveis a ataques de truncamento ;TIMEOUTclose = 0 EOF Finalmente, adicione o(s) serviço(s) que deseja encriptar ao arquivo de configuração. O formato é como segue: [] accept = connect = Para uma explicação completa dos comandos e da sintaxe usados no arquivo de configuração, emita man stunnel. Unidade do systemd Para iniciar o processo de segundo plano stunnel na inicialização, habilite a unidade do systemd instalada anteriormente executando o seguinte comando como o(a) usuário(a) root: systemctl enable stunnel Conteúdo Aplicativos Instalados: stunnel e stunnel3 Biblioteca Instalada: libstunnel.so Diretórios Instalados: /{etc,lib,var/lib}/stunnel e /usr/share/doc/stunnel-5.70 Descrições Curtas stunnel é um aplicativo projetado para funcionar como invólucro de encriptação SSL entre clientes remotos e servidores locais ou remotos stunnel3 é um script de invólucro Perl para usar a sintaxe 3.x do stunnel com o stunnel 4.05 ou posterior libstunnel.so contém as funções de API exigidas pelo stunnel Sudo-1.9.14p3 Introdução a Sudo O pacote Sudo permite que um(a) administrador(a) do sistema dê a certos(as) usuários(as) (ou a grupos de usuários(as)) a capacidade de executar alguns (ou todos) comandos como root ou outro usuário(a) enquanto registra os comandos e argumentos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2042]https://www.sudo.ws/dist/sudo-1.9.14p3.tar.gz * Transferência (FTP): [2043]ftp://ftp.sudo.ws/pub/sudo/sudo-1.9.14p3.tar.gz * Soma de verificação MD5 da transferência: 4cc21cf7c9a89290b230954aed0d1e11 * Tamanho da transferência: 5,0 MB * Espaço em disco estimado exigido: 51 MB (adicionar 17 MB para testes) * Tempo de construção estimado: 0,2 UPC (com paralelismo=4; adicionar 0,1 UPC para testes) Dependências do Sudo Opcionais [2044]Linux-PAM-1.5.3, [2045]MIT Kerberos V5-1.21.2, [2046]OpenLDAP-2.6.6, [2047]MTA (que fornece um comando sendmail), [2048]AFS, [2049]FWTK e [2050]Opie Observações de Editor(a): [2051]https://wiki.linuxfromscratch.org/blfs/wiki/sudo Instalação do Sudo Instale Sudo executando os seguintes comandos: ./configure --prefix=/usr \ --libexecdir=/usr/lib \ --with-secure-path \ --with-all-insults \ --with-env-editor \ --docdir=/usr/share/doc/sudo-1.9.14p3 \ --with-passprompt="[sudo] password for %p: " && make Para testar os resultados, emita: env LC_ALL=C make check 2>&1 | tee make-check.log. Check the results with grep failed make-check.log. Agora, como o(a) usuário(a) root: make install && ln -sfv libsudo_util.so.0.0.0 /usr/lib/sudo/libsudo_util.so.0 Explicações do Comando --libexecdir=/usr/lib: Essa chave controla onde os aplicativos privados são instalados. Tudo nesse diretório é uma biblioteca, de forma que eles pertencem a /usr/lib em vez de /usr/libexec. --with-secure-path: Essa chave adiciona transparentemente os diretórios /sbin e /usr/sbin à variável de ambiente PATH. --with-all-insults: Essa chave inclui todos os conjuntos de insultos do sudo. --with-env-editor: Essa chave habilita o uso da variável de ambiente EDITOR para o visudo. --with-passprompt: Essa chave configura o prompt de senha. O %p será expandido para o nome do(a) usuário(a) cuja senha está sendo solicitada. --without-pam: Essa chave evita a construção do suporte a Linux-PAM quando o Linux-PAM estiver instalado no sistema. Nota Existem muitas opções para o comando configure do sudo. Verifique a saída gerada do configure --help para uma lista completa. ln -sfv libsudo_util...: Contorna um defeito no processo de instalação, que vincula à versão instalada anteriormente (se existir uma) em vez da nova. Configurando Sudo Arquivo de Configuração /etc/sudoers Informação de Configuração O arquivo sudoers pode ser bastante complicado. Ele é composto por dois tipos de entradas: aliases (basicamente variáveis) e especificações de usuário(a) (que especificam quem pode executar o quê). A instalação instala uma configuração padrão que não tem privilégios instalados para nenhum(a) usuário(a). Algumas mudanças comuns de configuração são para configurar o caminho para o(a) superusuário(a) e para permitir que os(as) membros(as) do grupo wheel executem todos os comandos depois de fornecerem as próprias credenciais deles(as). Use os seguintes comandos para criar o arquivo de configuração /etc/sudoers.d/00-sudo como o(a) usuário(a) root: cat > /etc/sudoers.d/00-sudo << "EOF" Defaults secure_path="/usr/sbin:/usr/bin" %wheel ALL=(ALL) ALL EOF Nota Em instalações muito simples onde existe somente um(a) usuário(a), possivelmente seja mais fácil apenas editar o arquivo /etc/sudoers diretamente. Nesse caso, a entrada secure_path possivelmente não seja necessária e usar sudo -E ... pode importar o ambiente completo do(a) usuário(a) não privilegiado(a) para a sessão privilegiada. Os arquivos no diretório /etc/sudoers.d são analisados em ordem léxica classificada. Tenha cuidado para que as entradas em um arquivo adicionado não sobrescrevam as entradas anteriores. Para detalhes, veja-se man sudoers. Nota Os(As) desenvolvedores(as) do Sudo recomendam enfaticamente usar o aplicativo visudo para editar o arquivo sudoers. Isso fornecerá verificação básica de sanidade, como análise de sintaxe e permissão de arquivo, para evitar alguns possíveis erros que poderiam levar a uma configuração vulnerável. Se o PAM estiver instalado no sistema, [então] Sudo será construído com suporte a PAM. Nesse caso, emita o seguinte comando como o(a) usuário(a) root para criar o arquivo de configuração do PAM: cat > /etc/pam.d/sudo << "EOF" # Início /etc/pam.d/sudo # Inclui as configurações padrão de autenticação auth include system-auth # Inclui as configurações padrão de conta account include system-account # Configura variáveis padrão de ambiente para o(a) usuário(a) do serviço session required pam_env.so # Inclui padrões de sessão do sistema session include system-session # Fim /etc/pam.d/sudo EOF chmod 644 /etc/pam.d/sudo Conteúdo Aplicativos Instalados: cvtsudoers, sudo, sudo_logsrvd, sudo_sendlog, sudoedit (link simbólico), sudoreplay e visudo Bibliotecas Instaladas: audit_json.so, group_file.so, libsudo_util.so, sample_approval.so, sudoers.so, sudo_noexec.so e system_group.so Diretórios Instalados: /etc/sudoers.d, /usr/lib/sudo, /usr/share/doc/sudo-1.9.14p3 e /var/lib/sudo Descrições Curtas cvtsudoers converte entre formatos de arquivo sudoers sudo executa um comando como outro(a) usuário(a) conforme permitido pelo arquivo de configuração /etc/sudoers sudo_logsrvd é um servidor de registro de Entrada/Saída e de evento do sudo sudo_sendlog envia registros de Entrada/Saída do sudo para o servidor de registro sudoedit é um link simbólico para sudo que implica a opção -e para invocar um editor como outro(a) usuário(a) sudoreplay é usado para reproduzir ou para listar os registros de saída gerada criados pelo sudo visudo permite uma edição mais segura do arquivo sudoers Tripwire-2.4.3.7 Introdução a Tripwire O pacote Tripwire contém aplicativos usados para verificar a integridade dos arquivos em um determinado sistema. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2052]https://github.com/Tripwire/tripwire-open-source/releases/dow nload/2.4.3.7/tripwire-open-source-2.4.3.7.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: a5cf1bc2f235f5d8ca458f00548db6ee * Tamanho da transferência: 980 KB * Espaço em disco estimado exigido: 29 MB * Tempo de construção estimado: 1,6 UPC (instalação via scripts) Dependências do Tripwire Opcionais Um [2053]MTA Instalação do Tripwire Compile Tripwire executando os seguintes comandos: sed -e '/^CLOBBER/s/false/true/' \ -e 's|TWDB="${prefix}|TWDB="/var|' \ -e '/TWMAN/ s|${prefix}|/usr/share|' \ -e '/TWDOCS/s|${prefix}/doc/tripwire|/usr/share/doc/tripwire-2.4.3.7|' \ -i installer/install.cfg && find . -name Makefile.am | xargs \ sed -i 's/^[[:alpha:]_]*_HEADERS.*=/noinst_HEADERS =/' && sed '/dist/d' -i man/man?/Makefile.am && autoreconf -fi && ./configure --prefix=/usr --sysconfdir=/etc/tripwire && make CPPFLAGS=-std=c++11 Nota A configuração padrão é a de usar um MTA local. Se você não teiver um MTA instalado e não desejar instalar um, [então] modifique install/install.cfg para usar um servidor SMTP. Caso contrário, a instalação falhará. Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install && cp -v policy/*.txt /usr/share/doc/tripwire-2.4.3.7 Nota Durante o make install, várias perguntas são feitas, incluindo senhas. Se você deseja criar um script, [então] tem de aplicar um sed antes de executar make install: sed -i -e 's@installer/install.sh@& -n -s -l @' Ma kefile Claro, você deveria fazer isso com senhas fictícias e mudá-las posteriormente. Outro problema ao criar scripts é o de que o instalador sai quando a entrada padrão não é um terminal. Você consegue desativar esse comportamento com o seguinte sed: sed '/-t 0/,+3d' -i installer/install.sh Explicações do Comando sed ... installer/install.cfg: Esse comando informa ao pacote para instalar a base de dados do aplicativo e informa em /var/lib/tripwire e configura o local adequado para páginas de manual e documentação. find ..., sed ... e autoreconf -fi: O sistema de construção é inutilizável como está e tem de ser modificado para que a construção tenha sucesso. CPPFLAGS=-std=c++11: Configurar os sinalizadores do pré-processador C++ para a versão 11 é necessário para evitar um conflito com a versão padrão que é c++17 na versão recente do GCC. make install: Esse comando cria as chaves de segurança do Tripwire assim como instala os binários. Existem duas chaves: uma chave do sítio e uma chave local que são armazenadas em /etc/tripwire/. cp -v policy/*.txt /usr/doc/tripwire-2.4.3.7: Esse comando instala os arquivos de exemplo da política do tripwire com a outra documentação do tripwire. Configurando Tripwire Arquivos de Configuração /etc/tripwire/* Informação de Configuração O Tripwire usa um arquivo de política para determinar quais arquivos são verificados quanto à integridade. O arquivo padrão da política (/etc/tripwire/twpol.txt) é para uma instalação padrão e precisará ser atualizado para seu sistema. Os arquivos da política deveriam ser adaptados para cada distribuição e(ou) instalação individual. Alguns arquivos de exemplo da política podem ser encontrados em /usr/share/doc/tripwire/. Se desejado, [então] copie o arquivo da política que gostaria de tentar para /etc/tripwire/ em vez de usar o arquivo padrão da política, twpol.txt. É, no entanto, recomendado que você edite seu arquivo da política. Obtenha ideias a partir dos exemplos acima e leia /usr/share/doc/tripwire/policyguide.txt para informação adicional. twpol.txt é um bom arquivo da política para aprender a respeito do Tripwire, pois ele observará quaisquer mudanças no sistema de arquivos e até mesmo pode ser usado como uma maneira irritante de manter rastreio das mudanças para desinstalação de software. Depois que seu arquivo da política tiver sido editado para sua satisfação, você poderá iniciar as etapas de configuração (realizar como o(a) usuário(a) root): twadmin --create-polfile --site-keyfile /etc/tripwire/site.key \ /etc/tripwire/twpol.txt && tripwire --init Dependendo do seu sistema e do conteúdo do arquivo da política, a fase de inicialização acima pode levar um tempo relativamente longo. Informação de Uso O Tripwire identificará as mudanças de arquivo nos arquivos críticos do sistema especificados no arquivo da política. Usar o Tripwire enquanto se faz mudanças frequentes nesses diretórios sinalizará todas essas mudanças. É mais útil depois que um sistema tenha atingido uma configuração que o(a) usuário(a) considere estável. Para usar o Tripwire depois de criar um arquivo da política para executar um informe, use o seguinte comando: tripwire --check > /etc/tripwire/report.txt Veja a saída gerada para verificar a integridade dos seus arquivos. Um informe automático de integridade pode ser produzido usando-se um recurso cron para agendar as execuções. Os informes são armazenados em binário e, se desejado, encriptados. Visualize os informes, como o(a) usuário(a) root, com: twprint --print-report -r /var/lib/tripwire/report/ Depois de executar uma verificação de integridade, você deveria examinar o informe (ou o correio eletrônico) e, então, modificar a base de dados do Tripwire para refletir os arquivos mudados em seu sistema. Isso é assim de forma que o Tripwire não te notificará continuamente que os arquivos que você mudou intencionalmente sejam uma violação de segurança. Para fazer isso, você precisa primeiro ls -l /var/lib/tripwire/report/ e anotar o nome do arquivo mais recente que começa com o nome do seu sistema conforme apresentado pelo comando uname -n e termina em .twr. Esses arquivos foram criados durante a criação do informe e o mais atual é necessário para atualizar a base de dados do Tripwire do seu sistema. Como o(a) usuário(a) root, digite o seguinte comando criando o nome apropriado do informe: tripwire --update --twrfile /var/lib/tripwire/report/ Você será colocado(a) no Vim com uma cópia do informe à sua frente. Se todas as mudanças estiverem boas, então apenas digite :wq e depois de inserir sua chave local, a base de dados será atualizada. Se existirem arquivos a respeito dos quais você ainda desejar ser avisado(a), [então] remova o 'x' de antes do nome do arquivo no informe e digite :wq. Mudando o Arquivo da Política Se você estiver insatisfeito(a) com seu arquivo da política e gostaria de modificá-lo ou de usar um novo, [então] modifique o arquivo da política e então execute os seguintes comandos como o(a) usuário(a) root: twadmin --create-polfile /etc/tripwire/twpol.txt && tripwire --init Conteúdo Aplicativos Instalados: siggen, tripwire, twadmin e twprint Bibliotecas Instaladas: Nenhuma Diretórios Instalados: /etc/tripwire, /var/lib/tripwire e /usr/share/doc/tripwire-2.4.3.7 Descrições Curtas siggen é um utilitário de coleta de assinatura que exibe os valores da função hash para os arquivos especificados tripwire é o principal aplicativo de verificação de integridade de arquivo twadmin ferramenta administrativa e utilitária usada para realizar certas funções administrativas relacionadas a arquivos e opções de configuração do Tripwire twprint imprime a base de dados e arquivos de informe do Tripwire em formato de texto simples volume_key-0.3.12 Introdução a volume_key O pacote volume_key fornece uma biblioteca para manipular as chaves de encriptação do volume de armazenamento e para armazená-las separadamente dos volumes para lidar com frases senha esquecidas. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2054]https://github.com/felixonmars/volume_key/archive/volume_key- 0.3.12.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: d1c76f24e08ddd8c1787687d0af5a814 * Tamanho da transferência: 196 KB * Espaço em disco estimado exigido: 11 MB * Tempo de construção estimado: 0,2 UPC Dependências do volume_key Exigidas [2055]cryptsetup-2.4.3, [2056]GLib-2.76.4, [2057]GnuPG-2.4.3, [2058]GPGME-1.21.0 e [2059]nss-3.92 Recomendada [2060]SWIG-4.1.1 Instalação do volume_key Nota Esse pacote se expande para o diretório volume_key-volume_key-0.3.12. Diga ao sistema de construção como localizar o GPGME e o GnuPG corretamente: sed -e '/AM_PATH_GPGME/iAM_PATH_GPG_ERROR' \ -e 's/gpg2/gpg/' -i configure.ac Instale volume_key executando os seguintes comandos: autoreconf -fiv && ./configure --prefix=/usr \ --without-python && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Explicações do Comando --without-python: Esse parâmetro impede a construção das ligações Python 2, se [2061]Python-2.7.18 estiver instalado. --without-python3: Use essa opção se você não quiser construir as ligações Python 3. Nesse caso, [2062]SWIG-4.1.1 não é necessário. Conteúdo Aplicativo Instalado: volume_key Biblioteca Instalada: libvolume_key.so Diretório Instalado: /usr/include/volume_key Descrições Curtas volume_key gerencia chaves e frases senhas do volume encriptado volume_key.so contém funções de API para gerenciar chaves do volume encriptado Capítulo 5. Sistemas de Arquivos e Gerenciamento de Disco Os sistemas de arquivos com diário reduzem o tempo necessário para recuperar um sistema de arquivos que não foi desmontado adequadamente. Embora isso possa ser extremamente importante para reduzir o tempo de inatividade dos servidores, também se tornou popular em ambientes de área de trabalho. Este capítulo contém outros sistemas de arquivos com diário que você pode usar em vez do sistema de arquivos estendido padrão do LFS (ext2/3/4). Ele também fornece material introdutório a respeito de gerenciamento de matrizes de disco. A respeito do initramfs O único propósito de um initramfs é o do montar o sistema de arquivos raiz. O initramfs é um conjunto completo de diretórios que você encontraria em um sistema de arquivos raiz normal. Ele é agrupado em um arquivamento cpio e comprimido com um dos vários algoritmos de compressão. Ao tempo da inicialização, o carregador de inicialização carrega o núcleo e a imagem initramfs na memória e inicia o núcleo. O núcleo verifica a presença do initramfs e, se encontrado, o monta como / e executa /init. O aplicativo init é tipicamente um script de shell. Observe que o processo de inicialização leva mais tempo, possivelmente significativamente mais, se um initramfs for usado. Para a maioria das distribuições, os módulos do núcleo são a maior razão para ter um initramfs. Em uma distribuição geral, existem muitas incógnitas, como tipos de sistema de arquivos e esquemas de disco. De certa forma, isso é o oposto do LFS, onde os recursos e o esquema do sistema são conhecidos e um núcleo personalizado normalmente é construído. Nessa situação, um initramfs raramente é necessário. Existem somente quatro razões principais para se ter um initramfs no ambiente LFS: carregar o rootfs a partir de uma rede; carregá-lo a partir de um volume lógico LVM; ter um rootfs encriptado onde uma senha seja exigida; ou para a conveniência de se especificar o rootfs como um RÓTULO ou como um UUID. Qualquer outra coisa geralmente significa que o núcleo não foi configurado adequadamente. Construindo um initramfs Se você decidir construir um initramfs, [então] os scripts a seguir fornecerão uma base para isso. Os scripts permitirão especificar um rootfs via partição UUID ou partição RÓTULO ou um rootfs em um volume lógico LVM. Eles não suportam um sistema de arquivos raiz encriptado ou montar o rootfs passando por uma placa de rede de comunicação. Para uma capacidade mais completa, vejam-se [2063]as Dicas do LFS ou [2064]dracut. Para instalar estes scripts, execute os seguintes comandos como o(a) usuário(a) root: cat > /usr/sbin/mkinitramfs << "EOF" #!/bin/bash # Este arquivo é baseado em parte no script mkinitramfs para o LiveCD do LFS # escrito por Alexander E. Patrakov e Jeremy Huntwork. copy() { local file if [ "$2" = "lib" ]; then file=$(PATH=/usr/lib type -p $1) else file=$(type -p $1) fi if [ -n "$file" ] ; then cp $file $WDIR/usr/$2 else echo "Ausente arquivo exigido: $1 para o diretório $2" rm -rf $WDIR exit 1 fi } if [ -z $1 ] ; then INITRAMFS_FILE=initrd.img-no-kmods else KERNEL_VERSION=$1 INITRAMFS_FILE=initrd.img-$KERNEL_VERSION fi if [ -n "$KERNEL_VERSION" ] && [ ! -d "/usr/lib/modules/$1" ] ; then echo "Sem diretório dos módulos chamado $1" exit 1 fi printf "Criando $INITRAMFS_FILE... " binfiles="sh cat cp dd killall ls mkdir mknod mount " binfiles="$binfiles umount sed sleep ln rm uname" binfiles="$binfiles readlink basename" # O systemd instala udevadm em /bin. Outras implementações do udev o tem em /sbi n if [ -x /usr/bin/udevadm ] ; then binfiles="$binfiles udevadm"; fi sbinfiles="modprobe blkid switch_root" # Arquivos e locais opcionais for f in mdadm mdmon udevd udevadm; do if [ -x /usr/sbin/$f ] ; then sbinfiles="$sbinfiles $f"; fi done # Adiciona lvm se presente (não pode ser feito com os outros, pois # também precisa do dmsetup if [ -x /usr/sbin/lvm ] ; then sbinfiles="$sbinfiles lvm dmsetup"; fi unsorted=$(mktemp /tmp/unsorted.XXXXXXXXXX) DATADIR=/usr/share/mkinitramfs INITIN=init.in # Cria um diretório temporário de trabalho WDIR=$(mktemp -d /tmp/initrd-work.XXXXXXXXXX) # Cria a estrutura básica de diretório mkdir -p $WDIR/{dev,run,sys,proc,usr/{bin,lib/{firmware,modules},sbin}} mkdir -p $WDIR/etc/{modprobe.d,udev/rules.d} touch $WDIR/etc/modprobe.d/modprobe.conf ln -s usr/bin $WDIR/bin ln -s usr/lib $WDIR/lib ln -s usr/sbin $WDIR/sbin ln -s lib $WDIR/lib64 # Cria os nós necessários de dispositivo mknod -m 640 $WDIR/dev/console c 5 1 mknod -m 664 $WDIR/dev/null c 1 3 # Instala os arquivos de configuração do udev if [ -f /etc/udev/udev.conf ]; then cp /etc/udev/udev.conf $WDIR/etc/udev/udev.conf fi for file in $(find /etc/udev/rules.d/ -type f) ; do cp $file $WDIR/etc/udev/rules.d done # Instala quaisquer firmware presentes cp -a /usr/lib/firmware $WDIR/usr/lib # Copia o arquivo de configuração RAID se presente if [ -f /etc/mdadm.conf ] ; then cp /etc/mdadm.conf $WDIR/etc fi # Instala o arquivo init install -m0755 $DATADIR/$INITIN $WDIR/init if [ -n "$KERNEL_VERSION" ] ; then if [ -x /usr/bin/kmod ] ; then binfiles="$binfiles kmod" else binfiles="$binfiles lsmod" sbinfiles="$sbinfiles insmod" fi fi # Instala binários básicos for f in $binfiles ; do ldd /usr/bin/$f | sed "s/\t//" | cut -d " " -f1 >> $unsorted copy /usr/bin/$f bin done for f in $sbinfiles ; do ldd /usr/sbin/$f | sed "s/\t//" | cut -d " " -f1 >> $unsorted copy $f sbin done # Adiciona bibliotecas do udevd se não em /usr/sbin if [ -x /usr/lib/udev/udevd ] ; then ldd /usr/lib/udev/udevd | sed "s/\t//" | cut -d " " -f1 >> $unsorted elif [ -x /usr/lib/systemd/systemd-udevd ] ; then ldd /usr/lib/systemd/systemd-udevd | sed "s/\t//" | cut -d " " -f1 >> $unsorte d fi # Adiciona links simbólicos de módulo se apropriado if [ -n "$KERNEL_VERSION" ] && [ -x /usr/bin/kmod ] ; then ln -s kmod $WDIR/usr/bin/lsmod ln -s kmod $WDIR/usr/bin/insmod fi # Adiciona links simbólicos do lvm se apropriado # Também copia o arquivo lvm.conf if [ -x /usr/sbin/lvm ] ; then ln -s lvm $WDIR/usr/sbin/lvchange ln -s lvm $WDIR/usr/sbin/lvrename ln -s lvm $WDIR/usr/sbin/lvextend ln -s lvm $WDIR/usr/sbin/lvcreate ln -s lvm $WDIR/usr/sbin/lvdisplay ln -s lvm $WDIR/usr/sbin/lvscan ln -s lvm $WDIR/usr/sbin/pvchange ln -s lvm $WDIR/usr/sbin/pvck ln -s lvm $WDIR/usr/sbin/pvcreate ln -s lvm $WDIR/usr/sbin/pvdisplay ln -s lvm $WDIR/usr/sbin/pvscan ln -s lvm $WDIR/usr/sbin/vgchange ln -s lvm $WDIR/usr/sbin/vgcreate ln -s lvm $WDIR/usr/sbin/vgscan ln -s lvm $WDIR/usr/sbin/vgrename ln -s lvm $WDIR/usr/sbin/vgck # Arquivo(s) de configuração cp -a /etc/lvm $WDIR/etc fi # Instala bibliotecas sort $unsorted | uniq | while read library ; do # linux-vdso e linux-gate são pseudo bibliotecas e não correspondem a um arquivo # libsystemd-shared está em /lib/systemd, de forma que não é encontrada pela cóp ia, e # é copiada abaixo de qualquer forma if [[ "$library" == linux-vdso.so.1 ]] || [[ "$library" == linux-gate.so.1 ]] || [[ "$library" == libsystemd-shared* ]]; then continue fi copy $library lib done if [ -d /usr/lib/udev ]; then cp -a /usr/lib/udev $WDIR/usr/lib fi if [ -d /usr/lib/systemd ]; then cp -a /usr/lib/systemd $WDIR/usr/lib fi if [ -d /usr/lib/elogind ]; then cp -a /usr/lib/elogind $WDIR/usr/lib fi # Instala os módulos do núcleo se solicitado if [ -n "$KERNEL_VERSION" ]; then find \ /usr/lib/modules/$KERNEL_VERSION/kernel/{crypto,fs,lib} \ /usr/lib/modules/$KERNEL_VERSION/kernel/drivers/{block,ata,nvme,md,firewire } \ /usr/lib/modules/$KERNEL_VERSION/kernel/drivers/{scsi,message,pcmcia,virtio } \ /usr/lib/modules/$KERNEL_VERSION/kernel/drivers/usb/{host,storage} \ -type f 2> /dev/null | cpio --make-directories -p --quiet $WDIR cp /usr/lib/modules/$KERNEL_VERSION/modules.{builtin,order} \ $WDIR/usr/lib/modules/$KERNEL_VERSION if [ -f /usr/lib/modules/$KERNEL_VERSION/modules.builtin.modinfo ]; then cp /usr/lib/modules/$KERNEL_VERSION/modules.builtin.modinfo \ $WDIR/usr/lib/modules/$KERNEL_VERSION fi depmod -b $WDIR $KERNEL_VERSION fi ( cd $WDIR ; find . | cpio -o -H newc --quiet | gzip -9 ) > $INITRAMFS_FILE # Prepare o carregamento antecipado do micro código se disponível if ls /usr/lib/firmware/intel-ucode/* >/dev/null 2>&1 || ls /usr/lib/firmware/amd-ucode/* >/dev/null 2>&1; then # Primeiro, esvazia WDIR para reusá-lo rm -r $WDIR/* DSTDIR=$WDIR/kernel/x86/microcode mkdir -p $DSTDIR if [ -d /usr/lib/firmware/amd-ucode ]; then cat /usr/lib/firmware/amd-ucode/microcode_amd*.bin > $DSTDIR/AuthenticAMD.bi n fi if [ -d /usr/lib/firmware/intel-ucode ]; then cat /usr/lib/firmware/intel-ucode/* > $DSTDIR/GenuineIntel.bin fi ( cd $WDIR; find . | cpio -o -H newc --quiet ) > microcode.img cat microcode.img $INITRAMFS_FILE > tmpfile mv tmpfile $INITRAMFS_FILE rm microcode.img fi # Remove os arquivos e diretórios temporários rm -rf $WDIR $unsorted printf "done.\n" EOF chmod 0755 /usr/sbin/mkinitramfs mkdir -p /usr/share/mkinitramfs && cat > /usr/share/mkinitramfs/init.in << "EOF" #!/bin/sh PATH=/usr/bin:/usr/sbin export PATH problem() { printf "Encontrado um problema!\n\nDeixando você em um shell.\n\n" sh } no_device() { printf "O dispositivo %s, que se presume conter o\n" $1 printf "sistema de arquivos raiz, não existe.\n" printf "Por favor, corrija esse problema e saia deste shell.\n\n" } no_mount() { printf "Não poderia montar o dispositivo %s\n" $1 printf "Dormindo para sempre. Por favor, reinicialize e corrija a linha de co mando do núcleo.\n\n" printf "Talvez o dispositivo esteja formatado com um sistema de arquivos não suportado?\n\n" printf "Ou talvez a auto detecção do tipo do sistema de arquivos foi errada, caso no qual\n" printf "você deveria adicionar o parâmetro rootfstype=... à linha de comando do núcleo.\n\n" printf "Partições disponíveis:\n" } do_mount_root() { mkdir /.root [ -n "$rootflags" ] && rootflags="$rootflags," rootflags="$rootflags$ro" case "$root" in /dev/* ) device=$root ;; UUID=* ) eval $root; device="/dev/disk/by-uuid/$UUID" ;; PARTUUID=*) eval $root; device="/dev/disk/by-partuuid/$PARTUUID" ;; LABEL=* ) eval $root; device="/dev/disk/by-label/$LABEL" ;; "" ) echo "Nenhum dispositivo raiz especificado." ; problem ;; esac while [ ! -b "$device" ] ; do no_device $device problem done if ! mount -n -t "$rootfstype" -o "$rootflags" "$device" /.root ; then no_mount $device cat /proc/partitions while true ; do sleep 10000 ; done else echo "Dispositivo montado com sucesso $root" fi } do_try_resume() { case "$resume" in UUID=* ) eval $resume; resume="/dev/disk/by-uuid/$UUID" ;; LABEL=*) eval $resume; resume="/dev/disk/by-label/$LABEL" ;; esac if $noresume || ! [ -b "$resume" ]; then return; fi ls -lH "$resume" | ( read x x x x maj min x echo -n ${maj%,}:$min > /sys/power/resume ) } init=/sbin/init root= rootdelay= rootfstype=auto ro="ro" rootflags= device= resume= noresume=false mount -n -t devtmpfs devtmpfs /dev mount -n -t proc proc /proc mount -n -t sysfs sysfs /sys mount -n -t tmpfs tmpfs /run read -r cmdline < /proc/cmdline for param in $cmdline ; do case $param in init=* ) init=${param#init=} ;; root=* ) root=${param#root=} ;; rootdelay=* ) rootdelay=${param#rootdelay=} ;; rootfstype=*) rootfstype=${param#rootfstype=} ;; rootflags=* ) rootflags=${param#rootflags=} ;; resume=* ) resume=${param#resume=} ;; noresume ) noresume=true ;; ro ) ro="ro" ;; rw ) ro="rw" ;; esac done # Local do udevd depende da versão if [ -x /sbin/udevd ]; then UDEVD=/sbin/udevd elif [ -x /lib/udev/udevd ]; then UDEVD=/lib/udev/udevd elif [ -x /lib/systemd/systemd-udevd ]; then UDEVD=/lib/systemd/systemd-udevd else echo "Não consigo encontrar o udevd nem o systemd-udevd" problem fi ${UDEVD} --daemon --resolve-names=never udevadm trigger udevadm settle if [ -f /etc/mdadm.conf ] ; then mdadm -As ; fi if [ -x /sbin/vgchange ] ; then /sbin/vgchange -a y > /dev/null ; fi if [ -n "$rootdelay" ] ; then sleep "$rootdelay" ; fi do_try_resume # Esta função não retornará se retomar a partir do disco do_mount_root killall -w ${UDEVD##*/} exec switch_root /.root "$init" "$@" EOF Usando um initramfs Dependência Exigida em Tempo de Execução [2065]cpio-2.14 Outras Dependências em Tempo de Execução [2066]LVM2-2.03.22 e(ou) [2067]mdadm-4.2 precisam ser instalados antes de gerar o initramfs, se a partição do sistema os usar. Para construir um initramfs, execute o seguinte como o(a) usuário(a) root: mkinitramfs [VERSÃO DO NÚCLEO] O argumento opcional é o diretório onde os módulos apropriados do núcleo estão localizados. Esse precisa ser um subdiretório de /lib/modules. Se nenhum módulo for especificado, então o initramfs é nomeado initrd.img-no-kmods. Se uma versão do núcleo for especificada, [então] o initrd é nomeado de initrd.img-$VERSÃO_DO_NÚCLEO e é apropriado somente para o núcleo específico especificado. O arquivo de saída gerada será colocado no diretório atual. Se for necessário o carregamento antecipado do microcódigo (veja-se [2068]“Atualizações de microcódigo para CPUs”), [então] você pode instalar o blob ou contêiner apropriado em /lib/firmware. Ele será adicionado automaticamente ao initrd ao executar mkinitramfs. Depois de gerar o initrd, copie-o para o diretório /boot. Agora edite /boot/grub/grub.cfg e adicione uma nova entrada de menu. Abaixo estão vários exemplos. # initramfs genérico e sistema de arquivos raiz identificado por UUID menuentry "LFS Dev (LFS-7.0-Feb14) initrd, Linux 3.0.4" { linux /vmlinuz-3.0.4-lfs-20120214 root=UUID=54b934a9-302d-415e-ac11-4988408eb 0a8 ro initrd /initrd.img-no-kmods } # initramfs genérico e sistema de arquivos raiz na partição LVM menuentry "LFS Dev (LFS-7.0-Feb18) initrd lvm, Linux 3.0.4" { linux /vmlinuz-3.0.4-lfs-20120218 root=/dev/mapper/myroot ro initrd /initrd.img-no-kmods } # initramfs específico e sistema de arquivos raiz identificado por RÓTULO menuentry "LFS Dev (LFS-7.1-Feb20) initrd label, Linux 3.2.6" { linux /vmlinuz-3.2.6-lfs71-120220 root=LABEL=lfs71 ro initrd /initrd.img-3.2.6-lfs71-120220 } Finalmente, reinicialize o sistema e selecione o sistema desejado. btrfs-progs-6.3.3 Introdução ao btrfs-progs O pacote btrfs-progs contém ferramentas de administração e de depuração para o sistema de arquivos B-tree (btrfs). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2069]https://www.kernel.org/pub/linux/kernel/people/kdave/btrfs-pr ogs/btrfs-progs-v6.3.3.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 1b5705b3e9503f09a9598dad1e7bfbc8 * Tamanho da transferência: 3,0 MB * Espaço em disco estimado exigido: 62 MB (arquivos temporários criados durante os testes precisam de até 10 GB) * Tempo de construção estimado: 0,2 UPC (adicionar 3,8 UPC para testes, até 80 UPC em discos lentos se reiserfsprogs estiver instalado) Dependências do Btrfs-progs Exigidas [2070]LZO-2.10 Opcionais [2071]LVM2-2.03.22 (dmsetup é usado em testes), [2072]reiserfsprogs-3.6.27 (para os testes) e [2073]sphinx-7.1.2 (exigido para construir a documentação) Configuração do Núcleo Habilite a seguinte opção na configuração do núcleo e recompile o núcleo: File systems ---> <*/M> Btrfs filesystem support [BTRFS_FS] Além do acima e das opções exigidas para [2074]LVM2-2.03.22 e [2075]reiserfsprogs-3.6.27, as seguintes opções precisam ser habilitadas para execução de testes: File systems ---> <*/M> Reiserfs support (deprecated) [REISERFS_FS] [*] ReiserFS extended attributes [REISERFS_FS_XATTR] [*] ReiserFS POSIX Access Control Lists [REISERFS_FS_POSIX_ACL] <*/M> Btrfs filesystem support [BTRFS_FS] [*] Btrfs POSIX Access Control Lists [BTRFS_FS_POSIX_ACL] Instalação do btrfs-progs Instale o btrfs-progs executando os seguintes comandos: ./configure --prefix=/usr \ --disable-static \ --disable-documentation && make Nota Alguns testes exigem grep construído com expressões regulares perl. Para obter isso, reconstrua o grep com as instruções do Capítulo 8 do LFS depois de instalar o [2076]pcre2-10.42. Antes de executar os testes, construa um aplicativo de suporte: make fssum Para testar os resultados, emita (como o(a) usuário(a) root): pushd tests ./fsck-tests.sh ./mkfs-tests.sh ./cli-tests.sh sed 's/,orphan_file//' /etc/mke2fs.conf >./custom_mke2fs.conf && export MKE2FS_CONFIG=$PWD/custom_mke2fs.conf && ./convert-tests.sh unset MKE2FS_CONFIG && rm custom_mke2fs.conf ./misc-tests.sh ./fuzz-tests.sh popd Nota Se as opções do núcleo mencionadas acima não estiverem habilitadas, alguns testes falharão e impedirão todos os testes restantes de executarem, porque a imagem de teste do disco não foi desmontada corretamente. Instale o pacote como o(a) usuário(a) root: make install Se você tiver passado --disable-documentation para configure e precisar das páginas de manual, instale-as executando, como o(a) usuário(a) root: for i in 5 8; do install Documentation/*.$i /usr/share/man/man$i done Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --disable-documentation: Essa chave desabilita reconstruir as páginas de manual, porque isso exige [2077]sphinx-7.1.2. sed 's/,orphan_file//" ...: Nessa versão do btrfs-progs, o aplicativo btrfs-convert produz um sistema de arquivos btrfs contendo erros, se converter a partir de um sistema de arquivos ext4 criado com o recurso “orphan_file”. Esse comando cria um arquivo de configuração personalizado que impede criar um sistema de arquivos com esse recurso. Usando o Aplicativo btrfs-convert Essa versão do btrfs-progs não converte corretamente sistemas de arquivos ext4 para btrfs, se o recurso orphan_file do ext4 estiver ativado. Se acontecer de você converter esse sistema de arquivos, você precisa primeiro executar: tune2fs -O ^orphan_file /dev/sdxx onde /dev/sdxx é a partição do sistema de arquivos que você quer converter. Conteúdo Aplicativos Instalados: btrfs, btrfs-convert, btrfs-find-root, btrfs-image, btrfs-map-logical, btrfs-select-super, btrfsck (link para btrfs), btrfstune, fsck.btrfs e mkfs.btrfs Bibliotecas Instaladas: libbtrfs.so e libbtrfsutil.so Diretórios Instalados: /usr/include/btrfs Descrições Curtas btrfs é a interface principal para as operações do sistema de arquivos btrfs btrfs-convert converte a partir de um sistema de arquivos ext2/3/4 ou reiserfs para btrfs (veja-se [2078]“Usando o Aplicativo btrfs-convert” acima) btrfs-find-root é um filtro para encontrar a raiz do btrfs btrfs-map-logical mapeia a extensão lógica do btrfs para a extensão física btrfs-select-super sobrescreve o superbloco primário com uma cópia da cópia de segurança btrfstune ajusta vários parâmetros do sistema de arquivos fsck.btrfs não faz nada, mas está presente para consistência com fstab mkfs.btrfs cria um sistema de arquivos btrfs dosfstools-4.2 Introdução a dosfstools O pacote dosfstools contém vários utilitários para uso com a família FAT de sistemas de arquivos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2079]https://github.com/dosfstools/dosfstools/releases/download/v4 .2/dosfstools-4.2.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 49c8e457327dc61efab5b115a27b087a * Tamanho da transferência: 314 KB * Espaço em disco estimado exigido: 4,5 MB (com testes) * Tempo de construção estimado: menos que 0,1 UPC Configuração do Núcleo Habilite a seguinte opção na configuração do núcleo e recompile o núcleo se você precisar montar um sistema de arquivos da família FAT: File systems ---> DOS/FAT/EXFAT/NT Filesystems ---> < /*/M> MSDOS fs support [MSDOS_FS] <*/M> VFAT (Windows-95) fs support [VFAT_FS] Observe que CONFIG_MSDOS_FS deliberadamente não suporta nomes longos de arquivos. CONFIG_VFAT_FS deveria ser usada em vez disso, a menos que você realmente queira impor os nomes de arquivo “8.3” no estilo DOS. Você pode montar um sistema de arquivos da família FAT assim que o núcleo o suportar. Se não precisar criar, verificar ou rotular novamente um sistema da família FAT, você pode ignorar esse pacote. Instalação do dosfstools Instale dosfstools executando os seguintes comandos: ./configure --prefix=/usr \ --enable-compat-symlinks \ --mandir=/usr/share/man \ --docdir=/usr/share/doc/dosfstools-4.2 && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Explicações do Comando --enable-compat-symlinks: Essa chave cria os links simbólicos dosfsck, dosfslabel, fsck.msdos, fsck.vfat, mkdosfs, mkfs.msdos e mkfs.vfat exigidos por alguns aplicativos. Conteúdo Aplicativos Instalados: fatlabel, fsck.fat e mkfs.fat Descrições Curtas fatlabel configura ou obtém um rótulo do sistema de arquivos MS-DOS a partir de um dado dispositivo fsck.fat verifica e repara sistemas de arquivos MS-DOS mkfs.fat cria um sistema de arquivos MS-DOS sob o Linux Fuse-3.16.1 Introdução a Fuse FUSE (Filesystem in Userspace) é uma interface simples para aplicativos do espaço de usuário(a) para exportar um sistema de arquivos virtual para o núcleo Linux. O Fuse também visa a fornecer um método seguro para usuários(as) não privilegiados(as) criarem e montarem as próprias implementações de sistema de arquivos deles(as). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2080]https://github.com/libfuse/libfuse/releases/download/fuse-3.1 6.1/fuse-3.16.1.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 578498e1035e1039525430c0694f60b7 * Tamanho da transferência: 14 MB * Espaço em disco estimado exigido: 230 MB (com testes e documentação) * Tempo de construção estimado: 0,2 UPC (adicionar 0,3 UPC para testes) Dependências do Fuse Opcionais [2081]Doxygen-1.9.7 (para reconstruir a documentação da API), [2082]pytest-7.4.0 (exigido para testes) e [2083]looseversion (para testes) Configuração do Núcleo Habilite as seguintes opções na configuração do núcleo e recompile o núcleo, se necessário: File systems ---> <*/M> FUSE (Filesystem in Userspace) support [FUSE_FS] Os dispositivos de caracteres no espaço do usuário(a) também deveriam ser habilitados para executar os testes: File systems ---> <*/M> FUSE (Filesystem in Userspace) support [FUSE_FS] <*/M> Character device in Userspace support [CUSE] Instalação do Fuse Instale Fuse executando os seguintes comandos: sed -i '/^udev/,$ s/^/#/' util/meson.build && mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja A documentação da API está incluída no pacote, mas se você tiver o [2084]Doxygen-1.9.7 instalado e quiser reconstruí-la, [então] emita: pushd .. && doxygen doc/Doxyfile && popd Para testar os resultados, emita os seguintes comandos (como o(a) usuário(a) root): python3 -m venv --system-site-packages testenv && source testenv/bin/activate && pip3 install looseversion && python3 -m pytest && deactivate O módulo Python [2085]pytest-7.4.0 é exigido para os testes. Um teste chamado test_cuse falhará se o item de configuração CONFIG_CUSE não foi habilitado quando o núcleo foi construído. Um teste, test/util.py, gerará um aviso devido ao uso de uma marca desconhecida no pytest. Um teste chamado test_notify_inval_entry[True-expire_entries] possivelmente falhe sub certas circunstâncias. Agora, como o(a) usuário(a) root: ninja install && chmod u+s /usr/bin/fusermount3 && cd .. && cp -Rv doc/html -T /usr/share/doc/fuse-3.16.1 && install -v -m644 doc/{README.NFS,kernel.txt} \ /usr/share/doc/fuse-3.16.1 Explicações do Comando sed ... util/meson.build: Esse comando desabilita a instalação de um script de inicialização e de uma regra udev que não são necessários(as). --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. Configurando fuse Arquivos de Configuração Algumas opções relacionadas à política de montagem podem ser configuradas no arquivo /etc/fuse.conf. Para instalar o arquivo, execute o seguinte comando como o(a) usuário(a) root: cat > /etc/fuse.conf << "EOF" # Configura o número máximo de montagens FUSE permitidas para usuários(as) não r oot. # O padrão é 1000. # #mount_max = 1000 # Permitir que usuários(as) não root especifiquem as # opções de montagem 'allow_other' ou 'allow_root'. # #user_allow_other EOF Informação adicional a respeito do significado das opções de configuração são encontradas na página de manual. Conteúdo Aplicativos Instalados: fusermount3 e mount.fuse3 Bibliotecas Instaladas: libfuse3.so Diretório Instalado: /usr/include/fuse3 e /usr/share/doc/fuse-3.16.1 Descrições Curtas fusermount3 é um aplicativo raiz suid para montar e desmontar sistemas de arquivos Fuse mount.fuse3 é o comando mount chamado para montar um sistema de arquivos Fuse libfuse3.so contém as funções da API do FUSE jfsutils-1.1.15 Introdução a jfsutils O pacote jfsutils contém ferramentas de administração e de depuração para o sistema de arquivos jfs. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2086]https://jfs.sourceforge.net/project/pub/jfsutils-1.1.15.tar.g z * Transferência (FTP): * Soma de verificação MD5 da transferência: 8809465cd48a202895bc2a12e1923b5d * Tamanho da transferência: 532 KB * Espaço em disco estimado exigido: 8,9 MB * Tempo de construção estimado: 0,1 UPC Transferências Adicionais * Remendo necessário para corrigir problemas expostos pelo GCC 10 e posterior: [2087]https://www.linuxfromscratch.org/patches/blfs/12.0/jfsutils-1 .1.15-gcc10_fix-1.patch Configuração do Núcleo Habilite a seguinte opção na configuração do núcleo e recompile o núcleo: File systems ---> <*/M> JFS filesystem support [JFS_FS] Instalação do jfsutils Primeiro, corrija alguns problemas expostos pelo GCC 10 e posteriores: patch -Np1 -i ../jfsutils-1.1.15-gcc10_fix-1.patch Instale jfsutils executando os seguintes comandos: sed -i "/unistd.h/a#include " fscklog/extract.c && sed -i "/ioctl.h/a#include " libfs/devices.c && ./configure && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Explicações do Comando sed ...: Corrige a construção com a glibc 2.28. Conteúdo Aplicativos Instalados: fsck.jfs, jfs_debugfs, jfs_fsck, jfs_fscklog, jfs_logdump, jfs_mkfs, jfs_tune e mkfs.jfs Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas fsck.jfs é usado para reproduzir o registro de transações do JFS, verificar um dispositivo formatado do JFS para erros e corrigir quaisquer erros encontrados jfs_fsck é um link rígido para fsck.jfs mkfs.jfs constrói um sistema de arquivos JFS jfs_mkfs é um link rígido para mkfs.jfs jfs_debugfs é um aplicativo que pode ser usado para realizar várias ações de baixo nível em um dispositivo formatado do JFS jfs_fscklog extrai um registro de serviço fsck do JFS em um arquivo e(ou) formata e exibe o arquivo extraído jfs_logdump despeja o conteúdo do registro do diário a partir do dispositivo formatado com JFS especificado no arquivo de saída gerada ./jfslog.dmp jfs_tune ajusta os parâmetros ajustáveis do sistema de arquivos em sistemas de arquivos JFS LVM2-2.03.22 Introdução a LVM2 O pacote LVM2 é um conjunto de ferramentas que gerenciam partições lógicas. Ele permite a extensão completa de sistemas de arquivos transversalmente entre vários discos físicos e partições de disco e fornece crescimento dinâmico ou redução de partições lógicas, espelhamento e instantâneos de baixo consumo de armazenamento. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2088]https://sourceware.org/ftp/lvm2/LVM2.2.03.22.tgz * Transferência (FTP): [2089]ftp://sourceware.org/pub/lvm2/LVM2.2.03.22.tgz * Soma de verificação MD5 da transferência: a97cf533222a5760225dbd26c3982ca6 * Tamanho da transferência: 2,6 MB * Espaço em disco estimado exigido: 38 MB (adicionar 20 MB para testes; arquivos transitórios podem crescer até cerca de 300 MB no diretório /tmp durante testes) * Tempo de construção estimado: 0,1 UPC (usando paralelismo = 4; adicionar 9 a 48 UPC para testes, dependendo da velocidade do disco e de se o dispositivo de bloco de RAM estiver habilitado no núcleo) Dependências do LVM2 Exigida [2090]libaio-0.3.113 Opcionais [2091]mdadm-4.2, [2092]reiserfsprogs-3.6.27, [2093]Valgrind-3.21.0, [2094]Which-2.21, [2095]xfsprogs-6.4.0 (todos os cinco podem ser usados, porém não são exigidos, para os testes), [2096]thin-provisioning-tools e [2097]vdo Configuração do Núcleo Habilite as seguintes opções na configuração do núcleo e recompile o núcleo: Nota Existem várias outras opções do Device Mapper no núcleo além das listadas abaixo. Para obter resultados razoáveis ao executar os testes de regressão, todas precisam ser habilitadas, seja internamente ou como um módulo. Todos os testes expirarão se a chave Magic SysRq não estiver habilitada. Device Drivers ---> [*] Block devices ---> [BLK_DEV] <*/M> RAM block device support [BLK_DEV_RAM] [*] Multiple devices driver support (RAID and LVM) ---> [MD] <*/M> Device mapper support [BLK_DEV_DM] <*/M> Crypt target support [DM_CRYPT] <*/M> Snapshot target [DM_SNAPSHOT] <*/M> Thin provisioning target [DM_THIN_PROVISIONING] <*/M> Cache target (EXPERIMENTAL) [DM_CACHE] <*/M> Mirror target [DM_MIRROR] <*/M> Zero target [DM_ZERO] <*/M> I/O delaying target [DM_DELAY] Kernel hacking ---> Generic Kernel Debugging Instruments ---> [*] Magic SysRq key [MAGIC_SYSRQ] Instalação do LVM2 Instale LVM2 executando os seguintes comandos: PATH+=:/usr/sbin \ ./configure --prefix=/usr \ --enable-cmdlib \ --enable-pkgconfig \ --enable-udev_sync && make Os testes usam udev para sincronização de volume lógico, de forma que as regras LVM do udev e alguns utilitários precisam ser instalados antes de se executar os testes. Se você estiver instalando o LVM2 pela primeira vez e não quiser instalar o pacote completo antes de executar os testes, [então] o conjunto mínimo de utilitários pode ser instalado executando as seguintes instruções como o(a) usuário(a) root: make -C tools install_tools_dynamic && make -C udev install && make -C libdm install Para testar os resultados, emita, como o(a) usuário(a) root: LC_ALL=en_US.UTF-8 make check_local Alguns testes possivelmente travem. Nesse caso, eles podem ser pulados adicionando-se S= ao comando make. Outros alvos estão disponíveis e podem ser listados com make -C test help. Os tempos de teste são muito dependentes da velocidade do(s) disco(s) e do número de opções de núcleo habilitadas. Os testes não implementam a possibilidade de “falha esperada” e um pequeno número de falhas de teste é esperado pelo(a) desenvolvedor(a). Mais falhas possivelmente acontecam porque algumas opções do núcleo estão ausentes. Por exemplo, a falta do alvo do mapeador de dispositivos dm-delay explica algumas falhas. Alguns testes possivelmente falhem se existir espaço livre insuficiente disponível na partição com o diretório /tmp. Pelo menos um teste falha se 16 TB não estiver disponível. Alguns testes são sinalizados como “avisados” se [2098]thin-provisioning-tools não estiver instalado. Uma solução alternativa é a de adicionar os seguintes sinalizadores a configure: --with-thin-check= \ --with-thin-dump= \ --with-thin-repair= \ --with-thin-restore= \ --with-cache-check= \ --with-cache-dump= \ --with-cache-repair= \ --with-cache-restore= \ Alguns testes possivelmente travem. Eles podem ser removidos se necessário, por exemplo: rm test/shell/lvconvert-raid-reshape.sh. Os testes geram um monte de mensagens do núcleo, que possivelmente sobrecarreguem seu terminal. Você consegue desabilitá-los emitindo dmesg -D antes de executar os testes (não se esqueça de emitir dmesg -E quando os testes forem concluídos). Nota As verificações criam nós de dispositivo no diretório /tmp. Os testes falharão se /tmp for montado com a opção nodev. Agora, como o(a) usuário(a) root: make install make install_systemd_units Explicações do Comando PATH+=:/usr/sbin: O caminho precisa conter /usr/sbin para detecção adequada da ferramenta do sistema pelo script configure. Essa instrução garante que PATH seja configurada adequadamente, mesmo se você construir como um(a) usuário(a) sem privilégios. --enable-cmdlib: Essa chave habilita a construção da biblioteca compartilhada de comandos. É exigida ao se construir o processo de segundo plano de evento. --enable-pkgconfig: Essa chave habilita a instalação de arquivos de suporte pkg-config. --enable-udev_sync: Essa chave habilita a sincronização com o processamento Udev. --enable-dmeventd: Essa chave habilita a construção do processo de segundo plano de evento Device Mapper. make install_systemd_units: Isso é necessário para instalar uma unidade que ativa volumes lógicos na inicialização. Não é instalada por padrão. Configurando LVM2 Arquivo de Configuração /etc/lvm/lvm.conf Informação de Configuração A configuração padrão ainda referencia o obsoleto diretório /var/lock. Isso cria um impasse ao tempo da inicialização. Mude isso (como o(a) usuário(a) root): sed -e '/locking_dir =/{s/#//;s/var/run/}' \ -i /etc/lvm/lvm.conf Conteúdo Aplicativos Instalados: blkdeactivate, dmeventd (opcional), dmsetup, fsadm, lvm, lvmdump e lvm_import_vdo. Existem também numerosos links simbólicos para lvm que implementam funcionalidades específicas Bibliotecas Instaladas: libdevmapper.so e liblvm2cmd.so; opcional: libdevmapper-event.so, libdevmapper-event-lvm2.so, libdevmapper-event-lvm2mirror.so, libdevmapper-event-lvm2raid.so, libdevmapper-event-lvm2snapshot.so, libdevmapper-event-lvm2thin.so e libdevmapper-event-lvm2vdo.so Diretórios Instalados: /etc/lvm e /usr/lib/device-mapper (opcional) Descrições Curtas blkdeactivate é um utilitário para desativar dispositivos de bloco dmeventd (opcional) é o processo de segundo plano de evento do Device Mapper dmsetup é uma ferramenta de baixo nível de gerenciamento de volume lógico fsadm é um utilitário usado para redimensionar ou para verificar o sistema de arquivos em um dispositivo lvm fornece as ferramentas de linha de comando para LVM2. Os comandos são implementados por meio de links simbólicos para esse aplicativo para gerenciar dispositivos físicos (pv*), grupos de volumes (vg*) e volumes lógicos (lv*) lvmdump é uma ferramenta usada para despejar várias informações concernentes ao LVM2 vgimportclone é usado para importar um VG duplicado (por exemplo, instantâneo de hardware) libdevmapper.so contém as funções da API Device Mapper A respeito de Logical Volume Management (LVM) O LVM gerencia as unidades de disco. Ele permite que várias unidades e partições sejam combinadas em grupos de volumes maiores; ajuda na produção de cópias de segurança por meio de um instantâneo e permite o redimensionamento dinâmico do volume. Ele também pode fornecer espelhamento semelhante a uma matriz RAID 1. Uma discussão completa do LVM está além do escopo desta introdução, mas os conceitos básicos são apresentados abaixo. Para executar qualquer dos comandos apresentados aqui, o pacote [2099]LVM2-2.03.22 precisa estar instalado. Todos os comandos precisam ser executados como o(a) usuário(a) root. O gerenciamento de discos com LVM é realizado usando os seguintes conceitos: volumes físicos Esses são discos físicos ou partições, como /dev/sda3 ou /dev/sdb. grupos de volumes Esses são grupos nomeados de volumes físicos que podem ser manipulados pelo(a) administrador(a). O número de volumes físicos que compõem um grupo de volumes é arbitrário. Os volumes físicos podem ser adicionados ou removidos dinamicamente a partir de um grupo de volumes. volumes lógicos Os grupos de volumes podem ser subdivididos em volumes lógicos. Cada volume lógico pode então ser formatado individualmente como se fosse uma partição normal do Linux. Os volumes lógicos podem ser redimensionados dinamicamente pelo(a) administrador(a) de acordo com a necessidade. Para dar um exemplo concreto, suponha que você tenha dois discos de 2 TB. Suponha também que uma quantidade realmente grande de espaço seja exigida para uma base de dados muito grande, montada em /srv/mysql. É assim que o conjunto inicial de partições se pareceria: Partição Uso Tamanhp Tipo da Partição /dev/sda1 /boot 100MB 83 (Linux) /dev/sda2 / 10GB 83 (Linux) /dev/sda3 swap 2GB 82 (Swap) /dev/sda4 LVM remainder 8e (LVM) /dev/sdb1 swap 2GB 82 (Swap) /dev/sdb2 LVM remainder 8e (LVM) Primeiro, inicialize os volumes físicos: pvcreate /dev/sda4 /dev/sdb2 Nota Um disco inteiro pode ser usado como parte de um volume físico, mas esteja ciente de que o comando pvcreate destruirá qualquer informação de partição nesse disco. Em seguida, crie um grupo de volumes chamado lfs-lvm: vgcreate lfs-lvm /dev/sda4 /dev/sdb2 O situação do grupo de volumes pode ser verificada executando-se o comando vgscan. Agora crie os volumes lógicos. Como existe cerca de 3.900 GB disponíveis, deixe cerca de 900 GB livres para expansão. Observe que o volume lógico chamado mysql é maior que qualquer disco físico. lvcreate --name mysql --size 2500G lfs-lvm lvcreate --name home --size 500G lfs-lvm Finalmente, os volumes lógicos podem ser formatados e montados. Neste exemplo, o sistema de arquivos jfs ([2100]jfsutils-1.1.15) é usado para o propósito de demonstração. mkfs -t ext4 /dev/lfs-lvm/home mkfs -t jfs /dev/lfs-lvm/mysql mount /dev/lfs-lvm/home /home mkdir -p /srv/mysql mount /dev/lfs-lvm/mysql /srv/mysql Possivelmente seja necessário ativar esses volumes lógicos, para que apareçam em /dev. Todos eles podem ser ativados ao mesmo tempo emitindo-se, como o(a) usuário(a) root: vgchange -a y Um volume lógico LVM pode hospedar um sistema de arquivos raiz, mas exige o uso de um initramfs (sistema de arquivos RAM inicial). O initramfs proposto em [2101]“A respeito do initramfs” permite passar o volume LVM na chave root= da linha de comando do núcleo. Se não usar um initramfs, [então existe uma condição de corrida no systemd impedindo a montagem de volumes lógicos por meio de /etc/fstab. Você precisa criar uma unidade “mount” (veja-se systemd.mount(5)), como no seguinte exemplo, que monta o diretório /home automaticamente na inicialização: cat > /etc/systemd/system/home.mount << EOF [Unit] Description=Monta o volume lvm /dev/lfs-lvm/home em /home [Mount] What=/dev/lfs-lvm/home Where=/home Type=ext4 Options=default [Install] WantedBy=multi-user.target EOF Nota O nome da unidade precisa ser o nome do ponto de montagem com o caractere `/' substituído por `-', omitindo o inicial. Em seguida, a unidade precisa ser habilitada com: systemctl enable home.mount Para mais informação a respeito do LVM, veja-se o [2102]LVM HOWTO e as páginas de manual do lvm. Um bom e detalhado [2103]guia está disponível a partir da RedHat^®, embora às vezes ele faça referência a ferramentas proprietárias. A respeito de RAID A tecnologia de armazenamento conhecida como RAID (Redundant Array of Independent Disks) combina vários discos físicos em uma unidade lógica. As unidades geralmente podem ser combinadas para fornecer redundância de dados ou para estender o tamanho das unidades lógicas além da capacidade dos discos físicos ou de ambos. A tecnologia também permite fornecer manutenção de hardware sem desligar o sistema. Os tipos de organização de RAID são descritos no [2104]RAID Wiki. Observe que, embora o RAID forneça proteção contra falhas de disco, ele não é um substituto para as cópias de segurança. Um arquivo deletado ainda é deletado em todos os discos de uma matriz RAID. As cópias de segurança modernas geralmente são feitas via [2105]rsync-3.2.7. Existem três tipos principais de implementação de RAID: RAID de hardware, RAID baseado em BIOS e RAID de software. RAID de Hardware O RAID baseado em hardware fornece capacidade por meio de esquemas de dados e hardware proprietários. O controle e a configuração geralmente são feitos via firmware em conjunto com aplicativos executáveis disponibilizados pelo fabricante do dispositivo. Os recursos geralmente são fornecidos por meio de uma placa PCI, embora existam algumas instâncias de componentes RAID integrados à placa-mãe. O RAID de hardware também possivelmente esteja disponível em um gabinete independente. Uma vantagem do RAID baseado em hardware é que as unidades são oferecidas ao sistema operacional como uma unidade lógica e nenhuma configuração dependente do sistema operacional é necessária. As desvantagens incluem dificuldades em transferir unidades de um sistema para outro, atualização de firmware ou substituição de hardware RAID com falha. RAID baseado em BIOS Alguns computadores oferecem uma implementação RAID semelhante a hardware no BIOS do sistema. Às vezes, isso é chamado de RAID 'falso', pois os recursos geralmente estão incorporados no firmware sem qualquer aceleração de hardware. As vantagens e desvantagens do RAID baseado em BIOS são geralmente as mesmas do RAID de hardware, com a desvantagem adicional de não existir aceleração de hardware. Em alguns casos, o firmware RAID baseado em BIOS é habilitado por padrão (por exemplo, alguns sistemas DELL). Se o RAID por software for desejado, [então] essa opção precisa ser explicitamente desabilitada no BIOS. RAID por Software O RAID baseado em software é a forma mais flexível de RAID. É fácil instalar e atualizar e fornece capacidade total em todas ou em parte de quaisquer unidades disponíveis para o sistema. No BLFS, o software RAID é encontrado em [2106]mdadm-4.2. A configuração de um dispositivo RAID é direta usando mdadm. Geralmente os dispositivos são criados no diretório /dev como /dev/mdx onde x é um número inteiro. A primeira etapa na criação de uma matriz RAID é a de usar um software de particionamento, como o fdisk ou o [2107]parted-3.6, para definir as partições necessárias para a matriz. Normalmente, existirá uma partição em cada unidade participante da matriz RAID, mas isso não é estritamente necessário. Para este exemplo, existirão quatro unidades de disco: /dev/sda, /dev/sdb, /dev/sdc e /dev/sdd. Eles serão particionados como segue: Tamanho da partição Tipo Uso sda1: 100 MB fd Linux raid auto /boot (RAID 1) /dev/md0 sda2: 10 GB fd Linux raid auto / (RAID 1) /dev/md1 sda3: 2 GB 83 Linux swap swap sda4 300 GB fd Linux raid auto /home (RAID 5) /dev/md2 sdb1: 100 MB fd Linux raid auto /boot (RAID 1) /dev/md0 sdb2: 10 GB fd Linux raid auto / (RAID 1) /dev/md1 sdb3: 2 GB 83 Linux swap swap sdb4 300 GB fd Linux raid auto /home (RAID 5) /dev/md2 sdc1: 12 GB fd Linux raid auto /usr/src (RAID 0) /dev/md3 sdc2: 300 GB fd Linux raid auto /home (RAID 5) /dev/md2 sdd1: 12 GB fd Linux raid auto /usr/src (RAID 0) /dev/md3 sdd2: 300 GB fd Linux raid auto /home (RAID 5) /dev/md2 Nesse arranjo, uma partição separada de inicialização é criada como a primeira matriz RAID pequena e um sistema de arquivos raiz como a segunda matriz RAID, ambas espelhadas. A terceira partição é uma matriz grande (cerca de 1 TB) para o diretório /home. Isso fornece uma capacidade de distribuir dados entre vários dispositivos, melhorando a velocidade de leitura e de gravação de arquivos grandes. Por fim, uma quarta matriz é criada que concatena duas partições em um dispositivo maior. Nota Todos os comandos mdadm precisam ser executados como o(a) usuário(a) root. Para criar essas matrizes RAID, os comandos são: /sbin/mdadm -Cv /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1 /sbin/mdadm -Cv /dev/md1 --level=1 --raid-devices=2 /dev/sda2 /dev/sdb2 /sbin/mdadm -Cv /dev/md3 --level=0 --raid-devices=2 /dev/sdc1 /dev/sdd1 /sbin/mdadm -Cv /dev/md2 --level=5 --raid-devices=4 \ /dev/sda4 /dev/sdb4 /dev/sdc2 /dev/sdd2 Os dispositivos criados podem ser examinados por dispositivo. Por exemplo, para ver os detalhes de /dev/md1, use /sbin/mdadm --detail /dev/md1: Version : 1.2 Creation Time : Tue Feb 7 17:08:45 2012 Raid Level : raid1 Array Size : 10484664 (10.00 GiB 10.74 GB) Used Dev Size : 10484664 (10.00 GiB 10.74 GB) Raid Devices : 2 Total Devices : 2 Persistence : Superblock is persistent Update Time : Tue Feb 7 23:11:53 2012 State : clean Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 Name : core2-blfs:0 (local to host core2-blfs) UUID : fcb944a4:9054aeb2:d987d8fe:a89121f8 Events : 17 Number Major Minor RaidDevice State 0 8 1 0 active sync /dev/sda1 1 8 17 1 active sync /dev/sdb1 A partir deste ponto, as partições podem ser formatadas com o sistema de arquivos de sua escolha (por exemplo, ext3, ext4, [2108]xfsprogs-6.4.0, [2109]reiserfsprogs-3.6.27, etc). As partições formatadas podem então ser montadas. O arquivo /etc/fstab pode usar os dispositivos criados para montagem em tempo de inicialização e a linha de comando linux em /boot/grub/grub.cfg pode especificar root =/dev/md1. Nota Os dispositivos de troca deveriam ser especificados no arquivo /etc/fstab normalmente. O núcleo normalmente distribui os dados de troca entre vários arquivos de troca e não deveria fazer parte de uma matriz RAID. Para mais opções e detalhes de gerenciamento de dispositivos RAID, consulte man mdadm. Detalhes adicionais para monitorar matrizes RAID e para lidar com problemas podem ser encontrados no [2110]Linux RAID Wiki. mdadm-4.2 Introdução a mdadm O pacote mdadm contém ferramentas de administração para RAID de software. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2111]https://www.kernel.org/pub/linux/utils/raid/mdadm/mdadm-4.2.t ar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: a304eb0a978ca81045620d06547050a6 * Tamanho da transferência: 444 KB * Espaço em disco estimado exigido: 5,0 MB * Tempo de construção estimado: 0,1 UPC Dependências do mdadm Opcionais Um [2112]MTA Cuidado As versões do núcleo na série 4.1 a 4.4.1 tem uma implementação de RAID quebrada. Use um núcleo com versão igual ou superior a 4.4.2. Configuração do Núcleo Habilite as seguintes opções na configuração do núcleo e recompile o núcleo, se necessário. Somente os tipos de RAID desejados são exigidos. Device Drivers ---> [*] Multiple devices driver support (RAID and LVM) ---> [MD] <*/M> RAID support [BLK_DEV_MD] [*] Autodetect RAID arrays during kernel boot [MD_AUTODETECT] # Only the RAID types desired are required: < /*/M> RAID-0 (striping) mode [MD_RAID0] < /*/M> RAID-1 (mirroring) mode [MD_RAID1] < /*/M> RAID-10 (mirrored striping) mode [MD_RAID10] < /*/M> RAID-4/RAID-5/RAID-6 mode [MD_RAID456] Instalação do mdadm Construa o mdadm executando o seguinte comando: make Esse pacote não vem com uma suíte de teste funcional. Agora, como o(a) usuário(a) root: make BINDIR=/usr/sbin install Explicações do Comando make everything: Esse alvo opcional cria aplicativos extras, particularmente uma versão vinculada estaticamente do mdadm. Isso precisa ser instalado manualmente. --keep-going: Executa os testes até o final, mesmo se um ou mais testes falharem. --logdir=test-logs: Define o diretório onde os registros dos teste são salvos. --save-logs: Instrui a suíte de teste a salvar os registros. --tests=: Lista opcional de testes, separados por vírgulas, a serem executados (todos os testes, se essa opção não for passada) . Conteúdo Aplicativos Instalados: mdadm e mdmon Bibliotecas Instaladas: Nenhum(a) Diretório Instalado: Nenhum(a) Descrições Curtas mdadm gerencia dispositivos MD, também conhecidos como RAID de Software do Linux mdmon monitora matrizes de metadados externos MD ntfs-3g-2022.10.3 Introdução a Ntfs-3g Nota Um novo controlador de leitura e gravação para NTFS, chamado NTFS3, foi adicionado ao núcleo Linux desde o lançamento 5.15. O desempenho do NTFS3 é muito melhor que o do NTFS-3G. Para habilitar o NTFS3, habilite as seguintes opções na configuração do núcleo e recompile o núcleo, se necessário: File systems ---> DOS/FAT/EXFAT/NT Filesystems ---> <*/M> NTFS Read-Write file system support [NTFS3_FS] Para garantir que o comando mount use NTFS3 para partições NTFS, crie um script vinculador: cat > /usr/sbin/mount.ntfs << "EOF" && #!/bin/sh exec mount -t ntfs3 "$@" EOF chmod -v 755 /usr/sbin/mount.ntfs Com o suporte do núcleo disponível, o ntfs-3g é necessário somente se você precisar dos utilitários oriundos dele (por exemplo, para criar sistemas de arquivos NTFS). O pacote Ntfs-3g contém um controlador estável, de leitura e gravação e de código aberto para partições NTFS. As partições NTFS são usadas pela maioria dos sistemas operacionais da Microsoft. O Ntfs-3g permite que você monte partições NTFS no modo de leitura e gravação a partir do seu sistema Linux. Ele usa o módulo do núcleo FUSE para poder implementar o suporte NTFS no espaço do(a) usuário(a). O pacote também contém vários utilitários úteis para manipular partições NTFS. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2113]https://tuxera.com/opensource/ntfs-3g_ntfsprogs-2022.10.3.tgz * Transferência (FTP): * Soma de verificação MD5 da transferência: a038af61be7584b79f8922ff11244090 * Tamanho da transferência: 1,3 MB * Espaço em disco estimado exigido: 22 MB * Tempo de construção estimado: 0,2 UPC Dependências do Ntfs-3g Opcional [2114]fuse 2.x (isso desabilita as montagens do(a) usuário(a)) Configuração do Núcleo Habilite as seguintes opções na configuração do núcleo e recompile o núcleo, se necessário: File systems ---> <*/M> FUSE (Filesystem in Userspace) support [FUSE_FS] Observe que isso só é necessário para montar partições NTFS com ntfs-3g. Se, ao invés, você usará o controlador NTFS3 intra núcleo para montar partições NTFS (como os(as) editores(as) do BLFS recomendam), você pode ignorar esse item de configuração. Instalação do Ntfs-3g Instale Ntfs-3g executando os seguintes comandos: ./configure --prefix=/usr \ --disable-static \ --with-fuse=internal \ --docdir=/usr/share/doc/ntfs-3g-2022.10.3 && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install && É recomendável usar o controlador NTFS3 interno ao núcleo para montar sistemas de arquivos NTFS, em vez do ntfs-3g (veja-se a observação no início desta página). No entanto, se você quiser, de qualquer maneira, usar o ntfs-3g para montar os sistemas de arquivos NTFS, [então] crie um link simbólico para o comando mount: ln -sv ../bin/ntfs-3g /usr/sbin/mount.ntfs && ln -sv ntfs-3g.8 /usr/share/man/man8/mount.ntfs.8 Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --with-fuse=internal: Essa chave força dinamicamente o ntfs-3g a usar uma cópia interna da biblioteca fuse-2.x. Isso é exigido se você deseja permitir que os(as) usuários(as) montem partições NTFS. --disable-ntfsprogs: Desabilita a instalação de vários utilitários usados para manipular partições NTFS. chmod -v 4755 /usr/bin/ntfs-3g: Tornar mount.ntfs setuid root permite que usuários(as) não root montem partições NTFS. Usando o Ntfs-3g Para montar uma partição do Windows em tempo de inicialização, coloque uma linha como esta em /etc/fstab: /dev/sda1 /mnt/windows auto defaults 0 0 Para permitir que os(as) usuários(as) montem um pendrive com um sistema de arquivos NTFS nele, coloque uma linha semelhante a esta (mude sdc1 para o que um pendrive seria em seu sistema) em /etc/fstab: /dev/sdc1 /mnt/usb auto user,noauto,umask=0,utf8 0 0 Para que um(a) usuário(a) possa montar o pendrive, ele(a) precisará ser capaz de escrever em /mnt/usb; portanto, como o(a) usuário(a) root: chmod -v 777 /mnt/usb Conteúdo Aplicativos Instalados: lowntfs-3g, mkfs.ntfs, mkntfs, mount.lowntfs-3g, mount.ntfs, mount.ntfs-3g, ntfs-3g, ntfs-3g.probe, ntfscat, ntfsclone, ntfscluster, ntfscmp, ntfscp, ntfsfix, ntfsinfo, ntfslabel, ntfsls, ntfsresize e ntfsundelete Biblioteca Instalada: libntfs-3g.so Diretórios Instalados: /usr/include/ntfs-3g e /usr/share/doc/ntfs-3g Descrições Curtas lowntfs-3g é semelhante ao ntfs-3g, mas usa a interface de baixo nível Fuse mkfs.ntfs é um link simbólico para mkntfs mkntfs cria um sistema de arquivos NTFS mount.lowntfs-3g é um link simbólico para lowntfs-3g mount.ntfs monta um sistema de arquivos NTFS mount.ntfs-3g é um link simbólico para ntfs-3g ntfs-3g é um controlador NTFS, que consegue criar, remover, renomear, mover arquivos, diretórios, links rígidos e fluxos. Ele também consegue ler e gravar arquivos, incluindo fluxos, arquivos esparsos e arquivos comprimidos de forma transparente. Ele também consegue lidar com arquivos especiais, como links simbólicos, dispositivos e FIFOs; além disso, fornece gerenciamento padrão de propriedade e de permissões de arquivos, incluindo ACLs POSIX ntfs-3g.probe testa se um volume NTFS é montável somente leitura ou leitura/gravação e sai com um valor de status correspondente. O volume pode ser um dispositivo de bloco ou arquivo de imagem ntfscluster identifica arquivos em uma região especificada de um volume NTFS ntfscp copia um arquivo para um volume NTFS ntfsfix corrige erros comuns e força o Windows a verificar uma partição NTFS ntfsls lista o conteúdo do diretório em um sistema de arquivos NTFS ntfscat imprime arquivos e fluxos NTFS na saída gerada padrão ntfsclone clona um sistema de arquivos NTFS ntfscmp compara dois sistemas de arquivos NTFS e mostra as diferenças ntfsinfo despeja os atributos de um arquivo ntfslabel exibe ou muda o rótulo em um sistema de arquivos NTFS ntfsresize redimensiona um sistema de arquivos NTFS sem perda de dados ntfsundelete recupera um arquivo deletado a partir de um volume NTFS libntfs-3g.so contém as funções da API do Ntfs-3g gptfdisk-1.0.9 Introdução a gptfdisk O pacote gptfdisk é um conjunto de aplicativos para criação e manutenção de unidades de disco GUID Partition Table (GPT). Um disco particionado GPT é exigido para unidades maiores que 2 TB e é um substituto moderno para unidades de disco particionadas do BIOS legado do PC que usam um Master Boot Record (MBR). O aplicativo principal, gdisk, tem uma interface semelhante ao aplicativo clássico fdisk. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2115]https://downloads.sourceforge.net/gptfdisk/gptfdisk-1.0.9.tar .gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 01c11ecfa454096543562e3068530e01 * Tamanho da transferência: 212 KB * Espaço em disco estimado exigido: 2,3 MB * Tempo de construção estimado: menos que 0,1 UPC (adicione 0,2 UPC para os testes) Transferências Adicionais * Remendo recomendado: [2116]https://www.linuxfromscratch.org/patches/blfs/12.0/gptfdisk-1 .0.9-convenience-1.patch Dependências do gptfdisk Exigida [2117]popt-1.19 Opcional [2118]ICU-73.2 Instalação do gptfdisk O pacote gptfdisk vem com um Makefile rudimentar. Primeiro, nós o atualizamos para fornecer uma interface simples de construção e instalação e corrigimos o local de um arquivo de cabeçalho, bem como corrigir um problema introduzido por uma versão recente do popt. Instale o gptfdisk executando os seguintes comandos: patch -Np1 -i ../gptfdisk-1.0.9-convenience-1.patch && sed -i 's|ncursesw/||' gptcurses.cc && sed -i 's|sbin|usr/sbin|' Makefile && sed -i '/UUID_H/s/^.*$/#if defined (_UUID_UUID_H) || defined (_UL_LIBUUID_UUID_H )/' guid.cc && sed -i "/device =/s/= \(.*\);/= strdup(\1);/" gptcl.cc && make Para testar os resultados, emita: make test. Agora, como o(a) usuário(a) root: make install Explicações do Comando patch -Np1 ...: Esse remendo modifica o arquivo Makefile, de forma que ele forneça um alvo “install”. Conteúdo Aplicativos Instalados: cgdisk, gdisk, fixparts e sgdisk Descrições Curtas cgdisk é uma ferramenta baseada em ncurses para manipular partições GPT gdisk é uma ferramenta interativa em modo texto para manipular partições GPT fixparts repara partições de disco baseadas em MBR mal formatadas sgdisk é um aplicativo de manipulação de partição para partições GPT semelhante ao sfdisk parted-3.6 Introdução a parted O pacote Parted é uma ferramenta de particionamento de disco e de redimensionamento de partição. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2119]https://ftp.gnu.org/gnu/parted/parted-3.6.tar.xz * Transferência (FTP): [2120]ftp://ftp.gnu.org/gnu/parted/parted-3.6.tar.xz * Soma de verificação MD5 da transferência: 93d2d8f22baebc5eb65b85da05a79e4e * Tamanho da transferência: 1,8 MB * Espaço em disco estimado exigido: 29 MB (adicionais 3 MB para os testes e adicionais 2 MB para a documentação opcional PDF e Postscript) * Tempo de construção estimado: 0,3 UPC (3,6 UPC adicionais para os testes) Dependências do Parted Recomendada [2121]LVM2-2.03.22 (device-mapper, exigido se construir udisks) Opcionais [2122]dosfstools-4.2, [2123]Pth-2.0.7, [2124]texlive-20230313 (ou [2125]install-tl-unx) e [2126]Digest::CRC (para testes) Configuração Opcional do Núcleo para Testes Cerca de 20% mais testes são executados se o seguinte módulo do núcleo for construído: Device Drivers ---> SCSI device support ---> [*] SCSI low-level drivers ---> [SCSI_LOWLEVEL] SCSI debugging host and device simulator [SCSI_DEBUG] Instalação do parted Instale Parted executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make && make -C doc html && makeinfo --html -o doc/html doc/parted.texi && makeinfo --plaintext -o doc/parted.txt doc/parted.texi Se você tiver [2127]texlive-20230313 instalado e desejar criar documentação em PDF e Postscript, [então] emita os seguintes comandos: cp build-aux/texinfo.tex doc && texi2pdf -o doc/parted.pdf doc/parted.texi && texi2dvi -o doc/parted.dvi doc/parted.texi && dvips -o doc/parted.ps doc/parted.dvi Para testar os resultados, emita, como o(a) usuário(a) root: make check Nota Muitos testes são pulados se não executados como o(a) usuário(a) root. Agora, como o(a) usuário(a) root: make install && install -v -m755 -d /usr/share/doc/parted-3.6/html && install -v -m644 doc/html/* \ /usr/share/doc/parted-3.6/html && install -v -m644 doc/{FAT,API,parted.{txt,html}} \ /usr/share/doc/parted-3.6 Instale a documentação opcional PDF e Postscript emitindo o seguinte comando como o(a) usuário(a) root: install -v -m644 doc/FAT doc/API doc/parted.{pdf,ps,dvi} \ /usr/share/doc/parted-3.6 Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --disable-device-mapper: Essa opção desabilita o suporte a mapeador de dispositivos. Adicione esse parâmetro se você não tiver instalado o LVM2. Conteúdo Aplicativos Instalados: parted e partprobe Bibliotecas Instaladas: libparted.so e libparted-fs-resize.so Diretórios Instalados: /usr/include/parted e /usr/share/doc/parted-3.6 Descrições Curtas parted é um aplicativo de manipulação de partição partprobe informa o Sistema Operacional a respeito de mudanças da tabela de partição libparted.so contém as funções da API do Parted reiserfsprogs-3.6.27 Introdução a reiserfsprogs O pacote reiserfsprogs contém vários utilitários para uso com o sistema de arquivos Reiser. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2128]https://www.kernel.org/pub/linux/kernel/people/jeffm/reiserfs progs/v3.6.27/reiserfsprogs-3.6.27.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 90c139542725efc6da3a6b1709695395 * Tamanho da transferência: 439 KB * Espaço em disco estimado exigido: 13 MB * Tempo de construção estimado: 0,2 UPC Configuração do Núcleo Habilite a seguinte opção na configuração do núcleo e recompile o núcleo: File systems ---> <*/M> Reiserfs support (deprecated) [REISERFS_FS] Instalação do reiserfsprogs Instale reiserfsprogs executando os seguintes comandos: sed -i '/parse_time.h/i #define _GNU_SOURCE' lib/parse_time.c && autoreconf -fiv && ./configure --prefix=/usr && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Explicações do Comando sed ...: Certifique-se de que uma variável seja definida para uso com arquivos recentes "include". Conteúdo Aplicativos Instalados: debugreiserfs, mkreiserfs, reiserfsck, reiserfstune e resize_reiserfs Biblioteca Instalada: libreiserfscore.so Diretório Instalado: /usr/include/reiserfs Descrições Curtas debugreiserfs pode, ocasionalmente, ajudar a resolver problemas com sistemas de arquivos ReiserFS. Se for chamado sem opções, [então] imprime o super bloco de qualquer sistema de arquivos ReiserFS encontrado no dispositivo mkreiserfs cria um sistema de arquivos ReiserFS reiserfsck é usado para verificar ou para reparar um sistema de arquivos ReiserFS reiserfstune é usado para ajustar o diário do ReiserFS. AVISO: Não use esse utilitário sem primeiro ler a página de manual completamente resize_reiserfs é usado para redimensionar um sistema de arquivos ReiserFS desmontado smartmontools-7.4 Introdução a smartmontools O pacote smartmontools contém aplicativos utilitários (smartctl, smartd) para controlar/monitorar sistemas de armazenamento usando o Self-Monitoring, Analysis and Reporting Technology System (S.M.A.R.T.) embutido nos discos ATA e SCSI mais modernos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2129]https://downloads.sourceforge.net/smartmontools/smartmontools -7.4.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 178d31a6ff5256c093227ab45a3f52aa * Tamanho da transferência: 1 MB * Espaço em disco estimado exigido: 27 MB * Tempo de construção estimado: 0,2 UPC Dependências do smartmontools Opcionais (tempo de execução) [2130]cURL-8.2.1 ou [2131]Lynx-2.8.9rel.1 ou [2132]Wget-1.21.4 (ferramentas de transferência) e [2133]GnuPG-2.4.3 (discos rígidos encriptados) Instalação do smartmontools Instale smartmontools executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc \ --docdir=/usr/share/doc/smartmontools-7.4 && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Configurando smartmontools Arquivo de Configuração /etc/smartd.conf Informação de Configuração Consulte os comentários embutidos em /etc/smartd.conf para instruções detalhadas a respeito de personalizar o processo de segundo plano smartd. Unidade do systemd Se você desejar que o processo de segundo plano smartd inicie automaticamente quando o sistema for inicializado, [então] habilite a unidade systemd fornecida pelo pacote executando o seguinte comando como o(a) usuário(a) root: systemctl enable smartd Conteúdo Aplicativos Instalados: smartctl, smartd e update-smart-drivedb Bibliotecas Instaladas: Nenhuma Diretórios Instalados: /usr/share/smartmontools, /usr/share/doc/smartmontools-7.4 e /etc/smartd_warning.d Descrições Curtas smartctl é o utilitário de controle e de monitoramento para Discos SMART smartd é o processo de segundo plano de monitoramento de disco SMART update-smart-drivedb é a ferramenta de atualização para a base de dados de unidade smartmontools sshfs-3.7.3 Introdução a Sshfs O pacote Sshfs contém um cliente de sistema de arquivos baseado no File Transfer Protocol do SSH. Isso é útil para montar um computador remoto ao qual você tenha acesso ssh como um sistema de arquivos local. Isso permite que você arraste e solte arquivos ou execute comandos de shell nos arquivos remotos como se estivessem em seu computador local. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2134]https://github.com/libfuse/sshfs/releases/download/sshfs-3.7. 3/sshfs-3.7.3.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: f704f0d1800bdb5214030a1603e8c6d6 * Tamanho da transferência: 56 KB * Espaço em disco estimado exigido: 0,9 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do Sshfs Exigidas [2135]Fuse-3.16.1, [2136]GLib-2.76.4 e [2137]OpenSSH-9.4p1. Opcionais [2138]docutils-0.20.1 (exigido para construir a página de manual) Instalação do Sshfs Instale Sshfs executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: ninja install Usando o Sshfs Para montar um servidor SSH, você precisa estar apto(a) a se logar no servidor. Por exemplo, para montar sua pasta "home" remota no ~/caminho_de_exemplo local (o diretório precisa existir e você precisa ter permissões para gravar nele): sshfs exemplo.com:/home/userid ~/caminho_de_exemplo Quando tiver terminado o trabalho e quiser desmontá-lo novamente: fusermount3 -u ~/exemplo Você também consegue montar um sistema de arquivos sshfs na inicialização adicionando uma entrada semelhante à seguinte no arquivo /etc/fstab: id_de_usuario@exemplo.com:/caminho /media/caminho fuse.sshfs _netdev,IdentityFil e=/home/id_de_usuario/.ssh/id_rsa 0 0 Veja-se man 1 sshfs e man 8 mount.fuse3 para todas as opções disponíveis de montagem. Conteúdo Aplicativo Instalado: sshfs Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas sshfs monta um servidor ssh como um sistema de arquivos local xfsprogs-6.4.0 Introdução a xfsprogs O pacote xfsprogs contém ferramentas de administração e de depuração para o sistema de arquivos XFS. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2139]https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/xfspro gs-6.4.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 81c09e5ea47412c3a109a316cf4dd39d * Tamanho da transferência: 1,3 MB * Espaço em disco estimado exigido: 56 MB * Tempo de construção estimado: 0,3 UPC (Usando paralelismo=4) Dependências do xfsprogs Exigidas [2140]inih-57 e [2141]liburcu-0.14.0 Opcionais [2142]ICU-73.2 (para escaneamento de nome Unicode em xfs_scrub) Configuração do Núcleo Habilite as seguintes opções na configuração do núcleo e recompile o núcleo: File systems ---> <*/M> XFS filesystem support [XFS_FS] Instalação do xfsprogs Instale xfsprogs executando os seguintes comandos: make DEBUG=-DNDEBUG \ INSTALL_USER=root \ INSTALL_GROUP=root Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make PKG_DOC_DIR=/usr/share/doc/xfsprogs-6.4.0 install && make PKG_DOC_DIR=/usr/share/doc/xfsprogs-6.4.0 install-dev && rm -rfv /usr/lib/libhandle.{a,la} Explicações do Comando make DEBUG=-DNDEBUG: Desliga os símbolos de depuração. INSTALL_USER=root INSTALL_GROUP=root: Isso configura o(a) proprietário(a) e o grupo dos arquivos instalados. OPTIMIZER="...": Adicionar esse parâmetro ao final do comando make substitui as configurações padrão de otimização. Conteúdo Aplicativos Instalados: fsck.xfs, mkfs.xfs, xfs_admin, xfs_bmap, xfs_copy, xfs_db, xfs_estimate, xfs_freeze, xfs_fsr, xfs_growfs, xfs_info, xfs_io, xfs_logprint, xfs_mdrestore, xfs_metadump, xfs_mkfile, xfs_ncheck, xfs_quota, xfs_repair, xfs_rtcp, xfs_scrub, xfs_scrub_all e xfs_spaceman Bibliotecas Instaladas: libhandle.so Diretórios Instalados: /usr/include/xfs, /usr/lib/xfsprogs, /usr/share/xfsprogs e /usr/share/doc/xfsprogs-6.4.0 Descrições Curtas fsck.xfs simplesmente sai com um status zero, pois as partições XFS são verificadas ao tempo da montagem mkfs.xfs constrói um sistema de arquivos XFS xfs_admin muda os parâmetros de um sistema de arquivos XFS xfs_bmap imprime o mapeamento de bloco para um arquivo XFS xfs_copy copia o conteúdo de um sistema de arquivos XFS para um ou mais destinos em paralelo xfs_estimate para cada argumento de diretório, estima o espaço que o diretório ocuparia se fosse copiado para um sistema de arquivos XFS (não cruza os pontos de montagem) xfs_db é usado para depurar um sistema de arquivos XFS xfs_freeze suspende o acesso a um sistema de arquivos XFS xfs_fsr aplicável somente a sistemas de arquivos XFS, melhora a organização de sistemas de arquivos montados; o algoritmo de reorganização opera sobre um arquivo por vez, compactando ou, do contrário, melhorando o esquema das extensões de arquivo (blocos contíguos de dados de arquivo) xfs_growfs expande um sistema de arquivos XFS xfs_info é equivalente a invocar xfs_growfs, mas especificando que nenhuma mudança no sistema de arquivos é para ser feita xfs_io é uma ferramenta de depuração, como xfs_db, mas tem como objetivo examinar o caminho regular de Entrada/Saída de arquivo em vez do próprio volume cru XFS xfs_logprint imprime o registro de um sistema de arquivos XFS xfs_mdrestore restaura uma imagem do meta despejo XFS para uma imagem do sistema de arquivos xfs_metadump copia os metadados do sistema de arquivos XFS para um arquivo xfs_mkfile cria um arquivo XFS, preenchido com zeros por padrão xfs_ncheck gera nomes de caminhos a partir de números de "inode" para um sistema de arquivos XFS xfs_quota é um utilitário para informar e para editar vários aspectos das cotas do sistema de arquivos xfs_repair repara sistemas de arquivos XFS corrompidos ou danificados xfs_rtcp copia um arquivo para a partição em tempo real em um sistema de arquivos XFS xfs_scrub verifica e repara o conteúdo de um sistema de arquivos XFS montado xfs_scrub_all limpa todos os sistemas de arquivos XFS montados xfs_spaceman informa e controla o uso de espaço livre em um sistema de arquivos XFS libhandle.so contém funções específicas do XFS que fornecem uma maneira de realizar certas operações do sistema de arquivos sem usar um descritor de arquivo para acessar objetos do sistema de arquivos Pacotes para Inicialização UEFI efivar-38 Introdução ao efivar O pacote efivar fornece ferramentas e bibliotecas para manipular variáveis EFI. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2143]https://github.com/rhboot/efivar/releases/download/38/efivar- 38.tar.bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: 243fdbc48440212695cb9c6e6fd0f44f * Tamanho da transferência: 316 KB * Espaço em disco estimado exigido: 18 MB * Tempo de construção estimado: menos que 0,1 UPC Transferências Adicionais * Remendo opcional (exigido para sistemas de 32 bits): [2144]https://www.linuxfromscratch.org/patches/blfs/12.0/efivar-38- i686-1.patch Dependências do efivar Exigidas [2145]mandoc-1.14.6 Instalação do efivar Primeiro, corrija um problema no Makefile que faz com que o pacote seja reconstruído durante a instalação: sed '/prep :/a\\ttouch prep' -i src/Makefile Nota Esse pacote não pode funcionar corretamente em um sistema de 32 bits com uma implementação de UEFI de 64 bits. Não instale esse pacote (ou o efibootmgr) em um sistema de 32 bits, a menos que você esteja absolutamente seguro(a) de que tem uma implementação UEFI de 32 bits, o que é muito raro na prática. Se construir esse pacote em um sistema de 32 bits, [então] aplique um remendo: [ $(getconf LONG_BIT) = 64 ] || patch -Np1 -i ../efivar-38-i686-1.patch Construa o efivar com os seguintes comandos: make ERRORS= A suíte de teste desse pacote é perigosa. Executá-la pode deflagrar erros de firmware e tornar seu sistema inutilizável sem usar algum hardware especial para reprogramar o firmware. Agora, como o(a) usuário(a) root: make install LIBDIR=/usr/lib Explicações do Comando ERRORS=: Essa opção substitui o -Werror passado para o GCC por padrão, de forma que o pacote não falhe ao construir com o aviso -Wenum-int-mismatch introduzido no GCC 13. LIBDIR=/usr/lib: Essa opção substitui o diretório padrão da biblioteca do pacote (/usr/lib64, que não é usado pelo LFS). Conteúdo Aplicativos Instalados: efisecdb e efivar Bibliotecas Instaladas: libefiboot.so, libefisec.so e libefivar.so Diretórios Instalados: /usr/include/efivar Descrições Curtas efisecdb é um utilitário para gerenciar listas de assinatura UEFI efivar é uma ferramenta para manipular variáveis UEFI libefiboot.so é uma biblioteca usada pelo efibootmgr libefisec.so é uma biblioteca para gerenciar listas de assinatura UEFI libefivar.so é uma biblioteca para a manipulação de variáveis EFI efibootmgr-18 Introdução ao efibootmgr O pacote efibootmgr fornece ferramentas e bibliotecas para manipular variáveis EFI. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2146]https://github.com/rhboot/efibootmgr/archive/18/efibootmgr-18 .tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: e170147da25e1d5f72721ffc46fe4e06 * Tamanho da transferência: 48 KB * Espaço em disco estimado exigido: 1,1 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do efibootmgr Exigidas [2147]efivar-38 e [2148]popt-1.19 Instalação do efibootmgr Construa o efibootmgr com os seguintes comandos: make EFIDIR=LFS EFI_LOADER=grubx64.efi Esse pacote não tem uma suíte de teste. Agora, como o(a) usuário(a) root: make install EFIDIR=LFS Explicações do Comando EFIDIR=LFS: Essa opção especifica o nome do subdiretório da distribuição sob /boot/efi/EFI. O sistema de construção desse pacote precisa que essa seja configurada explicitamente. EFI_LOADER=grubx64.efi: Essa opção especifica o nome do carregador padrão de inicialização EFI. Ele é configurado para corresponder ao carregador de inicialização EFI fornecido pelo GRUB. Conteúdo Aplicativos Instalados: efibootdump e efibootmgr Descrições Curtas efibootdump é uma ferramenta para exibir opções individuais de inicialização UEFI, a partir de um arquivo ou de uma variável UEFI efibootmgr é uma ferramenta para manipular o Gerenciador de Inicialização UEFI GRUB-2.06 para EFI Introdução ao GRUB O pacote GRUB fornece o GRand Unified Bootloader. Nesta página, ele será construído com suporte UEFI, que não está habilitado para o GRUB construído no LFS. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2149]https://ftp.gnu.org/gnu/grub/grub-2.06.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: cf0fd928b1e5479c8108ee52cb114363 * Tamanho da transferência: 6,3 MB * Espaço em disco estimado exigido: 183 MB * Tempo de construção estimado: 0,4 UPC (no LFS de 64 bits, usando paralelismo=4) Transferências Adicionais * Remendo exigido: [2150]https://www.linuxfromscratch.org/patches/blfs/12.0/grub-2.06- upstream_fixes-1.patch Dados de fonte Unicode usados para exibir o menu do GRUB * Transferência (HTTP): [2151]https://unifoundry.com/pub/unifont/unifont-15.0.06/font-build s/unifont-15.0.06.pcf.gz * Soma de verificação MD5 da transferência: 94ff8cb4d5674cd2f38b00cede5e06d5 * Tamanho da transferência: 1,4 MB GCC (necessário somente se construir no LFS de 32 bits) * Consulte a página [2152]GCC-13.2.0 para informações de transferência. Dependências do GRUB Recomendadas [2153]efibootmgr-18 (tempo de execução) e [2154]FreeType-2.13.1 Opcionais [2155]LVM2-2.03.22 Instalação do GRUB Primeiro, instale os dados da fonte como o(a) usuário(a) root: mkdir -pv /usr/share/fonts/unifont && gunzip -c ../unifont-15.0.06.pcf.gz > /usr/share/fonts/unifont/unifont.pcf Atenção Desconfigure quaisquer variáveis de ambiente que possivelmente afetem a construção: unset {C,CPP,CXX,LD}FLAGS Não tente “ajustar” esse pacote com sinalizadores personalizados de compilação: esse pacote é um carregador de inicialização, com operações de baixo nível no código-fonte, as quais provavelmente sejam quebradas por algumas otimizações agressivas. Corrija um problema que faz com que grub-install falhe quando a partição /boot (ou a partição raiz, se /boot não for uma partição separada) é criada pelo e2fsprogs-1.47.0 ou posterior: patch -Np1 -i ../grub-2.06-upstream_fixes-1.patch Se você estiver executando um LFS de 32 bits, [então] prepare um compilador de 64 bits: case $(uname -m) in i?86 ) tar xf ../gcc-13.2.0.tar.xz mkdir gcc-13.2.0/build pushd gcc-13.2.0/build ../configure --prefix=$PWD/../../x86_64-gcc \ --target=x86_64-linux-gnu \ --with-system-zlib \ --enable-languages=c,c++ \ --with-ld=/usr/bin/ld make all-gcc make install-gcc popd export TARGET_CC=$PWD/x86_64-gcc/bin/x86_64-linux-gnu-gcc esac Construa o GRUB com os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc \ --disable-efiemu \ --enable-grub-mkfont \ --with-platform=efi \ --target=x86_64 \ --disable-werror && unset TARGET_CC && make Esse pacote não tem uma suíte de teste que forneça resultados significativos. Agora, como o(a) usuário(a) root: make install && mv -v /etc/bash_completion.d/grub /usr/share/bash-completion/completions Explicações do Comando --enable-grub-mkfont: Construa a ferramenta chamada grub-mkfont para gerar o arquivo de fonte para o carregador de inicialização a partir dos dados de fonte que instalamos. Atenção Se a dependência recomendada [2156]FreeType-2.13.1 não estiver instalada, é possível omitir essa opção e construir o GRUB. No entanto, se grub-mkfont não for construído ou os dados da fonte Unicode não estiverem disponíveis ao tempo que o GRUB for construído, o GRUB não instalaria nenhuma fonte para o carregador de inicialização. O menu de inicialização do GRUB será exibido usando uma fonte grosseira ou em uma região menor na tela. --with-platform=efi: Garante a construção do GRUB com EFI habilitado. --target=x86_64: Garante a construção do GRUB para x86_64, mesmo se construir em um sistema LFS de 32 bits. A maioria do firmware EFI em x86_64 não suporta carregadores de inicialização de 32 bits. --target=i386: Algumas plataformas x86 de 32 bits tem suporte EFI. E algumas plataformas x86_64 tem uma implementação EFI de 32 bits, mas são muito antigas e raras. Use isso ao invés de --target=x86_64 se você estiver absolutamente seguro(a) de que o LFS está executando em tal sistema. Configurando o GRUB Usar o GRUB para tornar o sistema LFS inicializável na plataforma UEFI será discutido em [2157]Usando o GRUB para Configurar o Processo de Inicialização com UEFI. Conteúdo Veja-se a página para o GRUB no livro LFS. Usando o GRUB para Configurar o Processo de Inicialização com UEFI Desligar a Inicialização Segura O BLFS não tem os pacotes essenciais para suportar a Inicialização Segura. Para configurar o processo de inicialização com GRUB e UEFI no BLFS, a Inicialização Segura precisa ser desligada a partir interface de configuração do firmware. Leia a documentação fornecida pelo(a) fabricante do seu sistema para descobrir como. Configuração do Núcleo para Suporte a UEFI Habilite as seguintes opções na configuração do núcleo e recompile o núcleo, se necessário: Processor type and features ---> [*] EFI runtime service support [EFI] -*- Enable the block layer ---> [BLOCK] Partition Types ---> [ /*] Advanced partition selection [PARTITION_ADVANCED] [*] EFI GUID Partition support [EFI_PARTITION] Device Drivers ---> Firmware Drivers ---> [*] Mark VGA/VBE/EFI FB as generic system framebuffer [SYSFB_SIMPLEFB] Graphics support ---> <*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) ---> ... [DRM] [*] Enable legacy fbdev support for your modesetting driver ... [DRM_FBDEV_EMULATION] <*> Simple framebuffer driver [DRM_SIMPLEDRM] Frame buffer Devices ---> <*> Support for frame buffer devices ---> [FB] Console display driver support ---> -*- Framebuffer Console support [FRAMEBUFFER_CONSOLE] File systems ---> DOS/FAT/EXFAT/NT Filesystems ---> <*/M> VFAT (Windows-95) fs support [VFAT_FS] Pseudo filesystems ---> <*/M> EFI Variable filesystem [EFIVAR_FS] -*- Native language support ---> [NLS] <*/M> Codepage 437 (United States, Canada) [NLS_CODEPAGE_437] <*/M> NLS ISO 8859-1 (Latin 1; Western European Languages) [NLS_ISO8859_1] O significado das opções de configuração: CONFIG_PARTITION_ADVANCED Se não estiver habilitado, CONFIG_EFI_PARTITION será habilitado automaticamente. Mas quando estiver habilitado, você precisa configurar CONFIG_EFI_PARTITION como habilitado também. CONFIG_SYSFB_SIMPLEFB, CONFIG_DRM, CONFIG_DRM_FBDEV_EMULATION, CONFIG_DRM_SIMPLEDRM, CONFIG_FB e CONFIG_FRAMEBUFFER_CONSOLE A combinação dessas opções fornece suporte ao console Linux no topo do framebuffer UEFI. Para permitir que o núcleo imprima mensagens de depuração em um estágio inicial da inicialização, elas não deveriam ser construídas como módulos do núcleo, a menos que um initramfs seja usado. Criar um Disco de Inicialização de Emergência Garanta que um disco de inicialização de emergência esteja pronto para “resgatar” o sistema no caso do sistema se tornar não inicializável. Para produzir um disco de inicialização de emergência com o GRUB para um sistema baseado em EFI, encontre uma unidade flash USB sobressalente e crie um sistema de arquivos vfat nela. Instale o [2158]dosfstools-4.2 primeiro, então, como o(a) usuário(a) root: Atenção O comando a seguir apagará todos os diretórios e arquivos na partição. Certifique-se de que sua unidade flash USB não contém dados que serão necessários e mude sdx1 para o nó de dispositivo correspondente à primeira partição da unidade flash USB. Seja cuidado(a) para não sobrescrever sua unidade rígida com um erro de digitação! mkfs.vfat /dev/sdx1 Ainda como o(a) usuário(a) root, use o utilitário fdisk para configurar a primeira partição da unidade flash USB para ser uma partição do “sistema EFI” (mude sdx para o nó de dispositivo correspondente à sua unidade flash USB): fdisk /dev/sdx Welcome to fdisk (util-linux 2.39.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): t Partition number (1-9, default 9): 1 Partition type or alias (type L to list all): uefi Changed type of partition 'Linux filesystem' to 'EFI System'. Command (m for help): w The partition table has been altered. Syncing disks. Ainda como o(a) usuário(a) root, crie um ponto de montagem para a partição EFI na unidade flash USB e monte-o: mount --mkdir -v -t vfat /dev/sdx1 -o codepage=437,iocharset=iso8859-1 \ /mnt/rescue Instale o GRUB para EFI na partição: grub-install --target=x86_64-efi --removable \ --efi-directory=/mnt/rescue --boot-directory=/mnt/rescue Desmonte a partição: umount /mnt/rescue Agora, a unidade flash USB pode ser usada como um disco de inicialização de emergência em qualquer plataforma UEFI x86-64. Ele inicializará o sistema e mostrará o shell do GRUB. Então você consegue digitar comandos para inicializar seu sistema operacional a partir da unidade rígida. Para saber como selecionar o dispositivo de inicialização, leia-se o manual da sua placa-mãe ou notebook. Encontrar ou Criar a Partição do Sistema EFI Em sistemas baseados em EFI, os carregadores de inicialização são instalados em uma partição especial FAT32 chamada EFI System Partition (ESP). Se o seu sistema suportar EFI e uma versão recente de alguma distribuição Linux ou Windows estiver pré-instalada, [então] é provável que o ESP já tenha sido criada. Como o(a) usuário(a) root, liste todas as partições em sua unidade rígida (substitua sda pelo dispositivo correspondente à unidade rígida apropriada): fdisk -l /dev/sda A coluna “Type” da ESP deveria ser EFI System. Se o sistema ou a unidade rígida for novo(a) ou essa for a primeira instalação de um Sistema Operacional inicializado por UEFI no sistema, a ESP possivelmente não exista. Nesse caso, instale [2159]dosfstools-4.2 primeiro. Em seguida, crie uma nova partição, produza um sistema de arquivos vfat nela e configure o tipo de partição como “EFI system”. Vejam-se as instruções para o dispositivo de inicialização de emergência acima como uma referência. Atenção Algumas (antigas) implementações UEFI possivelmente exijam que a ESP seja a primeira partição no disco. Agora, como o(a) usuário(a) root, crie o ponto de montagem para a ESP e monte-a (substitua sda1 pelo nó de dispositivo correspondente à ESP): mount --mkdir -v -t vfat /dev/sda1 -o codepage=437,iocharset=iso8859-1 \ /boot/efi Se você quiser montar a ESP automaticamente durante a inicialização do sistema, como o(a) usuário(a) root, adicione uma entrada para a ESP em /etc/fstab: cat >> /etc/fstab << EOF /dev/sda1 /boot/efi vfat codepage=437,iocharset=iso8859-1 0 1 EOF Configuração Mínima de Inicialização com GRUB e EFI Em sistemas baseados em UEFI, o GRUB funciona instalando um aplicativo EFI (um tipo especial de executável) na ESP. O firmware EFI pesquisará carregadores de inicialização em aplicativos EFI a partir de entradas de inicialização registradas em variáveis EFI e, adicionalmente, um caminho rigidamente codificado, EFI/BOOT/BOOTX64.EFI. Normalmente, um carregador de inicialização deveria ser instalado em um caminho personalizado e o caminho deveria ser registrado nas variáveis EFI. O uso do caminho codificado rigidamente deveria ser evitado, se possível. No entanto, em alguns casos, temos que usar o caminho codificado rigidamente: * O sistema não foi inicializado com EFI ainda, tornando as variáveis EFI inacessíveis. * O firmware EFI é de 64 bits, mas o sistema LFS é de 32 bits, tornando as variáveis EFI inacessíveis porque o núcleo não consegue invocar serviços de tempo de execução EFI com um comprimento diferente de endereço virtual. * O LFS é construído para um Live USB, de forma que não podemos confiar nas variáveis EFI, as quais são armazenadas em NVRAM ou em EEPROM na máquina local. * Você não consegue ou não quer instalar o efibootmgr para manipular entradas de inicialização em variáveis EFI. Nesses casos, siga estas instruções para instalar o aplicativo EFI do GRUB no caminho codificado rigidamente e faça uma configuração mínima de inicialização. Caso contrário, é melhor pular à frente e definir a configuração de inicialização normalmente. Para instalar o GRUB com o aplicativo EFI no caminho rigidamente codificado EFI/BOOT/BOOTX64.EFI, primeiro certifique-se de que a partição de inicialização esteja montada em /boot e de que a ESP esteja montada em /boot/efi. Então, como o(a) usuário(a) root, execute o comando: Nota Este comando sobrescreverá /boot/efi/EFI/BOOT/BOOTX64.EFI. Ele possivelmente quebre um carregador de inicialização já instalado lá. Produza uma cópia de segurança dele se não tiver certeza. grub-install --target=x86_64-efi --removable Esse comando instalará o aplicativo EFI do GRUB no caminho rigidamente codificado /boot/efi/EFI/BOOT/BOOTX64.EFI, de forma que o firmware EFI consiga achá-lo e carregá-lo. Os arquivos restantes do GRUB são instalados no diretório /boot/grub e serão carregados pelo BOOTX64.EFI durante a inicialização do sistema. Nota O firmware EFI geralmente prefere os aplicativos EFI com um caminho armazenado em variáveis EFI ao aplicativo EFI no caminho codificado rigidamente. Portanto, você possivelmente precise invocar o menu de seleção de inicialização ou a interface de configuração de firmware para selecionar manualmente o GRUB recém-instalado na próxima inicialização. Leia-se o manual da sua placa-mãe ou laptop para aprender como. Se você tiver seguido as instruções nesta seção e configurou uma configuração mínima de inicialização, agora pule à frente para “Criando o Arquivo de Configuração do GRUB”. Montar o Sistema de Arquivos de Variáveis EFI A instalação do GRUB em uma plataforma UEFI exige que o sistema de arquivos de Variáveis EFI, efivarfs, esteja montado. Como o(a) usuário(a) root, monte-o se já não estiver montado: mountpoint /sys/firmware/efi/efivars || mount -v -t efivarfs efivarfs /sys/firmw are/efi/efivars Nota Se o sistema for inicializado com UEFI e systemd, [então] o efivarfs será montado automaticamente. No entanto, no ambiente chroot do LFS ele ainda precisa ser montado manualmente. Atenção Se o sistema não for inicializado com UEFI, [então] o diretório /sys/firmware/efi estará ausente. Nesse caso, você deveria inicializar o sistema no modo UEFI com o disco de inicialização de emergência ou usando uma configuração mínima de inicialização criada como acima, então montar o efivarfs e continuar. Finalizando a Configuração Em sistemas baseados em UEFI, o GRUB funciona instalando um aplicativo EFI (um tipo especial de executável) em /boot/efi/EFI/[id]/grubx64.efi, onde /boot/efi é o ponto de montagem da ESP e [id] é substituído por um identificador especificado na linha de comando do grub-install. O GRUB criará uma entrada nas variáveis EFI contendo o caminho EFI/[id]/grubx64.efi, de forma que o firmware EFI consiga encontrar o grubx64.efi e carregá-lo. O grubx64.efi é muito leve (136 KB com o GRUB-2.06), de forma que não usará muito espaço na ESP. Um tamanho típico da ESP é de 100 MB (para o gerenciador de inicialização do Windows, que usa cerca de 50 MB na ESP). Assim que o grubx64.efi tenha sido carregado pelo firmware, ele carregará os módulos do GRUB a partir da partição de inicialização. O local padrão é /boot/grub. Como o(a) usuário(a) root, instale os arquivos do GRUB em /boot/efi/EFI/LFS/grubx64.efi e em /boot/grub. Em seguida, configure a entrada de inicialização nas variáveis EFI: grub-install --bootloader-id=LFS --recheck Se a instalação for bem-sucedida, [então a saída gerada deveria ser: Installing for x86_64-efi platform. Installation finished. No error reported. Emita o comando efibootmgr | cut -f 1 para verificar novamente a configuração de inicialização EFI. Um exemplo da saída gerada é: BootCurrent: 0000 Timeout: 1 seconds BootOrder: 0005,0000,0002,0001,0003,0004 Boot0000* ARCH Boot0001* UEFI:CD/DVD Drive Boot0002* Windows Boot Manager Boot0003* UEFI:Removable Device Boot0004* UEFI:Network Device Boot0005* LFS Observe que 0005 é o primeiro no BootOrder e Boot0005 é LFS. Isso significa que, na próxima inicialização, a versão do GRUB instalada pelo LFS será usada para inicializar o sistema. Criando o Arquivo de Configuração do GRUB Gere o /boot/grub/grub.cfg para configurar o menu de inicialização do GRUB: cat > /boot/grub/grub.cfg << EOF # Inicia /boot/grub/grub.cfg set default=0 set timeout=5 insmod part_gpt insmod ext2 set root=(hd0,2) insmod all_video if loadfont /boot/grub/fonts/unicode.pf2; then terminal_output gfxterm fi menuentry "GNU/Linux, Linux 6.4.10-lfs-12.0" { linux /boot/vmlinuz-6.4.10-lfs-12.0 root=/dev/sda2 ro } menuentry "Firmware Setup" { fwsetup } EOF Consulte-se [2160]o livro LFS para o conhecimento básico acerca do arquivo grub.cfg. (hd0,2), sda2 e 6.4.10-lfs-12.0 precisam corresponderem à tua configuração. A diretiva insmod all_video carrega vários módulos para suporte de vídeo. Ela é necessária para inicializar o framebuffer EFI para o núcleo imprimir mensagens corretamente antes da inicialização do controlador GPU de núcleo. A diretiva terminal_output gfxterm muda a resolução da tela do menu do GRUB para corresponder ao teu dispositivo de exibição. Isso quebrará a renderização se o arquivo de dados da fonte unicode.pf2 não estiver carregado, de forma que ele é protegido por uma diretiva if. Nota Da perspectiva do GRUB, os arquivos são relativos às partições usadas. Se você usou uma partição /boot separada, [então] remova /boot dos caminhos acima (para o núcleo e para unicode.pf2). Você também precisará mudar a linha "set root" para apontar para a partição de inicialização. A entrada Firmware Setup pode ser usada para entrar na interface de configuração fornecida pelo firmware (às vezes chamada de “Configuração do BIOS”). Inicialização Dupla com o Windows Adicione uma entrada de menu para o Windows no grub.cfg: cat >> /boot/grub/grub.cfg << EOF # Início da adição do Windows menuentry "Windows 11" { insmod fat insmod chain set root=(hd0,1) chainloader /EFI/Microsoft/Boot/bootmgfw.efi } EOF (hd0,1) deveria ser substituído pelo nome designado pelo GRUB para a ESP. A diretiva chainloader pode ser usada para dizer ao GRUB para executar outro executável EFI, nesse caso o Windows Boot Manager. Você pode colocar mais ferramentas utilizáveis no formato de executável EFI (por exemplo, um shell EFI) na ESP e, também, criar entradas do GRUB para elas. Capítulo 6. Editores de Texto Este capítulo é referenciado no livro LFS para aqueles(as) que desejam usar outros editores no sistema LFS deles(as). Você também verá como alguns aplicativos instalados do LFS se beneficiam de serem recompilados depois que bibliotecas GUI tenham sido instaladas. Bluefish-2.2.14 Introdução a Bluefish O Bluefish é um editor de texto GTK+ voltado para programadores(as) e projetistas web, com muitas opções para escrever sítios web, scripts e códigos de programação. O Bluefish suporta muitas linguagens de programação e de marcação e se concentra na edição de sítios da web dinâmicos e interativos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2161]https://www.bennewitz.com/bluefish/stable/source/bluefish-2.2 .14.tar.bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: c99b6b1ba3e3e70b032936182bb0b387 * Tamanho da transferência: 4,5 MB * Espaço em disco estimado exigido: 53 MB * Tempo de construção estimado: 0,3 UPC Dependências do Bluefish Exigidas [2162]GTK+-2.24.33 ou [2163]GTK+-3.24.38 (se ambos estiverem instados, [então] configure, por padrão, usa GTK+ 3) Recomendada [2164]desktop-file-utils-0.26 (para atualizar a base de dados da área de trabalho) Opcionais [2165]enchant-2.5.0 (para verificação ortográfica), [2166]Gucharmap-15.0.4, [2167]PCRE-8.45 e [2168]Jing Instalação do Bluefish Instale Bluefish executando os seguintes comandos: ./configure --prefix=/usr --docdir=/usr/share/doc/bluefish-2.2.14 && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Nota Esse pacote instala arquivos de ícone na hierarquia /usr/share/icons/hicolor e arquivos de área de trabalho na hierarquia /usr/share/applications. Você pode melhorar o desempenho do sistema e o uso da memória atualizando /usr/share/icons/hicolor/icon-theme.cache e /usr/share/applications/mimeinfo.cache. Para realizar a atualização, você precisa ter [2169]desktop-file-utils-0.26 (para o cache da área de trabalho) e emitir os seguintes comandos como o(a) usuário(a) root: gtk-update-icon-cache -t -f --include-image-data /usr/share/icons/hicolor && update-desktop-database Conteúdo Aplicativo Instalado: bluefish Bibliotecas Instaladas: várias, sob /usr/lib/bluefish/ Diretórios Instalados: /usr/lib/bluefish, /usr/share/bluefish, /usr/share/doc/bluefish-2.2.14 e /usr/share/xml/bluefish Descrições Curtas bluefish é um editor de texto GTK+ para marcação e programação Ed-1.19 Introdução a Ed Ed é um editor de texto orientado a linhas. Ele é usado para criar, exibir, modificar e manipular arquivos de texto, tanto interativamente quanto por meio de scripts de shell. Ed não é algo que muitas pessoas usam. Ele é descrito aqui porque pode ser usado pelo aplicativo "patch" se você encontrar um arquivo de remendo baseado em ed. Isso acontece raramente porque os remendos baseados em diferenças são os preferidos atualmente. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2170]https://ftp.gnu.org/gnu/ed/ed-1.19.tar.lz * Transferência (FTP): [2171]ftp://ftp.gnu.org/gnu/ed/ed-1.19.tar.lz * Soma de verificação MD5 da transferência: fa861f0c9ebb8c0e1b79fda770a73b1c * Tamanho da transferência: 65 KB * Espaço em disco estimado exigido: 1,2 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do Ed Exigido para descomprimir o tarball [2172]libarchive-3.7.1 (para bsdtar) Instalação do Ed Instale Ed executando os seguintes comandos: ./configure --prefix=/usr && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Conteúdo Aplicativos Instalados: ed e red Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas ed é um editor de texto orientado a linhas red é um ed restrito—somente pode editar arquivos no diretório atual e não consegue executar comandos do shell Emacs-29.1 Introdução a Emacs O pacote Emacs contém um editor extensível, personalizável, auto documentado e de exibição em tempo real. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2173]https://ftp.gnu.org/gnu/emacs/emacs-29.1.tar.xz * Transferência (FTP): [2174]ftp://ftp.gnu.org/gnu/emacs/emacs-29.1.tar.xz * Soma de verificação MD5 da transferência: e0631d868a13b503a5feef042435b67c * Tamanho da transferência: 50 MB * Espaço em disco estimado exigido: 732 MB * Tempo de construção estimado: 0,6 UPC (Usando paralelismo=4) Dependências do Emacs Recomendadas [2175]HarfBuzz-8.1.1, [2176]giflib-5.2.1, [2177]GnuTLS-3.8.1, [2178]jansson-2.14 e [2179]libtiff-4.5.1 Opcionais [2180]um ambiente gráfico, [2181]alsa-lib-1.2.9, [2182]Cairo-1.17.6, [2183]dbus-1.14.8, [2184]GConf-3.2.6, [2185]gobject-introspection-1.76.1, [2186]gsettings-desktop-schemas-44.0, [2187]GPM-1.20.7, [2188]GTK+-2.24.33 ou [2189]GTK+-3.24.38, [2190]ImageMagick-7.1.1-15, [2191]Little CMS-2.14, [2192]libjpeg-turbo-3.0.0, [2193]libpng-1.6.40, [2194]librsvg-2.56.3, [2195]libseccomp-2.5.4, [2196]libwebp-1.3.1, [2197]libxml2-2.10.4, [2198]MIT Kerberos V5-1.21.2, [2199]SQLite-3.42.0, [2200]Valgrind-3.21.0, [2201]intlfonts, [2202]libungif, [2203]libotf e [2204]m17n-lib - para exibir corretamente conjuntos de comandos sequenciais complexos, tais como Indic e Khmer, e também para conjuntos de comandos sequenciais que exigem suporte a modelagem de Árabe (Arabic e Farsi), [2205]mailutils e [2206]libXaw3d Instalação do Emacs Instale Emacs executando os seguintes comandos: ./configure --prefix=/usr && make Esse pacote não vem com uma suíte de teste. Se o "make" for bem-sucedido, [então] você consegue testar o resultado executando src/emacs -Q, que é o aplicativo que será instalado, com os arquivos auxiliares dele. Isso deveria iniciar e exibir a tela de abertura do aplicativo. Agora, como o(a) usuário(a) root: make install && chown -v -R root:root /usr/share/emacs/29.1 Nota Esse pacote instala arquivos de ícone na hierarquia /usr/share/icons/hicolor e você pode melhorar o desempenho do sistema e o uso de memória atualizando /usr/share/icons/hicolor /index.theme. Para realizar a atualização, você precisa ter o [2207]GTK+-2.24.33 ou [2208]GTK+-3.24.38 instalado e emitir o seguinte comando como o(a) usuário(a) root: gtk-update-icon-cache -qtf /usr/share/icons/hicolor Explicações do Comando --with-imagemagick: Use isso se você tiver instalado o [2209]ImageMagick-7.1.1-15 e desejar vincular a ele. --with-gif=no: Use isso se você não tiver instalado [2210]giflib-5.2.1 ou [2211]libungif. --with-tiff=no: Use isso se você não tiver instalado [2212]libtiff-4.5.1. --with-gnutls=no: Use isso se você não tiver instalado [2213]GnuTLS-3.8.1. --without-harfbuzz: Use isso se você não tiver instalado o [2214]HarfBuzz-8.1.1. --with-json=no: Use isso se você não tiver instalado [2215]jansson-2.14. Conteúdo Aplicativos Instalados: ctags, ebrowse, emacs (link simbólico), emacs-29.1, emacsclient e etags Bibliotecas Instaladas: Nenhum Diretórios Instalados: /usr/libexec/emacs e /usr/share/emacs Descrições Curtas ctags cria arquivos de base de dados arquivo de marca de referência cruzada para código-fonte ebrowse permite navegar pelas hierarquias de classe C++ a partir de dentro do emacs emacs é um editor emacsclient anexa uma sessão do emacs a uma instância do emacsserver já em execução etags é outro aplicativo para gerar arquivos de marca de referência cruzada de código-fonte Gedit-46.1 Introdução a Gedit O pacote Gedit contém um editor UTF-8 leve de texto para a área de trabalho GNOME. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2216]https://download.gnome.org/sources/gedit/46/gedit-46.1.tar.xz * Transferência (FTP): [2217]ftp://ftp.acc.umu.se/pub/gnome/sources/gedit/46/gedit-46.1.ta r.xz * Soma de verificação MD5 da transferência: 74cc927f8c41e7ccd2352c90d1086974 * Tamanho da transferência: 2,6 MB * Espaço em disco estimado exigido: 50 MB (com testes) * Tempo de construção estimado: 0,2 UPC (usando paralelismo = 4; com testes) Dependências do Gedit Exigidas [2218]gsettings-desktop-schemas-44.0, [2219]itstool-2.0.7, [2220]libpeas-1.36.0, [2221]libgeditsourceview-299.0.4 e [2222]tepl-6.8.0 Recomendadas [2223]gspell-1.12.2, [2224]Gvfs-1.50.6 (tempo de execução), [2225]ISO Codes-4.15.0 e [2226]PyGObject-3.44.1 (módulo Python 3) Opcionais [2227]GTK-Doc-1.33.2, [2228]Vala-0.56.11 e [2229]zeitgeist Instalação do Gedit Primeiro mude o conjunto de comandos sequenciais meson.build, de forma que ele consiga aceitar uma construção release. sed -i s/plain/release/ meson.build Instale Gedit executando os seguintes comandos: mkdir gedit-build && cd gedit-build && meson setup --prefix=/usr \ --buildtype=release \ -Dgtk_doc=false \ .. && ninja Para testar os resultados, emita: ninja test. Agora, como o(a) usuário(a) root: ninja install Nota Se você instalou o pacote em teu sistema usando um método “DESTDIR”, /usr/share/glib-2.0/schemas/gschemas.compiled não foi atualizado/criado. Crie (ou atualize) o arquivo usando o seguinte comando como o(a) usuário(a) root: glib-compile-schemas /usr/share/glib-2.0/schemas Explicações do Comando -Dgtk_doc=false: Essa chave desabilita a geração da documentação da API. Omita essa chave se você tiver [2230]GTK-Doc-1.33.2 instalado e desejar gerar a documentação da API. Conteúdo Aplicativo Instalado: gedit Bibliotecas Instaladas: libgedit-46.so Diretórios Instalados: /usr/include/gedit-46 e /usr/{lib,share,share/help/*}/gedit Descrições Curtas gedit é um editor de texto leve integrado com a área de trabalho GNOME JOE-4.6 Introdução ao "JOE" JOE (Joe's Own Editor) é um pequeno editor de texto capaz de emular WordStar, Pico e Emacs. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2231]https://downloads.sourceforge.net/joe-editor/joe-4.6.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 9017484e6116830d846678b625ea5c43 * Tamanho da transferência: 1,8 MB * Espaço em disco estimado exigido: 22 MB * Tempo de construção estimado: 0,2 UPC Instalação do "JOE" Instale JOE executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc \ --docdir=/usr/share/doc/joe-4.6 && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install && install -vm 755 joe/util/{stringify,termidx,uniproc} /usr/bin Configurando o "JOE" Arquivos de Configuração /etc/joe/jmacsrc, /etc/joe/joerc, /etc/joe/jpicorc, /etc/joe/jstarrc, /etc/joe/rjoerc e ~/.joerc Conteúdo Aplicativos Instalados: jmacs, joe, jpico, jstar, rjoe, stringify, termidx e uniproc Bibliotecas Instaladas: Nenhuma Diretórios Instalados: /etc/joe, /usr/share/joe e /usr/share/doc/joe-4.6 Descrições Curtas jmacs é um link simbólico para joe usado para iniciar o modo de emulação Emacs joe é um pequeno editor de texto capaz de emular WordStar, Pico e Emacs jpico é um link simbólico para joe usado para iniciar o modo de emulação Pico jstar é um link simbólico para joe usado para iniciar o modo de emulação do WordStar rjoe é um link simbólico para joe que restringe o JOE a editar somente os arquivos que estejam especificados na linha de comando stringify é um aplicativo usado pelo joe para converter arquivos rc e .jsf em um arquivo C (veja-se /usr/share/doc/joe-4.6/util/README) termidx é um aplicativo usado pelo joe para gerar o arquivo de índice termcap (veja-se /usr/share/doc/joe-4.6/util/README) uniproc é um aplicativo usado pelo joe para gerar o arquivo de base de dados Unicode de joe "unicat.c" a partir de Blocks.txt, CaseFolding.txt, EastAsianWidth.txt e UnicodeData.txt (encontre-os em /usr/share/doc/joe-4.6/util; veja-se usr/share/doc/joe-4.6/util/README) Kate-23.08.0 Introdução a Kate O pacote Kate contém um avançado editor gráfico de texto baseado em KF5. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2232]https://download.kde.org/stable/release-service/23.08.0/src/k ate-23.08.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: f96d29bdd182788cc8aeb788de8de07e * Tamanho da transferência: 7,7 MB * Espaço em disco estimado exigido: 211 MB * Tempo de construção estimado: 0,6 UPC (usando paralelismo = 4) Dependências do Kate Exigida [2233]KDE Frameworks-5.109.0 Opcional [2234]libgit2 Instalação do Kate Instale Kate executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_TESTING=OFF \ -Wno-dev .. && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Conteúdo Aplicativos Instalados: kate e kwrite Bibliotecas Instaladas: Vários plugins sob $KF5_PREFIX/lib/plugins Diretórios Instalados: $KF5_PREFIX/lib/plugins/ktexteditor, $KF5_PREFIX/lib/plugins/plasma/dataengine, $KF5_PREFIX/share/doc/HTML/*/{kate,katepart,kwrite}, $KF5_PREFIX/share/{kateproject,katexmltools} e $KF5_PREFIX/share/plasma/plasmoids/org.kde.plasma.katesessions Descrições Curtas kate é um avançado editor de texto para o kde kwrite é um editor de texto para o KDE, que é uma versão leve do kate Mousepad-0.5.10 Introdução a Mousepad Mousepad é um editor simples de texto GTK+ 3 para o ambiente de área de trabalho Xfce. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2235]https://archive.xfce.org/src/apps/mousepad/0.5/mousepad-0.5.1 0.tar.bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: 4c6cde9a05c6f8048133d8d4137edca9 * Tamanho da transferência: 937,2 KB * Espaço em disco estimado exigido: 16 MB * Tempo de construção estimado: 0,1 UPC Dependências do Mousepad Exigida [2236]gtksourceview4-4.8.4 Opcionais [2237]DConf-0.40.0 (tempo de execução) e [2238]dbus-glib-0.112 Instalação do Mousepad Instale Mousepad executando os seguintes comandos: ./configure --prefix=/usr --enable-keyfile-settings && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Explicações do Comando --enable-keyfile-settings: Use a estrutura de retaguarda do arquivo de chaves GSettings em vez do padrão [2239]DConf-0.40.0. Conteúdo Aplicativo Instalado: mousepad Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas mousepad é um editor simples GTK+ 3 de texto Nano-7.2 Introdução a Nano O pacote Nano contém um pequeno e simples editor de texto que pretende substituir o Pico, o editor padrão no pacote Pine. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2240]https://www.nano-editor.org/dist/v7/nano-7.2.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 13742c686c6ddb0b7b294634f0c13cec * Tamanho da transferência: 1,5 MB * Espaço em disco estimado exigido: 20 MB * Tempo de construção estimado: 0,2 UPC Instalação do Nano Instale Nano executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc \ --enable-utf8 \ --docdir=/usr/share/doc/nano-7.2 && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install && install -v -m644 doc/{nano.html,sample.nanorc} /usr/share/doc/nano-7.2 Explicações do Comando --enable-utf8: Essa chave habilita o suporte Unicode no Nano. Configurando nano Arquivos de Configuração /etc/nanorc e ~/.nanorc Informação de Configuração Configuração de exemplo (crie como um arquivo /etc/nanorc de todo o sistema ou como um arquivo pessoal ~/.nanorc) set autoindent set constantshow set fill 72 set historylog set multibuffer set nohelp set positionlog set quickblank set regexp Verifique o arquivo sample.nanorc no diretório instalado da documentação. Inclui configurações de cores e tem alguma documentação incluída nos comentários. O realce de sintaxe é fornecido para vários tipos de arquivo, no diretório /usr/share/nano/. Por exemplo, para scripts do shell, você pode inserir include /usr/share/nano/sh.nanorc no arquivo de configuração pessoal ou no global. Se você deseja realçar todos os arquivos suportados, [então] use include /usr/share/nano/*.nanorc. Essa inclusão não desce para o diretório extra. Mova os arquivos exigidos um nível acima. Conteúdo Aplicativos Instalados: nano e rnano (link simbólico) Bibliotecas Instaladas: Nenhuma Diretórios Instalados: /usr/share/nano e /usr/share/doc/nano-7.2 Descrições Curtas nano é um pequeno e simples editor de texto que pretende substituir o Pico, o editor padrão no pacote Pine rnano é um modo restrito para o nano Vim-9.0.1677 Introdução a Vim O pacote Vim, que é uma abreviação de VI IMproved, contém um clone do vi com recursos extras em comparação com o vi original. As instruções padrão do LFS instalam o vim como parte do sistema básico. Se você preferisse vincular o vim ao X, [então] deveria recompilar o vim para habilitar o modo GUI. Não existe necessidade de instruções especiais, pois o suporte X é detectado automaticamente. Nota A versão do vim muda diariamente. Para obter a versão mais recente, acesse [2241]https://github.com/vim/vim/releases. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2242]https://anduin.linuxfromscratch.org/BLFS/vim/vim-9.0.1677.tar .gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 65e6b09ef0628a2d8eba79f1d1d5a564 * Tamanho da transferência: 16 MB * Espaço em disco estimado exigido: 127 MB (adicionar 67 MB para testes) * Tempo de construção estimado: 0,5 UPC (com paralelismo=4; adicionar 3,0 UPC para testes) Dependências do Vim Recomendadas [2243]um ambiente gráfico e [2244]GTK+-3.24.38 Opcionais [2245]GPM-1.20.7, [2246]Lua-5.4.6, [2247]rsync-3.2.7 e [2248]Ruby-3.2.2 Instalação do Vim Nota Se recompilar o Vim para se vincular ao X e suas bibliotecas X não estiverem na partição raiz, [então] você não mais terá um editor para uso em emergências. Você pode optar por instalar um editor adicional; não vincular o Vim ao X; ou mover o atual executável vim para o diretório /bin sob um nome diferente, tal como vi. Instale Vim executando os seguintes comandos: Nota Se você pretende executar os testes e não instalou o Xorg em /usr, [então] anexe LDFLAGS='-L$XORG_PREFIX/lib' à linha de configuração abaixo. echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h && echo '#define SYS_GVIMRC_FILE "/etc/gvimrc"' >> src/feature.h && ./configure --prefix=/usr \ --with-features=huge \ --enable-gui=gtk3 \ --with-tlib=ncursesw && make Nota Se o arquivo global de configuração /etc/vimrc referenciar a variável de ambiente VIMRUNTIME, [então] alguns testes possivelmente reclamem a respeito de estarem inaptos para encontrar o diretório correspondente e aguardem a entrada gerada do(a) usuário(a). Se esse for o caso, [então] esse arquivo deveria ser salvo e removido antes de executar os testes. Para testar os resultados, emita: make -j1 test. Mesmo se um dos testes falhar em produzir o arquivo test.out em src/testdir, os testes restantes ainda serão executados. Se tudo correr bem, [então] o registro informará ALL DONE. Alguns testes rotulados como “flaky” possivelmente falhem ocasionalmente e podem ser ignorados. Os testes são conhecidos por falharem se a saída gerada for redirecionada para um arquivo e, também, se forem executados em uma sessão do [GNU] 'screen'. Nota Alguns testes de cores esperam ser executados sob o emulador de terminal xterm. Agora, como o(a) usuário(a) root: make install Por padrão, a documentação do Vim é instalada em /usr/share/vim. O link simbólico a seguir permite que a documentação seja acessada via /usr/share/doc/vim-9.0.1677, tornando-o consistente com o local da documentação para outros pacotes: ln -snfv ../vim/vim90/doc /usr/share/doc/vim-9.0.1677 Se você deseja atualizar os arquivos de tempo de execução, [então] emita o seguinte comando (exige [2249]rsync-3.2.7): rsync -avzcP --exclude="/dos/" --exclude="/spell/" \ ftp.nluug.nl::Vim/runtime/ ./runtime/ Para instalar os arquivos de tempo de execução e gerar novamente o arquivo tags, como o(a) usuário(a) root, emita: make -C src installruntime && vim -c ":helptags /usr/share/doc/vim-9.0.1677" -c ":q" Explicações do Comando --with-features=huge: Essa chave habilita todos os recursos adicionais disponíveis no Vim, incluindo suporte para caracteres múltiplos bytes. --with-tlib=ncursesw: Essa chave força o Vim a vincular-se à biblioteca libncursesw. --enable-gui=no: Isso impedirá a compilação da GUI. O Vim ainda se vinculará ao X, de modo que alguns recursos, tais como o modelo cliente-servidor ou a seleção x11 (área de transferência), ainda estejam disponíveis. --without-x: Se você preferir não vincular o Vim ao X, [então] use essa chave. --enable-luainterp, --enable-perlinterp, --enable-python3interp=dynamic, --enable-tclinterp - -with-tclsh=tclsh, --enable-rubyinterp: Essas opções incluem os interpretadores Lua, Perl, Python3, Tcl ou Ruby que permitem usar código de outro aplicativo em scripts vim. Todas as opções --enable-... conseguem aceitar =dynamic para carregar dinamicamente o interpretador quando necessário. Isso é exigido para Python 3 para evitar falhas de segmentação. Para tcl, é necessário indicar o nome do executável tclsh, pois configure somente pesquisa nomes versionados com versões antigas. Configurando Vim Arquivos de Configuração /etc/vimrc e ~/.vimrc Informação de Configuração O Vim tem um verificador ortográfico integrado que você consegue habilitar emitindo o seguinte em uma janela do vim: :setlocal spell spelllang=ru Essa configuração habilitará a verificação ortográfica para o idioma russo para a sessão atual. Por padrão, o Vim somente instala arquivos ortográficos para o idioma inglês. Se um arquivo ortográfico não estiver disponível para um idioma, [então] o Vim chamará o plug-in $VIMRUNTIME/plugin/spellfile.vim e tentará obter o *.spl e opcionalmente *.sug a partir do servidor FTP do vim, usando o plug-in $VIMRUNTIME/plugin/netrwPlugin.vim. Alternativamente, você consegue baixar manualmente os arquivos *.spl e *.sug a partir de: [2250]ftp://ftp.vim.org/pub/vim/runtime/spell/ e salvá-los em ~/.vim/spell ou em /usr/share/vim/vim90/spell/. Para saber o que há de novo no Vim-9.0.1677 emita o seguinte comando: :help version-9.0.1677 Para informação adicional a respeito do como configurar os arquivos de configuração do Vim, veja-se [2251]Os Arquivos vimrc e [2252]https://vim.fandom.com/wiki/Example_vimrc. Conteúdo Uma lista dos arquivos reinstalados, juntamente com as descrições curtas deles, pode ser encontrada nas [2253]Instruções de Instalação do Vim do LFS. Aplicativos Instalados: gview, gvim, gvimdiff, gvimtutor, rgview e rgvim Bibliotecas Instaladas: Nenhuma Diretório Instalado: /usr/share/vim Descrições Curtas gview inicia o gvim no modo somente leitura gvim é o editor que executa sob o X e inclui uma GUI gvimdiff edita duas ou três versões de um arquivo com gvim e mostra as diferenças gvimtutor ensina as teclas e comandos básicas do gvim rgview é uma versão restrita do gview rgvim é uma versão restrita do gvim Capítulo 7. Shells Estamos todos familiarizados com o Bourne Again SHell, mas existem duas outras interfaces de usuário(a) que são consideradas shells modernos úteis – o shell Berkeley Unix C e o shell Korn. Este capítulo instala pacotes compatíveis com esses tipos adicionais de shell. Dash-0.5.12 Introdução a Dash Dash é um shell compatível com POSIX. Ele pode ser instalado como /bin/sh ou como o shell padrão para root ou um(a) segundo(a) usuário(a) com um ID de usuário(a) zero (0). Depende de menos bibliotecas que o shell Bash e, portanto, é menos provável que seja afetado por um problema de atualização ou falha de disco. Dash também é útil para verificar se um script é totalmente compatível com a sintaxe POSIX. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2254]http://gondor.apana.org.au/~herbert/dash/files/dash-0.5.12.ta r.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 57222b768b84003ea4b801e5d5e0e52b * Tamanho da transferência: 244 KB * Espaço em disco estimado exigido: 2,9 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do Dash Opcionais [2255]libedit (biblioteca do editor de linha de comando) Instalação do Dash Instale Dash executando os seguintes comandos: ./configure --bindir=/bin --mandir=/usr/share/man && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Se você gostaria de tornar dash o sh padrão, [então] recrie o link simbólico /bin/sh como o(a) usuário(a) root: Nota Se criar o link simbólico do dash para sh, [então] você precisará reconfigurar o link para bash para construir o LFS. ln -svf dash /bin/sh Explicações do Comando --bindir=/bin: Esse parâmetro coloca o binário dash no sistema de arquivos raiz. --with-libedit: Para compilar Dash com suporte a libedit. Configurando Dash Arquivos de Configuração Dash carrega /etc/profile e ~/.profile Informação de Configuração Atualize /etc/shells para incluir o shell Dash emitindo o seguinte comando como o(a) usuário(a) root: cat >> /etc/shells << "EOF" /bin/dash EOF Conteúdo Aplicativo Instalado: dash Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas dash é um shell compatível com POSIX Tcsh-6.24.10 Introdução a Tcsh O pacote Tcsh contém “uma versão aprimorada, mas completamente compatível, do shell C do Unix da Berkeley (csh)”. Isso é útil como um shell alternativo para aqueles que preferem a sintaxe C à do shell bash e também porque alguns aplicativos exigem o shell C para a finalidade de realizar tarefas de instalação. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2256]https://astron.com/pub/tcsh/tcsh-6.24.10.tar.gz * Transferência (FTP): [2257]ftp://ftp.astron.com/pub/tcsh/tcsh-6.24.10.tar.gz * Soma de verificação MD5 da transferência: 8fe4421f3cac3f230b3fe88df6ccff5f * Tamanho da transferência: 936 KB * Espaço em disco estimado exigido: 11 MB (com os testes) * Tempo de construção estimado: 0,2 UPC (com os testes) Instalação de Tcsh Instale Tcsh executando os seguintes comandos: ./configure --prefix=/usr && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install install.man && ln -v -sf tcsh /bin/csh && ln -v -sf tcsh.1 /usr/share/man/man1/csh.1 Explicações do Comando ln -v -sf tcsh /bin/csh: O FHS afirma que, se existir um shell C instalado, [então] deveria existir um link simbólico a partir de /bin/csh para ele. Isso cria esse link simbólico. Configurando Tcsh Arquivos de Configuração Existem numerosos arquivos de configuração para o shell C. Exemplos desses são /etc/csh.cshrc, /etc/csh.login, /etc/csh.logout, ~ /.tcshrc, ~/.cshrc, ~/.history, ~/.cshdirs, ~/. login e ~/.logout. Mais informação a respeito desses arquivos pode ser encontrada na página de manual tcsh(1). Informação de Configuração Atualize /etc/shells para incluir os nomes do aplicativo shell C (como o(a) usuário(a) root): cat >> /etc/shells << "EOF" /bin/tcsh /bin/csh EOF O seguinte ~/.cshrc fornece dois prompts de cores alternativas e saída gerada ls colorida. Se você preferir uma modificação global, [então] emita o comando como o(a) usuário(a) root, substituindo ~/.cshrc por /etc/csh.cshrc. cat > ~/.cshrc << "EOF" # Original em: # https://www.cs.umd.edu/~srhuang/teaching/code_snippets/prompt_color.tcsh.html # Modificado pela Equipe de Desenvolvimento do BLFS. # Adicione estas linhas ao seu ~/.cshrc (ou ao /etc/csh.cshrc). # Cores! set red="%{\033[1;31m%}" set green="%{\033[0;32m%}" set yellow="%{\033[1;33m%}" set blue="%{\033[1;34m%}" set magenta="%{\033[1;35m%}" set cyan="%{\033[1;36m%}" set white="%{\033[0;37m%}" set end="%{\033[0m%}" # Isso é necessário no final ... # Configurando prompt atual. Duas versões para você tentar; escolha # qual você gosta mais e mude as cores que quiser. # Apenas não mexa com o cara ${end} em qualquer linha ... Comente ou # delete o prompt que não usar. set prompt="${green}%n${blue}@%m ${white}%~ ${green}%%${end} " set prompt="[${green}%n${blue}@%m ${white}%~ ]${end} " # Isto não estava na URL original acima # Fornece ls colorido alias ls ls --color=always # Limpar depois de nós mesmos ... unset red green yellow blue magenta cyan yellow white end EOF Conteúdo Aplicativo Instalado: tcsh Bibliotecas Instaladas: Nenhum(a) Diretório Instalado: Nenhum(a) Descrições Curtas tcsh é uma versão aprimorada, mas completamente compatível, do shell C do Unix da Berkeley, csh. É utilizável como um shell interativo e como um processador de script zsh-5.9 Introdução ao zsh O pacote zsh contém um interpretador de comandos (shell) utilizável como um shell de login interativo e como um processador de comando de script de shell. Dos shells padrão, o zsh é o que mais se assemelha ao ksh, mas inclui muitos aprimoramentos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2258]https://www.zsh.org/pub/zsh-5.9.tar.xz * Transferência (FTP): * Soma de verificação MD5: 182e37ca3fe3fa6a44f69ad462c5c30e * Tamanho da transferência: 3,2 MB * Espaço em disco estimado exigido: 48 MB (inclui documentação e testes) * Tempo de construção estimado: 1,6 UPC (Usando paralelismo=4; inclui documentação e testes) Transferências Adicionais * Documentação Opcional: [2259]https://www.zsh.org/pub/zsh-5.9-doc.tar.xz * Soma de verificação MD5 da documentação: 8db53446f613521fb4f9b0bd9f6adda1 * Tamanho da transferência da documentação: 3,0 MB Nota Quando existe um lançamento novo do zsh, os arquivos antigos mostrados acima são movidos para um novo diretório do servidor: [2260]https://www.zsh.org/pub/old/ . Dependências do zsh Opcionais [2261]PCRE-8.45 e [2262]Valgrind-3.21.0 Instalação do zsh Se você baixou a documentação opcional, desempacote-a com o seguinte comando: tar --strip-components=1 -xvf ../zsh-5.9-doc.tar.xz Instale zsh executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc/zsh \ --enable-etcdir=/etc/zsh \ --enable-cap \ --enable-gdbm && make && makeinfo Doc/zsh.texi --plaintext -o Doc/zsh.txt && makeinfo Doc/zsh.texi --html -o Doc/html && makeinfo Doc/zsh.texi --html --no-split --no-headers -o Doc/zsh.html Se você tiver [2263]texlive-20230313 instalado, [então] poderá construir o formato PDF da documentação emitindo o seguinte comando: texi2pdf Doc/zsh.texi -o Doc/zsh.pdf Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install && make infodir=/usr/share/info install.info && install -v -m755 -d /usr/share/doc/zsh-5.9/html && install -v -m644 Doc/html/* /usr/share/doc/zsh-5.9/html && install -v -m644 Doc/zsh.{html,txt} /usr/share/doc/zsh-5.9 Se você baixou a documentação opcional, instale-a emitindo os seguintes comandos como o(a) usuário(a) root: make htmldir=/usr/share/doc/zsh-5.9/html install.html && install -v -m644 Doc/zsh.dvi /usr/share/doc/zsh-5.9 Se você construiu o formato PDF da documentação, [então] instale-o emitindo o seguinte comando como o(a) usuário(a) root: install -v -m644 Doc/zsh.pdf /usr/share/doc/zsh-5.9 Explicações do Comando --sysconfdir=/etc/zsh e --enable-etcdir=/etc/zsh: Esses parâmetros são usados para que todos os arquivos de configuração do zsh sejam consolidados no diretório /etc/zsh. Omita esses parâmetros se você desejar manter a compatibilidade histórica tendo todos os arquivos localizados no diretório /etc. --enable-cap: Essa opção habilita os recursos POSIX. --enable-gdbm: Essa opção habilita o uso da biblioteca GDBM. --enable-pcre: Essa opção permite que o zsh use a biblioteca de expressões regulares PCRE em [comandos] integrados do shell. Configurando o zsh Arquivos de Configuração Existe toda uma série de arquivos de configuração para o zsh, incluindo /etc/zsh/zshenv, /etc/zsh/zprofile, /etc/zsh/zshrc, /etc/zsh/zlogin e /etc/zsh/zlogout. Você consegue encontrar mais informação a respeito deles nas páginas de manual zsh(1) e relacionadas. Na primeira vez que o zsh for executado, você será avisado(a) por mensagens com várias perguntas. As respostas serão usadas para criar um arquivo ~/.zshrc. Se desejar executar essas perguntas novamente, [então] execute zsh /usr/share/zsh/5.9/functions/zsh-newuser-install -f. Existem vários prompts avançados integrados. No shell zsh, inicie o suporte avançado de prompt com autoload -U promptinit e, em seguida, promptinit. Os nomes disponíveis de prompt são listados com prompt -l. Selecione um em particular com prompt . Exiba todos os prompts disponíveis com prompt -p. Exceto os comandos "list" e "display" acima, você consegue inserir os outros em ~/.zshrc para serem executados automaticamente na iniciação do shell, com o prompt que escolher. Informação de Configuração Atualize /etc/shells para incluir os nomes do aplicativo de shell zsh (como o(a) usuário(a) root): cat >> /etc/shells << "EOF" /bin/zsh EOF Conteúdo Aplicativos Instalados: zsh e zsh-5.9 (rigidamente vinculados entre eles) Bibliotecas Instaladas: Numerosos módulos auxiliares de plugin sob /usr/lib/zsh/5.9/ Diretórios Instalados: /usr/{lib,share}/zsh e /usr/share/doc/zsh-5.9 Descrições Curtas zsh é um shell que tem edição de linha de comando, correção ortográfica integrada, completamento programável de comando, funções de shell (com carregamento automático), um mecanismo de histórico e uma série de outros recursos Capítulo 8. Virtualização A virtualização permite executar um sistema operacional completo, ou máquina virtual ("VM"), dentro de outro ambiente operacional, como uma tarefa. Existem vários ambientes comerciais e de código aberto que, ou emulam outro processador, ou utilizam os recursos de virtualização de hardware do processador anfitrião. qemu-8.1.0 Introdução ao qemu qemu é uma solução completa de virtualização para Linux em hardware x86 contendo extensões de virtualização (Intel VT ou AMD-V). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2264]https://download.qemu.org/qemu-8.1.0.tar.xz * Transferência (FTP): * Soma de verificação MD5: 7dd9ff5a92cf81cfce6cda1f6e271f3a * Tamanho da transferência: 118 MB * Espaço em disco estimado exigido: 2,1 GB (366 MB instalado) * Tempo de construção estimado: 1,2 UPC (adicionar 0,8 UPC para testes, ambos usando paralelismo=4) Dependências do Qemu Exigidas [2265]GLib-2.76.4 Recomendadas [2266]alsa-lib-1.2.9, [2267]Libslirp-4.7.0 e [2268]SDL2-2.28.2 Opcionais Dependendo do sistema de som, vários pacotes em [2269]ALSA-1.2.7, [2270]Python-3.11.4, [2271]PulseAudio-16.1, [2272]BlueZ-5.68, [2273]cURL-8.2.1, [2274]Cyrus SASL-2.1.28, [2275]GnuTLS-3.8.1, [2276]GTK+-2.24.33, [2277]GTK+-3.24.38, [2278]libusb-1.0.26, [2279]libgcrypt-1.10.2, [2280]libssh2-1.11.0, [2281]LZO-2.10, [2282]Nettle-3.9.1, [2283]Mesa-23.1.6, [2284]VTE-0.72.2 ou [2285]Vte-0.28.2 e [2286]libcacard Opcionais (tempo de execução) [2287]Systemd-254 Opcional (para construir a documentação) [2288]sphinx_rtd_theme-1.2.2 Nota Esta lista de dependências opcionais não está completa. Veja-se a saída gerada de ./configure --help para uma lista mais completa. Observações de Editor(a): [2289]https://wiki.linuxfromscratch.org/blfs/wiki/qemu Prerrequisitos KVM Antes de construir o qemu, verifique para ver se o seu processador suporta a tecnologia de virtualização ("VT"): grep -E '^flags.*(vmx|svm)' /proc/cpuinfo Se obtiver alguma saída gerada, [então] você tem a tecnologia "VT" ("vmx" para processadores Intel e "svm" para processadores AMD). Você, então, precisa entrar no BIOS do seu sistema e garantir que ela esteja habilitada. Depois de habilitar, reinicialize de volta para sua instância LFS. Configuração do Núcleo Habilite as seguintes opções na configuração do núcleo e recompile o núcleo, se necessário: [*] Virtualization ---> [VIRTUALIZATION] <*/M> Kernel-based Virtual Machine (KVM) support [KVM] # Enable the option for your CPU: < /*/M> KVM for Intel (and compatible) processors support [KVM_INTEL] < /*/M> KVM for AMD processors support [KVM_AMD] As configurações Intel ou AMD não são ambas exigidas, mas a que corresponder ao processador do seu sistema é exigida. Para usar o dispositivo de rede de comunicação “bridge”, conforme explicado abaixo, verifique se [2290]bridge-utils-1.7.1 está instalado e se as seguintes opções na configuração do núcleo estão habilitadas: [*] Networking support ---> [NET] Networking options ---> <*/M> 802.1d Ethernet Bridging [BRIDGE] Device Drivers ---> [*] Network device support ---> [NETDEVICES] [*] Network core driver support [NET_CORE] <*/M> Universal TUN/TAP device driver support [TUN] Instalação do qemu A regra de udev do LFS permite somente que o(a) usuário(a) root, os(as) usuários(as) proprietários(as) de uma sessão local de login suportada pela dependência opcional de tempo de execução [2291]Systemd-254 ou os(as) usuários(as) no grupo kvm usem o dispositivo KVM. Como o(a) usuário(a) root, adicione quaisquer usuários(as) não root que poderiam usar o dispositivo KVM, mesmo sem o [2292]Systemd-254 instalado ou remotamente (por meio de uma conexão SSH), ao grupo kvm: usermod -a -G kvm Instale o qemu executando os seguintes comandos: Nota O qemu é capaz de executar muitos alvos. O processo de construção também é capaz de construir vários alvos de uma vez em uma lista delimitada por vírgulas atribuída a --target-list. Execute ./configure --help para obter uma lista completa dos alvos disponíveis. if [ $(uname -m) = i686 ]; then QEMU_ARCH=i386-softmmu else QEMU_ARCH=x86_64-softmmu fi mkdir -vp build && cd build && ../configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --target-list=$QEMU_ARCH \ --audio-drv-list=alsa \ --disable-pa \ --enable-slirp \ --docdir=/usr/share/doc/qemu-8.1.0 && unset QEMU_ARCH && make qemu usa ninja como um subprocesso ao construir. Para executar os testes, emita: ninja test. Um teste, bios-tables-test, é conhecido por falhar. Agora, como o(a) usuário(a) root: make install Mude as permissões e a propriedade de um script auxiliar, que é necessário ao usar o dispositivo de rede de comunicação “bridge” (veja-se abaixo). Novamente, como o(a) usuário(a) root, emita: Nota Você precisa adicionar quaisquer usuários(as) que possam usar o dispositivo de rede de intercomunicação “bridge” ao grupo kvm, mesmo se o [2293]Systemd-254 estiver instalado. chgrp kvm /usr/libexec/qemu-bridge-helper && chmod 4750 /usr/libexec/qemu-bridge-helper Nota Por conveniência, você possivelmente deseje criar um link simbólico para executar o aplicativo instalado. Por exemplo (como o(a) usuário(a) root): ln -sv qemu-system-`uname -m` /usr/bin/qemu Explicações do Comando --audio-drv-list=alsa --disable-pa: Essa chave configura o controlador de áudio para o ALSA. Veja-se abaixo para habilitar outros controladores de áudio. --enable-slurp: Essa chave força o sistema de construção a verificar [2294]Libslirp-4.7.0. Remova-a se você não precisar do suporte -netdev user. --audio-drv-list=pa --disable-alsa: Essa chave configura o controlador de áudio para o pulseaudio. Para outros controladores, vejam-se as opções da --audio-drv-list na saída gerada de ./configure --help. O controlador padrão de áudio é o OSS. Para habilitar o suporte para ambos, ALSA e pulseaudio, use --audio-drv-list=alsa,pa. Usando o Qemu Como usar o qemu significa usar um computador virtual, as etapas para configurar a máquina virtual estão em estreita analogia com aquelas para configurar um computador real. Você precisará decidir a respeito de CPU, memória, disco, dispositivos USB, placa(s) de rede de comunicação, tamanho da tela, etc. Assim que o “hardware” estiver decidido, você terá, por exemplo, de escolher como conectar a máquina à internet e(ou) instalar um sistema operacional. A seguir, mostramos maneiras básicas de realizar essas etapas. Porém, o qemu é muito mais que isso, e é fortemente aconselhado ler-se a documentação do qemu em /usr/share/doc/qemu-8.1.0/qemu-doc.html. Nota É uma prática padrão nomear o computador executando qemu como “anfitrião” e a máquina emulada executando sob qemu como “convidada”. Usaremos essas notações a seguir. Nota As instruções a seguir assumem que o link simbólico opcional, qemu, tenha sido criado. Além disso, o qemu deveria ser executado em um ambiente gráfico. Mas é possível usar o qemu “sem uma parte superior” ou via SSH. Veja-se a documentação para as várias possibilidades. Disco Um disco virtual pode ser configurado da seguinte maneira: VDISK_SIZE=50G VDISK_FILENAME=vdisk.img qemu-img create -f qcow2 $VDISK_FILENAME $VDISK_SIZE O tamanho do disco virtual e o nome do arquivo deveriam ser ajustados conforme desejado. O tamanho atual do arquivo estará menor que o especificado, mas será expandido conforme necessário, de forma que é seguro colocar um valor alto. Sistema Operacional Para instalar um sistema operacional, baixe uma imagem ISO a partir da sua distribuição preferida Linux. Para os propósitos deste exemplo, usaremos Fedora-16-x86_64-Live-LXDE.iso no diretório atual. Execute o seguinte: qemu -enable-kvm \ -drive file=$VDISK_FILENAME \ -cdrom Fedora-16-x86_64-Live-LXDE.iso \ -boot d \ -m 1G Siga os procedimentos normais de instalação para a distribuição escolhida. A opção -boot especifica a ordem de inicialização das unidades como uma sequência de caracteres de letras de unidades. As letras de unidade válidas são: a, b (disquete 1 e 2), c (primeiro disco rígido), d (primeiro CD-ROM). A opção -m é a quantidade de memória a usar para a máquina virtual. A escolha depende da carga do anfitrião. As distribuições modernas deveriam estar confortáveis com 1 GB. A opção -enable-kvm permite a aceleração de hardware. Sem essa chave, a emulação é muito mais lenta. Definindo o hardware virtual O hardware da máquina virtual é definido pela linha de comando do qemu. Um exemplo de comando é dado abaixo: qemu -enable-kvm \ -smp 4 \ -cpu host \ -m 1G \ -drive file=$VDISK_FILENAME \ -cdrom grub-img.iso \ -boot order=c,once=d,menu=on \ -net nic,netdev=net0 \ -netdev user,id=net0 \ -device ac97 \ -vga std \ -serial mon:stdio \ -name "fedora-16" Significado das opções da linha de comando -enable-kvm: habilita o suporte completo à virtualização KVM. Em alguns hardwares, possivelmente seja necessário adicionar a opção não documentada -machine smm=off para a finalidade de habilitar o KVM. -smp : habilita o multiprocessamento simétrico com CPUs. -cpu : simula a CPU . A lista dos modelos suportados pode ser obtida com -cpu help. -drive file=: define um disco virtual cuja imagem está armazenada em . -cdrom grub-img.iso: define um arquivo em formato ISO para usar como um CDROM. Aqui usamos um disco de resgate do GRUB, que pode ser útil quando algo der errado no momento da inicialização. -boot order=c,once=d,menu=on: define a ordem da inicialização para o BIOS virtual. -net nic,netdev=: define uma placa de rede de comunicação conectada ao dispositivo de rede de comunicação com id . -netdev user,id=: define o dispositivo do(a) “usuário(a)” da rede de comunicação. Essa é uma rede de comunicação local virtual com endereços 10.0.2.0/24, onde o anfitrião tem o endereço 10.0.2.2 e atua como um gateway para a Internet; e com um servidor de nomes no endereço 10.0.2.3 e um servidor SMB no endereço 10.0.2.4 . Um servidor DHCP integrado consegue alocar endereços entre 10.0.2.15 e 10.0.2.31. -soundhw : define o modelo da placa de som. A lista pode ser obtida com -soundhw help. -vga : define o tipo de placa VGA a emular. Para -vga std, se você estiver construindo um núcleo Linux para o convidado, é recomendado habilitar CONFIG_DRM_BOCHS (como parte do núcleo ou um módulo do núcleo) para controlar todos os recursos da placa VGA emulada e CONFIG_FB para exibir o console do Linux nela. Os outros valores não estão testados pelos(as) editores(as) e possivelmente exijam dependências adicionais. -serial mon:stdio: envia a porta serial do convidado (/dev/ttyS0 em convidados Linux), multiplexada com o monitor do qemu, para a entrada e saída padrão do processo do qemu. -name : configura o nome do convidado. Esse nome é exibido na legenda da janela do convidado. Possivelmente seja útil se você executar vários convidados ao mesmo tempo. -drive if=pflash,format=raw,readonly=on,file=/usr/share/qemu/edk2-x86_64-code. fd: Carrega um firmware EDK2 UEFI pré construído, em vez do BIOS padrão do PC. Use essa opção se você quiser inicializar o Sistema Operacional convidado com UEFI. -drive file=,if=virtio: Fornece interface Virtio para o núcleo do convidado para acessar a imagem do disco, em vez de simular um hardware real de disco. Isso pode melhorar o desempenho de Entrada/Saída do disco, mas exige um controlador Virtio no núcleo do convidado. Use-o em vez de um -drive simples se o núcleo do convidado suportar o Virtio. Para construir um núcleo Linux com suporte Virtio para o convidado, use make defconfig && make kvm_guest.config para criar uma configuração inicial do núcleo com os controladores Virtio habilitados, então faça sua personalização. E, se o núcleo do convidado for Linux, [então] os discos virtuais usando a interface Virtio serão nomeados vdx no devtmpfs, em vez de sdx. -net nic,netdev=net0,model=virtio-net-pci: Fornece interface Virtio para o núcleo do convidado para acessar a interface de rede de comunicação, em vez de simular uma placa real de interface de rede de comunicação. Isso pode melhorar o desempenho de Entrada/Saída da rede de comunicação, mas exige um controlador Virtio no núcleo do convidado. Use-o em vez de um -net simples se o núcleo do convidado suportar o Virtio. Controlando a Tela Emulada Para configurar a resolução da tela emulada para um servidor Xorg executando no sistema Linux convidado, leia-se [2295]“Configurações de Ajuste Fino de Exibição”. Rede de comunicação A solução acima para rede de comunicação permite que o convidado acesse a rede local de comunicação por meio do anfitrião (e possivelmente acesse a Internet por meio de roteadores locais), mas o inverso não é verdadeiro. Nem mesmo o anfitrião consegue acessar o convidado, a menos que o encaminhamento de porta esteja habilitado. E, no caso de vários convidados estiverem executando, eles não conseguirão se comunicarem uns com os outros. Outros dispositivos de rede de comunicação podem ser usados para esse propósito. Por exemplo, existe o dispositivo “socket”, que permite que vários convidados compartilhem uma rede virtual de comunicação comum. A seguir, descrevemos em mais detalhes como configurar o dispositivo “bridge”, que permite que os convidados apareçam como se estivessem conectados à rede local de comunicação. Todos os comandos abaixo deveriam ser executados como o(a) usuário(a) root. Permite que o anfitrião encaminhe pacotes IP: sysctl -w net.ipv4.ip_forward=1 Para tornar isso permanente, adicione o comando a /etc/sysctl.d/60-net-forward.conf: cat >> /etc/sysctl.d/60-net-forward.conf << EOF net.ipv4.ip_forward=1 EOF Apronte um arquivo exigido de configuração: install -vdm 755 /etc/qemu && echo allow br0 > /etc/qemu/bridge.conf Na linha de comando do qemu acima, substitua a chave -netdev user,... por -netdev bridge,.... Conteúdo Aplicativos Instalados: elf2dmp, qemu (link simbólico), qemu-edid, qemu-ga, qemu-img, qemu-io, qemu-keymap, qemu-nbd, qemu-pr-helper, qemu-storage-daemon e qemu-system- Biblioteca Instalada: Nenhum(a) Diretórios Instalados: /usr/share/qemu e /usr/share/doc/qemu-8.1.0 (opcional) Descrições Curtas elf2dmp Converte arquivos do formato elf para dmp qemu-edid é uma ferramenta de teste para o gerador EDID do qemu qemu-ga implementa suporte para comandos e eventos QMP (QEMU Monitor Protocol) que terminam e se originam, respectivamente, dentro do convidado usando um agente construído como parte do QEMU qemu-img fornece comandos para gerenciar imagens de disco do QEMU qemu-io é um aplicativo de diagnóstico e de manipulação para mídia (virtual) de memória. Ainda está em um estágio inicial de desenvolvimento qemu-keymap gera mapas de teclado reverso do qemu a partir de mapas de teclado do xkb, que podem ser usados com a chave de linha de comando "-k" do qemu qemu-nbd exporta imagens de disco do Qemu usando o protocolo QEMU Disk Network Block Device (NBD) qemu-pr-helper Implementa o auxiliar de reserva persistente para o QEMU qemu-storage-daemon permite modificar imagens de disco usando o QEMU Monitor Protocol (QMP) sem executar uma "VM" qemu-system-x86_64 é o emulador PC System do QEMU Parte III. Bibliotecas e Utilitários Gerais Capítulo 9. Bibliotecas Gerais As bibliotecas contém código que geralmente é exigido por mais que um aplicativo. Isso tem a vantagem de que cada aplicativo não precisa duplicar código (e arriscar-se a introduzir defeitos); apenas tem de chamar funções a partir das bibliotecas instaladas no sistema. O exemplo mais óbvio de um conjunto de bibliotecas é a Glibc que é instalado durante o livro LFS. Essa contém todas as funções da biblioteca C que os aplicativos usam. Existem dois tipos de bibliotecas: estáticas e compartilhadas. As bibliotecas compartilhadas (geralmente libXXX.so) são carregadas na memória a partir da cópia compartilhada em tempo de execução (daí o nome). As bibliotecas estáticas (libXXX.a) são na verdade vinculadas ao próprio arquivo executável do aplicativo, dessa forma tornando o arquivo do aplicativo maior. Muitas vezes, você encontrará cópias estáticas e compartilhadas da mesma biblioteca em seu sistema. Geralmente, você somente precisa instalar as bibliotecas quando estiver instalando o software que precisa da funcionalidade que elas fornecem. No livro BLFS, cada pacote é apresentado com uma lista de dependências (conhecidas). Assim, você consegue descobrir quais bibliotecas precisa ter antes de instalar esse aplicativo. Se você estiver instalando algo sem usar as instruções do BLFS, geralmente o arquivo README ou o INSTALL conterá detalhes dos requisitos do aplicativo. Existem certas bibliotecas que quase todos(as) precisarão em algum ponto. Neste capítulo, essas e algumas outras estão listadas e é explicado por que você possivelmente queira instalá-las. Apr-1.7.4 Introdução à Apr O Apache Portable Runtime (APR) é uma biblioteca de suporte para o servidor web Apache. Ela fornece um conjunto de interfaces de programação de aplicativos (APIs) que mapeiam para o sistema operacional (SO) subjacente. Onde o sistema operacional não suportar uma função específica, o APR fornecerá uma emulação. Assim, os(as) programadores(as) conseguem usar a APR para tornar um aplicativo portátil em diferentes plataformas. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2296]https://archive.apache.org/dist/apr/apr-1.7.4.tar.bz2 * Transferência (FTP): [2297]ftp://ftp.mirrorservice.org/sites/ftp.apache.org/apr/apr-1.7. 4.tar.bz2 * Soma de verificação MD5 da transferência: f8a62f3984898ba0ea8b6f26b851cb99 * Tamanho da transferência: 876 KB * Espaço em disco estimado exigido: 11 MB (adicionais 4 MB para os testes) * Tempo de construção estimado: 0,1 UPC (adicionar 1,4 UPC para testes) Instalação da APR Instale Apr executando os seguintes comandos: ./configure --prefix=/usr \ --disable-static \ --with-installbuilddir=/usr/share/apr-1/build && make Para testar os resultados, emita: make test. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativo Instalado: apr-1-config Biblioteca Instalada: libapr-1.so Diretórios Instalados: /usr/include/apr-1 e /usr/share/apr-1 Descrições Curtas apr-1-config é um script de shell usado para recuperar informação a respeito da biblioteca APR no sistema. É normalmente usado para compilar e vincular à biblioteca libapr-1.so é a biblioteca Apache Portable Runtime Apr-Util-1.6.3 Introdução à Apr Util A Apache Portable Runtime Utility Library fornece uma interface previsível e consistente para as interfaces subjacentes da biblioteca do cliente. Essa interface de programação de aplicativo garante comportamento previsível, se não idêntico, independentemente de quais bibliotecas estão disponíveis em uma determinada plataforma. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2298]https://archive.apache.org/dist/apr/apr-util-1.6.3.tar.bz2 * Transferência (FTP): [2299]ftp://ftp.mirrorservice.org/sites/ftp.apache.org/apr/apr-util -1.6.3.tar.bz2 * Soma de verificação MD5 da transferência: b6e8c9b31d938fe5797ceb0d1ff2eb69 * Tamanho da transferência: 423 KB * Espaço em disco estimado exigido: 7,6 MB (adicionar 1,4 MB para os testes) * Tempo de construção estimado: menos que 0,1 UPC (adicionar 0,3 UPC para os testes) Dependências da Apr Util Exigida [2300]Apr-1.7.4 Opcionais [2301]Base de Dados Berkeley-5.3.28, [2302]FreeTDS, [2303]MariaDB-10.11.4 ou [2304]MySQL, [2305]OpenLDAP-2.6.6, [2306]PostgreSQL-15.4, [2307]SQLite-3.42.0 e [2308]unixODBC-2.3.12 Instalação da Apr Util Instale a Apr Util executando os seguintes comandos: ./configure --prefix=/usr \ --with-apr=/usr \ --with-gdbm=/usr \ --with-openssl=/usr \ --with-crypto && make Para testar os resultados, emita: make -j1 test. Um teste, "testdbm", é conhecido por falhar. Agora, como o(a) usuário(a) root: make install Explicações do Comando --with-gdbm=/usr: Essa chave habilita o plugin apr_dbm_gdbm-1.so. --with-openssl=/usr --with-crypto: Essas chaves habilitam o plugin apr_crypto_openssl-1.so. --with-berkeley-db=/usr: se você tiver instalado [2309]Base de Dados Berkeley-5.3.28, [então] use essa chave para compilar o plugin apr_dbm_db-1.so. --with-ldap: se você tiver instalado [2310]OpenLDAP-2.6.6, [então] use essa chave para compilar o plugin apr_ldap.so. Conteúdo Aplicativo Instalado: apu-1-config Biblioteca Instalada: libaprutil-1.so Diretório Instalado: /usr/lib/apr-util-1 Descrições Curtas apu-1-config é um script APR-util projetado para permitir acesso fácil, via linha de comando, aos parâmetros de configuração do APR-util libaprutil-1.so contém funções que fornecem uma interface previsível e consistente para as interfaces subjacentes da biblioteca do cliente Aspell-0.60.8 Introdução a Aspell O pacote Aspell contém um aplicativo interativo de verificação ortográfica e as bibliotecas Aspell. Aspell pode, ou ser usado como uma biblioteca, ou como um verificador ortográfico independente. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2311]https://ftp.gnu.org/gnu/aspell/aspell-0.60.8.tar.gz * Transferência (FTP): [2312]ftp://ftp.gnu.org/gnu/aspell/aspell-0.60.8.tar.gz * Soma de verificação MD5 da transferência: 012fa9209203ae4e5a61c2a668fd10e3 * Tamanho da transferência: 3,3 MB * Espaço em disco estimado exigido: 51 MB ( 8 MB adicionais para o dicionário inglês) * Tempo de construção estimado: 0,4 UPC Transferências Adicionais Você precisará baixar pelo menos um dicionário. O dicionário do inglês é fornecido como um exemplo abaixo. Dicionários em muitos outros idiomas podem ser encontrados em [2313]https://ftp.gnu.org/gnu/aspell/dict. * Dicionário inglês do Aspell: [2314]https://ftp.gnu.org/gnu/aspell/dict/en/aspell6-en-2020.12.07- 0.tar.bz2 Dependências de Aspell Exigida [2315]Which-2.21 (para os dicionários) Instalação do Aspell Instale Aspell executando os seguintes comandos: ./configure --prefix=/usr && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install && ln -svfn aspell-0.60 /usr/lib/aspell && install -v -m755 -d /usr/share/doc/aspell-0.60.8/aspell{,-dev}.html && install -v -m644 manual/aspell.html/* \ /usr/share/doc/aspell-0.60.8/aspell.html && install -v -m644 manual/aspell-dev.html/* \ /usr/share/doc/aspell-0.60.8/aspell-dev.html Se você não planeja instalar Ispell, então copie o script amarrador ispell: install -v -m 755 scripts/ispell /usr/bin/ Se você não planeja instalar Spell, então copie o script amarrador spell: install -v -m 755 scripts/spell /usr/bin/ Explicações do Comando ln -svfn aspell-0.60 /usr/lib/aspell: Esse comando é útil para configuração de outros aplicativos, como [2316]enchant-2.5.0. Configurando Aspell Informação de Configuração Depois que Aspell estiver instalado, você precisa configurar pelo menos um dicionário. Instale o dicionário do inglês executando os seguintes comandos: tar xf ../aspell6-en-2020.12.07-0.tar.bz2 && cd aspell6-en-2020.12.07-0 && ./configure && make Agora, como o(a) usuário(a) root: make install Outros dicionários podem ser instalados com as mesmas instruções. Conteúdo Aplicativos Instalados: aspell, aspell-import, precat, preunzip, prezip, prezip-bin, pspell-config, run-with-aspell, word-list-compress e, opcionalmente, ispell e spell. Bibliotecas Instaladas: libaspell.so e libpspell.so Diretórios Instalados: /usr/include/pspell e /usr/lib/aspell-0.60 Descrições Curtas aspell é um utilitário que consegue funcionar como substituto do ispell -a, como um verificador ortográfico independente, como um utilitário de teste para testar os recursos do Aspell e como um utilitário para gerenciar dicionários ispell é um amarrador em torno de aspell para invocá-lo no modo compatível com ispell spell é um amarrador em torno de aspell para invocá-lo no modo compatível com spell aspell-import importa dicionários pessoais antigos para Aspell precat descomprime um arquivo prezip para a saída gerada padrão preunzip descomprime um arquivo prezip prezip é um compressor de prefixo delta, usado para comprimir listas de palavras classificadas ou outros arquivos de texto semelhantes prezip-bin é chamado pelos vários scripts amarradores para realizar a atual compressão e descompressão pspell-config exibe informação a respeito da instalação do libpspell, principalmente para uso em scripts de construção run-with-aspell é um script para ajudar a usar Aspell como substituto de ispell word-list-compress comprime ou descomprime listas de palavras classificadas para uso com o verificador ortográfico Aspell libaspell.so contém funções da API de verificação ortográfica libpspell.so é uma interface para a biblioteca libaspell. Toda a funcionalidade de verificação ortográfica agora está em libaspell, mas essa biblioteca está incluída para compatibilidade com versões anteriores Boost-1.83.0 Introdução a Boost O Boost fornece um conjunto de bibliotecas gratuitas de fonte C++ portáteis revisadas por pares. Inclui bibliotecas para álgebra linear, geração de números pseudo-aleatórios, multi encadeamento, processamento de imagens, expressões regulares e testes de unidade. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2317]https://boostorg.jfrog.io/artifactory/main/release/1.83.0/sou rce/boost_1_83_0.tar.bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: 406f0b870182b4eb17a23a9d8fce967d * Tamanho da transferência: 117 MB * Espaço em disco estimado exigido: 1,1 GB (199 MB instalado) * Tempo de construção estimado: 2,8 UPC (Usando paralelismo=4; adicionar 0,7 UPC para testes) Dependências de Boost Recomendada [2318]Which-2.21 Opcionais [2319]ICU-73.2 e [2320]Open MPI Observações de Editor(a): [2321]https://wiki.linuxfromscratch.org/blfs/wiki/boost Instalação de Boost Uma mudança nesta versão do boost quebra os poucos pacotes que usam o módulo phoenix quando compilados com o GCC atual. No BLFS, isso afeta [2322]LibreOffice-7.6.0.3. Corrija isso com o seguinte comando: sed -i '/#include.*phoenix.*tuple.hpp.*/d' \ boost/phoenix/stl.hpp Esse pacote pode ser construído com vários trabalhos executando em paralelo. Nas instruções abaixo, representa o número de trabalhos. Instale o Boost executando os seguintes comandos: ./bootstrap.sh --prefix=/usr --with-python=python3 && ./b2 stage -j threading=multi link=shared Para executar os testes de regressão do Boost.Build, emita pushd tools/build/test; python3 test_all.py; popd. Para executar cada um dos testes de regressão da biblioteca, emita pushd status; ../b2; popd. Uns poucos testes possivelmente falhem. Eles tomam um tempo muito longo (mais que 119 UPC em -j4) e usam uma quantidade muito grande de espaço em disco (46 GB). Você deveria usar a chave -jN para acelerá-los. Nota O Boost instala muitos diretórios versionados em /usr/lib/cmake. Se uma nova versão do Boost for instalada sobre uma versão anterior, [então] os diretórios do cmake mais antigos precisam ser explicitamente removidos. Para fazer isso, execute como o(a) usuário(a) root: rm -rf /usr/lib/cmake/[Bb]oost* antes de instalar a nova versão. Agora, como o(a) usuário(a) root: ./b2 install threading=multi link=shared Explicações do Comando sed -i '/#include ...: Isso remove a inclusão de boost/phoenix/stl/tuple.hpp dessa biblioteca somente de cabeçalho, permitindo que aplicativos que a usam se vincularem usando C++ recente. Uma alternativa é a de editar /usr/include/boost/phoenix/stl.hpp se essa versão do "boost" já tiver sido instalada sem esse sed. threading=multi: Esse parâmetro garante que Boost seja construído com suporte a multi encadeamento. link=shared: Esse parâmetro garante que somente bibliotecas compartilhadas sejam criadas, exceto "libboost_exception" e "libboost_test_exec_monitor" que são criadas como estáticas. A maioria das pessoas não precisará das bibliotecas estáticas, e a maioria dos aplicativos que usam o Boost usa somente os cabeçalhos. Omita esse parâmetro se precisar das bibliotecas estáticas. --with-python=python3: Essa chave garante que o "Python3" seja usado se o "Python2" estiver instalado. -jN: Essa chave pode ser adicionada às linhas de comando b2, para executar até N processos em paralelo. Conteúdo Aplicativos Instalados: Nenhum Bibliotecas Instaladas: libboost_atomic.so, libboost_chrono.so, libboost_container.so, libboost_context.so, libboost_contract.so, libboost_coroutine.so, libboost_date_time.so, libboost_exception.a, libboost_fiber.so, libboost_filesystem.so, libboost_graph.so, libboost_iostreams.so, libboost_json.so, libboost_locale.so, libboost_log_setup.so, libboost_log.so, libboost_math_c99.so, libboost_math_c99f.so, libboost_math_c99l.so, libboost_math_tr1.so, libboost_math_tr1f.so, libboost_math_tr1l.so, libboost_nowide.so, libboost_numpy311.so, libboost_prg_exec_monitor.so, libboost_program_options.so, libboost_python311.so, libboost_random.so, libboost_regex.so, libboost_serialization.so, libboost_stacktrace_addr2line.so, libboost_stacktrace_basic.so, libboost_stacktrace_noop.so, libboost_system.so, libboost_test_exec_monitor.a, libboost_thread.so, libboost_timer.so, libboost_type_erasure.so, libboost_unit_test_framework.so, libboost_url.so, libboost_wave.so e libboost_wserialization.so Diretório Instalado: /usr/include/boost brotli-1.0.9 Introdução ao Brotli Brotli fornece um algoritmo de compressão sem perdas de propósito geral que comprime dados usando uma combinação de uma variante moderna do algoritmo LZ77, codificação Huffman e modelagem de contexto de segunda ordem. As bibliotecas dele são usadas principalmente para fontes WOFF2 em páginas da web. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2323]https://github.com/google/brotli/archive/v1.0.9/brotli-1.0.9. tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: c2274f0c7af8470ad514637c35bcee7d * Tamanho da transferência: 476 KB * Espaço em disco estimado exigido: 24 MB (com vinculações python3) * Tempo de construção estimado: 0,4 UPC (com ligações python3) Dependências do Brotli Recomendadas [2324]CMake-3.27.2 Instalação do Brotli Primeiro, corrija um problema nos arquivos pkg-config: sed -i 's@-R..libdir.@@' scripts/*.pc.in Instale o brotli executando os seguintes comandos: mkdir out && cd out && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ .. && make Para testar os resultados, emita: make test. Agora, como o(a) usuário(a) root: make install && cd .. Se desejado, construa e instale as ligações Python3 como o(a) usuário(a) root: pip3 wheel -w dist --no-build-isolation --no-deps $PWD && pip3 install --no-index --find-links dist --no-cache-dir --no-user Brotli Conteúdo Aplicativos Instalados: brotli Bibliotecas Instaladas: libbrotlicommon{-static.a,.so}, libbrotlidec{,-static.a,.so} e libbrotlienc{,-static.a,.so} Diretórios Instalados: /usr/include/brotli e /usr/lib/python3.11/site-packages/Brotli-1.0.9.dist-info (se você construiu e instalou as ligações Python3) Descrições Curtas brotli consegue comprimir ou descomprimir arquivos ou testar a integridade de arquivos comprimidos libbrotlicommon{-static.a,.so} é a biblioteca de dicionário comum Brotli libbrotlidec{-static.a,.so} é a biblioteca do decodificador Brotli libbrotlienc{-static.a,.so} é a biblioteca do codificador comum Brotli CLucene-2.3.3.4 Introdução a CLucene CLucene é uma versão C++ do Lucene, um mecanismo de pesquisa de texto de alto desempenho. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2325]https://downloads.sourceforge.net/clucene/clucene-core-2.3.3. 4.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 48d647fbd8ef8889e5a7f422c1bfda94 * Tamanho da transferência: 2,2 MB * Espaço em disco estimado exigido: 78 MB * Tempo de construção estimado: 0,8 UPC Transferências Adicionais * Remendo exigido: [2326]https://www.linuxfromscratch.org/patches/blfs/12.0/clucene-2. 3.3.4-contribs_lib-1.patch Dependências de CLucene Exigida [2327]CMake-3.27.2 Recomendada [2328]Boost-1.83.0 Instalação de CLucene Instale CLucene executando os seguintes comandos: patch -Np1 -i ../clucene-2.3.3.4-contribs_lib-1.patch && sed -i '/Misc.h/a #include ' src/core/CLucene/document/DateTools.cpp && mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DBUILD_CONTRIBS_LIB=ON .. && make Agora, como o(a) usuário(a) root: make install Explicações do Comando -DBUILD_CONTRIBS_LIB=ON: Essa variável cmake habilita construir a biblioteca contribs do CLucene necessária para executar aplicativos que usam analisadores específicos de texto de idioma como o LibreOffice, por exemplo. Conteúdo Aplicativos Instalados: Nenhum Bibliotecas Instaladas: libclucene-contribs-lib.so, libclucene-core.so e libclucene-shared.so Diretórios Instalados: /usr/include/CLucene e /usr/lib/CLuceneConfig.cmake dbus-glib-0.112 Introdução à GLib do D-Bus O pacote D-Bus GLib contém interfaces GLib para a API D-Bus. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2329]https://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-0.1 12.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 021e6c8a288df02c227e4aafbf7e7527 * Tamanho da transferência: 700 KB * Espaço em disco estimado exigido: 12 MB (com os testes) * Tempo de construção estimado: 0,1 UPC (com os testes) Dependências da GLib do D-Bus Exigidas [2330]dbus-1.14.8 e [2331]GLib-2.76.4 Opcionais [2332]GTK-Doc-1.33.2 Instalação da GLib do D-Bus Instale D-Bus GLib executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc \ --disable-static && make Para testar os resultados, emita: make check. Observe que testes mais abrangentes podem ser executados seguindo o mesmo método usado nas instruções do D-Bus, o que exige construir o pacote duas vezes. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --enable-gtk-doc: Use esse parâmetro se GTK-Doc estiver instalado e você desejar reconstruir e instalar a documentação da API. Conteúdo Aplicativo Instalado: dbus-binding-tool Biblioteca Instalada: libdbus-glib-1.so Diretórios Instalados: /usr/share/gtk-doc/html/dbus-glib Descrições Curtas dbus-binding-tool é uma ferramenta usada para interagir com a API do D-Bus libdbus-glib-1.so contém funções de interface GLib para a API do D-Bus Double-conversion-3.3.0 Introdução a Double-conversion O pacote Double-conversion contém uma biblioteca que facilita as rotinas binário-para-decimal e decimal-para-binário para duplos IEEE. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2333]https://github.com/google/double-conversion/archive/v3.3.0/do uble-conversion-3.3.0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: b344abb64084a4a1d98a43e67752989b * Tamanho da transferência: 6,7 MB * Espaço em disco estimado exigido: 62 MB (com testes) * Tempo de construção estimado: 0,1 UPC (com os testes) Dependências de Double-conversion Exigida [2334]CMake-3.27.2 Instalação de Double-conversion Instale Double-conversion executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DBUILD_SHARED_LIBS=ON \ -DBUILD_TESTING=ON \ .. && make Para testar os resultados, emita: make test. Agora, como o(a) usuário(a) root: make install Explicações do Comando -DBUILD_SHARED_LIBS=ON: Essa chave força o cmake a construir uma versão compartilhada da biblioteca em vez da versão estática. -DBUILD_TESTING=ON: Essa chave constrói os aplicativos de teste. Conteúdo Aplicativos Instalados: Nenhum Bibliotecas Instaladas: libdouble-conversion.so Diretórios Instalados: /usr/include/double-conversion Descrições Curtas libdouble-conversion.so fornece rotinas binário-para-decimal e decimal-para-binário para duplos IEEE duktape-2.7.0 Introdução a duktape duktape é um mecanismo embutível Javascript, com foco em portabilidade e pegada compacta. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2335]https://duktape.org/duktape-2.7.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: b3200b02ab80125b694bae887d7c1ca6 * Tamanho da transferência: 1003 KB * Espaço em disco estimado exigido: 25 MB * Tempo de construção estimado: 0,3 UPC Instalação de duktape Instale duktape executando os seguintes comandos: sed -i 's/-Os/-O2/' Makefile.sharedlibrary make -f Makefile.sharedlibrary INSTALL_PREFIX=/usr Agora, como o(a) usuário(a) root: make -f Makefile.sharedlibrary INSTALL_PREFIX=/usr install Conteúdo Aplicativos Instalados: Nenhum Bibliotecas Instaladas: libduktape.so e libduktaped.so Diretórios Instalados: Nenhum Descrições Curtas libduktape.so é um mecanismo embutível Javascript enchant-2.5.0 Introdução a enchant O pacote enchant fornece uma interface genérica para várias bibliotecas existentes de verificação ortográfica. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2336]https://github.com/AbiWord/enchant/releases/download/v2.5.0/e nchant-2.5.0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 3cbf29a5d7f31107adb4e584e0bdfebb * Tamanho da transferência: 967 KB * Espaço em disco estimado exigido: 7,3 MB (adicionar 64 MB para testes) * Tempo de construção estimado: 0,1 UPC (adicionar 0,7 UPC para testes) Dependências de enchant Exigida [2337]GLib-2.76.4 Recomendada [2338]Aspell-0.60.8 Opcionais [2339]dbus-glib-0.112, [2340]Doxygen-1.9.7, [2341]Hspell, [2342]Hunspell, [2343]Nuspell, [2344]Voikko e [2345]unittest-cpp (exigido para os testes) Instalação de enchant Instale enchant executando os seguintes comandos: ./configure --prefix=/usr \ --disable-static \ --docdir /usr/share/doc/enchant-2.5.0 && make Para executar os testes, unittest-cpp precisa ser instalado e a opção --enable-relocatable passada para o "configure" acima. Se essas condições estiverem presentes, [então] os testes podem ser executados com make check. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Configurando enchant Arquivos de Configuração ~/.enchant e /usr/share/enchant/enchant.ordering Informação de Configuração Você consegue testar sua instalação e configuração criando um arquivo de teste e executando os seguintes comandos (você pode substituir o dicionário en_GB por qualquer outro baixado ao instalar [2346]Aspell-0.60.8): cat > /tmp/test-enchant.txt << "EOF" Tel me more abot linux Ther ar so many commads EOF enchant-2 -d en_GB -l /tmp/test-enchant.txt && enchant-2 -d en_GB -a /tmp/test-enchant.txt Você verá uma lista de palavras com erros ortográficos seguida por uma lista de alternativas para elas. Veja mais detalhes na página de manual do "enchant". Conteúdo Aplicativos Instalados: enchant-2 e enchant-lsmod-2 Bibliotecas Instaladas: libenchant-2.so Diretórios Instalados: /usr/include/enchant-2, /usr/lib/enchant-2, /usr/share/enchant e /usr/share/doc/enchant-2.5.0 Descrições Curtas enchant-2 é um verificador ortográfico enchant-lsmod-2 lista estruturas de retaguarda, idiomas e dicionários disponíveis libenchant-2.so contém funções da API da interface de verificação ortográfica Exempi-2.6.4 Introdução a Exempi Exempi é uma implementação do XMP (Extensible Metadata Platform da Adobe). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2347]https://libopenraw.freedesktop.org/download/exempi-2.6.4.tar. xz * Transferência (FTP): * Soma de verificação MD5 da transferência: c2bd12b5773f35c3832dcd1169fac3dc * Tamanho da transferência: 2,7 MB * Espaço em disco estimado exigido: 288 MB (adicionar 236 MB para testes) * Tempo de construção estimado: 0,4 UPC (adicionar 0,6 UPC para testes; ambos usando paralelismo=4) Dependências de Exempi Exigida [2348]Boost-1.83.0 Opcionais [2349]Valgrind-3.21.0 Instalação de Exempi Se você pretende executar os testes de regressão, [então] primeiro remova um teste que depende de um SDK da Adobe aparentemente proprietário: sed -i -r '/^\s?testadobesdk/d' exempi/Makefile.am && autoreconf -fiv Instale Exempi executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativo Instalado: exempi Biblioteca Instalada: libexempi.so Diretório Instalado: /usr/include/exempi-2.0 Descrições Curtas exempi é uma ferramenta de linha de comando para manipular metadados XMP libexempi.so é uma biblioteca usada para analisar os metadados XMP fftw-3.3.10 Introdução a fftw FFTW é uma biblioteca de sub-rotina C para calcular a transformada discreta de Fourier (DFT) em uma ou mais dimensões, de tamanho arbitrário de entrada gerada e de dados reais e complexos (bem como de dados pares/ímpares, ou seja, as transformações discretas de cosseno/seno ou DCT/DST). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2350]https://www.fftw.org/fftw-3.3.10.tar.gz * Transferência (FTP): [2351]ftp://ftp.fftw.org/pub/fftw/fftw-3.3.10.tar.gz * Soma de verificação MD5 da transferência: 8ccbf6a5ea78a16dbc3e1306e234cc5c * Tamanho da transferência: 4,0 MB * Espaço em disco estimado exigido: 59 MB * Tempo de construção estimado: 1,6 UPC (adicionar 3,4 UPC para os testes, ambos usando paralelismo=4) Instalação da fftw Nota Construímos a fftw três vezes para diferentes bibliotecas em diferentes precisões numéricas: o ponto flutuante de precisão dupla padrão, a versão mais antiga de 32 bits (precisão única) chamada "float", que sacrifica a precisão pela velocidade, e o duplo longo, que oferece maior precisão ao custo de execução mais lenta. A primeira construção é para aritmética de precisão dupla. Instale a fftw executando os seguintes comandos: ./configure --prefix=/usr \ --enable-shared \ --disable-static \ --enable-threads \ --enable-sse2 \ --enable-avx \ --enable-avx2 && make Para testar os resultados, emita: make check. Em sistemas de 32 bits, os testes podem tomar substancialmente mais tempo que tomaria em máquinas de 64 bits. Agora, como o(a) usuário(a) root: make install Agora construa precisão única: make clean && ./configure --prefix=/usr \ --enable-shared \ --disable-static \ --enable-threads \ --enable-sse2 \ --enable-avx \ --enable-avx2 \ --enable-float && make Como o(a) usuário(a) root: make install Finalmente, construa precisão dupla longa: make clean && ./configure --prefix=/usr \ --enable-shared \ --disable-static \ --enable-threads \ --enable-long-double && make Como o(a) usuário(a) root: make install Explicações do Comando --enable-shared --disable-static: Use bibliotecas compartilhadas em vez de bibliotecas estáticas. --enable-threads: Isso habilita libfftw3_threads.so para ser compilada. Ela é usada, por exemplo, pelo plugin gimp proveniente de [2352]G'MIC. --enable-{sse2,avx,avx2}: Essas habilitam construir as rotinas otimizadas usando instruções SSE2, AVX e AVX2. O FFTW verificará se essas rotinas podem realmente ser usadas na CPU atual quando a biblioteca FFTW for carregada, de forma que uma construção da FFTW com essas rotinas habilitadas ainda possa ser executada em uma CPU sem SSE2, AVX ou AVX512. Essas opções não são compatíveis com --enable-long-double. --enable-float: Isso habilita construir a biblioteca que usa aritmética de ponto flutuante de precisão simples. É mais rápido, mas menos preciso que a biblioteca padrão de precisão dupla. A biblioteca será chamada libfftw3f.so necessária para [2353]PulseAudio-16.1. --enable-long-double: Isso habilita construir a biblioteca que usa aritmética de ponto flutuante longa-dupla de maior precisão. A biblioteca será chamada libfftw3l.so. --enable-avx512: Isso habilita construir as rotinas otimizadas usando instruções AVX512F. O FFTW verificará se essas rotinas podem realmente ser usadas na CPU atual quando a biblioteca FFTW for carregada, de forma que uma construção da FFTW com essas rotinas habilitadas ainda possa ser executada em uma CPU sem o AVX512F. Use essa opção se a construção da FFTW for usada em uma CPU com AVX512F. Essa opção não é compatível com --enable-long-double. Conteúdo Aplicativos Instalados: fftw-wisdom e fftw-wisdom-to-conf Bibliotecas Instaladas: libfftw3.so, libfftw3_threads.so, libfftw3f.so, libfftw3f_threads.so, libfftw3l.so e libfftw3l_threads.so Diretórios Instalados: Nenhum Descrições Curtas fftw-wisdom é um utilitário para gerar arquivos de sabedoria FFTW, que contém informação salva a respeito do como otimizadamente calcular transformações (Fourier) de vários tamanhos fftw-wisdom-to-conf é um utilitário para gerar rotinas de configuração C a partir de arquivos de sabedoria FFTW, onde os últimos contém informação salva a respeito do como otimizadamente calcular transformações (Fourier) de vários tamanhos libfftw3.so é a biblioteca Fast Fourier Transform libfftw3_threads.so é a biblioteca encadeada Fast Fourier Transform libfftw3f.so é a biblioteca Fast Fourier Transform de precisão simples, descrita como “float” por razões históricas libfftw3f_threads.so é a biblioteca encadeada de precisão simples Fast Fourier Transform libfftw3l.so é a biblioteca longa dupla Fast Fourier Transform libfftw3l_threads.so é a biblioteca encadeada longa dupla Fast Fourier Transform GLib-2.76.4 Introdução a GLib O pacote GLib contém bibliotecas de baixo nível úteis para fornecer manipulação de estrutura de dados para C, amarradores de portabilidade e interfaces para funcionalidades em tempo de execução, como um loop de eventos, camadas, carregamento dinâmico e um sistema de objetos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2354]https://download.gnome.org/sources/glib/2.76/glib-2.76.4.tar. xz * Transferência (FTP): [2355]ftp://ftp.acc.umu.se/pub/gnome/sources/glib/2.76/glib-2.76.4. tar.xz * Soma de verificação MD5 da transferência: b0df5864ec08248e79c13f71a717aa03 * Tamanho da transferência: 5,0 MB * Espaço em disco estimado exigido: 150 MB (com testes) * Tempo de construção estimado: 0,7 UPC (adicionar 0,4 UPC para testes; ambos usando paralelismo=4) Transferências Adicionais * Remendo opcional: [2356]https://www.linuxfromscratch.org/patches/blfs/12.0/glib-skip_ warnings-1.patch Dependências de GLib Recomendada [2357]libxslt-1.1.38 e [2358]pcre2-10.42 Opcionais [2359]dbus-1.14.8 (para alguns testes), [2360]Fuse-3.16.1 e [2361]bindfs (ambos necessários para um teste), [2362]GDB-13.2 (para vinculações), [2363]docbook-xml-4.5, [2364]docbook-xsl-nons-1.79.2, [2365]GTK-Doc-1.33.2 (para construir a documentação da API), [2366]glib-networking-2.76.1 (para alguns testes, porém isso é uma dependência circular) e [2367]sysprof-3.48.0 Dependências Adicionais de Tempo de Execução [2368]gobject-introspection-1.76.1 (deveria ser instalado antes de gtk+, atk, etc.) Citado diretamente do arquivo INSTALL: “Algumas das funcionalidades relacionadas ao tipo mime no GIO exigem os utilitários update-mime-database e update-desktop-database”, os quais são parte de [2369]shared-mime-info-2.2 e [2370]desktop-file-utils-0.26, respectivamente. Esses dois utilitários também são necessários para alguns testes. Instalação de GLib Se desejado, aplique o remendo opcional. Em muitos casos, os aplicativos que usam essa biblioteca, direta ou indiretamente, por meio de outras bibliotecas, tais como [2371]GTK+-3.24.38, emitem numerosos avisos quando executados a partir da linha de comando. Esse remendo habilita o uso de uma variável de ambiente, GLIB_LOG_LEVEL, que suprime mensagens indesejadas. O valor da variável é um dígito que corresponde a: 1 Alerta 2 Crítico 3 Erro 4 Aviso 5 Informe Por exemplo, export GLIB_LOG_LEVEL=4 pulará a saída gerada de mensagens Warning e Notice (e mensagens de Informação/Depuração se estiverem ativadas). Se GLIB_LOG_LEVEL não estiver definida, a saída gerada normal de mensagem não será afetada. patch -Np1 -i ../glib-skip_warnings-1.patch Atenção Se uma versão anterior da glib estiver instalada, [então] mova os cabeçalhos para fora do caminho, de modo que os pacotes posteriores não encontrem conflitos: if [ -e /usr/include/glib-2.0 ]; then rm -rf /usr/include/glib-2.0.old && mv -vf /usr/include/glib-2.0{,.old} fi Instale GLib executando os seguintes comandos: mkdir build && cd build && meson setup .. \ --prefix=/usr \ --buildtype=release \ -Dman=true && ninja Nota Se [2372]libxslt-1.1.38 estiver instalado, [então] o comando acima possivelmente indique vários (cerca de 33) erros que começam com "Error: no ID for constraint linkend:" ao gerar as páginas de manual. Esses são inofensivos. A suíte de teste da GLib exige desktop-file-utils para alguns testes. No entanto, desktop-file-utils exige a GLib para a finalidade de compilar; portanto, você precisa primeiro instalar a GLib e então executar a suíte de teste. Agora, como o(a) usuário(a) root: ninja install && mkdir -p /usr/share/doc/glib-2.76.4 && cp -r ../docs/reference/{gio,glib,gobject} /usr/share/doc/glib-2.76.4 Você deveria agora instalar [2373]desktop-file-utils-0.26 e [2374]shared-mime-info-2.2 e proceder à execução da suíte de teste. Atenção Não execute a suíte de teste como root ou alguns testes falharão inesperadamente e deixarão alguns diretórios não compatíveis com FHS na hierarquia /usr. Para testar os resultados, depois de ter instalado o pacote, emita: LC_ALL=C ninja test como um(a) usuário(a) não root. Um teste chamado glib:gio / file é conhecido por falhar. Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dman=true: Essa chave faz com que a construção crie e instale as páginas de manual do pacote. -Dgtk_doc=true: Essa chave faz com que a construção crie e instale a documentação da API. Conteúdo Aplicativos Instalados: gapplication, gdbus, gdbus-codegen, gio, gio-querymodules, glib-compile-resources, glib-compile-schemas, glib-genmarshal, glib-gettextize, glib-mkenums, gobject-query, gresource, gsettings, gtester e gtester-report Bibliotecas Instaladas: libgio-2.0.so, libglib-2.0.so, libgmodule-2.0.so, libgobject-2.0.so e libgthread-2.0.so Diretórios Instalados: /usr/include/gio-unix-2.0, /usr/include/glib-2.0, /usr/lib/gio, /usr/lib/glib-2.0, /usr/share/glib-2.0, /usr/share/doc/{glib-2.0,glib-2.76.4} e /usr/share/gtk-doc/html/{gio,glib,gobject} (opcional) Descrições Curtas gapplication pode ser usado para iniciar aplicativos e para enviar mensagens para instâncias já em execução de outros aplicativos gdbus é uma ferramenta simples usada para trabalhar com objetos D-Bus gdbus-codegen é usado para gerar código e (ou) documentação para uma ou mais interfaces D-Bus gio é um utilitário que torna muitos recursos do GIO disponíveis a partir da linha de comando gio-querymodules é usado para criar um arquivo giomodule.cache nos diretórios listados. Esse arquivo lista os pontos implementados de extensão para cada módulo que tenha sido encontrado glib-compile-resources é usado para ler a descrição do recurso a partir de um arquivo e os arquivos aos quais ele referencia para criar um pacote binário de recurso que seja adequado para uso com a API GResource glib-compile-schemas é usado para compilar todos os arquivos de esquema XML do GSettings em um diretório para um arquivo binário com o nome gschemas.compiled que pode ser usado pelo GSettings glib-genmarshal é um utilitário de geração de código marechal C para encerramentos GLib glib-gettextize é uma variante do utilitário de internacionalização gettext glib-mkenums é um utilitário de geração de descrição de enumeração em linguagem C gobject-query é um pequeno utilitário que desenha uma árvore de tipos gresource oferece uma interface simples de linha de comando para GResource gsettings oferece uma interface simples de linha de comando para GSettings gtester é um utilitário de execução de teste gtester-report é um utilitário de formatação de informe de teste Bibliotecas GLib contém bibliotecas centrais de baixo nível para o kit de ferramentas GIMP GLibmm-2.66.5 Introdução ao GLibmm O pacote GLibmm é um conjunto de ligações C++ para a GLib. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2375]https://download.gnome.org/sources/glibmm/2.66/glibmm-2.66.5. tar.xz * Transferência (FTP): [2376]ftp://ftp.acc.umu.se/pub/gnome/sources/glibmm/2.66/glibmm-2.6 6.5.tar.xz * Soma de verificação MD5 da transferência: b6c2c8ba36abf6c5e43cee459a74b8a1 * Tamanho da transferência: 7,3 MB * Espaço em disco estimado exigido: 80 MB (com os testes) * Tempo de construção estimado: 0,5 UPC (Usando paralelismo=4; com os testes) Dependências do GLibmm Exigidas [2377]GLib-2.76.4 e [2378]libsigc++-2.12.0 Opcionais [2379]Doxygen-1.9.7, [2380]glib-networking-2.76.1 (para os testes), [2381]GnuTLS-3.8.1 (para os testes), [2382]libxslt-1.1.38 e [2383]mm-common Instalação do GLibmm Instale o GLibmm executando os seguintes comandos: mkdir bld && cd bld && meson setup --prefix=/usr --buildtype=release .. && ninja Para testar os resultados, emita: ninja test. Agora, como o(a) usuário(a) root: ninja install Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libgiomm-2.4.so, libglibmm-2.4.so e libglibmm_generate_extra_defs-2.4.so Diretórios Instalados: /usr/lib/g{io,lib}mm-2.4 e /usr/include/g{io,lib}mm-2.4 Descrições Curtas libgiomm-2.4.so contém as classes da API do GIO libglibmm-2.4.so contém as classes da API da GLib GMime-3.2.7 Introdução a GMime O pacote GMime contém um conjunto de utilitários para analisar e criar mensagens usando o Multipurpose Internet Mail Extension (MIME), conforme definido pelos RFCs aplicáveis. Veja-se o [2384]website do GMime para os RFCs fornecidos. Isso é útil, pois fornece uma API que adere à especificação MIME o mais próximo possível, além de fornecer a programadores(as) uma interface extremamente fácil de usar para as funções da API. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2385]https://download.gnome.org/sources/gmime/3.2/gmime-3.2.7.tar. xz * Transferência (FTP): [2386]ftp://ftp.acc.umu.se/pub/gnome/sources/gmime/3.2/gmime-3.2.7. tar.xz * Soma de verificação MD5 da transferência: 7ecd9aa75e0cd2e8668206b1d53df874 * Tamanho da transferência: 2,1 MB * Espaço em disco estimado exigido: 25 MB (com os testes) * Tempo de construção estimado: 0,3 UPC (com os testes) Dependências de GMime Exigidas [2387]GLib-2.76.4 e [2388]libgpg-error-1.47 Recomendadas [2389]gobject-introspection-1.76.1 e [2390]libidn2-2.3.4 Opcionais [2391]DocBook-utils-0.6.14, [2392]GPGME-1.21.0, [2393]GTK-Doc-1.33.2, [2394]libnsl-2.0.0, [2395]Vala-0.56.11 e [2396]Gtk# (exige [2397]Mono) Instalação de GMime Instale GMime executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --enable-gtk-doc: Use esse parâmetro se GTK-Doc estiver instalado e você desejar reconstruir e instalar a documentação da API. Conteúdo Aplicativos Instalados: Nenhum Biblioteca Instalada: libgmime-3.0.so Diretórios Instalados: /usr/include/gmime-3.0 e /usr/share/gtk-doc/html/gmime-3.0 Descrições Curtas libgmime-3.0.so contém funções de API usadas por aplicativos que precisam obedecer aos padrões MIME gobject-introspection-1.76.1 Introdução a GObject Introspection O GObject Introspection é usado para descrever as APIs do aplicativo e coletá-las em um formato uniforme e legível por máquina. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2398]https://download.gnome.org/sources/gobject-introspection/1.76 /gobject-introspection-1.76.1.tar.xz * Transferência (FTP): [2399]ftp://ftp.acc.umu.se/pub/gnome/sources/gobject-introspection/ 1.76/gobject-introspection-1.76.1.tar.xz * Soma de verificação MD5 da transferência: 5cb554fdd139db79f9b1be13892fddac * Tamanho da transferência: 1,0 MB * Espaço em disco estimado exigido: 49 MB (com testes) * Tempo de construção estimado: 0,3 UPC (Com testes; ambos usando paralelismo=4) Dependências do GObject Introspection Exigida [2400]GLib-2.76.4 Opcionais [2401]Cairo-1.17.6 (exigido para os testes), [2402]Gjs-1.76.2 (para satisfazer um teste), [2403]GTK-Doc-1.33.2, [2404]Mako-1.2.4 e [2405]Markdown-3.4.1 Instalação do GObject Introspection Instale o GObject Introspection executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Para testar os resultados, emita: ninja test. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dgtk_doc=true: Constrói e instala a documentação. -Dcairo=enabled: Use cairo para os testes. -Ddoctool=enabled: Instala "g-ir-doc-tool" e executa os testes relacionados. Você precisar ter [2406]Mako-1.2.4 e [2407]Markdown-3.4.1 instalados para a finalidade de instalar esse utilitário. Conteúdo Aplicativos Instalados: g-ir-annotation-tool, g-ir-compiler, g-ir-doc-tool, g-ir-generate, g-ir-inspect e g-ir-scanner Bibliotecas Instaladas: libgirepository-1.0.so e _giscanner.cpython-311--linux-gnu.so Diretórios Instalados: /usr/include/gobject-introspection-1.0, /usr/lib/girepository-1.0, /usr/lib/gobject-introspection, /usr/share/gir-1.0 e /usr/share/gobject-introspection-1.0 Descrições Curtas g-ir-annotation-tool cria ou extrai dados de anotação a partir de bibliotecas de tipo do GI g-ir-compiler converte um ou mais arquivos GIR em uma ou mais bibliotecas de tipo g-ir-doc-tool gera arquivos Mallard que podem ser visualizados com yelp ou renderizados para HTML com yelp-build originários das [2408]ferramentas yelp g-ir-inspect é um utilitário que dá informação a respeito de uma biblioteca de tipo do GI g-ir-generate é um gerador GIR que usa a API do repositório g-ir-scanner é uma ferramenta que gera arquivos XML do GIR analisando cabeçalhos e analisando bibliotecas baseadas em GObject libgirepository-1.0.so fornece uma API para acessar os metadados da biblioteca de tipo Gsl-2.7.1 Introdução a Gsl A GNU Scientific Library (GSL) é uma biblioteca numérica para programadores(as) C e C++. Ela fornece uma ampla gama de rotinas matemáticas, tais como geradores de números aleatórios, funções especiais e ajuste de mínimos quadrados. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2409]https://ftp.gnu.org/gnu/gsl/gsl-2.7.1.tar.gz * Transferência (FTP): [2410]ftp://ftp.gnu.org/gnu/gsl/gsl-2.7.1.tar.gz * Soma de verificação MD5 da transferência: 36aee97e67f64dbdab7afae197e3483b * Tamanho da transferência: 7,2 MB * Espaço em disco estimado exigido: 213 MB (com os testes, sem os documentos) * Tempo de construção estimado: 1,2 UPC (Usando paralelismo=4; com os testes, sem os documentos) Dependências do Gsl Opcional [2411]sphinx_rtd_theme-1.2.2 Instalação do Gsl Instale Gsl executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Se você tiver [2412]sphinx_rtd_theme-1.2.2 instalado, [então] construa a documentação com: make html Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Se você construiu a documentação, [então] instale-a (como root) com: mkdir /usr/share/doc/gsl-2.7.1 && cp -R doc/_build/html/* /usr/share/doc/gsl-2.7.1 Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativos Instalados: gsl-config, gsl-histogram e gsl-randist Bibliotecas Instaladas: libgslcblas.so e libgsl.so Diretórios Instalados: /usr/include/gsl e /usr/share/doc/gsl-2.7.1 Descrições Curtas gsl-config é um script de shell para obter o número da versão e sinalizadores do compilador da biblioteca Gsl instalada gsl-histogram é um aplicativo de demonstração para a GNU Scientific Library que calcula um histograma a partir de dados obtidos a partir do stdin gsl-randist é um aplicativo de demonstração para a GNU Scientific Library que gera amostras aleatórias a partir de várias distribuições libgslcblas.so contém funções que implementam uma interface C para subaplicativos básicos de álgebra linear libgsl.so contém funções que fornecem uma coleção de rotinas numéricas para computação científica gspell-1.12.2 Introdução a gspell O pacote gspell fornece uma API flexível para adicionar verificação ortográfica a um aplicativo GTK+. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2413]https://download.gnome.org/sources/gspell/1.12/gspell-1.12.2. tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: f1e5f02695aee20ba543352889c28ff5 * Tamanho da transferência: 436 KB * Espaço em disco estimado exigido: 11 MB (com testes) * Tempo de construção estimado: 0,1 UPC (com testes) Dependências do gspell Exigidas [2414]enchant-2.5.0, [2415]ICU-73.2 e [2416]GTK+-3.24.38 Opcionais [2417]gobject-introspection-1.76.1, [2418]GTK-Doc-1.33.2, [2419]Vala-0.56.11 e [2420]Valgrind-3.21.0 Instalação do gspell Instale gspell executando os seguintes comandos: ./configure --prefix=/usr && make Para testar os resultados, emita: make check. Os testes precisam ser executados em uma sessão do X. Um teste, "test-checker", é conhecido por falhar se o pacote externo [2421]Hunspell não estiver instalado. Agora, como o(a) usuário(a) root: make install Conteúdo Aplicativos Instalados: gspell-app1 Bibliotecas Instaladas: libgspell-1.so Diretórios Instalados: /usr/include/gspell-1 e /usr/share/gtk-doc/html/gspell-1.0 Descrições Curtas gspell-app1 verifica a ortografia de um texto inserido em uma janela libgspell-1.so é a biblioteca da API do gspell ICU-73.2 Introdução a ICU O pacote International Components for Unicode (ICU) é um conjunto maduro e amplamente usado de bibliotecas C/C++ que fornece suporte Unicode e Globalização para aplicativos de software. ICU é amplamente portável e dá aos aplicativos os mesmos resultados em todas as plataformas. Atenção Atualizar esse pacote para uma nova versão principal (por exemplo, da 72.1 para a 73.2) exigirá a reconstrução de muitos outros pacotes. Se alguns pacotes que usam as bibliotecas construídas por icu4c-73 forem reconstruídos, eles usarão as novas bibliotecas enquanto os pacotes atuais usarão as bibliotecas anteriores. Se o carregador de aplicativos do Linux (/usr/lib/ld-linux-x86-64.so.2) determinar que as bibliotecas antiga e nova são necessárias, e um símbolo (nome do dado ou função) existir em ambas as versões da biblioteca, todas as referências ao símbolo serão resolvidas para a versão que aparece anteriormente na sequência em largura do gráfico de dependência. Isso pode resultar na falha do aplicativo se a definição dos dados ou o comportamento da função referida pelo símbolo diferir em duas versões. Para evitar o problema, os(as) usuários(as) precisarão reconstruir todos os pacotes vinculados a uma biblioteca do ICU o mais rápido possível, assim que o ICU for atualizado para uma nova versão principal. Para determinar quais bibliotecas externas são necessárias (direta ou indiretamente) por um aplicativo ou biblioteca, execute: ldd ou para ver somente as bibliotecas diretamente necessárias: readelf -d | grep NEEDED Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2422]https://github.com/unicode-org/icu/releases/download/release- 73-2/icu4c-73_2-src.tgz * Transferência (FTP): * Soma de verificação MD5 da transferência: b8a4b8cf77f2e2f6e1341eac0aab2fc4 * Tamanho da transferência: 25 MB * Espaço em disco estimado exigido: 389 MB (adicionar 43 MB para testes) * Tempo de construção estimado: 0,5 UPC (usando paralelismo=4; adicionar 1,0 UPC para testes) Dependências do ICU Opcionais [2423]LLVM-16.0.5 (com o Clang) e [2424]Doxygen-1.9.7 (para a documentação) Instalação do ICU Nota Esse pacote se expande para o diretório icu. Nota Se clang++ estiver disponível, [então] ele será usado na crença equivocada de que g++ pode não suportar C++11, mesmo que configure tenha testado para isso. Se estiver usando g++, [então] existirá um aviso desnecessário ao final do configure. Construir com g++ também toma mais tempo que a UPC estimada mostrada. Instale ICU executando os seguintes comandos: cd source && ./configure --prefix=/usr && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Conteúdo Aplicativos Instalados: derb, escapesrc, genbrk, genccode, gencfu, gencmn, gencnval, gendict, gennorm2, genrb, gensprep, icu-config, icuexportdata, icuinfo, icupkg, makeconv, pkgdata e uconv Bibliotecas Instaladas: libicudata.so, libicui18n.so, libicuio.so, libicutest.so, libicutu.so e libicuuc.so Diretórios Instalados: /usr/include/unicode, /usr/lib/icu e /usr/share/icu Descrições Curtas derb desmonta um pacote de recursos escapesrc converte caracteres escapados “\u” em caracteres Unicode genbrk compila arquivos-fonte do ICU de regras de iteração de quebra em arquivos de dados binários genccode gera C ou código de montagem específico da plataforma a partir de um arquivo de dados do ICU gencfu lê em Unicode definições confundíveis de caracteres e escreve os dados binários gencmn gera um arquivo de dados do ICU mapeável em memória gencnval compila o arquivo de apelidos do conversor gendict compila listas de palavras em dicionários de tentativas de sequências de caracteres do ICU gennorm2 constrói arquivos de dados binários com dados de normalização Unicode genrb compila um pacote de recursos gensprep compila dados StringPrep a partir de arquivos filtrados RFC 3454 icu-config gera saída das opções de construção do ICU icuinfo gera saída da informação de configuração relativa ao ICU atual icupkg extrai ou modifica um arquivamento ".dat" do ICU makeconv compila uma tabela de conversor pkgdata empacota dados para uso pelo ICU uconv converte dados a partir de um codificador para outro libicudata.so é a biblioteca de dados libicui18n.so é a biblioteca de internacionalização ("i18n") libicuio.so é a biblioteca de Entrada/Saída do ICU ("stdio" Unicode) libicutest.so é a biblioteca de teste libicutu.so é a biblioteca do utilitário da ferramenta libicuuc.so é a biblioteca comum inih-57 Introdução ao inih Esse pacote é um analisador simples de arquivo ".INI" escrito em C. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2425]https://github.com/benhoyt/inih/archive/r57/inih-r57.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 07aa33593487633519fb3a0e55546c09 * Tamanho da transferência: 19 KB * Espaço em disco estimado exigido: 808 KB * Tempo de construção estimado: menos que 0,1 UPC Instalação do inih Instale o inih executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: ninja install Conteúdo Aplicativo Instalado: Nenhum(a) Bibliotecas Instaladas: libinih.so e libINIReader.so Diretórios Instalados: Nenhum(a) Descrições Curtas libinih.so é a biblioteca principal do inih libINIReader.so é a biblioteca do analisador inih Intel-gmmlib-22.3.10 Introdução a Intel-gmmlib O pacote Intel-gmmlib contém a Intel Graphics Memory Management Library, que fornece memória específica do dispositivo e funções de gerenciamento de buffer para o Intel Media Driver para VAAPI e para o Intel Graphics Computer Runtime para OpenCL (TM). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2426]https://github.com/intel/gmmlib/archive/refs/tags/intel-gmmli b-22.3.10.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 9e6060de554e29ae53b86e56a75834ac * Tamanho da transferência: 828 KB * Espaço em disco estimado exigido: 56 MB * Tempo de construção estimado: 0,8 UPC Nota O tarball intel-gmmlib-22.3.10.tar.gz extrairá para o diretório gmmlib-intel-gmmlib-22.3.10. Dependências do Intel-gmmlib Exigida [2427]CMake-3.27.2 Instalação do Intel-gmmlib Instale Intel-gmmlib executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DBUILD_TYPE=Release \ -Wno-dev .. && make A suíte de teste normalmente é executada por make a menos que -DRUN_TEST_SUITE=NO seja passado para cmake. Agora, como o(a) usuário(a) root: make install Conteúdo Aplicativos Instalados: Nenhum Bibliotecas Instaladas: libigdgmm.so Diretórios Instalados: /usr/include/igdgmm Descrições Curtas libigdgmm.so contém funções que fornecem funções de gerenciamento de memória para controladores Intel de gráficos Jansson-2.14 Introdução a Jansson O pacote Jansson contém uma biblioteca usada para codificar, decodificar e manipular dados JSON. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2428]https://github.com/akheron/jansson/releases/download/v2.14/ja nsson-2.14.tar.bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: 3f90473d7d54ebd1cb6a2757396641df * Tamanho da transferência: 424 KB * Espaço em disco estimado exigido: 5,6 MB (adicionar 1,9 MB para testes) * Tempo de construção estimado: 0,1 UPC (com os testes) Instalação do Jansson Primeiro corrija um dos testes: sed -e "/DT/s;| sort;| sed 's/@@libjansson.*//' &;" \ -i test/suites/api/check-exports Instale jansson executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: libjansson.so Diretórios Instalados: Nenhum(a) Descrições Curtas libjansson.so contém uma API para codificação, decodificação e manipulação de dados JSON JS-102.13.0 Introdução a JS JS (também conhecido como SpiderMonkey) é o mecanismo JavaScript e WebAssembly da Mozilla, escrito em C++ e Rust. No BLFS, o código-fonte do JS é retirado a partir do Firefox. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2429]https://archive.mozilla.org/pub/firefox/releases/102.13.0esr/ source/firefox-102.13.0esr.source.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 42b9a73626ed8281b86222f6f0a96c73 * Tamanho da transferência: 464 MB * Espaço em disco estimado exigido: 3,3 GB (38 MB instalado depois de remover biblioteca estática de 34 MB) * Tempo de construção estimado: 1,7 UPC (com paralelismo=4) Dependências do JS102 Exigidas [2430]ICU-73.2, [2431]rustc-1.71.1 e [2432]Which-2.21 Recomendada [2433]LLVM-16.0.5 (com o Clang, exigido para sistemas de 32 bits sem recursos "SSE2") Importante Se você estiver construindo esse pacote em um sistema de 32 bits e o Clang não estiver instalado ou você estiver substituindo a escolha padrão do compilador com a variável de ambiente CXX, por favor, leia primeiro a seção Explicações do Comando. Instalação do JS Nota Ao contrário da maioria dos outros pacotes no BLFS, as instruções abaixo exigem que você descompacte firefox-102.13.0esr.tar.xz e mude para a pasta firefox-102.13.0. Extrair o "tarball" reconfigurará as permissões do diretório atual para 0755, se você tiver permissão para fazer isso. Se você fizer isso em um diretório onde o bit "sticky" estiver configurado, tal como o /tmp, [então] ele terminará com mensagens de erro: tar: .: Não é possível utime: Operação não permitida tar: .: Não é possível mudar o modo para rwxr-xr-t: Operação não permit ida tar: Saindo com status de falha devido a erros anteriores Isso termina com um status diferente de zero, porém NÃO significa que existe um problema real. Não descompacte como o(a) usuário(a) root em um diretório onde o bit "sticky" estiver configurado - isso irá desconfigurá-lo. Instale JS executando os seguintes comandos: Nota Se você estiver compilando esse pacote em chroot, você precisa fazer duas coisas. Primeiro, como o(a) usuário(a) root, certifique-se de que /dev/shm esteja montado. Se você não fizer isso, a configuração do Python falhará com um informe de rastreamento referenciando /usr/lib/pythonN.N/multiprocessing/synchronize.py. Execute: mountpoint -q /dev/shm || mount -t tmpfs devshm /dev/shm Segundo, como o(a) usuário(a) root exporte a variável de ambiente $SHELL usando export SHELL=/bin/sh ou, então, preceda SHELL=/bin/sh ao executar o comando configure. A compilação do código C++ respeita "$MAKEFLAGS" e o padrão é 'j1'; o código "Rust" usará todos os processadores. mkdir obj && cd obj && sh ../js/src/configure.in --prefix=/usr \ --with-intl-api \ --with-system-zlib \ --with-system-icu \ --disable-jemalloc \ --disable-debug-symbols \ --enable-readline && make Para executar a suíte de teste do JS, emita: make -C js/src check-jstests JSESTS_EXTRA_ARGS="--timeout 300 --wpt=disabled". É recomendável redirecionar a saída gerada para um [arquivo de] registro. Como estamos construindo com o "ICU" do sistema, mais de cem testes (de um total de mais de 50.000) são conhecidos por falharem. Para executar a suíte de teste do JIT, emita: make -C js/src check-jit-test JITTEST_EXTRA_ARGS="--timeout 300". Cuidado Um problema no processo de instalação faz com que qualquer aplicativo em execução e que se vincule à biblioteca compartilhada "JS102" (por exemplo, GNOME Shell) quebre se a "JS102" for atualizada ou for reinstalada. Para contornar esse problema, remova a versão antiga da biblioteca compartilhada "JS102" antes da instalação: rm -fv /usr/lib/libmozjs-102.so Agora, como o(a) usuário(a) root: make install && rm -v /usr/lib/libjs_static.ajs && sed -i '/@NSPR_CFLAGS@/d' /usr/bin/js102-config Explicações do Comando sh ../js/src/configure.in: configure.in é na verdade um script de shell, porém o bit executável não está configurado no modo de permissão dele, de modo que é necessário executá-lo explicitamente com o sh. --with-intl-api: Isso habilita as funções de internacionalização exigidas pelo Gjs. --with-system-*: Esses parâmetros permitem que o sistema de construção use versões do sistema das bibliotecas acima. Essas são exigidas para a estabilidade. --enable-readline: Essa chave habilita o suporte a "Readline" no shell do "JS". --disable-jemalloc: Essa chave desabilita o alocador interno de memória usado no "JS102". o "jemalloc" destina-se somente ao ambiente do navegador Firefox. Para outros aplicativos que usam a "JS102", o aplicativo possivelmente quebre quando os itens alocados no alocador "jemalloc" forem liberados no alocador do sistema (glibc). --disable-debug-symbols: Não gere símbolos de depuração, pois eles são muito grandes e a maioria dos(as) usuários(as) não precisará deles. Remova-a se quiser depurar a "JS102". rm -v /usr/lib/libjs_static.ajs: Remove uma grande biblioteca estática que não é usada por nenhum pacote do BLFS. sed -i '/@NSPR_CFLAGS@/d' /usr/bin/js102-config: Evita que js102-config use "CFLAGS" defeituosos. CC=gcc CXX=g++: o BLFS costumava preferir usar gcc e g++ em vez dos padrões do(a) desenvolvedor(a) dos aplicativos clang. Com o lançamento do gcc-12, a construção toma mais tempo com gcc e g++, principalmente por causa de avisos extras, e é maior. Passe essas variáveis de ambiente para o script de configuração se desejar continuar a usar gcc, g++ (exportando-as e desconfigurando-as depois da instalação ou simplesmente anexando-as antes do comando sh ../js/src/configure.in). Se você estiver construindo em um sistema de 32 bits, [então] também veja abaixo. CXXFLAGS="-msse2 -mfpmath=sse": Use "SSE2" em vez de "387" para operações de ponto flutuante de precisão dupla. É necessário para o GCC satisfazer as expectativas dos(as) desenvolvedores(as) "upstream" (Mozilla) com aritmética de ponto flutuante. Use-o se estiver construindo esse pacote em um sistema de 32 bits com GCC (se o "Clang" não estiver instalado ou o GCC for explicitamente especificado). Observe que isso fará com que o "JS" quebre em um processador sem capacidade "SSE2". Se você estiver executando o sistema em um processador tão antigo, [então] o "Clang" é estritamente necessário. Essa configuração não é necessária em sistemas de 64 bits, pois todos os processadores x86 de 64 bits suportam "SSE2" e os compiladores de 64 bits (ambos "Clang" e GCC) usam "SSE2" por padrão. Conteúdo Aplicativos Instalados: js102 e js102-config Bibliotecas Instaladas: libmozjs-102.so Diretórios Instalados: /usr/include/mozjs-102 Descrições Curtas js102 fornece uma interface de linha de comando para o mecanismo JavaScript js102-config é usado para encontrar o compilador "JS" e sinalizadores do vinculador libmozjs-102.so contém as funções da API do JavaScript da Mozilla JSON-C-0.17 Introdução a JSON-C O JSON-C implementa um modelo de objeto de contagem de referência que permite construir facilmente objetos JSON em C, produzi-los como sequências de caracteres formatadas JSON e analisar sequências de caracteres formatadas JSON de volta na representação C de objetos JSON. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2434]https://s3.amazonaws.com/json-c_releases/releases/json-c-0.17 .tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: bad8f5e91b7b2563ee2d507054c70eb2 * Tamanho da transferência: 384 KB * Espaço em disco estimado exigido: 7,9 MB * Tempo de construção estimado: 0,4 UPC (com os testes) Dependências do JSON-C Exigida [2435]CMake-3.27.2 Opcionais (para documentação) [2436]Doxygen-1.9.7 e [2437]Graphviz-8.1.0 (para ferramenta dot) Instalação do JSON-C Instale JSON-C executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_STATIC_LIBS=OFF \ .. && make Se tiver instalado [2438]Doxygen-1.9.7 e [2439]Graphviz-8.1.0, você consegue construir a documentação executando o seguinte comando: doxygen doc/Doxyfile Para testar os resultados, emita: make test. Agora, como o(a) usuário(a) root: make install Se você construiu a documentação, instale-a executando os seguintes comandos como o(a) usuário(a) root: install -d -vm755 /usr/share/doc/json-c-0.17 && install -v -m644 doc/html/* /usr/share/doc/json-c-0.17 Explicações do Comando -DCMAKE_BUILD_TYPE=Release: Essa chave é usada para aplicar um nível mais alto de otimização à compilação. Conteúdo Aplicativos Instalados: Nenhum Bibliotecas Instaladas: libjson-c.so Diretórios Instalados: /usr/include/json-c Descrições Curtas libjson-c.so contém as funções da API JSON-C JSON-GLib-1.6.6 Introdução a JSON GLib O pacote JSON GLib é uma biblioteca que oferece suporte à serialização e desserialização para o formato JavaScript Object Notation (JSON) descrito pela RFC 4627. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2440]https://download.gnome.org/sources/json-glib/1.6/json-glib-1. 6.6.tar.xz * Transferência (FTP): [2441]ftp://ftp.acc.umu.se/pub/gnome/sources/json-glib/1.6/json-gli b-1.6.6.tar.xz * Soma de verificação MD5 da transferência: 9c40fcd8cdbf484dd1704480afefae14 * Tamanho da transferência: 1,2 MB * Espaço em disco estimado exigido: 6,6 MB (com os testes) * Tempo de construção estimado: menos que 0,1 UPC (com os testes) Dependências do JSON-GLib Exigida [2442]GLib-2.76.4 Opcionais (Exigidas se construir GNOME) [2443]gobject-introspection-1.76.1 Opcionais [2444]GTK-Doc-1.33.2 Instalação do JSON GLib Instale o JSON GLib executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Para testar os resultados, emita: ninja test. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dgtk_doc=disabled: Adicione essa opção se você tiver [2445]GTK-Doc-1.33.2 instalado e não desejar gerar a documentação da API. Conteúdo Aplicativos Instalados: json-glib-format e json-glib-validate Biblioteca Instalada: libjson-glib-1.0.so Diretórios Instalados: /usr/{include,share/installed-tests}/json-glib-1.0, /usr/libexec/installed-tests/json-glib-1.6.6 e /usr/share/gtk-doc/html/json-glib Descrições Curtas json-glib-format é uma interface de linha de comando simples para formatar dados JSON json-glib-validate é uma interface de linha de comando simples para validar dados JSON libjson-glib-1.0.so contém as funções da API da JSON GLib keyutils-1.6.1 Introdução a keyutils Keyutils é um conjunto de utilitários para gerenciar o recurso de retenção de chave no núcleo, que pode ser usado por sistemas de arquivos, dispositivos de bloco e muito mais para obter e reter as chaves de autorização e de encriptação exigidas para realizar operações seguras. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2446]https://people.redhat.com/~dhowells/keyutils/keyutils-1.6.1.t ar.bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: 919af7f33576816b423d537f8a8692e8 * Tamanho da transferência: 96 KB * Espaço em disco estimado exigido: 1,9 MB (com os testes) * Tempo de construção estimado: menos que 0,1 UPC (adicionar 0,6 UPC para os testes) Dependências do keyutils Exigida [2447]MIT Kerberos V5-1.21.2 Instalação do keyutils Instale keyutils executando os seguintes comandos: sed -i 's:$(LIBDIR)/$(PKGCONFIG_DIR):/usr/lib/pkgconfig:' Makefile && make Para testar os resultados, emita, como o(a) usuário(a) root: make -k test Observe que vários testes falharão se certas opções incomuns do núcleo não forem usadas quando o núcleo foi construído. Isso inclui CONFIG_BIG_KEYS, CONFIG_KEY_DH_OPERATIONS e CONFIG_CRYPTO_DH. Agora, como o(a) usuário(a) root: make NO_ARLIB=1 LIBDIR=/usr/lib BINDIR=/usr/bin SBINDIR=/usr/sbin install Explicações do Comando sed ... Makefile: Esse comando garante que o arquivo "pkgconfig" seja colocado no diretório correto. NO_ARLIB=1: Esse sinalizador do "make" desabilita a instalação da biblioteca estática. Configurando keyutils Arquivos de Configuração /etc/request-key.conf e /etc/request-key.d/* Conteúdo Aplicativos Instalados: keyctl, key.dns_resolver e request-key Biblioteca Instalada: libkeyutils.so Diretório Instalado: /etc/request-key.d e /usr/share/keyutils Descrições Curtas keyctl controla o recurso de gerenciamento de chave com uma variedade de subcomandos key.dns_resolver é invocado por request-key em nome do núcleo quando os serviços do núcleo (como NFS, CIFS e AFS) precisam realizar uma pesquisa de nome de dispositivo e o núcleo não tem a chave armazenada em cache. Não é destinado, ordinariamente, a ser chamado diretamente request-key é invocado pelo núcleo quando o núcleo é solicitado por uma chave que não tem imediatamente disponível. O núcleo cria uma chave temporária e, em seguida, chama esse aplicativo para instanciá-lo. Não é destinado a ser chamado diretamente libkeyutils.so contém a instanciação da API da biblioteca "keyutils" libaio-0.3.113 Introdução a libaio O pacote libaio é um recurso assíncrono de Entrada/Saída ("Entrada/Saída assíncrona" ou "aio") que possui uma API e um conjunto de recursos mais ricos que o recurso simples de Entrada/Saída assíncrona POSIX. Essa biblioteca, "libaio", fornece a API nativa do Linux para Entrada/Saída assíncrona. O recurso de Entrada/Saída assíncrona POSIX exige essa biblioteca para a finalidade de fornecer recursos de Entrada/Saída assíncronas acelerados pelo núcleo, assim como os aplicativos que exigem a API de Entrada/Saída assíncrona nativa do Linux. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2448]https://pagure.io/libaio/archive/libaio-0.3.113/libaio-0.3.11 3.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 605237f35de238dfacc83bcae406d95d * Tamanho da transferência: 48 KB * Espaço em disco estimado exigido: 1,0 MB * Tempo de construção estimado: menos que 0,1 UPC Instalação do libaio Primeiro, desabilite a instalação da biblioteca estática: sed -i '/install.*libaio.a/s/^/#/' src/Makefile Construa a libaio executando o seguinte comando: make Para testar os resultados, emita: make partcheck. Agora, instale o pacote como o(a) usuário(a) root: make install Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: libaio.so Diretórios Instalados: Nenhum(a) Descrições Curtas libaio.so é a biblioteca "libaio" libarchive-3.7.1 Introdução a libarchive A biblioteca libarchive fornece interface única para leitura/gravação de vários formatos de compressão. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2449]https://github.com/libarchive/libarchive/releases/download/v3 .7.1/libarchive-3.7.1.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 11a217b523dcdd178490bdb1f83353f3 * Tamanho da transferência: 5,0 MB * Espaço em disco estimado exigido: 42 MB (adicionar 33 MB para testes) * Tempo de construção estimado: 0,3 UPC (adicionar 0,7 UPC para os testes) Dependências do libarchive Opcionais [2450]libxml2-2.10.4, [2451]LZO-2.10 e [2452]Nettle-3.9.1 Observações de Editor(a): [2453]https://wiki.linuxfromscratch.org/blfs/wiki/libarchive Instalação do libarchive Instale o libarchive executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Para testar os resultados, emita: LC_ALL=C make check. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --without-xml2: Essa chave configura "expat" para suporte ao formato de arquivamento "xar" em vez do preferido "libxml2" se ambos os pacotes estiverem instalados. --without-nettle: Essa chave configura o "OpenSSL" para suporte de criptografia em vez do preferido "Nettle" se ambos os pacotes estiverem instalados. Conteúdo Aplicativos Instalados: bsdcat, bsdcpio, bsdtar e bsdunzip Bibliotecas Instaladas: libarchive.so Diretórios Instalados: Nenhum Descrições Curtas bsdcat expande arquivos para a saída gerada padrão bsdcpio é uma ferramenta similar a cpio bsdtar é uma ferramenta similar à GNU tar bsdunzip é uma ferramenta similar a unzip do Info-ZIP libarchive.so é uma biblioteca que consegue criar e ler vários formatos de arquivamento de fluxo libassuan-2.5.6 Introdução a libassuan O pacote libassuan contém uma biblioteca de comunicação entre processos usada por alguns dos outros pacotes relacionados ao GnuPG. O principal uso da libassuan é o de permitir que um cliente interaja com um servidor não persistente. A libassuan não é, entretanto, limitada ao uso com servidores e clientes do GnuPG. Ela foi projetado para ser flexível o suficiente para atender às demandas de muitos ambientes baseados em transações com servidores não persistentes. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2454]https://www.gnupg.org/ftp/gcrypt/libassuan/libassuan-2.5.6.ta r.bz2 * Transferência (FTP): [2455]ftp://ftp.gnupg.org/gcrypt/libassuan/libassuan-2.5.6.tar.bz2 * Soma de verificação MD5 da transferência: 9c22e76168675ec996b9d620ffbb7b27 * Tamanho da transferência: 564 KB * Espaço em disco estimado exigido: 7,9 MB (com testes; adicionar 3,4 MB para documentação) * Tempo de construção estimado: 0,1 UPC (com os testes e a documentação) Dependências do libassuan Exigida [2456]libgpg-error-1.47 Opcionais [2457]texlive-20230313 (ou [2458]install-tl-unx) Instalação do libassuan Instale libassuan executando os seguintes comandos: ./configure --prefix=/usr && make && make -C doc html && makeinfo --html --no-split -o doc/assuan_nochunks.html doc/assuan.texi && makeinfo --plaintext -o doc/assuan.txt doc/assuan.texi Os comandos acima constroem a documentação nos formatos html e texto simples. Se você deseja construir formatos alternativos da documentação, [então] você precisa ter [2459]texlive-20230313 instalado e emitir os seguintes comandos: make -C doc pdf ps Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install && install -v -dm755 /usr/share/doc/libassuan-2.5.6/html && install -v -m644 doc/assuan.html/* \ /usr/share/doc/libassuan-2.5.6/html && install -v -m644 doc/assuan_nochunks.html \ /usr/share/doc/libassuan-2.5.6 && install -v -m644 doc/assuan.{txt,texi} \ /usr/share/doc/libassuan-2.5.6 Se você construiu formatos alternativos da documentação, [então] instale-os executando os seguintes comandos como o(a) usuário(a) root: install -v -m644 doc/assuan.{pdf,ps,dvi} \ /usr/share/doc/libassuan-2.5.6 Conteúdo Aplicativo Instalado: libassuan-config Biblioteca Instalada: libassuan.so Diretório Instalado: /usr/share/doc/libassuan-2.5.6 Descrições Curtas libassuan-config é um script de informação de construção da libassuan libassuan.so é uma biblioteca de comunicação entre processos que implementa o protocolo "Assuan" libatasmart-0.19 Introdução a libatasmart O pacote libatasmart é uma biblioteca de informe de disco. Ela suporta somente um subconjunto da funcionalidade S.M.A.R.T. do ATA. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2460]https://0pointer.de/public/libatasmart-0.19.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 53afe2b155c36f658e121fe6def33e77 * Tamanho da transferência: 248 KB * Espaço em disco estimado exigido: 3 MB * Tempo de construção estimado: menos que 0,1 UPC Observações de Editor(a): [2461]https://wiki.linuxfromscratch.org/blfs/wiki/libatasmart Instalação do libatasmart Instale libatasmart executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make docdir=/usr/share/doc/libatasmart-0.19 install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativos Instalados: skdump e sktest Biblioteca Instalada: libatasmart.so Diretório Instalado: /usr/share/doc/libatasmart-0.19 Descrições Curtas skdump é um utilitário que informa a situação do disco sktest é um utilitário para emitir testes de discos libatasmart.so contém as funções da API S.M.A.R.T do ATA libatomic_ops-7.8.0 Introdução a libatomic_ops libatomic_ops fornece implementações para operações atômicas de atualização de memória em várias arquiteturas. Isso permite o uso direto delas em código razoavelmente portátil. Ao contrário de pacotes semelhantes anteriores, esse considera explicitamente a semântica de barreira de memória e permite a construção de código que envolve sobrecarga mínima ao longo de uma variedade de arquiteturas. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2462]https://github.com/ivmai/libatomic_ops/releases/download/v7.8 .0/libatomic_ops-7.8.0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: a7e51e8041c3e60c298c037b2789c3fa * Tamanho da transferência: 516 KB * Espaço em disco estimado exigido: 6,4 MB (com testes) * Tempo de construção estimado: 0,1 UPC (com os testes) Instalação do libatomic_ops Instale libatomic_ops executando os seguintes comandos: ./configure --prefix=/usr \ --enable-shared \ --disable-static \ --docdir=/usr/share/doc/libatomic_ops-7.8.0 && make Para verificar os resultados, emita make check. Agora, como o(a) usuário(a) root: make install Explicações do Comando --enable-shared: Essa chave habilita construir as bibliotecas compartilhadas libatomic_ops. --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libatomic_ops.so e libatomic_ops_gpl.so Diretório Instalado: /usr/include/libatomic_ops e /usr/share/doc/libatomic_ops-7.8.0 Descrições Curtas libatomic_ops.so contém funções para operações atômicas de memória libblockdev-3.0.2 Introdução ao libblockdev libblockdev é uma biblioteca C que suporta GObject Introspection para manipulação de dispositivos de bloco. Ela tem uma arquitetura baseada em plug-in onde cada tecnologia (como LVM, Btrfs, MD RAID, Swap,...) é implementada em um plug-in separado, possivelmente com várias implementações (por exemplo, usando CLI do LVM ou a nova API DBus do LVM). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2463]https://github.com/storaged-project/libblockdev/releases/down load/3.0.2-1/libblockdev-3.0.2.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: b03d1b4def6962aa2e3eb93b50c22163 * Tamanho da transferência: 1,0 MB * Espaço em disco estimado exigido: 14 MB * Tempo de construção estimado: 0,1 UPC Dependências do libblockdev Exigidas [2464]GLib-2.76.4 Recomendadas [2465]cryptsetup-2.4.3, [2466]gobject-introspection-1.76.1 (exigido para GNOME), [2467]keyutils-1.6.1, [2468]libbytesize-2.9, [2469]libnvme-1.5 e [2470]LVM2-2.03.22 Opcionais [2471]btrfs-progs-6.3.3, [2472]GTK-Doc-1.33.2, [2473]mdadm-4.2, [2474]parted-3.6, [2475]volume_key-0.3.12, [2476]ndctl e [2477]targetcli (para testes) Instalação do libblockdev Instale o libblockdev executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc \ --with-python3 \ --without-escrow \ --without-gtk-doc \ --without-lvm \ --without-lvm_dbus \ --without-nvdimm \ --without-tools && make A suíte de teste exige targetcli, que não é parte do BLFS. Agora, como o(a) usuário(a) root: make install Explicações do Comando --without-escrow: Essa chave permite construir libblockdev sem [2478]volume_key-0.3.12 instalado. Remova-a se você tiver instalado [2479]volume_key-0.3.12. --without-lvm --without-lvm_dbus --without-tools: A combinação dessas chaves permite construir libblockdev sem [2480]parted-3.6 instalado. Remova-a se você tiver instalado [2481]parted-3.6 e desejar construir os utilitários lvm-cache-stats ou vfat-resize, ou desejar que libblockdev suporte volumes lógicos. --without-btrfs --without-mdraid --without-tools: A combinação dessas chaves permite construir libblockdev sem [2482]libbytesize-2.9 instalado. A opção --without-mdraid quebrará [2483]UDisks-2.10.0, de forma que não a use, a menos que você realmente saiba o que está fazendo. --without-crypto: Essa chave permite construir libblockdev sem [2484]cryptsetup-2.4.3 ou [2485]keyutils-1.6.1 instalado. Essa chave quebrará [2486]UDisks-2.10.0, de forma que não a use, a menos que você realmente saiba o que está fazendo. --without-dm --without-lvm --without-lvm_dbus --without-mpath: A combinação dessas chaves permite construir libblockdev sem [2487]LVM2-2.03.22 instalado. As opções --without-dm e --without-mpath não estão nas instruções fornecidas pelo livro, porque [2488]LVM2-2.03.22 é exigido para [2489]cryptsetup-2.4.3 e [2490]cryptsetup-2.4.3 é uma dependência recomendada de libblockdev de qualquer maneira. --without-nvme: Essa chave permite construir libblockdev sem [2491]libnvme-1.5 instalado. Essa chave quebrará [2492]UDisks-2.10.0, de forma que não a use, a menos que você realmente saiba o que está fazendo. Conteúdo Aplicativos Instalados: lvm-cache-stats e vfat-resize (ambos opcionais) Bibliotecas Instaladas: libbd_btrfs.so, libbd_crypto.so, libbd_dm.so, libbd_fs.so, libbd_loop.so, libbd_lvm.so (opcional), libbd_lvm-dbus.so (opcional), libbd_mdraid.so, libbd_mpath.so, libbd_nvme.so, libbd_part.so, libbd_swap.so, libbd_utils.so e libblockdev.so Diretórios Instalados: /etc/libblockdev, /usr/include/blockdev e /usr/share/gtk-doc/html/libblockdev (opcional) Descrições Curtas lvm-cache-stats imprime estatísticas relativas a caches relativos a Volumes Lógicos do LVM vfat-resize redimensiona sistemas de arquivos vfat libbytesize-2.9 Introdução a libbytesize O pacote libbytesize é uma biblioteca que facilita as operações comuns com tamanhos em bytes. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2493]https://github.com/storaged-project/libbytesize/releases/down load/2.9/libbytesize-2.9.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: ba30fedcc832d9e0ae6cdc7a5602efbb * Tamanho da transferência: 448 KB * Espaço em disco estimado exigido: 3,5 MB * Tempo de construção estimado: menos que 0,1 UPC (incluindo os testes) Dependências do libbytesize Exigidas [2494]pcre2-10.42 e [2495]Pygments-2.16.1 Recomendada [2496]six-1.16.0 Opcionais [2497]GTK-Doc-1.33.2, [2498]pocketlint (módulo Python para um teste) e [2499]polib (módulo Python para um teste) Instalação do libbytesize Instale libbytesize executando os seguintes comandos: ./configure --prefix=/usr && make Se você tiver os módulos opcionais Python instalados, [então] os testes de regressão podem ser executados com: make check. Agora, como o(a) usuário(a) root: make install Conteúdo Aplicativos Instalados: bscalc Biblioteca Instalada: libbytesize.so Diretórios Instalados: /usr/include/bytesize e /usr/lib/python3.11/site-packages/bytesize Descrições Curtas bscalc converte de uma unidade maior, como MB ou TB, de volta para um valor em bytes libbytesize.so contém funções usadas para lidar com operações comuns de leitura/gravação com tamanhos em bytes libcloudproviders-0.3.2 Introdução a libcloudproviders O pacote libcloudproviders contém uma biblioteca que fornece uma API DBus que permite que clientes de sincronização de armazenamento em nuvem exponham os serviços deles. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2500]https://download.gnome.org/sources/libcloudproviders/0.3/libc loudproviders-0.3.2.tar.xz * Transferência (FTP): [2501]ftp://ftp.acc.umu.se/pub/gnome/sources/libcloudproviders/0.3/ libcloudproviders-0.3.2.tar.xz * Soma de verificação MD5 da transferência: bc97871ac437774b1b0cbb192d907f89 * Tamanho da transferência: 24 KB * Espaço em disco estimado exigido: 1,5 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do libcloudproviders Exigidas [2502]gobject-introspection-1.76.1 e [2503]Vala-0.56.11 Opcionais [2504]GTK-Doc-1.33.2 Instalação do libcloudproviders Instale libcloudproviders executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Denable-gtk-doc: Use essa chave se você tiver [2505]GTK-Doc-1.33.2 instalado e desejar gerar a documentação da API. Conteúdo Aplicativos Instalados: Nenhum Bibliotecas Instaladas: libcloudproviders.so Diretórios Instalados: /usr/include/cloudproviders Descrições Curtas libcloudproviders.so contém funções que fornecem uma API DBus para permitir que clientes de sincronização de armazenamento em nuvem exponham os serviços deles libdaemon-0.14 Introdução a libdaemon O pacote libdaemon é uma biblioteca C leve que facilita a escrita de processos de segundo plano UNIX. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2506]https://0pointer.de/lennart/projects/libdaemon/libdaemon-0.14 .tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 509dc27107c21bcd9fbf2f95f5669563 * Tamanho da transferência: 332 KB * Espaço em disco estimado exigido: 3 MB * Tempo de construção estimado: 0,1 UPC Dependências do libdaemon Opcionais [2507]Doxygen-1.9.7 e [2508]Lynx-2.8.9rel.1 Instalação do libdaemon Instale libdaemon executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Se você tiver Doxygen instalado e desejar construir a documentação da API, [então] emita o seguinte comando: make -C doc doxygen Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make docdir=/usr/share/doc/libdaemon-0.14 install Se você construiu a documentação da API, [então] instale-a usando os seguintes comandos como o(a) usuário(a) root: install -v -m755 -d /usr/share/doc/libdaemon-0.14/reference/html && install -v -m644 doc/reference/html/* /usr/share/doc/libdaemon-0.14/reference/ht ml && install -v -m644 doc/reference/man/man3/* /usr/share/man/man3 Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativos Instalados: Nenhum Biblioteca Instalada: libdaemon.so Diretórios Instalados: /usr/include/libdaemon e /usr/share/doc/libdaemon-0.14 Descrições Curtas libdaemon.so contém as funções da API libdaemon libgcrypt-1.10.2 Introdução a libgcrypt O pacote libgcrypt contém uma biblioteca criptográfica de uso geral baseada no código usado no GnuPG. A biblioteca fornece uma interface de alto nível para blocos de construção criptográficos usando uma API extensível e flexível. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2509]https://www.gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.10.2.t ar.bz2 * Transferência (FTP): [2510]ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.10.2.tar.bz2 * Soma de verificação MD5 da transferência: 663abb395452750522d6797967e2f442 * Tamanho da transferência: 3,6 MB * Espaço em disco estimado exigido: 130 MB (com testes) * Tempo de construção estimado: 0,4 UPC (com a documentação; adicionar 0,5 UPC para os testes) Dependências do libgcrypt Exigida [2511]libgpg-error-1.47 Opcionais [2512]Pth-2.0.7 e [2513]texlive-20230313 (ou [2514]install-tl-unx) Instalação do libgcrypt Instale libgcrypt executando os seguintes comandos: ./configure --prefix=/usr && make && make -C doc html && makeinfo --html --no-split -o doc/gcrypt_nochunks.html doc/gcrypt.texi && makeinfo --plaintext -o doc/gcrypt.txt doc/gcrypt.texi Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install && install -v -dm755 /usr/share/doc/libgcrypt-1.10.2 && install -v -m644 README doc/{README.apichanges,fips*,libgcrypt*} \ /usr/share/doc/libgcrypt-1.10.2 && install -v -dm755 /usr/share/doc/libgcrypt-1.10.2/html && install -v -m644 doc/gcrypt.html/* \ /usr/share/doc/libgcrypt-1.10.2/html && install -v -m644 doc/gcrypt_nochunks.html \ /usr/share/doc/libgcrypt-1.10.2 && install -v -m644 doc/gcrypt.{txt,texi} \ /usr/share/doc/libgcrypt-1.10.2 Explicações do Comando --with-capabilities: Essa opção habilita o suporte a "libcap2". Observe que isso quebra o [2515]cryptsetup-2.4.3 Conteúdo Aplicativos Instalados: dumpsexp, hmac256, libgcrypt-config e mpicalc Biblioteca Instalada: libgcrypt.so Diretório Instalado: /usr/share/doc/libgcrypt-1.10.2 Descrições Curtas dumpsexp é uma ferramenta de depuração para expressões "S" hmac256 é uma implementação autônoma HMAC-SHA-256 usada para calcular um código de autenticação HMAC-SHA-256 libgcrypt-config determina os sinalizadores de compilação e do vinculador que deveriam ser usados para compilar e vincular aplicativos que usam libgcrypt mpicalc é uma calculadora RPN (Reverse Polish Notation) libgcrypt.so contém as funções criptográficas da API libgpg-error-1.47 Introdução a libgpg-error O pacote libgpg-error contém uma biblioteca que define valores comuns de erro para todos os componentes do GnuPG. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2516]https://www.gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1. 47.tar.bz2 * Transferência (FTP): [2517]ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-1.47.tar .bz2 * Soma de verificação MD5 da transferência: 58e054ca192a77226c4822bbee1b7fdb * Tamanho da transferência: 1,0 MB * Espaço em disco estimado exigido: 11 MB (com os testes) * Tempo de construção estimado: 0,1 UPC (com os testes) Instalação do libgpg-error Instale libgpg-error executando os seguintes comandos: ./configure --prefix=/usr && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install && install -v -m644 -D README /usr/share/doc/libgpg-error-1.47/README Conteúdo Aplicativos Instalados: gpg-error, gpgrt-config e yat2m Biblioteca Instalada: libgpg-error.so Diretórios Instalados: /usr/share/common-lisp/source/gpg-error, /usr/share/libgpg-error e /usr/share/doc/libgpg-error-1.47 Descrições Curtas gpg-error é usado para determinar códigos de erro da libgpg-error gpgrt-config é uma ferramenta ao estilo pkg-config para consultar as informações relacionadas à versão instalada da libgpg-error yat2m extrai páginas de manual a partir de um fonte Texinfo libgpg-error.so contém as funções da API da libgpg-error libgrss-0.7.0 Introdução a libgrss O pacote libgrss contém uma biblioteca projetada para manipular feeds RSS e Atom. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2518]https://download.gnome.org/sources/libgrss/0.7/libgrss-0.7.0. tar.xz * Transferência (FTP): [2519]ftp://ftp.acc.umu.se/pub/gnome/sources/libgrss/0.7/libgrss-0. 7.0.tar.xz * Soma de verificação MD5 da transferência: 7c0ee46a82dc0e9610183fe9ef8c7c1d * Tamanho da transferência: 356 KB * Espaço em disco estimado exigido: 10 MB * Tempo de construção estimado: 0,1 UPC Transferências Adicionais * Remendo exigido: [2520]https://www.linuxfromscratch.org/patches/blfs/12.0/libgrss-0. 7.0-bugfixes-2.patch Dependências do libgrss Exigida [2521]libsoup-2.74.3 Recomendada [2522]GTK-Doc-1.33.2 Instalação do libgrss Instale libgrss executando os seguintes comandos: patch -Np1 -i ../libgrss-0.7.0-bugfixes-2.patch && autoreconf -fv && ./configure --prefix=/usr --disable-static && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --enable-gtk-doc: Use esse parâmetro se GTK-Doc estiver instalado e você desejar reconstruir e instalar a documentação da API. Conteúdo Aplicativos Instalados: Nenhum Biblioteca Instalada: libgrss.so Diretórios Instalados: /usr/include/libgrss e /usr/share/doc/libgrss-0.7.0 Descrições Curtas libgrss.so fornece funções de API para lidar com feeds RSS libgsf-1.14.50 Introdução a libgsf O pacote libgsf contém uma biblioteca usada para fornecer uma camada extensível de abstração de entrada/saída para formatos estruturados de arquivo. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2523]https://download.gnome.org/sources/libgsf/1.14/libgsf-1.14.50 .tar.xz * Transferência (FTP): [2524]ftp://ftp.acc.umu.se/pub/gnome/sources/libgsf/1.14/libgsf-1.1 4.50.tar.xz * Soma de verificação MD5 da transferência: 1e9088c9c8869532945a10f12f1829c2 * Tamanho da transferência: 688 KB * Espaço em disco estimado exigido: 14 MB (com os testes) * Tempo de construção estimado: 0,2 UPC (com os testes) Dependências do libgsf Exigidas [2525]GLib-2.76.4 e [2526]libxml2-2.10.4 Recomendada [2527]gdk-pixbuf-2.42.10 (Para construir gsf-office-thumbnailer) Opcionais [2528]gobject-introspection-1.76.1 e [2529]GTK-Doc-1.33.2 Instalação do libgsf Instale libgsf executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Para testar os resultados, emita: make check. Dois testes, "t1004-zip-zip64.pl" e "t1005-zip-nonseekable.pl" são conhecidos por falharem. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --enable-gtk-doc: Use esse parâmetro se GTK-Doc estiver instalado e você desejar reconstruir e instalar a documentação da API. Conteúdo Aplicativos Instalados: gsf, gsf-office-thumbnailer e gsf-vba-dump Biblioteca Instalada: libgsf-1.so Diretórios Instalados: /usr/include/libgsf-1, /usr/share/gtk-doc/html/gsf e /usr/share/thumbnailers Descrições Curtas gsf é um utilitário simples de arquivamento, um pouco semelhante ao tar(1) gsf-office-thumbnailer é usado internamente por aplicativos GNOME, como Nautilus, para gerar miniaturas de vários tipos de arquivos de aplicativos de escritório gsf-vba-dump é usado para extrair macros do Visual Basic for Applications a partir de arquivos libgsf-1.so contém as funções da API libgsf libgudev-238 Introdução a libgudev O pacote libgudev contém ligações GObject para a libudev. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2530]https://download.gnome.org/sources/libgudev/238/libgudev-238. tar.xz * Transferência (FTP): [2531]ftp://ftp.acc.umu.se/pub/gnome/sources/libgudev/238/libgudev- 238.tar.xz * Soma de verificação MD5 da transferência: 46da30a1c69101c3a13fa660d9ab7b73 * Tamanho da transferência: 32 KB * Espaço em disco estimado exigido: 2,0 MB * Tempo de construção estimado: menos que 0,1 UPC Exigida [2532]GLib-2.76.4 Opcionais [2533]gobject-introspection-1.76.1 (para gir-data, necessário para o GNOME), [2534]GTK-Doc-1.33.2 e [2535]umockdev-0.17.18 (para testar) Instalação do libgudev Instale libgudev executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Para testar os resultados, emita: ninja test. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dgtk_doc=true: Use essa opção se o "GTK-Doc" estiver instalado e você desejar construir e instalar a documentação da API. Conteúdo Aplicativo Instalado: Nenhum Bibliotecas Instaladas: libgudev-1.0.so Diretórios Instalados: /usr/include/gudev-1.0 e /usr/share/gtk-doc/html/gudev Descrições Curtas libgudev-1.0.so é uma biblioteca amarradora baseada em GObject para a libudev libgusb-0.4.6 Introdução a libgusb O pacote libgusb contém os amarradores GObject para a libusb-1.0 que tornam fácil fazer controle assíncrono, transferências em massa e de interrupções com cancelamento adequado e integração em um loop principal. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2536]https://github.com/hughsie/libgusb/releases/download/0.4.6/li bgusb-0.4.6.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 309ebe36641fe53b883cdac8ad38cb94 * Tamanho da transferência: 52 KB * Espaço em disco estimado exigido: 4,9 MB (com testes) * Tempo de construção estimado: menos que 0,1 UPC (com os testes) Dependências do libgusb Exigidas [2537]JSON-GLib-1.6.6 e [2538]libusb-1.0.26 Recomendadas [2539]gobject-introspection-1.76.1, [2540]umockdev-0.17.18, [2541]usbutils-015 (para o arquivo de dados usb.ids, o qual também é exigido para os testes) e [2542]Vala-0.56.11 Opcionais [2543]Gi-DocGen-2023.1 Instalação do libgusb Instale libgusb executando os seguintes comandos: mkdir build && cd build && meson setup .. \ --prefix=/usr \ --buildtype=release \ -Ddocs=false && ninja Se você tiver o [2544]Gi-DocGen-2023.1 instalado e desejar construir a documentação da API para esse pacote, [então] emita: sed "/output: 'libgusb'/s/'\$/-0.4.6'/" -i ../docs/meson.build && meson configure -Ddocs=true && ninja Para testar os resultados, emita: ninja test. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Ddocs=false: Permite construir esse pacote sem [2545]Gi-DocGen-2023.1 instalado. Se você tiver o [2546]Gi-DocGen-2023.1 instalado e desejar reconstruir e instalar a documentação da API, um comando meson configure reconfigurará essa opção. Conteúdo Aplicativos Instalados: gusbcmd Biblioteca Instalada: libgusb.so Diretórios Instalados: /usr/include/gusb-1 e /usr/share/doc/libgusb-0.4.6 (se "gi-docgen" for usado) Descrições Curtas gusbcmd é uma ferramenta de depuração para a biblioteca "libgusb" libgusb.so contém as funções da API da libgusb libical-3.0.16 Introdução a libical O pacote libical contém uma implementação dos protocolos e formatos de dados "iCalendar". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2547]https://github.com/libical/libical/releases/download/v3.0.16/ libical-3.0.16.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 3799f9dde1db6f7eb0cb112b5e14ab60 * Tamanho da transferência: 900 KB * Espaço em disco estimado exigido: 24 MB (com os testes e a documentação da API) * Tempo de construção estimado: 0,3 UPC (com os testes e a documentação) Dependências do libical Exigida [2548]CMake-3.27.2 Recomendadas [2549]gobject-introspection-1.76.1 e [2550]Vala-0.56.11 (ambos exigidos pelo GNOME) Opcionais [2551]Base de Dados Berkeley-5.3.28, [2552]Doxygen-1.9.7 (para a documentação da API), [2553]Graphviz-8.1.0 (para a documentação da API), [2554]GTK-Doc-1.33.2 (para a documentação da API), [2555]ICU-73.2 e [2556]PyGObject-3.44.1 (para alguns testes) Instalação do libical Instale libical executando os seguintes comandos: Nota Esse pacote pode ocasionalmente falhar ao construir com múltiplos processadores. Veja-se [2557]Usando Múltiplos Processadores para mais informações. mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -DSHARED_ONLY=yes \ -DICAL_BUILD_DOCS=false \ -DGOBJECT_INTROSPECTION=true \ -DICAL_GLIB_VAPI=true \ .. && make -j1 Se tiver [2558]Doxygen-1.9.7, [2559]Graphviz-8.1.0 e [2560]GTK-Doc-1.33.2 instalados e desejar construir a documentação da API, [então] você deveria remover a chave -DICAL_BUILD_DOCS=false e emitir: make docs Para testar os resultados, emita: make test. Agora, como o(a) usuário(a) root: make install Se você tiver construído a documentação da API, [então] instale emitindo, como usuário(a) root: install -vdm755 /usr/share/doc/libical-3.0.16/html && cp -vr apidocs/html/* /usr/share/doc/libical-3.0.16/html Explicações do Comando -DCMAKE_BUILD_TYPE=Release: Essa chave é usada para aplicar um nível mais alto de otimização à compilação. -DSHARED_ONLY=yes: Essa chave é usada para a finalidade de construir somente as bibliotecas compartilhadas. -DICAL_BUILD_DOCS=false: Essa chave evita construir a documentação do GTK. Remova se você desejar construir a documentação. -DGOBJECT_INTROSPECTION=true: Essa chave é usada para gerar ligações de meta dados do "GObject". -DICAL_GLIB_VAPI=true: Essa chave é usada para a finalidade de construir ligações para [2561]Vala-0.56.11. -DUSE_BUILTIN_TZDATA=yes: Essa chave é usada para a finalidade de construir usando seus próprios dados de fuso horário. Conteúdo Aplicativos Instalados: Nenhum Bibliotecas Instaladas: libical_cxx.so, libical.so, libical-glib.so, libicalss_cxx.so, libicalss.so e libicalvcal.so Diretório Instalado: /usr/include/libical, /usr/include/libical-glib, /usr/lib/cmake/LibIcal, /usr/libexec/libical, /usr/share/gtk-doc/html/libical-glib (opcional) e /usr/share/doc/libical-3.0.16/html Descrições Curtas libical.so contém as funções da API da libical libical_cxx.so contém as ligações C++ da libical libical-glib.so contém as ligações "glib" da libical libicalss.so é uma biblioteca que te permite armazenar os dados do componente "iCal" no disco em uma variedade de maneiras libicalss_cxx.so contém as ligações C++ da libicalss libicalvcal.so é uma interface C de "vCard"/"vCalendar" libidn-1.41 Introdução a libidn libidn é um pacote projetado para manuseio de sequência internacionalizada de caracteres baseado nas especificações [2562]Stringprep, [2563]Punycode e [2564]IDNA definidas pelo grupo de trabalho "Internationalized Domain Names" (IDN) da Internet Engineering Task Force (IETF), usado para nomes de domínio internacionalizados. Isso é útil para converter dados originários da representação nativa do sistema em UTF-8; para transformar sequências de caracteres Unicode em sequências de caracteres ASCII; para permitir que os aplicativos usem certos rótulos de nome ASCII (começando com um prefixo especial) para representar rótulos de nome não ASCII; e para converter nomes inteiros de domínio para e de formulário "ASCII Compatible Encoding" (ACE). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2565]https://ftp.gnu.org/gnu/libidn/libidn-1.41.tar.gz * Transferência (FTP): [2566]ftp://ftp.gnu.org/gnu/libidn/libidn-1.41.tar.gz * Soma de verificação MD5 da transferência: 2cbff2f75f904328ac507af576b07197 * Tamanho da transferência: 2,5 MB * Espaço em disco estimado exigido: 22 MB (com os testes) * Tempo de construção estimado: 0,2 UPC (com os testes) Dependências do libidn Opcionais [2567]Pth-2.0.7, [2568]Emacs-29.1, [2569]GTK-Doc-1.33.2, [2570]OpenJDK-20.0.2, [2571]Valgrind-3.21.0 e [2572]Mono Instalação do libidn Instale libidn executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Para testar os resultados, execute: pushd tests && make check && popd Agora, como o(a) usuário(a) root: make install && find doc -name "Makefile*" -delete && rm -rf -v doc/{gdoc,idn.1,stamp-vti,man,texi} && mkdir -v /usr/share/doc/libidn-1.41 && cp -r -v doc/* /usr/share/doc/libidn-1.41 Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --enable-gtk-doc: Use esse parâmetro se GTK-Doc estiver instalado e você desejar reconstruir e instalar a documentação da API. --enable-java: Use essa chave para habilitar a construção da implementação Java da libidn. Observe que o [2573]OpenJDK-20.0.2 precisa estar instalado para usar essa opção. Conteúdo Aplicativo Instalado: idn Biblioteca Instalada: libidn.so Diretórios Instalados: /usr/share/doc/libidn-1.41 e /usr/share/gtk-doc/html/libidn Descrições Curtas idn é uma interface de linha de comando para a biblioteca de nomes internacionalizados de domínio libidn.so contém uma implementação genérica "Stringprep" que faz normalização Unicode 3.2 NFKC, mapeamento e proibição de caracteres e manuseio bidirecional de caracteres. Perfis para "Nameprep", "iSCSI", "SASL" e "XMPP" estão incluídos, bem como suporte para "Punycode" e "ASCII Compatible Encoding" (ACE) via IDNA. Um mecanismo para definir tabelas de validação específicas de "Top-Level Domain" (TLD) e para comparar sequências de caracteres com essas tabelas; bem como tabelas padrão para alguns TLDs estão inclusas libidn2-2.3.4 Introdução a libidn2 libidn2 é um pacote projetado para manuseio de sequências internacionalizadas de caracteres baseado em padrões originários do grupo de trabalho "IDN" da Internet Engineering Task Force (IETF), projetado para nomes internacionalizados de domínio. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2574]https://ftp.gnu.org/gnu/libidn/libidn2-2.3.4.tar.gz * Transferência (FTP): [2575]ftp://ftp.gnu.org/gnu/libidn/libidn2-2.3.4.tar.gz * Soma de verificação MD5 da transferência: a12109804fc9c5d7fb31f068c66655b8 * Tamanho da transferência: 2,0 MB * Espaço em disco estimado exigido: 21 MB (adicionar 2 MB para os testes) * Tempo de construção estimado: 0,1 UPC (adicionar 0,6 UPC para os testes) Dependências do libidn2 Recomendadas [2576]libunistring-1.1 Opcionais [2577]git-2.41.0 e [2578]GTK-Doc-1.33.2 Instalação do libidn2 Instale libidn2 executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --enable-gtk-doc: Use esse parâmetro se GTK-Doc estiver instalado e você desejar reconstruir e instalar a documentação da API. Conteúdo Aplicativo Instalado: idn2 Biblioteca Instalada: libidn2.so Diretório Instalado: /usr/share/gtk-doc/html/libidn2 Descrições Curtas idn2 é uma interface de linha de comando para a biblioteca internacionalizada de domínio libidn2.so contém uma implementação genérica "Stringprep" usada para manuseio de sequência internacionalizada de caracteres libiodbc-3.52.15 Introdução a libiodbc libiodbc é uma API para bases de dados compatíveis com ODBC. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2579]https://downloads.sourceforge.net/iodbc/libiodbc-3.52.15.tar. gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 89949a41e542bb1b880d7fcc4987dad2 * Tamanho da transferência: 1,0 MB * Espaço em disco estimado exigido: 26 MB * Tempo de construção estimado: 0,2 UPC Dependências do libiodbc Recomendada [2580]GTK+-2.24.33 (para criar a ferramenta GUI de administração) Instalação do libiodbc Instale libiodbc executando os seguintes comandos: ./configure --prefix=/usr \ --with-iodbc-inidir=/etc/iodbc \ --includedir=/usr/include/iodbc \ --disable-libodbc \ --disable-static && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Explicações do Comando --with-iodbc-inidir=/etc/iodbc: libiodbc instalará arquivos de configuração nesse diretório. --includedir=/usr/include/iodbc: Isso instala os cabeçalhos de interface em um diretório privado, para evitar um conflito com os cabeçalhos instalados pelo unixODBC. --disable-libodbc: Isso evita a instalação do link simbólico libodbc.so, para evitar um conflito com o unixODBC. --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativos Instalados: iodbc-config, iodbctest, iodbctestw e iodbcadm-gtk Bibliotecas Instaladas: libdrvproxy.so, libiodbc.so, libiodbcinst.so e libiodbcadm.so Diretório Instalado: /usr/include/iodbc, /usr/share/libiodbc e /etc/iodbc Descrições Curtas iodbc-config é um utilitário para recuperar as opções de instalação da "libiodbc" iodbctest{,w} são processadores interativos SQL iodbcadm-gtk é um utilitário gráfico de administração libksba-1.6.4 Introdução a Libksba O pacote Libksba contém uma biblioteca usada para criar certificados "X.509", bem como tornar a Cryptographic Message Syntax (CMS) facilmente acessível por outros aplicativos. Ambas as especificações são blocos de construção de "S/MIME" e "TLS". A biblioteca não depende de outra biblioteca criptográfica, mas fornece ganchos para fácil integração com a Libgcrypt. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2581]https://www.gnupg.org/ftp/gcrypt/libksba/libksba-1.6.4.tar.bz 2 * Transferência (FTP): [2582]ftp://ftp.gnupg.org/gcrypt/libksba/libksba-1.6.4.tar.bz2 * Soma de verificação MD5 da transferência: 17a0b93de57cd91c7e3264b107723092 * Tamanho da transferência: 656 KB * Espaço em disco estimado exigido: 10 MB (com os testes) * Tempo de construção estimado: 0,1 UPC (com os testes) Dependências do Libksba Exigida [2583]libgpg-error-1.47 Opcional [2584]Valgrind-3.21.0 Instalação do Libksba Instale Libksba executando os seguintes comandos: ./configure --prefix=/usr && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Conteúdo Aplicativo Instalado: Nenhum Biblioteca Instalada: libksba.so Diretório Instalado: Nenhum Descrições Curtas libksba.{so,a} contém as funções criptográficas da API liblinear-247 Introdução a liblinear Esse pacote fornece uma biblioteca para aprender classificadores lineares para aplicações de larga escala. Ele suporta "Support Vector Machines" (SVM) com perda L2 e L1, regressão logística, classificação multi classe e também "Máquinas Lineares de Programação" (SVMs de L1 regularizada). A complexidade computacional dele aumenta linearmente com o número de exemplos de treinamento, tornando-o um dos solucionadores SVM mais rápidos do mercado. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Nota Depois de atualizar esse pacote a partir de liblinear-1.96 ou anterior, você precisa reinstalar o [2585]Nmap-7.94, para a finalidade de vincular à nova biblioteca. Informação do Pacote * Transferência (HTTP): [2586]https://github.com/cjlin1/liblinear/archive/v247/liblinear-24 7.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 0c81dd2b2cabc4fba85f61b9dc51c4a3 * Tamanho da transferência: 560 KB * Espaço em disco estimado exigido: 1,6 MB * Tempo de construção estimado: menos que 0,1 UPC Instalação do liblinear Instale liblinear executando os seguintes comandos: make lib Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: install -vm644 linear.h /usr/include && install -vm755 liblinear.so.5 /usr/lib && ln -sfv liblinear.so.5 /usr/lib/liblinear.so Conteúdo Aplicativos Instalados: Nenhum Biblioteca Instalada: liblinear.so Diretórios Instalados: Nenhum Descrições Curtas liblinear.so é uma grande biblioteca de classificação linear libmbim-1.26.4 Introdução a libmbim O pacote libmbim contém uma biblioteca baseada em "GLib" para comunicação com modems "WWAN" e dispositivos que falam o protocolo "Mobile Interface Broadband Model" (MBIM). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2587]https://www.freedesktop.org/software/libmbim/libmbim-1.26.4.t ar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 58dea20cad346f31d2873b68385a9973 * Tamanho da transferência: 553 KB * Espaço em disco estimado exigido: 33 MB (com os testes) * Tempo de construção estimado: 0,2 UPC (com os testes) Dependências do libmbim Recomendada [2588]gobject-introspection-1.76.1 Opcionais [2589]GTK-Doc-1.33.2 e [2590]help2man Instalação do libmbim Instale libmbim executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --enable-gtk-doc: Use esse parâmetro se GTK-Doc estiver instalado e você desejar reconstruir e instalar a documentação da API. Conteúdo Aplicativos Instalados: mbimcli e mbim-network Bibliotecas Instaladas: libmbim-glib.so Diretórios Instalados: /usr/include/libmbim-glib e /usr/share/gtk-doc/html/libmbim-glib Descrições Curtas mbimcli é um utilitário usado para controlar dispositivos "MBIM" mbim-network é um utilitário usado para gerenciamento simples de rede dos dispositivos "MBIM" libmbim-glib.so contém funções API para comunicação com modems "WWAN" e dispositivos que falam o protocolo "Mobile Interface Broadband Model" (MBIM) libnvme-1.5 Introdução ao libnvme O pacote libnvme é uma biblioteca que fornece definições de tipo para estruturas de especificação NVMe, enumerações e campos de bits, funções auxiliares para construir, despachar e decodificar comandos e cargas úteis e utilitários para conectar, escanear e gerenciar dispositivos NVMe em um sistema Linux. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2591]https://github.com/linux-nvme/libnvme/archive/refs/tags/v1.5/ libnvme-1.5.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 8289e988a3244a35cc326aa564a7a727 * Tamanho da transferência: 556 KB * Espaço em disco estimado exigido: 9,0 MB * Tempo de construção estimado: menos que 0,1 UPC (incluindo testes) Dependências do libnvme Opcionais [2592]JSON-C-0.17, [2593]keyutils-1.6.1 e [2594]SWIG-4.1.1 Instalação do libnvme Instale o libnvme executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release -Dlibdbus=auto .. && ninja Para executar os testes, emita: ninja test. Agora, como o(a) usuário(a) root: ninja install Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: libnvme.so e libnvme-mi.so Diretórios Instalados: /usr/include/nvme e /usr/lib/python3.11/site-packages/libnvme Descrições Curtas libnvme.so contém funções usadas para lidar com operações relacionadas a dispositivos NVMe. libpaper-2.1.1 Introdução ao libpaper Esse pacote destina-se a fornecer uma maneira simples para os aplicativos executarem ações baseadas em um sistema ou tamanho de papel especificado pelo(a) usuário(a). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2595]https://github.com/rrthomas/libpaper/releases/download/v2.1.1 /libpaper-2.1.1.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 3ee7420ed7afae14a3387a4a0e68c60f * Tamanho da transferência: 1,2 MB * Espaço em disco estimado exigido: 11 MB (com testes) * Tempo de construção estimado: 0,1 UPC (com testes) Instalação do libpaper Instale o libpaper executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc \ --disable-static \ --enable-relocatable \ --docdir=/usr/share/doc/libpaper-2.1.1 && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --enable-relocatable: Essa opção é necessária para executar os testes. Configurando o libpaper Informação de Configuração O tamanho do papel é determinado automaticamente a partir da localidade do sistema; veja-se LC_PAPER em locale(7). Se você quiser substituí-lo, crie um arquivo papersize no diretório de configuração do(a) usuário(a). Por exemplo: mkdir -pv ~/.config && echo "a4" > ~/.config/papersize Se você quiser substituir o tamanho do papel globalmente (para todos(as) os(as) usuários(as)), configure a variável de ambiente PAPERSIZE. Por exemplo: echo "PAPERSIZE=a4" > /etc/profile.d/libpaper.sh Você pode usar um tamanho de papel diferente, como “letter”. Conteúdo Aplicativos Instalados: paper e paperconf Biblioteca Instalada: libpaper.so Diretórios Instalados: /usr/share/doc/libpaper-2.1.1 Descrições Curtas paper imprime informação de configuração de papel paperconf imprime informação de configuração de papel em um modo de compatibilidade libpaper.so contém funções para interrogar a biblioteca de papéis libportal-0.6 Introdução a libportal O pacote libportal fornece uma biblioteca que contém APIs assíncronas estilo GIO para a maioria dos portais Flatpak. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2596]https://github.com/flatpak/libportal/releases/download/0.6/li bportal-0.6.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: e16c8ca2621aff64774a1d2ad6a2a346 * Tamanho da transferência: 64 KB * Espaço em disco estimado exigido: 2,9 MB * Tempo de construção estimado: 0,1 UPC Dependências do libportal Exigida [2597]gobject-introspection-1.76.1 Recomendadas [2598]GTK+-3.24.38, [2599]GTK-4.12.0 e ([2600]Qt-5.15.10 ou [2601]qt-alternate-5.15.10) Opcionais [2602]Gi-DocGen-2023.1 e [2603]Vala-0.56.11 Instalação do libportal Atenção Se uma versão anterior do "libportal" estiver instalada, [então] mova os cabeçalhos para fora do caminho, de forma que os pacotes posteriores não encontrem conflitos (como o(a) usuário(a) root): if [ -e /usr/include/libportal ]; then rm -rf /usr/include/libportal.old && mv -vf /usr/include/libportal{,.old} fi Instale libportal executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release -Ddocs=false .. && ninja Se você tiver [2604]Gi-DocGen-2023.1 instalado e desejar construir a documentação da API para esse pacote, [então] emita: sed "/output/s/-1/-0.6/" -i ../doc/meson.build && meson configure -Ddocs=true && ninja Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Ddocs=false: Permite construir esse pacote sem [2605]Gi-DocGen-2023.1 instalado. Se você tiver o [2606]Gi-DocGen-2023.1 instalado e desejar reconstruir e instalar a documentação da API, um comando meson configure reconfigurará essa opção. -Dbackends=gtk3,gtk4,qt5: Essa chave permite que você configure as estruturas disponíveis de retaguarda. Você consegue usá-la para desabilitar a dependência de gtk-3, gtk-4 ou qt-5. A maioria dos aplicativos que usam libportal usará ou gtk-4 ou gtk-3. O padrão é o de construir todas as três estruturas de retaguarda. Conteúdo Aplicativos Instalados: Nenhum Bibliotecas Instaladas: libportal.so, libportal-gtk3.so, libportal-gtk4.so e libportal-qt5.so Diretórios Instalados: /usr/include/libportal e /usr/share/gtk-doc/html/libportal Descrições Curtas libportal.so fornece APIs assíncronas no estilo GIO para a maioria dos portais Flatpak libportal-gtk3.so fornece funções específicas do GTK+-3 para interagir com os portais Flatpak. libportal-gtk4.so fornece funções específicas do GTK-4 para interagir com portais Flatpak. libportal-qt5.so fornece funções específicas do Qt5 para interagir com portais Flatpak. libptytty-2.0 Introdução a libptytty O pacote libptytty fornece uma biblioteca que permite o manuseio seguro e independente do Sistema Operacional de pty/tty e de utmp/wtmp/lastlog. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2607]http://dist.schmorp.de/libptytty/libptytty-2.0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 2a7f3f3c0d3ef71902da745dc7959529 * Tamanho da transferência: 48 KB * Espaço em disco estimado exigido: 1,4 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do libptytty Exigida [2608]CMake-3.27.2 Instalação do libptytty Instale libptytty executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -DPT_UTMP_FILE:STRING=/run/utmp \ .. && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Conteúdo Aplicativos Instalados: Nenhum Bibliotecas Instaladas: libptytty.so Diretórios Instalados: Nenhum Descrições Curtas libptytty.so fornece manuseio seguro e independente do Sistema Operacional de pty/tty e de utmp/wtmp/lastlog libqalculate-4.7.0 Introdução a libqalculate O pacote libqalculate contém uma biblioteca que fornece funções para uma calculadora multi propósito. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2609]https://github.com/Qalculate/libqalculate/releases/download/v 4.7.0/libqalculate-4.7.0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 7fcad72cb9779afc14fecdf0a0dcc9f1 * Tamanho da transferência: 2,5 MB * Espaço em disco estimado exigido: 140 MB (com testes) * Tempo de construção estimado: 0,7 UPC (com testes; ambos usando paralelismo=4) Dependências do libqalculate Exigidas [2610]cURL-8.2.1, [2611]ICU-73.2 e [2612]libxml2-2.10.4 Opcionais [2613]Doxygen-1.9.7 Instalação do libqalculate Instale libqalculate executando os seguintes comandos: ./configure --prefix=/usr \ --disable-static \ --docdir=/usr/share/doc/libqalculate-4.7.0 && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativos Instalados: qalc Biblioteca Instalada: libqalculate.so Diretórios Instalados: /usr/include/libqalculate, /usr/share/doc/libqalculate-4.7.0 e /usr/share/qalculate Descrições Curtas qalc é uma calculadora de linha de comando poderosa e fácil de usar libqalculate.so contém as funções da API da libqalculate libqmi-1.30.8 Introdução a libqmi O pacote libqmi contém uma biblioteca baseada em GLib para comunicação com modems WWAN e dispositivos que falam o protocolo Qualcomm MSM Interface (QMI). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2614]https://www.freedesktop.org/software/libqmi/libqmi-1.30.8.tar .xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 5ec8838914f80e1dfa4d2fa8cc2f186d * Tamanho da transferência: 1,2 MB * Espaço em disco estimado exigido: 151 MB (com os testes) * Tempo de construção estimado: 0,3 UPC (Usando paralelismo=4; com os testes) Dependências do libqmi Exigidas [2615]GLib-2.76.4 e [2616]libgudev-238 Recomendadas [2617]gobject-introspection-1.76.1 e [2618]libmbim-1.26.4 Opcionais [2619]GTK-Doc-1.33.2, [2620]help2man e [2621]libqrtr-glib Instalação do libqmi Instale libqmi executando os seguintes comandos: PYTHON=python3 ./configure --prefix=/usr --disable-static && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --enable-gtk-doc: Use esse parâmetro se GTK-Doc estiver instalado e você desejar reconstruir e instalar a documentação da API. --disable-mbim-qmux: Essa chave desabilita o suporte para usar um dispositivo de controle MBIM para mensagens QMI. Use essa chave se você não instalou o libmbim. Conteúdo Aplicativos Instalados: qmicli, qmi-firmware-update e qmi-network Bibliotecas Instaladas: libqmi-glib.so Diretórios Instalados: /usr/include/libqmi-glib e /usr/share/gtk-doc/html/libqmi-glib Descrições Curtas qmicli é um utilitário usado para controlar dispositivos QMI qmi-firmware-update é um utilitário usado para realizar atualizações de firmware em dispositivos QMI qmi-network é um utilitário usado para gerenciamento simples de rede de comunicação de dispositivos QMI libqmi-glib.so contém funções de API para comunicação com modems WWAN e dispositivos que falam o protocolo Qualcomm MSM Interface (QMI) libseccomp-2.5.4 Introdução a libseccomp O pacote libseccomp fornece uma interface fácil de usar e independente de plataforma para o mecanismo de filtragem "syscall" do núcleo Linux. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2622]https://github.com/seccomp/libseccomp/releases/download/v2.5. 4/libseccomp-2.5.4.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 74008bb33234e0c2a0d998e7bee5c625 * Tamanho da transferência: 624 KB * Espaço em disco estimado exigido: 6,3 MB (adicional 3,8 MB para os testes) * Tempo de construção estimado: menos que 0,1 UPC (adicional 2,1 UPC para os testes) Dependências do libseccomp Opcionais [2623]Which-2.21 (necessitado para os testes), [2624]Valgrind-3.21.0 e [2625]LCOV Instalação do libseccomp Instale libseccomp executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativo Instalado: scmp_sys_resolver Biblioteca Instalada: libseccomp.so Diretórios Instalados: Nenhum Descrições Curtas scmp_sys_resolver é usado para resolver chamadas de sistema para aplicativos libseccomp.so contém funções de API para traduzir chamadas de sistema libsigc++-2.12.0 Introdução a libsigc++ O pacote libsigc++ implementa um sistema de retorno de chamada seguro para C++ padrão. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2626]https://download.gnome.org/sources/libsigc++/2.12/libsigc++-2 .12.0.tar.xz * Transferência (FTP): [2627]ftp://ftp.acc.umu.se/pub/gnome/sources/libsigc++/2.12/libsigc ++-2.12.0.tar.xz * Soma de verificação MD5 da transferência: 943b7aef5d74fbc4f4a3bb67bcfaae02 * Tamanho da transferência: 4,8 MB * Espaço em disco estimado exigido: 28 MB (com os testes) * Tempo de construção estimado: 0,2 UPC (com os testes) Dependências do libsigc++ Recomendadas [2628]Boost-1.83.0 e [2629]libxslt-1.1.38 Opcionais [2630]DocBook-utils-0.6.14, [2631]docbook-xml-5.0, [2632]Doxygen-1.9.7 e [2633]mm-common Instalação do libsigc++ Instale libsigc++ executando os seguintes comandos: mkdir bld && cd bld && meson setup --prefix=/usr --buildtype=release .. && ninja Para testar os resultados, emita: ninja test. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando -Dbuild-documentation=true: Use essa chave se [2634]Doxygen-1.9.7 estiver instalado e você desejar construir e instalar a documentação da API. Conteúdo Aplicativos Instalados: Nenhum Biblioteca Instalada: libsigc-2.0.so Diretórios Instalados: /usr/{include,lib}/sigc++-2.0 e /usr/share/{devhelp/books,doc}/libsigc++-2.0 (se a documentação estiver habilitada) Descrições Curtas libsigc-2.0.so contém as funções da API da libsigc++ libsigsegv-2.14 Introdução a libsigsegv "libsigsegv" é uma biblioteca para lidar com falhas de página no modo de usuário(a). Uma falha de página ocorre quando um aplicativo tenta acessar uma região da memória que não está disponível atualmente. Capturar e manusear uma falha de página é uma técnica útil para implementar memória virtual paginável, acesso mapeado em memória a bases de dados persistentes, coletores geracionais de lixo, manuseadores de estouro de pilha e memória compartilhada distribuída. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2635]https://ftp.gnu.org/gnu/libsigsegv/libsigsegv-2.14.tar.gz * Transferência (FTP): [2636]ftp://ftp.gnu.org/gnu/libsigsegv/libsigsegv-2.14.tar.gz * Soma de verificação MD5 da transferência: 63a2b35f11b2fbccc3d82f9e6c6afd58 * Tamanho da transferência: 456 KB * Espaço em disco estimado exigido: 3,6 MB (com os testes) * Tempo de construção estimado: menos que 0,1 UPC (com os testes) Instalação do libsigsegv Instale libsigsegv executando os seguintes comandos: ./configure --prefix=/usr \ --enable-shared \ --disable-static && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Explicações do Comando --enable-shared: Essa chave garante que as bibliotecas compartilhadas sejam compiladas. --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativos Instalados: Nenhum Biblioteca Instalada: libsigsegv.so Diretórios Instalados: Nenhum Descrições Curtas libsigsegv.so é uma biblioteca para lidar com falhas de página no modo de usuário(a) libssh2-1.11.0 Introdução a libssh2 O pacote Libssh2 é uma biblioteca C do lado do cliente que implementa o protocolo "SSH2". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2637]https://www.libssh2.org/download/libssh2-1.11.0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: a01d543fd891ca48fe47726540d50b17 * Tamanho da transferência: 1,1 MB * Espaço em disco estimado exigido: 13 MB (com os testes) * Tempo de construção estimado: 0,2 UPC (com os testes) Dependências do libssh2 Opcionais [2638]CMake-3.27.2 (pode ser usado em vez do conjunto de comandos sequenciais configure), [2639]libgcrypt-1.10.2 (pode ser usado em vez do OpenSSL), [2640]OpenSSH-9.4p1 (para alguns testes) e [2641]Docker (para alguns testes) Instalação do libssh2 Se você quiser testar o pacote, exclua os testes que exigem uma biblioteca estática: sed -E '/^DOCKER_TEST/,/^SSHD_TEST/s/test_(auth_keyboard_info.* |hostkey |simple )/$(NOTHING)/' \ -i tests/Makefile.inc && autoreconf -fi Instale libssh2 executando os seguintes comandos: ./configure --prefix=/usr \ --disable-docker-tests \ --disable-static && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-docker-tests: Desabilita os testes que exigem Docker, o qual está além do escopo do BLFS. Remova essa chave se você tiver instalado o Docker e desejar executar a suíte de teste. --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativos Instalados: Nenhum Biblioteca Instalada: libssh2.so Diretórios Instalados: Nenhum Descrições Curtas libssh2.so contém funções para usar o protocolo "SSH2" libstatgrab-0.92.1 Introdução a libstatgrab Essa é uma biblioteca que fornece acesso multiplataforma a estatísticas relativas ao sistema no qual é executada. Ela está escrita em C e apresenta uma seleção de interfaces úteis que podem ser usadas para acessar estatísticas chave do sistema. A lista atual de estatísticas inclui uso de CPU, utilização de memória, uso de disco, contagem de processos, tráfego de rede de comunicação, Entrada/Saída de disco e mais. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2642]https://www.mirrorservice.org/sites/ftp.i-scream.org/pub/i-sc ream/libstatgrab/libstatgrab-0.92.1.tar.gz * Transferência (FTP): [2643]ftp://www.mirrorservice.org/sites/ftp.i-scream.org/pub/i-scre am/libstatgrab/libstatgrab-0.92.1.tar.gz * Soma de verificação MD5 da transferência: af685494e985229e0ac46365bc0cd50e * Tamanho da transferência: 800 KB * Espaço em disco estimado exigido: 7,6 MB (com os testes) * Tempo de construção estimado: 0,1 UPC (adicionar 1,5 UPC para os testes) Dependências da libstatgrab Opcionais [2644]log4cplus-2.1.0 Instalação do libstatgrab Instale libstatgrab executando os seguintes comandos: ./configure --prefix=/usr \ --disable-static \ --docdir=/usr/share/doc/libstatgrab-0.92.1 && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativos Instalados: saidar, statgrab, statgrab-make-mrtg-config e statgrab-make-mrtg-index Biblioteca Instalada: libstatgrab.so Diretórios Instalados: /usr/share/doc/libstatgrab-0.92.1 Descrições Curtas saidar é uma ferramenta baseada em "curses" para visualizar estatísticas do sistema statgrab é uma interface estilo "sysctl" para estatísticas do sistema statgrab-make-mrtg-config gera configuração MRTG statgrab-make-mrtg-index gera uma página de índice XHTML a partir de arquivos de configuração MRTG ou da entrada gerada padrão libstatgrab.so contém as funções da API da libstatgrab libtasn1-4.19.0 Introdução a libtasn1 libtasn1 é uma biblioteca C altamente portável que codifica e decodifica dados DER/BER seguindo um esquema ASN.1. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2645]https://ftp.gnu.org/gnu/libtasn1/libtasn1-4.19.0.tar.gz * Transferência (FTP): [2646]ftp://ftp.gnu.org/gnu/libtasn1/libtasn1-4.19.0.tar.gz * Soma de verificação MD5 da transferência: f701ab57eb8e7d9c105b2cd5d809b29a * Tamanho da transferência: 1,7 MB * Espaço em disco estimado exigido: 17 MB (com os testes) * Tempo de construção estimado: 0,8 UPC (com os testes) Dependências do libtasn1 Opcionais [2647]GTK-Doc-1.33.2 e [2648]Valgrind-3.21.0 Instalação do libtasn1 Instale libtasn1 executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Se não passou o parâmetro --enable-gtk-doc para o script configure, [então] você consegue instalar a documentação da API usando o seguinte comando como o(a) usuário(a) root: make -C doc/reference install-data-local Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --enable-gtk-doc: Esse parâmetro normalmente é usado se o GTK-Doc estiver instalado e você desejar reconstruir e instalar a documentação da API. Ele está quebrado para esse pacote devido ao uso de um aplicativo gtk-doc há muito obsoleto que não mais está disponível. Conteúdo Aplicativos Instalados: asn1Coding, asn1Decoding e asn1Parser Biblioteca Instalada: libtasn1.so Diretório Instalado: /usr/share/gtk-doc/html/libtasn1 Descrições Curtas asn1Coding é um codificador de DER ASN.1 asn1Decoding é um decodificador de DER ASN.1 asn1Parser é um gerador de árvore de sintaxe ASN.1 para a libtasn1 libtasn1.so é uma biblioteca para manipulação de Abstract Syntax Notation One (ASN.1) e de Distinguish Encoding Rules (DER) libunique-1.1.6 Introdução a libunique O pacote libunique contém uma biblioteca para escrever aplicativos de instância única. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2649]https://download.gnome.org/sources/libunique/1.1/libunique-1. 1.6.tar.bz2 * Transferência (FTP): [2650]ftp://ftp.acc.umu.se/pub/gnome/sources/libunique/1.1/libuniqu e-1.1.6.tar.bz2 * Soma de verificação MD5 da transferência: 7955769ef31f1bc4f83446dbb3625e6d * Tamanho da transferência: 328 KB * Espaço em disco estimado exigido: 7,0 MB * Tempo de construção estimado: 0,2 UPC Transferências Adicionais * Remendo exigido: [2651]https://www.linuxfromscratch.org/patches/blfs/12.0/libunique- 1.1.6-upstream_fixes-1.patch Dependências do libunique Exigidas [2652]GTK+-2.24.33, também [2653]GTK-Doc-1.33.2 (para "autoreconf") Opcionais [2654]gobject-introspection-1.76.1 Instalação do libunique Instale libunique executando os seguintes comandos: patch -Np1 -i ../libunique-1.1.6-upstream_fixes-1.patch && autoreconf -fi && ./configure --prefix=/usr \ --disable-dbus \ --disable-static && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-dbus: Essa chave desabilita a infraestrutura de retaguarda D-Bus em favor da infraestrutura de retaguarda "GDBus". --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --enable-gtk-doc: Use esse parâmetro se GTK-Doc estiver instalado e você desejar reconstruir e instalar a documentação da API. Conteúdo Aplicativos Instalados: Nenhum Biblioteca Instalada: libunique-1.0.so Diretórios Instalados: /usr/include/unique-1.0 e /usr/share/gtk-doc/html/unique Descrições Curtas libunique-1.0.so contém as funções da API da libunique para suporte de instância única libunistring-1.1 Introdução a libunistring libunistring é uma biblioteca que fornece funções para manipular sequências de caracteres Unicode e para manipular sequências de caracteres C de acordo com o padrão Unicode. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2655]https://ftp.gnu.org/gnu/libunistring/libunistring-1.1.tar.xz * Transferência (FTP): [2656]ftp://ftp.gnu.org/gnu/libunistring/libunistring-1.1.tar.xz * Soma de verificação MD5 da transferência: 0dfba19989ae06b8e7a49a7cd18472a1 * Tamanho da transferência: 2,3 MB * Espaço em disco estimado exigido: 51 MB (adicionar 56 MB para os testes) * Tempo de construção estimado: 0,4 UPC (Usando paralelismo=4; adicionar 1,0 UPC para os testes) Dependências do libunistring Opcionais [2657]texlive-20230313 (ou [2658]install-tl-unx) (para reconstruir a documentação) Instalação do libunistring Instale libunistring executando os seguintes comandos: ./configure --prefix=/usr \ --disable-static \ --docdir=/usr/share/doc/libunistring-1.1 && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativos Instalados: Nenhum Bibliotecas Instaladas: libunistring.so Diretório Instalado: /usr/include/unistring e /usr/share/doc/libunistring-1.1 Descrições Curtas libunistring.so fornece a API da biblioteca de sequências de caracteres Unicode libunwind-1.6.2 Introdução a libunwind O pacote libunwind contém uma interface de programação C portável e eficiente (API) para determinar a cadeia de chamadas de um aplicativo. A API fornece adicionalmente os meios para manipular o estado preservado (salvo pelo chamado) de cada quadro de chamada e para retomar a execução em qualquer ponto da cadeia de chamadas ("goto" não local). A API suporta operação local (mesmo processo) e remota (entre processos). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2659]https://download.savannah.nongnu.org/releases/libunwind/libun wind-1.6.2.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: f625b6a98ac1976116c71708a73dc44a * Tamanho da transferência: 884 KB * Espaço em disco estimado exigido: 20 MB (com os testes) * Tempo de construção estimado: 0,2 UPC (com os testes) Dependências do libunwind Opcionais [2660]texlive-20230313 (para "latex2man") Instalação do libunwind Instale libunwind executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Para testar os resultados, emita: make check. Dois testes, "run-coredump-unwind" e "run-coredump-unwind-mdi" são conhecidos por falharem. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativos Instalados: Nenhum Bibliotecas Instaladas: libunwind.so, libunwind-coredump.so, libunwind-generic.so, libunwind-ptrace.so, libunwind-setjmp.so e libunwind-x86_64.so Diretórios Instalados: Nenhum liburcu-0.14.0 Introdução a liburcu O pacote userspace-rcu fornece um conjunto de bibliotecas RCU (read-copy-update) do espaço de usuário(a). Essas bibliotecas de sincronização de dados fornecem acesso de leitura que escala linearmente com o número de núcleos. Ela faz isso permitindo que várias cópias de uma dada estrutura de dados vivam ao mesmo tempo e monitorando os acessos à estrutura de dados para detectar períodos de carência depois dos quais a recuperação de memória é possível. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2661]https://lttng.org/files/urcu/userspace-rcu-0.14.0.tar.bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: 0cd5647788b048a5d6bbdb3b08d46299 * Tamanho da transferência: 648 KB * Espaço em disco estimado exigido: 25 MB (com os testes) * Tempo de construção estimado: 0,2 UPC (com os testes) Instalação do liburcu Instale liburcu executando os seguintes comandos: ./configure --prefix=/usr \ --disable-static \ --docdir=/usr/share/doc/liburcu-0.14.0 && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Conteúdo Aplicativos Instalados: Nenhum Bibliotecas Instaladas: liburcu.so, liburcu-bp.so, liburcu-cds.so, liburcu-common.so, liburcu-mb.so, liburcu-memb.so, liburcu-qsbr.so e liburcu-signal.so Diretórios Instalados: /usr/include/urcu e /usr/share/doc/liburcu-0.14.0 libusb-1.0.26 Introdução a libusb O pacote libusb contém uma biblioteca usada por alguns aplicativos para acesso a dispositivos USB. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2662]https://github.com/libusb/libusb/releases/download/v1.0.26/li busb-1.0.26.tar.bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: 9c75660dfe1d659387c37b28c91e3160 * Tamanho da transferência: 608 KB * Espaço em disco estimado exigido: 5,8 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do libusb Opcionais [2663]Doxygen-1.9.7 Configurando Libusb Para acessar dispositivos brutos USB (aqueles não tratados como um disco pelo controlador de armazenamento em massa), o suporte apropriado precisa estar disponível no núcleo. Verifique a configuração do seu núcleo: Device Drivers ---> [*] USB support ---> [USB_SUPPORT] <*/M> Support for Host-side USB [USB] # These are most common USB controller drivers for PC-like systems. # For modern systems often [USB_XHCI_HCD] is the only one needed # even if the system has USB 2.0 ports: < /*/M> xHCI HCD (USB 3.0) support [USB_XHCI_HCD] < /*/M> EHCI HCD (USB 2.0) support [USB_EHCI_HCD] < /*/M> OHCI HCD (USB 1.1) support [USB_OHCI_HCD] Para mais detalhes a respeito do como configurar dispositivos USB, veja-se [2664]“Consequências do Dispositivo USB”. Instalação do libusb Instale libusb executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Se o Doxygen estiver instalado e você desejar construir a documentação da API, [então] emita os seguintes comandos: pushd doc && doxygen -u doxygen.cfg && make docs && popd Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Se você construiu a documentação da API, [então] instale-a usando os seguintes comandos como o(a) usuário(a) root: install -v -d -m755 /usr/share/doc/libusb-1.0.26/apidocs && install -v -m644 doc/api-1.0/* \ /usr/share/doc/libusb-1.0.26/apidocs Conteúdo Aplicativos Instalados: Nenhum Biblioteca Instalada: libusb-1.0.so Diretórios Instalados: /usr/include/libusb-1.0 e /usr/share/doc/libusb-1.0.26 Descrições Curtas libusb-1.0.so contém funções de API usadas para acessar hardware USB libuv-1.46.0 Introdução a libuv O pacote libuv é uma biblioteca de suporte multiplataforma com foco em Entrada/Saída assíncrona. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2665]https://dist.libuv.org/dist/v1.46.0/libuv-v1.46.0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: fa56dafe664d21f9568adebc428d2d64 * Tamanho da transferência: 1,2 MB * Espaço em disco estimado exigido: 14 MB (adicionar 14 MB para testes) * Tempo de construção estimado: menos que 0,1 UPC (adicionar 0,5 UPC para testes) Instalação do libuv Instale libuv executando os seguintes comandos: Cuidado O comando sh autogen.sh abaixo falha se a variável de ambiente "ACLOCAL" estiver configurada conforme especificado em [2666]Xorg-7. Se for usado, [então] "ACLOCAL" precisa ser desconfigurada para esse pacote e, em seguida, reconfigurada para outros pacotes. sh autogen.sh && ./configure --prefix=/usr --disable-static && make Se você deseja executar os testes, [então] execute: make check como um(a) usuário(a) não root. Agora, como o(a) usuário(a) root: make install Conteúdo Aplicativos Instalados: Nenhum Biblioteca Instalada: libuv.so Diretório Instalado: /usr/include/uv Descrições Curtas libuv.so contém funções de API para operações assíncronas de Entrada/Saída libxkbcommon-1.5.0 Introdução a libxkbcommon libxkbcommon é um compilador de mapa de teclas e biblioteca de suporte que processa um subconjunto reduzido de mapas de teclas conforme definido pela especificação "XKB". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2667]https://xkbcommon.org/download/libxkbcommon-1.5.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 40f0486b4eb491928ec6616c2ff85120 * Tamanho da transferência: 464 KB * Espaço em disco estimado exigido: 19 MB (com os testes) * Tempo de construção estimado: 0,2 UPC (com os testes) Dependências do libxkbcommon Exigida [2668]xkeyboard-config-2.39 (tempo de execução) Recomendadas [2669]libxcb-1.16, [2670]Wayland-1.22.0 e [2671]wayland-protocols-1.32 Opcionais [2672]Doxygen-1.9.7 Instalação do libxkbcommon Instale libxkbcommon executando os seguintes comandos: mkdir build && cd build && meson setup .. \ --prefix=/usr \ --buildtype=release \ -Denable-docs=false && ninja Para testar os resultados, emita: ninja test. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Denable-docs=false: Essa chave desabilita a geração de documentação. Remova-a se [2673]Doxygen-1.9.7 estiver instalado. mv -v /usr/share/doc/libxkbcommon{,-1.5.0}: se você removeu "-Denable-docs=false", [então] use esse comando para instalar a documentação em um diretório versionado. Conteúdo Aplicativos Instalados: xkbcli Bibliotecas Instaladas: libxkbcommon.so, libxkbcommon-x11.so e libxkbregistry.so Diretórios Instalados: /usr/include/xkbcommon, /usr/libexec/xkbcommon e /usr/share/doc/libxkbcommon-1.5.0 Descrições Curtas xkbcli fornece um depurador e compilador para mapas de teclas "XKB" libxkbcommon.so contém as funções da API da libxkbcommon libxkbcommon-x11.so contém as funções específicas X11 da API da libxkbcommon libxkbregistry.so contém uma lista de modelos disponíveis, esquemas e variantes "XKB" para um dado conjunto de regras libxml2-2.10.4 Introdução a libxml2 O pacote libxml2 contém bibliotecas e utilitários usados para analisar arquivos "XML". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2674]https://download.gnome.org/sources/libxml2/2.10/libxml2-2.10. 4.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 76808c467a58c31e2dbd511e71d5fd13 * Tamanho da transferência: 2,5 MB * Espaço em disco estimado exigido: 106 MB (com testes) * Tempo de construção estimado: 0,4 UPC (Usando paralelismo=4; com os testes) Transferências Adicionais * Suíte de Teste Opcional: [2675]https://www.w3.org/XML/Test/xmlts20130923.tar.gz - Isso habilita make check para se fazer uma testagem completa. Dependências do libxml2 Opcionais [2676]ICU-73.2 (veja-se abaixo) e [2677]Valgrind-3.21.0 (possivelmente seja usado nos testes) Nota O antigo módulo Python2 pode ser construído depois que libxml2.so tiver sido instalada; veja-se [2678]Módulo python2 libxml2-2.10.4. Instalação do libxml2 Instale libxml2 executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc \ --disable-static \ --with-history \ PYTHON=/usr/bin/python3 \ --docdir=/usr/share/doc/libxml2-2.10.4 && make Se você baixou a suíte de teste, [então] emita o seguinte comando: tar xf ../xmlts20130923.tar.gz Para testar os resultados, emita: make check > check.log. Um sumário dos resultados pode ser obtido com grep -E '^Total|expected' check.log. Se [2679]Valgrind-3.21.0 estiver instalado e você desejar verificar vazamentos de memória, [então] substitua check por check-valgrind. Nota Os testes usam [2680]http://localhost/ para testar a análise de entidades externas. Se a máquina onde você executar os testes servir como um sítio da Web, [então] os testes possivelmente travem, dependendo do conteúdo do arquivo servido. Portanto, é recomendado desligar o servidor durante os testes; como o(a) usuário(a) root: systemctl stop httpd.service Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --with-history: Essa chave habilita o suporte Readline ao executar xmlcatalog ou xmllint no modo shell. PYTHON=/usr/bin/python3: Permite construir o módulo "libxml2" com "Python3" em vez de "Python2". --with-icu: Adicione essa chave se você tiver construído [2681]ICU-73.2, para melhor suporte a Unicode. Nota Se a chave --with-icu for usada, os(as) editores(as) do BLFS recomendam remover referências desnecessárias para as bibliotecas ICU. Isso impedirá muitos pacotes que usam libxml2 de desnecessariamente se vincularem às bibliotecas ICU. Isso, por sua vez, evitará a necessidade de reconstruir muitos pacotes ao atualizar o ICU para uma nova versão principal. Depois de instalar a libxml2, como o(a) usuário(a) root, emita: rm -vf /usr/lib/libxml2.la && sed '/libs=/s/xml2.*/xml2"/' -i /usr/bin/xml2-config Conteúdo Aplicativos Instalados: xml2-config, xmlcatalog e xmllint Bibliotecas Instaladas: libxml2.so Diretórios Instalados: /usr/include/libxml2, /usr/lib/cmake/libxml2, /usr/share/doc/libxml2-2.10.4 e /usr/share/gtk-doc/html/libxml2 Descrições Curtas xml2-config determina os sinalizadores de compilação e vinculador que deveriam ser usados para compilar e vincular aplicativos que usam a libxml2 xmlcatalog é usado para monitorar e manipular catálogos "XML" e "SGML" xmllint analisa arquivos "XML" e gera informes (baseados nas opções) para detectar erros na codificação "XML" libxml2.so fornece funções para aplicativos para analisar arquivos que usam o formato "XML" libxslt-1.1.38 Introdução a libxslt O pacote libxslt contém bibliotecas "XSLT" usadas para estender as bibliotecas libxml2 para suportar arquivos "XSLT". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2682]https://download.gnome.org/sources/libxslt/1.1/libxslt-1.1.38 .tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 7d6e43db810177ddf9818ef394027019 * Tamanho da transferência: 1,5 MB * Espaço em disco estimado exigido: 34 MB (com testes) * Tempo de construção estimado: 0,1 UPC (com testes) Dependências do libxslt Exigida [2683]libxml2-2.10.4 Recomendadas (ao tempo de execução) [2684]docbook-xml-4.5 e [2685]docbook-xsl-nons-1.79.2 Nota Embora não seja uma dependência direta, muitos aplicativos que usam a libxslt esperam que [2686]docbook-xml-4.5 e [2687]docbook-xsl-nons-1.79.2 estejam presentes. Opcionais [2688]libgcrypt-1.10.2 Instalação do libxslt Instale libxslt executando os seguintes comandos: ./configure --prefix=/usr \ --disable-static \ --docdir=/usr/share/doc/libxslt-1.1.38 \ PYTHON=/usr/bin/python3 && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativos Instalados: xslt-config e xsltproc Bibliotecas Instaladas: libexslt.so, libxslt.so e opcionalmente, o módulo Python libxsltmod.so Diretórios Instalados: /usr/include/libexslt, /usr/include/libxslt, /usr/lib/libxslt-plugins, /usr/share/doc/libxslt-1.1.38 e /usr/share/doc/libxslt-python-1.1.38 Descrições Curtas xslt-config é usado para descobrir o pré-processador, ligando e compilando sinalizadores necessários para usar as bibliotecas libxslt em aplicativos de terceiros xsltproc é usado para aplicar folhas de estilo "XSLT" a documentos "XML" libexslt.so é usado para fornecer extensões para funções "XSLT" libxslt.so fornece extensões para as bibliotecas libxml2 para analisar arquivos que usam o formato "XSLT" libwacom-2.7.0 Introdução a libwacom O pacote libwacom contém uma biblioteca usada para identificar os tablets "Wacom" e os recursos específicos do modelo deles. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2689]https://github.com/linuxwacom/libwacom/releases/download/libw acom-2.7.0/libwacom-2.7.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 8009dfda6afe6a5d3d8a3021ef6bdfb8 * Tamanho da transferência: 112 KB * Espaço em disco estimado exigido: 3,3 MB (com testes) * Tempo de construção estimado: menos que 0,1 UPC (com os testes) Dependências do libwacom Exigida [2690]libgudev-238 Recomendada [2691]libxml2-2.10.4 Opcionais [2692]Doxygen-1.9.7, [2693]git-2.41.0, [2694]librsvg-2.56.3, [2695]Valgrind-3.21.0 (opcional para alguns testes), [2696]pytest-7.4.0 com [2697]python-libevdev e [2698]pyudev Instalação do libwacom Instale libwacom executando os seguintes comandos: mkdir build && cd build && meson setup .. \ --prefix=/usr \ --buildtype=release \ -Dtests=disabled && ninja Para testar os resultados, emita: ninja test. Para executar testes adicionais, instale [2699]pytest-7.4.0, "python-libevdev" e "pyudev" e, então, remova a opção "-Dtests=disabled" da linha "meson" acima. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dtests=disabled: Esse parâmetro desabilita alguns dos testes mais avançados porque eles exigem [2700]pytest-7.4.0 e outros dois módulos Python além do escopo do BLFS para funcionar adequadamente. Conteúdo Aplicativos Instalados: libwacom-list-devices, libwacom-list-local-devices, libwacom-show-stylus e libwacom-update-db Bibliotecas Instaladas: libwacom.so Diretórios Instalados: /usr/include/libwacom-1.0 e /usr/share/libwacom Descrições Curtas libwacom-list-devices lista todos os dispositivos tablet que sejam suportados pela "libwacom" libwacom-list-local-devices lista dispositivos tablet que estejam conectados ao sistema libwacom-show-stylus lista os IDs da caneta do tablet libwacom-update-db atualiza o sistema de acordo com o conjunto atual de arquivos de dados do tablet libwacom.so contém funções usadas para acessar informações da "Wacom" libwpe-1.14.1 Introdução a libwpe O pacote libwpe contém uma biblioteca de propósito geral para o WebKit WPE e o "WPE Renderer". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2701]https://wpewebkit.org/releases/libwpe-1.14.1.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: d834d70a6b3afb24a05ec188df248e52 * Tamanho da transferência: 64 KB * Espaço em disco estimado exigido: 2,3 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do libwpe Exigidas [2702]libxkbcommon-1.5.0 e [2703]Mesa-23.1.6 Opcionais [2704]hotdoc Instalação do libwpe Instale libwpe executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. Conteúdo Aplicativos Instalados: Nenhum Bibliotecas Instaladas: libwpe-1.0.so Diretórios Instalados: /usr/include/wpe-1.0 Descrições Curtas libwpe-1.0.so contém funções que fornecem uma biblioteca de propósito geral para o WebKit WPE e o "WPE Renderer" libyaml-0.2.5 Introdução a libyaml O pacote yaml contém uma biblioteca C para analisar e emitir "YAML" ("YAML Ain't Markup Language"). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2705]https://github.com/yaml/libyaml/releases/download/0.2.5/yaml- 0.2.5.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: bb15429d8fb787e7d3f1c83ae129a999 * Tamanho da transferência: 596 KB * Espaço em disco estimado exigido: 6,4 MB (com os testes) * Tempo de construção estimado: menos que 0,1 UPC (com os testes) Dependências do libyaml Opcionais [2706]Doxygen-1.9.7 Instalação do libyaml Instale libyaml executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativos Instalados: Nenhum Bibliotecas Instaladas: libyaml.so Diretórios Instalados: Nenhum Descrições Curtas libyaml.so contém funções de API para analisar e emitir código "YAML" log4cplus-2.1.0 Introdução ao log4cplus log4cplus é uma API de registro C++20 simples de usar, que fornece controle de camada segura, flexível e arbitrariamente granular sobre gerenciamento e configuração de registro. Ela é modelado depois da API log4j do Java. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2707]https://github.com/log4cplus/log4cplus/releases/download/REL_ 2_1_0/log4cplus-2.1.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 62928d480ebec1476fe74b900f2a1672 * Tamanho da transferência: 919 KB * Espaço em disco estimado exigido: 72,4 MB * Tempo de construção estimado: 0,5 UPC Dependências do log4cplus Opcionais [2708]Qt-5.15.10 Observações de Usuário(a): [2709]https://wiki.linuxfromscratch.org/blfs/wiki/log4cplus Instalação do log4cplus Construa o log4cplus executando o seguinte comando: ./configure --prefix=/usr && make Para testar os resultados, emita: make check. Agora, instale o pacote como o(a) usuário(a) root: make install Explicações do Comando --with-qt5: Essa opção habilita a compilação de uma biblioteca compartilhada separada (liblog4cplusqt5debugappender) que implementa Qt5DebugAppender. Ela exige que Qt5 e pkg-config estejam disponíveis. Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: log4cplus.so Diretórios Instalados: Nenhum(a) Descrições Curtas log4cplus.so é a biblioteca log4cplus LZO-2.10 Introdução a LZO LZO é uma biblioteca de compressão de dados adequada para descompressão e compressão de dados em tempo real. Isso significa que ela favorece a velocidade sobre a taxa de compressão. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2710]https://www.oberhumer.com/opensource/lzo/download/lzo-2.10.ta r.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 39d3f3f9c55c87b1e5d6888e1420f4b5 * Tamanho da transferência: 588 KB * Espaço em disco estimado exigido: 12 MB * Tempo de construção estimado: 0,3 UPC (com os testes) Instalação do LZO Instale LZO executando os seguintes comandos: ./configure --prefix=/usr \ --enable-shared \ --disable-static \ --docdir=/usr/share/doc/lzo-2.10 && make Para testar os resultados, emita: make check. Todas as verificações deveriam passar. Agora emita make test para executar a suíte completa de testes. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativos Instalados: Nenhum Bibliotecas Instaladas: liblzo2.so Diretórios Instalados: /usr/include/lzo e /usr/share/doc/lzo Descrições Curtas liblzo2.so é uma biblioteca de compressão e descompressão de dados mtdev-1.1.6 Introdução a mtdev O pacote mtdev contém a biblioteca de tradução do protocolo multitoque que é usada para transformar todas as variantes de eventos "MT" (multitoque) do núcleo para o protocolo fendido tipo B. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2711]https://bitmath.org/code/mtdev/mtdev-1.1.6.tar.bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: bf8ef2482e84a00b5db8fbd3ce00e249 * Tamanho da transferência: 292 KB * Espaço em disco estimado exigido: 2,5 MB * Tempo de construção estimado: menos que 0,1 UPC Instalação do mtdev Instale mtdev executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativo Instalado: mtdev-test Biblioteca Instalada: libmtdev.so Diretórios Instalados: Nenhum Descrições Curtas mtdev-test é uma ferramenta para testar a libmtdev libmtdev.so contém funções da API de tradução do protocolo multitoque Node.js-18.17.1 Introdução a Node.js Node.js é um tempo de execução JavaScript construído sobre o mecanismo "JavaScript V8" do Chrome. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2712]https://nodejs.org/dist/v18.17.1/node-v18.17.1.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: cfadecca2649bb74daba89d60fbd02e5 * Tamanho da transferência: 39 MB * Espaço em disco estimado exigido: 992 MB (adicionar 25 MB para testes) * Tempo de construção estimado: 13 UPC (adicionar 3,3 UPC para testes: ambos usando paralelismo=8 e 8 CPUs online; partes dos testes usarão todas as CPUs online) Dependências do Node.js Exigida [2713]Which-2.21 Recomendadas [2714]c-ares-1.19.1, [2715]ICU-73.2, [2716]libuv-1.46.0 e [2717]nghttp2-1.55.1 Opcionais [2718]http-parser e [2719]npm (uma cópia interna do npm será instalada se não presente) Instalação do Node.js Construa Node.js executando os seguintes comandos: ./configure --prefix=/usr \ --shared-cares \ --shared-libuv \ --shared-openssl \ --shared-nghttp2 \ --shared-zlib \ --with-intl=system-icu && make Para testar os resultados, emita: make test-only. Vários testes são conhecidos por falharem devido a diferenças de comportamento entre OpenSSL-3.0 e OpenSSL-3.1. Agora, como o(a) usuário(a) root: make install && ln -sf node /usr/share/doc/node-18.17.1 Explicações do Comando --with-intl=system-icu: use a versão do sistema do icu. Outros valores são full-icu (para construir uma biblioteca completa local icu) e small-icu (para construir uma biblioteca mínima local icu). --shared-{cares,libuv,nghttp2,openssl,zlib}: use as bibliotecas instaladas do sistema em vez de cópias locais. --without-npm: não construa npm (use se você gostaria de construir um npm separado posteriormente). --shared-http-parser: use a biblioteca instalada do sistema em vez de uma cópia local. Conteúdo Aplicativos Instalados: corepack, node, npm e npx Biblioteca Instalada: Nenhuma Diretórios Instalados: /usr/include/node, /usr/lib/node_modules/{corepack,npm}, /usr/share/doc/{node,node-18.17.1} e /usr/share/systemtap/tapset Descrições Curtas corepack é uma ferramenta experimental para ajudar com o gerenciamento de versões de gerenciadores de pacotes. node é o tempo de execução do JavaScript do lado do servidor npm é o gerenciador de pacotes Node.js /usr/lib/node_modules/npm/ é a raiz de instalação para executáveis e bibliotecas "Node.js" npth-1.6 Introdução a NPth O pacote NPth contém uma biblioteca muito portável baseada em POSIX/ANSI-C para plataformas Unix que fornece agendamento não preemptivo baseado em prioridade para múltiplas camadas de execução ("multithreading") dentro de aplicativos orientados a eventos. Todas as camadas executam no mesmo espaço de endereço do aplicativo servidor, porém cada camada tem o próprio contador individual dela de aplicativo, pilha de tempo de execução, máscara de sinal e variável "errno". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2720]https://www.gnupg.org/ftp/gcrypt/npth/npth-1.6.tar.bz2 * Transferência (FTP): [2721]ftp://ftp.gnupg.org/gcrypt/npth/npth-1.6.tar.bz2 * Soma de verificação MD5 da transferência: 375d1a15ad969f32d25f1a7630929854 * Tamanho da transferência: 296 KB * Espaço em disco estimado exigido: 2,6 MB (com as verificações) * Tempo de construção estimado: menos que 0,1 UPC (com as verificações) Instalação do NPth Instale NPth executando os seguintes comandos: ./configure --prefix=/usr && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Conteúdo Aplicativo Instalado: npth-config Biblioteca Instalada: libnpth.so Diretório Instalado: Nenhum Descrições Curtas npth-config é um utilitário usado para configurar e construir aplicativos baseados na biblioteca "npth". Ele pode ser usado para consultar os sinalizadores do compilador C e do vinculador que sejam exigidos para compilar e vincular corretamente o aplicativo à biblioteca "npth" libnpth.so contém as funções de API usadas pela biblioteca "New Portable Threads" NSPR-4.35 Introdução a NSPR O Netscape Portable Runtime (NSPR) fornece uma API neutra de plataforma para funções semelhantes às de nível de sistema e "libc". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2722]https://archive.mozilla.org/pub/nspr/releases/v4.35/src/nspr- 4.35.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 5e0acf9fbdde85181bddd510f4624841 * Tamanho da transferência: 1,0 MB * Espaço em disco estimado exigido: 9,6 MB * Tempo de construção estimado: menos que 0,1 UPC Instalação de NSPR Instale NSPR executando os seguintes comandos: cd nspr && sed -ri '/^RELEASE/s/^/#/' pr/src/misc/Makefile.in && sed -i 's#$(LIBRARY) ##' config/rules.mk && ./configure --prefix=/usr \ --with-mozilla \ --with-pthreads \ $([ $(uname -m) = x86_64 ] && echo --enable-64bit) && make A suíte de teste está projetada para testar mudanças no nss ou nspr e não é particularmente útil para verificar uma versão lançada (por exemplo, ela precisa ser executada sobre uma construção não otimizada com ambos os diretórios nss e nspr existentes lado a lado). Para maiores detalhes, vejam-se as Notas de Editor(a) para nss em [2723]https://wiki.linuxfromscratch.org/blfs/wiki/nss Agora, como o(a) usuário(a) root: make install Explicações do Comando sed -ri '/^RELEASE/s/^/#/' pr/src/misc/Makefile.in: Esse "sed" desabilita a instalação de dois scripts desnecessários. sed -i 's#$(LIBRARY) ##' config/rules.mk: Esse "sed" desabilita a instalação das bibliotecas estáticas. --with-mozilla: Esse parâmetro adiciona suporte Mozilla às bibliotecas (exigido se você quiser construir quaisquer outros produtos Mozilla e vinculá-los a essas bibliotecas). --with-pthreads: Esse parâmetro força o uso da biblioteca "pthread" do sistema. $([ $(uname -m) = x86_64 ] && echo --enable-64bit): O parâmetro "--enable-64bit" é exigido em um sistema "x86_64" para evitar uma falha do configure com uma alegação de que este é um sistema sem suporte a "pthread". O teste "[ $(uname -m) = x86_64 ]" assegura que ele não tenha efeito em um sistema de 32 de bits. Conteúdo Aplicativos Instalados: nspr-config Bibliotecas Instaladas: libnspr4.so, libplc4.so e libplds4.so Diretórios Instalados: /usr/include/nspr Descrições Curtas nspr-config fornece opções de compilador e vinculador para outros pacotes que usem a NSPR libnspr4.so contém funções que fornecem independência de plataforma para recursos do sistema operacional não "GUI", como encadeamentos, sincronização de encadeamento, Entrada/Saída normal de arquivo e rede de comunicação, tempo de intervalo e data de calendário, gerenciamento básico de memória e vinculação de biblioteca compartilhada libplc4.so contém funções que implementam muitos dos recursos oferecidos pela "libnspr4" libplds4.so contém funções que fornecem estruturas de dados PCRE-8.45 Introdução a PCRE O pacote PCRE contém as bibliotecas Perl de Expressões Regulares Compatíveis. Elas são úteis para implementar correspondência de padrão de expressão regular usando a mesma sintaxe e semântica da Perl 5. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2724]https://sourceforge.net/projects/pcre/files/pcre/8.45/pcre-8. 45.tar.bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: 4452288e6a0eefb2ab11d36010a1eebb * Tamanho da transferência: 1,5 MB * Espaço em disco estimado exigido: 23 MB (com os testes) * Tempo de construção estimado: 0,3 UPC (com os testes) Dependências do PCRE Opcionais [2725]Valgrind-3.21.0 Instalação do PCRE Instale PCRE executando os seguintes comandos: ./configure --prefix=/usr \ --docdir=/usr/share/doc/pcre-8.45 \ --enable-unicode-properties \ --enable-pcre16 \ --enable-pcre32 \ --enable-pcregrep-libz \ --enable-pcregrep-libbz2 \ --enable-pcretest-libreadline \ --disable-static && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Explicações do Comando --enable-unicode-properties: Essa chave habilita o suporte a propriedades Unicode e inclui o código para lidar com sequências dos caracteres de carácter UTF-8/16/32 na biblioteca. Você precisa dessa chave se for construir [2726]GLib-2.76.4. --enable-pcre16: Essa chave habilita o suporte a caracteres de 16 bits. --enable-pcre32: Essa chave habilita o suporte a caracteres de 32 bits. --enable-pcregrep-libz: Essa chave adiciona suporte para o pcregrep ler arquivos comprimidos .gz. --enable-pcregrep-libbz2: Essa chave adiciona suporte para o pcregrep ler arquivos comprimidos .bz2. --enable-pcretest-libreadline: Essa chave adiciona recursos de edição de linha e de histórico ao aplicativo pcretest. --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --enable-jit: essa opção habilita a compilação "na hora certa", que consegue acelerar bastante a correspondência de padrões. Conteúdo Aplicativos Instalados: pcregrep, pcretest e pcre-config Bibliotecas Instaladas: libpcre.so, libpcre16.so, libpcre32.so, libpcrecpp.so e libpcreposix.so Diretório Instalado: /usr/share/doc/pcre-8.45 Descrições Curtas pcregrep é um grep que entende expressões regulares compatíveis com Perl pcretest consegue testar uma expressão regular compatível com Perl pcre-config é usado durante o processo de compilação de aplicativos se vinculando às bibliotecas PCRE PCRE2-10.42 Introdução a PCRE2 O pacote PCRE2 contém uma nova geração das bibliotecas Perl Compatible Regular Expression. Elas são úteis para implementar correspondência de padrão de expressão regular usando a mesma sintaxe e semântica da Perl. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2727]https://github.com/PCRE2Project/pcre2/releases/download/pcre2 -10.42/pcre2-10.42.tar.bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: a8e9ab2935d428a4807461f183034abe * Tamanho da transferência: 1,7 MB * Espaço em disco estimado exigido: 24 MB (com testes) * Tempo de construção estimado: 0,4 UPC (com os testes) Dependências do PCRE2 Opcionais [2728]Valgrind-3.21.0 e [2729]libedit Instalação do PCRE2 Instale PCRE2 executando os seguintes comandos: ./configure --prefix=/usr \ --docdir=/usr/share/doc/pcre2-10.42 \ --enable-unicode \ --enable-jit \ --enable-pcre2-16 \ --enable-pcre2-32 \ --enable-pcre2grep-libz \ --enable-pcre2grep-libbz2 \ --enable-pcre2test-libreadline \ --disable-static && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Explicações do Comando --enable-unicode: Essa chave habilita o suporte a Unicode e inclui as funções para lidar com cadeias de caracteres UTF-8/16/32 na biblioteca. --enable-pcre2-16: Essa chave habilita o suporte a caracteres de 16 bits. --enable-pcre2-32: Essa chave habilita o suporte a caracteres de 32 bits. --enable-pcre2grep-libz: Essa chave adiciona suporte para leitura de arquivos comprimidos .gz para o pcre2grep. --enable-pcre2grep-libbz2: Essa chave adiciona suporte para leitura de arquivos comprimidos .bz2 para o pcre2grep. --enable-pcre2test-libreadline: Essa chave adiciona edição de linha e recursos de histórico ao aplicativo pcre2test. --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --enable-jit: essa opção habilita a compilação "bem na hora", que consegue acelerar bastante a correspondência de padrões. Conteúdo Aplicativos Instalados: pcre2-config, pcre2grep e pcre2test. Bibliotecas Instaladas: libpcre2-8.so, libpcre2-16.so, libpcre2-32.so e libpcre2-posix.so Diretório Instalado: /usr/share/doc/pcre2-10.42 Descrições Curtas pcre2grep é uma versão do grep que compreende expressões regulares compatíveis com Perl. pcre2test consegue testar uma expressão regular compatível com Perl. pcre2-config gera informações de compilação para programas vinculados às bibliotecas PCRE2 Popt-1.19 Introdução a Popt O pacote popt contém as bibliotecas popt que são usadas por alguns aplicativos para analisar opções de linha de comando. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2730]http://ftp.rpm.org/popt/releases/popt-1.x/popt-1.19.tar.gz * Transferência (FTP): [2731]ftp://ftp.rpm.org/pub/rpm/popt/releases/popt-1.x/popt-1.19.ta r.gz * Soma de verificação MD5 da transferência: eaa2135fddb6eb03f2c87ee1823e5a78 * Tamanho da transferência: 584 kB * Espaço em disco estimado exigido: 6,9 MB (inclui instalar documentação e os testes) * Tempo de construção estimado: menos que 0,1 UPC (com os testes) Dependências do popt Opcionais [2732]Doxygen-1.9.7 (para gerar documentação) Instalação do Popt Instale popt executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Se você tiver [2733]Doxygen-1.9.7 instalado e desejar construir a documentação da API, [então] emita: sed -i 's@\./@src/@' Doxyfile && doxygen Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Se você construiu a documentação da API, [então] instale-a usando os seguintes comandos emitidos pelo(a) usuário(a) root: install -v -m755 -d /usr/share/doc/popt-1.19 && install -v -m644 doxygen/html/* /usr/share/doc/popt-1.19 Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativos Instalados: Nenhum Biblioteca Instalada: libpopt.so Diretórios Instalados: /usr/share/doc/popt-1.19 Descrições Curtas libpopt.so é usado para analisar opções de linha de comando Pth-2.0.7 Introdução a Pth O pacote Pth contém uma biblioteca baseada em POSIX/ANSI-C muito portável para plataformas Unix que fornece agendamento não preemptivo baseado em prioridade para várias camadas de execução ("multithreading") dentro de aplicativos orientados a eventos. Todas as camadas executam no mesmo espaço de endereço do aplicativo servidor, mas cada camada tem o próprio contador de programa individual dela, pilha de tempo de execução, máscara de sinal e variável "errno". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2734]https://ftp.gnu.org/gnu/pth/pth-2.0.7.tar.gz * Transferência (FTP): [2735]ftp://ftp.gnu.org/gnu/pth/pth-2.0.7.tar.gz * Soma de verificação MD5 da transferência: 9cb4a25331a4c4db866a31cbe507c793 * Tamanho da transferência: 652 KB * Espaço em disco estimado exigido: 5 MB * Tempo de construção estimado: 0,2 UPC Dependências do Pth Opcionais [2736]GCC-13.2.0 (para gfortran) e [2737]libnsl-2.0.0 Instalação do Pth Cuidado Não adicione o parâmetro --enable-pthread ao comando configure abaixo, senão você sobrescreverá a biblioteca "pthread" e o cabeçalho de interface instalado pelo pacote Glibc no LFS. Instale Pth executando os seguintes comandos: sed -i 's#$(LOBJS): Makefile#$(LOBJS): pth_p.h Makefile#' Makefile.in && ./configure --prefix=/usr \ --disable-static \ --mandir=/usr/share/man && make Para testar os resultados, emita: make test. Agora, como o(a) usuário(a) root: make install && install -v -m755 -d /usr/share/doc/pth-2.0.7 && install -v -m644 README PORTING SUPPORT TESTS \ /usr/share/doc/pth-2.0.7 Explicações do Comando sed -i 's#$(LOBJS) ...: Esse sed corrige uma condição de corrida no Makefile. Ele permite executar make com várias tarefas (por exemplo, make -j4). --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --mandir=/usr/share/man: Essa chave coloca as páginas de manual em /usr/share/man em vez de /usr/man. Conteúdo Aplicativo Instalado: pth-config Biblioteca Instalada: libpth.so Diretório Instalado: /usr/share/doc/pth-2.0.7 Descrições Curtas pth-config é um utilitário usado para configurar e construir aplicativos baseados na biblioteca pth(3). Ele pode ser usado para consultar os sinalizadores do compilador C e do vinculador que sejam necessários para compilar e vincular corretamente o aplicativo à biblioteca pth(3) libpth.so contém as funções de API usadas pela GNU Portable Threads Library Qca-2.3.7 Introdução a Qca O Qca visa a fornecer uma API criptográfica direta e multiplataforma, usando tipos de dados e convenções Qt. Qca separa a API da implementação, usando "plugins" conhecidos como "Providers". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2738]https://download.kde.org/stable/qca/2.3.7/qca-2.3.7.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 0e50817de610e145c83ca012f79f18f5 * Tamanho da transferência: 732 KB * Espaço em disco estimado exigido: 43 MB * Tempo de construção estimado: 0,4 UPC (usando paralelismo=4; adicionar 0,1 UPC para testes) Dependências do Qca Exigidas [2739]make-ca-1.12, [2740]CMake-3.27.2, [2741]Qt-5.15.10 e [2742]Which-2.21 Opcionais [2743]Cyrus SASL-2.1.28, [2744]GnuPG-2.4.3, [2745]libgcrypt-1.10.2, [2746]libgpg-error-1.47, [2747]nss-3.92, [2748]NSPR-4.35, [2749]p11-kit-0.25.0, [2750]Doxygen-1.9.7, [2751]Which-2.21 e [2752]Botan Instalação do Qca Corrija o local dos certificados de AC: sed -i 's@cert.pem@certs/ca-bundle.crt@' CMakeLists.txt Instale Qca executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=$QT5DIR \ -DCMAKE_BUILD_TYPE=Release \ -DQCA_MAN_INSTALL_DIR:PATH=/usr/share/man \ .. && make Para testar os resultados, emita: make test. Agora, como o(a) usuário(a) root: make install Explicações do Comando -DCMAKE_BUILD_TYPE=Release: Essa chave é usada para aplicar um nível mais alto de otimização à compilação. -DQCA_MAN_INSTALL_DIR:PATH=/usr/share/man: Instala a página de manual do "qca" no local normal. Conteúdo Aplicativos Instalados: mozcerts-qt5 e qcatool-qt5 Bibliotecas Instaladas: libqca-qt5.so, libqca-cyrus-sasl.so, libqca-gcrypt.so, libqca-gnupg.so, libqca-logger.so, libqca-nss.so, libqca-ossl.so e libqca-softstore.so Diretórios Instalados: $QT5DIR/include/Qca-qt5, $QT5DIR/lib/cmake/Qca-qt5 e $QT5DIR/lib/qca-qt5 Descrições Curtas mozcerts-qt5 é uma ferramenta de linha de comando para converter "certdata.txt" em arquivos "arquivo_saida_gerada.pem" qcatool-qt5 é uma ferramenta de linha de comando para realizar várias operações criptográficas com o "Qca" libqca-qt5.so é a biblioteca "Qt Cryptography Architecture" (Qca) Talloc-2.4.1 Introdução a Talloc Talloc fornece um sistema hierárquico de agrupamento de memória contada por referência com destruidores. É o alocador de memória usado no Samba. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2753]https://www.samba.org/ftp/talloc/talloc-2.4.1.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: b0f40831552f8dca770048f7040fefe1 * Tamanho da transferência: 664 KB * Espaço em disco estimado exigido: 11 MB (com os testes) * Tempo de construção estimado: 0,3 UPC (com os testes) Dependências do Talloc Opcionais [2754]docbook-xml-4.5, [2755]docbook-xsl-nons-1.79.2 e [2756]libxslt-1.1.38 (para gerar páginas de manual), [2757]GDB-13.2, [2758]git-2.41.0, [2759]libnsl-2.0.0, [2760]libtirpc-1.3.3, [2761]Valgrind-3.21.0 e [2762]xfsprogs-6.4.0 Instalação do Talloc Instale Talloc executando os seguintes comandos: ./configure --prefix=/usr && make Para verificar os resultados, emita make check. Agora, como o(a) usuário(a) root: make install Conteúdo Aplicativos Instalados: Nenhum Bibliotecas Instaladas: libpytalloc-util.cpython-311--linux-gnu.so, libtalloc.so e talloc.cpython-311--linux-gnu.so (Módulo Python 3) Diretórios Instalados: Nenhum Descrições Curtas libtalloc.so contém um substituto para a função "malloc" da Glibc telepathy-glib-0.24.2 Introdução a "Telepathy GLib" O Telepathy GLib contém uma biblioteca usada pelos componentes Telepathy baseados na GLib. Telepathy é um estrutura essencial de suporte do D-Bus para unificar a comunicação em tempo real, incluindo mensagens instantâneas, chamadas de voz e chamadas de vídeo. Ele abstrai diferenças entre protocolos para fornecer uma interface unificada para aplicativos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2763]https://telepathy.freedesktop.org/releases/telepathy-glib/tel epathy-glib-0.24.2.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: a3a75657e9389381b44fee1680f770a7 * Tamanho da transferência: 3,7 MB * Espaço em disco estimado exigido: 256 MB * Tempo de construção estimado: 1,2 UPC Dependências do "Telepathy GLib" Exigidas [2764]dbus-glib-0.112 e [2765]libxslt-1.1.38 Recomendadas [2766]gobject-introspection-1.76.1 e [2767]Vala-0.56.11 Opcionais [2768]GTK-Doc-1.33.2 Instalação do "Telepathy Glib" Se você pretende executar os testes, [então] um deles, por padrão, invoca /usr/bin/python e falha se ele estiver ausente, causando o segundo lote de testes não ser executado - ao contrário dos outros testes que podem ser substituídos a partir do ambiente. Corrija-o com o seguinte comando: sed -i 's%/usr/bin/python%&3%' tests/all-errors-documented.py Instale Telepathy GLib executando os seguintes comandos: PYTHON=/usr/bin/python3 ./configure --prefix=/usr \ --enable-vala-bindings \ --disable-static && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Explicações do Comando --enable-vala-bindings: Essa chave habilita a construção das ligações "Vala". Remova-a se você não tiver [2769]Vala-0.56.11 instalado. --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --enable-gtk-doc: Use esse parâmetro se GTK-Doc estiver instalado e você desejar reconstruir e instalar a documentação da API. Conteúdo Aplicativos Instalados: Nenhum Bibliotecas Instaladas: libtelepathy-glib.so Diretórios Instalados: /usr/include/telepathy-1.0 e /usr/share/gtk-doc/html/telepathy-glib Descrições Curtas libtelepathy-glib.so contém as funções da API do Telepathy GLib Uchardet-0.0.8 Introdução a Uchardet O pacote Uchardet contém uma biblioteca de detecção de codificação que recebe uma sequência de bytes em uma codificação de caracteres desconhecida e tenta determinar a codificação do texto. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2770]https://www.freedesktop.org/software/uchardet/releases/uchard et-0.0.8.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 9e267be7aee81417e5875086dd9d44fd * Tamanho da transferência: 217 KB * Espaço em disco estimado exigido: 4,6 MB (com o teste) * Tempo de construção estimado: menos que 0,1 UPC (com o teste) Dependências do Uchardet Exigida [2771]CMake-3.27.2 Instalação do Uchardet Instale Uchardet executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DBUILD_STATIC=OFF \ -Wno-dev .. && make Para testar os resultados, emita: make test. Agora, como o(a) usuário(a) root: make install Explicações do Comando -DBUILD_STATIC=OFF: Essa chave desabilita a construção da versão estática da biblioteca. Conteúdo Aplicativos Instalados: uchardet Bibliotecas Instaladas: libuchardet.so Diretórios Instalados: /usr/include/uchardet Descrições Curtas uchardet detecta qual conjunto de caracteres é usado dentro de um arquivo libuchardet.so fornece uma API para detectar a codificação de texto em um arquivo Umockdev-0.17.18 Introdução a Umockdev O pacote Umockdev contém uma estrutura que permite que um(a) desenvolvedor(a) simule dispositivos para uso em testes de unidade. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2772]https://github.com/martinpitt/umockdev/releases/download/0.17 .18/umockdev-0.17.18.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: a9ff284518c034aa334b58237074e313 * Tamanho da transferência: 484 KB * Espaço em disco estimado exigido: 6,8 MB (com testes) * Tempo de construção estimado: 0,2 UPC (com os testes) Dependências do Umockdev Exigidas [2773]libgudev-238, [2774]libpcap-1.10.4 e [2775]Vala-0.56.11 Opcionais [2776]GTK-Doc-1.33.2 e [2777]libgphoto2 (opcional para os testes) Instalação do Umockdev Instale Umockdev executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Para testar os resultados, emita: ninja test. Um teste precisa ser executado em uma sessão do X. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando -Dgtk_doc=true: Use essa chave se você tiver [2778]GTK-Doc-1.33.2 instalado e desejar reconstruir e instalar a documentação da API. Conteúdo Aplicativos Instalados: umockdev-record, umockdev-run e umockdev-wrapper Bibliotecas Instaladas: libumockdev-preload.so e libumockdev.so Diretórios Instalados: /usr/include/umockdev-1.0 Descrições Curtas umockdev-record registra dispositivos Linux e os ancestrais deles a partir de sysfs/udev ou registra ioctls para um dispositivo umockdev-run executa um aplicativo sob um equipamento do umockdev usado para testar novas máquinas umockdev-wrapper agrupa um aplicativo em torno de libumockdev-preload.so.0 por meio de LD_PRELOAD libumockdev.so fornece funções de API que permitem simular dispositivos de hardware para teste de unidade Wayland-1.22.0 Introdução a Wayland Wayland é um projeto para definir um protocolo para um compositor falar com os clientes dele, bem como uma biblioteca de implementação do protocolo. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2779]https://gitlab.freedesktop.org/wayland/wayland/-/releases/1.2 2.0/downloads/wayland-1.22.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 7410ab549e3928fce9381455b17b0803 * Tamanho da transferência: 228 KB * Espaço em disco estimado exigido: 7,4 MB (com testes) * Tempo de construção estimado: 0,1 UPC (com os testes) Dependências de Wayland Exigida [2780]libxml2-2.10.4 Opcionais [2781]Doxygen-1.9.7, [2782]Graphviz-8.1.0 e [2783]xmlto-0.0.28 (para construir a documentação da API) e [2784]docbook-xml-4.5, [2785]docbook-xsl-nons-1.79.2 e [2786]libxslt-1.1.38 (para construir as páginas de manual) Instalação de Wayland Instale Wayland executando os seguintes comandos: mkdir build && cd build && meson setup .. \ --prefix=/usr \ --buildtype=release \ -Ddocumentation=false && ninja Para testar os resultados, emita: env -u XDG_RUNTIME_DIR ninja test. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando -Ddocumentation=false: Essa chave é usada para desabilitar a construção da documentação da API. Remova-a se tiver instalado as dependências opcionais. Conteúdo Aplicativos Instalados: wayland-scanner Bibliotecas Instaladas: libwayland-client.so, libwayland-cursor.so, libwayland-egl.so e libwayland-server.so Diretórios Instalados: /usr/share/wayland Descrições Curtas wayland-scanner é uma ferramenta para gerar métodos de proxy em wayland-client-protocol.h e wayland-server-protocol.h libwayland-client.so contém funções de API para escrever aplicativos Wayland libwayland-cursor.so contém funções de API para gerenciar cursores em aplicativos Wayland libwayland-egl.so contém funções de API para lidar com chamadas OpenGL em aplicativos Wayland libwayland-server.so contém funções de API para escrever compositores Wayland Wayland-Protocols-1.32 Introdução a Wayland-Protocols O pacote Wayland-Protocols contém protocolos adicionais do Wayland que adicionam funcionalidade fora dos protocolos já no núcleo do Wayland. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2787]https://gitlab.freedesktop.org/wayland/wayland-protocols/-/re leases/1.32/downloads/wayland-protocols-1.32.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 00c2cedb0d2df714a0965a00c19385c6 * Tamanho da transferência: 92 KB * Espaço em disco estimado exigido: 7,4 MB (com testes) * Tempo de construção estimado: menos que 0,1 UPC (com os testes) Dependências de Wayland-protocols Exigida [2788]Wayland-1.22.0 Instalação de Wayland-protocols Instale Wayland-protocols executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release && ninja Para testar os resultados, emita: ninja test. Agora, como o(a) usuário(a) root: ninja install Conteúdo Aplicativos Instalados: Nenhum Bibliotecas Instaladas: Nenhum Diretórios Instalados: /usr/share/wayland-protocols wpebackend-fdo-1.14.2 Introdução a wpebackend-fdo O pacote wpebackend-fdo contém a estrutura de retaguarda Freedesktop.org para o WebKit do WPE e o renderizador WPE. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2789]https://wpewebkit.org/releases/wpebackend-fdo-1.14.2.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: dafd899646b2e31ef2d97938a638c48d * Tamanho da transferência: 44 KB * Espaço em disco estimado exigido: 1,7 MB * Tempo de construção estimado: 0,1 UPC Dependências de wpebackend-fdo Exigidas [2790]libepoxy-1.5.10, [2791]libwpe-1.14.1 e [2792]wayland-protocols-1.32 Instalação de wpebackend-fdo Instale wpebackend-fdo executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. ninja Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. Conteúdo Aplicativos Instalados: Nenhum Bibliotecas Instaladas: libWPEBackend-fdo-1.0.so Diretórios Instalados: /usr/include/wpe-fdo-1.0 Descrições Curtas libWPEBackend-fdo-1.0.so contém funções que fornecem a estrutura de retaguarda freedesktop.org para o WebKit do WPE e o renderizador WPE wv-1.2.9 Introdução a wv O pacote wv contém ferramentas para ler informação a partir de um documento do MS Word. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2793]https://www.abisource.com/downloads/wv/1.2.9/wv-1.2.9.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: dbccf2e9f747e50c913b7e3d126b73f7 * Tamanho da transferência: 608 KB * Espaço em disco estimado exigido: 25 MB * Tempo de construção estimado: 0,4 UPC Dependências de wv Exigidas [2794]libgsf-1.14.50 e [2795]libpng-1.6.40 Opcionais [2796]libwmf Instalação de wv Instale wv executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Esse pacote não tem uma suíte de teste. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativos Instalados: wvSummary e vários outros aplicativos wv* que foram substituídos pelo abiword: veja-se [2797]https://wvware.sourceforge.net/ Biblioteca Instalada: libwv-1.2.so Diretório Instalado: /usr/share/wv Descrições Curtas wvSummary exibe a informação resumida a partir de um documento do MS Word libwv-1.2.so fornece funções para acessar documentos do MS Word Xapian-1.4.23 Introdução a xapian Xapian é uma biblioteca de mecanismo de pesquisa de fonte aberto. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2798]https://oligarchy.co.uk/xapian/1.4.23/xapian-core-1.4.23.tar. xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 241273b1fcde4c3fd12f0d0586e6bb6c * Tamanho da transferência: 2,9 MB * Espaço em disco estimado exigido: 144 MB (adicionar 163 MB para testes) * Tempo de construção estimado: 0,4 UPC (usando paralelismo=4; adicionar 11 UPC para testes) Dependências de Xapian Opcionais [2799]Valgrind-3.21.0 (para os testes) Instalação de Xapian Instale Xapian executando os seguintes comandos: ./configure --prefix=/usr \ --disable-static \ --docdir=/usr/share/doc/xapian-core-1.4.23 && make Para executar a suíte de teste, emita: make check. Agora, como o(a) usuário(a) root: make install Conteúdo Aplicativos Instalados: copydatabase, quest, simpleexpand, simpleindex, simplesearch, xapian-check, xapian-compact, xapian-config, xapian-delve, xapian-metadata, xapian-pos, xapian-progsrv, xapian-replicate, xapian-replicate-server e xapian-tcpsrv Bibliotecas Instaladas: libxapian.so Diretórios Instalados: /usr/include/xapian, /usr/lib/cmake/xapian, /usr/share/doc/xapian-core-1.4.23 e /usr/share/xapian-core Descrições Curtas copydatabase realiza uma cópia documento a documento de uma ou mais bases de dados Xapian quest é uma ferramenta de linha de comando para pesquisar ao longo de uma base de dados simpleexpand é um aplicativo simples de exemplo que demonstra a expansão da consulta simpleindex indexa cada parágrafo de um arquivo de texto como um documento Xapian simplesearch é um utilitário simples de pesquisa de linha de comando xapian-check verifica a consistência de uma base de dados ou de uma tabela xapian-compact compacta uma base de dados ou mescla e compacta várias bases de dados xapian-config relata informação a respeito do xapian instalado xapian-delve inspeciona o conteúdo de uma base de dados Xapian xapian-metadata lê e grava metadados de usuário(a) xapian-pos inspeciona o conteúdo de uma tabela de pederneira para desenvolvimento ou depuração xapian-progsrv é um servidor remoto para uso com ProgClient xapian-replicate replica uma base de dados a partir de um servidor mestre para uma cópia local xapian-replicate-server atende a solicitações de replicação de base de dados originárias de clientes xapian-tcpsrv é o processo de segundo plano do TCP para uso com a estrutura remota de retaguarda do Xapian Capítulo 10. Bibliotecas de Gráficos e de Fontes Dependendo de como seu sistema será usado, você pode ou não precisar das bibliotecas de gráficos e de fontes. A maioria das máquinas de área de trabalho as desejará para uso com aplicativos gráficos. A maioria dos servidores, por outro lado, não as exigirá. AAlib-1.4rc5 Introdução a AAlib AAlib é uma biblioteca para renderizar qualquer gráfico em arte ASCII. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2800]https://downloads.sourceforge.net/aa-project/aalib-1.4rc5.tar .gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 9801095c42bba12edebd1902bcf0a990 * Tamanho da transferência: 388 KB * Espaço em disco estimado exigido: 6,5 MB * Tempo de construção estimado: 0,1 UPC Dependências do AAlib Opcionais [2801]Bibliotecas do Xorg, [2802]Fontes Legadas do Xorg (tempo de execução), [2803]slang-2.3.3 e [2804]GPM-1.20.7 Instalação do AAlib Corrija um pequeno problema com o arquivo "m4" incluído: sed -i -e '/AM_PATH_AALIB,/s/AM_PATH_AALIB/[&]/' aalib.m4 Instale AAlib executando os seguintes comandos: ./configure --prefix=/usr \ --infodir=/usr/share/info \ --mandir=/usr/share/man \ --with-ncurses=/usr \ --disable-static && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Conteúdo Aplicativos Instalados: aafire, aainfo, aalib-config, aasavefont e aatest Biblioteca Instalada: libaa.so Diretórios Instalados: Nenhum Descrições Curtas aafire é uma demonstração do AAlib, renderizando um fogo animado em arte ASCII aainfo fornece informações para suas configurações atuais relacionadas a AAlib aalib-config fornece informações de configuração para AAlib aasavefont salva uma fonte em um arquivo aatest mostra as habilidades de AAlib em um pequeno teste libaa.so é uma coleção de rotinas para renderizar qualquer entrada gerada gráfica em formato portável para arte ASCII. Ela pode ser usada por vários aplicativos e tem uma API muito bem documentada, de forma que você consiga colocá-la facilmente em seus próprios programas babl-0.1.106 Introdução a Babl O pacote Babl é uma biblioteca dinâmica de tradução em formato de pixel, de qualquer para qualquer. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2805]https://download.gimp.org/pub/babl/0.1/babl-0.1.106.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: f0932832cdc4cf9b09c0f97ff48fea07 * Tamanho da transferência: 308 KB * Espaço em disco estimado exigido: 12 MB (com os testes) * Tempo de construção estimado: 0,1 UPC (Usando paralelismo=4; com os testes) Dependências do Babl Recomendadas [2806]gobject-introspection-1.76.1 e [2807]librsvg-2.56.3 Opcionais [2808]Little CMS-2.14 e [2809]w3m Instalação do Babl Instale Babl executando os seguintes comandos: mkdir bld && cd bld && meson setup --prefix=/usr --buildtype=release .. && ninja Para testar os resultados, emita: ninja test. Agora, como o(a) usuário(a) root: ninja install && install -v -m755 -d /usr/share/gtk-doc/html/babl/graphics && install -v -m644 docs/*.{css,html} /usr/share/gtk-doc/html/babl && install -v -m644 docs/graphics/*.{html,svg} /usr/share/gtk-doc/html/babl/graphic s Explicações do Comando install -v -m755 -d /usr/share/gtk-doc/html/babl/graphics: Esse e os comandos subsequentes instalam a documentação html da biblioteca sob /usr /share/gtk-doc/html onde outros pacotes gtk colocam a documentação orientada para o(a) programador(a). Conteúdo Aplicativos Instalados: Nenhum Bibliotecas Instaladas: libbabl-0.1.so e bibliotecas em /usr/lib/babl-0.1 Diretórios Instalados: /usr/{include,lib}/babl-0.1 e /usr/share/gtk-doc/html/babl Descrições Curtas libbabl-0.1.so contém funções para acessar "BablFishes" para converter entre formatos Exiv2-0.28.0 Introdução a Exiv2 Exiv2 é uma biblioteca C++ e um utilitário de linha de comando para gerenciar metadados de imagem e de vídeo. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2810]https://github.com/Exiv2/exiv2/releases/download/v0.28.0/exiv 2-0.28.0-Source.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 7b53f59708efc7f9840e34503eacb41f * Tamanho da transferência: 42 MB * Espaço em disco estimado exigido: 119 MB * Tempo de construção estimado: 0,3 UPC (Usando paralelismo=4) Dependências do Exiv2 Exigida [2811]CMake-3.27.2 Recomendada [2812]Brotli-1.0.9, [2813]cURL-8.2.1 e [2814]inih-57 Opcional [2815]libssh Opcionais para documentação [2816]Doxygen-1.9.7, [2817]Graphviz-8.1.0 e [2818]libxslt-1.1.38 Instalação do Exiv2 Instale Exiv2 executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -DEXIV2_ENABLE_VIDEO=yes \ -DEXIV2_ENABLE_WEBREADY=yes \ -DEXIV2_ENABLE_CURL=yes \ -DEXIV2_BUILD_SAMPLES=no \ -G "Unix Makefiles" .. && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Explicações do Comando -DEXIV2_ENABLE_VIDEO=yes: Essa chave habilita o gerenciamento de metadados de vídeo. -DEXIV2_ENABLE_WEBREADY=yes: Essa chave habilita o gerenciamento de metadados de imagem da web. -DEXIV2_BUILD_SAMPLES=no: Essa chave é necessária para suprimir a construção e instalação de aplicativos de amostra. Se os aplicativos de amostra forem compilados, 34 aplicativos adicionais serão instalados em /usr/bin. -DEXIV2_ENABLE_CURL=yes: Essa chave é necessária para habilitar os recursos de rede de comunicação/http. -DEXIV2_ENABLE_INIH=no: Use essa chave se você não tiver instalado [2819]inih-57. -DEXIV2_ENABLE_BROTLI=no: Use essa chave se você não tiver instalado [2820]Brotli-1.0.9. Conteúdo Aplicativo Instalado: exiv2 Biblioteca Instalada: libexiv2.so e libexiv2-xmp.a Diretórios Instalados: /usr/include/exiv2 Descrições Curtas exiv2 é um utilitário usado para despejar dados "Exif" FreeType-2.13.1 Introdução a FreeType2 O pacote FreeType2 contém uma biblioteca que permite que os aplicativos renderizem corretamente as fontes TrueType. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2821]https://downloads.sourceforge.net/freetype/freetype-2.13.1.ta r.xz * Soma de verificação MD5 da transferência: e4c3f0d8453a2a7993ae784912d6f19a * Tamanho da transferência: 2,4 MB * Espaço em disco estimado exigido: 49 MB (com documentação adicional) * Tempo de construção estimado: 0,2 UPC (com documentação adicional) Transferências Adicionais Documentação Adicional * Transferência (HTTP): [2822]https://downloads.sourceforge.net/freetype/freetype-doc-2.13. 1.tar.xz * Soma de verificação MD5 da transferência: 9eaaf193b0493297d92cd435cd850598 * Tamanho da transferência: 2,1 MB Dependências do FreeType2 Recomendadas [2823]HarfBuzz-8.1.1 (primeiro, instale sem ele, depois de instalado, reinstale [2824]FreeType-2.13.1), [2825]libpng-1.6.40 e [2826]Which-2.21 Opcionais [2827]Brotli-1.0.9 e [2828]librsvg-2.56.3 Opcional (para documentação) [2829]docwriter Instalação do FreeType2 Se você baixou a documentação adicional, [então] desempacote-a na árvore do fonte usando o seguinte comando: tar -xf ../freetype-doc-2.13.1.tar.xz --strip-components=2 -C docs Instale FreeType2 executando os seguintes comandos: sed -ri "s:.*(AUX_MODULES.*valid):\1:" modules.cfg && sed -r "s:.*(#.*SUBPIXEL_RENDERING) .*:\1:" \ -i include/freetype/config/ftoption.h && ./configure --prefix=/usr --enable-freetype-config --disable-static && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Se você baixou a documentação opcional, [então] instale-a como o(a) usuário(a) root: cp -v -R docs -T /usr/share/doc/freetype-2.13.1 && rm -v /usr/share/doc/freetype-2.13.1/freetype-config.1 Explicações do Comando sed -ri ...: O primeiro comando habilita a validação da tabela "GX/AAT" e "OpenType" e o segundo comando habilita a renderização de sub pixel. Observe que a renderização de sub pixel possivelmente tenha problemas de patente. Certifique-se de ler a parte 'Outros problemas de patentes' de [2830]https://freetype.org/patents.html antes de habilitar essa opção. --enable-freetype-config: Essa chave garante que a página de manual para "freetype-config" seja instalada. --without-harfbuzz: se harfbuzz for instalado antes de freetype sem suporte a freetype, [então] use essa chave para evitar uma falha de construção. --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativo Instalado: freetype-config Biblioteca Instalada: libfreetype.so Diretórios Instalados: /usr/include/freetype2 e /usr/share/doc/freetype-2.13.1 Descrições Curtas freetype-config é usado para obter informações da compilação e da vinculação do FreeType libfreetype.so contém funções para renderizar vários tipos de fonte, como "TrueType" e "Type1" Fontconfig-2.14.2 Introdução a Fontconfig O pacote Fontconfig contém uma biblioteca e aplicativos de suporte usados para configurar e personalizar o acesso à fonte. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2831]https://www.freedesktop.org/software/fontconfig/release/fontc onfig-2.14.2.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 95261910ea727b5dd116b06fbfd84b1f * Tamanho da transferência: 1,4 MB * Espaço em disco estimado exigido: 17 MB (com os testes) * Tempo de construção estimado: 0,3 UPC (com os testes) Dependências do Fontconfig Exigida [2832]FreeType-2.13.1 Opcionais [2833]bubblewrap-0.8.0 (usado por alguns testes), [2834]cURL-8.2.1 e [2835]UnZip-6.0 (ambos usados por alguns testes para baixar e extrair arquivos de teste), [2836]JSON-C-0.17, [2837]DocBook-utils-0.6.14 e [2838]libxml2-2.10.4, [2839]texlive-20230313 (ou [2840]install-tl-unx) Nota Uma conexão com a Internet é necessária para alguns testes desse pacote. Nota Se tiver DocBook Utils instalado e remover o parâmetro --disable-docs do comando configure abaixo, [então] você precisa ter [2841]SGMLSpm-1.1 e [2842]texlive-20230313 instalado também, ou a construção do Fontconfig falhará. Instalação do Fontconfig Instale Fontconfig executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --disable-docs \ --docdir=/usr/share/doc/fontconfig-2.14.2 && make Para testar os resultados, emita: make check. Um teste é conhecido por falhar se o núcleo não suportar espaços de nomes de usuário(a). Alguns testes transferirão alguns arquivos de fonte via Internet. Agora, como o(a) usuário(a) root: make install Se não removeu o parâmetro --disable-docs do comando configure, [então] você consegue instalar a documentação pré-gerada usando os seguintes comandos como o(a) usuário(a) root: install -v -dm755 \ /usr/share/{man/man{1,3,5},doc/fontconfig-2.14.2/fontconfig-devel} && install -v -m644 fc-*/*.1 /usr/share/man/man1 && install -v -m644 doc/*.3 /usr/share/man/man3 && install -v -m644 doc/fonts-conf.5 /usr/share/man/man5 && install -v -m644 doc/fontconfig-devel/* \ /usr/share/doc/fontconfig-2.14.2/fontconfig-de vel && install -v -m644 doc/*.{pdf,sgml,txt,html} \ /usr/share/doc/fontconfig-2.14.2 Explicações do Comando --disable-docs: Essa chave evita construir a documentação (o tarball de lançamento inclui a documentação pré-gerada). Configurando Fontconfig Arquivos de Configuração /etc/fonts/*, /etc/fonts/conf.d/* e /usr/share/fontconfig/conf.avail/* Informação de Configuração O arquivo principal de configuração para Fontconfig é /etc/fonts/fonts.conf. Geralmente você não deseja editar esse arquivo. Ele também lerá /etc/fonts/local.conf e quaisquer arquivos em /etc/fonts/conf.d. Para colocar um novo diretório de fontes na configuração, crie (ou atualize) o arquivo /etc/fonts/local.conf com suas informações locais ou adicione um novo arquivo em /etc/fonts/conf.d. O local padrão das fontes em Fontconfig é: * /usr/share/fonts * ~/.local/share/fonts * ~/.fonts (isso agora está obsoleto, mas, no momento, ainda funciona) Fontconfig também envia muitos arquivos de configuração de exemplo no diretório /usr/share/fontconfig/conf.avail. Criar links simbólicos para arquivos específicos para /etc/fonts/conf.d irá habilitá-los. A configuração padrão geralmente é boa o suficiente para a maioria dos(as) usuários(as). Veja-se /etc/fonts/conf.d/README para uma descrição dos arquivos de configuração. Mais informações a respeito de configurar o Fontconfig podem ser encontradas no manual do(a) usuário(a) em [2843]file:///usr/share/doc/fontconfig-2.14.2/fontconfig-user.html. Conteúdo Aplicativos Instalados: fc-cache, fc-cat, fc-conflist, fc-list, fc-match, fc-pattern, fc-query, fc-scan e fc-validate Biblioteca Instalada: libfontconfig.so Diretórios Instalados: /etc/fonts, /usr/include/fontconfig, /usr/share/doc/fontconfig-2.14.2, /usr/share/fontconfig, /usr/share/xml/fontconfig e /var/cache/fontconfig Descrições Curtas fc-cache é usado para criar caches de informações de fonte fc-cat é usado para ler caches de informações de fonte fc-conflist mostra as informações dos arquivos do conjunto de regras no sistema fc-list é usado para criar listas de fontes fc-match é usado para corresponder às fontes disponíveis ou encontrar fontes que correspondam a um determinado padrão fc-pattern é usado para analisar o padrão (padrão vazio por padrão) e mostrar o resultado analisado fc-query é usado para consultar arquivos de fontes e imprimir padrões resultantes fc-scan é usado para escanear arquivos e diretórios de fontes e imprimir padrões resultantes fc-validate é usado para validar arquivos de fontes libfontconfig.so contém funções usadas pelos aplicativos Fontconfig e também por outros aplicativos para configurar ou personalizar o acesso à fonte FriBidi-1.0.13 Introdução a FriBidi O pacote FriBidi é uma implementação do [2844]Algoritmo Bidirecional Unicode (BIDI). Isso é útil para suportar os alfabetos árabe e hebraico em outros pacotes. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2845]https://github.com/fribidi/fribidi/releases/download/v1.0.13/ fribidi-1.0.13.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 49b17442e0d8fa2e97b5c898078f6f51 * Tamanho da transferência: 1,1 MB * Espaço em disco estimado exigido: 21 MB (com os testes) * Tempo de construção estimado: menos que 0,1 UPC (com os testes) Dependências do FriBidi Opcionais [2846]c2man (para construir páginas de manual) Instalação do FriBidi Instale FriBidi executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Para testar os resultados, emita: ninja test. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. Conteúdo Aplicativo Instalado: fribidi Biblioteca Instalada: libfribidi.so Diretório Instalado: /usr/include/fribidi Descrições Curtas fribidi é uma interface de linha de comando para a biblioteca libfribidi e pode ser usada para converter uma sequência lógica de caracteres para saída gerada visual libfribidi.so contém funções usadas para implementar o [2847]Algoritmo Bidirecional Unicode gegl-0.4.46 Introdução a gegl Esse pacote fornece a "Generic Graphics Library", que é um formato de processamento de imagens baseado em gráficos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2848]https://download.gimp.org/pub/gegl/0.4/gegl-0.4.46.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 241bde22f9204515121e5fb03a2b9fbd * Tamanho da transferência: 5,6 MB * Espaço em disco estimado exigido: 103 MB (Adicionar 4 MB para testes) * Tempo de construção estimado: 0,9 UPC (Usando paralelismo=4; adicionar 0,4 para testes) Dependências do gegl Exigidas [2849]babl-0.1.106, [2850]JSON-GLib-1.6.6, [2851]libjpeg-turbo-3.0.0 e [2852]libpng-1.6.40 Recomendadas [2853]gobject-introspection-1.76.1, [2854]Graphviz-8.1.0, [2855]Pygments-2.16.1 e [2856]PyGObject-3.44.1 Opcionais [2857]asciidoc-10.2.0, [2858]Cairo-1.17.6, [2859]FFmpeg-6.0, [2860]gdk-pixbuf-2.42.10, [2861]gexiv2-0.14.2, [2862]GTK-Doc-1.33.2, [2863]JasPer-4.0.0, [2864]Little CMS-2.14, [2865]libraw-0.21.1, [2866]librsvg-2.56.3, [2867]libtiff-4.5.1, [2868]libwebp-1.3.1, [2869]Pango-1.50.14, [2870]Poppler-23.08.0, [2871]Ruby-3.2.2, [2872]SDL2-2.28.2, [2873]v4l-utils-1.24.1, [2874]Vala-0.56.11, [2875]libspiro-20220722, [2876]LuaJIT, [2877]lensfun, [2878]LuaJIT, [2879]libnsgif, [2880]libumfpack, [2881]maxflow, [2882]MRG, [2883]OpenCL, [2884]OpenEXR, [2885]poly2tri-c, [2886]source-highlight e [2887]w3m Instalação do gegl Se instalar sobre uma versão anterior do gegl, [então] um módulo precisa ser removido. Como o(a) usuário(a) root, execute: rm -f /usr/lib/gegl-0.4/vector-fill.so Instale gegl executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Para executar os testes, emita: ninja test. 7 testes na parte gegl:ff-load-save da suíte de teste são conhecidos por falharem devido a incompatibilidades com ffmpeg-6.0. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando -Ddocs=true: Construa e instale a documentação (exige [2888]GTK-Doc-1.33.2). Conteúdo Aplicativos Instalados: gegl e gegl-imgcmp Bibliotecas Instaladas: libgegl-0.4.so, libgegl-npd-0.4.so e módulos em /usr/lib/gegl-0.4 Diretórios Instalados: /usr/lib/gegl-0.4 e /usr/include/gegl-0.4 Descrições Curtas gegl é uma ferramenta de linha de comando para trabalhar com o modelo de dados "XML" gegl-imgcmp é uma ferramenta simples de detecção de diferença de imagem para uso em testes de regressão libgegl-0.4.so fornece infraestrutura para fazer edição de imagem não destrutiva em cache baseada em demanda em "buffers" maiores que a RAM libgegl-npd-0.4.so é a biblioteca "GEGL" de deformação de imagem de N pontos giflib-5.2.1 Introdução a giflib O pacote giflib contém bibliotecas para ler e escrever "GIFs", bem como aplicativos para converter e trabalhar com arquivos "GIF". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2889]https://sourceforge.net/projects/giflib/files/giflib-5.2.1.ta r.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 6f03aee4ebe54ac2cc1ab3e4b0a049e5 * Tamanho da transferência: 436 KB * Espaço em disco estimado exigido: 3,2 MB (com a documentação) * Tempo de construção estimado: menos que 0,1 UPC (com a documentação) Dependências do giflib Exigida [2890]xmlto-0.0.28 Instalação do giflib Instale giflib executando os seguintes comandos: make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make PREFIX=/usr install && rm -fv /usr/lib/libgif.a && find doc \( -name Makefile\* -o -name \*.1 \ -o -name \*.xml \) -exec rm -v {} \; && install -v -dm755 /usr/share/doc/giflib-5.2.1 && cp -v -R doc/* /usr/share/doc/giflib-5.2.1 Explicações do Comando rm -fv /usr/lib/libgif.a: Esse comando remove uma biblioteca estática que não é usada por nenhum pacote do BLFS. find doc ... -exec rm -v {} \;: Esse comando remove os arquivos Makefiles, man e xml do diretório de documentação que, de outra forma, seriam instalados pelos comandos a seguir. Conteúdo Aplicativos Instalados: gif2rgb, gifbuild, gifclrmp, giffix, giftext e giftool Biblioteca Instalada: libgif.so Diretório Instalado: /usr/share/doc/giflib-5.2.1 Descrições Curtas gif2rgb converte imagens salvas como "GIF" em imagens "RGB" de 24 bits gifbuild despeja dados "GIF" em um formato textual ou os entulha em um "GIF" gifclrmp modifica mapas de cores de imagens "GIF" giffix tenta desajeitadamente corrigir imagens truncadas "GIF" giftext imprime (somente texto) informações gerais a respeito de um arquivo "GIF" giftool é uma ferramenta de transformação "GIF" libgif.so contém funções de API exigidas pelos aplicativos giflib e quaisquer outros aplicativos necessitando de funcionalidade de biblioteca para ler, escrever e manipular imagens "GIF" GLM-0.9.9.8 Introdução a GLM "OpenGL Mathematics" (GLM) é uma biblioteca matemática C++ somente de cabeçalho para software gráfico baseada nas especificações "OpenGL Shading Language" (GLSL). Um sistema de extensão fornece recursos estendidos, tais como transformações de matrizes e "quaternions". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2891]https://github.com/g-truc/glm/archive/0.9.9.8/glm-0.9.9.8.tar .gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 0e83d4a33c7d4044a2c35c8d6aba4671 * Tamanho da transferência: 4,2 MB * Espaço em disco estimado exigido: 23 MB * Tempo de construção estimado: menos que 0,1 UPC Instalação do GLM Nota Esse pacote é incomum, pois inclui a funcionalidade dele em arquivos de cabeçalho. Nós apenas os copiamos para a posição. Como o(a) usuário(a) root: cp -r glm /usr/include/ && cp -r doc /usr/share/doc/glm-0.9.9.8 Conteúdo Aplicativo Instalado: Nenhum(a) Biblioteca Instalada: Nenhum(a) Diretório Instalado: /usr/include/glm Graphite2-1.3.14 Introdução a Graphite2 Graphite2 é um mecanismo de renderização para fontes de grafite. Essas são fontes "TrueType" com tabelas adicionais contendo informações de renderização inteligente e foram originalmente desenvolvidas para suportar sistemas complexos de escrita não romanos. Elas possivelmente contenham regras para, por exemplo, ligaduras, substituição de glifos, "kerning", justificação - isso pode torná-las úteis mesmo em textos escritos em sistemas de escrita romanos, como o inglês. Observe que o firefox por padrão fornece uma cópia interna do mecanismo de grafite e não pode usar uma versão do sistema (embora agora possa ser remendado para usá-lo), mas também ele deveria se beneficiar da disponibilidade de fontes de grafite. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2892]https://github.com/silnrsi/graphite/releases/download/1.3.14/ graphite2-1.3.14.tgz * Transferência (FTP): * Soma de verificação MD5 da transferência: 1bccb985a7da01092bfb53bb5041e836 * Tamanho da transferência: 6,3 MB * Espaço em disco estimado exigido: 30 MB (com testes) * Tempo de construção estimado: 0,2 UPC (com os testes) Dependências do Graphite2 Exigida [2893]CMake-3.27.2 Opcionais [2894]FreeType-2.13.1, [2895]silgraphite para construir a ferramenta de teste e avaliação comparativa comparerender e, se isso estiver presente, e [2896]HarfBuzz-8.1.1 para adicionar mais funcionalidade para ele (essa é uma dependência circular; você precisaria primeiro construir graphite2 sem harfbuzz). Para construir a documentação: [2897]asciidoc-10.2.0, [2898]Doxygen-1.9.7, [2899]texlive-20230313 (ou [2900]install-tl-unx) e [2901]dblatex (para documentos "PDF") Para executar a suíte de teste, você precisará de [2902]FontTools (módulo Python 3), caso contrário, os testes "cmp" falham. Opcional (em tempo de execução) Você precisará de pelo menos uma [2903]fonte grafite adequada para que o pacote seja útil. Instalação do Graphite2 Alguns testes falham se o [2904]FontTools (módulo Python 3) não estiver instalado. Esses testes podem ser removidos com: sed -i '/cmptest/d' tests/CMakeLists.txt Instale Graphite2 executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr .. && make Se você deseja construir a documentação, emita: make docs Para testar os resultados, emita: make test. Um teste chamado nametabletest é conhecido por falhar. Agora, como o(a) usuário(a) root: make install Se você construiu a documentação, [então] instale, como o(a) usuário(a) root: install -v -d -m755 /usr/share/doc/graphite2-1.3.14 && cp -v -f doc/{GTF,manual}.html \ /usr/share/doc/graphite2-1.3.14 && cp -v -f doc/{GTF,manual}.pdf \ /usr/share/doc/graphite2-1.3.14 Explicações do Comando -DCMAKE_VERBOSE_MAKEFILE=ON: Essa chave liga o modo detalhado de construção. Conteúdo Aplicativos Instalados: gr2fonttest e, opcionalmente, comparerender Bibliotecas Instaladas: libgraphite2.so Diretórios Instalados: /usr/{include,share}/graphite2 e, opcionalmente, /usr/share/doc/graphite2-1.3.14 Descrições Curtas comparerender é uma ferramenta de teste e avaliação comparativa gr2fonttest é uma ferramenta de console de diagnóstico para fontes de grafite libgraphite2.so é um mecanismo de renderização para fontes de grafite HarfBuzz-8.1.1 Introdução a Harfbuzz O pacote HarfBuzz contém um mecanismo de modelagem de texto "OpenType". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2905]https://github.com/harfbuzz/harfbuzz/releases/download/8.1.1/ harfbuzz-8.1.1.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: f0040d0fc02cf94cac9f46a94c44c6de * Tamanho da transferência: 18 MB * Espaço em disco estimado exigido: 145 MB (com testes) * Tempo de construção estimado: 0,9 UPC (Usando paralelismo=4; com testes) Dependências do HarfBuzz Recomendadas [2906]gobject-introspection-1.76.1 (exigido, se construindo o "GNOME"), [2907]GLib-2.76.4 (exigido para o "Pango"), [2908]Graphite2-1.3.14 (exigido para construir [2909]texlive-20230313 ou o [2910]LibreOffice-7.6.0.3 com "harfbuzz" do sistema), [2911]ICU-73.2 e [2912]FreeType-2.13.1 (depois de [2913]HarfBuzz-8.1.1 ser instalado, reinstale [2914]FreeType-2.13.1) Opcionais [2915]Cairo-1.17.6 (circular: construa cairo e todas as dependências recomendadas dele, incluindo harfbuzz, primeiro, então reconstrua harfbuzz se a infraestrutura de retaguarda cairo for necessária), [2916]git-2.41.0, [2917]GTK-Doc-1.33.2, [2918]FontTools (módulo Python 3, para a suíte de teste), [2919]ragel e [2920]wasm-micro-runtime Atenção As dependências recomendadas não são estritamente necessárias para construir o pacote. No entanto, você pode não obter os resultados esperados no tempo de execução se não os instalar. Por favor, não informe defeitos com esse pacote se você não tiver instalado as dependências recomendadas. Instalação do HarfBuzz Instale HarfBuzz executando os seguintes comandos: mkdir build && cd build && meson setup .. \ --prefix=/usr \ --buildtype=release \ -Dgraphite2=enabled && ninja Para testar os resultados, emita: ninja test. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dgraphite2=enabled: Essa chave habilita o suporte Graphite2, que é necessário para construir [2921]texlive-20230313 ou o [2922]LibreOffice-7.6.0.3 com "harfbuzz" do sistema. -Ddocs=disabled: Se [2923]GTK-Doc-1.33.2 estiver instalado, [então] a documentação é construída e instalada. Essa chave impede isso. Conteúdo Aplicativos Instalados: hb-info, hb-ot-shape-closure, hb-shape, hb-subset e hb-view (somente se "Cairo" estiver instalado) Bibliotecas Instaladas: libharfbuzz.so, libharfbuzz-cairo.so (somente se "Cairo" estiver instalado), libharfbuzz-gobject.so, libharfbuzz-icu.so e libharfbuzz-subset.so Diretórios Instalados: /usr/include/harbuzz, /usr/lib/cmake/harfbuzz e /usr/share/gtk-doc/html/harfbuzz (opcional) Descrições Curtas hb-info é usado para coletar informações a respeito das fontes instaladas no sistema hb-ot-shape-closure fornece o conjunto de caracteres contidos em uma sequência de caracteres, representados como caracteres únicos e(ou) nomes únicos de caracteres. Exemplo: hb-ot-shape-closure /usr/share/fonts/dejavu/DejaVuSans.ttf "Hello World." hb-shape é usado para a conversão de sequências de caracteres de texto em glifos posicionados hb-subset é usado para criar subconjuntos de fontes e exibir texto usando-os hb-view exibe uma visualização gráfica de uma forma de sequência de caracteres usando uma fonte específica como um conjunto de glifos. O formato da saída gerada é definido automaticamente pela extensão do arquivo, sendo as suportadas ansi/png/svg/pdf/ps/eps. Por exemplo: hb-view --output-file=hello.png /usr/share/fonts/dejavu/DejaVuSans.ttf "Hello World." libharfbuzz.so é a biblioteca de modelagem de texto "HarfBuzz" libharfbuzz-cairo.so fornece integração "Cairo" para a biblioteca de modelagem de texto "Harfbuzz" libharfbuzz-gobject.so fornece integração "GObject" para a biblioteca de modelagem de texto "HarfBuzz" libharfbuzz-icu.so fornece integração "ICU" para a biblioteca de modelagem de texto "HarfBuzz" libharfbuzz-subset.so fornece funções de API para realizar operações de subconjunto em arquivos de fonte JasPer-4.0.0 Introdução a JasPer O Projeto JasPer é uma iniciativa de fonte aberto para fornecer uma implementação de referência baseada em software livre do codec "JPEG-2000". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2924]https://github.com/jasper-software/jasper/archive/version-4.0 .0/jasper-4.0.0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 1578be3c1e329fdaae35d98dd804ed95 * Tamanho da transferência: 1,9 MB * Espaço em disco estimado exigido: 9,5 MB (com os testes) * Tempo de construção estimado: 0,3 UPC (com os testes) Dependências do JasPer Exigida [2925]CMake-3.27.2 Recomendada [2926]libjpeg-turbo-3.0.0 Opcionais [2927]Freeglut-3.4.0 (necessário para jiv), [2928]Doxygen-1.9.7 (necessário para gerar documentação html) e [2929]texlive-20230313 ( necessário para regerar a documentação em pdf) Instalação do JasPer Nota O tarball jasper-4.0.0.tar.gz extrairá para jasper-version-4.0.0. Instale JasPer executando os seguintes comandos: mkdir BUILD && cd BUILD && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_SKIP_INSTALL_RPATH=YES \ -DJAS_ENABLE_DOC=NO \ -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/jasper-4.0.0 \ .. && make Para testar os resultados, emita: make test. Agora, como o(a) usuário(a) root: make install Explicações do Comando -DCMAKE_SKIP_INSTALL_RPATH=YES: Essa opção remove os caminhos de pesquisa da biblioteca incorporada. -DJAS_ENABLE_DOC=NO: Essa opção desabilita a reconstrução da documentação em PDF se [2930]texlive-20230313 estiver instalado. Conteúdo Aplicativos Instalados: imgcmp, imginfo, jasper e jiv Biblioteca Instalada: libjasper.so Diretórios Instalados: /usr/include/jasper e /usr/share/doc/jasper-4.0.0 Descrições Curtas imgcmp compara duas imagens da mesma geometria imginfo exibe informações a respeito de uma imagem jasper converte imagens entre formatos (BMP, JPS, JPC, JPG, PGX, PNM, MIF e RAS) jiv exibe imagens libjasper.so é uma biblioteca usada por aplicativos para ler e gravar arquivos no formato "JPEG2000" Little CMS-1.19 Introdução a Little CMS A biblioteca Little CMS é usada por outros aplicativos para fornecer recursos de gerenciamento de cores. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2931]https://downloads.sourceforge.net/lcms/lcms-1.19.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 8af94611baf20d9646c7c2c285859818 * Tamanho da transferência: 927 KB * Espaço em disco estimado exigido: 27 MB * Tempo de construção estimado: 0,5 UPC Transferências Adicionais * Remendo exigido: [2932]https://www.linuxfromscratch.org/patches/blfs/12.0/lcms-1.19- cve_2013_4276-1.patch Dependências do Little CMS Opcionais [2933]libtiff-4.5.1, [2934]libjpeg-turbo-3.0.0 e [2935]Python-2.7.18 (com [2936]SWIG-4.1.1 também) Instalação do Little CMS Instale Little CMS executando os seguintes comandos: patch -Np1 -i ../lcms-1.19-cve_2013_4276-1.patch && ./configure --prefix=/usr --disable-static && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install && install -v -m755 -d /usr/share/doc/lcms-1.19 && install -v -m644 README.1ST doc/* \ /usr/share/doc/lcms-1.19 Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --with-python: Use esse parâmetro se Python e SWIG estiverem instalados. Conteúdo Aplicativos Instalados: icc2ps, icclink, icctrans, wtpt e, opcionalmente, jpegicc, tiffdiff e tifficc Bibliotecas Instaladas: liblcms.so e o opcional módulo Python "_lcms.so" Diretório Instalado: /usr/share/doc/lcms-1.19 Descrições Curtas icc2ps gera "CRD" ou "CSA" PostScript a partir de perfis "ICC" icclink vincula dois ou mais perfis em um perfil único de ligação de dispositivo icctrans é uma calculadora de conversão de espaço de cores jpegicc é um aplicador de perfil "ICC" para arquivos "JPEG" tifficc é um aplicador de perfil "ICC" para arquivos "TIFF" tiffdiff é um utilitário de comparação "TIFF" wtpt mostra a mídia branca dos perfis, identificando o "locus" do corpo negro liblcms.so é usado pelos aplicativos lcms assim como outros aplicativos para fornecer recursos de gerenciamento de cores Little CMS-2.14 Introdução a Little CMS2 O "Little Color Management System" é um mecanismo de gerenciamento de cores compacto, com foco especial em precisão e desempenho. Ele usa o padrão "International Color Consortium" (ICC), que é o padrão moderno para gerenciamento de cores. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2937]https://github.com/mm2/Little-CMS/releases/download/lcms2.14/ lcms2-2.14.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 7f7baa3e605c961b9301135105ee9a34 * Tamanho da transferência: 7,1 MB * Espaço em disco estimado exigido: 20 MB (com os testes) * Tempo de construção estimado: 0,2 UPC (com os testes) Dependências do Little CMS2 Opcionais [2938]libjpeg-turbo-3.0.0 e [2939]libtiff-4.5.1 Instalação do Little CMS2 Aplique a correção do(a) desenvolvedor(a) para um problema quebrando "colord": sed '/BufferSize < TagSize/,+1 s/goto Error/TagSize = BufferSize/' \ -i src/cmsio0.c Instale Little CMS2 executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativos Instalados: jpgicc, linkicc, psicc, tificc e transicc Biblioteca Instalada: liblcms2.so Diretórios Instalados: Nenhum Descrições Curtas jpgicc é o aplicador de perfil "ICC" do "Little CMS" para "JPEG" linkicc é o gerador de ligação de dispositivo "ICC" do "Little CMS" psicc é o gerador de "ICC PostScript" do "Little CMS" tificc é o gerador de "ICC tiff" do "Little CMS" transicc é a calculadora de conversão "ColorSpace" do "Little CMS" liblcms2.so contém funções que implementam a API do "lcms2" libavif-0.11.1 Introdução ao libavif O pacote libavif contém uma biblioteca usada para codificar e decodificar arquivos AVIF. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2940]https://github.com/AOMediaCodec/libavif/archive/v0.11.1/libav if-0.11.1.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: dde524dfc0e0e37a468277b128662990 * Tamanho da transferência: 5,6 MB * Espaço em disco estimado exigido: 10 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do libavif Exigidas [2941]libaom-3.6.1 Recomendadas [2942]gdk-pixbuf-2.42.10 Opcionais [2943]gtest, [2944]libdav1d, [2945]libyuv, [2946]rav1e e [2947]svt-av1 Instalação do libavif Instale o libavif executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -DAVIF_CODEC_AOM=ON \ -DAVIF_BUILD_GDK_PIXBUF=ON \ -G Ninja .. && ninja Esse pacote vem com uma suíte de teste, mas ela exige [2948]gtest, que não é parte do BLFS. Agora, como o(a) usuário(a) root: ninja install O formato AV1 precisa ser adicionado ao cache dos carregadores. Como o(a) usuário(a) root: gdk-pixbuf-query-loaders --update-cache Explicações do Comando -DAVIF_CODEC_AOM=ON: Essa chave habilita usar o codificador AOM. Esse pacote é inútil sem pelo menos um codificador integrado. -DAVIF_BUILD_GDK_PIXBUF=ON: Essa chave constrói o carregador AVIF para aplicativos que usam gdk-pixbuf. Remova-a se você não tiver instalado o [2949]gdk-pixbuf-2.42.10. -DAVIF_CODEC_DAV1D=ON: Use essa chave se você tiver instalado [2950]libdav1d e desejar usá-lo como um codificador. -DAVIF_CODEC_RAV1E=ON: Use essa chave se você tiver instalado o [2951]rav1e e desejar usá-lo como um codificador. -DAVIF_CODEC_SVT=ON: Use essa chave se você tiver instalado [2952]svt-av1 e desejar usá-lo como um codificador. Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libavif.so e libpixbbufloader-avif.so (em /usr/lib/gdk-pixbuf-2.0/2.10.0/loaders) Diretórios Instalados: /usr/include/avif Descrições Curtas libavif.so contém funções que fornecem uma implementação C portável do formato de imagem AV1 libpixbufloader-avif.so permite que aplicativos que usam gdk-pixbuf leiam imagens AVIF libexif-0.6.24 Introdução ao "libexif" O pacote libexif contém uma biblioteca para analisar, editar e salvar dados "EXIF". A maioria das câmeras digitais produz arquivos "EXIF", que são arquivos "JPEG" com etiquetas extras que contém informações a respeito da imagem. Todas as etiquetas "EXIF" descritas no padrão "EXIF 2.1" são suportadas. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2953]https://github.com/libexif/libexif/releases/download/v0.6.24/ libexif-0.6.24.tar.bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: 00ea6e7ff62d3fd41ea9b2139746703c * Tamanho da transferência: 1,9 MB * Espaço em disco estimado exigido: 17 MB * Tempo de construção estimado: 0,1 UPC Dependências do "libexif" Opcional (para construir a documentação) [2954]Doxygen-1.9.7 e [2955]Graphviz-8.1.0 Instalação do "libexif" Instale libexif executando os seguintes comandos: ./configure --prefix=/usr \ --disable-static \ --with-doc-dir=/usr/share/doc/libexif-0.6.24 && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install A documentação foi construída e instalada se você tiver as dependências mostradas acima instaladas. Se você não tiver as dependências instaladas, [então] existe um "tarball" comprimido no diretório doc da árvore do fonte que pode ser desempacotado em /usr/share/doc/libexif-0.6.24. Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativos Instalados: Nenhum Biblioteca Instalada: libexif.so Diretórios Instalados: /usr/include/libexif e /usr/share/doc/libexif-0.6.24 Descrições Curtas libexif.so contém funções usadas para analisar, editar e salvar dados "EXIF" Libgxps-0.3.2 Introdução a libgxps O pacote libgxps fornece uma interface para manipular documentos "XPS". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2956]https://download.gnome.org/sources/libgxps/0.3/libgxps-0.3.2. tar.xz * Transferência (FTP): [2957]ftp://ftp.acc.umu.se/pub/gnome/sources/libgxps/0.3/libgxps-0. 3.2.tar.xz * Soma de verificação MD5 da transferência: 0527ac7c8c405445e96a5baa6019a0c3 * Tamanho da transferência: 80 KB * Espaço em disco estimado exigido: 5,4 MB * Tempo de construção estimado: 0,1 UPC Dependências do Libgxps Exigidas [2958]GTK+-3.24.38, [2959]Little CMS-2.14, [2960]libarchive-3.7.1, [2961]libjpeg-turbo-3.0.0, [2962]libtiff-4.5.1 e [2963]libxslt-1.1.38 Opcionais [2964]git-2.41.0 e [2965]GTK-Doc-1.33.2 Instalação do Libgxps Instale Libgxps executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. Conteúdo Aplicativos Instalados: xpstojpeg, xpstopdf, xpstopng, xpstops e xpstosvg Biblioteca Instalada: libgxps.so Diretórios Instalados: /usr/include/libgxps Descrições Curtas xpstojpeg converte documentos "XPS" em uma imagem "JPEG" xpstopdf converte documentos "XPS" para o formato "PDF" xpstopng converte documentos "XPS" em uma imagem "PNG" xpstops converte documentos "XPS" em "PostScript" xpstosvg converte documentos "XPS" em imagens "SVG" libgxps.so contém funções de API para manipular documentos "XPS" libjpeg-turbo-3.0.0 Introdução a libjpeg-turbo libjpeg-turbo é uma bifurcação do libjpeg "IJG" original que usa "SIMD" para acelerar a compressão e descompressão "JPEG" da linha de base. libjpeg é uma biblioteca que implementa codificação, decodificação e transcodificação de imagens "JPEG". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2966]https://downloads.sourceforge.net/libjpeg-turbo/libjpeg-turbo -3.0.0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: aa1f0a1c72cb6772e34d9d5136267f56 * Tamanho da transferência: 2,7 MB * Espaço em disco estimado exigido: 55 MB (com testes) * Tempo de construção estimado: 0,5 UPC (com testes; ambos usando paralelismo=4) Dependências do libjpeg-turbo Exigida [2967]CMake-3.27.2 Recomendadas [2968]NASM-2.16.01 ou [2969]yasm-1.3.0 (para construir o pacote com rotina otimizada "assembly") Instalação do libjpeg-turbo Instale libjpeg-turbo executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=RELEASE \ -DENABLE_STATIC=FALSE \ -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/libjpeg-turbo-3.0.0 \ -DCMAKE_INSTALL_DEFAULT_LIBDIR=lib \ .. && make Para testar os resultados, emita: make test. Agora, como o(a) usuário(a) root: make install Explicações do Comando -DWITH_JPEG8=ON: Essa chave habilita a compatibilidade com libjpeg versão 8. Conteúdo Aplicativos Instalados: cjpeg, djpeg, jpegtran, rdjpgcom, tjbench e wrjpgcom Bibliotecas Instaladas: libjpeg.so e libturbojpeg.so Diretórios Instalados: /usr/share/doc/libjpeg-turbo-3.0.0 Descrições Curtas cjpeg comprime arquivos de imagem para produzir um arquivo "JPEG/JFIF" na saída gerada padrão. Os formatos de arquivo de entrada atualmente suportados são: "PPM" (formato de cor "PBMPLUS"), "PGM" (formato de escala de cinza "PBMPLUS"), "BMP" e "Targa" djpeg descomprime arquivos de imagem do formato "JPEG/JFIF" para ou "PPM" (formato de cores "PBMPLUS"), "PGM" (formato de escala de cinza "PBMPLUS"), "BMP" ou formato "Targa" jpegtran é usado para transformação sem perdas de arquivos "JPEG" rdjpgcom exibe comentários de texto a partir de um arquivo "JPEG" tjbench é usado para avaliar comparativamente o desempenho da "libjpeg-turbo" wrjpgcom insere comentários de texto em um arquivo "JPEG" libjpeg.so contém funções usadas para ler e gravar imagens "JPEG" libmng-2.0.3 Introdução a libmng As bibliotecas libmng são usadas por aplicativos querendo ler e gravar arquivos "Multiple-image Network Graphics" ("MNG"), que são os equivalentes de animação aos arquivos "PNG". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2970]https://downloads.sourceforge.net/libmng/libmng-2.0.3.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: e9e899adb1b681b17f14d91e261878c5 * Tamanho da transferência: 932 KB * Espaço em disco estimado exigido: 15 MB * Tempo de construção estimado: 0,1 UPC Dependências do libmng Exigidas [2971]libjpeg-turbo-3.0.0 e [2972]Little CMS-2.14 Instalação do libmng Instale libmng executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install && install -v -m755 -d /usr/share/doc/libmng-2.0.3 && install -v -m644 doc/*.txt /usr/share/doc/libmng-2.0.3 Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativos Instalados: Nenhum Biblioteca Instalada: libmng.so Diretório Instalado: /usr/share/doc/libmng-2.0.3 Descrições Curtas libmng.so fornece funções para aplicativos desejando ler e gravar arquivos "MNG" que são arquivos de animação sem os problemas de patente associados com certos outros formatos libmypaint-1.6.1 Introdução a libmypaint O pacote libmypaint, também conhecido como "brushlib", é uma biblioteca para fazer pinceladas que é usada pelo "MyPaint" e outros projetos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2973]https://github.com/mypaint/libmypaint/releases/download/v1.6. 1/libmypaint-1.6.1.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 7f1dab2d30ce8a3f494354c7c77a2977 * Tamanho da transferência: 508 KB * Espaço em disco estimado exigido: 11 MB (adicionar 1 MB para os testes) * Tempo de construção estimado: 0,1 UPC (adicionar 0,3 UPC para os testes) Dependências do libmypaint Exigida [2974]JSON-C-0.17 Recomendadas [2975]GLib-2.76.4 e [2976]gobject-introspection-1.76.1 Opcionais [2977]Doxygen-1.9.7 (para criar documentos "XML"), [2978]gegl (somente versões 0.3) e [2979]gperftools Instalação do libmypaint Instale libmypaint executando os seguintes comandos: ./configure --prefix=/usr && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Conteúdo Aplicativos Instalados: Nenhum. Bibliotecas Instaladas: libmypaint.so (e, opcionalmente, "libmypaint-gegl.so", que não é usada por nenhum pacote neste livro). Diretório Instalado: /usr/include/libmypaint Descrições Curtas libmypaint.so contém funções para fazer pinceladas libpng-1.6.40 Introdução a libpng O pacote libpng contém bibliotecas usadas por outros aplicativos para ler e gravar arquivos "PNG". O formato "PNG" foi projetado como um substituto para o "GIF" e, em menor grau, o "TIFF", com muitas melhorias e extensões e ausência de problemas de patente. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2980]https://downloads.sourceforge.net/libpng/libpng-1.6.40.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 6c7fe9dbb80c89c3579bedad9722e559 * Tamanho da transferência: 1000 KB * Espaço em disco estimado exigido: 16 MB (com testes) * Tempo de construção estimado: 0,1 UPC (adicionar 0,5 UPC para os testes) Transferências Adicionais * Remendo recomendado para incluir a funcionalidade de "png" animado em libpng (exigido para usar a libpng do sistema no Firefox, Seamonkey e Thunderbird): [2981]https://downloads.sourceforge.net/sourceforge/libpng-apng/lib png-1.6.39-apng.patch.gz * Soma de verificação MD5 do remendo: cd63b667723d6cc75e95eca3224f33f7 Instalação do libpng Se você deseja remendar a "libpng" para suportar arquivos "apng", [então] aplique-o aqui: gzip -cd ../libpng-1.6.39-apng.patch.gz | patch -p1 Instale libpng executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install && mkdir -v /usr/share/doc/libpng-1.6.40 && cp -v README libpng-manual.txt /usr/share/doc/libpng-1.6.40 Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativos Instalados: libpng-config (link simbólico), libpng16-config, pngfix e png-fix-itxt Bibliotecas Instaladas: libpng.so Diretórios Instalados: /usr/include/libpng16 e /usr/share/doc/libpng-1.6.40 Descrições Curtas pngfix testa, otimiza e, opcionalmente, corrige o cabeçalho "zlib" em arquivos "PNG". Opcionalmente, ao corrigir, retira pedaços auxiliares do arquivo png-fix-itxt corrige arquivos "PNG" que tem um campo incorreto de comprimento nos blocos "iTXt" libpng-config é um script de shell que fornece informações de configuração para aplicativos querendo usar a libpng libpng.so contém rotinas usadas para criar e manipular arquivos gráficos no formato "PNG" libraw-0.21.1 Introdução a libraw Libraw é uma biblioteca para leitura de arquivos "RAW" obtidos a partir de câmeras fotográficas digitais ("CRW/CR2", "NEF", "RAF", "DNG" e outros). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2982]https://www.libraw.org/data/LibRaw-0.21.1.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 2942732de752f46baccd9c6d57823b7b * Tamanho da transferência: 1,6 MB * Espaço em disco estimado exigido: 31 MB * Tempo de construção estimado: 0,2 UPC (Usando paralelismo=4) Dependências do libraw Recomendadas [2983]libjpeg-turbo-3.0.0, [2984]JasPer-4.0.0 e [2985]Little CMS-2.14 Instalação do libraw Instale libraw executando os seguintes comandos: autoreconf -fiv && ./configure --prefix=/usr \ --enable-jpeg \ --enable-jasper \ --enable-lcms \ --disable-static \ --docdir=/usr/share/doc/libraw-0.21.1 && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Explicações do Comando --enable-jpeg: Essa chave habilita o suporte para "jpeg". Remova se você não tiver [2986]libjpeg-turbo-3.0.0 instalada. --enable-jasper: Essa chave habilita o suporte para "jasper". Remova se você não tiver [2987]JasPer-4.0.0 instalado. --enable-lcms: Essa chave habilita o suporte para "Little CMS2". Remova se você não tiver [2988]Little CMS-2.14 instalado. --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Nota Todos os aplicativos instalados são exemplos de uso da "libraw". Aplicativos Instalados: 4channels, dcraw_emu, dcraw_half, half_mt, mem_image, multirender_test, postprocessing_benchmark, raw-identify, simple_dcraw e unprocessed_raw Biblioteca Instalada: libraw.so e libraw_r.so Diretórios Instalados: /usr/include/libraw e /usr/share/doc/libraw-0.21.1 Descrições Curtas 4channels gera quatro arquivos "TIFF" a partir de dados "RAW", um arquivo por canal dcraw_half emula "dcraw -h" (veja-se a [2989]página de manual do DCRAW) mem_image emula "dcraw [-4] [-6] [-e]" (veja-se a [2990]página de manual do DCRAW) postprocessing_benchmark cria oito renderizações a partir de um arquivo de origem. O primeiro e o quarto deveriam ser idênticos simple_dcraw emula chamada a "dcraw [-D] [-T] [-v] [-e] [-4]" (veja-se a [2991]página de manual do DCRAW) dcraw_emu é um emulador "dcraw" quase completo (veja-se a [2992]página de manual do DCRAW) half_mt emula chamada a "dcraw -h [-w] [-a] [-v]" (veja-se a [2993]página de manual do DCRAW) multirender_test cria oito renderizações a partir de um arquivo de origem. O primeiro e o quarto deveriam ser idênticos raw-identify emula chamada a "dcraw -i [-v]" (veja-se a [2994]página de manual do DCRAW) unprocessed_raw gera imagem bruta não processada: com pixels mascarados e sem subtração de preto librsvg-2.56.3 Introdução a librsvg O pacote librsvg contém uma biblioteca e ferramentas usadas para manipular, converter e visualizar imagens "Scalable Vector Graphic" ("SVG"). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [2995]https://download.gnome.org/sources/librsvg/2.56/librsvg-2.56. 3.tar.xz * Transferência (FTP): [2996]ftp://ftp.acc.umu.se/pub/gnome/sources/librsvg/2.56/librsvg-2 .56.3.tar.xz * Soma de verificação MD5 da transferência: 8055142a6c9d0d21d42e40bc08dff814 * Tamanho da transferência: 5,4 MB * Espaço em disco estimado exigido: 747 MB (16 MB instalado), adicionar 378 MB para testes * Tempo de construção estimado: 0,7 UPC (Adicionar 0,8 UPC para testes; ambos usando paralelismo=4) Dependências do librsvg Exigidas [2997]Cairo-1.17.6, [2998]gdk-pixbuf-2.42.10, [2999]Pango-1.50.14 e [3000]rustc-1.71.1 Nota Uma conexão com a Internet é necessária para construir esse pacote. Recomendadas [3001]gobject-introspection-1.76.1 e [3002]Vala-0.56.11 Opcionais [3003]docutils-0.20.1 (para páginas de manual), [3004]Gi-DocGen-2023.1 (para documentação) e [3005]Fontes do Xorg (para testes) Instalação do librsvg Instale librsvg executando os seguintes comandos: ./configure --prefix=/usr \ --enable-vala \ --disable-static \ --docdir=/usr/share/doc/librsvg-2.56.3 && make Para testar os resultados, emita: make check Agora, como o(a) usuário(a) root: make DOC_INSTALL_DIR='$(docdir)' install Nota Se você instalou o pacote em seu sistema usando um método “DESTDIR”, [então] um arquivo importante não foi instalado e deveria ser copiado e(ou) gerado. Gere-o usando o seguinte comando como o(a) usuário(a) root: gdk-pixbuf-query-loaders --update-cache Explicações do Comando --enable-vala: Essa chave habilita a construção das ligações "Vala". Remova essa chave se você não tiver [3006]Vala-0.56.11 instalado. --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. DOC_INSTALL_DIR='$(docdir)': Essa substituição garante instalar a documentação da API no local esperado se [3007]Gi-DocGen-2023.1 estiver instalado. --disable-introspection: Use essa chave se você não tiver instalado Gobject Introspection. --disable-gtk-doc: Essa chave evita construir a documentação da API, mesmo se [3008]Gi-DocGen-2023.1 (apesar do nome da opção) estiver disponível. Conteúdo Aplicativos Instalados: rsvg-convert Biblioteca Instalada: librsvg-2.so Diretórios Instalados: /usr/include/librsvg-2.0 e /usr/share/doc/librsvg-2.56.3 Descrições Curtas rsvg-convert é usado para converter imagens em "PNG", "PDF", "PS", "SVG" e outros formatos librsvg-2.so fornece as funções para renderizar Gráficos Escaláveis Vetoriais libpixbufloader-svg.so é o plug-in Gdk Pixbuf que permite que aplicativos GTK+ renderizem imagens de Gráficos Escaláveis Vetoriais Libspiro-20220722 Introdução a libspiro Libspiro pegará uma matriz de pontos de controle "spiro" e os converterá em uma série de "splines bezier" que podem então ser usados em uma miríade de maneiras que o mundo passou a usar "beziers". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3009]https://github.com/fontforge/libspiro/releases/download/20220 722/libspiro-dist-20220722.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: c21f86e6c1ad65ed4cb1f754f6d7563c * Tamanho da transferência: 428 KB * Espaço em disco estimado exigido: 5,1 MB (adicionar 1,3 MB se executar os testes) * Tempo de construção estimado: 0,1 UPC Instalação do libspiro Instale libspiro executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativos Instalados: Nenhum Biblioteca Instalada: libspiro.so Diretórios Instalados: Nenhum Descrições Curtas libspiro.so é uma biblioteca compartilhável que pode ser usada por aplicativos para fazer os cálculos do "Spiro" para você libtiff-4.5.1 Introdução a libtiff O pacote libtiff contém as bibliotecas "TIFF" e utilitários associados. As bibliotecas são usadas por muitos aplicativos para ler e gravar arquivos "TIFF" e os utilitários são usados para trabalhos gerais com arquivos "TIFF". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3010]https://download.osgeo.org/libtiff/tiff-4.5.1.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: d08c5f9eee6350fffc239e5993d92779 * Tamanho da transferência: 3,6 MB * Espaço em disco estimado exigido: 63 MB (com testes) * Tempo de construção estimado: 0,3 UPC (com testes) Dependências do libtiff Recomendada [3011]CMake-3.27.2 Opcionais [3012]Freeglut-3.4.0 (exigido para tiffgt), [3013]libjpeg-turbo-3.0.0, [3014]sphinx-7.1.2, [3015]libwebp-1.3.1, [3016]JBIG-KIT e [3017]LERC Instalação do libtiff Instale libtiff executando os seguintes comandos: mkdir -p libtiff-build && cd libtiff-build && cmake -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/libtiff-4.5.1 \ -DCMAKE_INSTALL_PREFIX=/usr -G Ninja .. && ninja Para testar os resultados, emita: ninja test. Agora, como o(a) usuário(a) root: ninja install Conteúdo Aplicativos Instalados: fax2ps, fax2tiff, pal2rgb, ppm2tiff, raw2tiff, tiff2bw, tiff2pdf, tiff2ps, tiff2rgba, tiffcmp, tiffcp, tiffcrop, tiffdither, tiffdump, tiffgt, tiffinfo, tiffmedian, tiffset e tiffsplit Bibliotecas Instaladas: libtiff.so e libtiffxx.so Diretório Instalado: /usr/share/doc/tiff-4.5.1 Descrições Curtas fax2ps converte um fac-símile "TIFF" em arquivo comprimido "PostScript" fax2tiff cria um arquivo de fax "TIFF" Classe F a partir de dados brutos de fax pal2rgb converte uma imagem "TIFF" colorida da paleta em uma imagem completa colorida ppm2tiff cria um arquivo "TIFF" a partir de um arquivo de imagem "PPM" raw2tiff converte uma sequência bruta de bytes em "TIFF" tiff2bw converte uma imagem colorida "TIFF" em tons de cinza tiff2pdf converte uma imagem "TIFF" em um documento "PDF" tiff2ps converte uma imagem "TIFF" em um arquivo "PostScript" tiff2rgba converte uma ampla variedade de imagens "TIFF" em uma imagem "RGBA TIFF" tiffcmp compara dois arquivos "TIFF" tiffcp copia (e possivelmente converte) um arquivo "TIFF" tiffcrop seleciona, copia, recorta, converte, extrai e(ou) processa um ou mais arquivos "TIFF" tiffdither converte uma imagem em tons de cinza em dois níveis usando pontilhamento tiffdump imprime informações literais a respeito de arquivos "TIFF" tiffgt exibe uma imagem armazenada em um arquivo "TIFF" tiffinfo imprime informações relativas a arquivos "TIFF" tiffmedian aplica o algoritmo de corte mediano aos dados em um arquivo "TIFF" tiffset configura o valor de um cabeçalho "TIFF" para um valor especificado tiffsplit divide um "TIFF" de várias imagens em arquivos "TIFF" de imagem única libtiff.so contém as funções de API usadas pelos aplicativos libtiff assim como outros aplicativos para ler e gravar arquivos "TIFF" libtiffxx.so contém as funções da API C++ usadas pelos aplicativos para ler e gravar arquivos "TIFF" libwebp-1.3.1 Introdução a libwebp O pacote libwebp contém uma biblioteca e aplicativos de suporte para codificar e decodificar imagens no formato "WebP". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3018]http://downloads.webmproject.org/releases/webp/libwebp-1.3.1. tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 0ff59e5598753f47519e3e61c12f8cfd * Tamanho da transferência: 4,0 MB * Espaço em disco estimado exigido: 39 MB * Tempo de construção estimado: 0,3 UPC Dependências do libwebp Recomendadas [3019]libjpeg-turbo-3.0.0, [3020]libpng-1.6.40, [3021]libtiff-4.5.1 e [3022]sdl12-compat-1.2.64 (para Aceleração "3D" melhorada) Opcionais [3023]Freeglut-3.4.0 e [3024]giflib-5.2.1 Instalação do libwebp Instale libwebp executando os seguintes comandos: ./configure --prefix=/usr \ --enable-libwebpmux \ --enable-libwebpdemux \ --enable-libwebpdecoder \ --enable-libwebpextras \ --enable-swap-16bit-csp \ --disable-static && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Explicações do Comando --enable-swap-16bit-csp: Essa chave habilita a troca de bytes para espaços de cores de 16 bits. --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativos Instalados: cwebp, dwebp, gif2webp, img2webp, vwebp, webpinfo e webpmux Biblioteca Instalada: libsharpyuv.so, libwebpdecoder.so, libwebpdemux.so, libwebpmux.so e libwebp.so Diretório Instalado: /usr/include/webp Descrições Curtas cwebp comprime uma imagem usando o formato "WebP" dwebp descomprime arquivos "WebP" em imagens "PNG", "PAM", "PPM" ou "PGM" gif2webp converte uma imagem "GIF" em uma imagem "WebP" img2webp cria um arquivo animado "WebP" a partir de uma sequência de imagens de entrada vwebp descomprime um arquivo "WebP" e o exibe em uma janela webpinfo imprime a estrutura de nível "cunk" dos arquivos "WebP" junto com a realização de verificações básicas de integridade webpmux cria arquivos animados "WebP" a partir de imagens não animadas "WebP", extrai quadros a partir de imagens animadas "WebP" e gerencia metadados "XMP"/"EXIF" e o perfil "ICC" libwebp.so contém as funções de API para codificação e decodificação "WebP" mypaint-brushes-1.3.1 Introdução a mypaint-brushes O pacote mypaint-brushes contém pincéis usados por pacotes que usam a "libmypaint". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3025]https://github.com/mypaint/mypaint-brushes/releases/download/ v1.3.1/mypaint-brushes-1.3.1.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 7241032d814cb91d2baae7d009a2a2e0 * Tamanho da transferência: 1,3 MB * Espaço em disco estimado exigido: 3,4 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do mypaint-brushes Exigidas ao tempo de execução [3026]libmypaint-1.6.1 Instalação do mypaint-brushes Instale mypaint-brushes executando os seguintes comandos: ./configure --prefix=/usr && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Conteúdo Aplicativos Instalados: Nenhum(a). Bibliotecas Instaladas: Nenhum(a). Diretórios Instalados: /usr/share/mypaint-data. newt-0.52.23 Introdução a newt Newt é uma biblioteca de programação para modo de texto colorido, interfaces de usuário(a) baseadas em pequenas engenhocas. Ela pode ser usada para adicionar janelas empilhadas, pequenas engenhocas de entrada, caixas de seleção, botões de opção, rótulos, campos de texto simples, barras de rolagem, etc., a interfaces de usuário(a) em modo texto. Newt é baseado na biblioteca "S-Lang". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3027]https://releases.pagure.org/newt/newt-0.52.23.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 70aefeff0f3e9444a69dbdae9a931442 * Tamanho da transferência: 173 KB * Espaço em disco estimado exigido: 5,5 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do Newt Exigidas [3028]popt-1.19 e [3029]slang-2.3.3 Recomendada [3030]GPM-1.20.7 (tempo de execução) Instalação do newt Instale newt executando o seguinte comando: sed -e '/install -m 644 $(LIBNEWT)/ s/^/#/' \ -e '/$(LIBNEWT):/,/rv/ s/^/#/' \ -e 's/$(LIBNEWT)/$(LIBNEWTSH)/g' \ -i Makefile.in && ./configure --prefix=/usr \ --with-gpm-support \ --with-python=python3.11 && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Explicações do Comando sed -e ... -i Makefile.in: Desabilita a instalação de uma biblioteca estática. --with-gpm-support: Essa chave habilita o suporte de mouse para aplicativos "newt" por meio do "GPM". --with-python=python3.11: Ao fornecer explicitamente o nome do diretório onde residem os módulos Python, essa chave impede a construção do módulo "python2". Conteúdo Aplicativos Instalados: whiptail Biblioteca Instalada: libnewt.so, whiptcl.so e /usr/lib/python3.11/site-packages/_snack.so Diretórios Instalados: Nenhum Descrições Curtas whiptail exibe caixas de diálogo a partir de scripts de shell libnewt.so é a biblioteca para modo de texto colorido, interfaces de usuário(a) baseadas em pequenas engenhocas opencv-4.8.0 Introdução a opencv O pacote opencv contém bibliotecas gráficas voltadas principalmente para visão computacional em tempo real. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3031]https://github.com/opencv/opencv/archive/4.8.0/opencv-4.8.0.t ar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: c2225e737ce7f671b839a687f2dc7ab9 * Tamanho da transferência: 88 MB * Espaço em disco estimado exigido: 783 MB * Tempo de construção estimado: 4,1 UPC (usando paralelismo = 4) Transferências Adicionais * Módulos adicionais opcionais: [3032]https://github.com/opencv/opencv_contrib/archive/4.8.0/opencv _contrib-4.8.0.tar.gz Nota Um arquivo adicional que começa com "ippicv" (primitivas de desempenho integrado) será baixado automaticamente durante a parte "cmake" do procedimento de construção. Essa transferência é específica para a arquitetura do sistema. Dependências do opencv Exigidas [3033]CMake-3.27.2 e [3034]UnZip-6.0 Recomendadas [3035]FFmpeg-6.0, [3036]gst-plugins-base-1.22.5, [3037]GTK+-3.24.38, [3038]JasPer-4.0.0, [3039]libexif-0.6.24, [3040]libjpeg-turbo-3.0.0, [3041]libpng-1.6.40, [3042]libtiff-4.5.1, [3043]libwebp-1.3.1, [3044]v4l-utils-1.24.1 e [3045]xine-lib-1.2.13 Opcionais [3046]apache-ant-1.10.14, [3047]Doxygen-1.9.7, [3048]Java-20.0.2, [3049]NumPy-1.25.2, [3050]Python-2.7.18, [3051]blas, [3052]Cuda, [3053]Eigen, [3054]OpenEXR, [3055]GDAL, [3056]lapack, [3057]libdc1394, [3058]Threading Building Blocks (TBB) e [3059]VTK - The Visualization Toolkit, Instalação do opencv Se você baixou os módulos opcionais, [então] desempacote-os agora: tar -xf ../opencv_contrib-4.8.0.tar.gz Instale opencv executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -DENABLE_CXX11=ON \ -DBUILD_PERF_TESTS=OFF \ -DWITH_XINE=ON \ -DBUILD_TESTS=OFF \ -DENABLE_PRECOMPILED_HEADERS=OFF \ -DCMAKE_SKIP_RPATH=ON \ -DBUILD_WITH_DEBUG_INFO=OFF \ -Wno-dev .. && make O pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Explicações do Comando -DWITH_XINE=ON: Essa opção instrui o procedimento "make" a usar [3060]xine-lib-1.2.13. -DENABLE_PRECOMPILED_HEADERS=OFF: Essa opção é necessária para compatibilidade com "gcc-6.1" e posteriores. -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.8.0/modules: instrui o sistema de construção a construir módulos adicionais. Conteúdo Aplicativos Instalados: opencv_annotation, opencv_interactive-calibration, opencv_model_diagnostics, opencv_version, opencv_visualisation e setup_vars_opencv4.sh Bibliotecas Instaladas: libopencv_calib3d.so, libopencv_core.so, libopencv_dnn.so, libopencv_features2d.so, libopencv_flann.so, libopencv_gapi.so, libopencv_highgui.so, libopencv_imgcodecs.so, libopencv_imgproc.so, libopencv_ml.so, libopencv_objdetect.so, libopencv_photo.so, libopencv_stitching.so, libopencv_video.so e libopencv_videoio.so Diretórios Instalados: /usr/include/opencv4, /usr/lib/cmake/opencv4, /usr/lib/python3.11/site-packages/cv2, /usr/share/licenses/opencv4, /usr/share/opencv4 e /usr/share/java/opencv4 OpenJPEG-2.5.0 Introdução a OpenJPEG OpenJPEG é uma implementação de fonte aberto do padrão "JPEG-2000". O OpenJPEG respeita totalmente as especificações "JPEG-2000" e consegue comprimir/descomprimir imagens de 16 bits sem perdas. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3061]https://github.com/uclouvain/openjpeg/archive/v2.5.0/openjpeg -2.5.0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 5cbb822a1203dd75b85639da4f4ecaab * Tamanho da transferência: 1,8 MB * Espaço em disco estimado exigido: 13 MB * Tempo de construção estimado: 0,2 UPC Dependências do OpenJPEG Exigida [3062]CMake-3.27.2 Opcionais [3063]Little CMS-2.14, [3064]libpng-1.6.40, [3065]libtiff-4.5.1 e [3066]Doxygen-1.9.7 (para construir a documentação da API) Instalação do OpenJPEG Instale OpenJPEG executando os seguintes comandos: mkdir -v build && cd build && cmake -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ -DBUILD_STATIC_LIBS=OFF .. && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install && pushd ../doc && for man in man/man?/* ; do install -v -D -m 644 $man /usr/share/$man done popd Conteúdo Aplicativos Instalados: opj_compress, opj_decompress e opj_dump Bibliotecas Instaladas: libopenjp2.so Diretórios Instalados: /usr/include/openjpeg-2.5 e /usr/lib/openjpeg-2.5 Descrições Curtas opj_compress converte vários formatos de imagem para o formato "jpeg2000" opj_decompress converte imagens "jpeg2000" para outros tipos de imagem opj_dump lê uma imagem "jpeg2000" e despeja o conteúdo para a saída gerada padrão Pixman-0.42.2 Introdução a Pixman O pacote Pixman contém uma biblioteca que fornece recursos de manipulação de pixel de baixo nível, como composição de imagem e rasterização trapezoidal. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3067]https://www.cairographics.org/releases/pixman-0.42.2.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: a0f6ab8a1d8e0e2cd80e935525e2a864 * Tamanho da transferência: 940 KB * Espaço em disco estimado exigido: 30 MB (com os testes) * Tempo de construção estimado: 0,5 UPC (com os testes) Dependências do Pixman Opcionais [3068]GTK+-2.24.33 e [3069]libpng-1.6.40 (para testes e demonstrações) Instalação do Pixman Instale Pixman executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release && ninja Para testar os resultados, emita: ninja test. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. Conteúdo Aplicativos Instalados: Nenhum Biblioteca Instalada: libpixman-1.so Diretório Instalado: /usr/include/pixman-1 Descrições Curtas libpixman-1.so contém funções que fornecem recursos de baixo nível de manipulação de pixel Poppler-23.08.0 Introdução a Poppler O pacote Poppler contém uma biblioteca de renderização de PDF e ferramentas de linha de comando usadas para manipular arquivos PDF. Isso é útil para fornecer funcionalidade de renderização de PDF como uma biblioteca compartilhada. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3070]https://poppler.freedesktop.org/poppler-23.08.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: b369afc9511198de5a604ca3baea1ddd * Tamanho da transferência: 1,8 MB * Espaço em disco estimado exigido: 91 MB (com biblioteca Qt5 e testes) * Tempo de construção estimado: 0,6 UPC (com paralelismo=4, biblioteca “Qt5” e os testes) Transferências Adicionais Dados de Codificação Poppler * Transferência (HTTP): [3071]https://poppler.freedesktop.org/poppler-data-0.4.12.tar.gz * Soma de verificação MD5 da transferência: 67ee4a40aa830b1f6e2560ce5f6471ba * Tamanho da transferência: 4,3 MB * Espaço em disco estimado exigido: 26 MB * Tempo de construção estimado: menos que 0,1 UPC O pacote adicional consiste de arquivos de codificação para uso com Poppler. Os arquivos de codificação são opcionais e o Poppler os lerá automaticamente se estiverem presentes. Quando instalados, eles habilitam Poppler a renderizar "CJK" e cirílico corretamente. Dependências do Poppler Exigidas [3072]CMake-3.27.2, [3073]Fontconfig-2.14.2 e [3074]gobject-introspection-1.76.1 Recomendadas [3075]Boost-1.83.0, [3076]Cairo-1.17.6, [3077]Little CMS-2.14, [3078]libjpeg-turbo-3.0.0, [3079]libpng-1.6.40, [3080]nss-3.92 e [3081]OpenJPEG-2.5.0 Opcionais [3082]cURL-8.2.1, [3083]gdk-pixbuf-2.42.10, [3084]git-2.41.0 (para baixar arquivos de teste), [3085]GPGME-1.21.0, [3086]GTK-Doc-1.33.2, [3087]GTK+-3.24.38, [3088]libtiff-4.5.1, ([3089]Qt-5.15.10 ou [3090]qt-alternate-5.15.10) (exigido para suporte PDF em [3091]Okular-23.08.0) e [3092]Qt-6.1 ou posterior. Instalação do Poppler Instale Poppler executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ -DTESTDATADIR=$PWD/testfiles \ -DENABLE_UNSTABLE_API_ABI_HEADERS=ON \ .. && make Para a finalidade de executar a suíte de teste, alguns casos de teste são necessários e podem ser obtidos somente a partir de um repositório "git". O comando para baixá-los é: git clone --depth 1 https://gitlab.freedesktop.org/poppler/test.git testfiles. Em seguida, emita: LC_ALL=en_US.UTF-8 make test. Agora, como o(a) usuário(a) root: make install Para instalar a documentação, execute os seguintes comandos como root: install -v -m755 -d /usr/share/doc/poppler-23.08.0 && cp -vr ../glib/reference/html /usr/share/doc/poppler-23.08.0 Dados Poppler Se você baixou o pacote adicional de dados de codificação, [então] instale-o emitindo os seguintes comandos: tar -xf ../../poppler-data-0.4.12.tar.gz && cd poppler-data-0.4.12 Agora, como o(a) usuário(a) root: make prefix=/usr install Explicações do Comando -DCMAKE_BUILD_TYPE=Release: Essa chave é usada para aplicar um nível mais alto de otimização à compilação. -DTESTDATADIR=$PWD/testfiles: Informa aos aplicativos de teste onde os arquivos auxiliares estão localizados. -DENABLE_UNSTABLE_API_ABI_HEADERS=ON: Instala alguns cabeçalhos antigos Xpdf exigidos por certos aplicativos. -DENABLE_GTK_DOC=ON: Use esse parâmetro se o "GTK-Doc" estiver instalado e você desejar reconstruir e instalar a documentação da API. -DENABLE_BOOST=OFF: Use esse parâmetro se você não tiver instalado o boost (a estrutura de retaguarda "Splash" para "Qt5" recomenda o "boost"). LC_ALL=en_US.UTF-8 make test: Executa a suíte de teste. A variável de ambiente "LC_ALL=en_US.UTF-8" só é necessária se o "locale" padrão não incluir "UTF-8". Conteúdo Aplicativos Instalados: pdfattach, pdfdetach, pdffonts, pdfimages, pdfinfo, pdfseparate, pdfsig, pdftocairo, pdftohtml, pdftoppm, pdftops, pdftotext e pdfunite Bibliotecas Instaladas: libpoppler.so, libpoppler-cpp.so, libpoppler-glib.so e libpoppler-qt5.so Diretórios Instalados: /usr/include/poppler, /usr/share/poppler e /usr/share/doc/poppler-23.08.0 Descrições Curtas pdfattach adiciona um novo arquivo incorporado a um arquivo "PDF" existente pdfdetach lista ou extrai arquivos incorporados a partir de arquivos "PDF" pdffonts lista as fontes usadas em um arquivo "PDF" junto com várias informações para cada fonte pdfimages salva imagens a partir de um arquivo "PDF" como arquivos "PPM", "PBM" ou "JPEG" pdfinfo imprime o conteúdo do dicionário 'Info' (mais algumas outras informações úteis) a partir de um arquivo "PDF" pdfseparate extrai páginas únicas a partir de um arquivo "PDF" pdfsig verifica as assinaturas digitais em um documento "PDF" pdftocairo converte um arquivo "PDF" em um dos vários formatos ("PNG", "JPEG", "PDF", "PS", "EPS", "SVG") usando o dispositivo de saída "cairo" da biblioteca "poppler" pdftohtml converte um arquivo "PDF" para "HTML" pdftoppm converte arquivos "PDF" para os formatos "PBM", "PGM" e "PPM" pdftops converte arquivos "PDF" para o formato "Postscript" pdftotext converte arquivos "PDF" em texto plano pdfunite mescla vários arquivos "PDF", na ordem da ocorrência deles na linha de comando, em um arquivo de saída "PDF" libpoppler.so contém as funções da "API" para renderizar arquivos "PDF" libpoppler-cpp.so é uma estrutura de retaguarda "C++" para renderizar arquivos "PDF" libpoppler-glib.so é uma biblioteca invólucro usada para interfacear as funções de renderização de "PDF" com GTK+ libpoppler-qt5.so é uma biblioteca invólucro usada para interfacear as funções de renderização de "PDF" com Qt5 Potrace-1.16 Introdução a Potrace Potrace™ é uma ferramenta para transformar um "bitmap" (formato "PBM", "PGM", "PPM" ou "BMP") em um dos vários formatos de arquivo vetorial. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3093]https://downloads.sourceforge.net/potrace/potrace-1.16.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 5f0bd87ddd9a620b0c4e65652ef93d69 * Tamanho da transferência: 644 KB * Espaço em disco estimado exigido: 7,1 MB (incluindo os testes) * Tempo de construção estimado: menos que 0,1 UPC (incluindo os testes) Dependências do Potrace Recomendada [3094]LLVM-16.0.5 (incluindo clang) Instalação do Potrace Instale Potrace executando os seguintes comandos: ./configure --prefix=/usr \ --disable-static \ --docdir=/usr/share/doc/potrace-1.16 \ --enable-a4 \ --enable-metric \ --with-libpotrace && make Para executar a suíte de teste, emita: make check. Agora, como o(a) usuário(a) root: make install Explicações do Comando --enable-a4: Use "A4" como tamanho padrão de papel. --enable-metric: Use unidades métricas (centímetros) como padrão --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --with-libpotrace: Instale a biblioteca e os cabeçalhos. Conteúdo Aplicativos Instalados: mkbitmap, potrace Bibliotecas Instaladas: libpotrace.so Diretórios Instalados: /usr/share/doc/potrace-1.16 Descrições Curtas mkbitmap transforma imagens em "bitmaps" com escala e filtragem potrace transforma "bitmaps" em gráficos vetoriais libpotrace.so é uma biblioteca para transformar "bitmaps" em gráficos vetoriais Qpdf-11.5.0 Introdução a Qpdf O pacote Qpdf contém aplicativos de linha de comando e uma biblioteca que faz transformações estruturais, preservando conteúdo, sobre arquivos "PDF". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3095]https://github.com/qpdf/qpdf/releases/download/v11.5.0/qpdf-1 1.5.0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: d916ac26b7f30a5cf3827c708c455ec9 * Tamanho da transferência: 18 MB * Espaço em disco estimado exigido: 253 MB (adicionar 1 MB para testes) * Tempo de construção estimado: 0,4 UPC (usando paralelismo=4; adicionar 0,5 UPC para testes) Dependências do Qpdf Exigida [3096]libjpeg-turbo-3.0.0 Opcionais [3097]ghostscript-10.01.2, [3098]GnuTLS-3.8.1, [3099]libtiff-4.5.1, [3100]sphinx-7.1.2, com [3101]sphinx_rtd_theme-1.2.2, e [3102]texlive-20230313 ou [3103]install-tl-unx Instalação do Qpdf Instale Qpdf executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_STATIC_LIBS=OFF \ -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/qpdf-11.5.0 \ .. && make Para testar os resultados, emita: ctest. Agora, como o(a) usuário(a) root: make install Conteúdo Aplicativos Instalados: fix-qdf, qpdf e zlib-flate Biblioteca Instalada: libqpdf.so Diretórios Instalados: /usr/lib/cmake/qpdf, /usr/include/qpdf e /usr/share/doc/qpdf-11.5.0 Descrições Curtas fix-qdf é usado para reparar arquivos "PDF" no formato "QDF" após a edição qpdf é usado para converter um arquivo "PDF" para outro arquivo "PDF" equivalente zlib-flate é um aplicativo de compressão bruta "zlib" libqpdf.so contém as funções da "API" Qpdf qrencode-4.1.1 Introdução a qrencode Qrencode é uma biblioteca rápida e compacta para codificação de dados em um símbolo "QR Code", uma simbologia "2D" que pode ser escaneada por terminais portáteis, como um telefone móvel com um sensor "CCD". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3104]https://fukuchi.org/works/qrencode/qrencode-4.1.1.tar.bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: de7185bcab635a34730e1b73d4efa705 * Tamanho da transferência: 451 KB * Espaço em disco estimado exigido: 5,0 MB (com a documentação, adicionar 5 MB para os testes) * Tempo de construção estimado: menos que 0,1 UPC; adicionar 0,1 UPC para os testes Dependências do Qrencode Recomendada [3105]libpng-1.6.40 Opcionais [3106]Doxygen-1.9.7 para gerar documentação e [3107]SDL2-2.28.2 para os testes Instalação do qrencode Instale libqrencode executando os seguintes comandos: ./configure --prefix=/usr && make Se instalou [3108]Doxygen-1.9.7, [então] você consegue construir a documentação emitindo: doxygen Os testes precisam ser executados depois de instalar o pacote. Agora, como o(a) usuário(a) root: make install Se você tiver construído a documentação opcional, [então] instale-a como o(a) usuário(a) root: install -vdm 755 /usr/share/doc/qrencode-4.1.1 && mv html/* /usr/share/doc/qrencode-4.1.1 Para testar os resultados, se você tiver passado a opção --with-tests para configure, emita: make check. Explicações do Comando --with-tests: Essa opção permite construir os aplicativos de teste. Exige [3109]SDL2-2.28.2. --without-tools: Essa opção evita construir o executável qrencode, removendo a necessidade da [3110]libpng-1.6.40. Conteúdo Aplicativo Instalado: qrencode Biblioteca Instalada: libqrencode.so Diretório Instalado: /usr/share/doc/qrencode-4.1.1 (opcional) Descrições Curtas qrencode codifica os dados de entrada em um "QR Code" e os salva como uma imagem "PNG" ou "EPS" libqrencode.so contém funções para codificar dados em um símbolo de código "QR" sassc-3.6.2 Introdução a sassc SassC é um invólucro em torno da "libsass", uma linguagem de pré-processador "CSS". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3111]https://github.com/sass/sassc/archive/3.6.2/sassc-3.6.2.tar.g z * Transferência (FTP): * Soma de verificação MD5 da transferência: 4c3b06ce2979f2a9f0a35093e501d8bb * Tamanho da transferência: 28 KB * Espaço em disco estimado exigido: 5,1 MB * Tempo de construção estimado: menos que 0,1 UPC Transferências Adicionais * Transferência (HTTP): [3112]https://github.com/sass/libsass/archive/3.6.5/libsass-3.6.5.t ar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: c49765b9b3824dcd4a7423225ca28bad * Tamanho da transferência: 336 KB * Espaço em disco estimado exigido: 139 MB * Tempo de construção estimado: 0,4 UPC (Usando paralelismo=4) Instalação do sassc Primeiro, construa a biblioteca: tar -xf ../libsass-3.6.5.tar.gz && pushd libsass-3.6.5 && autoreconf -fi && ./configure --prefix=/usr --disable-static && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Construa o invólucro da linha de comando: popd && autoreconf -fi && ./configure --prefix=/usr && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Conteúdo Aplicativos Instalados: sassc Bibliotecas Instaladas: libsass.so Diretórios Instalados: /usr/include/sass Descrições Curtas sassc fornece uma interface de linha de comando para a biblioteca "libsass" webp-pixbuf-loader-0.2.4 Introdução ao webp-pixbuf-loader O pacote webp-pixbuf-loader contém uma biblioteca que permite ao gdk-pixbuf carregar e processar imagens webp. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3113]https://github.com/aruiz/webp-pixbuf-loader/archive/0.2.4/web p-pixbuf-loader-0.2.4.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 2218f764598044497691c02bf641173d * Tamanho da transferência: 8,7 MB * Espaço em disco estimado exigido: 9,7 MB * Tempo de construção estimado: menos que 0,1 UPC (com testes) Dependências do webp-pixbuf-loader Exigidas [3114]gdk-pixbuf-2.42.10 e [3115]libwebp-1.3.1 Instalação do webp-pixbuf-loader Instale o webp-pixbuf-loader executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Para testar os resultados, emita: ninja test. Agora, como o(a) usuário(a) root: ninja install O formato webp precisa ser adicionado ao cache dos carregadores: gdk-pixbuf-query-loaders --update-cache Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. gdk-pixbuf-query-loaders --update-cache: Esse comando atualiza o cache do carregador gdk-pixbuf, de forma que ele saiba que o carregador webp foi instalado. Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libpixbufloader-webp.so Diretórios Instalados: Nenhum(a) Descrições Curtas libpixbufloader-webp.so contém funções que permitem ao gdk-pixbuf carregar imagens webp woff2-1.0.2 Introdução a WOFF2 WOFF2 é uma biblioteca para converter fontes do formato "TTF" para o formato "WOFF 2.0". Ela também permite a descompressão de "WOFF 2.0" para "TTF". O formato "WOFF 2.0" usa o algoritmo de compressão "Brotli" para comprimir fontes adequadas para download nas regras "@font-face" do "CSS". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3116]https://github.com/google/woff2/archive/v1.0.2/woff2-1.0.2.ta r.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 793c8844845351cb80730a74937e411b * Tamanho da transferência: 39 KB * Espaço em disco estimado exigido: 1,6 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do WOFF2 Exigidas [3117]Brotli-1.0.9 e [3118]CMake-3.27.2 Instalação do WOFF2 Instale WOFF2 executando os seguintes comandos: mkdir out && cd out && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release .. && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Conteúdo Aplicativo Instalado: Nenhum Bibliotecas Instaladas: libwoff2common.so, libwoff2dec.so e libwoff2enc.so Diretório Instalado: /usr/include/woff2 Descrições Curtas libwoff2common.so fornece dados compartilhados usados pelas bibliotecas "libwoff2dec" e "libwoff2enc" libwoff2dec.so é a biblioteca do decodificador "WOFF2" libwoff2enc.so é a biblioteca do codificador "WOFF2" Capítulo 11. Utilitários Gerais Este capítulo contém vários utilitários que não se encaixam convenientemente em outros capítulos. Os aplicativos incluem alguns geradores de documentação, vários utilitários para manipular texto e gráficos, aplicativos para listar arquivos, um aplicativo para inserir números "PIN" e frases senha e um gerenciador de conexões. Asciidoctor-2.0.20 Introdução ao Asciidoctor O "Asciidoctor" é um processador de texto de fonte aberto rápido e um conjunto de ferramentas de publicação para converter conteúdo "AsciiDoc" em "HTML5", "DocBook", "PDF" e outros formatos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3119]https://github.com/asciidoctor/asciidoctor/archive/v2.0.20/as ciidoctor-2.0.20.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 11f40bda9a2c07f6b632a0fc91b43a13 * Tamanho da transferência: 1,6 MB * Espaço em disco estimado exigido: 5,4 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do Asciidoctor Exigidas [3120]Ruby-3.2.2 Instalação do Asciidoctor Nota Quando construir esse pacote, a seguinte mensagem possivelmente apareça: fatal: not a git repository (or any of the parent directories): .git . Isso é normal e o pacote continuará sendo construído após esse ponto. Construa a gema Ruby: gem build asciidoctor.gemspec A suíte de teste precisa de muitas gemas Ruby além do escopo do BLFS. Agora, como o(a) usuário(a) root: gem install asciidoctor-2.0.20.gem && install -vm644 man/asciidoctor.1 /usr/share/man/man1 Conteúdo Aplicativos Instalados: asciidoctor Bibliotecas Instaladas: Nenhuma Diretórios Instalados: /usr/lib/ruby/gems/3.2.0/gems/asciidoctor-2.0.20 e /usr/lib/ruby/gems/3.2.0/doc/asciidoctor-2.0.20 Descrições Curtas asciidoctor converte arquivos fonte "AsciiDoc" em "HTML", "DocBook" e outros formatos Bogofilter-1.2.5 Introdução a Bogofilter O aplicativo Bogofilter é um filtro de mensagens que classifica a mensagem como "spam" ou "ham" (não "spam") por meio de uma análise estatística do cabeçalho e conteúdo (corpo) da mensagem. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3121]https://downloads.sourceforge.net/bogofilter/bogofilter-1.2.5 .tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 8763f87adfff7b802ced177d8c654539 * Tamanho da transferência: 784 KB * Espaço em disco estimado exigido: 19 MB * Tempo de construção estimado: 0,1 UPC Dependências do Bogofilter Exigida [3122]Base de Dados Berkeley-5.3.28 Recomendadas [3123]Gsl-2.7.1 e [3124]libxml2-2.10.4 Opcionais [3125]lmdb-0.9.31, [3126]SQLite-3.42.0, [3127]xmlto-0.0.28, [3128]QDBM e [3129]TokyoCabinet Nota Se você não instalar o pacote [3130]Gsl-2.7.1 recomendado, então uma versão enviada estaticamente vinculada será usada. Instalação do Bogofilter Nota Se você planeja mudar a versão de sua biblioteca de base de dados em uma instalação existente ou mudar para uma base de dados diferente, [então] leia o aviso na parte superior do arquivo "RELEASE.NOTES". Instale Bogofilter executando os seguintes comandos: ./configure --prefix=/usr --sysconfdir=/etc/bogofilter && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Explicações do Comando --with-database=: Essa chave te permite mudar a base de dados padrão de "db" para "qdbm", "sqlite3" ou "tokyocabinet". Conteúdo Aplicativos Instalados: bf_compact, bf_copy, bf_tar, bogofilter, bogolexer, bogotune, bogoupgrade e bogoutil Bibliotecas Instaladas: Nenhuma Diretórios Instalados: /etc/bogofilter Descrições Curtas bf_compact cria um diretório de trabalho do "bogofilter" mais compacto com um ciclo de despejo/carga bf_copy copia um diretório de trabalho do "bogofilter" para outro diretório bf_tar agrupa um diretório de trabalho do "bogofilter" no formato "tar" e o copia para a saída padrão bogofilter é um filtro de "spam" "bayesiano" rápido bogolexer é usado para separar mensagens em "tokens" e para testar novas versões do código "lexer.l" bogotune tenta encontrar configurações ideais de parâmetros para o "bogofilter" bogoupgrade atualiza a base de dados do "bogofilter" para a versão atual bogoutil despeja, carrega e mantém arquivos de base de dados do "bogofilter" Compface-1.5.2 Introdução a Compface O Compface fornece utilitários e uma biblioteca para converter de/para o formato "X-Face", um formato "bitmap" 48x48 usado para transportar miniaturas dos(as) autores(as) de mensagens eletrônicas em um cabeçalho de mensagem. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3131]https://anduin.linuxfromscratch.org/BLFS/compface/compface-1. 5.2.tar.gz * Transferência (FTP): [3132]ftp://anduin.linuxfromscratch.org/BLFS/compface/compface-1.5. 2.tar.gz * Soma de verificação MD5 da transferência: 62f4f79c0861ad292ba3cf77b4c48319 * Tamanho da transferência: 47 KB * Espaço em disco estimado exigido: 520 KB * Tempo de construção estimado: menos que 0,1 UPC Instalação do Compface Instale Compface executando os seguintes comandos: ./configure --prefix=/usr --mandir=/usr/share/man && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install && install -m755 -v xbm2xface.pl /usr/bin Conteúdo Aplicativos Instalados: compface, uncompface e xbm2xface.pl Biblioteca Instalada: libcompface.{so,a} Diretórios Instalados: Nenhum Descrições Curtas compface é um filtro para gerar representações altamente comprimidas de arquivos de imagem de face 48x48x1 uncompface é um filtro inverso que realiza uma transformação inversa sem perda de dados xbm2xface.pl é um script para gerar "xfaces" libcompface.{so,a} permite que os algoritmos de compressão e descompressão sejam usados em outros aplicativos, tais como "MTAs" desktop-file-utils-0.26 Introdução a "Desktop File Utils" O pacote Desktop File Utils contém utilitários de linha de comando para trabalhar com [3133]entradas de área de trabalho. Esses utilitários são usados por ambientes de área de trabalho e outros aplicativos para manipular as bases de dados de aplicativos de tipo "MIME" e ajudar a aderir à especificação de entrada de área de trabalho. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3134]https://www.freedesktop.org/software/desktop-file-utils/relea ses/desktop-file-utils-0.26.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 29739e005f5887cf41639b8450f3c23f * Tamanho da transferência: 84 KB * Espaço em disco estimado exigido: 1,8 MB * Tempo de construção estimado: menos que 0,1 UPC Transferências Adicionais * Remendo exigido: [3135]https://www.linuxfromscratch.org/patches/blfs/12.0/desktop-fi le-utils-0.26-update_standard-1.patch Dependências do "Desktop File Utils" Exigida [3136]GLib-2.76.4 Opcional [3137]Emacs-29.1 Instalação do "Desktop File Utils" Atenção Se você estiver atualizando a partir de uma versão anterior do "desktop-file-utils" que usou o método "Autotools" de instalação e configuração do pacote, [então] você precisa remover o link simbólico "desktop-file-edit" usando os seguintes comandos. rm -fv /usr/bin/desktop-file-edit Em seguida, atualize a versão do padrão de arquivo da área de trabalho para aceitar a chave SingleMainWindow: patch -Np1 -i ../desktop-file-utils-0.26-update_standard-1.patch Instale Desktop File Utils executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. Configurando o "Desktop File Utils" Informação de Configuração A especificação [3138]XDG Base Directory define os locais padrão para os aplicativos colocarem dados e arquivos de configuração. Esses arquivos podem ser usados, por exemplo, para definir a estrutura do menu e os itens do menu em um ambiente de área de trabalho. O local padrão para os arquivos de configuração a serem instalados é /etc/xdg; e os locais padrão para arquivos de dados são /usr/local/share e /usr/share. Esses locais podem ser estendidos com as variáveis de ambiente XDG_CONFIG_DIRS e XDG_DATA_DIRS, respectivamente. Os ambientes GNOME, KDE e XFCE respeitam essas configurações. Quando um pacote instala um arquivo .desktop em um local em um dos diretórios básicos de dados, a base de dados que mapeia tipos "MIME" para aplicativos disponíveis consegue ser atualizado. Por exemplo, o arquivo de cache em /usr/share/applications/mimeinfo.cache pode ser reconstruído executando-se o seguinte comando como o(a) usuário(a) root: install -vdm755 /usr/share/applications && update-desktop-database /usr/share/applications Conteúdo Aplicativos Instalados: desktop-file-edit, desktop-file-install, desktop-file-validate e update-desktop-database Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas desktop-file-edit é usado para modificar uma entrada existente do arquivo da área de trabalho desktop-file-install é usado para instalar uma nova entrada do arquivo da área de trabalho. Também é usado para reconstruir ou modificar a base de dados de aplicativos de tipos "MIME" desktop-file-validate é usado para verificar a integridade de um arquivo da área de trabalho update-desktop-database é usado para atualizar a base de dados de aplicativos de tipos "MIME" dos2unix-7.5.0 Introdução a dos2unix O pacote dos2unix contém um conversor de formato de texto de qualquer para qualquer. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3139]https://downloads.sourceforge.net/dos2unix/dos2unix-7.5.0.tar .gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 001af2b16ae216241ac08bef29f36c28 * Tamanho da transferência: 936 KB * Espaço em disco estimado exigido: 8,4 MB (com testes) * Tempo de construção estimado: menos que 0,1 UPC (com os testes) Instalação do dos2unix Construa dos2unix executando os seguintes comandos: make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Conteúdo Aplicativo Instalado: dos2unix, mac2unix, unix2dos e unix2mac Bibliotecas Instaladas: Nenhuma Diretórios Instalados: /usr/share/doc/dos2unix-7.5.0 Descrições Curtas dos2unix converte arquivos de texto plano no formato "DOS" para o formato "Unix" mac2unix converte arquivos de texto plano no formato "Mac" para o formato "Unix" unix2dos converte arquivos de texto plano no formato "Unix" para o formato "DOS" unix2mac converte arquivos de texto plano no formato "Unix" para o formato "Mac" Graphviz-8.1.0 Introdução a Graphviz O pacote Graphviz contém um software de visualização gráfica. A visualização gráfica é uma forma de representar informações estruturais como diagramas de gráficos abstratos e redes de comunicação. O Graphviz tem vários aplicativos principais de esquemas gráficos. Também tem interfaces gráficas web e interativas, ferramentas auxiliares, bibliotecas e ligações de linguagem. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3140]https://gitlab.com/graphviz/graphviz/-/archive/8.1.0/graphviz -8.1.0.tar.bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: e6a45773e84d3f83fed87cb6290563e6 * Tamanho da transferência: 26 MB * Espaço em disco estimado exigido: 262 MB * Tempo de construção estimado: 0,7 UPC (usando paralelismo = 4) Dependências do Graphviz Nota O uso básico do Graphviz não precisa de nenhuma biblioteca além das encontradas no livro LFS. O mecanismo de renderização “central” dele permite gerar vários formatos gráficos, tais como "Postscript", "SVG", "VML", ".fig" e "Tk". Esses formatos podem ser convertidos para quase qualquer outro formato usando, por exemplo, ferramentas originárias do [3141]ImageMagick-7.1.1-15. As dependências abaixo adicionam a capacidade de gerar imagens gráficas em formato "bitmap", exibir a imagem gráfica na tela, editar um gráfico visualizando a imagem resultante diretamente ou visualizar gráficos grandes. Uma vez que Graphviz é uma dependência de vários outros pacotes neste livro, é sugerido primeiro construí-lo sem quaisquer dependências, então reconstruí-lo quando você tiver construído pacotes suficientes para atender às suas necessidades. Opcional, para várias saídas de "bitmap" [3142]Pango-1.50.14, com [3143]Cairo-1.17.6, [3144]Bibliotecas do Xorg, [3145]Fontconfig-2.14.2 e [3146]libpng-1.6.40, para gerar imagens nos formatos "bitmap SVG", "postscript", "PNG" e "PDF" ou exibir a imagem na tela. A saída gerada "PNG" é exigida para construir [3147]gegl-0.4.46 Adicionar [3148]GTK+-2.24.33 com [3149]libjpeg-turbo-3.0.0 adiciona suporte para formatos "JPEG", "BMP", "TIF" e "ICO" e permite exibir a imagem em uma janela "GTK+" [3150]GD Library pode ser usado em vez de Pango. Ela adiciona a capacidade de gerar imagens nos formatos "GIF", "VRML" e "GD", mas o Pango fornece saídas melhores para os outros formatos e é necessário para exibir imagens Outros formatos podem ser adicionados com [3151]libwebp-1.3.1 (o suporte a "WebP" é considerado experimental), [3152]DevIL, [3153]libLASi e [3154]glitz Opcional, para carregar imagens gráficas que podem ser exibidas dentro dos nós de um gráfico libgs.so originária de [3155]ghostscript-10.01.2, [3156]librsvg-2.56.3 e [3157]Poppler-23.08.0 Opcional, para construir mais ferramentas [3158]Freeglut-3.4.0 (com [3159]libglade-2.6.4, [3160]GtkGLExt e [3161]libGTS, para construir o grande visualizador de gráficos smyrna, que é considerado experimental) e ([3162]Qt-5.15.10 ou [3163]qt-alternate-5.15.10) (para construir o editor gráfico gvedit). Opcional (para construir ligações de idioma) [3164]SWIG-4.1.1 (SWIG precisa estar instalado ou nenhuma ligação será construída), [3165]GCC-13.2.0 (para o compilador "go"), [3166]Guile-3.0.9, [3167]OpenJDK-20.0.2, [3168]Lua-5.4.6, [3169]PHP-8.2.9, [3170]Ruby-3.2.2, [3171]Tk-8.6.13, [3172]Io, [3173]Mono, [3174]OCaml e [3175]R Opcional (ferramentas de construção) [3176]Criterion (estrutura essencial de suporte para os testes) e [3177]Electric Fence Opcional (para construir a documentação "PDF") [3178]ghostscript-10.01.2 (para o comando ps2pdf) Instalação do Graphviz Instale Graphviz executando os seguintes comandos: sed -i '/LIBPOSTFIX="64"/s/64//' configure.ac && ./autogen.sh && ./configure --prefix=/usr \ --docdir=/usr/share/doc/graphviz-8.1.0 Nota Um aviso é gerado por autogen.sh porque a árvore de construção não é um repositório "git". Como resultado, a data da construção é configurada para zero (0). Para obter uma data significativa na sequência de caracteres da versão, você pode executar: sed -i "s/0/$(date +%Y%m%d)/" builddate.h Fixe ou não a data, prossiga para compilar o pacote: make Esse pacote não vem com uma suíte de teste que forneça resultados significativos. Agora, como o(a) usuário(a) root: make install Explicações do Comando sed ... configure.ac: Esse comando é necessário para evitar instalar arquivos em "/usr/lib64". --with-javaincludedir="$JAVA_HOME/include -I$JAVA_HOME/include/linux": Se você tiver construído o [3179]OpenJDK-20.0.2 em "/opt" e desejar construir as ligações "JAVA", [então] é necessário especificar o local dos arquivos de cabeçalho "JAVA" a configurar. A chave do "configure" é projetado para somente um diretório, mas dois diretórios precisam ser incluídos. Isso é possível, no entanto, usando-se a chave "-I" dentro da variável. --with-webp: Mesmo se [3180]libwebp-1.3.1 estiver instalado, ele não é incluído na construção sem essa opção. --with-smyrna: Mesmo se as dependências necessárias estiverem instaladas, o visualizador gráfico interativo smyrna não é construído sem essa opção. Configurando Graphviz Arquivos de Configuração /usr/lib/graphviz/config Informação de Configuração Não há requisitos específicos de configuração para Graphviz. Você possivelmente considere instalar os "plug-ins" e ferramentas adicionais disponíveis a partir da página de download em [3181]https://graphviz.org/download/source/ para recursos adicionais. Se "plug-ins" adicionais estiverem instalados, [então] você pode executar dot -c (como o(a) usuário(a) root) para atualizar o arquivo config em /usr/lib/graphviz. Conteúdo Aplicativos Instalados: acyclic, bcomps, ccomps, circo, cluster, dijkstra, dot, dot2gxl, dot_builtins, edgepaint, fdp, gc, gml2gv, graphml2gv, gv2gml, gv2gxl, gvcolor, gvedit, gvgen, gvmap, gvmap.sh, gvpack, gvpr, gxl2dot, gxl2gv, mm2gv, neato, nop, osage, patchwork, prune, sccmap, sfdp, tred, twopi, unflatten e vimdot Bibliotecas Instaladas: libcdt.so, libcgraph.so, libgvc.so, libgvpr.so, liblab_gamut.so, libpathplan.so, libxdot.so e vários "plug-ins" em /usr/lib/graphviz. Existem também várias em subdiretórios de /usr/lib/{lua,perl5,php,python3.11,tcl8.6}. Infelizmente, algumas bibliotecas são duplicadas. Diretórios Instalados: /usr/include/graphviz, /usr/lib/graphviz, /usr/lib/tcl8.6/graphviz, /usr/share/doc/graphviz-8.1.0 e /usr/share/graphviz Descrições Curtas acyclic é um filtro que recebe um gráfico direcionado como entrada e emite uma cópia do gráfico com arestas suficientes invertidas para tornar o gráfico acíclico bcomps decompõe gráficos nos componentes bi-conectados deles, imprimindo os componentes na saída padrão ccomps decompõe gráficos nos componentes conectados deles, imprimindo os componentes na saída padrão circo desenha gráficos usando um esquema circular cluster pega um gráfico no formato "DOT" como entrada, encontra aglomerados de nós e então aumenta o gráfico com essa informação diffimg (precisa de [3182]GD Library) gera uma imagem onde cada pixel é a diferença entre o pixel correspondente em cada uma das duas imagens de origem dijkstra lê um fluxo de gráficos e para cada um calcula a distância de cada nó a partir do nó de origem dot desenha gráficos direcionados. Funciona bem em "DAGs" e outros gráficos que possam ser desenhados como hierarquias. Ele lê arquivos atribuídos gráficos e escreve desenhos. Por padrão, o ponto de formato da saída gerada é o arquivo da entrada com coordenadas de esquema anexadas dot2gxl converte entre gráficos representados em "GXL" e na linguagem "DOT". A menos que um tipo de conversão seja especificado usando um sinalizador, gxl2dot deduzirá o tipo de conversão a partir do sufixo do arquivo de entrada; um sufixo .dot causa uma conversão de "DOT" para "GXL"; e um sufixo .gxl causa uma conversão de "GXL" para "DOT" edgepaint realiza a coloração de arestas para eliminar a ambiguidade dos cruzamentos de arestas fdp desenha gráficos não direcionados usando um modelo “spring”. Baseia-se em uma abordagem dirigida pela força no espírito de "Fruchterman" e "Reingold" gc é um gráfico análogo ao wc, pois imprime na saída padrão o número de nós, arestas, componentes conectados ou aglomerados contidos nos arquivos de entrada. Ele também imprime uma contagem total para todos os gráficos, se mais de um gráfico for fornecido gml2gv converte um gráfico especificado no formato "GML" em um gráfico no formato "GV" (anteriormente "DOT") graphml2gv converte um gráfico especificado no formato "GRAPHML" em um gráfico no formato "GV" (anteriormente "DOT") gv2gml converte um gráfico especificado no formato "GV" para um gráfico no formato "GML" gv2gxl converte um gráfico especificado no formato "GV" para um gráfico no formato "GXL" gvcolor é um filtro que configura as cores dos nós a partir dos valores iniciais de semente. As cores fluem ao longo das bordas a partir da cauda para a cabeça e são calculadas à média (como vetores "HSB") nos nós gvedit fornece um editor e visualizador simples de gráficos. Permite que muitos gráficos sejam visualizados ao mesmo tempo. O texto de cada gráfico é exibido na própria janela de texto dele gvgen gera uma variedade de gráficos abstratos simples e estruturados regularmente gvmap toma como entrada um gráfico no formato "DOT", encontra aglomerados de nós e produz uma renderização do gráfico como um mapa de estilo geográfico, com aglomerados realçados, no formato "xdot" gvmap.sh é uma linha tubular para executar o "gvmap" gvpack lê um fluxo de gráficos, combina os gráficos em um esquema e produz um gráfico servindo como a união dos gráficos de entrada gvpr é um editor de fluxo gráfico inspirado no awk. Ele copia gráficos de entrada para a saída dele, possivelmente transformando a estrutura e atributos deles, criando novos gráficos ou imprimindo informações arbitrárias gxl2dot converte entre gráficos representados em "GXL" e na linguagem "DOT". A menos que um tipo de conversão seja especificado usando um sinalizador, gxl2dot deduzirá o tipo de conversão a partir do sufixo do arquivo de entrada; um sufixo .dot causa uma conversão de "DOT" para "GXL"; e um sufixo .gxl causa uma conversão de "GXL" para "DOT" gxl2gv converte entre gráficos representados em "GXL" e na linguagem "GV" mm2gv converte uma matriz esparsa do formato "Matrix Market" em um gráfico no formato "GV" (anteriormente "DOT") neato desenha gráficos não direcionados usando modelos “spring”. Os arquivos de entrada precisam ser formatados na linguagem gráfica atribuída dot. Por padrão, a saída gerada de neato é o gráfico de entrada com coordenadas de esquema anexadas nop lê um fluxo de gráficos e imprime cada um em formato bem estampado (canônico) na saída padrão. Se nenhum arquivo for fornecido, [então] ele lê a partir da entrada padrão osage desenha gráficos agrupados. Toma qualquer gráfico no formato "DOT" como entrada patchwork desenha gráficos agrupados usando um esquema quadrado de mapa de árvore. Toma qualquer gráfico no formato "DOT" como entrada prune lê gráficos direcionados no mesmo formato usado por dot e remove sub-gráficos enraizados em nós especificados na linha de comando por meio de opções sccmap decompõe dígrafos em componentes fortemente conectados e um mapa auxiliar do relacionamento entre os componentes. Nesse mapa, cada componente é recolhido em um nó. Os gráficos resultantes são impressos na saída padrão sfdp desenha gráficos não direcionados usando o modelo “spring”, mas usa uma abordagem multi escala para produzir esquemas de gráficos grandes em um tempo razoavelmente curto tred calcula a redução transitiva de gráficos direcionados e imprime os gráficos resultantes na saída padrão. Isso remove as arestas implícitas pela transitividade. Nós e sub-gráficos não são afetados de outra forma twopi desenha gráficos usando um esquema radial. Basicamente, um nó é escolhido como centro e colocado na origem. Os nós restantes são colocados em uma sequência de círculos concêntricos centrados na origem, cada um a uma distância radial fixa a partir do círculo anterior unflatten é um pré-processador para dot que é usado para melhorar a proporção dos gráficos com muitas folhas ou nós desconectados. O esquema usual para tal gráfico geralmente é muito largo ou alto vimdot é um script simples que inicia o editor gvim ou o vim junto com uma janela "GUI" mostrando a saída gerada do dot do arquivo editado libcdt.so gerencia dicionários em tempo de execução usando tipos padrão de dados de contêiner: conjunto/multiconjunto não ordenado, conjunto/multiconjunto ordenado, lista, pilha e fila libcgraph.so suporta programação de gráficos, mantendo os gráficos na memória e lendo e gravando arquivos de gráficos. Os gráficos são compostos de nós, arestas e sub-gráficos aninhados libgvc.so fornece um contexto para aplicativos que desejam manipular e renderizar gráficos. Ele fornece interfaces de análise de linha de comando, código de renderização comum e um mecanismo de "plug-in" para renderizadores libpathplan.so contém funções para encontrar o caminho mais curto entre dois pontos em um polígono simples libxdot.so fornece suporte para analisar e desanalisar operações gráficas especificadas pela linguagem "xdot" GTK-Doc-1.33.2 Introdução a GTK-Doc O pacote GTK-Doc contém um documentador de código. Isso é útil para extrair comentários especialmente formatados a partir do código para criar a documentação da API. Esse pacote é opcional; se não estiver instalado, [então] os pacotes não construirão a documentação. Isso não significa que você não terá nenhuma documentação. Se GTK-Doc não estiver disponível, [então] o processo de instalação copiará qualquer documentação pré-construída para seu sistema. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3183]https://download.gnome.org/sources/gtk-doc/1.33/gtk-doc-1.33. 2.tar.xz * Transferência (FTP): [3184]ftp://ftp.acc.umu.se/pub/gnome/sources/gtk-doc/1.33/gtk-doc-1 .33.2.tar.xz * Soma de verificação MD5 da transferência: ea6563421abe964d02135ca0d5b8dd8e * Tamanho da transferência: 496 KB * Espaço em disco estimado exigido: 13 MB (com os testes) * Tempo de construção estimado: 0,2 UPC (com os testes) Dependências do GTK-Doc Exigidas [3185]docbook-xml-4.5, [3186]docbook-xsl-nons-1.79.2, [3187]itstool-2.0.7 e [3188]libxslt-1.1.38 Recomendada [3189]Pygments-2.16.1 em tempo de execução Opcionais Para testes: [3190]dblatex ou [3191]fop-2.9 (suporte a "PDF" "XML"), [3192]GLib-2.76.4, [3193]Which-2.21 e módulos "Python" [3194]lxml-4.9.3, [3195]parameterized e [3196]yelp-tools Nota Os módulos opcionais "Python" acima podem ser facilmente instalados com o comando pip3. Instalação do GTK-Doc Instale GTK-Doc executando os seguintes comandos: autoreconf -fiv && ./configure --prefix=/usr && make A suíte de teste travará se o pacote (ou uma versão anterior) ainda não estiver instalado. Agora, como o(a) usuário(a) root: make install Para testar os resultados, emita: make check. Alguns testes falharão dependendo dos pacotes instalados opcionalmente. Conteúdo Aplicativos Instalados: gtkdocize, gtkdoc-check, gtkdoc-depscan, gtkdoc-fixxref, gtkdoc-mkdb, gtkdoc-mkhtml, gtkdoc-mkhtml2, gtkdoc-mkman, gtkdoc-mkpdf, gtkdoc-rebase, gtkdoc-scan e gtkdoc-scangobj Bibliotecas Instaladas: Nenhuma Diretórios Instalados: /usr/share/gtk-doc e /usr/share/cmake/GtkDoc Descrições Curtas gtkdoc* esses são todos shell, ou scripts Python usados pelos scripts do pacote Makefile para gerar documentação para o pacote sendo construído Highlight-4.7 Introdução ao "Highlight" Highlight é um utilitário que converte o código-fonte em texto formatado com realce de sintaxe. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3197]http://www.andre-simon.de/zip/highlight-4.7.tar.bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: cc5f3a857aa6c6d9f23ea3e36522f959 * Tamanho da transferência: 1,4 MB * Espaço em disco estimado exigido: 24 MB (com GUI) * Tempo de construção estimado: 0,3 UPC (Usando paralelismo=4; com a "GUI") Dependências do "Highlight" Exigidas [3198]Boost-1.83.0 e [3199]Lua-5.4.6 Opcionais ([3200]Qt-5.15.10 ou [3201]qt-alternate-5.15.10) (para construir a estrutura GUI) Instalação do "Highlight" Para consistência, não comprima páginas de manual. sed -i '/GZIP/s/^/#/' makefile Para construir Highlight execute o seguinte comando: make Para construir a estrutura de interação direta "GUI" Qt5, execute o seguinte comando: make doc_dir=/usr/share/doc/highlight-4.7/ gui Esse pacote não vem com uma suíte de teste. Para instalar Highlight, execute o seguinte comando como o(a) usuário(a) root: make doc_dir=/usr/share/doc/highlight-4.7/ install Para instalar o aplicativo "GUI", execute o seguinte comando como o(a) usuário(a) root: make install-gui Explicações do Comando doc_dir=/usr/share/doc/highlight-4.7/: instala a documentação do highlight em um diretório versionado. Esse parâmetro também é necessário para make gui, pois o valor dele seria rigidamente codificado no executável GUI. Observe que a “/” à direita é necessária. Conteúdo Aplicativos Instalados: highlight e highlight-gui (opcional) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /etc/highlight, /usr/share/doc/highlight-4.7 e /usr/share/highlight Descrições Curtas highlight é um código-fonte universal para conversor de texto formatado highlight-gui é a interface Qt5 para highlight. ibus-1.5.28 Introdução a ibus ibus é um barramento de entrada inteligente. É uma nova estrutura essencial de suporte de entrada para o sistema operacional Linux. Ele fornece uma interface de usuário de método de entrada amigável e com todos os recursos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3202]https://github.com/ibus/ibus/releases/download/1.5.28/ibus-1. 5.28.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: e788203d60e2b9cf56d95f1ee73a6898 * Tamanho da transferência: 3,7 MB * Espaço em disco estimado exigido: 66 MB (adicionar 5 MB para testes) * Tempo de construção estimado: 0,2 UPC (Usando paralelismo=4; adicionar 0,6 UPC para os testes) Transferência Opcional * Base de dados de caracteres "Unicode": [3203]https://www.unicode.org/Public/zipped/15.0.0/UCD.zip Dependências do ibus Exigidas [3204]DConf-0.40.0, [3205]ISO Codes-4.15.0 e [3206]Vala-0.56.11 Recomendadas [3207]gobject-introspection-1.76.1, [3208]GTK+-2.24.33 e [3209]libnotify-0.8.2 Opcionais [3210]GTK+-3.24.38 (para construir o módulo "IM" para "it"), [3211]GTK-4.12.0 (para construir o módulo "IM" para "it"), [3212]D-Bus Python-1.3.2 e [3213]PyGObject-3.44.1 (ambos para construir a biblioteca de suporte a "Python"), [3214]GTK-Doc-1.33.2 e [3215]libxkbcommon-1.5.0, [3216]Wayland-1.22.0 (ambos para construir os aplicativos de suporte a "Wayland") e [3217]EmojiOne Instalação do ibus Se a base de dados opcional de caracteres "Unicode" foi baixada, [então] instale-a agora como o(a) usuário(a) root: mkdir -p /usr/share/unicode/ucd && unzip -uo ../UCD.zip -d /usr/share/unicode/ucd Nota Certifique-se de remover também o "--disable-unicode-dict" na etapa "configure" abaixo. Corrija um problema com entradas de esquema obsoletas: sed -i 's@/desktop/ibus@/org/freedesktop/ibus@g' \ data/dconf/org.freedesktop.ibus.gschema.xml Instale ibus executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc \ --disable-python2 \ --disable-emoji-dict \ --disable-unicode-dict && rm -f tools/main.c && make Para testar os resultados, emita: make -k check. O teste chamado ibus-compose falha porque usa alguns "locales" não instalados no LFS. O teste chamado ibus-keypress é conhecido por falhar em um ambiente gráfico baseado em Wayland. O teste chamado xkb-latin-layouts é conhecido por falhar com um lançamento recente do xkeyboard-config. Agora, como o(a) usuário(a) root: make install && gzip -dfv /usr/share/man/man{{1,5}/ibus*.gz,5/00-upstream-settings.5.gz} Explicações do Comando --disable-emoji-dict: Essa chave desabilita o uso de dicionários de emoticons. Omita se você instalou o pacote opcional. --disable-unicode-dict: Essa chave desabilita o uso de dicionários "Unicode". Omita se você instalou a base de dados opcional de caracteres "Unicode". rm -f tools/main.c: Esse comando remove um arquivo gerado que não foi removido quando do empacotamento. --disable-gtk2: Essa chave desabilita a construção do módulo "IM" GTK+ 2. Use-a se você não tiver instalado o GTK+ 2. --enable-gtk4: Essa chave habilita construir o módulo "IM" GTK 4. Use-a se você tiver instalado o GTK 4. --enable-python-library: Essa chave habilita construir a biblioteca de suporte Python. Use-a se tiver instalado as dependências opcionais. --enable-wayland: Essa chave habilita construir os aplicativos de suporte Wayland. Use-a se você tiver instalado as dependências opcionais. --with-python=python3: Essa chave induz o script configure a procurar por Python 3. Use-a se você quiser construir a biblioteca de suporte do Python 3 juntamente com a do Python 2. --enable-gtk-doc: Use esse parâmetro se GTK-Doc estiver instalado e você desejar reconstruir e instalar a documentação da API. gzip -dfv ...: Descomprima as páginas de manual instaladas de acordo com outras páginas de manual. Configurando Ibus Se "GTK+-3" ou "GTK+-2" estiverem instalados e --disable-gtk{3,2} não forem usados, [então] o módulo "ibus" do "IM" para "GTK+-3" ou "GTK+-2" será instalado. Como o(a) usuário(a) root, atualize um arquivo de "cache" do "GTK+-3" ou "GTK+-2", de forma que os aplicativos baseados em "GTK" possam encontrar o módulo "IM" recém-instalado e usar o "ibus" como um método de entrada: gtk-query-immodules-3.0 --update-cache O comando acima atualiza o arquivo de "cache" para "GTK+-3". Para "GTK+-2", use gtk-query-immodules-2.0 em vez de gtk-query-immodules-3.0. O "GTK-4" não exige um arquivo de "cache" para módulos "IM". Conteúdo Aplicativos Instalados: ibus, ibus-daemon e ibus-setup Biblioteca Instalada: libibus-1.0.so e im-ibus.so (módulo "IM" GTK+) Diretórios Instalados: /etc/dconf/db/ibus.d, /usr/include/ibus-1.0, /usr/share/gtk-doc/html/ibus e /usr/share/ibus Descrições Curtas ibus-daemon é o processo de segundo plano de barramento de entrada inteligente ibus-setup é o aplicativo GTK+ usado para configurar o ibus-daemon libibus-1.0.so contém as funções da "API" ibus ImageMagick-7.1.1-15 Introdução a ImageMagick ImageMagick é uma coleção de ferramentas e bibliotecas para ler, escrever e manipular uma imagem em vários formatos de imagem. As operações de processamento de imagem estão disponíveis a partir da linha de comando. Ligações para "Perl" e "C++" também estão disponíveis. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3218]https://www.imagemagick.org/archive/releases/ImageMagick-7.1. 1-15.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 14dc2057465df350005311b4ae3649b5 * Tamanho da transferência: 9,7 MB * Espaço em disco estimado exigido: 164 MB (com dependências típicas; adicionar 31 MB para verificações) * Tempo de construção estimado: 0,8 UPC (com dependências típicas; adicionar 0,8 UPC para verificações, ambos usando paralelismo=4) Nota Os lançamentos de fonte do ImageMagick são atualizados frequentemente e a versão mostrada acima possivelmente não mais esteja disponível a partir dos locais de transferência. Você pode baixar uma versão mais recente e usar as instruções existentes do BLFS para instalá-la. As chances são de que funcione bem, mas isso não foi testado pela equipe do BLFS. Se a versão do pacote mostrada acima não estiver disponível a partir dos locais mostrados acima, [então] você pode baixá-la a partir do servidor de pacotes do BLFS na Oregon State University: [3219]ftp://ftp.osuosl.org/pub/blfs/conglomeration/ImageMagick/. Dependências do ImageMagick Recomendada [3220]Bibliotecas do Xorg As dependências opcionais listadas abaixo deveriam ser instaladas se você precisar de suporte para o formato específico ou da ferramenta de conversão que a dependência fornece. Informações adicionais a respeito das dependências podem ser encontradas no arquivo Install-unix.txt localizado na árvore do fonte, bem como emitir o comando ./configure --help. Um resumo dessas informações, bem como algumas notas adicionais, podem ser visualizadas online em [3221]https://imagemagick.org/script/install-source.php. Utilitários Opcionais do Sistema "Clang" originário de [3222]LLVM-16.0.5, [3223]Cups-2.4.6, [3224]cURL-8.2.1, [3225]FFmpeg-6.0, [3226]fftw-3.3.10, [3227]p7zip-17.04 ("LZMA"), [3228]SANE-1.0.32, [3229]Wget-1.21.4, [3230]xdg-utils-1.1.3, [3231]xterm-384, [3232]Dmalloc, [3233]Electric Fence e [3234]PGP ou [3235]GnuPG-2.4.3 (você terá que fazer alguns ajustes para usar o GnuPG), [3236]Profiles Bibliotecas Opcionais de Gráficos [3237]JasPer-4.0.0, [3238]Little CMS-1.19 ou [3239]Little CMS-2.14, [3240]libgxps-0.3.2, [3241]libjpeg-turbo-3.0.0, [3242]libpng-1.6.40, [3243]libraw-0.21.1 (para arquivos dng, precisa do libraw_r thread-safe), [3244]librsvg-2.56.3, [3245]libtiff-4.5.1, [3246]libwebp-1.3.1, [3247]OpenJPEG-2.5.0, [3248]Pango-1.50.14, [3249]DjVuLibre, [3250]FlashPIX ("libfpx"), [3251]FLIF, [3252]JBIG-KIT, [3253]libheif com [3254]libde265 (ambos necessários se converter imagens "heic" do "macOS"), [3255]libjxl, [3256]libraqm, [3257]Liquid Rescale, [3258]OpenEXR e [3259]RALCGM (ou [3260]ralcgm) Utilitários Opcionais Gráficos [3261]Fontes Dejavu, [3262]ghostscript-10.01.2, [3263]Gimp-2.10.34, [3264]Graphviz-8.1.0, [3265]Inkscape-1.3, [3266]Blender, [3267]corefonts, [3268]GhostPCL, [3269]Gnuplot, [3270]POV-Ray e [3271]Radiance Ferramentas Opcionais de Conversão [3272]Enscript-1.6.6, [3273]Potrace-1.16, [3274]texlive-20230313 (ou [3275]install-tl-unx) [3276]AutoTrace, [3277]Utilitários de linha de comando GeoExpress, também conhecidos como utilitários MrSID (pacote binário), [3278]hp2xx, [3279]libwmf, [3280]UniConvertor e [3281]Utah Raster Toolkit (ou [3282]URT-3.1b) Observações de Editor(a): [3283]https://wiki.linuxfromscratch.org/blfs/wiki/imagemagick Instalação do ImageMagick Instale ImageMagick executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc \ --enable-hdri \ --with-modules \ --with-perl \ --disable-static && make Agora, como o(a) usuário(a) root: make DOCUMENTATION_PATH=/usr/share/doc/imagemagick-7.1.1 install Para testar a instalação, emita: make check. Observe que os testes "EPS", "PS" e "PDF" exigem um Ghostscript funcional. Um teste em 'make check' precisa de “Helvetica” originário de “Ghostscript Standard Fonts”, que são opcionalmente instaladas em [3284]ghostscript-10.01.2 - esse teste, e um outro, pode falhar, mas toda a validação ainda pode passar. Explicações do Comando --enable-hdri: Permite construir uma versão de alta faixa dinâmica do "ImageMagick". --with-modules: Habilita o suporte para módulos carregáveis dinamicamente. --with-perl: Habilita a construção e instalação do "PerlMagick". --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --with-gslib: Habilita o suporte para usar a biblioteca compartilhada Ghostscript. --with-rsvg: Habilita o suporte para usar a biblioteca librsvg. --with-autotrace: Habilita o suporte para usar a biblioteca Autotrace. --with-wmf: Habilita o suporte para usar a biblioteca libwmf. --with-gvc: Habilita o suporte para usar GraphViz. --with-windows-font-dir= : Essa opção especifica o diretório onde as fontes centrais do Windows estão instaladas. --with-dejavu-font-dir= : Essa opção especifica o diretório onde as fontes "DejaVu" estão instaladas. As opções e parâmetros listados acima são os únicos que você deveria passar para o script configure para ativar todas as dependências delegadas. Todas as outras dependências serão detectadas e utilizadas automaticamente na construção, se elas estiverem instaladas. Conteúdo Aplicativos Instalados: magick, Magick++-config, MagickCore-config e MagickWand-config. (animate, compare, composite, conjure, convert, display, identify, import, magick-script, mogrify, montage e stream são todos links simbólicos para magick) Bibliotecas Instaladas: libMagickCore-7.Q16HDRI.so, libMagickWand-7.Q16HDRI.so e libMagick++-7.Q16HDRI.so Diretórios Instalados: /etc/ImageMagick-7, /usr/include/ImageMagick-7, /usr/lib/ImageMagick-7.1.1, /usr/lib/perl5/site_perl/5.38/{,auto}/Image/Magick, /usr/share/doc/ImageMagick-7.1.1 e /usr/share/ImageMagick-7 Descrições Curtas animate anima uma sequência de imagens compare compara uma imagem com uma imagem reconstruída composite compõe várias imagens na imagem base fornecida conjure processa um script "MSL" para criar uma imagem convert converte imagem(ns) de um formato para outro display exibe uma imagem identify descreve o formato e as características de um arquivo de imagem import captura uma janela do X magick converter entre formatos de imagem, bem como redimensionar uma imagem, desfocar, cortar, remover manchas, pontilhar, desenhar, virar, juntar, re-amostrar e muito mais Magick{++,Core,Wand}-config mostra informações a respeito das versões instaladas das bibliotecas ImageMagick mogrify transforma uma imagem montage compõe várias imagens em uma nova imagem stream transmite um ou mais componentes de pixel de uma imagem ou parte da imagem para sua escolha de formatos de armazenamento Image::Magick permite a leitura, manipulação e gravação de um grande número de formatos de arquivo de imagem usando a biblioteca ImageMagick. Execute make no diretório PerlMagick/demo da árvore do fonte do pacote depois que o pacote estiver instalado para ver uma boa demonstração dos recursos do módulo libMagickCore-7.Q16HDRI.so fornece a API C para ImageMagick libMagickWand-7.Q16HDRI.so é a API C recomendada para ImageMagick. Ao contrário da API MagickCore, ela usa somente alguns tipos opacos libMagick++-7.Q16HDRI.so fornece a API C++ para ImageMagick ISO Codes-4.15.0 Introdução a ISO Codes O pacote ISO Codes contém uma lista de nomes de países, idiomas e moedas e é usado como uma base de dados central para acessar esses dados. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3285]https://ftp.debian.org/debian/pool/main/i/iso-codes/iso-codes _4.15.0.orig.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: e7f0063a5e3f6426ac55c4726e7dd3a1 * Tamanho da transferência: 3,7 MB * Espaço em disco estimado exigido: 94 MB * Tempo de construção estimado: 0,1 UPC (com os testes) Instalação do ISO Codes O diretório é chamado iso-codes-4.15.0. Instale ISO Codes executando os seguintes comandos: ./configure --prefix=/usr && make Para testar os resultados, emita: make check. Nota Se você instalar ISO Codes sobre uma versão instalada anterior, [então] a etapa de instalação falhará ao criar alguns links simbólicos. Para a finalidade de atualizá-los corretamente, execute: sed -i '/^LN_S/s/s/sfvn/' */Makefile Agora, como o(a) usuário(a) root: make install Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretório Instalado: /usr/share/iso-codes, /usr/share/xml/iso-codes lsof-4.95.0 Introdução a lsof O pacote lsof é útil para listar arquivos abertos para um dado aplicativo ou processo em execução. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3286]https://github.com/lsof-org/lsof/releases/download/4.95.0/lso f_4.95.0.linux.tar.bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: 670010707104b1b1fc4cabae974465a6 * Tamanho da transferência: 512 KB * Espaço em disco estimado exigido: 3,3 MB (adicionar 700 KB para os testes) * Tempo de construção estimado: menos que 0,1 UPC (adicionar 0,5 UPC para os testes) Dependências do lsof Exigida [3287]libtirpc-1.3.3 Opcionais [3288]Nmap-7.94 (com um link simbólico nc apontando para ncat em /usr/bin; usado em testes) Configuração do Núcleo Para executar os testes, a seguinte opção deveria estar habilitada na configuração do núcleo: General setup ---> [*] POSIX Message Queues [POSIX_MQUEUE] Instalação do lsof Instale lsof executando os seguintes comandos: ./Configure -n linux && make Os testes deveriam ser executados como o(a) usuário(a) root. Eles exigem que as filas de mensagens "POSIX" estejam habilitadas no núcleo e que [3289]Nmap-7.94 seja instalado com um link simbólico /usr/bin/nc apontando para ncat. make check Um teste, "case-20-ux-socket-endpoint", é conhecido por falhar. Outro teste possivelmente falhe se os testes forem executados em um script. Agora, como o(a) usuário(a) root: install -v -m4755 -o root -g root lsof /usr/bin && install -v lsof.8 /usr/share/man/man8 Explicações do Comando ./Configure -n linux: Evita verificações de "AFS", personalização e inventário e usa o dialeto linux. install -m4755 ...: lsof deveria estar suid root para permitir que usuários(as) listem todos os arquivos. Isso possivelmente seja uma ameaça à segurança em alguns sistemas. Nesse caso mude para -m755 e use sudo para executar o aplicativo. Conteúdo Aplicativo Instalado: lsof Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas lsof lista arquivos abertos para processos em execução mandoc-1.14.6 Introdução a mandoc "mandoc" é um utilitário para formatar páginas de manual. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3290]https://mandoc.bsd.lv/snapshots/mandoc-1.14.6.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: f0adf24e8fdef5f3e332191f653e422a * Tamanho da transferência: 684 KB * Espaço em disco estimado exigido: 22 MB (com os testes) * Tempo de construção estimado: menos que 0,1 UPC (com os testes) Instalação do mandoc Muitos utilitários fornecidos pelo mandoc conflitam com Man-DB no LFS. Construa somente o comando mandoc: ./configure && make mandoc Para testar o pacote, emita: make regress. Agora, como o(a) usuário(a) root: install -vm755 mandoc /usr/bin && install -vm644 mandoc.1 /usr/share/man/man1 Conteúdo Aplicativos Instalados: mandoc Descrições Curtas mandoc Formata páginas de manual pinentry-1.2.1 Introdução a PIN-Entry O pacote PIN-Entry contém uma coleção de diálogos simples de entrada de "PIN" ou frase secreta que utiliza o protocolo "Assuan" conforme descrito em [3291]Äprojeto egípcio. Os aplicativos PIN-Entry geralmente são invocados pelo processo de segundo plano gpg-agent, mas podem ser executados a partir da linha de comando também. Existem aplicativos para vários ambientes baseados em texto e "GUI", incluindo interfaces projetadas para Ncurses (baseado em texto) e para os kits comuns de ferramentas GTK e Qt. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3292]https://www.gnupg.org/ftp/gcrypt/pinentry/pinentry-1.2.1.tar. bz2 * Transferência (FTP): [3293]ftp://ftp.gnupg.org/gcrypt/pinentry/pinentry-1.2.1.tar.bz2 * Soma de verificação MD5 da transferência: be9b0d4bb493a139d2ec20e9b6872d37 * Tamanho da transferência: 536 KB * Espaço em disco estimado exigido: 5,6 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do PIN-Entry Exigidas [3294]libassuan-2.5.6 e [3295]libgpg-error-1.47 Opcionais [3296]Emacs-29.1, [3297]FLTK-1.3.8, [3298]Gcr-3.41.1, [3299]GTK+-2.24.33, [3300]KDE Frameworks-5.109.0 (ou [3301]kwayland-5.109.0 para lxqt), [3302]libsecret-0.21.0, ([3303]Qt-5.15.10 ou [3304]qt-alternate-5.15.10) e [3305]efl Instalação do PIN-Entry Instale PIN-Entry executando os seguintes comandos: ./configure --prefix=/usr --enable-pinentry-tty && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Explicações do Comando --enable-inside-emacs=yes/no: Padrão é "no". --enable-pinentry-qt=yes/no: Padrão é "yes". --enable-pinentry-gtk2=yes/no: Padrão é "yes". Mesmo se outros pinentry-* estiverem instalados, pinentry será um link simbólico para pinentry-gtk-2. --enable-pinentry-gnome3=yes/no: Padrão é "yes". Atualmente, ele usa Gcr para o diálogo "pinentry". --enable-pinentry-tty: Padrão é "maybe". Conteúdo Aplicativos Instalados: pinentry (link simbólico), pinentry-curses, pinentry-emacs, pinentry-fltk, pinentry-gnome3, pinentry-gtk-2, pinentry-qt e pinentry-tty Bibliotecas Instaladas: Nenhum(a) Diretório Instalado: Nenhum(a) Descrições Curtas pinentry é um link simbólico para o aplicativo padrão PIN-Entry pinentry-curses é um aplicativo auxiliar Ncurses do PIN-Entry baseado em texto pinentry-emacs é uma versão Emacs do aplicativo auxiliar do PIN-Entry pinentry-fltk é um aplicativo auxiliar FLTK do PIN-Entry pinentry-gnome3 é um aplicativo auxiliar GNOME-3 do PIN-Entry pinentry-gtk-2 é um aplicativo auxiliar GTK+2 do PIN-Entry pinentry-qt é um aplicativo auxiliar Qt4 ou 5 do PIN-Entry pinentry-tty é um aplicativo auxiliar tty do PIN-Entry Rep-gtk-0.90.8.3 Introdução a Rep-gtk O pacote rep-gtk contém uma ligação Lisp e GTK. Isso é útil para estender as bibliotecas GTK-2 e GDK com Lisp. Começando em rep-gtk-0.15, o pacote contém as ligações para GTK e usa as mesmas instruções. Ambas podem ser instaladas, se necessário. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3306]https://download.tuxfamily.org/librep/rep-gtk/rep-gtk_0.90.8. 3.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: b20f72cf00d316d35fa7f84a6e7532af * Tamanho da transferência: 120 KB * Espaço em disco estimado exigido: 13 MB * Tempo de construção estimado: 0,1 UPC Dependências do Rep-gtk Exigidas [3307]GTK+-2.24.33 e [3308]librep-0.92.7 Instalação do Rep-gtk Instale rep-gtk executando os seguintes comandos: ./autogen.sh --prefix=/usr && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Conteúdo Aplicativos Instalados: Nenhum Bibliotecas Instaladas: Ligações "Lisp" Diretório Instalado: /usr/include/rep-gtk e /usr/lib/rep/gui Descrições Curtas Ligações Lisp são bibliotecas armazenadas em /usr/lib/rep/gui/ que auxiliam a comunicação entre "Lisp" e as bibliotecas GTK Screen-4.9.1 Introdução a Screen Screen é um multiplexador de terminal que executa vários processos, normalmente shells interativos, em um terminal físico baseado em caracteres. Cada terminal virtual emula um "DEC VT100" mais várias funções "ANSI X3.64" e "ISO 2022" e também fornece tradução configurável de entrada e saída, suporte a porta serial, registro configurável, suporte multiusuário(a) e muitas codificações de caracteres, incluindo "UTF-8". As sessões do "Screen" podem ser desanexadas e retomadas posteriormente em um terminal diferente. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3309]https://ftp.gnu.org/gnu/screen/screen-4.9.1.tar.gz * Transferência (FTP): [3310]ftp://ftp.gnu.org/gnu/screen/screen-4.9.1.tar.gz * Soma de verificação MD5 da transferência: 9a9bdc956bd93e4f0cb9e48678889e26 * Tamanho da transferência: 1020 KB * Espaço em disco estimado exigido: 9,5 MB * Tempo de construção estimado: 0,1 UPC Dependências do Screen Opcionais [3311]Linux-PAM-1.5.3 Instalação do Screen Instale Screen executando os seguintes comandos: sh autogen.sh && ./configure --prefix=/usr \ --infodir=/usr/share/info \ --mandir=/usr/share/man \ --with-socket-dir=/run/screen \ --with-pty-group=5 \ --with-sys-screenrc=/etc/screenrc && sed -i -e "s%/usr/local/etc/screenrc%/etc/screenrc%" {etc,doc}/* && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install && install -m 644 etc/etcscreenrc /etc/screenrc Explicações do Comando --with-socket-dir=/run/screen: Essa opção coloca os soquetes por usuário em um local padrão. --with-sys-screenrc=/etc/screenrc: Essa opção coloca o arquivo global "screenrc" /etc. --with-pty-group=5: Essa opção configura o "GID" para o valor usado pelo LFS. sed -i -e "s%/usr/local/etc/screenrc%/etc/screenrc%" {etc,doc}/*: Esse comando corrige os arquivos de configuração e documentação para o local que é usado aqui para o arquivo global "screenrc". Configurando Screen Arquivos de Configuração /etc/screenrc e ~/.screenrc Informação de Configuração Você possivelmente queira examinar o arquivo de configuração de exemplo que foi instalado e personalizá-lo para suas necessidades. Conteúdo Aplicativo Instalado: screen (link simbólico) e screen-4.9.1 Bibliotecas Instaladas: Nenhuma Diretório Instalado: /usr/share/screen e /run/screen Descrições Curtas screen é um multiplexador de terminal com emulação de terminal "VT100/ANSI" shared-mime-info-2.2 Introdução a "Shared Mime Info" O pacote Shared Mime Info contém uma base de dados "MIME". Isso permite atualizações centrais de informações "MIME" para todos os aplicativos de suporte. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3312]https://gitlab.freedesktop.org/xdg/shared-mime-info/-/archive /2.2/shared-mime-info-2.2.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 06cb9e92e4211dc53fd52b7bfd586c78 * Tamanho da transferência: 6,7 MB * Espaço em disco estimado exigido: 33 MB (com testes) * Tempo de construção estimado: menos que 0,1 UPC (com os testes) Transferências Adicionais * Transferência opcional, exigida para executar a suíte de teste: [3313]https://anduin.linuxfromscratch.org/BLFS/xdgmime/xdgmime.tar. xz Soma de verificação MD5 de "xdgmime": 7dfb4446705d345d3acd672024049e86 Dependências do "Shared Mime Info" Exigidas [3314]GLib-2.76.4 e [3315]libxml2-2.10.4 Opcionais [3316]xmlto-0.0.28 Instalação do "Shared Mime Info" Instale Shared Mime Info executando os seguintes comandos: Se deseja executar a suíte de teste, [então] você precisa primeiro extrair o tarball xdgmime no diretório atual e compilá-lo, de forma que meson consiga encontrá-lo: tar -xf ../xdgmime.tar.xz && make -C xdgmime Agora construa o pacote: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release -Dupdate-mimedb=true .. && ninja Se você tiver seguido as instruções acima para construir xdgmime, [então], para testar o resultado, emita ninja test. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dupdate-mimedb=true: Esse parâmetro informa ao sistema de construção para executar update-mime-database durante a instalação. Caso contrário, isso precisa ser feito manualmente para a finalidade de poder usar a base de dados "MIME". Conteúdo Aplicativo Instalado: update-mime-database Biblioteca Instalada: Nenhuma Diretório Instalado: /usr/share/mime Descrições Curtas update-mime-database auxilia na adição de dados "MIME" à base de dados Sharutils-4.15.2 Introdução a Sharutils O pacote Sharutils contém utilitários que conseguem criar arquivamentos "shell". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3317]https://ftp.gnu.org/gnu/sharutils/sharutils-4.15.2.tar.xz * Transferência (FTP): [3318]ftp://ftp.gnu.org/gnu/sharutils/sharutils-4.15.2.tar.xz * Soma de verificação MD5 da transferência: 5975ce21da36491d7aa6dc2b0d9788e0 * Tamanho da transferência: 1,1 MB * Espaço em disco estimado exigido: 22 MB (com a suíte de teste) * Tempo de construção estimado: 0,4 UPC (com a suíte de teste) Instalação do Sharutils Corrija um estouro de "buffer" de uma coleção desordenada de objetos colocados ao acaso uns sobre os outros e um problema exposto pelo "GCC-10": sed -i 's/BUFSIZ/rw_base_size/' src/unshar.c && sed -i '/program_name/s/^/extern /' src/*opts.h Instale Sharutils executando os seguintes comandos: sed -i 's/IO_ftrylockfile/IO_EOF_SEEN/' lib/*.c && echo "#define _IO_IN_BACKUP 0x100" >> lib/stdio-impl.h && ./configure --prefix=/usr && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Conteúdo Aplicativos Instalados: shar, unshar, uudecode e uuencode Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas shar cria "arquivamentos shell" (ou arquivos "shar") que estão em formato de texto e conseguem ser enviados por correio unshar desempacota um arquivo "shar" uudecode lê um arquivo (ou, por padrão, a entrada gerada padrão) e grava uma versão codificada na saída gerada padrão. A codificação usa somente caracteres de impressão "ASCII" uuencode lê um arquivo (ou, por padrão, a entrada gerada padrão) e decodifica a versão "uuencoded" para a saída gerada padrão telepathy-mission-control-5.16.6 Introdução a "Telepathy Mission Control" Telepathy Mission Control é um gerenciador de contas e despachante de canal para a estrutura Telepathy, permitindo que interfaces de usuário(a) e outros clientes compartilhem conexões com serviços de comunicação em tempo real sem conflitos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3319]https://telepathy.freedesktop.org/releases/telepathy-mission- control/telepathy-mission-control-5.16.6.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 911e990c7755eb98a8022223f649405d * Tamanho da transferência: 1,1 MB * Espaço em disco estimado exigido: 28 MB * Tempo de construção estimado: 0,2 UPC Dependências do "Telepathy Mission Control" Exigidas [3320]telepathy-glib-0.24.2 Recomendadas [3321]NetworkManager-1.44.0 Opcionais [3322]D-Bus Python-1.3.2 (para os testes “torcidos”), [3323]GTK-Doc-1.33.2, [3324]UPower-1.90.2 e [3325]Twisted (para os testes “torcidos”) Instalação do "Telepathy Mission Control" Instale Telepathy Mission Control executando os seguintes comandos: PYTHON=python3 \ ./configure --prefix=/usr --disable-static && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Explicações do Comando PYTHON=python3: evita usar "Python2" se ele estiver instalado. --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --enable-gtk-doc: Use esse parâmetro se GTK-Doc estiver instalado e você desejar reconstruir e instalar a documentação da API. Conteúdo Aplicativos Instalados: mc-tool, mc-wait-for-name e mission-control-5 (executável de biblioteca) Bibliotecas Instaladas: libmission-control-plugins.so Diretórios Instalados: /usr/include/mission-control-5.5 e /usr/share/gtk-doc/html/mission-control-plugins Descrições Curtas mc-tool é uma ferramenta de linha de comando usada para manipular contas do "Mission Control" mc-wait-for-name espera por um nome de barramento "D-Bus" que será fornecido automaticamente pela sessão da área de trabalho mission-control-5 é um serviço D-Bus que executa no barramento de sessão para implementar os serviços "AccountManager" e "ChannelDispatcher" descritos na especificação "D-Bus" do Telepathy libmission-control-plugins.so contém as funções de "API" de "plugin" do Telepathy Mission Control tidy-html5-5.8.0 Introdução a "Tidy HTML5" O pacote Tidy HTML5 contém uma ferramenta de linha de comando e bibliotecas usadas para ler arquivos "HTML", "XHTML" e "XML" e gravar marcações limpas. Ele detecta e corrige muitos erros comuns de codificação e se esforça para produzir marcação visualmente equivalente que seja compatível com "W3C" e compatível com a maioria dos navegadores. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3326]https://github.com/htacg/tidy-html5/archive/5.8.0/tidy-html5- 5.8.0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 0f6c55ef651e258adbe5750f555af50f * Tamanho da transferência: 992 KB * Espaço em disco estimado exigido: 11 MB * Tempo de construção estimado: 0,2 UPC Dependências do "Tidy HTML5" Exigida [3327]CMake-3.27.2 Recomendada [3328]libxslt-1.1.38 Instalação do "Tidy HTML5" Instale Tidy HTML5 executando os seguintes comandos: cd build/cmake && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_TAB2SPACE=ON \ ../.. && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install && rm -fv /usr/lib/libtidy.a && install -v -m755 tab2space /usr/bin Explicações do Comando -DCMAKE_BUILD_TYPE=Release: Essa chave é usada para construir a biblioteca de lançamento sem nenhuma "declaração" de depuração no código. -DBUILD_TAB2SPACE=ON: Essa chave é usada para habilitar a construção do utilitário tab2space. Configurando "Tidy HTML5" Arquivos de Configuração O caminho absoluto do arquivo especificado em HTML_TIDY. Informação de Configuração As opções padrão de configuração podem ser configuradas no arquivo definido em HTML_TIDY. Opções adicionais de configuração podem ser passadas para tidy via parâmetros de linha de comando ou o parâmetro -config . Conteúdo Aplicativos Instalados: tab2space e tidy Biblioteca Instalada: libtidy.so Diretório Instalado: /usr/share/doc/tidy-5.8.0 Descrições Curtas tab2space é um utilitário para expandir abas e garantir finais de linha consistentes tidy valida, corrige e bem imprime arquivos "HTML" libtidy.so A biblioteca fornece as funções da "API" Tidy HTML5 para tidy e também pode ser chamada por outros aplicativos Time-1.9 Introdução a Time O utilitário time é um aplicativo que mede muitos dos recursos da "CPU", como tempo e memória, que outros aplicativos usam. A versão "GNU" pode formatar a saída gerada de maneiras arbitrárias usando uma sequência de caracteres de formato no estilo "printf" para incluir várias medições de recursos. Embora o shell tenha um comando integrado que fornece funcionalidades semelhantes, esse utilitário é exigido pelo "LSB". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3329]https://ftp.gnu.org/gnu/time/time-1.9.tar.gz * Transferência (FTP): [3330]ftp://ftp.gnu.org/gnu/time/time-1.9.tar.gz * Soma de verificação MD5 da transferência: d2356e0fe1c0b85285d83c6b2ad51b5f * Tamanho da transferência: 584 KB * Espaço em disco estimado exigido: 4,0 MB (com os testes) * Tempo de construção estimado: 0,1 UPC (com os testes) Instalação do "Time" Instale Time executando os seguintes comandos: ./configure --prefix=/usr && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Conteúdo Aplicativo Instalado: time Biblioteca Instalada: Nenhum(a) Diretório Instalado: Nenhum(a) Descrições Curtas time informa várias estatísticas a respeito de um comando executado tree-2.1.1 Introdução a "tree" O aplicativo tree é útil para exibir um conteúdo de árvore de dicionário, incluindo arquivos, diretórios e links. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3331]https://mama.indstate.edu/users/ice/tree/src/tree-2.1.1.tgz * Transferência (FTP): * Soma de verificação MD5 da transferência: 1376096bad6b1875d680b18873c249f1 * Tamanho da transferência: 60 KB * Espaço em disco estimado exigido: 728 KB * Tempo de construção estimado: menos que 0,1 UPC Instalação do "tree" Instale tree executando os seguintes comandos: make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make PREFIX=/usr MANDIR=/usr/share/man install && chmod -v 644 /usr/share/man/man1/tree.1 Conteúdo Aplicativo Instalado: tree Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas tree exibe uma árvore de diretórios em um terminal unixODBC-2.3.12 Introdução a "unixODBC" O pacote unixODBC é um subsistema "ODBC" ("Open DataBase Connectivity") de fonte aberto e um "SDK" "ODBC" para Linux, Mac OSX e UNIX. "ODBC" é uma especificação aberta para fornecer para os(as) desenvolvedores(as) de aplicativos uma "API" previsível com a qual acessar fontes de dados. As fontes de dados incluem servidores "SQL" opcionais e qualquer fonte de dados com um controlador "ODBC". unixODBC contém os seguintes componentes usados para auxiliar na manipulação de fontes de dados "ODBC": um gerenciador de controlador; uma biblioteca de instalador e ferramenta de linha de comando; ferramentas de linha de comando para ajudar a instalar um controlador e trabalhar com "SQL"; controladores e bibliotecas de configuração do controlador. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3332]https://github.com/lurcher/unixODBC/releases/download/2.3.12/ unixODBC-2.3.12.tar.gz * Transferência (FTP): [3333]ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-2.3.12.tar.gz * Soma de verificação MD5 da transferência: d62167d85bcb459c200c0e4b5a63ee48 * Tamanho da transferência: 1,7 MB * Espaço em disco estimado exigido: 28 MB * Tempo de construção estimado: 0,2 UPC (usando paralelismo = 4) Dependências do "unixODBC" Opcionais [3334]Mini SQL e [3335]Pth-2.0.7 Instalação do "unixODBC" Instale unixODBC executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc/unixODBC && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install && find doc -name "Makefile*" -delete && chmod 644 doc/{lst,ProgrammerManual/Tutorial}/* && install -v -m755 -d /usr/share/doc/unixODBC-2.3.12 && cp -v -R doc/* /usr/share/doc/unixODBC-2.3.12 Explicações do Comando --enable-drivers: Esse parâmetro habilita construir os controladores que foram instalados por padrão nas versões anteriores. --enable-drivers-conf: Esse parâmetro habilita construir as bibliotecas de configuração do controlador que foram instaladas por padrão nas versões anteriores. Configurando "unixODBC" Arquivos de Configuração /etc/unixODBC/* Informação de Configuração Os arquivos em /etc/unixODBC são destinados a serem configurados pelo(a) administrador(a) do sistema (ou pelo(a) administrador(a) do sítio "ODBC" se os privilégios apropriados forem concedidos a /etc /unixODBC). Esses arquivos não são destinados para serem editados diretamente. A biblioteca do instalador "ODBC" é responsável por ler e gravar os arquivos de configuração unixODBC. Infelizmente, não existem muitas man, ou quaisquer páginas info para os vários aplicativos disponíveis no pacote unixODBC. Juntamente com as informações nas “Descrições Curtas” abaixo e a documentação instalada em /usr/share/doc/unixODBC-2.3.12, existem muitos arquivos README em toda a árvore do fonte onde o uso e a funcionalidade dos aplicativos podem ser encontrados. Além disso, você pode usar o parâmetro -? para informações de sintaxe e uso. Por fim, o sítio da "web" do unixODBC em [3336]http://www.unixodbc.org/ tem informações muito boas. Conteúdo Aplicativos Instalados: dltest, isql, iusql, odbc_config, odbcinst e slencheck Bibliotecas Instaladas: libodbc.so, libodbccr.so e libodbcinst.so Diretórios Instalados: /etc/unixODBC e /usr/share/doc/unixODBC-2.3.12 Descrições Curtas dltest é um utilitário usado para verificar uma biblioteca compartilhada para ver se ela pode ser carregada e se um dado símbolo existe nela isql é um utilitário que pode ser usado para submeter "SQL" para uma fonte de dados e para formatar/suprir resultados. Ele pode ser usado em modo de lote ou interativo iusql fornece a mesma funcionalidade que o aplicativo isql odbc_config é usado para descobrir detalhes a respeito da instalação do pacote unixODBC odbcinst é um utilitário criado para instalar escritores de script/"RPM". É uma interface de linha de comando para funcionalidade chave na biblioteca libodbcinst. Ele não copia nenhum arquivo (ou seja, bibliotecas), mas modificará as informações do sistema "ODBC" para o(a) usuário(a) slencheck é um utilitário que tenta verificar se um controlador "ODBC" foi construído com tipos "SQLLEN" de 32 bits ou 64 bits xdg-dbus-proxy-0.1.5 Introdução ao xdg-dbus-proxy O pacote xdg-dbus-proxy contém um proxy de filtragem para conexões D-Bus. Isso é útil para encaminhar dados dentro e fora de uma sandbox. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3337]https://github.com/flatpak/xdg-dbus-proxy/releases/download/0 .1.5/xdg-dbus-proxy-0.1.5.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: b496f34b0fa4747a66eb5adb63b7d626 * Tamanho da transferência: 124 KB * Espaço em disco estimado exigido: 1,4 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do xdg-dbus-proxy Exigidas [3338]GLib-2.76.4 Instalação do xdg-dbus-proxy Instale o xdg-dbus-proxy executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Para testar os resultados, emita: ninja test. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. Conteúdo Aplicativos Instalados: xdg-dbus-proxy Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas xdg-dbus-proxy é um proxy de filtragem para conexões D-Bus Xdg-user-dirs-0.18 Introdução a "Xdg-user-dirs" Xdg-user-dirs é uma ferramenta para ajudar a gerenciar diretórios de usuário(a) “bem conhecidos” como a pasta "desktop" e a pasta de música. Ele também lida com a localização (ou seja, a tradução) dos nomes dos arquivos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3339]https://user-dirs.freedesktop.org/releases/xdg-user-dirs-0.18 .tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: dc7decea7ffb58cd067eff1fe1798cae * Tamanho da transferência: 267 KB * Espaço em disco estimado exigido: 3,0 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do Xdg-user-dirs Opcionais [3340]docbook-xml-4.5, [3341]docbook-xsl-nons-1.79.2 e [3342]libxslt-1.1.38 (todos três para construir as páginas de manual) Instalação do "Xdg-user-dirs" Instale xdg-user-dirs executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc \ --disable-documentation && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-documentation: Desabilita a instalação das páginas de manual. Remova essa chave se você tiver instalado as dependências opcionais e desejar instalar as páginas de manual desse pacote. Configurando "Xdg-user-dirs" Arquivos de Configuração ~/.config/user-dirs.dirs, /etc/xdg/user-dirs.conf e /etc/xdg/user-dirs.defaults. Esses locais padrão podem ser substituídos por XDG_CONFIG_HOME e XDG_CONFIG_DIRS Conteúdo Aplicativos Instalados: xdg-user-dir e xdg-user-dirs-update Biblioteca Instalada: Nenhum(a) Diretório Instalado: Nenhum(a) Descrições Curtas xdg-user-dir procura o caminho atual para um dos diretórios "XDG" de usuário(a) xdg-user-dirs-update cria versões localizadas dos diretórios de usuário(a) Capítulo 12. Utilitários de Sistema Este capítulo contém principalmente utilitários de hardware. Ele também contém alguns aplicativos usados por outros aplicativos no livro para propósitos de instalação ou configuração. AccountsService-23.13.9 Introdução ao AccountsService O pacote AccountsService fornece um conjunto de interfaces D-Bus para consulta e manipulação de informações da conta do(a) usuário(a) e uma implementação dessas interfaces baseada nos comandos usermod(8), useradd(8) e userdel(8). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3343]https://www.freedesktop.org/software/accountsservice/accounts service-23.13.9.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 03dccfe1b306b7ca19743e86d118e64d * Tamanho da transferência: 621 KB * Espaço em disco estimado exigido: 9,8 MB (adicionar 0,5 MB para testes) * Tempo de construção estimado: menos que 0,1 UPC (com testes) Dependências do "AccountsService" Exigidas [3344]Polkit-123 Recomendadas [3345]gobject-introspection-1.76.1, [3346]Systemd-254 (tempo de execução) e [3347]Vala-0.56.11 Opcionais [3348]GTK-Doc-1.33.2 e [3349]xmlto-0.0.28 Opcionais (para testes) [3350]dbusmock-0.29.1 e [3351]PyGObject-3.44.1 Instalação do "AccountsService" Primeiro, renomeie um diretório cuja presença impede o sistema de construção de executar se [3352]dbusmock-0.29.1 não estiver instalado: mv tests/dbusmock{,-tests} Em seguida, corrija os testes de forma que o novo diretório seja encontrado: sed -e '/accounts_service\.py/s/dbusmock/dbusmock-tests/' \ -i tests/test-libaccountsservice.py Corrija um teste que falha se a localidade en_IE.UTF-8 não estiver instalada: sed -i '/^SIMULATED_SYSTEM_LOCALE/s/en_IE.UTF-8/en_HK.iso88591/' tests/test-daem on.py Instale AccountsService executando os seguintes comandos: mkdir build && cd build && meson setup .. \ --prefix=/usr \ --buildtype=release \ -Dadmin_group=adm && ninja Para testar o pacote, emita ninja test. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dadmin_group=adm: Essa chave configura o grupo para contas de administrador(a). -Ddocbook=true: Essa chave habilita construir a documentação da API da interface do D-Bus (precisa do [3353]xmlto-0.0.28). -Dgtk_doc=true: Essa chave habilita construir a documentação da API da libaccountsservice (precisa do [3354]GTK-Doc-1.33.2). -Dvapi=false: Essa chave desabilita construir as ligações vala. Use-a se você não tiver instalado [3355]Vala-0.56.11. Configurando "AccountsService" Para permitir que os(as) usuários(as) no grupo "adm" sejam listados como Administradores(as), execute os seguintes comandos como o(a) usuário(a) root: cat > /etc/polkit-1/rules.d/40-adm.rules << "EOF" polkit.addAdminRule(function(action, subject) { return ["unix-group:adm"]; }); EOF Unidade do systemd Para iniciar o processo de segundo plano accounts-daemon na inicialização, habilite a unidade do systemd instalada anteriormente executando o seguinte comando como o(a) usuário(a) root: systemctl enable accounts-daemon Conteúdo Aplicativos Instalados: accounts-daemon (em /usr/libexec) Bibliotecas Instaladas: libaccountsservice.so Diretórios Instalados: /usr/include/accountsservice-1.0, /usr/share/accountsservice, /usr/share/gtk-doc/html/libaccountsservice (opcional) e /var/lib/AccountsService Descrições Curtas accounts-daemon é o processo de segundo plano AccountsService libaccountsservice.so contém as funções da "API" do AccountsService acpid-2.0.34 Introdução a "acpid" O acpid ("Advanced Configuration and Power Interface" processo de segundo plano de evento) é um processo de segundo plano completamente flexível e totalmente extensível para entrega de eventos "ACPI". Ele escuta na interface "netlink" e, quando ocorre um evento, executa aplicativos para lidar com o evento. Os aplicativos que ele executa são configurados por meio de um conjunto de arquivos de configuração, que podem ser inseridos por pacotes ou pelo(a) usuário(a). Nota Alguns outros pacotes também podem lidar com alguns eventos ACPI e possivelmente conflitem com esse pacote. Por exemplo, [3356]Systemd-254 (leia-se a documentação para Handle*= em logind.conf(5) para detalhes) e [3357]UPower-1.90.2 (usado por muitos ambientes de área de trabalho como GNOME, KDE e XFCE para lidar com eventos ACPI). Se você tiver instalado tal pacote e ele for suficiente para o teu caso de uso, esse pacote provavelmente não é necessário. Se você realmente precisa desse pacote, você precisa ser cuidadoso(a) ao configurá-lo e aos outros pacotes que manuseiam eventos ACPI para evitar conflitos. Notavelmente, [3358]Systemd-254 lida com alguns eventos ACPI por padrão, de forma que o tratamento desses eventos pelo [3359]Systemd-254 deveria ser desabilitado primeiro se manusear esses eventos com acpid (novamente, leia-se logind.conf(5) para detalhes). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3360]https://downloads.sourceforge.net/acpid2/acpid-2.0.34.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 988c2e3fd5ba0ea4492d3ba7273af295 * Tamanho da transferência: 160 KB * Espaço em disco estimado exigido: 1,9 MB * Tempo de construção estimado: menos que 0,1 UPC Instalação do "acpid" Instale acpid executando os seguintes comandos: ./configure --prefix=/usr \ --docdir=/usr/share/doc/acpid-2.0.34 && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install && install -v -m755 -d /etc/acpi/events && cp -r samples /usr/share/doc/acpid-2.0.34 Configurando "acpid" acpid é configurado por eventos definidos pelo(a) usuário(a). Coloque os arquivos de eventos sob o diretório /etc/acpi/events. Se ocorrer um evento, [então] acpid percorre os arquivos de eventos para a finalidade de ver se a expressão regular definida depois de "event" corresponde. Se corresponder, [então] a ação é executada. O breve exemplo a seguir suspenderá o sistema quando a tampa do laptop for fechada. O exemplo também desabilita o tratamento padrão do evento de fechamento da tampa pelo [3361]Systemd-254 quando o sistema estiver funcionando com bateria e não conectado a nenhum monitor externo, para a finalidade de evitar um conflito: cat > /etc/acpi/events/lid << "EOF" event=button/lid action=/etc/acpi/lid.sh EOF cat > /etc/acpi/lid.sh << "EOF" #!/bin/sh /bin/grep -q open /proc/acpi/button/lid/LID/state && exit 0 /usr/bin/systemctl suspend EOF chmod +x /etc/acpi/lid.sh mkdir -pv /etc/systemd/logind.conf.d echo HandleLidSwitch=ignore > /etc/systemd/logind.conf.d/acpi.conf Infelizmente, nem todos os computadores rotulam os eventos ACPI da mesma maneira (por exemplo, a tampa possivelmente seja reconhecida como LID0 em vez de LID). Para determinar como teus botões são reconhecidos, use a ferramenta acpi_listen. Além disso, procure no diretório samples sob /usr/share/doc/acpid-2.0.34 para mais exemplos. Soquete do Systemd Para iniciar o processo de segundo plano acpid na inicialização, instale a unidade do "systemd" a partir do pacote [3362]blfs-systemd-units-20230816 executando o seguinte comando como o(a) usuário(a) root: make install-acpid Nota Esse pacote usa ativação baseada em soquete e será iniciado quando algo precisar. Nenhum arquivo de unidade independente é fornecido para esse pacote. Conteúdo Aplicativos Instalados: acpid, acpi_listen e kacpimon Bibliotecas Instaladas: Nenhuma Diretórios Instalados: /etc/acpi e /usr/share/doc/acpid-2.0.34 Descrições Curtas acpid é um aplicativo que escuta eventos "ACPI" e executa as regras que correspondem ao evento recebido acpi_listen é uma ferramenta simples que se conecta ao acpid e escuta os eventos kacpimon é um aplicativo monitor que se conecta a três fontes de eventos "ACPI" (arquivo de eventos; "netlink"; e camada de entrada) e então informa o que vê enquanto está conectado at-3.2.5 Introdução a "at" O pacote at fornece execução de tarefa atrasada e processamento em lote. Ele é exigido para conformidade com o "Linux Standards Base" (LSB). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3363]https://anduin.linuxfromscratch.org/BLFS/at/at_3.2.5.orig.tar .gz * Transferência (FTP): * Soma de verificação MD5 da transferência: ca3657a1c90d7c3d252e0bc17feddc6e * Tamanho da transferência: 130 KB * Espaço em disco estimado exigido: 1,9 MB (incluindo os testes) * Tempo de construção estimado: menos que 0,1 UPC Dependências do "at" Exigida Um [3364]MTA Opcionais [3365]Linux-PAM-1.5.3 Observações de Editor(a): [3366]https://wiki.linuxfromscratch.org/blfs/wiki/at Instalação do "at" Antes de construir o at, como o(a) usuário(a) root, você deveria criar o grupo e o(a) usuário(a) atd que executarão o processo de segundo plano atd: groupadd -g 17 atd && useradd -d /dev/null -c "atd daemon" -g atd -s /bin/false -u 17 atd Instale at com os seguintes comandos: ./configure --with-daemon_username=atd \ --with-daemon_groupname=atd \ SENDMAIL=/usr/sbin/sendmail \ --with-jobdir=/var/spool/atjobs \ --with-atspool=/var/spool/atspool \ --with-systemdsystemunitdir=/lib/systemd/system && make -j1 Para testar os resultados, emita: make test. Agora, como o(a) usuário(a) root: make install docdir=/usr/share/doc/at-3.2.5 \ atdocdir=/usr/share/doc/at-3.2.5 Configurando "at" Arquivos de Configuração /etc/at.allow e /etc/at.deny determinam quem consegue submeter tarefas via "at" ou "batch". Configuração do "Linux PAM" Se At tiver sido construído com suporte Linux PAM, [então] você precisa criar um arquivo de configuração PAM, para fazê-lo funcionar corretamente com BLFS. Emita os seguintes comandos como o(a) usuário(a) root para criar o arquivo de configuração para Linux PAM: cat > /etc/pam.d/atd << "EOF" # Inicia /etc/pam.d/atd auth required pam_unix.so account required pam_unix.so password required pam_unix.so session required pam_unix.so # Termina /etc/pam.d/atd EOF Unidade do systemd Para iniciar o processo de segundo plano atd na inicialização, habilite a unidade do systemd instalada anteriormente executando o seguinte comando como o(a) usuário(a) root: systemctl enable atd Conteúdo Aplicativos Instalados: at, atd, atq (link simbólico), atrm (link simbólico), atrun e batch Bibliotecas Instaladas: Nenhuma Diretórios Instalados: /usr/share/doc/at-3.2.5 Descrições Curtas at enfileira, examina ou deleta tarefas para execução posterior atd é o processo de segundo plano que executa tarefas enfileiradas para execução posterior atq lista as tarefas pendentes do(a) usuário(a), ou todas as tarefas, se superusuário(a) atrm deleta tarefas, identificadas pelo número da tarefa delas atrun executa tarefas enfileiradas para execução posterior batch é um script que executa comandos quando os níveis de carga do sistema permitem autofs-5.1.8 Introdução a "Autofs" Autofs controla a operação dos processos de segundo plano "automount". Os processos de segundo plano "automount" montam automaticamente sistemas de arquivos quando eles são acessados e os desmontam depois de um período de inatividade. Isso é feito baseado em um conjunto de mapas pré-configurados. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3367]https://www.kernel.org/pub/linux/daemons/autofs/v5/autofs-5.1 .8.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 72d81645d39a857c3d16bd3a32e9cb44 * Tamanho da transferência: 320 KB * Espaço em disco estimado exigido: 6,5 MB * Tempo de construção estimado: 0,1 UPC Dependências do "Autofs" Exigidas [3368]libtirpc-1.3.3 e [3369]rpcsvc-proto-1.4.4 Opcionais [3370]nfs-utils-2.6.3, [3371]libnsl-2.0.0, [3372]libxml2-2.10.4, [3373]MIT Kerberos V5-1.21.2, [3374]OpenLDAP-2.6.6 (somente o cliente) e [3375]Cyrus SASL-2.1.28 Configuração do Núcleo Verifique se o suporte de núcleo "automounter" foi habilitado: File systems ---> <*/M> Kernel automounter support (supports v3, v4 and v5) [AUTOFS_FS] Opcionalmente, habilite as seguintes opções na configuração do núcleo: File systems ---> [*] Network File Systems ---> [NETWORK_FILESYSTEMS] <*/M> NFS client support [NFS_FS] <*/M> SMB3 and CIFS support (advanced network filesystem) [CIFS] Recompile e instale o novo núcleo, se necessário. Instalação do "Autofs" Primeiro corrija um problema introduzido pela "glibc-2.36": grep -rl linux/fs modules | xargs sed -i "/linux\/fs/d" Instale Autofs executando os seguintes comandos: ./configure --prefix=/usr \ --with-mapdir=/etc/autofs \ --with-libtirpc \ --with-systemd \ --without-openldap \ --mandir=/usr/share/man && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Cuidado Se autofs já estiver instalado em seu sistema, [então] certifique-se de produzir cópia de segurança de seus arquivos de configuração. Eles serão sobrescritos pelo seguinte comando. Instale os arquivos padrão de configuração, ainda como o(a) usuário(a) root: make install_samples Explicações do Comando --with-libtirpc: Essa chave força o pacote a usar "libtirpc" para a funcionalidade "RPC" em vez de depender da implementação originária da "Glibc", que foi removida no LFS 8.1. --with-systemd: Essa chave habilita a instalação das unidades agrupadas do "systemd". --without-openldap: Essa chave desabilita o "openldap" se encontrado. Se o "openldap" for desejado, [então] omita essa chave. Observe que o suporte a "openldap" em "autofs" exige [3376]MIT Kerberos V5-1.21.2. Configurando "Autofs" Arquivos de Configuração /etc/sysconfig/autofs.conf, /etc/autofs/auto.master, /etc/autofs/auto.misc e /etc/autofs/auto.net Informação de Configuração O processo de instalação cria auto.master, auto.misc, auto.smb e auto.net. Substitua o arquivo auto.master pelos seguintes comandos como o(a) usuário(a) root: mv /etc/autofs/auto.master /etc/autofs/auto.master.bak && cat > /etc/autofs/auto.master << "EOF" # Início /etc/autofs/auto.master /media/auto /etc/autofs/auto.misc --ghost #/home /etc/autofs/auto.home # Fim /etc/autofs/auto.master EOF Esse arquivo cria um novo diretório de mídia, /media/auto que sobreporá qualquer diretório existente com o mesmo nome. Nesse exemplo, o arquivo, /etc/autofs/auto.misc, tem uma linha: cd -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom que montará um CDROM como /media/auto/cd se esse diretório for acessado. A opção --ghost diz ao montador automático para criar versões “ghost” (ou seja, diretórios vazios) de todos os pontos de montagem listados no arquivo de configuração, independentemente se algum dos sistemas de arquivos for realmente montado ou não. Isso é muito conveniente e altamente recomendado, porque mostrará os sistemas de arquivos montáveis automaticamente disponíveis como diretórios existentes, mesmo quando os sistemas de arquivos deles não estiverem montados atualmente. Sem a opção --ghost, você terá que se lembrar dos nomes dos diretórios. Assim que você tentar acessar um deles, o diretório será criado e o sistema de arquivos será montado. Quando o sistema de arquivos for desmontado novamente, o diretório também é destruído, a menos que a opção --ghost tenha sido fornecida. Nota Um método alternativo seria especificar outro local de montagem automática, como /var/lib/auto/cdrom, e criar um link simbólico a partir de /media/cdrom para o local de montagem automática. O arquivo auto.misc precisa ser configurado para seu hardware de trabalho. O arquivo de configuração carregado deveria carregar seu CDROM se /dev/cdrom estiver ativo ou pode ser editado para corresponder à configuração do seu dispositivo. Exemplos para disquetes estão disponíveis no arquivo e são facilmente ativados. A documentação para esse arquivo está disponível usando o comando man 5 autofs. Na segunda linha, se habilitada, um diretório inicial de usuário(a) seria montado via "NFS" no login. O /etc/home.auto precisaria existir e ter uma entrada semelhante a: joe exemplo.org:/export/home/joe onde o diretório /export/home/joe é exportado via "NFS" a partir do sistema "exemplo.org". Os compartilhamentos "NFS" são abordados na próxima página. Esse pacote também poderia ser usado para montar compartilhamentos "SMB", porém esse recurso não está configurado nessas instruções. Para informações adicionais de configuração, vejam-se as páginas de manual para auto.master(5). Existem também recursos da web, tais como este [3377]AUTOFS HOWTO, disponíveis. Unidade do systemd Para iniciar Autofs na inicialização, habilite a unidade do "systemd" instalada anteriormente executando o seguinte comando como o(a) usuário(a) root: systemctl enable autofs Nota Você também pode especificar a variável OPTIONS no arquivo /etc/sysconfig/autofs com quaisquer parâmetros adicionais que você queira passar para o processo de segundo plano de montagem automática. Conteúdo Aplicativo Instalado: automount Bibliotecas Instaladas: lookup_dir.so, lookup_file.so, lookup_files.so, lookup_hosts.so, lookup_ldap.so (opcional), lookup_multi.so, lookup_nis.so, lookup_program.so, lookup_userhome.so, lookup_yp.so, mount_afs.so, mount_autofs.so, mount_bind.so, mount_changer.so, mount_ext2.so, mount_ext3.so, mount_ext4.so, mount_generic.so, mount_nfs.so, mount_nfs4.so, parse_amd.so e parse_sun.so Diretórios Instalados: /usr/lib/autofs e /etc/autofs Descrições Curtas automount é o processo de segundo plano que realiza a montagem quando uma solicitação é feita para o dispositivo BlueZ-5.68 Introdução a "BlueZ" O pacote BlueZ contém a pilha de protocolos "Bluetooth" para Linux. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3378]https://www.kernel.org/pub/linux/bluetooth/bluez-5.68.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 00a72fed12e706b2d8bb40786154d3aa * Tamanho da transferência: 2,2 MB * Espaço em disco estimado exigido: 158 MB (com testes) * Tempo de construção estimado: 0,4 UPC (usando paralelismo = 4; com os testes) Dependências do "BlueZ" Exigidas [3379]dbus-1.14.8, [3380]GLib-2.76.4 e [3381]libical-3.0.16 Opcionais [3382]docutils-0.20.1 (para gerar páginas de manual) Configuração do Núcleo Se você estiver construindo esse pacote para usar dispositivos "bluetooth" (em vez de uma dependência de construção), [então] habilite as seguintes opções na configuração do núcleo, também as opções na seção “Cryptographic API” se você pretende executar os testes e recompile o núcleo, se necessário: General setup ---> # If it is disabled, [TIMERFD] and [EVENTFD] will be hidden and # enabled implicitly. We DO NOT recommend to enable [EXPERT] # unless you are really an expert user: [ /*] Configure standard kernel features (expert users) ---> [EXPERT] [*] Enable timerfd() system call [TIMERFD] [*] Enable eventfd() system call [EVENTFD] [*] Networking support ---> [NET] <*/M> Bluetooth subsystem support ---> [BT] [*] Bluetooth Classic (BR/EDR) features [BT_BREDR] <*/M> RFCOMM protocol support [BT_RFCOMM] [*] RFCOMM TTY support [BT_RFCOMM_TTY] <*/M> BNEP protocol support [BT_BNEP] [*] Multicast filter support [BT_BNEP_MC_FILTER] [*] Protocol filter support [BT_BNEP_PROTO_FILTER] <*/M> HIDP protocol support [BT_HIDP] Bluetooth device drivers ---> # Select the appropriate drivers for your bluetooth hardware. # There are more vendor-specific drivers not listed here: < /*/M> HCI USB driver [BT_HCIBTUSB] < /*/M> HCI SDIO driver [BT_HCIBTSDIO] < /*/M> HCI UART driver [BT_HCIUART] <*/M> RF switch subsystem support ---> [RFKILL] -*- Cryptographic API ---> [CRYPTO] Crypto core or helper ---> <*/M> Userspace cryptographic algorithm configuration [CRYPTO_USER] Block ciphers ---> <*/M> AES (Advanced Encryption Standard) [CRYPTO_AES] AEAD (authenticated encryption with associated data) ciphers ---> <*/M> CCM (Counter with Cipher Block Chaining-MAC) [CRYPTO_CCM] Hashes, digests, and MACs ---> <*/M> CMAC (Cipher-based MAC) [CRYPTO_CMAC] Userspace interface ---> <*/M> Hash algorithms [CRYPTO_USER_API_HASH] <*/M> Symmetric key cipher algorithms [CRYPTO_USER_API_SKCIPHER] <*/M> AEAD cipher algorithms [CRYPTO_USER_API_AEAD] Instalação do "BlueZ" Instale BlueZ executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --disable-manpages \ --enable-library && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install && ln -svf ../libexec/bluetooth/bluetoothd /usr/sbin Instale o principal arquivo de configuração como o(a) usuário(a) root: install -v -dm755 /etc/bluetooth && install -v -m644 src/main.conf /etc/bluetooth/main.conf Se desejado, [então] instale a documentação da "API" como o(a) usuário(a) root: install -v -dm755 /usr/share/doc/bluez-5.68 && install -v -m644 doc/*.txt /usr/share/doc/bluez-5.68 Explicações do Comando --disable-manpages: Essa chave desabilita a geração de páginas de manual por causa da dependência de 'rst2man' em "docutils". Remova essa chave se você tiver [3383]docutils-0.20.1 instalado e desejar gerar as páginas de manual. --enable-library: Essa chave habilita construir a biblioteca de compatibilidade BlueZ 4 que é exigida por alguns aplicativos. ln -svf ../libexec/bluetooth/bluetoothd /usr/sbin: Esse comando torna o acesso ao processo de segundo plano "bluetooth" mais conveniente. Configurando o "BlueZ" Arquivos de Configuração /etc/bluetooth/main.conf é instalado automaticamente durante a instalação. Além disso, existem dois arquivos de configuração suplementares. Você pode opcionalmente instalar os seguintes arquivos como o(a) usuário(a) root: cat > /etc/bluetooth/rfcomm.conf << "EOF" # Início rfcomm.conf # Configura a configuração "RFCOMM" do subsistema "Bluetooth" no núcleo Linux. # Usa uma linha por comando # Veja-se a página de manual do "rfcomm" para opções # Fim do rfcomm.conf EOF cat > /etc/bluetooth/uart.conf << "EOF" # Início uart.conf # Anexa dispositivos seriais via "UART HCI" à pilha "BlueZ" # Usa uma linha por dispositivo # Veja-se a página de manual do "hciattach" para opções # Fim do uart.conf EOF Serviços Bluez do Systemd Para iniciar o processo de segundo plano bluetoothd na inicialização, habilite a unidade do systemd instalada anteriormente executando o seguinte comando como o(a) usuário(a) root: systemctl enable bluetooth Para iniciar o processo de segundo plano obexd para uma sessão de usuário(a) (para suportar alguns aplicativos "Bluetooth" que o utilizam), habilite a unidade do "systemd" instalada anteriormente para todos(as) os(as) usuários(as) executando o seguinte comando como o(a) usuário(a) root: systemctl enable --global obex Nota Systemd iniciará o processo de segundo plano "Bluetooth" somente quando um dispositivo "bluetooth" for detectado no sistema. Conteúdo Aplicativos Instalados: bluemoon, bluetoothctl, bluetoothd (link simbólico), btattach, btmon, hex2hcd, l2ping, l2test, mpris-proxy e rctest Biblioteca Instalada: libbluetooth.so Diretórios Instalados: /etc/bluetooth, /usr/{include,libexec}/bluetooth e /usr/share/doc/bluez-5.68 Descrições Curtas bluemoon é um utilitário de configuração do "Bluemoon" bluetoothctl é o aplicativo interativo de controle do "Bluetooth" bluetoothd é o processo de segundo plano "Bluetooth" btmon fornece acesso à infraestrutura do monitor do subsistema "Bluetooth" para leitura de rastreamentos "HCI" hex2hcd é usado para converter um arquivo necessário para dispositivos "Broadcom" para o formato "hcd" ("Broadcom bluetooth firmware") l2ping é usado para enviar uma solicitação de eco "L2CAP" para o endereço "MAC" do "Bluetooth" fornecido em notação hexadecimal com pontos l2test é um aplicativo de teste "L2CAP" rctest é usado para testar as comunicações "RFCOMM" na pilha "Bluetooth" libbluetooth.so contém as funções de "API" do BlueZ 4 Bubblewrap-0.8.0 Introdução a "Bubblewrap" Bubblewrap é uma implementação "setuid" de espaços de nome de usuário(a), ou ambiente de testagem, que fornece acesso a um subconjunto de recursos do núcleo de espaço de nome de usuário(a). O "Bubblewrap" permite que os processos de propriedade do(a) usuário(a) executem em um ambiente isolado com acesso limitado ao sistema de arquivos subjacente. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3384]https://github.com/containers/bubblewrap/releases/download/v0 .8.0/bubblewrap-0.8.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: fc0e14bc26df76225e8f8cc2df9fb657 * Tamanho da transferência: 148 KB * Espaço em disco estimado exigido: 3,4 MB (com testes) * Tempo de construção estimado: menos que 0,1 UPC (com os testes) Dependências do "Bubblewrap" Opcionais [3385]libxslt-1.1.38 (para gerar páginas de manual) e [3386]libseccomp-2.5.4 (construído com ligações "python", para testes) Instalação do "Bubblewrap" Instale Bubblewrap executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Em seguida, se você deseja executar a suíte de teste, corrija um problema causado pela configuração mesclada do "/usr" no LFS: sed 's@symlink usr/lib64@ro-bind-try /lib64@' -i ../tests/libtest.sh Para testar os resultados, emita (como um(a) usuário(a) diferente do(a) usuário(a) root): ninja test Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. Configuração do Núcleo Quando esse pacote começou, o fluxo de desenvolvimento esperava que ele pudesse ser instalado suid-root. Isso foi há muito tempo; suid-root geralmente é considerado uma má ideia. Além dos espaços de nomes padrão, esse pacote exige que o espaço de nome opcional do(a) Usuário(a) esteja habilitado. Se isso ainda não tiver sido habilitado, selecione a seguinte opção na configuração do núcleo e recompile o núcleo: General setup ---> -*- Namespaces support ---> [NAMESPACES] [*] User namespace [USER_NS] Conteúdo Aplicativo Instalado: bwrap Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas bwrap gera um ambiente de testagem para um aplicativo executar dentro Colord-1.4.6 Introdução a "Colord" Colord é um serviço de sistema que facilita gerenciar, instalar e a gerar perfis de cores. Ele é usado principalmente pelo GNOME Color Manager para integração do sistema e uso quando nenhum(a) usuário(a) está logado. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3387]https://www.freedesktop.org/software/colord/releases/colord-1 .4.6.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 7dbdc807495890c13e8242385f4c641f * Tamanho da transferência: 1,8 MB * Espaço em disco estimado exigido: 32 MB (com os testes) * Tempo de construção estimado: 0,3 UPC (com os testes) Dependências do "Colord" Exigidas [3388]dbus-1.14.8, [3389]GLib-2.76.4, [3390]Little CMS-2.14, [3391]Polkit-123 e [3392]SQLite-3.42.0 Recomendadas [3393]gobject-introspection-1.76.1, [3394]libgudev-238, [3395]libgusb-0.4.6, [3396]Systemd-254 (tempo de execução) e [3397]Vala-0.56.11 Opcionais [3398]gnome-desktop-44.0 e [3399]colord-gtk-0.3.0 (para construir as ferramentas de exemplo), [3400]DocBook-utils-0.6.14, [3401]GTK-Doc-1.33.2, [3402]libxslt-1.1.38, [3403]SANE-1.0.32, [3404]ArgyllCMS e [3405]Bash Completion Instalação do "Colord" Deveria existir um(a) usuário(a) e um grupo dedicados para assumir o controle do processo de segundo plano "colord" após ele ser iniciado. Emita os seguintes comandos como o(a) usuário(a) root: groupadd -g 71 colord && useradd -c "Proprietário(a) do Processo de Segundo Plano de Cores" -d /var/lib/c olord -u 71 \ -g colord -s /bin/false colord Corrija uma liberação dupla que causa uma falha de construção no x86 de 32 bits e travamentos de tempo de execução com alguns monitores: sed '/cmsUnregisterPluginsTHR/d' -i lib/colord/cd-context-lcms.c Instale Colord executando os seguintes comandos: mkdir build && cd build && meson setup .. \ --prefix=/usr \ --buildtype=release \ -Ddaemon_user=colord \ -Dvapi=true \ -Dsystemd=true \ -Dlibcolordcompat=true \ -Dargyllcms_sensor=false \ -Dbash_completion=false \ -Ddocs=false \ -Dman=false && ninja Agora, como o(a) usuário(a) root: ninja install Para testar os resultados, emita: ninja test. Um teste, colord-self-test-daemon, falhará se o pacote já estiver instalado. A suíte de teste precisa ser executada com o "D-Bus Daemon" abrangente ao sistema em execução. Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Ddaemon_user=colord: Essa chave é usada de modo que o processo de segundo plano "colord" executará como um(a) usuário(a) sem privilégios em vez do(a) usuário(a) root. -Dvapi=true: Essa chave habilita construir as ligações Vala. Remova se você não tiver [3406]Vala-0.56.11 instalado. -Dsystemd=true: Essa chave habilita a instalação do serviço systemd. -Dlibcolordcompat=true: Essa chave habilita construir uma biblioteca de compatibilidade para pacotes mais antigos que usam Colord. -Dargyllcms_sensor=false: Essa chave desabilita o controlador do sensor "ArgLLCMS". Omita se você tiver [3407]ArgyllCMS instalado e desejar usá-lo. -Dbash_completion=false: Essa chave desabilita o suporte ao "Bash Completion" para aplicativos "Colord". -Ddocs=false: Essa chave desabilita a construção de documentação. Omita se você tiver [3408]GTK-Doc-1.33.2 disponível. -Dman=false: Essa chave desabilita a construção de páginas de manual. Omita se você tiver [3409]DocBook-utils-0.6.14 disponível. Versões de espaço de nomes das folhas de estilo "docbook-xsl" também são necessárias. Conteúdo Aplicativos Instalados: cd-create-profile, cd-fix-profile, cd-iccdump, cd-it8 e colormgr Bibliotecas Instaladas: libcolord.so, libcolordcompat.so, libcolordprivate.so e libcolorhug.so Diretórios Instalados: /usr/include/colord-1, /usr/lib/colord-{plugins,sensors}, /usr/share/color{d}, /usr/share/gtk-doc/html/colord e /var/lib/colord Descrições Curtas cd-create-profile é a "Color Manager Profile Creation Tool" cd-fix-profile é uma ferramenta usada para corrigir metadados em perfis "ICC" cd-iccdump despeja o conteúdo de um perfil "ICC" como texto legível por humanos cd-it8 é a "Color Manager Testing Tool" colormgr é um aplicativo em modo texto que te permite interagir com o "colord" na linha de comando libcolord.so contém as funções da "API" do Colord libcolordcompat.so contém funções de API herdadas para compatibilidade com aplicativos mais antigos libcolordprivate.so contém funções internas de "API" para os aplicativos incluídos com o Colord libcolorhug.so contém um colorímetro simples de hardware de exibição cpio-2.14 Introdução a "cpio" O pacote cpio contém ferramentas para arquivamento. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3410]https://ftp.gnu.org/gnu/cpio/cpio-2.14.tar.bz2 * Transferência (FTP): [3411]ftp://ftp.gnu.org/gnu/cpio/cpio-2.14.tar.bz2 * Soma de verificação MD5 da transferência: b153e1843561841d37190e48b891188d * Tamanho da transferência: 1,5 MB * Espaço em disco estimado exigido: 19 MB (com testes e documentos) * Tempo de construção estimado: 0,2 UPC (com testes e documentos) Dependências do "CPIO" Opcionais [3412]texlive-20230313 (ou [3413]install-tl-unx) Instalação do "cpio" Instale cpio executando os seguintes comandos: ./configure --prefix=/usr \ --enable-mt \ --with-rmt=/usr/libexec/rmt && make && makeinfo --html -o doc/html doc/cpio.texi && makeinfo --html --no-split -o doc/cpio.html doc/cpio.texi && makeinfo --plaintext -o doc/cpio.txt doc/cpio.texi Se você tiver [3414]texlive-20230313 instalado e desejar criar documentação em "PDF" ou "Postscript", [então] emita um ou ambos os seguintes comandos: make -C doc pdf && make -C doc ps Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install && install -v -m755 -d /usr/share/doc/cpio-2.14/html && install -v -m644 doc/html/* \ /usr/share/doc/cpio-2.14/html && install -v -m644 doc/cpio.{html,txt} \ /usr/share/doc/cpio-2.14 Se você criou documentação em "PDF" ou "Postscript", [então] instale-a emitindo os seguintes comandos como o(a) usuário(a) root: install -v -m644 doc/cpio.{pdf,ps,dvi} \ /usr/share/doc/cpio-2.14 Explicações do Comando --enable-mt: Esse parâmetro força a construção e instalação do aplicativo mt. --with-rmt=/usr/libexec/rmt: Esse parâmetro inibe a construção do aplicativo rmt, pois ele já é instalado pelo pacote Tar no LFS. Conteúdo Aplicativos Instalados: cpio e mt Bibliotecas Instaladas: Nenhuma Diretórios Instalados: /usr/share/doc/cpio-2.14 Descrições Curtas cpio copia arquivos de e para arquivamentos mt controla as operações da unidade de fita magnética cups-pk-helper-0.2.7 Introdução a "cups-pk-helper" O pacote cups-pk-helper contém um auxiliar PolicyKit usado para configurar o Cups com privilégios refinados. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3415]https://www.freedesktop.org/software/cups-pk-helper/releases/ cups-pk-helper-0.2.7.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 0cdadec9ea8f88b7fc7af8ca206da2bd * Tamanho da transferência: 56 KB * Espaço em disco estimado exigido: 5,3 MB * Tempo de construção estimado: 0,1 UPC Dependências do "cups-pk-helper" Exigidas [3416]Cups-2.4.6 e [3417]Polkit-123 Observações de Editor(a): [3418]https://wiki.linuxfromscratch.org/blfs/wiki/cups-pk-helper Instalação do "cups-pk-helper" Instale cups-pk-helper executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr .. && ninja Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: ninja install Conteúdo Aplicativos Instalados: cups-pk-helper-mechanism (executável da biblioteca) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) dbus-1.14.8 Introdução ao "D-Bus" Embora o D-Bus tenha sido construído no LFS, existem alguns recursos fornecidos pelo pacote que outros pacotes do BLFS precisam, mas as dependências deles não cabem no LFS. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3419]https://dbus.freedesktop.org/releases/dbus/dbus-1.14.8.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: da42f55aeec51b355587bc3062fc2d41 * Tamanho da transferência: 1,3 MB * Espaço em disco estimado exigido: 23 MB (adicionar 20 MB para os testes) * Tempo de construção estimado: 0,2 UPC (adicionar 1,6 UPC para testes) Dependências do "D-Bus" Recomendadas [3420]Bibliotecas do Xorg (para aplicativo dbus-launch) Opcionais [3421]Systemd-254 (para registrar serviços iniciados pelo processo de segundo plano de sessão D-Bus como serviços de usuário(a) systemd); Para os testes: [3422]D-Bus Python-1.3.2, [3423]PyGObject-3.44.1 e [3424]Valgrind-3.21.0; para documentação: [3425]Doxygen-1.9.7, [3426]xmlto-0.0.28, [3427]Ducktype e [3428]Yelp Tools Observações de Editor(a): [3429]https://wiki.linuxfromscratch.org/blfs/wiki/dbus Instalação do "D-Bus" Instale o D-Bus executando os seguintes comandos (você possivelmente revise a saída gerada a partir de ./configure --help primeiro e adicione quaisquer parâmetros desejados ao comando configure mostrado abaixo): ./configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --runstatedir=/run \ --enable-user-session \ --disable-doxygen-docs \ --disable-xml-docs \ --disable-static \ --docdir=/usr/share/doc/dbus-1.14.8 \ --with-system-socket=/run/dbus/system_bus_socket && make Veja-se abaixo para instruções de teste. Agora, como o(a) usuário(a) root: make install Se você estiver usando uma instalação "DESTDIR", [então] o dbus-daemon-launch-helper precisa ser corrigido posteriormente. Emita, como usuário(a) root: chown -v root:messagebus /usr/libexec/dbus-daemon-launch-helper && chmod -v 4750 /usr/libexec/dbus-daemon-launch-helper Muitos testes são desabilitados, a menos que [3430]D-Bus Python-1.3.2 e [3431]PyGObject-3.44.1 tenham sido instalados. Eles precisam ser executados como um(a) usuário(a) sem privilégios a partir de uma sessão local com endereço de barramento. Para executar os testes padrão, emita make check. Se você deseja executar os testes de regressão de unidade, [então] o "configure" exige parâmetros adicionais os quais expõem funcionalidades adicionais nos binários que não se destinam a serem usadas em uma construção de produção do D-Bus. Se você gostaria de executar os testes, [então] emita os seguintes comandos (para os testes, você não precisa construir os documentos): make distclean && PYTHON=python3 ./configure --enable-tests \ --enable-asserts \ --disable-doxygen-docs \ --disable-xml-docs && make && make check Existiram informes de que os testes possivelmente falhem se executados dentro de um "shell" do "Midnight Commander". Você possivelmente receba mensagens de erro de falta de memória ao executar os testes. Elas são normais e podem ser seguramente ignoradas. Explicações do Comando --disable-doxygen-docs: Essa chave desabilita a construção e instalação da documentação do "doxygen", se você tiver o doxygen instalado. Se doxygen estiver instalado e você desejar construí-la, [então] remova esse parâmetro. --disable-xml-docs: Essa chave desabilita a construção e instalação da documentação "HTML", se você tiver o xmlto instalado. Se xmlto estiver instalado e você desejar construí-la, [então] remova esse parâmetro. --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --enable-user-session: Esse parâmetro habilita sessões do DBus por usuário(a) com systemd. --with-system-pid-file=/run/dbus/pid: Esse parâmetro especifica o local do arquivo "PID". --with-system-socket=/run/dbus/system_bus_socket: Esse parâmetro especifica o local do soquete do barramento do sistema. --enable-tests: Constrói partes extras do código para suportar todos os testes. Não use em uma construção de produção. --enable-embedded-tests: Constrói partes extras do código para suportar somente testes de unidade. Não use em uma construção de produção. --enable-asserts: Habilita código de depuração para executar asserções para declarações normalmente presumidas serem verdadeiras. Isso evita um aviso que '--enable-tests' por si só é útil somente para perfilamento e pode não fornecer resultados verdadeiros para todos os testes, mas adiciona a própria OBSERVAÇÃO dele de que isso não deveria ser usado em uma construção de produção. Configurando o "D-Bus" Arquivos de Configuração /etc/dbus-1/session.conf, /etc/dbus-1/system.conf e /etc/dbus-1/system.d/* Informação de Configuração Os arquivos de configuração listados acima provavelmente não deveriam ser modificados. Se mudanças forem necessárias, [então] você deveria criar /etc/dbus-1/session-local.conf e(ou) /etc/dbus-1/system-local.conf e fazer quaisquer mudanças desejadas nesses arquivos. Se quaisquer pacotes instalarem um arquivo .service do D-Bus fora do diretório padrão /usr/share/dbus-1/services, esse diretório deveria ser adicionado à configuração local da sessão. Por exemplo, /usr/local/share/dbus-1/services pode ser adicionado realizando-se os seguintes comandos como o(a) usuário(a) root: cat > /etc/dbus-1/session-local.conf << "EOF" /usr/local/share/dbus-1/services EOF Processo de Segundo Plano de Sessão do "D-Bus" Existem muitos métodos que você pode usar para iniciar um processo de segundo plano de sessão usando o comando dbus-launch. Revise a página de manual do dbus-launch para detalhes a respeito dos parâmetros e opções disponíveis. Aqui estão algumas sugestões e exemplos: * Adicione dbus-launch à linha no arquivo ~/.xinitrc que inicia seu ambiente gráfico de área de trabalho. * Se você usar gdm ou algum outro gerenciador de tela que chame o arquivo ~/.xsession, [então] você pode adicionar dbus-launch à linha no seu arquivo ~/.xsession que inicia seu ambiente gráfico de área de trabalho. A sintaxe seria semelhante ao exemplo no arquivo ~/.xinitrc. * Os exemplos mostrados anteriormente usam dbus-launch para especificar um aplicativo a ser executado. Isso tem a vantagem (ao usar também o parâmetro --exit-with-x11) de parar o processo de segundo plano de sessão quando o aplicativo especificado for interrompido. Você também pode iniciar o processo de segundo plano de sessão em seus "scripts" de inicialização de sistema ou os pessoais, adicionando as seguintes linhas: # Inicia o processo de segundo plano de sessão do "D-Bus" eval `dbus-launch` export DBUS_SESSION_BUS_ADDRESS Esse método não parará o processo de segundo plano de sessão quando você sair do seu "shell"; portanto você deveria adicionar a seguinte linha ao seu arquivo ~/.bash_logout: # Mata o processo de segundo plano de sessão do "D-Bus" kill $DBUS_SESSION_BUS_PID Conteúdo Uma lista dos arquivos instalados, juntamente com as descrições curtas deles, pode ser encontrada em [3432]../../../../lfs/view/12.0-systemd/chapter08/dbus.html#contents-db us. Fcron-3.2.1 Introdução ao "Fcron" O pacote Fcron contém um agendador periódico de comandos que visa a substituir o Vixie Cron. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3433]http://fcron.free.fr/archives/fcron-3.2.1.src.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: bd4996e941a40327d11efc5e3fd1f839 * Tamanho da transferência: 587 KB * Espaço em disco estimado exigido: 5,1 MB * Tempo de construção estimado: 0,1 UPC Dependências do "Fcron" Opcionais Um [3434]MTA, [3435]editor de texto (o padrão é vi originário do pacote [3436]Vim-9.0.1677), [3437]Linux-PAM-1.5.3 e [3438]DocBook-utils-0.6.14 Instalação do "Fcron" Por razões de segurança, um(a) usuário(a) e um grupo sem privilégios para Fcron deveriam ser criados (realize como o(a) usuário(a) root): groupadd -g 22 fcron && useradd -d /dev/null -c "Usuário(a) Fcron" -g fcron -s /bin/false -u 22 fcron Agora corrija alguns locais codificados rigidamente na documentação: find doc -type f -exec sed -i 's:/usr/local::g' {} \; Instale Fcron executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --without-sendmail \ --with-piddir=/run \ --with-boot-install=no && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install A instalação "DESTDIR" precisa ser feita como usuário(a) root. Além disso, se os arquivos de configuração "PAM" devessem ser instalados em /etc/pam.d, [então] você tem de criar esse diretório no "DESTDIR" antes de fazer a instalação. Explicações do Comando --without-sendmail: Por padrão, Fcron tentará usar o comando sendmail originário de um pacote [3439]MTA para te comunicar os resultados do "script" fcron. Essa chave é usada para desabilitar a notificação padrão de mensagem eletrônica. Omita a chave para habilitar o padrão. Alternativamente, você pode usar o --with-sendmail= para usar um comando de comunicador diferente. --with-boot-install=no: Isso impede a instalação do "script" de inicialização incluído no pacote. --with-piddir=/run: Isso corrige a unidade do "systemd" para usar o diretório apropriado para arquivos "PID", de modo que o "systemctl" não trave e a unidade inicie corretamente. --with-editor=: Essa chave te permite configurar o editor padrão de texto. --with-dsssl-dir=: Possivelmente seja usado se você tiver [3440]DocBook-utils-0.6.14 instalado. Atualmente, as folhas de estilo "dsssl" estão localizadas em /usr/share/sgml/docbook/dsssl-stylesheets-1.79. Configurando o "Fcron" Arquivos de Configuração /etc/fcron.conf, /etc/fcron.allow e /etc/fcron.deny Informação de Configuração Não existem modificações necessárias em nenhum dos arquivos de configuração. As informações de configuração podem ser encontradas na página de manual do fcron.conf. Scripts fcron são escritos usando fcrontab. Consulte a página de manual do fcrontab para os parâmetros adequados para endereçar sua situação. Se Linux-PAM estiver instalado, [então] dois arquivos de configuração do "PAM" serão instalados em /etc/pam.d. Alternativamente, se /etc/pam.d não for usado, [então] a instalação anexará duas seções de configuração ao arquivo /etc/pam.conf existente. Você deveria garantir que os arquivos correspondam às suas preferências. Modifique-os conforme necessário para atender às suas necessidades. Tarefas Periódicas Se você gostaria de configurar uma hierarquia periódica para o(a) usuário(a) "root", [então] primeiro emita os seguintes comandos (como o(a) usuário(a) root) para criar o "script" /usr/bin/run -parts: cat > /usr/bin/run-parts << "EOF" && #!/bin/sh # run-parts: Executa todos os scripts encontrados em um diretório. # Originário do "Slackware", por Patrick J. Volkerding com ideias advindas # das versões "Red Hat" e "Debian" desse utilitário. # Continue quando algo falhar set +e if [ $# -lt 1 ]; then echo "Uso: run-parts " exit 1 fi if [ ! -d $1 ]; then echo "Não é um diretório: $1" echo "Uso: run-parts " exit 1 fi # Existem vários tipos de arquivos que gostaríamos de # ignorar automaticamente, pois provavelmente serão cópias de segurança # de outros scripts: IGNORE_SUFFIXES="~ ^ , .bak .new .rpmsave .rpmorig .rpmnew .swp" # Principal loop: for SCRIPT in $1/* ; do # Se este não for um arquivo normal, pule-o: if [ ! -f $SCRIPT ]; then continue fi # Determine se este arquivo deveria ser ignorado pelo sufixo: SKIP=false for SUFFIX in $IGNORE_SUFFIXES ; do if [ ! "$(basename $SCRIPT $SUFFIX)" = "$(basename $SCRIPT)" ]; then SKIP=true break fi done if [ "$SKIP" = "true" ]; then continue fi # Se chegamos até aqui, [então] execute o script se for executável: if [ -x $SCRIPT ]; then $SCRIPT || echo "$SCRIPT falhou." fi done exit 0 EOF chmod -v 755 /usr/bin/run-parts Em seguida, crie o esquema do diretório para os tarefas periódicas (novamente como o(a) usuário(a) root): install -vdm754 /etc/cron.{hourly,daily,weekly,monthly} Finalmente, adicione o run-parts ao "fcrontab" do sistema (enquanto ainda o(a) usuário(a) root): cat > /var/spool/fcron/systab.orig << "EOF" &bootrun 01 * * * * root run-parts /etc/cron.hourly &bootrun 02 4 * * * root run-parts /etc/cron.daily &bootrun 22 4 * * 0 root run-parts /etc/cron.weekly &bootrun 42 4 1 * * root run-parts /etc/cron.monthly EOF Unidade do "systemd" Habilite o fcron para iniciar na inicialização usando a unidade do "systemd" instalada anteriormente. systemctl enable fcron Finalmente, novamente como o(a) usuário(a) root, inicie o "fcron" e gere o arquivo /var/spool/fcron/systab: systemctl start fcron && fcrontab -z -u systab Conteúdo Aplicativos Instalados: fcron, fcrondyn, fcronsighup e fcrontab Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/share/doc/fcron-3.2.1 e /var/spool/fcron Descrições Curtas fcron é o processo de segundo plano de agendamento fcrondyn é uma ferramenta de usuário(a) destinada a interagir com um processo de segundo plano fcron em execução fcronsighup instrui o fcron a reler as tabelas do Fcron fcrontab é um aplicativo usado para instalar, editar, listar e remover as tabelas usadas pelo fcron GPM-1.20.7 Introdução ao "GPM" O pacote GPM (processo de segundo plano "General Purpose Mouse") contém um servidor de mouse para o console e xterm. Ele não apenas fornece suporte para recortar e colar em geral, mas o componente de biblioteca dele é usado por vários softwares, como Links, para fornecer suporte de mouse para o aplicativo. É útil em áreas de trabalho, especialmente se seguir as instruções do (Beyond) Linux From Scratch; frequentemente é muito mais fácil (e menos sujeito a erros) recortar e colar entre duas janelas do console que digitar tudo manualmente! Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3441]https://anduin.linuxfromscratch.org/BLFS/gpm/gpm-1.20.7.tar.b z2 * Transferência (FTP): [3442]ftp://anduin.linuxfromscratch.org/BLFS/gpm/gpm-1.20.7.tar.bz2 * Soma de verificação MD5 da transferência: bf84143905a6a903dbd4d4b911a2a2b8 * Tamanho da transferência: 820 KB * Espaço em disco estimado exigido: 7,4 MB * Tempo de construção estimado: 0,1 UPC Transferências Adicionais * Remendo exigido: [3443]https://www.linuxfromscratch.org/patches/blfs/12.0/gpm-1.20.7 -consolidated-1.patch Observações de Editor(a): [3444]https://wiki.linuxfromscratch.org/blfs/wiki/GPM Configuração do Núcleo Habilite a seguinte opção na configuração do núcleo e recompile o núcleo se necessário: Device Drivers ---> Input device support ---> -*- Generic input layer (needed for keyboard, mouse, ...) [INPUT] <*/M> Mouse interface [INPUT_MOUSEDEV] Instalação do "GPM" Instale GPM executando os seguintes comandos: patch -Np1 -i ../gpm-1.20.7-consolidated-1.patch && ./autogen.sh && ./configure --prefix=/usr --sysconfdir=/etc && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install && install-info --dir-file=/usr/share/info/dir \ /usr/share/info/gpm.info && rm -fv /usr/lib/libgpm.a && ln -sfv libgpm.so.2.1.0 /usr/lib/libgpm.so && install -v -m644 conf/gpm-root.conf /etc && install -v -m755 -d /usr/share/doc/gpm-1.20.7/support && install -v -m644 doc/support/* \ /usr/share/doc/gpm-1.20.7/support && install -v -m644 doc/{FAQ,HACK_GPM,README*} \ /usr/share/doc/gpm-1.20.7 Explicações do Comando ./autogen.sh: Esse comando cria o ausente script configure. install-info ...: Esse pacote instala um arquivo .info, mas não atualiza o arquivo dir do sistema. Esse comando faz a atualização. ln -v -sfn libgpm.so.2.1.0 /usr/lib/libgpm.so: Esse comando é usado para criar (ou atualizar) o link simbólico .so para a biblioteca. Configurando o "GPM" Unidade do systemd Para iniciar o processo de segundo plano gpm na inicialização, instale a unidade do "systemd" a partir do pacote [3445]blfs-systemd-units-20230816 executando o seguinte comando como o(a) usuário(a) root: make install-gpm Arquivos de Configuração /etc/gpm-root.conf e ~/.gpm-root: Os arquivos de configuração gpm-root padrão e de usuário(a) individual. Informação de Configuração GPM é iniciado por padrão com os seguintes parâmetros: -m /dev/input/mice -t imps2. Se os parâmetros mencionados não atenderem às suas necessidades, [então] você pode substituí-los executando os seguintes comandos como o(a) usuário(a) root: install -v -dm755 /etc/systemd/system/gpm.service.d && cat > /etc/systemd/system/gpm.service.d/99-user.conf << EOF [Service] ExecStart=/usr/sbin/gpm EOF Conteúdo Aplicativos Instalados: disable-paste, display-buttons, display-coords, get-versions, gpm, gpm-root, hltest, mev e mouse-test Biblioteca Instalada: libgpm.so Diretório Instalado: /usr/share/doc/gpm-1.20.7 Descrições Curtas disable-paste é um mecanismo de segurança usado para desabilitar o "buffer" de colagem display-buttons é um aplicativo simples que informa os botões do mouse sendo pressionados e liberados display-coords é um aplicativo simples que informa as coordenadas do mouse get-versions é usado para informar as versões da biblioteca GPM e do servidor gpm é um utilitário de recortar e colar e servidor de mouse para consoles virtuais gpm-root é um manuseador padrão para gpm. É usado para desenhar menus na janela raiz hltest é um aplicativo de exemplo simples que usa a biblioteca de alto nível, destinado a ser lido por programadores(as) que tentam usar a biblioteca de alto nível mev é um aplicativo para informar eventos de mouse mouse-test é uma ferramenta para determinar o tipo de mouse e o dispositivo ao qual está conectado libgpm.so contém as funções da "API" para acessar o processo de segundo plano GPM Hdparm-9.65 Introdução ao "Hdparm" O pacote Hdparm contém um utilitário que é útil para obter informações e controlar controladores "ATA"/"IDE" e unidades rígidas. Permite aumentar o desempenho e, às vezes, aumentar a estabilidade. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Atenção Além de ser útil, o uso incorreto do Hdparm pode destruir suas informações e, em casos raros, unidades. Use com cuidado e certifique-se de saber o que está fazendo. Se em dúvida, [então] é recomendado que você deixe os parâmetros padrão do núcleo em paz. Informação do Pacote * Transferência (HTTP): [3446]https://downloads.sourceforge.net/hdparm/hdparm-9.65.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 6d6d039d61ec995b1ec72ddce0b1853b * Tamanho da transferência: 140 KB * Espaço em disco estimado exigido: 1,0 MB * Tempo de construção estimado: menos que 0,1 UPC Instalação do "Hdparm" Construa o Hdparm executando o seguinte comando: make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make binprefix=/usr install Conteúdo Aplicativo Instalado: hdparm Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas hdparm fornece uma interface de linha de comando para vários "ioctls" de disco rígido suportados pelo subsistema padrão de controlador de dispositivo "ATA"/"IDE" do Linux LSB-Tools-0.10 Introdução ao "LSB-Tools" O pacote LSB-Tools inclui ferramentas para conformidade com "Linux Standards Base" (LSB). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3447]https://github.com/lfs-book/LSB-Tools/releases/download/v0.10 /LSB-Tools-0.10.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 846c7ee94989c7d48d386c875dbd1d9f * Tamanho da transferência: 19 KB * Espaço em disco estimado exigido: 428 KB * Tempo de construção estimado: menos que 0,1 UPC Instalação do "LSB-Tools" Instale LSB-Tools executando os seguintes comandos: python3 setup.py build Agora, como o(a) usuário(a) root: python3 setup.py install --optimize=1 Informação de Configuração A configuração para esse pacote foi feita no [3448]LFS e no [3449]Systemd. O arquivo /etc/lsb-release já deveria existir. Certifique-se de que a entrada "DISTRIB_CODENAME" tenha sido configurada adequadamente. Conteúdo Aplicativos Instalados: lsb_release, install_initd e remove_initd Biblioteca Instalada: Nenhuma Diretórios Instalados: /usr/lib/lsb e /usr/lib/python3.11/site-packages/lsbtools Descrições Curtas lsb_release é um script para fornecer dados "LSB" install_initd é um script para ativar scripts de inicialização do "SysV" remove_initd é um script para desativar scripts de inicialização do "SysV" Lm-sensors-3-6-0 Introdução ao "Lm_sensors" O pacote lm_sensors fornece suporte de espaço de usuário(a) para os controladores de monitoramento de hardware no núcleo Linux. Isso é útil para monitorar a temperatura da "CPU" e ajustar o desempenho de alguns hardwares (como ventiladores de resfriamento). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3450]https://github.com/lm-sensors/lm-sensors/archive/V3-6-0/lm-se nsors-3-6-0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: f60e47b5eb50bbeed48a9f43bb08dd5e * Tamanho da transferência: 268 KB * Espaço em disco estimado exigido: 2,6 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "lm_sensors" Exigidas [3451]Which-2.21 Opcionais [3452]RRDtool (exigido para construir o aplicativo sensord) e [3453]dmidecode (tempo de execução) Configuração do Núcleo As opções de configuração a seguir tentam abranger os dispositivos de monitoramento de hardware mais comuns em um sistema típico de área de trabalho ou laptop. Veja-se a ajuda de cada uma (pressionando o botão H com a opção focada em make menuconfig) para saber se você precisa dela. Existem muitos dispositivos de monitoramento de hardware específicos da plataforma, de forma que é impossível listar a configuração de todos eles aqui. Você pode investigar o conteúdo de /sys/class/hwmon dentro de uma distribuição “mainstream” em execução no sistema para saber quais controladores você precisa. Power management and ACPI options ---> [*] ACPI (Advanced Configuration and Power Interface) Support ---> [ACPI] < /*/M> Battery [ACPI_BATTERY] < /*/M> Thermal Zone [ACPI_THERMAL] Device Drivers ---> NVME Support ---> < /*> NVM Express block device [BLK_DEV_NVME] # Set [HWMON] to <*> (not !) or it will not show up: [ /*] NVMe hardware monitoring [NVME_HWMON] <*/M> Hardware Monitoring support ---> [HWMON] < /*/M> AMD Athlon64/FX or Opteron temperature sensor [SENSORS_K8TEMP] < /*/M> AMD Family 10h+ temperature sensor [SENSORS_K10TEMP] < /*/M> AMD Family 15h processor power [SENSORS_FAM15H_POWER] < /*/M> Intel Core/Core2/Atom temperature sensor [SENSORS_CORETEMP] Recompile teu núcleo e reinicialize no novo núcleo. Instalação do "Lm_sensors" Instale Lm_sensors executando os seguintes comandos: make PREFIX=/usr \ BUILD_STATIC_LIB=0 \ MANDIR=/usr/share/man Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make PREFIX=/usr \ BUILD_STATIC_LIB=0 \ MANDIR=/usr/share/man install && install -v -m755 -d /usr/share/doc/lm_sensors-3-6-0 && cp -rv README INSTALL doc/* \ /usr/share/doc/lm_sensors-3-6-0 Explicações do Comando BUILD_STATIC_LIB=0: Esse parâmetro desabilita a compilação e instalação da versão estática da libsensors. PROG_EXTRA=sensord: Esse parâmetro habilita compilar o sensord, um processo de segundo plano que consegue monitorar seu sistema em intervalos regulares. Compilar o sensord exige [3454]RRDtool. Certifique-se de instalar o "RRDtool" em /usr executando make prefix=/usr ao construí-lo. Caso contrário, "Lm_sensors" não o encontrará facilmente. Configurando o "Lm_sensors" Arquivo de Configuração /etc/sensors3.conf Conteúdo Aplicativos Instalados: fancontrol, isadump, isaset, pwmconfig, sensors, sensors-conf-convert, sensors-detect e, opcionalmente, sensord Biblioteca Instalada: libsensors.so Diretórios Instalados: /etc/sensors.d, /usr/include/sensors e /usr/share/doc/lm_sensors-3-6-0 Descrições Curtas fancontrol é um script de shell para uso com lm_sensors. Ele lê a configuração dele a partir de um arquivo, então calcula velocidades do ventilador a partir das temperaturas e configura as correspondentes saídas geradas de "PWM" para os valores computados isadump é um pequeno aplicativo auxiliar para examinar registros visíveis por meio do barramento "ISA". Destina-se a testar qualquer chip que resida no barramento "ISA" trabalhando com um registrador de endereços e um registrador de dados (acesso tipo "I2C") ou um intervalo plano (de até 256 bytes) isaset é um pequeno aplicativo auxiliar para configurar registros visíveis por meio do barramento "ISA" pwmconfig testa as saídas geradas de modulação por largura de pulso ("PWM") dos sensores e configura o controle do ventilador sensors imprime as leituras atuais de todos os "chips" sensores sensors-conf-convert é um script Perl para converter arquivos de configuração de versão 2 do lm-sensors para funcionar com a versão 3 sensors-detect é um script Perl que te guiará ao longo do processo de varredura de seu sistema em busca de vários "chips" de monitoramento de hardware (sensores) suportados pela libsensors, ou mais geralmente pelo conjunto de ferramentas lm_sensors sensord (opcional) é um processo de segundo plano que consegue ser usado para registrar periodicamente as leituras do sensor libsensors.so contém as funções da "API" do lm_sensors Logrotate-3.21.0 Introdução ao "Logrotate" O pacote logrotate permite rotação, compressão, remoção e envio automático de arquivos de registro. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3455]https://github.com/logrotate/logrotate/releases/download/3.21 .0/logrotate-3.21.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 6c15f45efc3475a576c4f7e6cc481b2c * Tamanho da transferência: 164,5 KB * Espaço em disco estimado exigido: 2,9 MB (adicionar 38 MB para os testes) * Tempo de construção estimado: menos que 0,1 UPC (adicionar 0,2 UPC para os testes) Dependências do "Logrotate" Exigidas [3456]popt-1.19 Opcionais Um [3457]MTA (tempo de execução) Instalação do "Logrotate" Instale logrotate executando o seguinte comando: ./configure --prefix=/usr && make Para testar os resultados, emita: make test. Um teste falha porque o muito antigo compress não está presente e dois testes falham se um "MTA" não estiver instalado. Agora, como o(a) usuário(a) root: make install Configurando o "Logrotate" Logrotate precisa de um arquivo de configuração, o qual precisa ser passado como um argumento para o comando quando executado. Crie o arquivo como o(a) usuário(a) root: cat > /etc/logrotate.conf << EOF # Começo /etc/logrotate.conf # Rotacione os arquivos de registro semanalmente weekly # Não envie registros para ninguém nomail # Se o arquivo de registro estiver vazio, [então] ele não será rotacionado notifempty # Número de cópias de segurança que serão mantidas # Isto manterá somente as duas cópias de segurança mais recentes rotate 2 # Crie novos arquivos vazios depois de rotacionar os antigos # Isto criará arquivos de registro vazios, com o(a) proprietário(a) # configurado como "root", grupo configurado como "sys" e permissões 664 create 0664 root sys # Comprime as cópias de segurança com o "gzip" compress # Nenhum pacote possui "lastlog" ou "wtmp" - rotacione-os aqui /var/log/wtmp { monthly create 0664 root utmp rotate 1 } /var/log/lastlog { monthly rotate 1 } # Alguns pacotes colocam informações de rotação de registro neste diretório # de forma que incluímos qualquer arquivo nele. include /etc/logrotate.d # Fim /etc/logrotate.conf EOF chmod -v 0644 /etc/logrotate.conf Agora crie o diretório /etc/logrotate.d como o(a) usuário(a) root: mkdir -p /etc/logrotate.d Neste ponto, comandos adicionais de rotação de registro conseguem ser inseridos, normalmente no diretório /etc/logrotate.d. Por exemplo: cat > /etc/logrotate.d/sys.log << EOF /var/log/sys.log { # Se o arquivo de registro for maior que 100 KB, [então] rotacione-o size 100k rotate 5 weekly postrotate /bin/killall -HUP syslogd endscript } EOF chmod -v 0644 /etc/logrotate.d/sys.log Você consegue designar vários arquivos em uma entrada: cat > /etc/logrotate.d/example.log << EOF file1 file2 file3 { ... postrotate ... endscript } EOF chmod -v 0644 /etc/logrotate.d/example.log Você consegue usar na mesma linha a lista de arquivos: arquivo1 arquivo2 arquivo3. Veja-se a página de manual do "logrotate" ou [3458]https://www.techrepublic.com/article/manage-linux-log-files-with- logrotate/ para mais exemplos. O comando logrotate /etc/logrotate.conf pode ser executado manualmente, porém o comando deveria ser executado diariamente. Outros comandos úteis são logrotate -d /etc/logrotate.conf para fins de depuração e logrotate -f /etc/logrotate.conf forçando os comandos do "logrotate" a serem executados imediatamente. Combinando as opções anteriores -df, você consegue depurar o efeito do comando "force". Durante a depuração, os comandos são somente simulados e não são realmente executados. Como resultado, erros a respeito de arquivos inexistentes aparecerão eventualmente porque os arquivos não foram realmente criados. Para executar o comando logrotate diariamente, execute os seguintes comandos, como o(a) usuário(a) root, para criar um cronômetro do "systemd" para executar diariamente às 3h (hora local): cat > /usr/lib/systemd/system/logrotate.service << "EOF" && [Unit] Description=Executa o comando "logrotate" Documentation=man:logrotate(8) DefaultDependencies=no After=local-fs.target Before=shutdown.target [Service] Type=oneshot RemainAfterExit=yes ExecStart=/usr/sbin/logrotate /etc/logrotate.conf EOF cat > /usr/lib/systemd/system/logrotate.timer << "EOF" && [Unit] Description=Executa o comando "logrotate" diariamente as 3:00 AM [Timer] OnCalendar=*-*-* 3:00:00 Persistent=true [Install] WantedBy=timers.target EOF systemctl enable logrotate.timer Conteúdo Aplicativos Instalados: logrotate Biblioteca Instalada: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas logrotate realiza as funções de manutenção do registro definidas nos arquivos de configuração MC-4.8.30 Introdução ao "MC" MC (Midnight Commander) é um gerenciador de arquivos em tela cheia em modo texto e shell visual. Ele fornece uma interface clara, amigável e um tanto protegida para um sistema Unix, ao mesmo tempo que torna muitas operações frequentes de arquivos mais eficientes e preserva todo o poder do prompt de comando. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3459]http://ftp.midnight-commander.org/mc-4.8.30.tar.xz * Transferência (FTP): [3460]ftp://ftp.osuosl.org/pub/midnightcommander/mc-4.8.30.tar.xz * Soma de verificação MD5 da transferência: 96fcd04710b7848fedea8597da4bd7da * Tamanho da transferência: 2,3 MB * Espaço em disco estimado exigido: 75 MB (adicionar 86 MB para testes) * Tempo de construção estimado: 0,3 UPC (usando paralelismo=4; adicionar 0,2 UPC para os testes) Dependências do "MC" Exigidas [3461]GLib-2.76.4 Recomendadas [3462]slang-2.3.3 Opcionais [3463]Doxygen-1.9.7, [3464]GPM-1.20.7, [3465]Graphviz-8.1.0, [3466]libssh2-1.11.0, [3467]PCRE-8.45, [3468]pcre2-10.42, [3469]Ruby-3.2.2, [3470]UnZip-6.0, [3471]um ambiente gráfico e [3472]Zip-3.0 Instalação do "MC" Instale MC executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc \ --enable-charset && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Explicações do Comando --sysconfdir=/etc: Essa chave coloca o diretório global de configuração em /etc. --enable-charset: Essa chave adiciona suporte ao mcedit para edição de arquivos em codificações diferentes daquela implícita na localidade atual. --with-search-engine=pcre2: Use essa chave se você preferisse usar [3473]pcre2-10.42 em vez de GLib para o mecanismo de pesquisa integrado . Alternativamente, você pode passar 'pcre' em vez de 'pcre2' se preferir usar [3474]PCRE-8.45. Configurando o "MC" Arquivos de Configuração ~/.config/mc/* Informação de Configuração O diretório ~/.config/mc e o conteúdo dele são criados quando você inicia o mc pela primeira vez. Então você pode editar o arquivo de configuração principal ~/.config/mc/ini manualmente ou por meio do shell MC. Consulte a página de manual do mc(1) para detalhes. Conteúdo Aplicativos Instalados: "mc" e os links simbólicos "mcdiff", "mcedit" e "mcview" Bibliotecas Instaladas: Nenhuma Diretórios Instalados: /etc/mc e /usr/{libexec,share}/mc Descrições Curtas mc é um shell visual mcdiff é uma ferramenta interna visual de comparação mcedit é um editor interno de arquivos mcview é um visualizador interno de arquivos ModemManager-1.18.12 Introdução ao "ModemManager" ModemManager fornece uma API unificada de alto nível para comunicação com modems de banda larga móvel, independentemente do protocolo usado para comunicação com o dispositivo real. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3475]https://www.freedesktop.org/software/ModemManager/ModemManage r-1.18.12.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 9f014dfc59f1bd8bc230bb2c2974d104 * Tamanho da transferência: 2,5 MB * Espaço em disco estimado exigido: 155 MB (com os testes) * Tempo de construção estimado: 0,7 UPC (Usando paralelismo=4; com os testes) Dependências do "ModemManager" Exigidas [3476]libgudev-238 Recomendadas [3477]gobject-introspection-1.76.1, [3478]libmbim-1.26.4, [3479]libqmi-1.30.8, [3480]Polkit-123 e [3481]Vala-0.56.11 Opcionais [3482]GTK-Doc-1.33.2 Observações de Editor(a): [3483]https://wiki.linuxfromscratch.org/blfs/wiki/ModemManager Instalação do "ModemManager" Instale ModemManager executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --disable-static \ --disable-maintainer-mode \ --with-systemd-journal \ --with-systemd-suspend-resume && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Explicações do Comando --with-systemd-suspend-resume: Essa chave força o ModemManager a usar os recursos de gerenciamento de energia do systemd. --with-systemd-journal : Essa chave força o ModemManager a usar o diário do "systemd" para registro. --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --enable-gtk-doc: Use esse parâmetro se GTK-Doc estiver instalado e você desejar reconstruir e instalar a documentação da API. Configurando o "ModemManager" Unidades do "systemd" Para iniciar o processo de segundo plano ModemManager na inicialização, habilite a unidade do systemd instalada anteriormente executando o seguinte comando como o(a) usuário(a) root: systemctl enable ModemManager Conteúdo Aplicativos Instalados: mmcli e ModemManager Bibliotecas Instaladas: libmm-glib.so Diretórios Instalados: /etc/ModemManager, /usr/include/libmm-glib, /usr/include/ModemManager, /usr/lib/ModemManager, /usr/share/ModemManager, /usr/share/gtk-doc/html/libmm-glib (opcional) e /usr/share/gtk-doc/html/ModemManager (opcional) Descrições Curtas mmcli é um utilitário usado para controlar e monitorar o ModemManager ModemManager é um serviço do D-Bus usado para se comunicar com modems libmm-glib.so contém funções de "API" para comunicação com modems de banda larga móvel, independentemente do protocolo usado para comunicação com o dispositivo real notification-daemon-3.20.0 Introdução ao "Notification Daemon" O pacote Notification Daemon contém um processo de segundo plano que exibe notificações "pop-up" passivas. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3484]https://download.gnome.org/sources/notification-daemon/3.20/n otification-daemon-3.20.0.tar.xz * Transferência (FTP): [3485]ftp://ftp.acc.umu.se/pub/gnome/sources/notification-daemon/3. 20/notification-daemon-3.20.0.tar.xz * Soma de verificação MD5 da transferência: 2de7f4075352831f1d98d8851b642124 * Tamanho da transferência: 336 KB * Espaço em disco estimado exigido: 4,1 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "Notification Daemon" Exigidas [3486]GTK+-3.24.38 e [3487]libcanberra-0.30 (Construído com suporte a [3488]GTK+-3.24.38). Instalação do "Notification Daemon" Instale o Notification Daemon executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc \ --disable-static && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Você consegue testar o processo de segundo plano de notificação com o comando notify-send: pgrep -l notification-da && notify-send -i info Information "Olá ${USER}, Isto é um Teste" O comando pgrep -l notification-da é adicionado para garantir que é o processo de segundo plano desse pacote que está executando, e não outro, por exemplo. o processo de segundo plano oriundo de [3489]xfce4-notifyd-0.8.2. Conteúdo Aplicativo Instalado: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretório Instalado: Nenhum(a) p7zip-17.04 Introdução ao "p7zip" p7zip é a versão de linha de comando do Unix do "7-Zip", um arquivador de arquivos que arquiva com altas taxas de compressão. Ele manuseia os formatos 7z, ZIP, GZIP, Brotli, BZIP2, XZ, TAR, APM, ARJ, CAB, CHM, CPIO, CramFS, DEB, DMG, FAT, HFS, ISO, Lizard, LZ5, LZFSE, LZH, LZMA, LZMA2, MBR, MSI, MSLZ, NSIS, NTFS, RAR, RPM, SquashFS, UDF, VHD, WIM, XAR, Z e Zstd. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3490]https://github.com/p7zip-project/p7zip/archive/v17.04/p7zip-1 7.04.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 00acfd6be87848231722d2d53f89e4a5 * Tamanho da transferência: 6,5 MB * Espaço em disco estimado exigido: 55 MB * Tempo de construção estimado: 2,3 UPC (com os testes) Dependências do "p7zip" Opcionais [3491]wxWidgets Instalação do "p7zip" Primeiro, evite que o p7zip instale páginas de manual comprimidas: sed '/^gzip/d' -i install.sh Em seguida, corrija uma vulnerabilidade de segurança: sed -i '160a if(_buffer == nullptr || _size == _pos) return E_FAIL;' CPP/7zip/Co mmon/StreamObjects.cpp Instale p7zip executando os seguintes comandos: make all3 Para testar os resultados, emita: make test. Agora, como o(a) usuário(a) root: make DEST_HOME=/usr \ DEST_MAN=/usr/share/man \ DEST_SHARE_DOC=/usr/share/doc/p7zip-17.04 install Nota Se usar técnicas "DESTDIR", [então] use "DEST_DIR" invés. Conteúdo Aplicativos Instalados: 7z, 7za e 7zr Bibliotecas Instaladas: Nenhuma Diretório Instalado: /usr/lib/p7zip e /usr/share/doc/p7zip-17.04 Descrições Curtas 7z é um utilitário de arquivador de arquivos 7za é um executável independente que lida com menos formatos de arquivamento que 7z 7zr é uma versão mínima do 7za que lida somente com arquivamentos "7z" Pax-20201030 Introdução ao "Pax" pax é um utilitário de arquivamento criado pelo "POSIX" e definido pelo padrão "POSIX.1-2001". Em vez de resolver as opções incompatíveis que surgiram entre tar e cpio, juntamente com as implementações deles em várias versões do UNIX, o "IEEE" projetou um novo utilitário de arquivamento. O nome “pax” é um acrônimo para "Portable Archive Exchange". Além disso, “pax” significa “paz” em latim, de forma que o nome dele implica que deve criar a paz entre os(as) apoiadores(as) do formato tar e do cpio. A invocação de comandos e a estrutura de comandos são, de certa forma, uma unificação de ambos, tar e cpio. Tem sido exigido que o pax esteja presente em sistemas compatíveis com a "LSB" desde a versão 3.0 da "LSB". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3492]http://www.mirbsd.org/MirOS/dist/mir/cpio/paxmirabilis-202010 30.tgz * Transferência (FTP): * Soma de verificação MD5 da transferência: 87a0a3870ec437c41eb1b406334fe2c5 * Tamanho da transferência: 172 KB * Espaço em disco estimado exigido: 1,2 MB * Tempo de construção estimado: menos que 0,1 UPC Instalação do "Pax" Instale o "pax" executando os seguintes comandos:. Nota Esse pacote expande para o diretório pax. bash Build.sh Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: Nota Esse pacote também cria links rígidos a partir do pax para os aplicativos cpio e tar no diretório de construção. Os(As) editores(as) do LFS não recomendam que eles sejam instalados, pois sobrescreverão as versões "GNU" desses aplicativos. install -v pax /usr/bin && install -v -m644 pax.1 /usr/share/man/man1 Conteúdo Aplicativo Instalado: pax Descrições Curtas pax copia arquivos de e para arquivamentos em vários formatos pciutils-3.10.0 Introdução ao "PCI Utils" O pacote PCI Utils contém um conjunto de aplicativos para listar dispositivos "PCI", inspecionar a situação deles e configurar os registros de configuração deles. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3493]https://mj.ucw.cz/download/linux/pci/pciutils-3.10.0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: ca53b87d2a94cdbbba6e09aca90924bd * Tamanho da transferência: 912 KB * Espaço em disco estimado exigido: 5,7 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "PCI Utils" Recomendadas [3494]cURL-8.2.1, [3495]Wget-1.21.4 ou [3496]Lynx-2.8.9rel.1 (para o script "update-pciids" funcionar corretamente). Instalação do "PCI Utils" Instale o PCI Utils executando os seguintes comandos: make PREFIX=/usr \ SHAREDIR=/usr/share/hwdata \ SHARED=yes Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make PREFIX=/usr \ SHAREDIR=/usr/share/hwdata \ SHARED=yes \ install install-lib && chmod -v 755 /usr/lib/libpci.so Explicações do Comando SHARED=yes: Esse parâmetro habilita a construção da biblioteca compartilhada em vez da estática. ZLIB=no: Essa opção evita a compressão do arquivo pci.ids. Configurando o "PCI Utils" O arquivo de dados pci.ids está sendo constantemente atualizado. Para obter uma versão atual desse arquivo, execute update-pciids como o(a) usuário(a) root. Esse aplicativo exige o script ou aplicativo [3497]Which-2.21 para encontrar o [3498]cURL-8.2.1, [3499]Lynx-2.8.9rel.1 ou o [3500]Wget-1.21.4 que são usados para baixar o arquivo mais atual e, em seguida, substituir o arquivo existente em /usr/share/hwdata. Você deveria atualizar o arquivo /usr/share/hwdata/pci.ids periodicamente. Execute os seguintes comandos, como o(a) usuário(a) root, para criar um cronômetro do "systemd" para atualizá-lo semanalmente aos domingos às 2h30 (hora local): cat > /usr/lib/systemd/system/update-pciids.service << "EOF" && [Unit] Description=Atualiza o arquivo "pci.ids" Documentation=man:update-pciids(8) DefaultDependencies=no After=local-fs.target network-online.target Before=shutdown.target [Service] Type=oneshot RemainAfterExit=yes ExecStart=/usr/sbin/update-pciids EOF cat > /usr/lib/systemd/system/update-pciids.timer << "EOF" && [Unit] Description=Atualiza o arquivo "pci.ids" semanalmente [Timer] OnCalendar=Sun 02:30:00 Persistent=true [Install] WantedBy=timers.target EOF systemctl enable update-pciids.timer Conteúdo Aplicativos Instalados: lspci, setpci e update-pciids Biblioteca Instalada: libpci.so Diretório Instalado: /usr/include/pci e /usr/share/hwdata Descrições Curtas lspci é um utilitário para exibir informações relativas a todos os barramentos "PCI" no sistema e todos os dispositivos conectados a eles setpci é um utilitário para consultar e configurar dispositivos "PCI" update-pciids busca a versão atual da lista de "IDs" de "PCI". libpci.so é uma biblioteca que permite que aplicativos acessem o subsistema PCI pm-utils-1.4.1 Introdução aos Utilitários de Gerenciamento de Eletricidade Os Utilitários de Gerenciamento de Eletricidade fornecem ferramentas simples de linha de comando do shell para suspender e hibernar o computador. Eles podem ser usados para executar scripts fornecidos pelo(a) usuário(a) na suspensão e na retomada. Nota Em um sistema que usa systemd como sistema de inicialização, systemd já fornece essa funcionalidade. Como resultado, esse pacote provavelmente não é necessário e possivelmente conflite com o systemd. Leia-se a documentação para suspend.target e hibernate.target na página de manual systemd.special(7) para mais detalhes. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3501]https://pm-utils.freedesktop.org/releases/pm-utils-1.4.1.tar. gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 1742a556089c36c3a89eb1b957da5a60 * Tamanho da transferência: 204 KB * Espaço em disco estimado exigido: 1,6 MB * Tempo de construção estimado: 0,1 UPC Transferências Adicionais * Remendo exigido: [3502]https://www.linuxfromscratch.org/patches/blfs/12.0/pm-utils-1 .4.1-bugfixes-1.patch Dependências dos Utilitários de Gerenciamento de Eletricidade Opcionais [3503]xmlto-0.0.28 (para gerar páginas de manual) Opcionais (tempo de execução) [3504]Hdparm-9.65, [3505]Wireless Tools-29, [3506]ethtool e [3507]vbetool Configuração do Núcleo Se necessário, habilite as seguintes opções na configuração do núcleo e recompile o núcleo: Power management and ACPI options ---> [*] Suspend to RAM and standby [SUSPEND] [*] Hibernation (aka 'suspend to disk') [HIBERNATION] Suspender para "RAM" permite que o sistema entre em estados de suspensão nos quais a memória principal é alimentada e, portanto, o conteúdo dela é preservado. O método corta a eletricidade da maioria das partes da máquina, exceto a "RAM". Devido à grande economia de eletricidade, é aconselhável para "laptops" para entrarem automaticamente nesse modo quando o computador estiver funcionando com baterias e a tampa estiver fechada (ou o(a) usuário(a) estiver inativo(a) por algum tempo). Suspender no disco (hibernação) salva o estado da máquina no espaço de troca e desliga completamente a máquina. Quando a máquina for ligada, o estado é restaurado. Até então, existe consumo zero de eletricidade. A suspensão para "RAM" e a hibernação são normalmente apropriadas para dispositivos portáteis, como "laptops", mas podem ser usadas em estações de trabalho. A capacidade não é realmente apropriada para servidores. Para usar a hibernação, o parâmetro do núcleo "resume=/dev/" tem de ser usado na linha de comando do núcleo (no "grub.cfg"). A partição de troca deveria ser, pelo menos, do tamanho da "RAM" física no sistema. Instalação dos Utilitários de Gerenciamento de Eletricidade Primeiro, corrija vários defeitos e algumas incompatibilidades com núcleos mais recentes: patch -Np1 -i ../pm-utils-1.4.1-bugfixes-1.patch Instale os Utilitários de Gerenciamento de Eletricidade executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc \ --docdir=/usr/share/doc/pm-utils-1.4.1 && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Se você não tiver [3508]xmlto-0.0.28 instalado, [então] copie as páginas de manual pré geradas, como o(a) usuário(a) root: install -v -m644 man/*.1 /usr/share/man/man1 && install -v -m644 man/*.8 /usr/share/man/man8 && ln -sv pm-action.8 /usr/share/man/man8/pm-suspend.8 && ln -sv pm-action.8 /usr/share/man/man8/pm-hibernate.8 && ln -sv pm-action.8 /usr/share/man/man8/pm-suspend-hybrid.8 Configurando os Utilitários de Gerenciamento de Eletricidade A funcionalidade de suspensão ou retomada pode ser facilmente modificada instalando arquivos no diretório /etc/pm/sleep.d. Esses arquivos, conhecidos como ganchos, são executados quando o sistema for colocado em um estado de suspensão ou retomado. Os ganchos padrão estão localizados em /usr/lib/pm-utils/sleep.d, e os ganchos de usuário(a) deveriam ser colocados em /etc/pm/sleep.d. Veja-se a página de manual "pm-action(8)" para mais informações. Para a finalidade de usar a hibernação com GRUB e uma partição de troca, você precisa adicionar o parâmetro do núcleo resume=partição_de_troca (por exemplo, resume=/dev/sda1) à linha do núcleo no arquivo de configuração /boot/grub/grub.cfg. Conteúdo Aplicativos Instalados: on_ac_power, pm-hibernate, pm-is-supported, pm-powersave, pm-suspend e pm-suspend-hybrid Bibliotecas Instaladas: Nenhuma Diretórios Instalados: /etc/pm, /usr/lib/pm-utils e /usr/share/doc/pm-utils-1.4.1 Descrições Curtas on_ac_power é um script que determina se o sistema está funcionando com eletricidade "CA" (em vez de uma bateria) pm-hibernate é um link simbólico para o script "pm-action" que coloca o computador no modo de hibernação (o sistema é totalmente desligado e o estado do sistema é salvo no disco) pm-is-supported é um script que verifica se os recursos de gerenciamento de eletricidade, como suspensão e hibernação, são suportados pm-powersave é um script que coloca o computador no modo de economia de eletricidade (baixo consumo de eletricidade) pm-suspend é um link simbólico para o script "pm-action" que coloca o computador no modo de suspensão (a maioria dos dispositivos é desligada e o estado do sistema é salvo na "RAM") pm-suspend-hybrid é um link simbólico para o script "pm-action" que coloca o computador no modo de suspensão híbrida (o sistema faz tudo o que precisa para hibernar, mas suspende em vez de desligar) Raptor-2.0.16 Introdução ao "Raptor" Raptor é uma biblioteca C que fornece um conjunto de analisadores e serializadores que geram triplos "Resource Description Framework" ("RDF"). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3509]https://download.librdf.org/source/raptor2-2.0.16.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 0a71f13b6eaa0a04bf411083d89d7bc2 * Tamanho da transferência: 1,7 MB * Espaço em disco estimado exigido: 25 MB (adicionais 2 MB para os testes) * Tempo de construção estimado: 0,1 UPC (adicionais 0,3 UPC para os testes) Dependências do "Raptor" Exigidas [3510]cURL-8.2.1 e [3511]libxslt-1.1.38 Opcionais [3512]GTK-Doc-1.33.2, [3513]ICU-73.2 e [3514]libyajl Instalação do "Raptor" Instale Raptor executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Para testar os resultados, emita: make check. Vários dos testes de "XML" possivelmente falhem. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --with-icu-config=/usr/bin/icu-config: Use essa chave se você tiver instalado o [3515]ICU-73.2 e desejar construir o Raptor com suporte a ele. Conteúdo Aplicativos Instalados: rapper Bibliotecas Instaladas: libraptor2.so Diretórios Instalados: /usr/include/raptor2 e /usr/share/gtk-doc/html/raptor2 Descrições Curtas rapper é um utilitário de análise e serialização "RDF" libraptor2.so contém as funções da "API" do Raptor Rasqal-0.9.33 Introdução ao "Rasqal" Rasqal é uma biblioteca C que lida com sintaxes de linguagem de consulta "Resource Description Framework" ("RDF"), construção de consultas e execução de consultas que retornam resultados como ligações, booleanos, gráficos/triplos "RDF" ou sintaxes. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3516]https://download.librdf.org/source/rasqal-0.9.33.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 1f5def51ca0026cd192958ef07228b52 * Tamanho da transferência: 1,6 MB * Espaço em disco estimado exigido: 22 MB (4 MB adicionais para os testes) * Tempo de construção estimado: 0,3 UPC (0,7 UPC adicionais para os testes) Dependências do "Rasqal" Exigidas [3517]Raptor-2.0.16 Opcionais [3518]PCRE-8.45 e [3519]libgcrypt-1.10.2 Instalação do "Rasqal" Instale Rasqal executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativos Instalados: rasqal-config e roqet Biblioteca Instalada: librasqal.so Diretórios Instalados: /usr/include/rasqal e /usr/share/gtk-doc/html/rasqal Descrições Curtas rasqal-config é um utilitário para recuperar as opções de instalação do Rasqal roqet é um utilitário de consulta "RDF" Redland-1.0.17 Introdução ao "Redland" Redland é um conjunto de bibliotecas C de software livre que fornece suporte para o "Resource Description Framework" ("RDF"). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3520]https://download.librdf.org/source/redland-1.0.17.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: e5be03eda13ef68aabab6e42aa67715e * Tamanho da transferência: 1,6 MB * Espaço em disco estimado exigido: 18 MB * Tempo de construção estimado: 0,2 UPC Dependências do "Redland" Exigidas [3521]Rasqal-0.9.33 Opcionais [3522]Base de Dados Berkeley-5.3.28, [3523]libiodbc-3.52.15, [3524]SQLite-3.42.0, [3525]MariaDB-10.11.4 ou [3526]MySQL, [3527]PostgreSQL-15.4, [3528]virtuoso e [3529]3store Instalação do "Redland" Instale Redland executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativos Instalados: rdfproc, redland-config e redland-db-upgrade Bibliotecas Instaladas: librdf.so e /usr/lib/redland/librdf_storage_*.so Diretórios Instalados: /usr/lib/redland, /usr/share/gtk-doc/html/redland e /usr/share/redland Descrições Curtas rdfproc é o utilitário do processador de "RDF" "Redland" redland-config é um script para obter informações relativas à versão instalada do "Redland" redland-db-upgrade atualiza bases de dados "Redland" mais antigas para o formato 0.9.12 sg3_utils-1.48 Introdução ao "sg3_utils" O pacote sg3_utils contém utilitários de baixo nível para dispositivos que usam um conjunto de comandos "SCSI". Além dos dispositivos de interface paralela "SCSI" ("SPI"), o conjunto de comandos "SCSI" é usado por dispositivos "ATAPI" (CD/DVDs e fitas), dispositivos de armazenamento em massa "USB", discos de Canal de Fibra, dispositivos de armazenamento "IEEE" 1394 (que usam o protocolo "SBP"), Dispositivos "SAS", "iSCSI" e "FCoE" (entre outros). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3530]https://sg.danny.cz/sg/p/sg3_utils-1.48.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 0024393d2d2942cc081ce613d98db68a * Tamanho da transferência: 1,2 MB * Espaço em disco estimado exigido: 27 MB * Tempo de construção estimado: 0,2 UPC Instalação do "sg3_utils" Instale sg3_utils executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativos Instalados: rescan-scsi-bus.sh, scsi_logging_level, scsi_mandat, scsi_readcap, scsi_ready, scsi_satl, scsi_start, scsi_stop, scsi_temperature, sg_bg_ctl, sg_compare_and_write, sg_copy_results, sg_dd, sg_decode_sense, sg_emc_trespass, sg_format, sg_get_config, sg_get_lba_status, sg_ident, sg_inq, sg_logs, sg_luns, sg_map, sg_map26, sg_modes, sg_opcodes, sg_persist, sg_prevent, sg_raw, sg_rbuf, sg_rdac, sg_read, sg_read_attr, sg_read_block_limits, sg_read_buffer, sg_read_long, sg_readcap, sg_reassign, sg_referrals, sg_rep_pip, sg_rep_zones, sg_requests, sg_reset, sg_reset_wp, sg_rmsn, sg_rtpg, sg_safte, sg_sanitize, sg_sat_identify, sg_sat_phy_event, sg_sat_read_gplog, sg_sat_set_features, sg_scan, sg_seek, sg_senddiag, sg_ses, sg_ses_microcode, sg_start, sg_stpg, sg_stream_ctl, sg_sync, sg_test_rwbuf, sg_timestamp, sg_turs, sg_unmap, sg_verify, sg_vpd, sg_wr_mode, sg_write_buffer, sg_write_long, sg_write_same, sg_write_verify, sg_write_x, sg_xcopy, sg_zone, sginfo, sgm_dd e sgp_dd Biblioteca Instalada: libsgutils2.so Diretórios Instalados: Nenhum Descrições Curtas rescan-scsi-bus.sh adiciona ou remove dispositivos "SCSI" sem precisar reinicializar scsi_logging_level acessa informações de nível de registro "SCSI" do Linux scsi_mandat verifica o suporte do dispositivo "SCSI" para comandos obrigatórios scsi_readcap faz o comando "SCSI READ CAPACITY" em discos scsi_ready faz o "SCSI TEST UNIT READY" em dispositivos scsi_satl verifica o suporte de tradução "SCSI" para "ATA" (SAT) do dispositivo scsi_start inicia um ou mais discos "SCSI" scsi_stop interrompe um ou mais discos "SCSI" scsi_temperature busca a temperatura de um dispositivo "SCSI" sg_bg_ctl realiza um comando "SCSI BACKGROUND CONTROL" em um dispositivo para realizar "operações avançadas em segundo plano" sg_compare_and_write envia o comando "SCSI COMPARE AND WRITE" para o dispositivo sg_copy_results envia o comando "SCSI RECEIVE COPY RESULTS" (relacionado ao "XCOPY") sg_dd copia dados de e para arquivos e dispositivos. Especializado para dispositivos que entendem o conjunto de comandos "SCSI" sg_decode_sense pega dados de detecção "SCSI" em binário ou como uma sequência de bytes hexadecimais "ASCII" e os decodifica sg_emc_trespass muda a titularidade de propriedade de um "LUN" de outro processador de serviço para este sg_format formata ou redimensiona um disco "SCSI" (talvez mude o tamanho de bloco dele) sg_get_config envia um comando "SCSI GET CONFIGURATION" ("MMC-4 +") sg_get_elem_status envia um comando "SCSI GET PHYSICAL ELEMENT STATUS" para um dispositivo sg_get_lba_status envia o comando "SCSI GET LBA STATUS" sg_ident envia um comando "SCSI REPORT" ou "SET IDENTIFYING INFORMATION" sginfo acessa informações da página de modo para um dispositivo "SCSI" (ou "ATAPI") sg_inq envia um comando "SCSI INQUIRY" ou "ATA IDENTIFY (PACKET) DEVICE" e gera a resposta sg_logs acessa páginas de registro com o comando "SCSI LOG SENSE" sg_luns envia o comando "SCSI REPORT LUNS" sg_map exibe o mapeamento entre o "sg" do Linux e outros dispositivos "SCSI" sg_map26 mapeia um arquivo especial para um dispositivo "SCSI" genérico (sg) (ou vice-versa) sgm_dd copia dados de e para arquivos e dispositivos. Especializado para dispositivos que entendem o conjunto de comandos "SCSI" e fazem transferências mapeadas na memória a partir de dispositivos "sg" sg_modes lê páginas de modo com o comando "SCSI MODE SENSE" sg_opcodes informa informações relativas a comandos suportados "SCSI" ou funções de gerenciamento de tarefas sgp_dd copia dados de e para arquivos e dispositivos. Especializado para dispositivos que entendem o conjunto de comandos "SCSI" sg_persist envia um comando "SCSI PERSISTENT RESERVE (IN ou OUT)" para manipular registros e reservas sg_prevent envia um comando "SCSI PREVENT ALLOW MEDIUM REMOVAL" sg_raw envia um comando "SCSI" arbitrário para um dispositivo sg_rbuf lê dados usando o comando "SCSI READ BUFFER" sg_rdac exibe ou modifica a página do controlador redundante "RDAC" sg_read lê blocos de dados continuamente a partir do mesmo deslocamento sg_read_attr realiza um comando "SCSI READ ATTRIBUTE" em um dispositivo sg_read_block_limits envia um comando "SCSI READ BLOCK LIMITS" sg_read_buffer envia um comando "SCSI READ BUFFER" sg_readcap envia um comando "SCSI READ CAPACITY" sg_read_long envia um comando "SCSI READ LONG" sg_reassign envia um comando "SCSI REASSIGN BLOCKS" sg_referrals envia um comando "SCSI REPORT REFERRALS" sg_rep_pip envia um comando "SCSI REPORT PROVISIONING INITIALIZATION PATTERN" sg_rep_zones envia um comando "SCSI REPORT ZONES" sg_requests envia um ou mais comandos "SCSI REQUEST SENSE" sg_reset envia uma redefinição de dispositivo, destino, barramento ou anfitrião "SCSI"; ou verifica o estado de redefinição sg_reset_wp envia um comando "SCSI RESET WRITE POINTER" sg_rmsn envia um comando "SCSI READ MEDIA SERIAL NUMBER" sg_rtpg envia um comando "SCSI REPORT TARGET PORT GROUPS" sg_safte busca informações de situação a partir de um dispositivo "SCSI" "Accessed Fault-Tolerant Enclosure" ("SAF-TE") sg_sanitize envia um comando "SCSI SANITIZE" sg_sat_identify envia um comando "ATA IDENTIFY (PACKET) DEVICE" por meio de uma camada de tradução "SCSI" para "ATA" ("SAT") sg_sat_phy_event envia um comando "ATA READ LOG EXT" por meio de uma passagem "SAT" para buscar a página de registro "11h" a qual contém contadores de eventos físicos "SATA" sg_sat_read_gplog envia um comando "ATA READ LOG EXT" por meio de uma camada de tradução "SCSI" para "ATA" ("SAT") sg_sat_set_features envia um comando "ATA SET FEATURES" por meio de uma camada de tradução "SCSI" para "ATA" ("SAT") sg_scan faz uma varredura de dispositivos "sg" (ou dados dispositivos "SCSI"/"ATAPI"/"ATA") e imprime os resultados sg_seek realiza um comando "SCSI SEEK" ou "PRE-FETCH" em um dispositivo e o cache dele sg_senddiag realiza um comando "SCSI SEND DIAGNOSTIC" sg_ses envia controles e busca a situação atual a partir de um dispositivo "SCSI Enclosure Services" ("SES") sg_ses_microcode envia microcódigo para um gabinete "SCSI" sg_start envia um comando "SCSI START STOP UNIT" para iniciar, parar, carregar ou ejetar o meio sg_stpg envia um comando "SCSI SET TARGET PORT GROUPS" sg_stream_ctl realiza um comando "SCSI STREAM CONTROL" ou "GET STREAM STATUS" em um dispositivo para abrir ou fechar um fluxo de Entrada/Saída sg_sync envia um comando "SCSI" para sincronizar o cache sg_test_rwbuf testa o adaptador "SCSI" do anfitrião emitindo operações de gravação e leitura no "buffer" de um dispositivo e calculando somas de verificação sg_timestamp informa ou configura o carimbo de tempo em um dispositivo "SCSI" sg_turs envia um ou mais comandos "SCSI TEST UNIT READY" sg_unmap envia um comando "SCSI UNMAP" sg_verify invoca comando(s) "SCSI VERIFY" em um dispositivo de bloco sg_vpd busca páginas de dados vitais do produto ("VPD") usando um comando "SCSI INQUIRY" sg_write_buffer envia um comando "SCSI WRITE BUFFER" sg_write_long envia um comando "SCSI WRITE LONG" sg_write_same envia um comando "SCSI WRITE SAME" sg_write_verify envia um comando "SCSI WRITE AND VERIFY" sg_write_x realiza comandos "SCSI WRITE" em um dispositivo sg_wr_mode escreve páginas de modo sg_xcopy copia dados de e para arquivos e dispositivos usando "SCSI EXTENDED COPY" ("XCOPY") sg_zone realiza comandos "SCSI ZONE" em um dispositivo, tais como "OPEN", "CLOSE", "FINISH" ou "SEQUENTIALIZE" libsgutils2.so contém as funções de "API" do sg3_utils Sysstat-12.7.2 Introdução ao "Sysstat" O pacote Sysstat contém utilitários para monitorar o desempenho do sistema e a atividade de uso. Sysstat contém o utilitário sar, comum a muitos "Unixes" comerciais, e ferramentas que você pode agendar via "cron" para coletar e historizar dados de desempenho e atividades. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3531]http://sebastien.godard.pagesperso-orange.fr/sysstat-12.7.2.t ar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: cb625681a70b58e306d2564d4296a5ae * Tamanho da transferência: 876 KB * Espaço em disco estimado exigido: 28 MB * Tempo de construção estimado: 0,1 UPC Dependências do "Sysstat" Não existem requisitos de tempo de construção para esse pacote; entretanto, ele foi projetado para ser controlado por um processo de segundo plano "cron", como o [3532]Fcron-3.2.1. Instalação do "Sysstat" Instale Sysstat executando os seguintes comandos: sa_lib_dir=/usr/lib/sa \ sa_dir=/var/log/sa \ conf_dir=/etc/sysconfig \ ./configure --prefix=/usr \ --disable-file-attr && make Esse pacote não vem com uma suíte de teste funcional. Agora, como o(a) usuário(a) root: make install Instale a unidade do "systemd" executando os seguintes comandos como o(a) usuário(a) root: install -v -m644 sysstat.service /usr/lib/systemd/system/sysstat.service && install -v -m644 cron/sysstat-collect.service /usr/lib/systemd/system/sysstat-co llect.service && install -v -m644 cron/sysstat-collect.timer /usr/lib/systemd/system/sysstat-coll ect.timer && install -v -m644 cron/sysstat-summary.service /usr/lib/systemd/system/sysstat-su mmary.service && install -v -m644 cron/sysstat-summary.timer /usr/lib/systemd/system/sysstat-summ ary.timer Corrija a unidade do "systemd" executando o seguinte comando como o(a) usuário(a) root: sed -i "/^Also=/d" /usr/lib/systemd/system/sysstat.service Explicações do Comando sa_lib_dir: Essa variável de ambiente especifica o local do diretório específico do pacote da biblioteca. sa_dir: Essa variável de ambiente especifica o local do diretório que contém os arquivos de dados. conf_dir: Essa variável de ambiente especifica o local do diretório do sistema da configuração. --disable-file-attr: Não configure atributos nos arquivos sendo instalados. Esse parâmetro faz com que a instalação ignore a variável do grupo "man", resultando nos arquivos de manual tendo a titularidade da propriedade root: root. Nota Execute ./configure --help para ver outras variáveis de ambiente influentes que você possa passar para o configure. Você possivelmente queira usar as variáveis history e compressafter para personalizar a quantidade de arquivos de dados mantidos no sistema. Configurando o "Sysstat" Arquivos de Configuração /etc/sysconfig/sysstat e /etc/sysconfig/sysstat.ioconf Informações do "cron" Para começar a coletar informações do histórico do Sysstat, você precisa adicionar ou criar um "crontab" de usuário(a) privilegiado(a). O local dos dados do histórico é /var/log/sa. O(A) usuário(a) que executa os utilitários do Sysstat via "cron" precisa ter acesso de escrita a esse local. Abaixo está um exemplo do que instalar no "crontab". Ajuste os parâmetros para atender às suas necessidades. Use man sa1 e man sa2 para informações a respeito dos comandos. # Informes de atividades das 8h às 19h a cada 10 minutos durante a semana 0 8-18 * * 1-5 /usr/lib/sa/sa1 600 6 & # Informes de atividades das 19h às 8h, a cada hora durante a semana 0 19-7 * * 1-5 /usr/lib/sa/sa1 & # Informes de atividades a cada hora aos sábados e domingos 0 * * * 0,6 /usr/lib/sa/sa1 & # Resumo diário aprontado às 19h05 5 19 * * * /usr/lib/sa/sa2 -A & Certifique-se de submeter o "crontab" revisado ao processo de segundo plano "cron". Informações de Inicialização do Sistema Na inicialização do sistema, uma mensagem "LINUX RESTART" precisa ser inserida no arquivo de dados diários para reinicializar os contadores do núcleo. Isso pode ser automatizado habilitando a unidade do "systemd" instalada anteriormente executando o seguinte comando como o(a) usuário(a) root: systemctl enable sysstat Conteúdo Aplicativos Instalados: cifsiostat, iostat, mpstat, pidstat, sadf, sar e tapestat Bibliotecas Instaladas: Nenhuma Diretórios Instalados: /usr/lib/sa, /usr/share/doc/sysstat-12.7.2 e /var/log/sa Descrições Curtas cifsiostat exibe estatísticas relativas a operações de leitura e escrita em sistemas de arquivos "CIFS" iostat informa estatísticas de "CPU" e estatísticas de entrada/saída para dispositivos e partições mpstat escreve atividades para cada processador disponível pidstat é usado para monitorar tarefas individuais atualmente sendo gerenciadas pelo núcleo Linux sadf é usado para exibir o conteúdo dos arquivos de dados criados pelo comando sar. Mas diferentemente do sar, o sadf pode escrever os dados dele em muitos formatos sar é usado para exibir o conteúdo dos contadores de atividades cumulativas eleitos no sistema operacional tapestat é usado para monitorar a atividade de unidades de fita conectadas a um sistema Systemd-254 Introdução ao "systemd" Enquanto o systemd foi instalado quando da construção do LFS, existem muitos recursos fornecidos pelo pacote que não foram incluídos na instalação inicial porque o Linux-PAM ainda não estava instalado. O pacote systemd precisa ser reconstruído para fornecer um serviço systemd-logind funcional, o qual fornece muitos recursos adicionais para pacotes dependentes. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3533]https://github.com/systemd/systemd/archive/v254/systemd-254.t ar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 0d266e5361dc72097b6c18cfde1c0001 * Tamanho da transferência: 14 MB * Espaço em disco estimado exigido: 198 MB (com testes) * Tempo de construção estimado: 3,7 UPC (com testes usando quatro elementos de processamento da CPU) Dependências do "systemd" Recomendadas Nota [3534]Linux-PAM-1.5.3 não é estritamente necessário para construir o systemd, mas é o principal motivo para reconstruir o systemd no BLFS (ele já está construído no LFS de qualquer maneira) é para o processo de segundo plano systemd-logind e o módulo PAM pam_systemd.so. [3535]Linux-PAM-1.5.3 é exigido para eles. Todos os pacotes no livro BLFS com dependência do systemd esperam que tenham sido reconstruídos com [3536]Linux-PAM-1.5.3. [3537]Linux-PAM-1.5.3 e [3538]Polkit-123 (tempo de execução) Opcionais [3539]btrfs-progs-6.3.3, [3540]cURL-8.2.1, [3541]cryptsetup-2.4.3, [3542]git-2.41.0, [3543]GnuTLS-3.8.1, [3544]iptables-1.8.9, [3545]libgcrypt-1.10.2, [3546]libidn2-2.3.4, [3547]libpwquality-1.4.5, [3548]libseccomp-2.5.4, [3549]libxkbcommon-1.5.0, [3550]make-ca-1.12, [3551]p11-kit-0.25.0, [3552]pcre2-10.42, [3553]qemu-8.1.0, [3554]qrencode-4.1.1, [3555]rsync-3.2.7, [3556]sphinx-7.1.2, [3557]Valgrind-3.21.0, [3558]zsh-5.9 (para as completações do zsh), [3559]AppArmor, [3560]audit-userspace, [3561]bash-completion, [3562]jekyll, [3563]kexec-tools, [3564]libbpf, [3565]libdw, [3566]libfido2, [3567]libmicrohttpd, [3568]lz4, [3569]pyelftools, [3570]quota-tools, [3571]rpm, [3572]SELinux, [3573]systemtap, [3574]tpm2-tss e [3575]Xen Opcional (para reconstruir as páginas de manual) [3576]docbook-xml-4.5, [3577]docbook-xsl-nons-1.79.2, [3578]libxslt-1.1.38 e [3579]lxml-4.9.3 (para construir o índice das páginas de manual do "systemd") Instalação do "systemd" Remova dois grupos desnecessários, render e sgx, das regras padrão do "udev": sed -i -e 's/GROUP="render"/GROUP="video"/' \ -e 's/GROUP="sgx", //' rules.d/50-udev-default.rules.in Reconstrua o systemd executando os seguintes comandos: mkdir build && cd build && meson setup .. \ --prefix=/usr \ --buildtype=release \ -Ddefault-dnssec=no \ -Dfirstboot=false \ -Dinstall-tests=false \ -Dldconfig=false \ -Dman=auto \ -Dsysusers=false \ -Drpmmacrosdir=no \ -Dhomed=false \ -Duserdb=false \ -Dmode=release \ -Dpam=true \ -Dpamconfdir=/etc/pam.d \ -Ddev-kvm-mode=0660 \ -Ddocdir=/usr/share/doc/systemd-254 && ninja Nota Para os melhores resultados de teste, certifique-se de executar a suíte de testes a partir de um sistema que seja inicializado pela mesma versão do systemd que você estiver reconstruindo. Para testar os resultados, emita: ninja test. Os testes chamados test-stat-util e test-netlink são conhecidos por falharem se alguns recursos do núcleo não estiverem habilitados. Se a suíte de teste for executada como o(a) usuário(a) root, alguns outros testes possivelmente falhem, porque dependem de várias opções de configuração do núcleo. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dpamconfdir=/etc/pam.d: Força os arquivos do "PAM" serem instalados em "/etc/pam.d" em vez de "/usr/lib/pam.d". -Duserdb=false: Remove um processo de segundo plano que não oferece qualquer uso sob uma configuração do BLFS. Se você deseja habilitar o processo de segundo plano userdbd, [então] substitua "false" por "true" no comando "meson" acima. -Dhomed=false: Remove um processo de segundo plano que não oferece qualquer uso sob uma configuração tradicional do BLFS, especialmente usando contas criadas com "useradd". Para habilitar o "systemd-homed", primeiro certifique-se de ter [3580]cryptsetup-2.4.3 e [3581]libpwquality-1.4.5 instalados e, em seguida, mude "false" para "true" no comando "meson" acima. Configurando o "systemd" O arquivo /etc/pam.d/system-session precisa ser modificado e um novo arquivo precisa ser criado para a finalidade de que o systemd-logind funcione corretamente. Execute os seguintes comandos como o(a) usuário(a) root: grep 'pam_systemd' /etc/pam.d/system-session || cat >> /etc/pam.d/system-session << "EOF" # Começo da adição do "Systemd" session required pam_loginuid.so session optional pam_systemd.so # Fim da adição do "Systemd" EOF cat > /etc/pam.d/systemd-user << "EOF" # Começo "/etc/pam.d/systemd-user" account required pam_access.so account include system-account session required pam_env.so session required pam_limits.so session required pam_unix.so session required pam_loginuid.so session optional pam_keyinit.so force revoke session optional pam_systemd.so auth required pam_deny.so password required pam_deny.so # Fim "/etc/pam.d/systemd-user" EOF Atenção Se atualizar a partir de uma versão anterior do "systemd" e um "initrd" for usado para inicialização do sistema, [então] você deveria gerar um novo "initrd" antes de reinicializar o sistema. Conteúdo Uma lista dos arquivos instalados, juntamente com as descrições curtas deles, pode ser encontrada em [3582]../../../../lfs/view/12.0-systemd/chapter08/systemd.html#contents -systemd. Listados abaixo estão os aplicativos recém-instalados, juntamente com descrições curtas. Aplicativos Instalados: homectl (opcional), systemd-cryptenroll (se [3583]cryptsetup-2.4.3 estiver instalado) e userdbctl (opcional) Descrições Curtas homectl é uma ferramenta para criar, remover, mudar ou inspecionar um diretório "home" gerenciado por systemd-homed; observe que é inútil para os(as) usuários(as) clássicos(as) do "UNIX" e diretórios "home" que estamos usando no livro LFS/BLFS systemd-cryptenroll É usado para registrar ou remover um sistema da criptografia completa do disco, bem como configurar e consultar chaves privadas e chaves de recuperação userdbctl inspeciona usuários(as), grupos e associações de grupos pam_systemd.so é um módulo "PAM" usado para registrar sessões de usuário(a) com o gerenciador de "login" do systemd, systemd-logind UDisks-2.10.0 Introdução ao "UDisks" O pacote UDisks fornece um processo de segundo plano, ferramentas e bibliotecas para acessar e manipular discos e dispositivos de armazenamento. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3584]https://github.com/storaged-project/udisks/releases/download/ udisks-2.10.0/udisks-2.10.0.tar.bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: 5b5da772a4537951bf487ee11a510ccc * Tamanho da transferência: 1,7 MB * Espaço em disco estimado exigido: 41 MB (com testes) * Tempo de construção estimado: 0,2 UPC (com testes) Dependências do "UDisks" Exigidas [3585]libatasmart-0.19, [3586]libblockdev-3.0.2, [3587]libgudev-238, [3588]libxslt-1.1.38 e [3589]Polkit-123 Recomendadas [3590]Systemd-254 (tempo de execução) Opcionais (Exigidas se construir "GNOME") [3591]gobject-introspection-1.76.1 Opcionais [3592]D-Bus Python-1.3.2 (para os testes de integração), [3593]GTK-Doc-1.33.2, [3594]LVM2-2.03.22, [3595]PyGObject-3.44.1 (para os testes de integração), [3596]exFAT e [3597]libiscsi Dependências Opcionais de Tempo de Execução [3598]btrfs-progs-6.3.3, [3599]dosfstools-4.2, [3600]gptfdisk-1.0.9, [3601]mdadm-4.2 e [3602]xfsprogs-6.4.0 Instalação do "UDisks" Instale UDisks executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --disable-static \ --enable-available-modules && make Para testar os resultados, emita: make check. Um teste mais completo pode ser executado com make ci. Você precisa primeiro criar os diretórios /var/run/udisks2 e /var/lib/udisks2, e os módulos opcionais "python" deveriam estar presente. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --enable-gtk-doc: Use esse parâmetro se GTK-Doc estiver instalado e você desejar reconstruir e instalar a documentação da API. --enable-available-modules: Essa chave habilita funcionalidades adicionais do UDisks2 se [3603]libblockdev-3.0.2 tiver sido construído com dependências opcionais. Conteúdo Aplicativos Instalados: "udisksctl" e "umount.udisks2" Biblioteca Instalada: libudisks2.so Diretórios Instalados: /etc/udisks2, /usr/include/udisks2, /usr/libexec/udisks2, /usr/share/gtk-doc/html/udisks2 e /var/lib/udisks2 Descrições Curtas udisksctl é um aplicativo de linha de comando usado para interagir com o processo de segundo plano udisksd umount.udisks2 é um aplicativo de linha de comando usado para desmontar sistemas de arquivos que tenham sido montados pelo processo de segundo plano UDisks libudisks2.so contém as funções da "API" do UDisks UnRar-6.2.10 Introdução ao "UnRar" O pacote UnRar contém um utilitário de extração RAR usado para extrair arquivos a partir de arquivamentos RAR. Arquivamentos RAR geralmente são criados com WinRAR, principalmente em um ambiente "Windows". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3604]https://www.rarlab.com/rar/unrarsrc-6.2.10.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 0ab6486347a084e3c5759f4bbf02042f * Tamanho da transferência: 244 KB * Espaço em disco estimado exigido: 2,3 MB * Tempo de construção estimado: 0,1 UPC Instalação do "UnRar" Nota Esse pacote extrai o "tarball" para o diretório não versionado unrar e não para o diretório esperado unrar-6.2.10. Instale UnRar executando os seguintes comandos: make -f makefile Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: install -v -m755 unrar /usr/bin Conteúdo Aplicativo Instalado: unrar Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas unrar descomprime um arquivamento RAR UnZip-6.0 Introdução ao "UnZip" O pacote UnZip contém utilitários de extração ZIP. Eles são úteis para extrair arquivos a partir de arquivamentos ZIP. Os arquivamentos ZIP são criados com os utilitários PKZIP ou Info-ZIP, principalmente em um ambiente "DOS". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Cuidado A versão anterior do pacote UnZip tinha alguns problemas relacionados à localidade. Atualmente não existem editores(as) do BLFS capazes de testar esses problemas de localidade. Portanto, as informações relacionadas à localidade são deixadas nesta página, mas não foram testadas. Uma discussão mais geral desses problemas pode ser encontrada na seção [3605]O Aplicativo Assume a Codificação da página [3606]Problemas Relacionados à Localidade. Informação do Pacote * Transferência (HTTP): [3607]https://downloads.sourceforge.net/infozip/unzip60.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 62b490407489521db863b523a7f86375 * Tamanho da transferência: 1,3 MB * Espaço em disco estimado exigido: 9 MB * Tempo de construção estimado: menos que 0,1 UPC Transferências Adicionais * Remendo exigido: [3608]https://www.linuxfromscratch.org/patches/blfs/12.0/unzip-6.0- consolidated_fixes-1.patch Problemas de Localidade do "UnZip" Nota O uso de UnZip no JDK, Mozilla, DocBook ou qualquer outra instalação de pacote do BLFS não é um problema, pois as instruções do BLFS nunca usam UnZip para extrair um arquivo com caracteres não "ASCII" no nome do arquivo. Esses problemas são presumidos terem sido corrigidos no remendo. Mas, como nenhum(a) dos(a) editores(a) tem dados para testar isso, as seguintes soluções alternativas são mantidas caso ainda sejam necessárias. O pacote UnZip assume que os nomes de arquivos armazenados nos arquivamentos "ZIP" criados em sistemas não Unix estejam codificados em "CP850" e que deveriam ser convertidos para "ISO-8859-1" ao escrever arquivos no sistema de arquivos. Tais suposições nem sempre são válidas. Na verdade, dentro do arquivamento "ZIP", os nomes dos arquivos são codificados na página de códigos do "DOS" que estiver em uso no país relevante, e os nomes dos arquivos no disco deveriam estar na codificação da localidade. No "MS Windows", a função C "OemToChar()" (originária de User32.DLL) faz a conversão correta (que é, de fato, a conversão de "CP850" para um superconjunto de "ISO-8859-1", se o "MS Windows" estiver configurado para usar o idioma inglês dos Estados Unidos da América do Norte), mas não existe equivalente no Linux. Ao usar unzip para desempacotar um arquivamento "ZIP" contendo nomes de arquivos não "ASCII", os nomes dos arquivos são danificados porque unzip usa conversão inadequada quando qualquer uma das suposições dele de codificação estiver incorreta. Por exemplo, na localidade "ru_RU.KOI8-R", a conversão de nomes de arquivos de "CP866" para "KOI8-R" é necessária, mas a conversão de "CP850" para "ISO-8859-1" é feita, o que produz nomes de arquivos que consistem em caracteres indecifráveis em vez de palavras (o mais próximo exemplo compreensível equivalente para usuários(as) somente em inglês é "rot13"). Existem várias maneiras de contornar essa limitação: 1) Para descompactar arquivamentos "ZIP" com nomes de arquivos contendo caracteres não "ASCII", use [3609]WinZip enquanto executa o emulador de "Windows" [3610]Wine. 2) Use bsdtar -xf oriundo de [3611]libarchive-3.7.1 para descompactar o arquivamento "ZIP". Em seguida, corrija os danos causados aos nomes dos arquivos usando a ferramenta convmv ([3612]https://j3e.de/linux/convmv/). A seguir está um exemplo para a localidade "zh_CN.UTF-8": convmv -f cp936 -t utf-8 -r --nosmart --notest \ Instalação do "UnZip" Primeiro aplique o remendo: patch -Np1 -i ../unzip-6.0-consolidated_fixes-1.patch Agora compile o pacote: make -f unix/Makefile generic A suíte de teste não funciona para o alvo “generic”. Agora, como o(a) usuário(a) root: make prefix=/usr MANDIR=/usr/share/man/man1 \ -f unix/Makefile install Explicações do Comando make -f unix/Makefile generic: Esse alvo começa executando um conjunto de comandos sequenciais de configuração (ao contrário dos alvos mais antigos, como linux e linux_noasm), o qual cria um arquivo de sinalizadores que é então usado na construção. Isso garante que a construção x86 de 32 bits receba os sinalizadores corretos para descompactar arquivos que sejam maiores que 2 GB quando extraídos. Conteúdo Aplicativos Instalados: funzip, unzip, unzipfsx, zipgrep e zipinfo Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas funzip permite que a saída gerada dos comandos unzip seja redirecionada unzip lista, testa ou extrai arquivos a partir de um arquivamento ZIP unzipfsx é um toco auto-extraível que pode ser preposto a um arquivamento ZIP. Arquivos nesse formato permitem ao destinatário descomprimir o arquivamento sem instalar o UnZip zipgrep pesquisa arquivos em um arquivamento ZIP em busca de linhas que correspondam a um padrão zipinfo produz informações técnicas relativas aos arquivos em um arquivamento ZIP, incluindo permissões de acesso a arquivos, situação de encriptação, tipo de compressão, etc UPower-1.90.2 Introdução ao "UPower" O pacote UPower fornece uma interface para enumerar dispositivos de eletricidade, ouvir eventos de dispositivos e consultar histórico e estatísticas. Qualquer aplicativo ou serviço no sistema pode acessar o serviço org.freedesktop.UPower por meio do barramento de mensagens do sistema. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3613]https://gitlab.freedesktop.org/upower/upower/-/archive/v1.90. 2/upower-v1.90.2.tar.bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: bfd6e3275e61d7e097b53eb2b216fffa * Tamanho da transferência: 136 KB * Espaço em disco estimado exigido: 6,5 MB (adicionar 1,1 MB para testes) * Tempo de construção estimado: menos que 0,1 UPC (usando paralelismo=4, adicionar 0,6 UPC para os testes) Dependências do "UPower" Exigidas [3614]libgudev-238 e [3615]libusb-1.0.26 Opcionais (Exigidas se construir GNOME) [3616]gobject-introspection-1.76.1 Opcionais [3617]GTK-Doc-1.33.2, [3618]libxslt-1.1.38, [3619]docbook-xsl-nons-1.79.2, [3620]PyGObject-3.44.1, [3621]dbusmock-0.29.1, [3622]umockdev-0.17.18 (para parte da suíte de teste) e [3623]libimobiledevice Configuração do Núcleo Habilite as seguintes opções na configuração do núcleo e recompile o núcleo, se necessário: General setup ---> -*- Namespaces support ---> [NAMESPACES] [*] User namespace [USER_NS] Instalação do "UPower" Primeiro, remova uma dependência desnecessária oriunda de um teste: sed '/parse_version/d' -i src/linux/integration-test.py Instale UPower executando os seguintes comandos: mkdir build && cd build && meson setup .. \ --prefix=/usr \ --buildtype=release \ -Dgtk-doc=false \ -Dman=false && ninja Para testar os resultados, emita: LC_ALL=C ninja test. Algumas verificações possivelmente não passem devido a arquivos ausentes. A suíte de teste deveria ser executada a partir de uma sessão GUI local iniciada com dbus-launch. Dois testes relacionados ao recurso hotplug do fone de ouvido são conhecidos por falharem; eles podem ser seguramente ignorados, pois a funcionalidade do fone de ouvido ainda funciona. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando -Dgtk-doc=false: Impede construir a documentação. Remova isso se você tiver o GTK-Doc instalado e desejar construir a documentação. -Dman=false: Impede construir as páginas de manual. Remova isso se você tiver [3624]libxslt-1.1.38 e [3625]docbook-xsl-nons-1.79.2 instalados e desejar construir as páginas de manual. Configurando o "UPower" Unidade do "systemd" Para iniciar o serviço UPower na inicialização, habilite a unidade do "systemd" instalada anteriormente executando o seguinte comando como o(a) usuário(a) root: systemctl enable upower Conteúdo Aplicativo Instalado: upower Bibliotecas Instaladas: libupower-glib.so Diretórios Instalados: /etc/UPower, /usr/include/libupower-glib e /var/lib/upower Descrições Curtas upower é a ferramenta de linha de comando UPower libupower-glib.so contém as funções da "API" do UPower usbutils-015 Introdução ao "USB Utils" O pacote USB Utils contém utilitários usados para exibir informações relativas a barramentos "USB" no sistema e os dispositivos conectados a eles. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3626]https://github.com/gregkh/usbutils/archive/v015/usbutils-015. tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 112eafa991e55229b9f48b90c290a0e2 * Tamanho da transferência: 120 KB * Espaço em disco estimado exigido: 4,3 MB * Tempo de construção estimado: 0,1 UPC Dependências do "USB Utils" Exigidas [3627]libusb-1.0.26 Recomendadas [3628]git-2.41.0 e [3629]Wget-1.21.4 Instalação do "USB Utils" Instale USB Utils executando os seguintes comandos: autoreconf -fiv && ./configure --prefix=/usr --datadir=/usr/share/hwdata && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Para instalar o arquivo de dados usb.ids, usando [3630]Wget-1.21.4, execute como o(a) usuário(a) root: install -dm755 /usr/share/hwdata/ && wget http://www.linux-usb.org/usb.ids -O /usr/share/hwdata/usb.ids O script lsusb.py exibe informações em um formato mais facilmente legível que lsusb. Para encontrar as opções, use lsusb.py -h. Uma forma de uso recomendada pelo(a) desenvolvedor(a) é lsusb.py -ciu. Configurando o "USB Utils" Você deveria atualizar o arquivo /usr/share/hwdata/usb.ids periodicamente. Execute os seguintes comandos, como o(a) usuário(a) root, para criar um cronômetro do "systemd" para atualizá-lo semanalmente aos domingos às 2h30. (hora local): cat > /usr/lib/systemd/system/update-usbids.service << "EOF" && [Unit] Description=Atualiza arquivo "usb.ids" Documentation=man:lsusb(8) DefaultDependencies=no After=local-fs.target network-online.target Before=shutdown.target [Service] Type=oneshot RemainAfterExit=yes ExecStart=/usr/bin/wget http://www.linux-usb.org/usb.ids -O /usr/share/hwdata/us b.ids EOF cat > /usr/lib/systemd/system/update-usbids.timer << "EOF" && [Unit] Description=Atualiza semanalmente arquivo "usb.ids" [Timer] OnCalendar=Sun 03:00:00 Persistent=true [Install] WantedBy=timers.target EOF systemctl enable update-usbids.timer Conteúdo Aplicativos Instalados: lsusb, lsusb.py, usb-devices e usbhid-dump Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas lsusb é um utilitário para exibir informações relativas a todos os barramentos "USB" no sistema e todos os dispositivos conectados a eles, mas não de forma amigável a humanos(as) lsusb.py exibe informações relativas a todos os barramentos "USB" no sistema e todos os dispositivos conectados a eles em forma razoavelmente amigável a humanos(as) usb-devices é um script de shell que exibe detalhes dos barramentos "USB" e dos dispositivos conectados a eles. Ele foi projetado para ser usado se "/proc/bus/usb/devices" não estiver disponível em seu sistema usbhid-dump é usado para despejar descritores de informes e fluxos a partir de interfaces "HID" (dispositivo de interface humana) de dispositivos "USB" Which-2.21 e Alternativas A presença ou ausência do aplicativo which no livro principal do LFS é provavelmente uma das questões mais controversas nas listas de discussão. Isso resultou em pelo menos uma guerra violenta no passado. Para esperançosamente colocar um fim a isso de uma vez por todas, apresentamos aqui duas opções para equipar seu sistema com which. A questão de qual “which” cabe a você decidir. Introdução ao "GNU Which" A primeira opção é a de instalar o atual pacote GNU which. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3631]https://ftp.gnu.org/gnu/which/which-2.21.tar.gz * Transferência (FTP): [3632]ftp://ftp.gnu.org/gnu/which/which-2.21.tar.gz * Soma de verificação MD5 da transferência: 097ff1a324ae02e0a3b0369f07a7544a * Tamanho da transferência: 148 KB * Espaço em disco estimado exigido: 1 MB * Tempo de construção estimado: menos que 0,1 UPC Instalação do "Which" Instale which executando os seguintes comandos: ./configure --prefix=/usr && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Conteúdo Aplicativo Instalado: which Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas which mostra o caminho completo dos comandos (shell) instalados em seu PATH O Script 'which' A segunda opção (para quem não deseja instalar o pacote) é a de criar um script simples (executar como o(a) usuário(a) root): cat > /usr/bin/which << "EOF" #!/bin/bash type -pa "$@" | head -n 1 ; exit ${PIPESTATUS[0]} EOF chmod -v 755 /usr/bin/which chown -v root:root /usr/bin/which Isso deveria funcionar bem e é provavelmente a solução mais fácil para a maioria dos casos, mas não é a implementação mais abrangente. Zip-3.0 Introdução ao "Zip" O pacote Zip contém utilitários Zip. Eles são úteis para comprimir arquivos em arquivamentos ZIP. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3633]https://downloads.sourceforge.net/infozip/zip30.tar.gz * Transferência (FTP): [3634]ftp://ftp.info-zip.org/pub/infozip/src/zip30.tgz * Soma de verificação MD5da transferência: 7b74551e63f8ee6aab6fbc86676c0d37 * Tamanho da transferência: 1,1 MB * Espaço em disco estimado exigido: 6,4 MB * Tempo de construção estimado: 0,1 UPC Instalação do "Zip" Instale Zip executando os seguintes comandos: make -f unix/Makefile generic_gcc Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make prefix=/usr MANDIR=/usr/share/man/man1 -f unix/Makefile install Explicações do Comando make prefix=/usr -f unix/Makefile install: Esse comando substitui a variável prefix que está configurada como /usr/local no unix/Makefile. Alternativas para generic_gcc podem ser vistas com um comando make -f unix/Makefile list. Conteúdo Aplicativos Instalados: zip, zipcloak, zipnote e zipsplit Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas zip comprime arquivos em um arquivamento ZIP zipcloak é um utilitário para encriptar e desencriptar um arquivamento ZIP zipnote lê ou escreve comentários armazenados em um arquivo ZIP zipsplit é um utilitário para dividir arquivos ZIP em arquivos menores Capítulo 13. Programação Um sistema LFS básico pode ser usado como uma plataforma de desenvolvimento, porém o sistema básico inclui somente suporte de linguagem para C, C++, Perl e Python. Esse capítulo fornece instruções para construir muitos ambientes de programação populares para expandir significativamente as capacidades de desenvolvimento do seu sistema. Autoconf2.13 Introdução ao "Autoconf2.13" Autoconf2.13 é uma versão antiga do Autoconf . Essa versão antiga aceita chaves que não são válidas em versões mais recentes e aplicativos Mozilla ainda precisam dessas chaves agora, de forma que eles exigem essa versão antiga para regenerar os conjuntos de comandos sequenciais de configuração. Ao contrário de outros aplicativos Mozilla, os tarballs de lançamento do SeaMonkey não contém os conjuntos de comandos sequenciais pré gerados de configuração, de forma que essa versão antiga é exigida mesmo se os arquivos de configuração não tiverem sido mudados. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3635]https://ftp.gnu.org/gnu/autoconf/autoconf-2.13.tar.gz * Transferência (FTP): [3636]ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.13.tar.gz * Soma de verificação MD5 da transferência: 9de56d4a161a723228220b0f425dc711 * Tamanho da transferência: 434 KB * Espaço em disco estimado exigido: 2,8 MB * Tempo de construção estimado: menos que 0,1 UPC (adicional 0,1 UPC para os testes) Transferências Adicionais * Remendo exigido: [3637]https://www.linuxfromscratch.org/patches/blfs/12.0/autoconf-2 .13-consolidated_fixes-1.patch Instalação do "Autoconf2.13" Instale Autoconf executando os seguintes comandos: patch -Np1 -i ../autoconf-2.13-consolidated_fixes-1.patch && mv -v autoconf.texi autoconf213.texi && rm -v autoconf.info && ./configure --prefix=/usr --program-suffix=2.13 && make Para testar a instalação, emita make check (todos os 253 testes deveriam passar). Agora, como o(a) usuário(a) root: make install && install -v -m644 autoconf213.info /usr/share/info && install-info --info-dir=/usr/share/info autoconf213.info Explicações do Comando mv -v autoconf.texi autoconf213.texi: certifique-se de que o arquivo "info" adicionado por esse pacote não sobrescreverá a versão mais recente. rm -v autoconf.info: certifique-se de que o arquivo "info" será criado pela versão atual do "texinfo". --program-suffix=2.13: certifique-se de que os aplicativos instalados tenham a versão adicionada aos nomes deles, de forma que somente um script que procure especificamente por essas versões antigas os encontrará. install -v -m644 ...: o remendo remove informações de instalação do "Makefile" porque isso instalaria (e se necessário recriaria) "standards.info" que é uma versão antiga, de forma que agora autoconf213.info tem de ser instalado manualmente. Conteúdo Aplicativos Instalados: autoconf2.13, autoheader2.13, autoreconf2.13, autoscan2.13, autoupdate2.13 e ifnames2.13 Biblioteca Instalada: Nenhum(a) Diretório Instalado: /usr/share/autoconf-2.13 Descrições Curtas autoconf2.13 Produz scripts de shell que configuram automaticamente pacotes de código-fonte de software para se adaptarem a muitos tipos de sistemas do tipo Unix autoheader2.13 é uma ferramenta para criar arquivos de modelo de declarações C #define para o "configure" usar autoreconf2.13 Isso executa automaticamente autoconf2.13, autoheader2.13, aclocal, automake, gettextize e libtoolize na ordem correta quando mudanças tenham sido feitas nos arquivos de modelo autoconf ou automake autoscan2.13 Pode ser usado como uma etapa preliminar na criação de um arquivo configure.in autoupdate2.13 Modifica um arquivo configure.in que ainda chama macros autoconf pelos nomes antigos deles para usar os nomes de macro atuais ifnames2.13 Imprime os identificadores que o pacote usa nas condicionais do pré-processador C [Se um pacote já tiver sido configurado para ter alguma portabilidade, [então] esse aplicativo pode ajudar a determinar o que o "configure" precisa verificar. Ele também pode preencher lacunas em um arquivo "configure.in" gerado pelo "autoscan"] Cbindgen-0.24.3 Introdução ao "Cbindgen" Cbindgen pode ser usado para gerar ligações C para código Rust. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3638]https://github.com/eqrion/cbindgen/archive/v0.24.3/cbindgen-0 .24.3.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 6aa2991ca8411f9ebf9961e8b873e884 * Tamanho da transferência: 204 KB * Espaço em disco estimado exigido: 121 MB (adicionar 596 MB para os testes) * Tempo de construção estimado: 0,5 UPC (adicionar 0,4 UPC para os testes), ambos em uma máquina de 4 núcleos Dependências do "cbindgen" Exigidas [3639]rustc-1.71.1 Nota Uma conexão com a Internet é necessária para construir esse pacote. Instalação do "cbindgen" Instale cbindgen executando os seguintes comandos: cargo build --release Para testar os resultados, emita: cargo test. Três testes na suíte final são conhecidos por falharem. Agora, como o(a) usuário(a) root: install -Dm755 target/release/cbindgen /usr/bin/ Conteúdo Aplicativo Instalado: cbindgen Biblioteca Instalada: Nenhum(a) Diretório Instalado: Nenhum(a) Descrições Curtas cbindgen gera ligações C para código Rust Clisp-2.49 Introdução ao "Clisp" GNU Clisp é uma implementação "Common Lisp" que inclui um interpretador, compilador, depurador e muitas extensões. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3640]https://ftp.gnu.org/gnu/clisp/latest/clisp-2.49.tar.bz2 * Transferência (FTP): [3641]ftp://ftp.gnu.org/gnu/clisp/latest/clisp-2.49.tar.bz2 * Soma de verificação MD5 da transferência: 1962b99d5e530390ec3829236d168649 * Tamanho da transferência: 7,8 MB * Espaço em disco estimado exigido: 163 MB (adicionar 8 MB para os testes) * Tempo de construção estimado: 0,9 UPC (1,2 UPC com os testes) Transferências Adicionais * Remendo opcional: [3642]https://www.linuxfromscratch.org/patches/blfs/12.0/clisp-2.49 -readline7_fixes-1.patch (exigido se construir contra a "libffcall") Dependências do "Clisp" Recomendadas [3643]libsigsegv-2.14 Opcionais [3644]libnsl-2.0.0 e [3645]libffcall Instalação do "Clisp" Nota Esse pacote não suporta construção paralela. Se você estiver construindo em um sistema de 32 bits, [então] contorne um defeito no "GCC" causado pela versão mais recente do "binutils": case $(uname -m) in i?86) export CFLAGS="${CFLAGS:--O2 -g} -falign-functions=4" ;; esac Remova dois testes que falham por motivos desconhecidos: sed -i -e '/socket/d' -e '/"streams"/d' tests/tests.lisp Instale Clisp executando os seguintes comandos: Se você estiver construindo clisp contra a libffcall, [então] aplique o remendo para corrigir uma falha de construção com a readline atual: patch -Np1 -i ../clisp-2.49-readline7_fixes-1.patch Instale Clisp executando os seguintes comandos: mkdir build && cd build && ../configure --srcdir=../ \ --prefix=/usr \ --docdir=/usr/share/doc/clisp-2.49 \ --with-libsigsegv-prefix=/usr && ulimit -s 16384 && make -j1 Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Explicações do Comando ulimit -s 16384: isso aumenta o tamanho máximo da pilha, conforme recomendado pelo configure. --docdir=/usr/share/doc/clisp-2.49: isso garante que a documentação "HTML" irá para um diretório versionado em vez de diretamente para /usr/share/html/. --with-libsigsegv-prefix=/usr: use isso para informar ao configure que você instalou o libsigsegv em /usr, caso contrário ele não será encontrado. --with-libffcall-prefix=/usr: use isso para informar ao configure que você instalou o libffcall opcional em /usr, caso contrário, como libsigsegv, ele não será encontrado. Conteúdo Aplicativos Instalados: clisp, clisp-link Bibliotecas Instaladas: várias bibliotecas estáticas em /usr/lib/clisp-2.49/base/ Diretórios Instalados: /usr/lib/clisp-2.49 /usr/share/doc/clisp-2.49 /usr/share/emacs/site-lisp; Descrições Curtas clisp é um compilador, interpretador e depurador "ANSI" "Common Lisp" clisp-link é usado para vincular um módulo externo ao "clisp" CMake-3.27.2 Introdução ao "CMake" O pacote CMake contém um conjunto moderno de ferramentas usado para gerar "Makefiles". É um sucessor do script configure gerado automaticamente e pretende ser independente de plataforma e de compilador. Um usuário significativo do CMake é o KDE desde a versão 4. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3646]https://cmake.org/files/v3.27/cmake-3.27.2.tar.gz * Transferência (FTP): * Soma de verificação MD5da transferência: 07786cd23c3d0aa9c2fef69efb13662b * Tamanho da transferência: 10 MB * Espaço em disco estimado exigido: 424 MB (adicionar 1,2 GB para testes) * Tempo de construção estimado: 2,0 UPC (adicionar 3,2 UPC para testes, ambos usando paralelismo=4) Dependências do "CMake" Recomendadas [3647]cURL-8.2.1, [3648]libarchive-3.7.1, [3649]libuv-1.46.0 e [3650]nghttp2-1.55.1 Opcionais [3651]GCC-13.2.0 (para gfortran), [3652]git-2.41.0 (para uso durante testes), [3653]Mercurial-6.5.1 (para uso durante testes), ([3654]Qt-5.15.10 ou [3655]qt-alternate-5.15.10) (para a GUI baseada em Qt), [3656]sphinx-7.1.2 (para construir documentos), [3657]Subversion-1.14.2 (para testagem), [3658]cppdap, [3659]jsoncpp e [3660]rhash Instalação do "CMake" Instale CMake executando os seguintes comandos: sed -i '/"lib64"/s/64//' Modules/GNUInstallDirs.cmake && ./bootstrap --prefix=/usr \ --system-libs \ --mandir=/share/man \ --no-system-jsoncpp \ --no-system-cppdap \ --no-system-librhash \ --docdir=/share/doc/cmake-3.27.2 && make Para testar os resultados, emita: LC_ALL=en_US.UTF-8 bin/ctest -j -O cmake-3.27.2-test.log, onde é um número inteiro entre 1 e o número de núcleos do sistema. A configuração de LC_ALL é necessária para evitar algumas falhas de teste quando algumas das variáveis de localidade estão definidas para localidades diferentes do inglês. Se você quiser investigar um problema com um determinado "problem1-test", [então] use bin/ctest -R "problem1-test" e, para omiti-lo, use bin/ctest -E "problem1-test". Essas opções podem ser usadas juntas: bin/ctest -R "problem1-test" -E "problem2-test". A opção -N pode ser usada para exibir todos os testes disponíveis, e você pode executar bin/ctest para um subconjunto de testes usando nomes ou números separados por espaços como opções . A opção --help pode ser usada para mostrar todas as opções. Agora, como o(a) usuário(a) root: make install Explicações do Comando sed ... Modules/GNUInstallDirs.cmake: Esse comando desabilita aplicativos que usam "cmake" de tentar instalar arquivos em "/usr/lib64/". --system-libs: Essa chave força o sistema de construção a vincular-se a Zlib, Bzip2, cURL, nghttp2, Expat e libarchive instalados no sistema. --no-system-jsoncpp e --no-system-cppdap: Essas chaves removem a biblioteca JSON-C++ da lista de bibliotecas do sistema. Uma versão empacotada dessa biblioteca é usada em lugar dela. --no-system-librhash: Essa chave remove a biblioteca librhash da lista de bibliotecas do sistema usadas. Uma versão empacotada dessa biblioteca é usada em lugar dela. --no-system-{curl,libarchive,libuv,nghttp2}: Use a opção correspondente na lista para o bootstrap se uma das dependências recomendadas não estiver instalada. Uma versão empacotada da dependência será usada em lugar dela. --qt-gui: Essa chave habilita construir a "GUI" baseada em Qt para CMake. --parallel=: Essa chave habilita executar as instruções iniciais de carregamento do CMake com várias tarefas ao mesmo tempo. Conteúdo Aplicativos Instalados: ccmake, cmake, cmake-gui (opcional), cpack e ctest Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/share/cmake-3.27 e /usr/share/doc/cmake-3.27.2 Descrições Curtas ccmake é uma estrutura de interação direta com o(a) usuário(a) baseada em "curses" para cmake cmake é o gerador de "makefile" cmake-gui (opcional) é a estrutura de interação direta com o(a) usuário(a) baseada em Qt para o cmake cpack é o aplicativo de empacotamento CMake ctest é um utilitário de teste para árvores de construção geradas pelo "cmake" Doxygen-1.9.7 Introdução ao "Doxygen" O pacote Doxygen contém um sistema de documentação para "C++", "C", "Java", "Objective-C", "Corba IDL" e, até certo ponto, "PHP", "C#" e "D". É útil para gerar documentação "HTML" e(ou) manual de referência fora de linha a partir de um conjunto de arquivos fonte documentados. Também existe suporte para gerar saída em "RTF", "PostScript", "PDF" com hiperlink, "HTML" compactado e páginas de manual "Unix". A documentação é extraída diretamente dos fontes, o que torna muito mais fácil manter a documentação consistente com o código-fonte. Você também pode configurar o Doxygen para extrair a estrutura do código a partir de arquivos fonte não documentados. Isso é muito útil para encontrar rapidamente seu caminho em grandes distribuições de fontes. Usado junto com Graphviz, você também consegue visualizar as relações entre os vários elementos por meio de gráficos de dependência, diagramas de herança e diagramas de colaboração, todos gerados automaticamente. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3661]https://doxygen.nl/files/doxygen-1.9.7.src.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 95008edf2d84aeefb7c65a6a4857dc2c * Tamanho da transferência: 5,5 MB * Espaço em disco estimado exigido: 240 MB (com testes) * Tempo de construção estimado: 1,6 UPC (usando paralelismo = 4; com testes) Dependências do "Doxygen" Exigidas [3662]CMake-3.27.2 e [3663]git-2.41.0 Opcionais [3664]Graphviz-8.1.0, [3665]ghostscript-10.01.2, [3666]libxml2-2.10.4 (exigido para os testes), [3667]LLVM-16.0.5 (com clang), ([3668]Qt-5.15.10 ou [3669]qt-alternate-5.15.10) (para doxywizard), [3670]texlive-20230313 (ou [3671]install-tl-unx), [3672]xapian-1.4.23 (para doxyindexer) e [3673]javacc Instalação do "Doxygen" Nota Ao desempacotar esse pacote, você poderá ver mensagens como “Ignoring unknown extended header keyword 'LIBARCHIVE.xattr.com.apple.TextEncoding'”. Essas mensagens são inofensivas e podem ser seguramente ignoradas. Primeiro, corrija alguns conjuntos de comandos sequenciais python: grep -rl '^#!.*python$' | xargs sed -i '1s/python/&3/' Instale Doxygen executando os seguintes comandos: mkdir -v build && cd build && cmake -G "Unix Makefiles" \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ -Wno-dev .. && make Para testar os resultados, emita: make tests. Um teste, 061_U��nicod���_file, é conhecido por falhar. Se você deseja gerar a documentação do pacote, [então] você precisa ter Python, TeX Live (para documentos "HTML") e Ghostscript (para documentos "PDF") instalados, então emita o seguinte comando: cmake -DDOC_INSTALL_DIR=share/doc/doxygen-1.9.7 -Dbuild_doc=ON .. && make docs Agora, como o(a) usuário(a) root: make install && install -vm644 ../doc/*.1 /usr/share/man/man1 Se você gerou a documentação do pacote, então as páginas de manual serão instaladas automaticamente e você não precisará executar o último comando install .... Explicações do Comando -Dbuild_wizard=ON: Use essa chave se Qt5 estiver instalado e você desejar construir a estrutura "GUI" de interação direta com o(a) usuário(a). -Dbuild_search=ON: Use essa chave se xapian estiver instalado e você desejar construir ferramentas de pesquisa externas (doxysearch.cgi e doxyindexer). -Duse_libclang=ON: Use essa chave se llvm com clang estiverem instalados, para adicionar suporte para análise da "libclang". Configurando o "Doxygen" Não existe nenhuma configuração real necessária para o pacote Doxygen embora três pacotes adicionais sejam exigidos se você desejar usar recursos estendidos. Se precisar usar os recursos de tradução de idiomas, [então] você precisa ter [3674]Python-2.7.18 instalado. Se precisar de fórmulas para criar documentação em "PDF", então você precisa ter o [3675]texlive-20230313 instalado. Se precisar de fórmulas para converter arquivos "PostScript" para "bitmaps", então você precisa ter o [3676]ghostscript-10.01.2 instalado. Conteúdo Aplicativos Instalados: doxygen e opcionalmente, doxywizard, doxyindexer e doxysearch.cgi Bibliotecas Instaladas: Nenhum(a) Diretório Instalado: /usr/share/doc/doxygen-1.9.7 Descrições Curtas doxygen é um utilitário baseado em linha de comando usado para gerar arquivos de configuração de modelo e, em seguida, gerar documentação a partir desses modelos. Use doxygen --help para uma explicação dos parâmetros da linha de comando doxywizard é uma estrutura "GUI" de interação direta com o(a) usuário(a) para configurar e executar doxygen doxyindexer gera um índice de pesquisa chamado doxysearch.db a partir de um ou mais arquivos de dados de pesquisa produzidos por doxygen. Veja-se, por exemplo, [3677]https://javacc.github.io/javacc/ doxysearch.cgi é um aplicativo "CGI" para pesquisar os dados indexados por doxyindexer GCC-13.2.0 Introdução ao GCC O pacote GCC contém a GNU Compiler Collection. Esta página descreve a instalação de compiladores para as seguintes linguagens: C, C++, Fortran, Objective C, Objective C++, Go e Modula2. Como C e C++ são instalados no LFS, esta página é tanto para atualizar C e C++ quanto para instalar compiladores adicionais. Nota Linguagens adicionais, entre as quais D e Ada, estão disponíveis na coleção. D e Ada tem um requisito de instruções iniciais de carregamento de binário para a primeira instalação, de modo que a instalação deles não está descrita aqui. Para instalá-los, você pode proceder da mesma forma abaixo depois de instalar o compilador correspondente a partir de um pacote binário, adicionando ada ou d à linha --enable-languages. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Cuidado Se você estiver atualizando o GCC a partir de qualquer outra versão anterior ao 13.2.0, então você precisa ser cuidadoso(a) ao compilar módulos de terceiros do núcleo. Você deveria garantir que o núcleo e todos os módulos nativos dele também sejam compilados usando a mesma versão do GCC que você usa para construir o módulo de terceiros. Esse problema não afeta as atualizações do núcleo nativo (e dos módulos do núcleo), pois as instruções abaixo são uma reinstalação completa do GCC. Se você tiver módulos de terceiros instalados, certifique-se de que eles sejam recompilados usando a versão atualizada do GCC. Como sempre, nunca atualize os cabeçalhos do núcleo a partir daqueles usados quando o Glibc foi compilado durante o LFS. Informação do Pacote * Transferência (HTTP): [3678]https://ftp.gnu.org/gnu/gcc/gcc-13.2.0/gcc-13.2.0.tar.xz * Transferência (FTP): [3679]ftp://ftp.gnu.org/gnu/gcc/gcc-13.2.0/gcc-13.2.0.tar.xz * Soma de verificação MD5 da transferência: e0e48554cc6e4f261d55ddee9ab69075 * Tamanho da transferência: 84 MB * Espaço em disco estimado exigido: 13 GB (2,9 GB instalado com todas as linguagens listadas; adicionar 1,5 GB para testes) * Tempo de construção estimado: 13 UPC (adicionar 29 UPC para testes; ambos com paralelismo=8) Dependências do GCC Opcionais [3680]GDB-13.2, [3681]Valgrind-3.21.0 (para os testes) e [3682]ISL (para habilitar a otimização "graphite") Observações de Editor(a): [3683]https://wiki.linuxfromscratch.org/blfs/wiki/gcc Instalação do GCC Importante Mesmo se você especificar somente linguagens diferentes de "C" e "C++" para o comando ./configure abaixo, o processo de instalação substituirá seus compiladores e bibliotecas "C" e "C++" do GCC existentes. Executar a suíte completa de teste é recomendado. Não continue com o comando make install até ter certeza de que a construção foi bem-sucedida. Você pode comparar seus resultados de teste com aqueles encontrados em [3684]https://gcc.gnu.org/ml/gcc-testresults/. Você também possivelmente deseje consultar as informações encontradas na seção do GCC do Capítulo 8 no livro LFS ([3685]../../../../lfs/view/12.0-systemd/chapter08/gcc.html). As instruções abaixo estão intencionalmente realizando um processo de “bootstrap”. As instruções iniciais de carregamento são necessárias para robustez e são altamente recomendadas ao atualizar a versão dos compiladores. Para desabilitar as instruções iniciais de carregamento de qualquer maneira, adicione --disable-bootstrap às opções ./configure abaixo. Instale o GCC executando os seguintes comandos: case $(uname -m) in x86_64) sed -i.orig '/m64=/s/lib64/lib/' gcc/config/i386/t-linux64 ;; esac mkdir build && cd build && ../configure \ --prefix=/usr \ --disable-multilib \ --with-system-zlib \ --enable-default-pie \ --enable-default-ssp \ --disable-fixincludes \ --enable-languages=c,c++,fortran,go,objc,obj-c++,m2 && make Se você tiver instalado pacotes adicionais, como valgrind e gdb, a parte gcc da suíte de teste executará mais testes que no LFS. Alguns deles informarão FAIL e outros XPASS (aprovados quando esperado FAIL). A partir do gcc-13.2.0, cerca de sessenta e cinco (65) FAIL ocorrem na suíte “guality”, bem como falhas diversas em todo o resto da suíte de teste. Se todos os compiladores acima forem construídos, existirão um pouco mais que oitenta (80) falhas inesperadas em mais que quinhentos e quarenta e seis mil (546.000) testes. Para executar os testes, emita: ulimit -s 32768 && make -k check Os testes são muito longos e os resultados possivelmente sejam difíceis de encontrar nos registros, especialmente se você usar tarefas paralelas com "make". Você consegue obter um resumo dos testes com: ../contrib/test_summary Agora, como o(a) usuário(a) root: make install && mkdir -pv /usr/share/gdb/auto-load/usr/lib && mv -v /usr/lib/*gdb.py /usr/share/gdb/auto-load/usr/lib && chown -v -R root:root \ /usr/lib/gcc/*linux-gnu/13.2.0/include{,-fixed} Explicações do Comando mkdir build; cd build: A documentação do GCC recomenda construir o pacote em um diretório de construção dedicado. --disable-multilib: Esse parâmetro garante que os arquivos sejam criados para a arquitetura específica do seu computador. --with-system-zlib: Usa a zlib do sistema em vez daquela empacotada. A zlib é usada para comprimir e descomprimir a linguagem intermediária do GCC em arquivos de objeto "Link Time Optimization" ("LTO"). --enable-default-pie: Torna a opção -fpie o padrão ao compilar aplicativos. Juntamente com o recurso [3686]ASLR habilitado no núcleo, isso derrota alguns tipos de ataques baseados em esquemas conhecidos de memória. --enable-default-ssp: Torna a opção -fstack-protector-strong o padrão ao compilar aplicativos. [3687]SSP é uma técnica que evita a alteração do fluxo do programa por corrompimento da pilha de parâmetros. --enable-languages=c,c++,fortran,go,objc,obj-c++,m2: Esse comando identifica quais linguagens construir. Você pode modificar esse comando para remover linguagens indesejadas. A GCC também suporta Ada e D, mas construir a GCC com suporte a Ada (ou D) precisa de um compilador Ada (ou D) existente. Portanto, eles não estão habilitados aqui. ulimit -s 32768: Esse comando evita que vários testes fiquem sem espaço na pilha. make -k check: Esse comando executa a suíte de teste sem parar se quaisquer erros forem encontrados. ../contrib/test_summary: Esse comando produzirá um resumo dos resultados da suíte de teste. Você pode anexar | grep -A7 Summ ao comando para produzir uma versão ainda mais condensada do resumo. Você possivelmente também deseje redirecionar a saída gerada para um arquivo para revisão e comparação posterior. mv -v /usr/lib/*gdb.py ...: A etapa de instalação coloca alguns arquivos usados pelo gdb sob o diretório /usr/lib. Isso gera mensagens de erro falsas ao executar o ldconfig. Esse comando move os arquivos para outro local. chown -v -R root:root /usr/lib/gcc/*linux-gnu/...: Se o pacote for construído por um(a) usuário(a) diferente de "root", [então] titularidade da propriedade do diretório include instalado (e o conteúdo dele) estará incorreta. Esse comando muda a titularidade da propriedade para o(a) usuário(a) e grupo root. --enable-host-shared --enable-languages=jit: Construir libgccjit, uma biblioteca para incorporar a GCC em aplicativos e bibliotecas para gerar código de máquina . Apesar do “JIT” (just-in-time) no nome, a biblioteca também pode ser usada para compilação AOT (ahead-of-time). --enable-host-shared é necessário para construir libgccjit, mas retarda significativamente a GCC. Portanto libgccjit deveria ser construída e instalada separadamente, não como parte da instalação “principal” da GCC. Se você precisar dessa biblioteca, configure a GCC com essas duas opções e instale a biblioteca executando make -C gcc jit.install-common jit.install-info como o(a) usuário(a) root. Essa biblioteca não é usada por nenhum pacote do BLFS, nem testada pelos(as) desenvolvedores(as) do BLFS. Conteúdo Alguns nomes e descrições de aplicativos e bibliotecas não estão listados aqui, mas podem ser encontrados na [3688]seção do LFS para "GCC", já que foram inicialmente instalados durante a construção do LFS. Aplicativos Instalados: gccgo, gfortran, gm2, go e gofmt, rigidamente vinculados a nomes específicos de arquitetura Bibliotecas Instaladas: libgfortran.{so,a}, libgm2.{so,a}, libgo.{so,a}, libgobegin.a, libgolibbegin.a, libobjc.{so,a} e numerosos(as) outros(as) bibliotecas e executáveis de tempo de execução Diretórios Instalados: /usr/lib/go Descrições Curtas gccgo é um compilador baseado na GCC para a linguagem Go gm2 é um compilador baseado na GCC para a linguagem Modula-2 go é uma ferramenta para gerenciar o código-fonte da Go gofmt é uma ferramenta para formatar o código-fonte da Go gfortran é um compilador baseado na GCC para a linguagem Fortran GC-8.2.4 Introdução ao "GC" O pacote GC contém o coletor conservador de lixo Boehm-Demers-Weiser, que pode ser usado como um substituto da coleta de lixo para a função "malloc" da "C" ou o novo operador da "C++". Ele permite que você aloque memória basicamente como faria normalmente, sem desalocar explicitamente a memória que não é mais útil. O coletor recicla automaticamente a memória quando determina que ela não mais consegue ser acessada de outra forma. O coletor também é usado por diversas implementações de linguagens de programação que, ou usam a "C" como código intermediário; desejam facilitar a interoperação mais fácil com bibliotecas "C"; ou apenas preferem a interface simples do coletor. Alternativamente, o coletor de lixo possivelmente seja usado como detector de vazamentos para aplicativos "C" ou "C++", embora esse não seja o objetivo principal dele. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3689]https://github.com/ivmai/bdwgc/releases/download/v8.2.4/gc-8. 2.4.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 8901a6ed29ac35842420054772ea3441 * Tamanho da transferência: 1,2 MB * Espaço em disco estimado exigido: 9,9 MB (com testes) * Tempo de construção estimado: 0,2 UPC (com testes) Opcionais [3690]libatomic_ops-7.8.0 Instalação do "GC" Instale GC executando os seguintes comandos: ./configure --prefix=/usr \ --enable-cplusplus \ --disable-static \ --docdir=/usr/share/doc/gc-8.2.4 && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install && install -v -m644 doc/gc.man /usr/share/man/man3/gc_malloc.3 Explicações do Comando --docdir=/usr/share/doc/gc-8.2.4: Essa opção é usada de forma que o pacote instalará a documentação em um diretório versionado. --enable-cplusplus: Esse parâmetro habilita a construção e instalação da biblioteca "C++" juntamente com a biblioteca "C" padrão. --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libcord.so, libgc.so, libgccpp.so e libgctba.so Diretórios Instalados: /usr/include/gc e /usr/share/doc/gc-8.2.4 Descrições Curtas libcord.so contém uma biblioteca de sequências de caracteres baseada em árvore libgc.so contém uma interface "C" para o coletor conservador de lixo, projetada principalmente para substituir a função "malloc" da "C" libgccpp.so contém uma interface "C++" para o coletor conservador de lixo libgctba.so contém uma interface "C++" para lançar alocações incorretas GDB-13.2 Introdução ao GDB GDB, o depurador do Projeto "GNU", permite que você veja o que está acontecendo “dentro” de outro aplicativo enquanto ele é executado - ou o que outro aplicativo estava fazendo no momento em que travou. Observe que GDB é mais eficaz ao rastrear aplicativos e bibliotecas que foram construídos(as) com símbolos de depuração e não despojados(as). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3691]https://ftp.gnu.org/gnu/gdb/gdb-13.2.tar.xz * Transferência (FTP): [3692]ftp://ftp.gnu.org/gnu/gdb/gdb-13.2.tar.xz * Soma de verificação MD5 da transferência: fbd3cdae16c581e8a742cb766ba35076 * Tamanho da transferência: 23 MB * Espaço em disco estimado exigido: 914 MB (adicionar 805 MB para documentos; adicionar 575 MB para testes) * Tempo de construção estimado: 2,1 UPC (adicionar 0,4 UPC para documentos; adicionar 18 UPC para testes; todos usando paralelismo=4) Dependências do GDB Dependência Recomendada de Tempo de Execução [3693]six-1.16.0 (módulo "Python" 3, exigido em tempo de execução para usar scripts GDB a partir de vários pacotes do LFS/BLFS com "Python" 3 instalado no LFS) Opcionais [3694]Doxygen-1.9.7, [3695]GCC-13.2.0 (ada, gfortran e go são usados para testes), [3696]Guile-3.0.9, [3697]rustc-1.71.1 (usado para alguns testes), [3698]Valgrind-3.21.0 e [3699]SystemTap (tempo de execução, usado para testes) Instalação do GDB Instale o GDB executando os seguintes comandos: mkdir build && cd build && ../configure --prefix=/usr \ --with-system-readline \ --with-python=/usr/bin/python3 && make Opcionalmente, para construir a documentação da "API" usando [3700]Doxygen-1.9.7, execute: make -C gdb/doc doxy Para testar os resultados, emita: pushd gdb/testsuite && make site.exp && echo "set gdb_test_timeout 120" >> site.exp && runtest popd Veja-se gdb/testsuite/README e [3701]TestingGDB. Existem muitos problemas com a suíte de teste: * Diretórios limpos são necessários se reexecutar-se os testes. Por esse motivo, produza uma cópia do diretório do código-fonte compilado antes dos testes, caso precise executar os testes novamente. * Os resultados dependem dos compiladores instalados. * Uma execução de teste da suíte de teste teve cento e oitenta e três (183) falhas inesperadas em mais de cento e cinco mil (105.000) testes. * Em alguns sistemas, a suíte de teste "gdb.tui" falhará se executada em SSH. * Em alguns sistemas baseados em "AMD", mais que duzentos (200) testes adicionais possivelmente falhem devido a uma diferença na implementação de camadas nessas "CPUs". Agora, como o(a) usuário(a) root: make -C gdb install && make -C gdbserver install Se você construiu a documentação da "API", [então] ela agora está em "gdb/doc/doxy". Você consegue instalá-la (como o(a) usuário(a) root): install -d /usr/share/doc/gdb-13.2 && rm -rf gdb/doc/doxy/xml && cp -Rv gdb/doc/doxy /usr/share/doc/gdb-13.2 Explicações do Comando --with-system-readline: Essa chave força o GDB a usar a cópia do Readline instalada no LFS. --with-python=/usr/bin/python3: Essa chave força GDB a usar Python 3. Conteúdo Aplicativos Instalados: gcore, gdb, gdbserver e gdb-add-index Biblioteca Instalada: libinproctrace.so Diretórios Instalados: /usr/{include,share}/gdb e /usr/share/doc/gdb-13.2 Descrições Curtas gcore gera um despejo principal de um aplicativo em execução gdb é o Depurador GNU gdbserver é um servidor remoto para o depurador "GNU" (permite que aplicativos sejam depurados a partir de uma máquina diferente) gdb-add-index Permite adicionar arquivos de índice a binários ELF. Isso acelera o início do gdb em aplicativos grandes. libinproctrace.so contém funções para o agente de rastreamento em processo. O agente permite instalar pontos de rastreamento rápidos, listar marcadores de pontos de rastreamento estáticos, sondar marcadores de pontos de rastreamento estáticos e iniciar o monitoramento de rastreamento. Git-2.41.0 Introdução ao "Git" Git é um sistema de controle de versão distribuído, gratuito e de código aberto, projetado para lidar com tudo, desde projetos pequenos a muito grandes, com velocidade e eficiência. Cada clone do Git é um repositório completo com histórico completo e recursos completos de rastreamento de revisão, não dependente de acesso à rede de comunicação ou de um servidor central. Ramificar e mesclar são rápidos e fáceis de fazer. Git é usado para controle de versão de arquivos, assim como ferramentas como [3702]Mercurial-6.5.1, Bazaar, [3703]Subversion-1.14.2, [3704]CVS, Perforce e Team Foundation Server. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3705]https://www.kernel.org/pub/software/scm/git/git-2.41.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: c1f58a12b891ad73927b8e4a3aa29c7b * Tamanho da transferência: 11 MB * Espaço em disco estimado exigido: 252 MB (com documentação baixada) * Tempo de construção estimado: 0,3 UPC (com paralelismo=4; adicionar até 1,6 UPC (dependente da velocidade do disco) para testes, ambos com paralelismo=4) Transferências Adicionais * [3706]https://www.kernel.org/pub/software/scm/git/git-manpages-2.41 .0.tar.xz (não necessário se você tiver instalado [3707]asciidoc-10.2.0, [3708]xmlto-0.0.28 e preferir reconstrui-las) * [3709]https://www.kernel.org/pub/software/scm/git/git-htmldocs-2.41 .0.tar.xz e outros documentos (não necessários se você tiver instalado [3710]asciidoc-10.2.0 e desejar reconstruir a documentação). Dependências do "Git" Recomendadas [3711]cURL-8.2.1 (necessário para usar Git por meio de "HTTP", "HTTPS", "FTP" or "FTPS") Opcionais [3712]Apache-2.4.57 (para alguns testes), [3713]GnuPG-2.4.3 (tempo de execução, possivelmente seja usado para assinar commits ou tags do Git ou para verificar as assinaturas deles), [3714]OpenSSH-9.4p1 (tempo de execução, necessário para usar Git sobre ssh), [3715]pcre2-10.42 (ou o obsoleto [3716]PCRE-8.45), em ambos os casos configurados com --enable-jit, [3717]Subversion-1.14.2 com ligações Perl (tempo de execução, para git svn), [3718]Tk-8.6.13 (gitk, um visualizador simples de repositórios Git, usa Tk em tempo de execução), [3719]Valgrind-3.21.0, [3720]Authen::SASL e [3721]MIME::Base64 (ambos tempo de execução, para git send-email) e [3722]IO-Socket-SSL-2.083 (tempo de execução, para git send-email conectar-se a um servidor SMTP com encriptação SSL) Opcional (para criar as páginas de manual, documentos "HTML" e outros documentos) [3723]xmlto-0.0.28 e [3724]asciidoc-10.2.0 , e também [3725]dblatex (para a versão "PDF" do manual de usuário(a)) e [3726]docbook2x para criar páginas "info" Instalação do "Git" Instale Git executando os seguintes comandos: ./configure --prefix=/usr \ --with-gitconfig=/etc/gitconfig \ --with-python=python3 && make Você pode construir as páginas de manual e(ou) documentos "HTML" ou usar os baixados. Se você decidir construí-los(as), [então] use as próximas duas instruções. Se você instalou [3727]asciidoc-10.2.0, [então] você pode criar a versão "HTML" das páginas de manual e outros documentos: make html Se você instalou [3728]asciidoc-10.2.0 e [3729]xmlto-0.0.28, [então] você pode criar as páginas de manual: make man A suíte de teste pode ser executada em modo paralelo. Para executar a suíte de teste, emita: make -k test. Se [3730]Apache-2.4.57 estiver instalado, três testes em t5559-http-fetch-smart-http2.sh são conhecidos por falhar devido ao cURL-8.1.x. Agora, como o(a) usuário(a) root: make perllibdir=/usr/lib/perl5/5.38/site_perl install Se você criou as páginas de manual e(ou) documentos "HTML" Instale as páginas de manual como o(a) usuário(a) root: make install-man Instale os documentos "HTML" como o(a) usuário(a) root: make htmldir=/usr/share/doc/git-2.41.0 install-html Se você baixou as páginas de manual e(ou) documentos "HTML" Se você baixou as páginas de manual, [então] descompacte-as como o(a) usuário(a) root: tar -xf ../git-manpages-2.41.0.tar.xz \ -C /usr/share/man --no-same-owner --no-overwrite-dir Se você baixou os documentos "HTML", [então] descompacte-os como o(a) usuário(a) root: mkdir -vp /usr/share/doc/git-2.41.0 && tar -xf ../git-htmldocs-2.41.0.tar.xz \ -C /usr/share/doc/git-2.41.0 --no-same-owner --no-overwrite-dir && find /usr/share/doc/git-2.41.0 -type d -exec chmod 755 {} \; && find /usr/share/doc/git-2.41.0 -type f -exec chmod 644 {} \; Reorganize o texto e o "HTML" no "html-docs" (ambos os métodos) Para ambos os métodos, o "html-docs" inclue muitos arquivos planos de texto. Reorganize os arquivos como o(a) usuário(a) root: mkdir -vp /usr/share/doc/git-2.41.0/man-pages/{html,text} && mv /usr/share/doc/git-2.41.0/{git*.txt,man-pages/text} && mv /usr/share/doc/git-2.41.0/{git*.,index.,man-pages/}html && mkdir -vp /usr/share/doc/git-2.41.0/technical/{html,text} && mv /usr/share/doc/git-2.41.0/technical/{*.txt,text} && mv /usr/share/doc/git-2.41.0/technical/{*.,}html && mkdir -vp /usr/share/doc/git-2.41.0/howto/{html,text} && mv /usr/share/doc/git-2.41.0/howto/{*.txt,text} && mv /usr/share/doc/git-2.41.0/howto/{*.,}html && sed -i '/^> /h ome/git/.ssh/authorized_keys && cat >> /home/git/.ssh/authorized_keys Também é útil definir o nome padrão da ramificação inicial de novos repositórios modificando a configuração do "git". Como o(a) usuário(a) root, execute: git config --system init.defaultBranch trunk Por fim, adicione a entrada /usr/bin/git-shell ao arquivo de configuração /etc/shells. Esse shell foi definido no perfil do(a) usuário(a) git e serve para garantir que somente ações relacionadas ao "git" possam ser executadas: echo "/usr/bin/git-shell" >> /etc/shells 2. Criar um repositório "git" O repositório pode estar em qualquer lugar no sistema de arquivos. É importante que o(a) usuário(a) "git" tenha acesso de leitura/escrita a esse local. Usamos /srv/git como diretório base. Crie um novo repositório git com os seguintes comandos (como o(a) usuário(a) root): Nota Em todas as instruções abaixo, usamos projeto1 como um nome de repositório de exemplo. Você deveria nomear seu repositório como um nome descritivo curto para seu projeto específico. install -o git -g git -m755 -d /srv/git/projeto1.git && cd /srv/git/projeto1.git && git init --bare && chown -R git:git . 3. Povoar o repositório a partir de um sistema cliente Nota Todas as instruções nesta seção e na próxima deveriam ser feitas em um sistema do(a) usuário(a), não no sistema do servidor. Agora que o repositório foi criado, ele pode ser usado pelos(as) desenvolvedores(as) para colocar alguns arquivos nele. Depois que a chave "ssh" do(a) usuário(a) for importada para o arquivo authorized_keys do "git", o(a) usuário(a) poderá interagir com o repositório. Uma configuração mínima deveria estar disponível no sistema do(a) desenvolvedor(a) especificando o nome de usuário(a) e endereço de correio eletrônico dele(a). Crie esse arquivo de configuração mínima no lado do cliente: cat > ~/.gitconfig < email = EOF Na máquina do(a) desenvolvedor(a), configure alguns arquivos para serem enviados ao repositório como conteúdo inicial: Nota O termo gitserver usado abaixo deveria ser o nome do dispositivo (ou endereço "IP") do servidor "git". mkdir meuprojeto cd meuprojeto git init --initial-branch=trunk git remote add origin git@gitserver:/srv/git/projeto1.git cat >LEIAME < Especifique o local dos repositórios "git". Os caminhos relativos usados ao acessar o processo de segundo plano serão traduzidos relativos a esse diretório. * DFT_REPO_DIR= Esse diretório é adicionado à lista branca de diretórios permitidos. Essa variável pode conter vários nomes de diretório, mas geralmente é definida igual a GIT_BASE_DIR. * GIT_DAEMON_OPTS= No caso de opções especiais para o comando git daemon serem necessárias, elas tem de ser especificadas nessa configuração. Um exemplo pode ser ajustar o número da porta onde o processo de segundo plano está escutando. Nesse caso, adicione --port= a essa variável. Para mais informações relativas a quais opções podem ser definidas, dê uma olhada na saída gerada de git daemon --help. Após iniciar o processo de segundo plano, usuários(as) não autenticados(as) conseguem clonar repositórios exportados usando git clone git://gitserver/projeto1.git Como o diretório base é /srv/git por padrão (ou definido como um valor personalizado na configuração), git interpreta o caminho de entrada (/projeto1.git) relativo a esse diretório base, de modo que o repositório em /srv/git/projeto1.git seja servido. Guile-3.0.9 Introdução ao "Guile" O pacote Guile contém a biblioteca de linguagens de extensão do Projeto "GNU". Guile também contém um interpretador Scheme independente. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3736]https://ftp.gnu.org/gnu/guile/guile-3.0.9.tar.xz * Transferência (FTP): [3737]ftp://ftp.gnu.org/gnu/guile/guile-3.0.9.tar.xz * Soma de verificação MD5 da transferência: 258983e0156c2bc66539dcbcb96f2bd2 * Tamanho da transferência: 5,5 MB * Espaço em disco estimado exigido: 221 MB (adicionar 4 MB para os testes) * Tempo de construção estimado: 5,9 UPC (Usando paralelismo=4; adicionar 0,3 UPC para os testes) Dependências do "Guile" Exigidas [3738]GC-8.2.4 e [3739]libunistring-1.1 Opcionais [3740]Emacs-29.1 e [3741]GDB-13.2 (dependências somente em tempo de execução). Instalação do "Guile" Instale Guile executando os seguintes comandos: ./configure --prefix=/usr \ --disable-static \ --docdir=/usr/share/doc/guile-3.0.9 && make && make html && makeinfo --plaintext -o doc/r5rs/r5rs.txt doc/r5rs/r5rs.texi && makeinfo --plaintext -o doc/ref/guile.txt doc/ref/guile.texi Para testar os resultados, emita: ./check-guile. Em um sistema "i686", até dez (10) testes falharão na suíte de teste numbers.test devido a pequenos erros de arredondamento de ponto flutuante. Agora, como o(a) usuário(a) root: make install && make install-html && mkdir -p /usr/share/gdb/auto-load/usr/lib && mv /usr/lib/libguile-*-gdb.scm /usr/share/gdb/auto-load/usr/lib && mv /usr/share/doc/guile-3.0.9/{guile.html,ref} && mv /usr/share/doc/guile-3.0.9/r5rs{.html,} && find examples -name "Makefile*" -delete && cp -vR examples /usr/share/doc/guile-3.0.9 && for DIRNAME in r5rs ref; do install -v -m644 doc/${DIRNAME}/*.txt \ /usr/share/doc/guile-3.0.9/${DIRNAME} done && unset DIRNAME Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativos Instalados: guild, guile, guile-config, guile-snarf e guile-tools Bibliotecas Instaladas: libguile-3.0.so e guile-readline.so Diretórios Instalados: /usr/include/guile, /usr/lib/guile, /usr/share/doc/guile-3.0.9 e /usr/share/guile Descrições Curtas guile é um interpretador "Scheme" independente para Guile guile-config é um script Guile que fornece as informações necessárias para vincular seus programas à biblioteca Guile, em muito da mesma maneira que o "PkgConfig" faz guile-snarf é um script para analisar declarações em seu código C para funções visíveis C do Scheme guild é um aplicativo envólucro instalado junto com o guile, que sabe onde um determinado módulo está instalado e o chama, passando os argumentos dele para o aplicativo guile-tools é um vínculo simbólico para guild Librep-0.92.7 Introdução ao "Librep" O pacote librep contém um sistema "Lisp". Isso é útil para scripts ou para aplicativos que possivelmente usem o interpretador "Lisp" como linguagem de extensão. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3742]https://download.tuxfamily.org/librep/librep_0.92.7.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 036195b371006848e29ed6f50ddc8475 * Tamanho da transferência: 840 KB * Espaço em disco estimado exigido: 10 MB * Tempo de construção estimado: 0,3 UPC Instalação do "Librep" Instale librep executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: sed -i '5043,5044 d' libtool && make install Conteúdo Aplicativos Instalados: rep, rep-remote, rep-xgettext e repdoc Bibliotecas Instaladas: "librep.so" e numerosos módulos instalados na hierarquia "/usr/lib/rep" Diretórios Instalados: /usr/lib/rep, /usr/share/emacs/site-lisp e /usr/share/rep Descrições Curtas rep é o interpretador "Lisp" librep.so contém as funções necessárias para o interpretador "Lisp" LLVM-16.0.5 Introdução ao "LLVM" O pacote LLVM contém uma coleção de compiladores modulares e reutilizáveis e tecnologias de conjunto de ferramentas. As bibliotecas centrais "Low Level Virtual Machine" (LLVM) fornecem um otimizador moderno independente de origem e destino, junto com suporte à geração de código para muitas "CPUs" populares (bem como algumas menos comuns!). Essas bibliotecas são construídas em torno de uma representação de código bem especificada, conhecida como a representação intermediária do LLVM ("LLVM IR"). Clang fornece novas estruturas "C", "C++", "Objective C" e "Objective C++" de interação direta com o(a) usuário(a) para o LLVM e é exigido por alguns pacotes de área de trabalho, como firefox, e para rust se for construído usando o sistema LLVM. O pacote Compiler RT fornece higienizador de tempo de execução e bibliotecas de perfilamento para desenvolvedores(as) que usam Clang e LLVM. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3743]https://github.com/llvm/llvm-project/releases/download/llvmor g-16.0.5/llvm-16.0.5.src.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: d9185fc007c32aea27a6de3c7c1eb90d * Tamanho da transferência: 54 MB * Espaço em disco estimado exigido: 3,1 GB (938 MB instalado; adicionar 20 GB para testes e 308 MB para documentação) * Tempo de construção estimado: 13 UPC (Adicionar 8 UPC para testes; ambos usando paralelismo=8) Transferências Adicionais módulos "Cmake" para o "LLVM" * Transferência: [3744]https://anduin.linuxfromscratch.org/BLFS/llvm/llvm-cmake.src. tar.xz * Soma de verificação MD5 da transferência: 356a1aff675d281d7c76165269d33bd5 * Tamanho da transferência: 9 KB Dependências de terceiros(as) para sistema de construção LLVM * Transferência: [3745]https://anduin.linuxfromscratch.org/BLFS/llvm/llvm-third-part y.src.tar.xz * Soma de verificação MD5 da transferência: 8b506e49e5fa4c41186ba8ba7da5af82 * Tamanho da transferência: 376 KB Transferência Recomendada Clang * Transferência: [3746]https://github.com/llvm/llvm-project/releases/download/llvmor g-16.0.5/clang-16.0.5.src.tar.xz * Soma de verificação MD5 da transferência: cb3e79db62c4c3b78cfcdebe66b00268 * Tamanho da transferência: 20 MB * Remendo habilitante do [3747]SSP por padrão no "clang": [3748]https://www.linuxfromscratch.org/patches/blfs/12.0/clang-16.0 .5-enable_default_ssp-1.patch Transferência Opcional Compilador RT * Transferência: [3749]https://github.com/llvm/llvm-project/releases/download/llvmor g-16.0.5/compiler-rt-16.0.5.src.tar.xz * Soma de verificação MD5 da transferência: 3061b4cb0b2428a32b4fb5db540fe66c * Tamanho da transferência: 2,3 MB Dependências do "LLVM" Exigidas [3750]CMake-3.27.2 Opcionais [3751]Doxygen-1.9.7, [3752]git-2.41.0, [3753]Graphviz-8.1.0, [3754]libxml2-2.10.4, [3755]Pygments-2.16.1, [3756]rsync-3.2.7 (para testes), [3757]recommonmark-0.7.1 (para construir documentação), [3758]texlive-20230313 (ou [3759]install-tl-unx), [3760]Valgrind-3.21.0, [3761]PyYAML-6.0.1, [3762]Zip-3.0, [3763]OCaml, [3764]psutil (para testes) e [3765]Z3 Instalação do "LLVM" Dois tarballs adicionais llvm-cmake.src.tar.xz e llvm-third-party.src.tar.xz são necessários para o sistema de construção do LLVM. O(A) desenvolvedor(a) espera eles extraídos no mesmo nível, como o tarball llvm-16.0.5.src.tar.xz, e os diretórios extraídos renomeados para cmake e third-party. Extraia-os e modifique o sistema de construção para evitar criar diretórios ambiguamente nomeados fora da hierarquia llvm-16.0.5.src: tar -xf ../llvm-cmake.src.tar.xz && tar -xf ../llvm-third-party.src.tar.xz && sed '/LLVM_COMMON_CMAKE_UTILS/s@../cmake@llvm-cmake.src@' \ -i CMakeLists.txt && sed '/LLVM_THIRD_PARTY_DIR/s@../third-party@llvm-third-party.src@' \ -i cmake/modules/HandleLLVMOptions.cmake Instale o clang na árvore do fonte executando os seguintes comandos: tar -xf ../clang-16.0.5.src.tar.xz -C tools && mv tools/clang-16.0.5.src tools/clang Se você tiver baixado o compiler-rt, [então] instale-o na árvore do fonte executando os seguintes comandos: tar -xf ../compiler-rt-16.0.5.src.tar.xz -C projects && mv projects/compiler-rt-16.0.5.src projects/compiler-rt Existem muitos conjuntos de comandos sequenciais "Python" nesse pacote que usam /usr/bin/env python para acessar o "Python" do sistema, que no LFS é [3766]Python-3.11.4. Use o seguinte comando para corrigir esses conjuntos de comandos sequenciais: grep -rl '#!.*python' | xargs sed -i '1s/python$/python3/' Se você tiver baixado o clang, [então] aplique o seguinte remendo para habilitar [3767]SSP por padrão em aplicativos compilados. patch -Np2 -d tools/clang <../clang-16.0.5-enable_default_ssp-1.patch Se você tiver baixado o compiler-rt, corrija um caso de teste quebrado pelo SSP padrão em clang: sed 's/clang_dfsan/& -fno-stack-protector/' \ -i projects/compiler-rt/test/dfsan/origin_unaligned_memtrans.c Instale o LLVM executando os seguintes comandos: mkdir -v build && cd build && CC=gcc CXX=g++ \ cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DLLVM_ENABLE_FFI=ON \ -DCMAKE_BUILD_TYPE=Release \ -DLLVM_BUILD_LLVM_DYLIB=ON \ -DLLVM_LINK_LLVM_DYLIB=ON \ -DLLVM_ENABLE_RTTI=ON \ -DLLVM_TARGETS_TO_BUILD="host;AMDGPU;BPF" \ -DLLVM_BINUTILS_INCDIR=/usr/include \ -DLLVM_INCLUDE_BENCHMARKS=OFF \ -DCLANG_DEFAULT_PIE_ON_LINUX=ON \ -Wno-dev -G Ninja .. && ninja Se tiver instalado o [3768]recommonmark-0.7.1 e as dependências dele, [então] você consegue gerar a documentação "HTML" e as páginas de manual com os seguintes comandos: cmake -DLLVM_BUILD_DOCS=ON \ -DLLVM_ENABLE_SPHINX=ON \ -DSPHINX_WARNINGS_AS_ERRORS=OFF \ -Wno-dev -G Ninja .. && ninja docs-llvm-html docs-llvm-man A documentação do "clang" pode ser construída também: ninja docs-clang-html docs-clang-man A suíte de teste do LLVM pode produzir muitos arquivos de despejo central. Eles ocuparão uma grande quantidade de espaço em disco e o processo de despejo central pode retardar significativamente a testagem. Para testar os resultados com o despejo central desabilitado, certifique-se de que o [3769]Systemd-254 seja reconstruído com suporte a [3770]Linux-PAM-1.5.3 e que a sessão atual de login seja iniciada depois de atualizar o arquivo /etc/pam.d/system-session para incluir pam_systemd.so, então emita: systemctl --user start dbus && systemd-run --user --pty -d -G -p LimitCORE=0 ninja check-all Os testes são construídos com todos os elementos de processamento disponíveis, mas executados usando o número de processadores online. (A diferença é que os elementos de processamento disponíveis podem ser limitados usando-se taskset, mas colocá-los offline exige ecoar 0 para /sys/devices/system/cpu/cpu/online pelo(a) usuário(a) root e os torna temporariamente inusáveis por todos os trabalhos na máquina). Um teste chamado Linux/clone_setns.cpp falhará se CONFIG_USER_NS não estiver habilitada na configuração do núcleo. Os testes chamados AtoiAndFriendsOOBTest, StrtolOOBTest, StrtollOOBTest, interception_malloc_test.cpp e scanf-allocate.cpp são conhecidos por falharem com a Glibc-2.38. Agora, como o(a) usuário(a) root: ninja install && cp bin/FileCheck /usr/bin Se você tiver construído a documentação do "llvm", [então] ela foi instalada pelo comando acima, mas precisa ser movida. Como o(a) usuário(a) root: install -v -d -m755 /usr/share/doc/llvm-16.0.5 && mv -v /usr/share/doc/LLVM/llvm /usr/share/doc/llvm-16.0.5 && rmdir -v --ignore-fail-on-non-empty /usr/share/doc/LLVM Se você tiver construído a documentação do "clang", [então] ela foi instalada, mas precisa ser movida também. Novamente como o(a) usuário(a) root: install -v -d -m755 /usr/share/doc/llvm-16.0.5 && mv -v /usr/share/doc/LLVM/clang /usr/share/doc/llvm-16.0.5 && rmdir -v --ignore-fail-on-non-empty /usr/share/doc/LLVM Explicações do Comando -DLLVM_ENABLE_FFI=ON: Essa chave permite que o LLVM use libffi. -DLLVM_BUILD_LLVM_DYLIB=ON: Essa chave constrói as bibliotecas como estáticas e vincula todas elas em uma biblioteca compartilhada exclusiva. Essa é a forma recomendada de construir uma biblioteca compartilhada. -DCMAKE_BUILD_TYPE=Release: Essa chave habilita otimizações do compilador para a finalidade de acelerar o código e reduzir o tamanho dele. Também desabilita algumas verificações de compilação que não são necessárias em um sistema de produção. -DLLVM_TARGETS_TO_BUILD="host;AMDGPU;BPF": Essa chave habilita construir para o mesmo alvo que o anfitrião e também para a "GPU" "r600" da "AMD" usada pelos controladores "r600" e "radeonsi" do "Mesa". O alvo "BPF" é necessário para construir [3771]v4l-utils-1.24.1. O padrão é todos os alvos. Você consegue usar uma lista separada por ponto e vírgula. Os alvos válidos são: "host", "X86", "Sparc", "PowerPC", "ARM", "AArch64", "Mips", "Hexagon", "Xcore", "M68K", "MSP430", "NVPTX", "SystemZ", "AMDGPU", "BPF", "CppBackend" ou "all". -DLLVM_LINK_LLVM_DYLIB=ON: Usado em conjunção com -DLLVM_BUILD_LLVM_DYLIB=ON, essa chave habilita vincular as ferramentas à biblioteca compartilhada em vez das estáticas. Reduz ligeiramente o tamanho delas e também garante que "llvm-config" usará corretamente "libLLVM-16.so". -DLLVM_ENABLE_RTTI=ON: Essa chave é usada para construir "LLVM" com informações de tipo de tempo de execução. Isso é necessário para construir [3772]Mesa-23.1.6. -DLLVM_BINUTILS_INCDIR=/usr/include: Essa chave é usada para informar ao sistema de construção o local dos cabeçalhos do "binutils", que foram instalados no LFS. Isso permite a construção de LLVMgold.so, que é necessário para construir aplicativos com clang e "Link Time Optimization" ("LTO"). -DLLVM_INCLUDE_BENCHMARKS=OFF: é usado para desabilitar alvos de construção de geração para os referenciais do "LLVM". Essa opção exige código adicional que não está disponível atualmente. -DCLANG_DEFAULT_PIE_ON_LINUX=ON: torna a opção -fpie o padrão ao compilar aplicativos. Junto com o recurso [3773]ASLR habilitado no núcleo, isso derrota alguns tipos de ataques baseados em esquemas conhecidos de memória. -DBUILD_SHARED_LIBS=ON: se usado em vez de -DLLVM_BUILD_LLVM_DYLIB=ON e -DLLVM_LINK_LLVM_DYLIB=ON, constrói todas as bibliotecas LLVM (cerca de sessenta (60)) como bibliotecas compartilhadas em vez de estáticas. -DLLVM_ENABLE_DOXYGEN: habilita a geração de documentação "HTML" navegável se você tiver instalado [3774]Doxygen-1.9.7. Você deveria executar make doxygen-html depois e instalar a documentação gerada manualmente. Conteúdo Aplicativos Instalados: amdgpu-arch, analyze-build, bugpoint, c-index-test, clang, clang++ (links simbólicos para clang-16), clang-16, clang-check, clang-cl, clang-cpp (os últimos dois links simbólicos para clang), clang-extdef-mapping, clang-format, clang-linker-wrapper, clang-offload-bundler, clang-offload-packager, clang-refactor, clang-rename, clang-repl, clang-scan-deps, diagtool, dsymutil, FileCheck, git-clang-format, hmaptool, intercept-build, llc, lli, llvm-addr2line (link simbólico para llvm-symbolizer), llvm-ar, llvm-as, llvm-bcanalyzer, llvm-bitcode-strip (link simbólico para llvm-objcopy), llvm-cat, llvm-cfi-verify, llvm-config, llvm-cov, llvm-c-test, llvm-cvtres, llvm-cxxdump, llvm-cxxfilt, llvm-cxxmap, llvm-debuginfo-analyzer, llvm-debuginfod, llvm-debuginfod-find, llvm-diff, llvm-dis, llvm-dlltool (link simbólico para llvm-ar), llvm-dwarfdump, llvm-dwarfutil, llvm-dwp, llvm-exegesis, llvm-extract, llvm-gsymutil, llvm-ifs, llvm-install-name-tool (link simbólico para llvm-objcopy), llvm-jitlink, llvm-lib (link simbólico para llvm-ar), llvm-libtool-darwin, llvm-link, llvm-lipo, llvm-lto, llvm-lto2, llvm-mc, llvm-mca, llvm-ml, llvm-modextract, llvm-mt, llvm-nm, llvm-objcopy, llvm-objdump, llvm-opt-report, llvm-otool (link simbólico para llv-objdump), llvm-pdbutil, llvm-profdata, llvm-profgen, llvm-ranlib (link simbólico para llvm-ar), llvm-rc, llvm-readelf (link simbólico para llvm-readobj), llvm-readobj, llvm-reduce, llvm-remark-size-diff, llvm-remarkutil, llvm-rtdyld, llvm-sim, llvm-size, llvm-split, llvm-stress, llvm-strings, llvm-strip (link simbólico para llvm-objcopy), llvm-symbolizer, llvm-tapi-diff, llvm-tblgen, llvm-tli-checker, llvm-undname, llvm-windres (link simbólico para llvm-rc), llvm-xray, nvptx-arch, opt, sancov, sanstats, scan-build, scan-build-py, scan-view, split-file e verify-uselistorder Bibliotecas Instaladas: libLLVM.so, libLLVM*.a (100 bibliotecas), libLTO.so, libRemarks.so, libclang.so, libclang-cpp.so, libclang*.a (42 bibliotecas) e LLVMgold.so Diretórios Instalados: /usr/include/{clang,clang-c,llvm,llvm-c}, /usr/lib/{clang,cmake/{clang,llvm},libear,libscanbuild}, /usr/share/{clang,opt-viewer,scan-build,scan-view} e /usr/share/doc/llvm-16.0.5 Descrições Curtas amdgpu-arch lista as GPUs AMD instaladas; em tempo de execução ele precisa de libhsa-runtime64.so que não é parte do BLFS analyze-build é uma ferramenta de análise estática bugpoint é a ferramenta automática de redução de casos de teste c-index-test é usado para testar a "API" da "libclang" e demonstrar o uso dela clang é o compilador "C", "C++" e "Objective-C" do Clang clang-check é uma ferramenta para realizar análise estática de código e exibir "Abstract Syntax Trees" ("AST") clang-extdef-mapping é uma ferramenta para coletar o nome do "USR" e o local de definições externas em um arquivo de fonte clang-format é uma ferramenta para formatar código "C"/"C++"/"Java"/"JavaScript"/"Objective-C"/"Protobuf" clang-linker-wrapper é um utilitário envólucro sobre o vinculador de dispositivo clang-offload-bundler é uma ferramenta para agrupar/desagrupar arquivos descarregados "OpenMP" associados a um arquivo fonte comum clang-offload-packager é uma ferramenta para agrupar vários arquivos de objeto em um binário, que pode então ser usado para criar um binário que contenha código nativo para várias arquiteturas de processador contendo código de descarregamento clang-refactor é uma ferramenta de refatoração baseada em "Clang" para "C", "C++" e "Objective-C" clang-rename é uma ferramenta para renomear símbolos em aplicativos "C"/"C++" clang-scan-deps é uma ferramenta para escanear dependências em um arquivo fonte diagtool é uma combinação de ferramentas para lidar com diagnósticos em "clang" FileCheck é uma ferramenta que lê dois arquivos (um a partir da entrada padrão e outro especificado na linha de comando) e usa um para verificar o outro. dsymutil é uma ferramenta usada para manipular arquivos de símbolos de depuração "DWARF" arquivados, compatível com o comando dsymutil do "Darwin" git-clang-format executa "clang-format" em remendos gerados pelo "git" (exige [3775]git-2.41.0) hmaptool é uma ferramenta "Python" para despejar e construir mapas de cabeçalho intercept-build gera uma base de dados de comandos de construção para um projeto llc é o compilador estático LLVM lli é usado para executar aplicativos diretamente a partir do "bitcode" do LLVM llvm-addr2line é uma ferramenta usada para converter endereços em nomes de arquivos e números de linha llvm-ar é o arquivador do LLVM llvm-as é o montador do LLVM llvm-bcanalyzer é o analizador de "bitcode" do LLVM llvm-bitcode-strip remove o "bitcode" de "LLVM" de um objeto llvm-cat é uma ferramenta para concatenar módulos "llvm" llvm-cfi-verify identifica se o "Control Flow Integrity" protege todas as instruções de fluxo de controle indireto no arquivo de objeto fornecido, "DSO" ou binário llvm-config Imprime as opções de compilação do LLVM llvm-cov é usado para emitir informações de cobertura llvm-c-test é um desmontador de "bytecode" llvm-cvtres é uma ferramenta para converter arquivos de recursos da Microsoft em "COFF" llvm-cxxdump é usado como um Despejador de Dados de "ABI" da "C++" llvm-cxxfilt é usado para desmontar símbolos "C++" no código "llvm" llvm-cxxmap é usado para remapear símbolos mutilados da "C++" llvm-debuginfo-analyzer imprime uma representação lógica de informações de depuração de baixo nível llvm-debuginfod é um serviço que fornece informações de depuração por meio de uma "API" "HTTP" para analisar binários despojados llvm-debuginfod-find é uma interface para o processo de segundo plano llvm-debuginfod para achar artefatos "debuginfod" llvm-diff é o 'diff' estrutural do LLVM llvm-dis é o desmontador do LLVM llvm-dwarfdump imprime o conteúdo das seções "DWARF" em arquivos objeto llvm-dwarfutil é uma ferramenta para copiar e manipular informações de depuração llvm-dwp mescla arquivos divididos "DWARF" llvm-elfabi é usado para ler informações relativas a uma "ABI" de um binário "ELF" llvm-exegesis é uma ferramenta de comparação que usa informações disponíveis no "LLVM" para medir características de instrução de máquina do dispositivo, como latência ou decomposição de porta llvm-extract é usado para extrair uma função a partir de um módulo do LLVM llvm-gsymutil é usado para processar arquivos no formato de simbolização "GSYM" que convertem endereços de memória para nome de função e linha de arquivo fonte. Esses arquivos são menores que os arquivos "DWARF" ou "Breakpad" llvm-ifs é usado para mesclar "stubs" de interface com arquivos de objeto llvm-install-name-tool é usado para reescrever comandos de carregamento no formato binário "MachO" llvm-jitlink é usado para analisar arquivos de objetos relocáveis para tornar o conteúdo deles executável em um processo alvo llvm-libtool-darwin fornece funcionalidade básica da "libtool" em sistemas baseados em "Darwin". Isso é útil principalmente se você estiver gerando binários para sistemas "macOS" llvm-link é o vinculador do LLVM llvm-lipo é usado para criar binários universais a partir de arquivos "MachO" llvm-lto é o vinculador "Link Time Optimization" ("LTO") do LLVM llvm-lto2 é um equipamento de teste para a interface "LTO" baseada em resolução llvm-mc é um montador/desmontador de código de máquina autônomo llvm-mca é uma ferramenta de análise de desempenho para medir estaticamente o desempenho do código de máquina llvm-ml é um área de recreação para código de máquina fornecido pelo "LLVM" llvm-modextract é uma ferramenta para extrair um módulo a partir de arquivos "bitcode" multimódulos llvm-mt é uma ferramenta para gerar arquivos e catálogos assinados a partir de um manifesto de montagem lado a lado (usado para "SDK" da Microsoft) llvm-nm é usado para listar o "bitcode" do LLVM e a tabela de símbolos do arquivo objeto llvm-objcopy é a versão do "LLVM" de uma ferramenta "objcopy" llvm-objdump é um despejador de arquivo objeto do LLVM llvm-opt-report é uma ferramenta para gerar um informe de otimização a partir de arquivos de registro de otimização "YAML" llvm-pdbutil é um despejador "Program Database" ("PDB"). "PDB" é um formato da Microsoft llvm-profdata é uma pequena ferramenta para manipular e imprimir arquivos de dados de perfil llvm-profgen gera informações de perfil "SPGO" do "LLVM" llvm-ranlib é usado para gerar um índice para um arquivamento do LLVM llvm-rc é uma ferramenta independente de plataforma para compilar scripts de recursos em arquivos de recursos de binários llvm-readobj exibe informações específicas de formato de baixo nível relativas a arquivos de objeto llvm-reduce é usado para reduzir automaticamente os casos de teste ao executar uma suíte de teste llvm-remark-size-diff informa a diferença na contagem de instruções e nas observações do tamanho da pilha entre dois arquivos de observações llvm-remarkutil converte arquivos de observação entre bitstream e YAML; ou imprime informações de contagem de instruções de função em arquivos de observação llvm-rtdyld é a ferramenta "MC-JIT" do LLVM llvm-size é o despejador de tamanho de objeto do LLVM llvm-split é o divisor de módulo do LLVM llvm-stress é usado para gerar arquivos aleatórios .ll llvm-strings imprime sequências de caracteres encontradas em um binário (arquivo objeto, executável ou biblioteca de arquivamento) llvm-symbolizer converte endereços em locais de código-fonte llvm-tblgen é a descrição alvo do LLVM para o gerador de código "C++" llvm-tli-checker é o verificador "TargetLibraryInfo" versus "SDK" do LLVM llvm-undname é uma ferramenta para desmantelar nomes llvm-xray é uma implementação do sistema de rastreamento de chamadas de função "XRay" do Google nvptx-arch lista as GPUs NVIDIA instaladas; em tempo de execução ele precisa de libcuda.so que não é parte do BLFS opt é o otimizador do LLVM sancov é a ferramenta de processamento de cobertura de higienizador sanstats é a ferramenta de processamento de estatísticas de higienizador scan-build é um conjunto de comandos sequenciais Perl que invoca o analisador estático Clang scan-build-py é um conjuntos de comandos sequenciais Python que invoca o analisador estático Clang scan-view é um visualizador dos resultados do analisador estático Clang split-file divide um arquivo de entrada em múltiplas partes separadas por expressão regular verify-uselistorder é a ferramenta do LLVM para verificar a ordem da lista de uso Lua-5.4.6 Introdução ao "Lua" Lua é uma linguagem de programação poderosa e leve projetada para estender aplicativos. Também é frequentemente usada como uma linguagem autônoma de uso geral. Lua é implementada como uma pequena biblioteca de funções "C", escrita em "ANSI C", e compila sem modificações em todas as plataformas conhecidas. Os objetivos de implementação são simplicidade, eficiência, portabilidade e baixo custo de incorporação. O resultado é um mecanismo de linguagem rápido e compacto, tornando-a ideal em sistemas embarcados também. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3776]https://www.lua.org/ftp/lua-5.4.6.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 25a429319dff20dfbfb9956c2b5be911 * Tamanho da transferência: 356 KB * Espaço em disco estimado exigido: 3,8 MB (com testes Básicos) * Tempo de construção estimado: menos que 0,1 UPC (com os testes Básicos) Transferências Adicionais * Remendo exigido: [3777]https://www.linuxfromscratch.org/patches/blfs/12.0/lua-5.4.6- shared_library-1.patch * Transferência da Suíte Opcional de Teste (HTTP): [3778]https://www.lua.org/tests/lua-5.4.6-tests.tar.gz * Transferência da Suíte Opcional de Teste (FTP): * Soma de verificação "MD5" da transferência da Suíte Opcional de Teste: e10a3da28b05d0e8d25ad08b7820c213 * Tamanho da transferência da Suíte Opcional de Teste: 134 KB Instalação do "Lua" Alguns pacotes verificam o arquivo pkg-config para Lua, o qual é criado com: cat > lua.pc << "EOF" V=5.4 R=5.4.6 prefix=/usr INSTALL_BIN=${prefix}/bin INSTALL_INC=${prefix}/include INSTALL_LIB=${prefix}/lib INSTALL_MAN=${prefix}/share/man/man1 INSTALL_LMOD=${prefix}/share/lua/${V} INSTALL_CMOD=${prefix}/lib/lua/${V} exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include Name: Lua Description: Uma Linguagem de Extensão Extensível Version: ${R} Requires: Libs: -L${libdir} -llua -lm -ldl Cflags: -I${includedir} EOF Instale Lua executando os seguintes comandos: patch -Np1 -i ../lua-5.4.6-shared_library-1.patch && make linux Para testar os resultados, emita: make test. “Isso executará o interpretador e imprimirá a versão dele”. Testes mais abrangentes podem ser realizados se você baixou o "tarball" da "Suíte de teste". Esses testes precisam ser executados depois que o pacote estiver instalado, por isso seguimos para a descrição abaixo. Agora, como o(a) usuário(a) root: make INSTALL_TOP=/usr \ INSTALL_DATA="cp -d" \ INSTALL_MAN=/usr/share/man/man1 \ TO_LIB="liblua.so liblua.so.5.4 liblua.so.5.4.6" \ install && mkdir -pv /usr/share/doc/lua-5.4.6 && cp -v doc/*.{html,css,gif,png} /usr/share/doc/lua-5.4.6 && install -v -m644 -D lua.pc /usr/lib/pkgconfig/lua.pc Aqui descrevemos somente os "Testes básicos". Descompacte o "tarball" e mude para o diretório lua-5.4.6-tests e emita lua -e "_U=true" all.lua. Se os testes terminarem sem erros, [então] você verá uma mensagem contendo a sequência de caracteres "final OK". Conteúdo Aplicativos Instalados: lua e luac Biblioteca Instalada: liblua.so Diretórios Instalados: /usr/{lib,share}/lua e /usr/share/doc/lua-5.4.6 Descrições Curtas lua é o interpretador independente "Lua" luac é o compilador "Lua" liblua.so contém as funções da "API" da Lua Lua-5.2.4 Introdução ao "Lua" 5.2 Lua é uma linguagem de programação poderosa e leve projetada para estender aplicativos. Também é frequentemente usada como uma linguagem autônoma de uso geral. Lua é implementada como uma pequena biblioteca de funções "C", escrita em "ANSI C", e compila sem modificações em todas as plataformas conhecidas. Os objetivos de implementação são simplicidade, eficiência, portabilidade e baixo custo de incorporação. O resultado é um mecanismo de linguagem rápido e compacto, tornando-a ideal em sistemas embarcados também. Essa é uma versão mais antiga de Lua necessária somente para compatibilidade com outros aplicativos como [3779]Wireshark-4.0.7 e [3780]VLC-3.0.18. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3781]https://www.lua.org/ftp/lua-5.2.4.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 913fdb32207046b273fdb17aad70be13 * Tamanho da transferência: 248 KB * Espaço em disco estimado exigido: 3,6 MB * Tempo de construção estimado: menos que 0,1 UPC Transferências Adicionais * Remendo exigido: [3782]https://www.linuxfromscratch.org/patches/blfs/12.0/lua-5.2.4- shared_library-1.patch Instalação do "Lua" 5.2 Alguns pacotes verificam o arquivo pkg-config para Lua, o qual é criado com: cat > lua.pc << "EOF" V=5.2 R=5.2.4 prefix=/usr INSTALL_BIN=${prefix}/bin INSTALL_INC=${prefix}/include/lua5.2 INSTALL_LIB=${prefix}/lib INSTALL_MAN=${prefix}/share/man/man1 INSTALL_LMOD=${prefix}/share/lua/${V} INSTALL_CMOD=${prefix}/lib/lua/${V} exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include/lua5.2 Name: Lua Description: Uma Linguagem de Extensão Extensível Version: ${R} Requires: Libs: -L${libdir} -llua5.2 -lm -ldl Cflags: -I${includedir} EOF Instale Lua executando os seguintes comandos: patch -Np1 -i ../lua-5.2.4-shared_library-1.patch && sed -i '/#define LUA_ROOT/s:/usr/local/:/usr/:' src/luaconf.h && sed -r -e '/^LUA_(SO|A|T)=/ s/lua/lua5.2/' \ -e '/^LUAC_T=/ s/luac/luac5.2/' \ -i src/Makefile && make MYCFLAGS="-fPIC" linux A instalação desse pacote é complexa, de modo que usaremos o método "DESTDIR" de instalação: make TO_BIN='lua5.2 luac5.2' \ TO_LIB="liblua5.2.so liblua5.2.so.5.2 liblua5.2.so.5.2.4" \ INSTALL_DATA="cp -d" \ INSTALL_TOP=$PWD/install/usr \ INSTALL_INC=$PWD/install/usr/include/lua5.2 \ INSTALL_MAN=$PWD/install/usr/share/man/man1 \ install && install -Dm644 lua.pc install/usr/lib/pkgconfig/lua52.pc && mkdir -pv install/usr/share/doc/lua-5.2.4 && cp -v doc/*.{html,css,gif,png} install/usr/share/doc/lua-5.2.4 && ln -s liblua5.2.so install/usr/lib/liblua.so.5.2 && ln -s liblua5.2.so install/usr/lib/liblua.so.5.2.4 && mv install/usr/share/man/man1/{lua.1,lua5.2.1} && mv install/usr/share/man/man1/{luac.1,luac5.2.1} Agora, como o(a) usuário(a) root: chown -R root:root install && cp -a install/* / Explicações do Comando sed -i ... src/luaconf.h: Esse comando muda o caminho de pesquisa de Lua para corresponder ao caminho de instalação. sed -i ... src/Makefile: Esse comando desconflita essa instalação com a versão mais recente de "Lua". Conteúdo Aplicativos Instalados: lua5.2 e luac5.2 Biblioteca Instalada: liblua5.2.so Diretórios Instalados: /usr/include/lua5.2, /usr/lib/lua/5.2, /usr/share/doc/lua-5.2.4 e /usr/share/lua/5.2 Descrições Curtas lua5.2 é o interpretador independente "Lua" versão 5.2 luac5.2 é o compilador "Lua" versão 5.2 liblua5.2.so contém as funções da "API" da Lua versão 5.2 Mercurial-6.5.1 Introdução ao "Mercurial" Mercurial é uma ferramenta de gerenciamento distribuído de controle de fonte semelhante ao Git e ao Bazaar. Mercurial é escrita em Python e é usada por projetos como "Mozilla" para "Firefox" e "Thunderbird". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3783]https://www.mercurial-scm.org/release/mercurial-6.5.1.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: fccff6981f362466b8e9e0fa0de0ddb6 * Tamanho da transferência: 7,9 MB * Espaço em disco estimado exigido: 115 MB (com documentos, adicionar 1,5 GB para testes) * Tempo de construção estimado: 0,3 UPC (com documentos; adicionar 30 UPC para testes; ambos usando paralelismo=4) Dependências do "Mercurial" Opcionais [3784]docutils-0.20.1 (exigido para construir a documentação), [3785]git-2.41.0, [3786]GPGME-1.21.0 (com ligações "Python"), [3787]OpenSSH-9.4p1 (tempo de execução, para acessar repositórios "ssh://..."), [3788]Pygments-2.16.1, [3789]rustc-1.71.1 (veja-se rust/README.rst e rust/rhg/README.md), [3790]Subversion-1.14.2 (com ligações "Python"), [3791]Bazaar, [3792]CVS, [3793]pyflakes, [3794]pyOpenSSL e [3795]re2 Instalação do "Mercurial" Construa Mercurial emitindo o seguinte comando: make build Para construir a documentação (exige [3796]docutils-0.20.1), emita: make doc Se você desejar executar os testes, os testes rust precisam ser removidos, pois estão atualmente quebrados devido a erros de sintaxe. Para fazer isso, emita: sed -i '138,142d' Makefile Para executar a suíte de teste, emita: TESTFLAGS="-j --tmpdir tmp" make check onde é um número inteiro entre um e o número de (camadas X do processador), inclusive. Vários testes falham porque algumas mensagens de erro foram mudadas no Python ou alguns avisos de descontinuação são impressos, que não estavam presentes quando o teste foi projetado. Para a finalidade de investigar quaisquer testes aparentemente falhos, você possivelmente use o conjunto de comandos sequenciais run-tests.py. Para ver as quase quarenta chaves, algumas delas muito úteis, emita tests/run-tests.py --help. Executando os seguintes comandos, você executará somente os testes que falharam antes: pushd tests && rm -rf tmp && ./run-tests.py --tmpdir tmp test-gpg.t popd Normalmente, as falhas anteriores serão reproduzíveis. Porém, se você adicionar a chave --debug antes de --tmpdir e executar os testes novamente, [então] algumas falhas possivelmente desapareçam, o que é um problema com a suíte de teste. Se isso acontecer, [então] não mais existirão falhas, mesmo se você não passar a chave "--debug" novamente. Uma chave interessante é --time, que gerará uma tabela de todos os testes executados e respectivos tempos de início, fim, usuário(a), sistema e real assim que os testes estiverem completos. Observe que essas chaves possivelmente sejam usadas com make check incluindo-as na variável de ambiente TESTFLAGS. Instale o Mercurial executando o seguinte comando (como root): make PREFIX=/usr install-bin Se você construiu a documentação, [então] instale-a executando o seguinte comando (como root): make PREFIX=/usr install-doc Depois da instalação, dois testes muito rápidos e simples deveriam executar corretamente. O primeiro precisa de alguma configuração: cat >> ~/.hgrc << "EOF" [ui] username = EOF onde você precisa substituir e (o correio é opcional e pode ser omitido). Com a identidade do(a) usuário(a) definida, execute hg debuginstall e diversas linhas serão exibidas, a última dizendo "no problems detected". Outro teste rápido e simples é apenas hg, que deveria gerar comandos básicos que conseguem ser usados com hg. Configurando o "Mercurial" Arquivos de Configuração /etc/mercurial/hgrc e ~/.hgrc A maioria das extensões está desabilitada por padrão. Execute hg help extensions se precisar habilitar alguma, por exemplo. ao investigar falhas de teste. Isso exibirá uma lista de extensões habilitadas e desabilitadas, bem como mais informações, tais como habilitar ou desabilitar extensões usando arquivos de configuração. Se você tiver instalado o [3797]make-ca-1.12 e deseja que o Mercurial use os certificados, [então] como o(a) usuário(a) root, emita: install -v -d -m755 /etc/mercurial && cat > /etc/mercurial/hgrc << "EOF" [web] cacerts = /etc/pki/tls/certs/ca-bundle.crt EOF Conteúdo Aplicativos Instalados: hg Bibliotecas Instaladas: vários módulos internos sob /usr/lib/python3.11/site-packages/mercurial Diretórios Instalados: /etc/mercurial, /usr/lib/python3.11/site-packages/hgdemandimport, /usr/lib/python3.11/site-packages/hgext, /usr/lib/python3.11/site-packages/hgext3rd, /usr/lib/python3.11/site-packages/mercurial e /usr/lib/python3.11/site-packages/mercurial-6.5.1-py3.11.egg-info Descrições Curtas hg é o sistema de controle de versão "mercurial" NASM-2.16.01 Introdução ao "NASM" NASM ("Netwide Assembler") é um montador "80x86" projetado para portabilidade e modularidade. Inclui também um desmontador. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3798]https://www.nasm.us/pub/nasm/releasebuilds/2.16.01/nasm-2.16. 01.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: d755ba0d16f94616c2907f8cab7c748b * Tamanho da transferência: 993,8 KB * Espaço em disco estimado exigido: 41 MB * Tempo de construção estimado: 0,2 UPC Transferências Adicionais * Documentação opcional: [3799]https://www.nasm.us/pub/nasm/releasebuilds/2.16.01/nasm-2.16. 01-xdoc.tar.xz Dependências do "NASM" Opcional (para gerar documentação): [3800]asciidoc-10.2.0 e [3801]xmlto-0.0.28 Observações de Editor(a): [3802]https://wiki.linuxfromscratch.org/blfs/wiki/nasm Instalação do "NASM" Se você baixou a documentação opcional, [então] coloque-a na árvore do fonte: tar -xf ../nasm-2.16.01-xdoc.tar.xz --strip-components=1 Instale NASM executando os seguintes comandos: ./configure --prefix=/usr && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Se você baixou a documentação opcional, [então] instale-a com as seguintes instruções como o(a) usuário(a) root: install -m755 -d /usr/share/doc/nasm-2.16.01/html && cp -v doc/html/*.html /usr/share/doc/nasm-2.16.01/html && cp -v doc/*.{txt,ps,pdf} /usr/share/doc/nasm-2.16.01 Conteúdo Aplicativos Instalados: nasm e ndisasm Bibliotecas Instaladas: Nenhum(a) Diretório Instalado: /usr/share/doc/nasm-2.16.01 Descrições Curtas nasm é um montador portável "80x86" ndisasm é um desmontador de arquivos binários "80x86" Patchelf-0.17.2 Introdução ao "Patchelf" O pacote patchelf contém um pequeno utilitário para modificar o vinculador dinâmico e o "RPATH" dos executáveis "ELF". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3803]https://github.com/NixOS/patchelf/releases/download/0.17.2/pa tchelf-0.17.2.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 63e6f761af0bfda2bfe08a568d1e2e76 * Tamanho da transferência: 240 KB * Espaço em disco estimado exigido: 16 MB (com os testes) * Tempo de construção estimado: 0,1 UPC (com os testes) Instalação do "Patchelf" Instale patchelf executando os seguintes comandos: ./configure --prefix=/usr \ --docdir=/usr/share/doc/patchelf-0.17.2 && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Conteúdo Aplicativo Instalado: patchelf Descrições Curtas patchelf é um utilitário simples para modificar executáveis e bibliotecas "ELF" existentes; ele consegue mudar o carregador dinâmico ("interpretador ELF") de executáveis e mudar o "RPATH" de executáveis e bibliotecas. Módulos Perl Introdução aos Módulos "Perl" Os pacotes de módulos Perl (também chamados de Distribuições, porque cada um pode conter vários módulos) adicionam objetos úteis à linguagem Perl. Os pacotes listados nesta página são exigidos ou recomendados para outros pacotes no livro. Se eles tiverem módulos dependentes, [então] esses estarão ou nesta página ou na próxima página ([3804]Dependências de Módulos "Perl"). Em muitos casos, somente as dependências exigidas ou as recomendadas são listadas - pode existir outros módulos que permitam mais testes serem executados, mas omiti-los ainda permitirá que os testes PASSEM. Para uns poucos módulos, os(as) editores(as) do BLFS determinaram que outros módulos ainda listados como pré requisitos não são exigidos e os omitiram. Quando uma dependência alfabeticamente anterior do mesmo módulo atrai uma dependência, ela não é mencionada para as dependências posteriores do mesmo módulo. Você deveria construir as dependências listadas na ordem. Geralmente compensa executar os testes para módulos "Perl"; eles frequentemente conseguem mostrar problemas, como dependências ausentes, que são exigidas para usar o módulo. Aqui, os(as) editores(as) tentaram separar tais dependências, que são exigidas somente para executar suítes de teste, mas elas não serão mencionadas para um módulo onde uma das dependências dele usa esse módulo para a própria suíte de teste dela. Ou seja, se você pretende executar as suítes de teste, [então] execute-as para cada dependência do módulo. É possível instalar automaticamente as versões atuais de um módulo e todas as dependências ausentes ou muito antigas recomendadas pelo(a) desenvolvedor(a) usando a "CPAN". Veja-se [3805]Instalação automatizada "CPAN" de módulos "Perl" no final desta página. A maioria desses módulos instala somente arquivos abaixo de /usr/lib/perl5/site_perl/5.xx.y e eles não serão documentados. Um ou dois instalão aplicativos (principalmente scripts "Perl"), ou uma biblioteca, em /usr/bin/ ou /usr/lib/ e esses estão documentados. * [3806]Archive-Zip-1.68 * [3807]autovivification-0.18 * [3808]Business-ISBN-3.008 * [3809]Business-ISMN-1.203 * [3810]Business-ISSN-1.005 * [3811]Class-Accessor-0.51 * [3812]Data-Compare-1.29 * [3813]Data-Dump-1.25 * [3814]Data-Uniqid-0.12 * [3815]DateTime-Calendar-Julian-0.107 * [3816]DateTime-Format-Builder-0.83 * [3817]Encode-EUCJPASCII-0.03 * [3818]Encode-HanExtra-0.23 * [3819]Encode-JIS2K-0.03 * [3820]File-Slurper-0.014 * [3821]File-Which-1.27 * [3822]HTML-Parser-3.81 * [3823]HTTP-Daemon-6.16 * [3824]IO-Socket-SSL-2.083 * [3825]IO-String-1.08 * [3826]IPC-Run3-0.048 * [3827]JSON-4.10 * [3828]libwww-perl-6.72 * [3829]Lingua-Translit-0.29 * [3830]List-AllUtils-0.19 * [3831]List-MoreUtils-0.430 * [3832]Log-Log4perl-1.57 * [3833]LWP-Protocol-https-6.11 * [3834]Module-Build-0.4232 * [3835]Net-DNS-1.39 * [3836]Parse-RecDescent-1.967015 * [3837]Parse-Yapp-1.21 * [3838]PerlIO-utf8_strict-0.010 * [3839]Regexp-Common-2017060201 * [3840]SGMLSpm-1.1 * [3841]Sort-Key-1.33 * [3842]Test-Command-0.11 * [3843]Test-Differences-0.70 * [3844]Text-BibTeX-0.89 * [3845]Text-CSV-2.03 * [3846]Text-Roman-3.5 * [3847]Unicode-Collate-1.31 * [3848]Unicode-LineBreak-2019.001 * [3849]URI-5.17 * [3850]XML-LibXML-Simple-1.01 * [3851]XML-LibXSLT-2.002001 * [3852]XML-Simple-2.25 * [3853]XML-Writer-0.900 * [3854]Instalação automatizada "CPAN" de módulos "Perl" Archive::Zip-1.68 Introdução ao "Archive::Zip" O módulo "Archive::Zip" permite que um aplicativo "Perl" crie, manipule, leia e escreva arquivamentos "Zip". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3855]https://www.cpan.org/authors/id/P/PH/PHRED/Archive-Zip-1.68.t ar.gz * Soma de verificação MD5 da transferência: a33993309322164867c99e04a4000ee3 Dependências do "Archive::Zip" Recomendadas (para a suíte de teste) [3856]UnZip-6.0 (com o remendo dele) Instalação do "Archive::Zip" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Conteúdo Aplicativos Instalados: crc32 Descrições Curtas crc32 computa e imprime na saída gerada padrão os valores "CRC-32" dos arquivos fornecidos autovivification-0.18 Introdução ao módulo "autovivification" Esse módulo permite que você desabilite a "autovivificação" (a criação e povoamento automática de novos vetores e resumos sempre que variáveis indefinidas são desreferenciadas) e, opcionalmente, lançar um aviso ou um erro quando isso tivesse ocorrido. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3857]https://www.cpan.org/authors/id/V/VP/VPIT/autovivification-0. 18.tar.gz * Soma de verificação MD5 da transferência: 8dec994e1e7d368e055f21a5777385a0 Instalação do "autovivification" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Business::ISBN-3.008 Introdução ao "Business::ISBN" O módulo "Business::ISBN" fornece funções para trabalhar-se com números internacionais padrão de livros. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3858]https://www.cpan.org/authors/id/B/BD/BDFOY/Business-ISBN-3.00 8.tar.gz * Soma de verificação MD5 da transferência: 6a602922a1902dd9915cac3e0c479dfc Dependências do "Business::ISBN" Exigidas [3859]Business-ISBN-Data-20230426.001 Instalação do "Business::ISBN" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Business::ISMN-1.203 Introdução ao "Business::ISMN" O módulo "Business::ISMN" é para trabalhar com números internacionais padrão de músicas. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3860]https://www.cpan.org/authors/id/B/BD/BDFOY/Business-ISMN-1.20 3.tar.gz * Soma de verificação MD5 da transferência: 45edcba290b1a058ece76cbd090479b4 Dependências do "Business::ISMN" Exigidas [3861]Tie-Cycle-1.227 Instalação do "Business::ISMN" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Business::ISSN-1.005 Introdução ao "Business::ISSN" O módulo "Business::ISSN" é para trabalhar com números internacionais padrão de série. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3862]https://www.cpan.org/authors/id/B/BD/BDFOY/Business-ISSN-1.00 5.tar.gz * Soma de verificação MD5 da transferência: f46bf5585d6c3aa9fb32127edb13151a Instalação do "Business::ISSN" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Class::Accessor-0.51 Introdução ao "Class::Accessor" "Class::Accessor" gera acessadores/mutadores para sua classe. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3863]https://www.cpan.org/authors/id/K/KA/KASEI/Class-Accessor-0.5 1.tar.gz * Soma de verificação MD5 da transferência: 1f1e5990f87cad7659b292fed7dc0407 Instalação do "Class::Accessor" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Data::Compare-1.29 Introdução ao "Data::Compare" O módulo "Data::Compare" compara duas estruturas de dados perl. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3864]https://www.cpan.org/authors/id/D/DC/DCANTRELL/Data-Compare-1 .29.tar.gz * Soma de verificação MD5 da transferência: ce9cb42ba6af634f5ab51f13f37e2ddb Dependências do "Data::Compare" Exigidas [3865]Clone-0.46, [3866]File-Find-Rule-0.34 Instalação do "Data::Compare" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Data::Dump-1.25 Introdução ao "Data::Dump" "Data::Dump" fornece uma impressão bonita de estruturas de dados. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3867]https://www.cpan.org/authors/id/G/GA/GARU/Data-Dump-1.25.tar. gz * Soma de verificação MD5 da transferência: 9bd7131ef0441e1e0e001bf85e9fae31 Instalação do "Data::Dump" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Data::Uniqid-0.12 Introdução ao "Data::Uniqid" "Data::Uniqid" fornece três rotinas simples para gerar "IDs" exclusivos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3868]https://www.cpan.org/authors/id/M/MW/MWX/Data-Uniqid-0.12.tar .gz * Soma de verificação MD5 da transferência: 6bab3b5da09fedfdf60ce2629a7367db Instalação do "Data::Uniqid" Embora o teste final falhe e informe um "Error", a suíte de teste retorna uma situação de zero (0). O erro pode ser seguramente ignorado. Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install DateTime::Calendar::Julian-0.107 Introdução ao "DateTime::Calendar::Julian" "DateTime::Calendar::Julian" implementa o Calendário Juliano. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3869]https://www.cpan.org/authors/id/W/WY/WYANT/DateTime-Calendar- Julian-0.107.tar.gz * Soma de verificação MD5 da transferência: abd775d1d82f0f45d4fd6214cf7bbed8 Dependências do "DateTime::Calendar::Julian" Exigidas [3870]DateTime-1.59 Instalação do "DateTime::Calendar::Julian" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install DateTime::Format::Builder-0.83 Introdução ao "DateTime::Format::Builder" "DateTime::Format::Builder" criou classes e objetos do analisador "DateTime". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3871]https://www.cpan.org/authors/id/D/DR/DROLSKY/DateTime-Format- Builder-0.83.tar.gz * Soma de verificação MD5 da transferência: aa41917ca9ad69b3898728ce9c2fb477 Dependências do "DateTime::Format::Builder" Exigidas [3872]DateTime-Format-Strptime-1.79 e [3873]Params-Validate-1.31 Instalação do "DateTime::Format::Builder" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Encode::EUCJPASCII-0.03 Introdução ao "Encode::EUCJPASCII" "Encode::EUCJPASCII" fornece um mapeamento "eucJP-open" ("Extended Unix Code", japonês). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3874]https://www.cpan.org/authors/id/N/NE/NEZUMI/Encode-EUCJPASCII -0.03.tar.gz * Soma de verificação MD5 da transferência: 5daa65f55b7c2050bb0713d9e95f239d Instalação do "Encode::EUCJPASCII" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Encode::HanExtra-0.23 Introdução ao "Encode::HanExtra" O módulo "Encode::HanExtra" fornece conjuntos extras de codificações chinesas as quais não estão incluídas no módulo "Encode" principal devido a problemas de tamanho. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3875]https://www.cpan.org/authors/id/A/AU/AUDREYT/Encode-HanExtra- 0.23.tar.gz * Soma de verificação MD5 da transferência: e1d3bc32c1c8ee304235a06fbcd5d5a4 Instalação do "Encode::HanExtra" Esse módulo usa as instruções de construção e instalação 'inseguras' (no perl-5.26.0 o uso do diretório atual em @INC foi removido por razões de segurança e esse módulo não foi atualizado): PERL_USE_UNSAFE_INC=1 perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Encode::JIS2K-0.03 Introdução ao "Encode::JIS2K" O módulo "Encode::JIS2K" fornece codificações "JIS X 0212" (também conhecidas como "JIS 2000"). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3876]https://www.cpan.org/authors/id/D/DA/DANKOGAI/Encode-JIS2K-0. 03.tar.gz * Soma de verificação MD5 da transferência: 60539471aa408a2b793cd45a6ce651db Instalação do "Encode::JIS2K" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install File::Slurper-0.014 Introdução ao "File::Slurper" "File::Slurper" é um módulo simples, sensato e eficiente para sorver um arquivo. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3877]https://www.cpan.org/authors/id/L/LE/LEONT/File-Slurper-0.014 .tar.gz * Soma de verificação MD5 da transferência: d43bc5f069035eff3b6b7c418b4cedc4 Dependências do "File::Slurper" Recomendadas (exigidas para a suíte de teste) [3878]Test-Warnings-0.031 Instalação do "File::Slurper" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install File::Which-1.27 Introdução ao "File::Which" "File::Which" fornece uma implementação portável do utilitário 'which'. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3879]https://www.cpan.org/authors/id/P/PL/PLICEASE/File-Which-1.27 .tar.gz * Soma de verificação MD5 da transferência: d5c9154262b93398f0750ec364207639 Instalação do "File::Which" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install HTML::Parser-3.81 Introdução ao "HTML::Parser" A distribuição "HTML::Parser" é uma coleção de módulos que analisam e extraem informações a partir de documentos "HTML". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3880]https://www.cpan.org/authors/id/O/OA/OALDERS/HTML-Parser-3.81 .tar.gz * Soma de verificação MD5 da transferência: b9f5dd3b14632f7a60541a2b61389c06 Dependências do "HTML::Parser" Exigidas [3881]HTML-Tagset-3.20 Exigidas (tempo de execução) [3882]HTTP-Message-6.44 (o módulo "HTTP::Headers" dele é uma exigência de tempo de execução para "HTML::HeadParser" a partir dessa distribuição). Instalação do "HTML::Parser" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install HTTP::Daemon-6.16 Introdução ao "HTTP::Daemon" As instâncias da classe "HTTP::Daemon" são servidores "HTTP/1.1" que escutam em um soquete as solicitações entrantes. O "HTTP::Daemon" é uma subclasse de "IO::Socket::INET", de forma que você consegue realizar operações de soquete diretamente nele também. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3883]https://www.cpan.org/authors/id/O/OA/OALDERS/HTTP-Daemon-6.16 .tar.gz * Soma de verificação MD5 da transferência: 51425462790165aeafc2819a7359706f Dependências do "HTTP::Daemon" Exigidas [3884]HTTP-Message-6.44 Nota "Makefile.PL" e a execução dos testes reclamarão que "Module::Build::Tiny" está ausente, mas isso só é necessário para Build.PL que é usado se o sistema carecer de um compilador "C". Instalação do "HTTP::Daemon" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install IO::Socket::SSL-2.083 Introdução ao "IO::Socket::SSL" "IO::Socket::SSL" torna usar "SSL/TLS" muito mais fácil, agrupando a funcionalidade necessária na interface familiar "IO::Socket" e fornecendo padrões seguros sempre que possível. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3885]https://www.cpan.org/authors/id/S/SU/SULLR/IO-Socket-SSL-2.08 3.tar.gz * Soma de verificação MD5 da transferência: 673eaf709a034d4f65dce259bde02500 Dependências do "IO::Socket::SSL" Exigidas [3886]make-ca-1.12 e [3887]Net-SSLeay-1.92 Recomendadas [3888]URI-5.17 (para acessar nomes internacionais de domínio) Instalação do "IO::Socket::SSL" Esse módulo usa uma variante das instruções padrão de construção e instalação: yes | perl Makefile.PL && make && make test . Agora, como o(a) usuário(a) root: make install Explicações do Comando yes: "Perl" perguntará se você deseja executar testes externos, que "falharão suavemente" se existirem problemas de rede de comunicação. O padrão é "y"; isso permite que você automatize o processo de construção. IO::String-1.08 Introdução ao "IO::String" "IO::String" - Emula interface de arquivo para sequências internas de caracteres. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3889]https://www.cpan.org/authors/id/G/GA/GAAS/IO-String-1.08.tar. gz * Soma de verificação MD5 da transferência: 250e5424f290299fc3d6b5d1e9da3835 Instalação do "IO::String" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install IPC::Run3-0.048 Introdução ao "IPC::Run3" "IPC::Run3" é usado para executar um subprocesso com redirecionamento de entrada/saída. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3890]https://www.cpan.org/authors/id/R/RJ/RJBS/IPC-Run3-0.048.tar. gz * Soma de verificação MD5 da transferência: 5a8cec571c51a118b265cf6e24e55761 Instalação do "IPC::Run3" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install JSON-4.10 Introdução ao "JSON" "JSON" fornece um envólucro simples para módulos compatíveis com "JSON::XS" com alguns recursos adicionais. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3891]https://www.cpan.org/authors/id/I/IS/ISHIGAKI/JSON-4.10.tar.g z * Soma de verificação MD5 da transferência: a709b32e194d0eb38f788cb49f422c4e Instalação do "JSON" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Lingua::Translit-0.29 Introdução ao "Lingua::Translit" "Lingua::Translit" e o aplicativo translit transliteram texto entre sistemas de escrita. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3892]https://www.cpan.org/authors/id/A/AL/ALINKE/Lingua-Translit-0 .29.tar.gz * Soma de verificação MD5 da transferência: 605a82f06b05fef4fc18bf069b1be511 Instalação do "Lingua::Translit" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Conteúdo Aplicativos Instalados: translit Descrições Curtas translit translitera texto entre sistemas de escrita usando vários padrões LWP (libwww-perl-6.72) Introdução à "LWP" - A biblioteca "World-wide Web" para Perl A coleção "libwww-perl" é um conjunto de módulos "Perl" que fornece uma interface de programação de aplicativos ("API") simples e consistente para a "World Wide Web". O foco principal da biblioteca é o de fornecer classes e funções que te permitem escrever clientes "WWW". A biblioteca também contém módulos que são de uso mais geral e até classes que te ajudam a implementar servidores "HTTP" simples. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3893]https://www.cpan.org/authors/id/O/OA/OALDERS/libwww-perl-6.72 .tar.gz * Soma de verificação MD5 da transferência: ea683625d1c875c583ae8859602bac66 Dependências da "libwww-perl" Exigidas [3894]File-Listing-6.15, [3895]HTTP-CookieJar-0.014, [3896]HTTP-Cookies-6.10, [3897]HTTP-Daemon-6.16, [3898]HTTP-Negotiate-6.01, [3899]HTML-Parser-3.81, [3900]Net-HTTP-6.23, [3901]Try-Tiny-0.31 e [3902]WWW-RobotRules-6.02 Recomendadas (exigidas para a suíte de teste) [3903]Test-Fatal-0.017, [3904]Test-Needs-0.002010 e [3905]Test-RequiresInternet-0.05 Instalação da "libwww-perl" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Depois de instalar esse pacote, se você desejar suporte ao protocolo "HTTPS", [então] instale [3906]LWP-Protocol-https-6.11. Conteúdo Aplicativos Instalados: lwp-download, lwp-dump, lwp-mirror, lwp-request Descrições Curtas lwp-download é um script para buscar um arquivo grande a partir da "web" lwp-dump é usado para ver quais cabeçalhos e conteúdo são retornados para um "URL" lwp-mirror é um utilitário simples de espelho lwp-request é um agente simples de usuário(a) de linha de comando List::AllUtils-0.19 Introdução ao "List::AllUtils" O módulo "List::Allutils" combina "List::Util" e "List::MoreUtils" em um pacote pequeno. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3907]https://www.cpan.org/authors/id/D/DR/DROLSKY/List-AllUtils-0. 19.tar.gz * Soma de verificação MD5 da transferência: 86469b1f6819ba181a8471eb932965f2 Dependências do "List::AllUtils" Exigidas [3908]List-SomeUtils-0.59, [3909]List-UtilsBy-0.12 Instalação do "List::AllUtils" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install List::MoreUtils-0.430 Introdução ao "List::MoreUtils" "List::MoreUtils" fornece o que falta em "List::Util". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3910]https://www.cpan.org/authors/id/R/RE/REHSACK/List-MoreUtils-0 .430.tar.gz * Soma de verificação MD5 da transferência: daccd6310021231b827dcc943ff1c6b7 Dependências do "List::MoreUtils" Exigidas [3911]Exporter-Tiny-1.006000 e [3912]List-MoreUtils-XS-0.430 Instalação do "List::MoreUtils" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Log::Log4perl-1.57 Introdução ao "Log::Log4perl" "Log::Log4perl" fornece uma implementação "Log4j" para perl. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3913]https://www.cpan.org/authors/id/E/ET/ETJ/Log-Log4perl-1.57.ta r.gz * Soma de verificação MD5 da transferência: acbe29cbaf03f4478a13579a275b0011 Instalação do "Log::Log4perl" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Conteúdo Aplicativos Instalados: l4p-templ Descrições Curtas l4p-templ imprime o texto de um modelo de configuração do "Log4perl" para iniciar um novo arquivo de configuração do "Log4perl" LWP::Protocol::https-6.11 Introdução ao "LWP::Protocol::https" "LWP::Protocol::https" fornece suporte "HTTPS" para "LWP::UserAgent" (ou seja, [3914]libwww-perl-6.72). Depois que o módulo estiver instalado, o "LWP" será capaz de acessar sítios usando "HTTP" sobre "SSL"/"TLS". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3915]https://www.cpan.org/authors/id/O/OA/OALDERS/LWP-Protocol-htt ps-6.11.tar.gz * Soma de verificação MD5 da transferência: 6615a250c8963a2333ea6d0fbbec306b Dependências do "LWP::Protocol::https" Exigidas [3916]IO-Socket-SSL-2.083, [3917]libwww-perl-6.72 e [3918]make-ca-1.12 com /etc/pki/tls/certs/ca-bundle.crt. Instalação do "LWP::Protocol::https" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Module::Build-0.4232 Introdução ao "Module::Build" "Module::Build" permite módulos "Perl" serem construídos sem um comando make estar presente. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3919]https://cpan.metacpan.org/authors/id/L/LE/LEONT/Module-Build- 0.4232.tar.gz * Soma de verificação MD5 da transferência: 144885f1cbaf9420017bbed696ec6b83 Instalação do "Module::Build" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Observe que esse módulo também pode ser construído usando Build.PL Conteúdo Aplicativos Instalados: config_data Descrições Curtas config_data é usado para consultar ou mudar a configuração de módulos "Perl" Net::DNS-1.39 Introdução ao "Net::DNS" "Net::DNS" é um resolvedor de "DNS" implementado em Perl. Ele pode ser usado para realizar praticamente qualquer tipo de consulta "DNS" a partir de um script Perl. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3920]https://www.cpan.org/authors/id/N/NL/NLNETLABS/Net-DNS-1.39.t ar.gz * Soma de verificação MD5 da transferência: 4a20cb266f1f75d97b2d535655d211db Instalação do "Net::DNS" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Parse::RecDescent-1.967015 Introdução ao "Parse::RecDescent" "Parse::RecDescent" gera incrementalmente analisadores de texto descendentes recursivos de cima para baixo a partir de especificações gramaticais simples do tipo "yacc". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3921]https://www.cpan.org/authors/id/J/JT/JTBRAUN/Parse-RecDescent -1.967015.tar.gz * Soma de verificação MD5 da transferência: 7a36d45d62a9b68603edcdbd276006cc Instalação do "Parse::RecDescent" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Parse::Yapp-1.21 Introdução ao "Parse::Yapp" "Parse::Yapp" é uma extensão "Perl" para gerar e usar analisadores "LALR". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3922]https://www.cpan.org/authors/id/W/WB/WBRASWELL/Parse-Yapp-1.2 1.tar.gz * Soma de verificação MD5 da transferência: 69584d5b0f0304bb2a23cffcd982c5de Instalação do "Parse::Yapp" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Conteúdo Aplicativos Instalados: yapp Descrições Curtas yapp é uma interface para o módulo "Parse::Yapp", que te permite criar um analisador "Perl" "OO" a partir de um arquivo de gramática de entrada PerlIO::utf8_strict-0.010 Introdução ao "PerlIO::utf8_strict" PerlIO::utf8_strict fornece uma camada UTF-8 PerlIO rápida e correta. Ao contrário da camada :utf8 padrão do Perl, ele verifica a correção da entrada gerada. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3923]https://www.cpan.org/authors/id/L/LE/LEONT/PerlIO-utf8_strict -0.010.tar.gz * Soma de verificação MD5 da transferência: d90ca967f66e05ad9221c79060868346 Dependências do "PerlIO::utf8_strict" Recomendadas (exigidas para a suíte de teste) [3924]Test-Exception-0.43 Instalação dp "PerlIO::utf8_strict" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Regexp::Common-2017060201 Introdução ao "Regexp::Common" "Regexp::Common" fornece expressões regulares comumente solicitadas. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3925]https://www.cpan.org/authors/id/A/AB/ABIGAIL/Regexp-Common-20 17060201.tar.gz * Soma de verificação MD5 da transferência: b1bb40759b84154990f36a160160fb94 Instalação do "Regexp::Common" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install SGMLSpm-1.1 Introdução ao "SGMLSpm" O módulo "SGMLSpm" é uma biblioteca Perl usada para analisar a saída gerada a partir dos analisadores "SGMLS" e "NSGMLS" de James Clark. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3926]https://www.cpan.org/authors/id/R/RA/RAAB/SGMLSpm-1.1.tar.gz * Soma de verificação MD5 da transferência: 746c74ae969992cedb1a2879b4168090 Instalação do "SGMLSpm" Antes de iniciar a construção, emita o seguinte comando para evitar um erro: chmod -v 644 MYMETA.yml Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Depois de o pacote ter sido instalado, execute o seguinte comando como o(a) usuário(a) root: ln -sv sgmlspl.pl /usr/bin/sgmlspl Conteúdo Aplicativos Instalados: sgmlspl.pl, sgmlspl Descrições Curtas sgmlspl.pl é um processador "SGML" sgmlspl é um vínculo simbólico usado durante a instalação de [3927]DocBook-utils-0.6.14 Sort::Key-1.33 Introdução ao "Sort::Key" "Sort::Key" fornece um conjunto de funções para classificar listas de valores por algum valor-chave calculado. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3928]https://www.cpan.org/authors/id/S/SA/SALVA/Sort-Key-1.33.tar. gz * Soma de verificação MD5 da transferência: a37ab0da0cfdc26e57b4c79e39f6d98f Instalação do "Sort::Key" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Test::Command-0.11 Introdução ao "Test::Command" "Test::Command" testa a situação de saída, "STDOUT" ou "STDERR", de um comando externo. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3929]https://www.cpan.org/authors/id/D/DA/DANBOO/Test-Command-0.11 .tar.gz * Soma de verificação MD5 da transferência: 9ab83c4695961dbe92cd86efe08f0634 Instalação do "Test::Command" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Test::Differences-0.70 Introdução ao "Test::Differences" "Test::Differences" testa sequências de caracteres e estruturas de dados e mostra as diferenças se elas não corresponderem. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3930]https://www.cpan.org/authors/id/D/DC/DCANTRELL/Test-Differenc es-0.70.tar.gz * Soma de verificação MD5 da transferência: 1afd5ddab3d70575bdff206edacc4425 Dependências do "Test::Differences" Exigidas [3931]Text-Diff-1.45 Recomendadas (exigidas para a suíte de teste) [3932]Capture-Tiny-0.48 Instalação do "Test::Differences" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Text::BibTeX-0.89 Introdução ao "Text::BibTeX" "Text::BibTeX" fornece uma interface para ler e analisar arquivos BibTeX. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3933]https://www.cpan.org/authors/id/A/AM/AMBS/Text-BibTeX-0.89.ta r.gz * Soma de verificação MD5 da transferência: 67fa6d9c03c659627d9fd58bb380c1fe Dependências do "Text::BibTeX" Exigidas [3934]Config-AutoConf-0.320, [3935]ExtUtils-LibBuilder-0.08 Instalação do "Text::BibTeX" Esse módulo é construído usando Build.PL: perl Build.PL && ./Build && ./Build test Agora, como o(a) usuário(a) root: ./Build install Conteúdo Aplicativos Instalados: biblex, libparse, dumpnames Bibliotecas Instaladas: libtparse.so Descrições Curtas biblex realiza análise léxica em um arquivo "BibTeX" bibparse analisa uma série de arquivos "BibTeX" com opções de linha de comando para controlar o comportamento de pós-processamento da sequência de caracteres dumpnames analisa um arquivo "BibTeX", dividindo os campos "author" e "editor" em listas de nomes e, em seguida, despeja tudo na saída gerada padrão libbtparse.so é uma biblioteca para analisar e processar arquivos de dados "BibTeX" Text::CSV-2.03 Introdução ao "Text::CSV" "Text::CSV" é um manipulador de valores separados por vírgula, usando "XS" ("eXternal Subroutine" - para sub-rotinas escritas em "C" ou "C++") ou "Perl" puro. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3936]https://www.cpan.org/authors/id/I/IS/ISHIGAKI/Text-CSV-2.03.t ar.gz * Soma de verificação MD5 da transferência: 4ee40e2404a1cf1099f5e7d94badfbea Dependências do "Text::CSV" Recomendadas [3937]Text-CSV_XS-1.51 (exigido por [3938]biber-2.19) Instalação do "Text::CSV" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Text::Roman-3.5 Introdução ao "Text::Roman" "Text::Roman" permite a conversão entre algoritmos romanos e arábicos (sistemas numéricos, por exemplo, "MCMXLV" e "1945"). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3939]https://www.cpan.org/authors/id/S/SY/SYP/Text-Roman-3.5.tar.g z * Soma de verificação MD5 da transferência: 1f6b09c0cc1f4425b565ff787a39fd83 Instalação do "Text::Roman" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Unicode::Collate-1.31 Introdução ao "Unicode::Collate" "Unicode::Collate" fornece um algoritmo de agrupamento "Unicode". Nota Esse é um módulo central. Se você estiver usando perl-5.28.0 ou posterior, [então] a versão dele é boa o suficiente para [3940]biber-2.19 e você não precisa reinstalar esse módulo. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3941]https://www.cpan.org/authors/id/S/SA/SADAHIRO/Unicode-Collate -1.31.tar.gz * Soma de verificação MD5 da transferência: ee4d960d057c5e5b02ebb49d0286db8f Instalação do "Unicode::Collate" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Unicode::LineBreak-2019.001 Introdução ao "Unicode::LineBreak" "Unicode::LineBreak" fornece um algoritmo de quebra de linha "Unicode" "UAX #14". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3942]https://www.cpan.org/authors/id/N/NE/NEZUMI/Unicode-LineBreak -2019.001.tar.gz * Soma de verificação MD5 da transferência: 003d6da7a13700e069afed9238c864b9 Dependências do "Unicode::LineBreak" Exigidas [3943]MIME-Charset-1.013.1, também [3944]Wget-1.21.4 (para baixar dois arquivos a partir de "unicode.org" na suíte de teste) Opcionais [3945]libthai (para quebrar palavras tailandesas em segmentos) Instalação do "Unicode::LineBreak" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install URI-5.17 Introdução ao "URI" Esse módulo implementa a classe "URI". Os objetos dessa classe representam "referências de Identificador Uniforme de Recursos" conforme especificado na "RFC" 2396 (e atualizado pela "RFC" 2732). Um Identificador Uniforme de Recursos é uma sequência compacta de caracteres que identifica um recurso abstrato ou físico. Um Identificador Uniforme de Recursos pode ainda ser classificado ou como um Localizador Uniforme de Recursos ("URL") ou um Nome Uniforme de Recurso ("URN"). A distinção entre "URL" e "URN" não importa para a interface da classe "URI". Uma "referência de URI" é um "URI" que possivelmente tenha informações adicionais anexadas na forma de um identificador de fragmento. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3946]https://www.cpan.org/authors/id/O/OA/OALDERS/URI-5.17.tar.gz * Soma de verificação MD5 da transferência: 63675c429cfb1df73d7d21a9302e1000 Dependências do "URI" Recomendadas (exigidas para a suíte de teste) [3947]Test-Fatal-0.017, [3948]Test-Needs-0.002010 e [3949]Test-Warnings-0.031 Opcionais [3950]Business-ISBN-3.008 Instalação do "URI" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install XML::LibXML::Simple-1.01 Introdução ao "XML::LibXML::Simple" O módulo XML::LibXML::Simple é uma reescrita de XML::Simple para usar o analisador XML::LibXML para estruturas XML, em vez dos analisadores simples Perl ou SAX. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3951]https://www.cpan.org/authors/id/M/MA/MARKOV/XML-LibXML-Simple -1.01.tar.gz * Soma de verificação MD5 da transferência: faad5ed26cd83998f6514be199c56c38 Dependências do "XML::LibXML::Simple" Exigidas [3952]XML-LibXML-2.0208 Instalação do "XML::LibXML::Simple" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install XML::LibXSLT-2.002001 Introdução ao "XML::LibXSLT" "XML-LibXSLT" fornece uma interface para [3953]libxslt-1.1.38 Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3954]https://www.cpan.org/authors/id/S/SH/SHLOMIF/XML-LibXSLT-2.00 2001.tar.gz * Soma de verificação MD5 da transferência: b47ac3a69b58fa43386c4f39be5d7bd5 Dependências do "XML::LibXSLT" Exigidas [3955]libxslt-1.1.38, [3956]XML-LibXML-2.0208 Instalação do "XML::LibXSLT" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install XML::Simple-2.25 Introdução ao "XML::Simple" "XML::Simple" fornece uma "API" fácil para ler e escrever "XML" (especialmente arquivos de configuração). Está obsoleto e o uso dele é desencorajado. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3957]https://www.cpan.org/authors/id/G/GR/GRANTM/XML-Simple-2.25.t ar.gz * Soma de verificação MD5 da transferência: bb841dce889a26c89a1c2739970e9fbc Dependências do "XML::Simple" Opcionais [3958]XML-SAX-1.02 (para um analisador alternativo, que será usado se disponível; caso contrário, XML::Parser, que foi instalado no LFS, será usado), Instalação do "XML::Simple" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install XML::Writer-0.900 Introdução ao "XML::Writer" "XML::Writer" fornece uma extensão Perl para escrever documentos "XML". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [3959]https://www.cpan.org/authors/id/J/JO/JOSEPHW/XML-Writer-0.900 .tar.gz * Soma de verificação MD5 da transferência: 2457214360cefda445742a608dd6195e Instalação do "XML::Writer" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Instalação automatizada "CPAN" de módulos "Perl" Instalação Automática de Módulos "Perl". Existe uma maneira alternativa de instalar os módulos usando o comando install do "shell" cpan. O comando baixa automaticamente o fonte mais recente a partir do arquivamento "CPAN" para o módulo e quaisquer módulos de pré-requisito ausentes listados pelo(a) desenvolvedor(a). Então para cada módulo ele o extrai, executa a compilação, os testes e o instala. Você ainda precisa instalar quaisquer dependências não "Perl" antes de executar o método de instalação automatizado. Você possivelmente queira limpar o diretório build/ depois da instalação, para liberar o espaço. Se quaisquer ações pós-instalação, como criar um link simbólico, for mencionada, [então] você também deveria executá-las. Na primeira vez que você executar o cpan, você será solicitado(a) a inserir algumas informações relativas a locais e métodos de transferência. Essas informações são retidas em arquivos localizados em ~/.cpan. Em particular, você possivelmente deseje configurá-lo de forma que [3960]Sudo-1.9.14p3 seja usado para as instalações, permitindo que você construa e teste como um(a) usuário(a) normal. Os exemplos a seguir não usaram essa abordagem. Inicie o "shell" cpan emitindo "cpan" como o(a) usuário(a) root. Qualquer módulo agora pode ser instalado a partir do "prompt" cpan> com o comando: install Para comandos e ajuda adicionais, emita "help" a partir do "prompt" cpan> . Alternativamente, para instalações com automatizadas ou não interativas, use a seguinte sintaxe como o(a) usuário(a) root para instalar um ou mais módulos: cpan -i Revise a página de manual cpan.1 para parâmetros adicionais que você consegue passar para cpan na linha de comando. Dependências de Módulos "Perl" Módulos "Perl" que são exigidos somente por outros módulos Os módulos na página anterior são referenciados a partir de outras páginas no BLFS, mas esses módulos estão no livro somente como dependências daqueles módulos. Se você usar o método de instalação "CPAN", [então] não precisará ler esta página. Os(As) editores(as) do BLFS prestam muito menos atenção a estes módulos e as versões não serão revisadas regularmente. Em todos os casos, somente as dependências exigidas ou recomendadas estão listadas - podem existir outros módulos que permitem que mais testes sejam executados, mas omiti-los ainda permitirá que os testes PASSEM. Nota Os links nesta página (para "metacpan.org") deveriam ir para versões "boas conhecidas", para as quais as dependências delas estão corretas. Se você desejar usar uma versão posterior, [então], por favor, verifique o arquivo de mudanças em "https://metacpan.org" - às vezes as dependências adicionadas estão listadas, outras vezes não. Alguns destes módulos tem atualizações muito frequentes, muitas vezes trazendo diferentes dependências. As versões vinculadas do "metacpan.org" abaixo eram conhecidas por funcionarem com as versões do módulo no BLFS quando revisadas pela última vez. No entanto, se você notar que o arquivo de mudanças para uma versão mais recente que a do livro de desenvolvimento atual informa uma correção para um problema de segurança, [então] informe isso ou à lista "blfs-dev" ou à "blfs-support". Da mesma forma, se você descobrir que um módulo atualizado na página anterior precisa de uma dependência extra, [então], por favor, informe isso. * [3961]Algorithm-Diff-1.201 * [3962]Alien-Build-2.77 * [3963]Alien-Build-Plugin-Download-GitLab-0.01 * [3964]Alien-Libxml2-0.19 * [3965]B-COW-0.007 * [3966]B-Hooks-EndOfScope-0.26 * [3967]Business-ISBN-Data-20230426.001 * [3968]Capture-Tiny-0.48 * [3969]Class-Data-Inheritable-0.09 * [3970]Class-Inspector-1.36 * [3971]Class-Singleton-1.6 * [3972]Class-Tiny-1.008 * [3973]Clone-0.46 * [3974]Config-AutoConf-0.320 * [3975]CPAN-Meta-Check-0.017 * [3976]DateTime-1.59 * [3977]DateTime-Format-Strptime-1.79 * [3978]DateTime-Locale-1.37 * [3979]DateTime-TimeZone-2.57 * [3980]Devel-StackTrace-2.04 * [3981]Dist-CheckConflicts-0.11 * [3982]Encode-Locale-1.05 * [3983]Eval-Closure-0.14 * [3984]Exception-Class-1.45 * [3985]Exporter-Tiny-1.006000 * [3986]ExtUtils-LibBuilder-0.08 * [3987]FFI-CheckLib-0.31 * [3988]File-chdir-0.1011 * [3989]File-Copy-Recursive-0.45 * [3990]File-Find-Rule-0.34 * [3991]File-Listing-6.15 * [3992]File-ShareDir-1.118 * [3993]File-ShareDir-Install-0.14 * [3994]HTML-Tagset-3.20 * [3995]HTTP-CookieJar-0.014 * [3996]HTTP-Cookies-6.10 * [3997]HTTP-Date-6.05 * [3998]HTTP-Message-6.44 * [3999]HTTP-Negotiate-6.01 * [4000]Importer-0.026 * [4001]IO-HTML-1.004 * [4002]IPC-System-Simple-1.30 * [4003]List-MoreUtils-XS-0.430 * [4004]List-SomeUtils-0.59 * [4005]List-SomeUtils-XS-0.58 * [4006]List-UtilsBy-0.12 * [4007]LWP-MediaTypes-6.04 * [4008]MIME-Charset-1.013.1 * [4009]Module-Implementation-0.09 * [4010]Module-Pluggable-5.2 * [4011]Module-Runtime-0.016 * [4012]MRO-Compat-0.15 * [4013]namespace-autoclean-0.29 * [4014]namespace-clean-0.27 * [4015]Net-HTTP-6.23 * [4016]Net-SSLeay-1.92 * [4017]Number-Compare-0.03 * [4018]Package-Stash-0.40 * [4019]Params-Validate-1.31 * [4020]Params-ValidationCompiler-0.31 * [4021]Path-Tiny-0.144 * [4022]Role-Tiny-2.002004 * [4023]Scope-Guard-0.21 * [4024]Specio-0.48 * [4025]Sub-Exporter-Progressive-0.001013 * [4026]Sub-Identify-0.14 * [4027]Sub-Info-0.002 * [4028]Sub-Quote-2.006008 * [4029]Sub-Uplevel-0.2800 * [4030]Term-Table-0.016 * [4031]Test-Deep-1.204 * [4032]Test-Exception-0.43 * [4033]Test-Fatal-0.017 * [4034]Test-File-1.993 * [4035]Test-File-ShareDir-1.001002 * [4036]Test-LeakTrace-0.17 * [4037]Test-Needs-0.002010 * [4038]Test-Requires-0.11 * [4039]Test-RequiresInternet-0.05 * [4040]Test-utf8-1.02 * [4041]Test-Warnings-0.031 * [4042]Test-Without-Module-0.21 * [4043]Test2-Plugin-NoWarnings-0.09 * [4044]Test2-Suite-0.000145 * [4045]Text-CSV_XS-1.51 * [4046]Text-Diff-1.45 * [4047]Text-Glob-0.11 * [4048]Tie-Cycle-1.227 * [4049]TimeDate-2.33 * [4050]Try-Tiny-0.31 * [4051]Variable-Magic-0.63 * [4052]WWW-RobotRules-6.02 * [4053]XML-LibXML-2.0208 * [4054]XML-NamespaceSupport-1.12 * [4055]XML-SAX-1.02 * [4056]XML-SAX-Base-1.09 Algorithm::Diff-1.201 Introdução ao "Algorithm::Diff" "Algorithm::Diff" calcula diferenças "inteligentes" entre dois arquivos ou listas. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4057]https://cpan.metacpan.org/authors/id/R/RJ/RJBS//Algorithm-Dif f-1.201.tar.gz * Soma de verificação MD5 da transferência: 2eaae910f5220261ee2bbdfc4a8df2c2 Instalação do "Algorithm::Diff" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Alien::Build-2.77 Introdução ao "Alien::Build" "Alien::Build" fornece ferramentas para construir dependências externas (não "CPAN") para "CPAN". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4058]https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/Alien-Buil d-2.77.tar.gz * Soma de verificação MD5 da transferência: 65dab78e4dbde17fef13667d3be60ae0 Dependências do "Alien::Build" Exigidas [4059]Capture-Tiny-0.48, [4060]File-Which-1.27, [4061]FFI-CheckLib-0.31 e [4062]File-chdir-0.1011 Instalação do "Alien::Build" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Alien::Build::Plugin::Download::GitLab-0.01 Introdução ao "Alien::Build::Plugin::Download::GitLab" "Alien::Build::Plugin::Download::GitLab" permite que "Alien::Build" baixe a partir do "GitLab" (na prática, isso não baixa se a biblioteca exigida já estiver instalada no sistema). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4063]https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/Alien-Buil d-Plugin-Download-GitLab-0.01.tar.gz * Soma de verificação MD5 da transferência: ad1d815262ad7dd98b0a9b35ba2f05ef Dependências do "Alien::Build::Plugin::Download::GitLab" Exigidas [4064]Alien-Build-2.77 e [4065]URI-5.17 Instalação do "Alien::Build::Plugin::Download::GitLab" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Alien::Libxml2-0.19 Introdução ao "Alien::Libxml2" "Alien::Libxml2" foi projetado para permitir que módulos instalem a biblioteca "libxml2" da "C" em seu sistema. No BLFS, ele usa pkg-config para descobrir como vincular ao [4066]libxml2-2.10.4 instalado. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4067]https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/Alien-Libx ml2-0.19.tar.gz * Soma de verificação MD5 da transferência: 54ef82ddf7641279a72f216e405f9a5e Dependências do "Alien::Libxml2" Exigidas [4068]Alien-Build-Plugin-Download-GitLab-0.01, [4069]libxml2-2.10.4, [4070]Path-Tiny-0.144 Recomendadas (exigidas para a suíte de teste) [4071]Test2-Suite-0.000145 Instalação do "Alien::Libxml2" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install B::COW-0.007 Introdução ao "B::COW" "B::COW" fornece ajudantes adicionais para o módulo central "B" verificar "Copy On Write". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4072]https://cpan.metacpan.org/authors/id/A/AT/ATOOMIC/B-COW-0.007 .tar.gz * Soma de verificação MD5 da transferência: 7afc46f19e6f906e2ba5769b21fca5ff Instalação do "B::COW" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install B::Hooks::EndOfScope-0.26 Introdução a B::Hooks::EndOfScope "B::Hooks::EndOfScope" permite que você execute código quando o "Perl" terminar de compilar o escopo circundante. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4073]https://cpan.metacpan.org/authors/id/E/ET/ETHER/B-Hooks-EndOf Scope-0.26.tar.gz * Soma de verificação MD5: 6e1a5334ccc7809aa7cc82dbfa1affc7 Dependências de B::Hooks::EndOfScope Exigida [4074]Module-Implementation-0.09, [4075]Sub-Exporter-Progressive-0.001013 e [4076]Variable-Magic-0.63 Recomendadas (exigidas para a suíte de teste) [4077]Try-Tiny-0.31 Instalação de B::Hooks::EndOfScope Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Business::ISBN::Data-20230426.001 Introdução ao "Business-ISBN-Data" "Business-ISBN-Data" é um pacote de dados para "Business::ISBN". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4078]https://cpan.metacpan.org/authors/id/B/BD/BDFOY/Business-ISBN -Data-20230426.001.tar.gz * Soma de verificação MD5 da transferência: 7588290f2a0631bd220683860cf601d7 Instalação do “Business-ISBN-Data” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Capture::Tiny-0.48 Introdução ao "Capture::Tiny" O módulo "Capture::Tiny" captura "STDOUT" e "STDERR" a partir de "Perl", "XS" ("eXternal Subroutine", ou seja, escrito em "C" ou "C++") ou aplicativos externos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4079]https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/Capture-Ti ny-0.48.tar.gz * Soma de verificação MD5 da transferência: f5d24083ad270f8326dd659dd83eeb54 Instalação do "Capture::Tiny" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Class::Data::Inheritable-0.09 Introdução ao "Class::Data::Inheritable" "Class::Data::Inheritable" serve para criar acessadores/"mutadores" para dados de classe. Isto é, se você quiser armazenar algo acerca de sua classe como um todo (em vez de acerca de um objeto). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4080]https://cpan.metacpan.org/authors/id/R/RS/RSHERER/Class-Data- Inheritable-0.09.tar.gz * Soma de verificação MD5 da transferência: bd25ecd6e5d528fbc3783edf1b8facef Instalação do "Class::Data::Inheritable" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Class::Inspector-1.36 Introdução ao "Class::Inspector" "Class::Inspector" te permite obter informações acerca de uma classe carregada. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4081]https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/Class-Insp ector-1.36.tar.gz * Soma de verificação MD5 da transferência: 084c3aeec023639d21ecbaf7d4460b21 Instalação do "Class::Inspector" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Class::Singleton-1.6 Introdução ao "Class::Singleton" Um "Singleton" descreve uma classe de objeto que pode ter somente uma instância em qualquer sistema, como um aplicativo de gerenciamento de fila de documentos de impressão. Esse módulo implementa uma classe "Singleton" a partir da qual outras classes podem ser derivadas. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4082]https://cpan.metacpan.org/authors/id/S/SH/SHAY/Class-Singleto n-1.6.tar.gz * Soma de verificação MD5 da transferência: d9c84a7b8d1c490c38e88ed1f9faae47 Instalação do "Class::Singleton" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Class:Tiny-1.008 Introdução ao "Class:Tiny" "Classe:Tiny" oferece um conjunto de ferramentas minimalistas de construção de classes. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4083]https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/Class-Tiny -1.008.tar.gz * Soma de verificação MD5 da transferência: e3ccfae5f64d443e7e1110be964d7202 Instalação do "Class:Tiny" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Clone-0.46 Introdução ao "Clone" "Clone" copia recursivamente tipos de dados "Perl". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4084]https://cpan.metacpan.org/authors/id/G/GA/GARU/Clone-0.46.tar .gz * Soma de verificação MD5 da transferência: cafa8984a2c2e005e54b27dd1e3f0afe Dependências do "Clone" Recomendadas (exigidas para a suíte de teste) [4085]B-COW-0.007 Instalação do "Clone" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Config::AutoConf-0.320 Introdução ao "Config::AutoConf" O módulo "Config::AutoConf" implementa algumas das macros "AutoConf" (detectar um comando, detectar uma biblioteca, etc.) em "Perl" puro. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4086]https://cpan.metacpan.org/authors/id/A/AM/AMBS/Config-AutoCon f-0.320.tar.gz * Soma de verificação MD5 da transferência: 71664b2864232e265179ac29298e0916 Dependências do "Config::AutoConf" Exigidas [4087]Capture-Tiny-0.48, [4088]File-Slurper-0.014 Instalação do "Config::AutoConf" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install CPAN::Meta::Check-0.017 Introdução ao "CPAN::Meta::Check" "CPAN::Meta::Check" verifica se os requisitos descritos em um objeto "CPAN::Meta" estão presentes. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4089]https://cpan.metacpan.org/authors/id/L/LE/LEONT/CPAN-Meta-Che ck-0.017.tar.gz * Soma de verificação MD5 da transferência: e0117bc582058abed184f6d9b23c445e Instalação do "CPAN::Meta::Check" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install DateTime-1.59 Introdução ao "DateTime" "DateTime" é um objeto de data e hora para "Perl". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4090]https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/DateTime-1. 59.tar.gz * Soma de verificação MD5 da transferência: d6d73ba9ff03e00c83610a995fadc481 Dependências do "DateTime" Exigidas [4091]DateTime-Locale-1.37, [4092]DateTime-TimeZone-2.57 Recomendadas (exigidas para a suíte de teste) [4093]CPAN-Meta-Check-0.017, [4094]Test-Fatal-0.017, [4095]Test-Warnings-0.031 e [4096]Test-Without-Module-0.21 Instalação do "DateTime" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install DateTime::Format::Strptime-1.79 Introdução ao "DateTime::Format::Strptime" "DateTime::Format::Strptime" implementa a maior parte de "strptime(3)", ou seja, ele pega uma sequência de caracteres e um padrão e retorna um objeto "DateTime". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4097]https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/DateTime-Fo rmat-Strptime-1.79.tar.gz * Soma de verificação MD5 da transferência: 441cfec62b0b8a1b4c05cbe5ef73fbf4 Dependências do "DateTime::Format::Strptime" Exigidas [4098]DateTime-1.59 Instalação do "DateTime::Format::Strptime" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install DateTime::Locale-1.37 Introdução ao "DateTime::Locale" "DateTime::Locale" fornece suporte a localização para [4099]DateTime-1.59. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4100]https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/DateTime-Lo cale-1.37.tar.gz * Soma de verificação MD5 da transferência: 3b0ce0ebf768960fd5d08300557176e7 Dependências do "DateTime::Locale" Exigidas [4101]Dist-CheckConflicts-0.11, [4102]File-ShareDir-1.118, [4103]namespace-autoclean-0.29 e [4104]Params-ValidationCompiler-0.31 Recomendadas (exigidas para a suíte de teste) [4105]CPAN-Meta-Check-0.017, [4106]IPC-System-Simple-1.30 e [4107]Test-File-ShareDir-1.001002 Instalação do "DateTime::Locale" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install DateTime::TimeZone-2.57 Introdução ao "DateTime::TimeZone" Essa classe é a classe base para todos os objetos de fuso horário. Um fuso horário é representado internamente como um conjunto de observâncias, cada uma das quais descreve o deslocamento a partir do "GMT" para um dado período de tempo. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4108]https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/DateTime-Ti meZone-2.57.tar.gz * Soma de verificação MD5 da transferência: 1da2beb4ae09e225dd0057dc438a276d Dependências do "DateTime::TimeZone" Exigidas [4109]Class-Singleton-1.6, [4110]Module-Runtime-0.016 e [4111]Params-ValidationCompiler-0.31, também Recomendadas (exigidas para a suíte de teste) Ambos [4112]Test-Fatal-0.017 e [4113]Test-Requires-0.11, mas somente se uma cópia de [4114]DateTime-1.59 (para o qual esse é uma dependência) já tiver sido instalado Instalação do "DateTime::TimeZone" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Devel::StackTrace-2.04 Introdução ao "Devel::StackTrace" "Devel::StackTrace" fornece um objeto que representa um rastreamento de pilha. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4115]https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/Devel-Stack Trace-2.04.tar.gz * Soma de verificação MD5 da transferência: a5b09f7be7f2b10b525a9740676906d8 Instalação do "Devel::StackTrace" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Dist::CheckConflicts-0.11 Introdução ao "Dist::CheckConflicts" "Dist::CheckConflicts" declara conflitos de versão para uma distribuição, para suportar atualizações pós-instalação de distribuições dependentes. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4116]https://cpan.metacpan.org/authors/id/D/DO/DOY/Dist-CheckConfl icts-0.11.tar.gz * Soma de verificação MD5 da transferência: c8725a92b9169708b0f63036812070f2 Dependências do "Dist::CheckConflicts" Exigidas [4117]Module-Runtime-0.016 Recomendadas (exigidas para a suíte de teste) [4118]Test-Fatal-0.017 Instalação do "Dist::CheckConflicts" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Encode::Locale-1.05 Introdução ao "Encode::Locale" "Encode::Locale" determina a codificação de localidade. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4119]https://cpan.metacpan.org/authors/id/G/GA/GAAS/Encode-Locale- 1.05.tar.gz * Soma de verificação MD5 da transferência: fcfdb8e4ee34bcf62aed429b4a23db27 Instalação do "Encode::Locale" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Eval::Closure-0.14 Introdução ao "Eval::Closure" "Eval::Closure" cria fechamentos de forma segura e limpa por meio de avaliação de sequências de caracteres. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4120]https://cpan.metacpan.org/authors/id/D/DO/DOY/Eval-Closure-0. 14.tar.gz * Soma de verificação MD5 da transferência: ceeb1fc579ac9af981fa6b600538c285 Dependências do "Eval::Closure" Recomendadas (exigidas para a suíte de teste) [4121]Test-Fatal-0.017, [4122]Test-Requires-0.11 Instalação do "Eval::Closure" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Exception::Class-1.45 Introdução ao "Exception::Class" "Exception::Class" permite que você declare classes reais de exceção em Perl. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4123]https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/Exception-C lass-1.45.tar.gz * Soma de verificação MD5 da transferência: 1e564d20b374a99fdf660ba3f36b0098 Dependências do "Exception::Class" Exigidas [4124]Class-Data-Inheritable-0.09, [4125]Devel-StackTrace-2.04 Instalação do "Exception::Class" Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Exporter::Tiny-1.006000 Introdução a “Exporter::Tiny” "Exporter::Tiny" é um exportador com os recursos do "Sub::Exporter", mas somente com dependências centrais. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4126]https://cpan.metacpan.org/authors/id/T/TO/TOBYINK/Exporter-Ti ny-1.006000.tar.gz * Soma de verificação MD5 da transferência: 2d555e289eac6450052e8683c292cbf7 Instalação do “Exporter::Tiny” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install ExtUtils::LibBuilder-0.08 Introdução a “ExtUtils::LibBuilder” "ExtUtils::LibBuilder" é uma ferramenta para construir bibliotecas "C". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4127]https://cpan.metacpan.org/authors/id/A/AM/AMBS/ExtUtils-LibBu ilder-0.08.tar.gz * Soma de verificação MD5 da transferência: 8ffe9e9a3c2f916f40dc4f6aed237d33 Dependências do “ExtUtils::LibBuilder” Exigidas [4128]Module-Build-0.4232 Instalação do “ExtUtils::LibBuilder” Esse módulo é construído usando Build.PL: perl Build.PL && ./Build && ./Build test Agora, como o(a) usuário(a) root: ./Build install FFI::CheckLib-0.31 Introdução ao “FFI::CheckLib” "FFI::CheckLib" verifica se uma biblioteca dinâmica específica está disponível para uso por "Foreign Function Interface" ("FFI"). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4129]https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/FFI-CheckL ib-0.31.tar.gz * Soma de verificação MD5 da transferência: ffc8e61bb686dd631bed3ddf102af41c Dependências do “FFI::CheckLib” Recomendadas (exigidas para a suíte de teste) [4130]Capture-Tiny-0.48, [4131]File-Which-1.27, [4132]Path-Tiny-0.144, [4133]Test2-Suite-0.000145 Instalação do “FFI::CheckLib” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install File::chdir-0.1011 Introdução ao “File::chdir” "File::chdir" fornece uma maneira mais sensata de mudar diretórios. O "chdir()" do "Perl" tem o infeliz problema de ser muito, muito, muito global. Se qualquer parte do seu aplicativo chamar "chdir()" ou se qualquer biblioteca que você usa chamar "chdir()", [então] ele muda o diretório atual de trabalho do aplicativo *inteiro*. "File::chdir" te oferece uma alternativa, "$CWD" e "@CWD". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4134]https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/File-chdir -0.1011.tar.gz * Soma de verificação MD5 da transferência: 932090f6c5f602301ae66c259de23ebb Instalação do “File::chdir” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install File::Copy::Recursive-0.45 Introdução ao “File::Copy::Recursive” Esse módulo copia e move diretórios recursivamente (ou arquivos únicos), para uma profundidade opcional e tenta preservar o modo de cada arquivo ou diretório. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4135]https://cpan.metacpan.org/authors/id/D/DM/DMUEY/File-Copy-Rec ursive-0.45.tar.gz * Soma de verificação MD5 da transferência: e5eee1a3f8ae3aebbac063ea54870e54 Dependências do “File::Copy::Recursive” Recomendadas (exigidas para a suíte de teste) [4136]Path-Tiny-0.144, [4137]Test-Deep-1.204, [4138]Test-Fatal-0.017, [4139]Test-File-1.993 e [4140]Test-Warnings-0.031 Instalação do “File::Copy::Recursive” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install File::Find::Rule-0.34 Introdução ao “File::Find::Rule” "File::Find::Rule" é uma interface mais amigável para "File::Find". Ele permite que você construa regras que especifiquem os arquivos e diretórios desejados. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4141]https://cpan.metacpan.org/authors/id/R/RC/RCLAMP/File-Find-Ru le-0.34.tar.gz * Soma de verificação MD5 da transferência: a7aa9ad4d8ee87b2a77b8e3722768712 Dependências do “File::Find::Rule” Exigidas [4142]Number-Compare-0.03, [4143]Text-Glob-0.11 Instalação do “File::Find::Rule” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Conteúdo Aplicativos Instalados: findrule Descrições Curtas findrule é um envólucro de linha de comando para "File::Find::Rule" File::Listing-6.15 Introdução ao “File::Listing” "File::Listing" analisa uma listagem de diretórios. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4144]https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/File-Listi ng-6.15.tar.gz * Soma de verificação MD5 da transferência: 8ba34641a6c5a2ec1b0bf7064f68c535 Dependências do “File::Listing” Exigidas [4145]HTTP-Date-6.05, Instalação do “File::Listing” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install File::ShareDir-1.118 Introdução ao “File::ShareDir” "File::ShareDir" permite que você acesse arquivos de dados que tenham sido instalados por "File::ShareDir::Install". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4146]https://cpan.metacpan.org/authors/id/R/RE/REHSACK/File-ShareD ir-1.118.tar.gz * Soma de verificação MD5 da transferência: 0084f730f4e3d4d89703d92b3ea82f54 Dependências do “File::ShareDir” Exigidas [4147]Class-Inspector-1.36, [4148]File-ShareDir-Install-0.14 Instalação do “File::ShareDir” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install File::ShareDir::Install-0.14 Introdução ao “File::ShareDir::Install” "File::ShareDir::Install" permite que você instale arquivos de dados somente leitura a partir de uma distribuição. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4149]https://cpan.metacpan.org/authors/id/E/ET/ETHER/File-ShareDir -Install-0.14.tar.gz * Soma de verificação MD5 da transferência: bac4d924f3d863b00648ab56ec0dcbdc Instalação do “File::ShareDir::Install” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install HTML::Tagset-3.20 Introdução ao “HTML::Tagset” "HTML::Tagset" fornece várias tabelas de dados úteis na análise de "HTML". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4150]https://cpan.metacpan.org/authors/id/P/PE/PETDANCE/HTML-Tagse t-3.20.tar.gz * Soma de verificação MD5 da transferência: d2bfa18fe1904df7f683e96611e87437 Instalação do “HTML::Tagset” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install HTTP::CookieJar-0.014 Introdução ao HTTP::CookieJar HTTP::CookieJar fornece um cookie HTTP jar minimalista de agente de usuário(a). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4151]https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/HTTP-Cooki eJar-0.014.tar.gz * Soma de verificação MD5 da transferência: a1d891ce0046f1a2c19e2c617d624d0d Dependências do HTTP::CookieJar Exigidas [4152]HTTP-Date-6.05 Recomendadas (exigidas para a suíte de teste) [4153]Test-Deep-1.204, [4154]Test-Requires-0.11, [4155]URI-5.17 Instalação do HTTP::CookieJar Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install HTTP::Cookies-6.10 Introdução ao “HTTP::Cookies” "HTTP::Cookies" fornece uma classe para objetos que representam um "cookie jar" - isto é, uma base de dados de todos os "cookies" "HTTP" que um determinado objeto "LWP::UserAgent" (proveniente de [4156]libwww-perl-6.72) conhece. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4157]https://cpan.metacpan.org/authors/id/O/OA/OALDERS/HTTP-Cookie s-6.10.tar.gz * Soma de verificação MD5 da transferência: b4d7804231b1dfd10999d42283e0cf06 Dependências do “HTTP::Cookies” Exigidas [4158]HTTP-Message-6.44 Instalação do “HTTP::Cookies” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install HTTP::Date-6.05 Introdução ao “HTTP::Date” "HTTP::Date" fornece funções para lidar com os formatos de data usados pelo protocolo "HTTP" e também com alguns outros formatos de data. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4159]https://cpan.metacpan.org/authors/id/O/OA/OALDERS/HTTP-Date-6 .05.tar.gz * Soma de verificação MD5 da transferência: 2ecbb3aedf6aef062605191813ca3027 Dependências do “HTTP::Date” Recomendadas [4160]TimeDate-2.33 (para permitir que reconheça zonas diferentes de "GMT" e numéricas) Instalação do “HTTP::Date” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install HTTP::Message-6.44 Introdução ao “HTTP::Message” "HTTP::Message" fornece uma classe base para objetos de mensagem de estilo "HTTP". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4161]https://cpan.metacpan.org/authors/id/O/OA/OALDERS/HTTP-Messag e-6.44.tar.gz * Soma de verificação MD5 da transferência: 926a077669a7828c5ca39b5cf7735625 Dependências do “HTTP::Message” Exigidas [4162]Clone-0.46, [4163]Encode-Locale-1.05, [4164]HTTP-Date-6.05, [4165]IO-HTML-1.004, [4166]LWP-MediaTypes-6.04 e [4167]URI-5.17 Recomendadas (exigidas para a suíte de teste) [4168]Test-Needs-0.002010 e [4169]Try-Tiny-0.31 Instalação do “HTTP::Message” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install HTTP::Negotiate-6.01 Introdução ao “HTTP::Negotiate” "HTTP::Negotiate" fornece uma implementação completa do algoritmo de negociação de conteúdo "HTTP". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4170]https://cpan.metacpan.org/authors/id/G/GA/GAAS/HTTP-Negotiate -6.01.tar.gz * Soma de verificação MD5 da transferência: 1236195250e264d7436e7bb02031671b Dependências do “HTTP::Negotiate” Recomendadas (exigidas para a suíte de teste) [4171]HTTP-Message-6.44 Instalação do “HTTP::Negotiate” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Importer-0.026 Introdução ao “Importer” O "Importer" fornece uma interface alternativa, mas compatível, para módulos que exportam símbolos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4172]https://cpan.metacpan.org/authors/id/E/EX/EXODIST/Importer-0. 026.tar.gz * Soma de verificação MD5 da transferência: 3f09930b82cadfe26d0ce2fb1338aa1b Instalação do “Importer” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install IO::HTML-1.004 Introdução ao “IO::HTML” "IO::HTML" abre um arquivo "HTML" com detecção automática de conjunto de caracteres. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4173]https://cpan.metacpan.org/authors/id/C/CJ/CJM/IO-HTML-1.004.t ar.gz * Soma de verificação MD5 da transferência: 04bbe363686fd19bfb4cc0ed775e3d03 Instalação do “IO::HTML” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install IPC::System::Simple-1.30 Introdução ao “IPC::System::Simple” "IPC::System::Simple" elimina o trabalho árduo de chamar comandos externos e produzir diagnósticos detalhados. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4174]https://cpan.metacpan.org/authors/id/J/JK/JKEENAN/IPC-System- Simple-1.30.tar.gz * Soma de verificação MD5 da transferência: e68341fd958fd013b3521d909904f675 Instalação do “IPC::System::Simple” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install List::MoreUtils::XS-0.430 Introdução ao “List::MoreUtils::XS” "List::MoreUtils::XS" é uma estrutura compilada de retaguarda para "List::MoreUtils" Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4175]https://cpan.metacpan.org/authors/id/R/RE/REHSACK/List-MoreUt ils-XS-0.430.tar.gz * Soma de verificação MD5 da transferência: e77113e55b046906aecfb4ddb4f0c662 Instalação do “List::MoreUtils::XS” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install List::SomeUtils-0.59 Introdução ao “List::SomeUtils” "List::SomeUtils" fornece o que falta em "List::Util". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4176]https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/List-SomeUt ils-0.59.tar.gz * Soma de verificação MD5 da transferência: 333b4adb2907deff2be8da5899881453 Dependências do “List::SomeUtils” Exigidas [4177]Module-Implementation-0.09, [4178]List-SomeUtils-XS-0.58 Instalação do “List::SomeUtils” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install List::SomeUtils::XS-0.58 Introdução ao “List::SomeUtils::XS” "List::SomeUtils::XS" é uma implementação "XS" ("eXternal Subroutine") (mais rápida) para "List::SomeUtils". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4179]https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/List-SomeUt ils-XS-0.58.tar.gz * Soma de verificação MD5 da transferência: 396eabe83a75fcb8d7542d95812469d1 Dependências do “List::SomeUtils::XS” Recomendadas (exigidas para a suíte de teste) [4180]Test-LeakTrace-0.17, [4181]Test-Warnings-0.031 Instalação do “List::SomeUtils::XS” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install List::UtilsBy-0.12 Introdução ao “List::UtilsBy” "List::UtilsBy" fornece uma série de funções utilitárias de lista de ordem superior. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4182]https://cpan.metacpan.org/authors/id/P/PE/PEVANS/List-UtilsBy -0.12.tar.gz * Soma de verificação MD5 da transferência: 54a8c7092bc02f29ea6c5ae215eea385 Instalação do “List::UtilsBy” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install LWP::MediaTypes-6.04 Introdução ao “LWP::MediaTypes” "LWP::MediaTypes" adivinha o tipo de mídia (ou seja, o tipo "MIME") de um arquivo ou "URL". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4183]https://cpan.metacpan.org/authors/id/O/OA/OALDERS/LWP-MediaTy pes-6.04.tar.gz * Soma de verificação MD5 da transferência: 84b799a90c0d2ce52897a7cb4c0478d0 Dependências do “LWP::MediaTypes” Recomendadas (exigidas para a suíte de teste) [4184]Test-Fatal-0.017 Instalação do “LWP::MediaTypes” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install MIME::Charset-1.013.1 Introdução ao “MIME::Charset” "MIME::Charset" fornece informações relativas a conjuntos de caracteres usados para mensagens "MIME" na Internet, como as codificações deles. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4185]https://cpan.metacpan.org/authors/id/N/NE/NEZUMI/MIME-Charset -1.013.1.tar.gz * Soma de verificação MD5 da transferência: b1932cfc806c8deb1b4a20d6afbfa8ac Dependências do “MIME::Charset” Recomendadas [4186]Encode-EUCJPASCII-0.03, [4187]Encode-HanExtra-0.23 e [4188]Encode-JIS2K-0.03 (porque todos são exigidos por [4189]biber-2.19) Instalação do “MIME::Charset” Esse módulo usa uma variante das instruções padrão de construção e instalação: yes '' | perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Explicações do Comando yes |: Perl perguntará se você deseja instalar um módulo adicional para lidar com codificações legadas em japonês, e outro que ele usaria para traduzir documentação para japonês. A opção padrão é "n"; usar "yes" permite que você automatize a construção. Module::Implementation-0.09 Introdução ao “Module::Implementation” "Module::Implementation" carrega uma das várias implementações alternativas subjacentes de um módulo (por exemplo, "eXternal Subroutine" ou "Perl" puro, ou uma implementação para um determinado Sistema Operacional). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4190]https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/Module-Impl ementation-0.09.tar.gz * Soma de verificação MD5 da transferência: 52e3fe0ca6b1eff0488d59b7aacc0667 Dependências do “Module::Implementation” Exigidas [4191]Module-Runtime-0.016, [4192]Try-Tiny-0.31 Recomendadas (exigidas para a suíte de teste) [4193]Test-Fatal-0.017, [4194]Test-Requires-0.11 Instalação do “Module::Implementation” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Module::Pluggable-5.2 Introdução ao “Module::Pluggable” "Module::Pluggable" fornece uma maneira de ter "plugins" para o seu módulo. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4195]https://cpan.metacpan.org/authors/id/S/SI/SIMONW/Module-Plugg able-5.2.tar.gz * Soma de verificação MD5 da transferência: 87ce2971662efd0b69a81bb4dc9ea76c Instalação do “Module::Pluggable” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Module::Runtime-0.016 Introdução ao “Module::Runtime” "Module::Runtime" fornece funções para lidar com o manuseio em tempo de execução de módulos Perl. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4196]https://cpan.metacpan.org/authors/id/Z/ZE/ZEFRAM/Module-Runti me-0.016.tar.gz * Soma de verificação MD5 da transferência: d3d47222fa2e3dfcb4526f6cc8437b20 Instalação do “Module::Runtime” Embora "Module::Build" ainda esteja listado como um pré-requisito, ele não mais é necessário em sistemas com um make funcional. Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install MRO::Compat-0.15 Introdução ao “MRO::Compat” O espaço de nome "mro" fornece vários utilitários para lidar com a ordem de resolução de métodos e cache de métodos em geral no "Perl" 5.9.5 e superior. Esse módulo fornece essas interfaces para versões anteriores do "Perl". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4197]https://cpan.metacpan.org/authors/id/H/HA/HAARG/MRO-Compat-0. 15.tar.gz * Soma de verificação MD5 da transferência: f644dafe901214cedfa7ed8b43b56df1 Instalação do “MRO::Compat” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install namespace::autoclean-0.29 Introdução ao “namespace::autoclean” Esse módulo é muito semelhante ao "namespace::clean", exceto que limpará todas as funções importadas, não importa se você as importou antes ou depois que usou o "pragma". Também não tocará em nada que pareça um método. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4198]https://cpan.metacpan.org/authors/id/E/ET/ETHER/namespace-aut oclean-0.29.tar.gz * Soma de verificação MD5 da transferência: 39b38c776cd1f0ee03cc70781a2f2798 Dependências do “namespace::autoclean” Exigidas [4199]namespace-clean-0.27, [4200]Sub-Identify-0.14 Recomendadas (exigidas para a suíte de teste) [4201]Test-Needs-0.002010 Instalação do “namespace::autoclean” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install namespace::clean-0.27 Introdução ao “namespace::clean” Esse pacote permite que você mantenha importações e funções fora do seu espaço de nome. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4202]https://cpan.metacpan.org/authors/id/R/RI/RIBASUSHI/namespace -clean-0.27.tar.gz * Soma de verificação MD5 da transferência: cba97f39ef7e594bd8489b4fdcddb662 Dependências do “namespace::clean” Exigidas [4203]B-Hooks-EndOfScope-0.26, [4204]Package-Stash-0.40 Instalação do “namespace::clean” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Net::HTTP-6.23 Introdução ao “Net::HTTP” A classe "Net::HTTP" é um cliente "HTTP" de baixo nível. Uma instância da classe representa uma conexão com um servidor "HTTP". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4205]https://cpan.metacpan.org/authors/id/O/OA/OALDERS/Net-HTTP-6. 23.tar.gz * Soma de verificação MD5 da transferência: 1682735ddd1c059864ca5c1bbf15ab95 Dependências do “Net::HTTP” Exigidas [4206]URI-5.17 Instalação do “Net::HTTP” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Net::SSLeay-1.92 Introdução ao “Net::SSLeay” Net::SSLeay é uma extensão Perl para usar OpenSSL. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4207]https://cpan.metacpan.org/authors/id/C/CH/CHRISN/Net-SSLeay-1 .92.tar.gz * Soma de verificação MD5 da transferência: 9e928bc6f430a874a1a2185f84a0ae88 Instalação do “Net::SSLeay” Nota Se habilitar os testes externos, [então] um teste em "t/external/15_altnames.t" possivelmente falhe. Esse módulo usa uma variante das instruções padrão de construção e instalação: yes '' | perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Explicações do Comando yes '': "Perl" perguntará se você deseja executar testes externos, que falharão se você não tiver conectividade de rede de intercomunicação. O padrão é "n"; especificar isso permite que você automatize a construção. Number::Compare-0.03 Introdução ao “Number::Compare” "Number::Compare" compila uma comparação simples com uma sub-rotina anônima, que você consegue chamar com um valor a ser testado. Ele compreende magnitudes padrão "IEC" (k, ki, m, mi, g, gi). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4208]https://cpan.metacpan.org/authors/id/R/RC/RCLAMP/Number-Compa re-0.03.tar.gz * Soma de verificação MD5 da transferência: ded4085a8fc96328742785574ca65208 Instalação do “Number::Compare” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Package::Stash-0.40 Introdução ao “Package::Stash” Manipular "stashes" (tabelas de símbolos do "Perl") ocasionalmente é necessário, mas incrivelmente confuso e fácil de errar. Esse módulo esconde tudo isso atrás de uma "API" simples. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4209]https://cpan.metacpan.org/authors/id/E/ET/ETHER/Package-Stash -0.40.tar.gz * Soma de verificação MD5 da transferência: 7a2922941cc2aad6a52642e4fb13d07b Dependências do “Package::Stash” Exigidas [4210]Dist-CheckConflicts-0.11, [4211]Module-Implementation-0.09 Recomendadas (exigidas para a suíte de teste) [4212]CPAN-Meta-Check-0.017, [4213]Test-Fatal-0.017, [4214]Test-Needs-0.002010 Instalação do “Package::Stash” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Params::Validate-1.31 Introdução ao “Params::Validate” "Params::Validate" te permite validar parâmetros de chamada de método ou função para um nível arbitrário de especificidade. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4215]https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/Params-Vali date-1.31.tar.gz * Soma de verificação MD5 da transferência: ef5f57387c2c9032b59fb23023cf5b25 Dependências do “Params::Validate” Exigidas [4216]Module-Build-0.4232, [4217]Module-Implementation-0.09 Recomendadas (exigidas para a suíte de teste) [4218]Test-Fatal-0.017, [4219]Test-Requires-0.11 Instalação do “Params::Validate” Esse módulo é construído usando Build.PL: perl Build.PL && ./Build && ./Build test Agora, como o(a) usuário(a) root: ./Build install Params::ValidationCompiler-0.31 Introdução ao “Params::ValidationCompiler” "Params::ValidationCompiler" constrói um validador de parâmetro de sub-rotina otimizado. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4220]https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/Params-Vali dationCompiler-0.31.tar.gz * Soma de verificação MD5 da transferência: 15528055f3f53c8cfebbee1f928dec07 Dependências do “Params::ValidationCompiler” Exigidas [4221]Exception-Class-1.45, [4222]Specio-0.48 Recomendadas (exigidas para a suíte de teste) [4223]Test-Without-Module-0.21, [4224]Test2-Plugin-NoWarnings-0.09 Instalação do “Params::ValidationCompiler” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Path::Tiny-0.144 Introdução ao “Path::Tiny” "Path::Tiny" fornece um pequeno utilitário rápido para trabalhar com caminhos de arquivos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4225]https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/Path-Tiny- 0.144.tar.gz * Soma de verificação MD5 da transferência: 7b2fc4f5edfd29b88d2cc3b96830e7d1 Instalação do “Path::Tiny” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Role::Tiny-2.002004 Introdução ao “Role::Tiny” "Role::Tiny" é uma ferramenta minimalista de composição de papéis. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4226]https://cpan.metacpan.org/authors/id/H/HA/HAARG/Role-Tiny-2.0 02004.tar.gz * Soma de verificação MD5 da transferência: 9ee45591befa3d0b1094ac75d282b6ba Instalação do “Role::Tiny” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Scope::Guard-0.21 Introdução ao “Scope::Guard” "Scope::Guard" fornece uma maneira conveniente de realizar limpeza ou outras formas de gerenciamento de recursos no final de um escopo. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4227]https://cpan.metacpan.org/authors/id/C/CH/CHOCOLATE/Scope-Gua rd-0.21.tar.gz * Soma de verificação MD5 da transferência: be57b915d23ddac7677ef2ad9e52b92a Instalação do “Scope::Guard” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Specio-0.48 Introdução ao “Specio” "Specio" fornece classes para representar restrições de tipo e coerção, junto com açúcar sintático para declará-las. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4228]https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/Specio-0.48 .tar.gz * Soma de verificação MD5 da transferência: 96cf1ae4e2e205986e03672071116b16 Dependências do “Specio” Exigidas [4229]Devel-StackTrace-2.04, [4230]Eval-Closure-0.14, [4231]Module-Runtime-0.016, [4232]Role-Tiny-2.002004, [4233]Sub-Quote-2.006008 e [4234]Try-Tiny-0.31 Recomendadas (exigidas para a suíte de teste) [4235]MRO-Compat-0.15, [4236]Test-Fatal-0.017 e [4237]Test-Needs-0.002010 Opcionais [4238]namespace-autoclean-0.29 (para a suíte de teste) Instalação do “Specio” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Sub::Exporter::Progressive-0.001013 Introdução ao “Sub::Exporter::Progressive” "Sub::Exporter::Progressive" é um envólucro para "Sub::Exporter". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4239]https://cpan.metacpan.org/authors/id/F/FR/FREW/Sub-Exporter-P rogressive-0.001013.tar.gz * Soma de verificação MD5 da transferência: 72cf6acdd2a0a8b105821a4db98e4ebe Instalação do “Sub::Exporter::Progressive” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Sub::Identify-0.14 Introdução ao “Sub::Identify” "Sub::Identify" te permite recuperar o nome real das referências de código. É encorajado migrar para "Sub::Util" (um módulo central) quando possível. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4240]https://cpan.metacpan.org/authors/id/R/RG/RGARCIA/Sub-Identif y-0.14.tar.gz * Soma de verificação MD5 da transferência: 014f19e72698b6a2cbcb54adc9691825 Instalação do “Sub::Identify” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Sub::Info-0.002 Introdução ao “Sub::Info” "Sub::Info" é uma ferramenta para inspecionar sub-rotinas. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4241]https://cpan.metacpan.org/authors/id/E/EX/EXODIST/Sub-Info-0. 002.tar.gz * Soma de verificação MD5 da transferência: 335345b534fc0539c894050f7814cbda Dependências do “Sub::Info” Exigidas [4242]Importer-0.026 Instalação do “Sub::Info” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Sub::Quote-2.006008 Introdução ao “Sub::Quote” "Sub::Quote" fornece maneiras de gerar sub-rotinas a partir de sequências de caracteres. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4243]https://cpan.metacpan.org/authors/id/H/HA/HAARG/Sub-Quote-2.0 06008.tar.gz * Soma de verificação MD5 da transferência: f19c60039ba87f69f7f9357fc0a03e07 Instalação do “Sub::Quote” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Sub::Uplevel-0.2800 Introdução ao “Sub::Uplevel” "Sub::Uplevel" permite que você engane um chamador dizendo que ele está executando em um quadro mais alto da pilha. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4244]https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/Sub-Upleve l-0.2800.tar.gz * Soma de verificação MD5 da transferência: 6c6a174861fd160e8d5871a86df00baf Instalação do “Sub::Uplevel” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Term::Table-0.016 Introdução ao “Term::Table” Term::Table formata um cabeçalho e linhas em uma tabela. Isso é usado por alguns testes falhos para fornecer diagnósticos relativos ao que deu errado. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4245]https://cpan.metacpan.org/authors/id/E/EX/EXODIST/Term-Table- 0.016.tar.gz * Soma de verificação MD5 da transferência: ef0c76824c57eaa7796558060067bb49 Dependências do “Term::Table” Exigidas [4246]Importer-0.026 Instalação do “Term::Table” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Test::Deep-1.204 Introdução ao “Test::Deep” "Test::Deep" te dá maneiras muito flexíveis de verificar se o resultado obtido é o resultado que você estava esperando. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4247]https://cpan.metacpan.org/authors/id/R/RJ/RJBS/Test-Deep-1.20 4.tar.gz * Soma de verificação MD5 da transferência: fcff296434cd92538ae9de9d1744705f Instalação do “Test::Deep” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Test::Exception-0.43 Introdução ao “Test::Exception” "Test::Exception" fornece métodos convenientes para testar código baseado em exceções. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4248]https://cpan.metacpan.org/authors/id/E/EX/EXODIST/Test-Except ion-0.43.tar.gz * Soma de verificação MD5 da transferência: 572d355026fb0b87fc2b8c64b83cada0 Dependências do “Test::Exception” Exigidas [4249]Sub-Uplevel-0.2800 Instalação do “Test::Exception” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Test::Fatal-0.017 Introdução ao “Test::Fatal” O módulo "Test::Fatal" fornece ajudantes simples para testar código que lança exceções. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4250]https://cpan.metacpan.org/authors/id/R/RJ/RJBS/Test-Fatal-0.0 17.tar.gz * Soma de verificação MD5 da transferência: 2f160c31e1848536e3b82112d573bb76 Dependências do “Test::Fatal” Exigidas [4251]Try-Tiny-0.31 Instalação do “Test::Fatal” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Test::File-1.993 Introdução ao “Test::File” "Test::File" fornece uma coleção de utilitários de teste para atributos de arquivo. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4252]https://cpan.metacpan.org/authors/id/B/BD/BDFOY/Test-File-1.9 93.tar.gz * Soma de verificação MD5 da transferência: dccb988191187261ce3a2a10af939625 Dependências do “Test::File” Recomendadas (exigidas para a suíte de teste) [4253]Test-utf8-1.02 Instalação do “Test::File” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Test::File::ShareDir-1.001002 Introdução ao “Test::File::ShareDir” "Test::File::ShareDir" é algum encanamento de baixo nível para habilitar a distribuição a realizar testes enquanto consome os próprios diretórios de compartilhamento deles de maneira semelhante a como eles serão ocasionalmente instalados. Isso permite que [4254]File-ShareDir-1.118 veja a versão mais recente do conteúdo em vez do que estiver instalado no sistema alvo onde você estiver testando. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4255]https://cpan.metacpan.org/authors/id/K/KE/KENTNL/Test-File-Sh areDir-1.001002.tar.gz * Soma de verificação MD5 da transferência: ec31466aa44c1cd56c6cb51d7ec3a5de Dependências do “Test::File::ShareDir” Exigidas [4256]Class-Tiny-1.008, [4257]File-Copy-Recursive-0.45, [4258]File-ShareDir-1.118, [4259]Path-Tiny-0.144 e [4260]Scope-Guard-0.21 Recomendadas (exigidas para a suíte de teste) [4261]Test-Fatal-0.017 Instalação do “Test::File::ShareDir” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Test::LeakTrace-0.17 Introdução ao “Test::LeakTrace” "Test::LeakTrace" rastreia vazamentos de memória. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4262]https://cpan.metacpan.org/authors/id/L/LE/LEEJO/Test-LeakTrac e-0.17.tar.gz * Soma de verificação MD5 da transferência: afdb2cc6be0807cb635fb601a004d522 Instalação do “Test::LeakTrace” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Test::Needs-0.002010 Introdução ao “Test::Needs” "Test::Needs" pula os testes se um módulo solicitado não estiver presente. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4263]https://cpan.metacpan.org/authors/id/H/HA/HAARG/Test-Needs-0. 002010.tar.gz * Soma de verificação MD5 da transferência: 2b3d10946001561297624e7668f09c26 Instalação do “Test::Needs” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Test::Requires-0.11 Introdução ao “Test::Requires” O módulo "Test::Requires" verifica se outro módulo (opcional) consegue ser carregado e, se não, pula todos os testes atuais. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4264]https://cpan.metacpan.org/authors/id/T/TO/TOKUHIROM/Test-Requ ires-0.11.tar.gz * Soma de verificação MD5 da transferência: 999d6c4e46ea7baae7a5113292e02ed8 Instalação do “Test::Requires” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Test::RequiresInternet-0.05 Introdução ao “Test::RequiresInternet” "Test::RequiresInternet" destina-se a testar facilmente a conectividade da rede de intercomunicação antes que os testes funcionais comecem em recursos não locais da Internet. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4265]https://cpan.metacpan.org/authors/id/M/MA/MALLEN/Test-Require sInternet-0.05.tar.gz * Soma de verificação MD5 da transferência: 0ba9f1cff4cf90ed2618c2eddfd525d8 Instalação do “Test::RequiresInternet” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Test::utf8-1.02 Introdução ao “Test::utf8” "Test::utf8" é uma coleção de testes úteis para lidar com sequências de caracteres utf8 na Perl. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4266]https://cpan.metacpan.org/authors/id/M/MA/MARKF/Test-utf8-1.0 2.tar.gz * Soma de verificação MD5 da transferência: 71d187539c76ac1ed9a0242ff208796d Instalação do “Test::utf8” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Test::Warnings-0.031 Introdução ao “Test::Warnings” "Test::Warnings" testa para avisos e a falta deles. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4267]https://cpan.metacpan.org/authors/id/E/ET/ETHER/Test-Warnings -0.031.tar.gz * Soma de verificação MD5 da transferência: f608f7011b0bb8f27d3a27e646a52f60 Instalação do “Test::Warnings” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Test::Without::Module-0.21 Introdução ao “Test::Without::Module” Esse módulo te permite ocultar deliberadamente módulos provenientes de um aplicativo, mesmo que eles estejam instalados. Isso é útil principalmente para testar módulos que possuem um substituto quando um determinado módulo de dependência não estiver instalado. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4268]https://cpan.metacpan.org/authors/id/C/CO/CORION/Test-Without -Module-0.21.tar.gz * Soma de verificação MD5 da transferência: d6fdc73b60d197a8098fd41a81c92630 Instalação do “Test::Without::Module” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Test2::Plugin::NoWarnings-0.09 Introdução ao “Test2::Plugin::NoWarnings” "Test2::Plugin::NoWarnings" causa testes falhem se existir algum aviso durante a execução deles. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4269]https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/Test2-Plugi n-NoWarnings-0.09.tar.gz * Soma de verificação MD5 da transferência: efcddec6cda66260ae14206e28f7feeb Dependências do “Test2::Plugin::NoWarnings” Exigidas [4270]Test2-Suite-0.000145 Recomendadas (exigidas para a suíte de teste) [4271]IPC-Run3-0.048 Instalação do “Test2::Plugin::NoWarnings” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Test2::Suite-0.000145 Introdução ao “Test2::Suite” "Test2::Suite" é uma distribuição com um rico conjunto de ferramentas construídas sobre a estrutura "Test2". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4272]https://cpan.metacpan.org/authors/id/E/EX/EXODIST/Test2-Suite -0.000145.tar.gz * Soma de verificação MD5 da transferência: 5fcc87c264a1e93fe7cb0879a0abae15 Dependências do “Test2::Suite” Exigidas [4273]Module-Pluggable-5.2, [4274]Scope-Guard-0.21, [4275]Sub-Info-0.002 e [4276]Term-Table-0.016 Instalação do “Test2::Suite” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Text::CSV_XS-1.51 Introdução ao “Text::CSV_XS” "Text::CSV_XS" fornece facilidades para a composição e decomposição de valores separados por vírgula. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4277]https://cpan.metacpan.org/authors/id/H/HM/HMBRAND/Text-CSV_XS -1.51.tgz * Soma de verificação MD5 da transferência: da151be3259b7d95e1a3573cab26dae2 Instalação do “Text::CSV_XS” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Text::Diff-1.45 Introdução ao “Text::Diff” "Text::Diff" realiza diferenças em arquivos e conjuntos de registros. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4278]https://cpan.metacpan.org/authors/id/N/NE/NEILB/Text-Diff-1.4 5.tar.gz * Soma de verificação MD5 da transferência: edf57b6189f7651a6be454062a4e6d9c Dependências do “Text::Diff” Exigidas [4279]Algorithm-Diff-1.201 Instalação do “Text::Diff” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Text::Glob-0.11 Introdução ao “Text::Glob” "Text::Glob" implementa correspondência de estilo "glob(3)" que pode ser usada para corresponder a texto, em vez de buscar nomes a partir de um sistema de arquivos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4280]https://cpan.metacpan.org/authors/id/R/RC/RCLAMP/Text-Glob-0. 11.tar.gz * Soma de verificação MD5 da transferência: d001559c504a2625dd117bd1558f07f7 Instalação do “Text::Glob” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Tie::Cycle-1.227 Introdução ao “Tie::Cycle” Você usa "Tie::Cycle" para percorrer uma lista repetidamente. Depois de chegar ao final da lista, você volta ao início. Você não precisa se preocupar com nada disso, pois a magia da gravata faz isso por você. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4281]https://cpan.metacpan.org/authors/id/B/BD/BDFOY/Tie-Cycle-1.2 27.tar.gz * Soma de verificação MD5 da transferência: 3d5004bd8e6f41345091a697673879b7 Instalação do “Tie::Cycle” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install TimeDate-2.33 Introdução ao “TimeDate” "TimeDate" fornece diversas rotinas de manipulação de fuso horário. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4282]https://cpan.metacpan.org/authors/id/A/AT/ATOOMIC/TimeDate-2. 33.tar.gz * Soma de verificação MD5 da transferência: 5e5afe22c8d417417283d1f7f4572a57 Instalação do “TimeDate” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Try::Tiny-0.31 Introdução ao “Try::Tiny” "Try::Tiny" fornece try e catch para esperar e lidar com condições excepcionais, evitando peculiaridades na Perl e erros comuns. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4283]https://cpan.metacpan.org/authors/id/E/ET/ETHER/Try-Tiny-0.31 .tar.gz * Soma de verificação MD5 da transferência: 993a29ee8a03c9bd9c2f7c53d1082a03 Dependências do “Try::Tiny” Opcionais (podem ser usadas pela suíte de teste) [4284]Capture-Tiny-0.48 Instalação do “Try::Tiny” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Variable::Magic-0.63 Introdução ao “Variable::Magic” "Magic" é a maneira "Perl" de melhorar variáveis. Com esse módulo, você consegue adicionar sua própria magia a qualquer variável. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4285]https://cpan.metacpan.org/authors/id/V/VP/VPIT/Variable-Magic -0.63.tar.gz * Soma de verificação MD5 da transferência: ceb039e74253232bc5bdfb391ed5d6f5 Instalação do “Variable::Magic” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install WWW::RobotRules-6.02 Introdução ao “WWW::RobotRules” "WWW::RobotRules" analisa arquivos robots.txt, criando um objeto "WWW::RobotRules" com métodos para verificar se o acesso a um determinado "URL" é proibido. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4286]https://cpan.metacpan.org/authors/id/G/GA/GAAS/WWW-RobotRules -6.02.tar.gz * Soma de verificação MD5 da transferência: b7186e8b8b3701e70c22abf430742403 Dependências do “WWW::RobotRules” Exigidas (tempo de execução) [4287]libwww-perl-6.72 (instale esse módulo primeiro e instale-o mais tarde) Instalação do “WWW::RobotRules” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install XML::LibXML-2.0208 Introdução ao “XML::LibXML” "XML::LibXML" é uma ligação "Perl" para [4288]libxml2-2.10.4. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4289]https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/XML-LibXML- 2.0208.tar.gz * Soma de verificação MD5 da transferência: 4cda143b948e1550c7fba4a1133cc6ad Dependências do “XML::LibXML” Exigidas [4290]Alien-Libxml2-0.19, [4291]XML-SAX-1.02 Instalação do “XML::LibXML” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install XML::NamespaceSupport-1.12 Introdução ao “XML::NamespaceSupport” "XML::NamespaceSupport" oferece uma maneira simples de processar nomes "XML" com espaços de nome a partir de dentro de qualquer aplicativo que possa precisar deles. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4292]https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN/XML-Namesp aceSupport-1.12.tar.gz * Soma de verificação MD5 da transferência: a8916c6d095bcf073e1108af02e78c97 Instalação do “XML::NamespaceSupport” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install XML::SAX-1.02 Introdução ao “XML::SAX” "XML::SAX" é uma "API" de acesso ao analisador "SAX" para "Perl". Inclui classes e "APIs" exigidas para implementar controladores "SAX", juntamente com uma classe de fábrica para retornar qualquer analisador "SAX" instalado no sistema do(a) usuário(a). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4293]https://cpan.metacpan.org/authors/id/G/GR/GRANTM/XML-SAX-1.02 .tar.gz * Soma de verificação MD5 da transferência: b62e3754523695c7f5bbcafa3676a38d Dependências do “XML::SAX” Exigidas [4294]libxml2-2.10.4, [4295]XML-NamespaceSupport-1.12 e [4296]XML-SAX-Base-1.09 Instalação do “XML::SAX” Esse módulo usa uma variante das instruções padrão de construção e instalação: yes | perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install Explicações do Comando yes: "Perl" perguntará se você deseja alterar o "ParserDetails.ini" e, então, aguardará uma resposta. O padrão é "y". Usar "yes" te permite automatizar isso. XML::SAX::Base-1.09 Introdução ao “XML::SAX::Base” Esse módulo tem uma tarefa muito simples - ser uma classe base para controladores e filtros "PerlSAX". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4297]https://cpan.metacpan.org/authors/id/G/GR/GRANTM/XML-SAX-Base -1.09.tar.gz * Soma de verificação MD5 da transferência: ec347a14065dd7aec7d9fb181b2d7946 Instalação do “XML::SAX-Base” Esse módulo usa as instruções padrão de construção e instalação: perl Makefile.PL && make && make test Agora, como o(a) usuário(a) root: make install PHP-8.2.9 Introduction to PHP PHP is the PHP Hypertext Preprocessor. Primarily used in dynamic web sites, it allows for programming code to be directly embedded into the HTML markup. It is also useful as a general purpose scripting language. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Package Information * Download (HTTP): [4298]https://www.php.net/distributions/php-8.2.9.tar.xz * Download (FTP): * Download MD5 sum: 897c9c416663d03e516a68cb86b598f3 * Download size: 11 MB * Estimated disk space required: 505 MB (com documentação) * Estimated build time: 1,5 UPC (com paralelismo=4; adicionar 1,6 UPC para testes) Additional Downloads * Optional pre-built documentation (single file html): [4299]https://www.php.net/distributions/manual/php_manual_en.html.g z * Optional pre-built documentation (chunked html): [4300]https://www.php.net/distributions/manual/php_manual_en.tar.gz . Note that the documentation can be found in languages other than English at [4301]https://www.php.net/download-docs.php PHP Dependencies Recommended [4302]Apache-2.4.57 and [4303]libxml2-2.10.4 Optional System Utilities and Libraries [4304]Aspell-0.60.8, [4305]enchant-2.5.0, [4306]libxslt-1.1.38, an [4307]MTA (that provides a sendmail command), [4308]pcre2-10.42, [4309]Pth-2.0.7, [4310]AppArmor, [4311]Dmalloc, [4312]Net-SNMP, [4313]oniguruma, [4314]OSSP mm, [4315]re2c, and [4316]XMLRPC-EPI Optional Graphics Utilities and Libraries [4317]FreeType-2.13.1, [4318]libexif-0.6.24, [4319]libjpeg-turbo-3.0.0, [4320]libpng-1.6.40, [4321]libtiff-4.5.1, [4322]libwebp-1.3.1, [4323]um ambiente gráfico, [4324]FDF Toolkit, [4325]GD, and [4326]t1lib Optional Web Utilities [4327]cURL-8.2.1, [4328]tidy-html5-5.8.0, [4329]Caudium, [4330]Hyperwave, [4331]Roxen WebServer, and [4332]WDDX Optional Data Management Utilities and Libraries [4333]Base de Dados Berkeley-5.3.28 (Note that PHP does not officially support versions above 5.3), [4334]libiodbc-3.52.15, [4335]lmdb-0.9.31, [4336]MariaDB-10.11.4 or [4337]MySQL, [4338]OpenLDAP-2.6.6, [4339]PostgreSQL-15.4, [4340]SQLite-3.42.0, [4341]unixODBC-2.3.12, [4342]Adabas, [4343]Birdstep, [4344]cdb, [4345]DBMaker, [4346]Empress, [4347]FrontBase, [4348]IBM DB2, [4349]Mini SQL, [4350]Monetra, and [4351]QDBM PHP also provides support for many commercial database tools such as Oracle, SAP and ODBC Router. Optional Security/Encryption Utilities and Libraries [4352]Cyrus SASL-2.1.28, [4353]MIT Kerberos V5-1.21.2, [4354]libmcrypt, and [4355]mhash Editor Notes: [4356]https://wiki.linuxfromscratch.org/blfs/wiki/php Installation of PHP You can use PHP for server-side scripting, command-line scripting or client-side GUI applications. This book provides instructions for setting up PHP for server-side scripting as it is the most common form. Nota PHP has many more configure options that will enable support for various things. You can use ./configure --help to see a full list of the available options. Also, use of the [4357]PHP web site is highly recommended, as their online docs are very good. An example of a configure command that utilizes many of the most common dependencies can be found at [4358]https://anduin.linuxfromscratch.org/BLFS/files/php_configure.txt. If, for whatever reason, you don't have [4359]libxml2-2.10.4 installed, you need to add --disable-libxml to the configure command in the instructions below. Note that this will prevent the pear command from being built. Install PHP by running the following commands: ./configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --datadir=/usr/share/php \ --mandir=/usr/share/man \ --enable-fpm \ --without-pear \ --with-fpm-user=apache \ --with-fpm-group=apache \ --with-fpm-systemd \ --with-config-file-path=/etc \ --with-zlib \ --enable-bcmath \ --with-bz2 \ --enable-calendar \ --enable-dba=shared \ --with-gdbm \ --with-gmp \ --enable-ftp \ --with-gettext \ --enable-mbstring \ --disable-mbregex \ --with-readline && make To test the results, issue: make test. Several tests (out of over 16000) may fail, in which case you are asked whether you want to send the report to the PHP developers. If you want to automate the test, you may prefix the command with yes "n" | . Now, as the root user: make install && install -v -m644 php.ini-production /etc/php.ini && install -v -m755 -d /usr/share/doc/php-8.2.9 && install -v -m644 CODING_STANDARDS* EXTENSIONS NEWS README* UPGRADING* \ /usr/share/doc/php-8.2.9 The default configuration files for the fastCGI process manager are installed only if they do not already exist on the system. If this is the first installation, they should be renamed, as the root user: if [ -f /etc/php-fpm.conf.default ]; then mv -v /etc/php-fpm.conf{.default,} && mv -v /etc/php-fpm.d/www.conf{.default,} fi The pre-built HTML documentation is packaged in two forms: a tarball containing many individual files, useful for quick loading into your browser, and one large individual file, which is useful for using the search utility of your browser. If you downloaded either, or both, of the documentation files, issue the following commands as the root user to install them (note these instructions assume English docs, modify the tarball names below if necessary). For the “Single HTML” file: install -v -m644 ../php_manual_en.html.gz \ /usr/share/doc/php-8.2.9 && gunzip -v /usr/share/doc/php-8.2.9/php_manual_en.html.gz For the “Many HTML files” tarball: tar -xvf ../php_manual_en.tar.gz \ -C /usr/share/doc/php-8.2.9 --no-same-owner The bundled pear is not installed because of a bug which might pollute the filesystem with several hidden files and directories. If pear is needed, execute the following commands to install it: wget https://pear.php.net/go-pear.phar php ./go-pear.phar Command Explanations --datadir=/usr/share/php: This works around a bug in the build machinery, which installs some data to a wrong location. --enable-fpm: This parameter allows building the fastCGI Process Manager. --with-fpm-systemd: This parameter allows the FastCGI Process Manager to integrate with systemd. --without-pear: This switch disables installation of bundled pear software. --with-config-file-path=/etc: This parameter makes PHP look for the php.ini configuration file in /etc. --with-zlib: This parameter adds support for Zlib compression. --enable-bcmath: Enables bc style precision math functions. --with-bz2: Adds support for Bzip2 compression functions. --enable-calendar: This parameter provides support for calendar conversion. --enable-dba=shared: This parameter enables support for database (dbm-style) abstraction layer functions. --enable-ftp: This parameter enables FTP functions. --with-gettext: Enables functions that use Gettext text translation. --enable-mbstring: This parameter enables multibyte string support. --with-readline: This parameter enables command line Readline support. --disable-libxml: This option allows building PHP without libxml2 installed. --with-apxs2: Instead of building the fastCGI process manager, it is possible to build an apache module. This has some performance penalty for heavy loaded servers, but may be easier to set up. This switch is incompatible with the --enable-fpm and --with-fpm-... switches. --with-mysqli=shared: This option includes MySQLi support. --with-mysql-sock=/run/mysqld/mysqld.sock: Location of the MySQL unix socket pointer. --with-pdo-mysql=shared: This option includes PDO: MySQL support. --with-tidy=shared: This option includes tidy library support. Configuring PHP Config Files /etc/php.ini, /etc/pear.conf, /etc/php-fpm.conf, and /etc/php-fpm.d/www.conf Configuration Information The file used as the default /etc/php.ini configuration file is recommended by the PHP development team. This file modifies the default behavior of PHP. If no /etc/php.ini is used, all configuration settings fall to the defaults. You should review the comments in this file and ensure the changes are acceptable in your particular environment. The fastCGI process manager uses the configuration file /etc/php-fpm.conf. The default file shipped with PHP includes all the /etc/php-fpm.d/*.conf in turn. There is a shipped /etc/php-fpm.d/www.conf file, that contains the parameters related to the interaction with the Apache Web server. You may have noticed the following from the output of the make install command: You may want to add: /usr/lib/php to your php.ini include_path If desired, add the entry using the following command as the root user: sed -i 's@php/includes"@&\ninclude_path = ".:/usr/lib/php"@' \ /etc/php.ini To enable fastCGI support in the Apache web server, two LoadModule directives must be added to the httpd.conf file. They are commented out, so just issue the following command as root user: sed -i -e '/proxy_module/s/^#//' \ -e '/proxy_fcgi_module/s/^#//' \ /etc/httpd/httpd.conf Those modules accept various ProxyPass directives. One possibility is (as the root user): echo \ 'ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/srv/www/$1' >> \ /etc/httpd/httpd.conf Additionally, it may be useful to add an entry for index.php to the DirectoryIndex directive of the httpd.conf file. Lastly, adding a line to set up the .phps extension to show highlighted PHP source may be desirable: AddType application/x-httpd-php-source .phps You'll need to restart the Apache web server after making any modifications to the httpd.conf file. Systemd Unit To start the php-fpm daemon at boot, install the systemd unit from the [4360]blfs-systemd-units-20230816 package by running the following command as the root user: make install-php-fpm Contents Installed Programs: phar (symlink), phar.phar, php, php-cgi, php-config, php-fpm, phpdbg, and phpize Installed Libraries: dba.so and opcache.so in /usr/lib/php/extensions/no-debug-non-zts-20220829 Installed Directories: /etc/php-fpm.d, /usr/{include,lib,share}/php, and /usr/share/doc/php-8.2.9 Short Descriptions php is a command line interface that enables you to parse and execute PHP code pear is the PHP Extension and Application Repository (PEAR) package manager. This isn't installed by default php-fpm is the fastCGI process manager for PHP phpdbg is the interactive PHP debugger Python-2.7.18 Introdução ao Python 2 O pacote "Python 2" contém o ambiente de desenvolvimento "Python". Ele é útil para programação orientada a objetos, escrita de conjuntos sequenciais de comandos, prototipagem de aplicativos grandes ou desenvolvimento de aplicativos inteiros. Essa versão é para compatibilidade retroativa com outros pacotes dependentes. Nota "Python2" foi descontinuado pelos(as) desenvolvedores(as) produtores(as). O suporte para "Python2" foi descontinuado em 1º de janeiro de 2020. O BLFS está tentando usar "Python3" tanto quanto possível, mas alguns pacotes não foram atualizados para suportar "Python3". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4361]https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: fd6cc8ec0a78c44036f825e739f36e5a * Tamanho da transferência: 12,2 MB * Espaço em disco estimado exigido: 228 MB (adicionar 17 MB para os testes) * Tempo de construção estimado: 0,5 UPC (Usando paralelismo=4; adicionar 5,9 UPC para os testes) Transferências Adicionais * Remendo exigido: [4362]https://www.linuxfromscratch.org/patches/blfs/12.0/Python-2.7 .18-security_fixes-1.patch * Documentação Opcional "HTML": [4363]https://www.python.org/ftp/python/doc/2.7.18/python-2.7.18-do cs-html.tar.bz2 Dependências do "Python" 2 Recomendadas [4364]SQLite-3.42.0 (Para um módulo adicional) Opcionais [4365]BlueZ-5.68 e [4366]Valgrind-3.21.0 Opcionais (Para mais módulos adicionais) [4367]libnsl-2.0.0 e [4368]Tk-8.6.13 Observações de Editor(a): [4369]https://wiki.linuxfromscratch.org/blfs/wiki/Python Instalação do Python 2 Primeiro, desabilite a instalação de um conjunto sequencial de comandos que sobrescreve um conjunto sequencial de comandos mais recente: sed -i '/2to3/d' ./setup.py Instale o "Python 2" executando os seguintes comandos: patch -Np1 -i ../Python-2.7.18-security_fixes-1.patch && ./configure --prefix=/usr \ --enable-shared \ --with-system-expat \ --with-system-ffi \ --enable-unicode=ucs4 && make Se você invocar os testes, [então] eles executarão duas vezes. Para testar os resultados, emita: "make -k test". Vários testes são conhecidos por falharem, incluindo "test_ftplib", "test_ssl", "test_urllib2_localnet", "test_xml_etree", "test_xml_etree_c" e "test_minidom". Essas falhas são devidas ao "OpenSSL-3" e ao "Expat-2.4.6". Agora, como o(a) usuário(a) "root": make altinstall && ln -s python2.7 /usr/bin/python2 && ln -s python2.7-config /usr/bin/python2-config && chmod -v 755 /usr/lib/libpython2.7.so.1.0 Como o "Python 2" está em modo de manutenção e o "Python 3" é recomendado pelo(a) produtor(a) para desenvolvimento, você provavelmente não precisa instalar a documentação. No entanto, se você ainda quiser instalar a documentação para ambas as versões do "Python", [então] certifique-se de definir a variável "PYTHONDOCS" para a versão que deseja usar, cada vez que precisar consultar a documentação. Se você baixou a documentação pré-formatada a partir de [4370]https://docs.python.org/download.html, [então] instale-a como o(a) usuário(a) "root": install -v -dm755 /usr/share/doc/python-2.7.18 && tar --strip-components=1 \ --no-same-owner \ --directory /usr/share/doc/python-2.7.18 \ -xvf ../python-2.7.18-docs-html.tar.bz2 && find /usr/share/doc/python-2.7.18 -type d -exec chmod 0755 {} \; && find /usr/share/doc/python-2.7.18 -type f -exec chmod 0644 {} \; Explicações do Comando --with-system-expat: Essa chave habilita vincular à versão do sistema do "Expat". --with-system-ffi: Essa chave habilita vincular à versão do sistema da "libffi". --enable-unicode=ucs4: Essa chave habilita o suporte "Unicode" de 32 bits no "Python". --with-ensurepip=yes : Essa chave habilita construir os aplicativos de empacotamento "pip" e "setuptools". "setuptools" é necessário para construir alguns módulos "Python". Essa chave não é recomendada porque essa versão do "Python" não mais é mantida. --with-dbmliborder=bdb:gdbm:ndbm: Use essa chave se você desejar construir o módulo "DBM" do "Python" contra "Berkeley DB" em vez do "GDBM". make altinstall: Esse alvo do "make" omite alguns links simbólicos padrão que possivelmente interfiram no "Python" 3. chmod ...: Corrige permissões para bibliotecas serem consistentes com outras bibliotecas. Configurando o Python 2 Para a finalidade de que "python" encontre a documentação instalada, você precisa adicionar a seguinte variável de ambiente ao perfil individual do(a) usuário(a) ou ao do sistema: export PYTHONDOCS=/usr/share/doc/python-2.7.18 Conteúdo Aplicativos Instalados: pydoc, python2 (link simbólico), python2-config (link simbólico), python2.7, python2.7-config, smtpd.py e idle Biblioteca Instalada: libpython2.7.so Diretórios Instalados: /usr/{include,lib}/python2.7 e /usr/share/doc/python-2.7.18 Descrições Curtas idle é um conjunto sequencial de comandos envólucros que abre um editor "GUI" compatível com "Python". Para esse conjunto sequencial de comandos executar, você precisa ter instalado o "Tk" antes do "Python", de forma que o módulo "Tkinter" do "Python" seja construído pydoc é a ferramenta de documentação do "Python" python2 é uma linguagem de programação interpretada, interativa e orientada a objetos python2.7 é um nome específico de versão para o aplicativo "python" smtpd.py é um "proxy" "SMTP" implementado em "Python" Python-3.11.4 Introdução ao Python 3 O pacote Python 3 contém o ambiente de desenvolvimento Python. Isso é útil para programação orientada a objetos, escrita de conjuntos sequenciais de comandos, prototipagem de aplicativos grandes ou desenvolvimento de aplicativos inteiros. Nota O Python 3 foi instalado no LFS. A única razão para reconstruí-lo aqui é se módulos opcionais forem necessários ou para atualizar esse pacote. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Importante Se atualizar para uma nova versão menor do "Python" 3 (por exemplo, de "Python-3.10.x" para "Python-3.11.0"), [então] você precisará reinstalar quaisquer módulos "Python3" que tiver instalado. Você também deveria reinstalar pacotes que gerem módulos "Python3", incluindo "[4371]gobject-introspection-1.76.1", "[4372]opencv-4.8.0", "[4373]Graphviz-8.1.0" (se o "swig" estiver instalado). Antes de atualizar, você pode obter uma lista de módulos instalados com pip3 list. A lista pode estar incompleta porque alguns módulos Python não são instalados com pip3, por exemplo o módulo cracklib instalado por [4374]CrackLib-2.9.11. Use ls /usr/lib/python3.minor/site-packages para uma lista abrangente. Os módulos Python originários do LFS também terão que ser reinstalados: [4375]flit-core, [4376]wheel, [4377]meson, [4378]MarkupSafe e [4379]Jinja2. Informação do Pacote * Transferência (HTTP): [4380]https://www.python.org/ftp/python/3.11.4/Python-3.11.4.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: fb7f7eae520285788449d569e45b6718 * Tamanho da transferência: 19 MB * Espaço em disco estimado exigido: 282 MB (adicionar 63 MB para testes) * Tempo de construção estimado: 1,9 UPC (adicionar 2,8 UPC para testes; ambos usando paralelismo=4) Transferência Adicional Opcional * Transferência (HTTP): [4381]https://www.python.org/ftp/python/doc/3.11.4/python-3.11.4-do cs-html.tar.bz2 * Soma de verificação MD5 da transferência: cdce7b1189bcf52947f3b434ab04d7e2 Dependências do "Python" 3 Recomendadas [4382]SQLite-3.42.0 (exigido se construir "Firefox" ou "Thunderbird") Opcionais [4383]BlueZ-5.68, [4384]GDB-13.2 (exigido para alguns testes), [4385]Valgrind-3.21.0 e [4386]libmpdec Opcionais (Para Módulos Adicionais) [4387]Base de Dados Berkeley-5.3.28, [4388]libnsl-2.0.0 e [4389]Tk-8.6.13 Observações de Editor(a): [4390]https://wiki.linuxfromscratch.org/blfs/wiki/Python3 Instalação do Python 3 Instale o "Python 3" executando os seguintes comandos: CXX="/usr/bin/g++" \ ./configure --prefix=/usr \ --enable-shared \ --with-system-expat \ --with-system-ffi \ --enable-optimizations && make Para testar o resultado, emita "make test". Alguns testes possivelmente precisem de uma conexão com a Internet. Dois testes, "test_distutils" e "test_embed", são conhecidos por falharem. Agora, como o(a) usuário(a) "root": make install Se atualizar e a documentação tiver sido baixada, [então] opcionalmente instale-a como o(a) usuário(a) "root": install -v -dm755 /usr/share/doc/python-3.11.4/html tar --strip-components=1 \ --no-same-owner \ --no-same-permissions \ -C /usr/share/doc/python-3.11.4/html \ -xvf ../python-3.11.4-docs-html.tar.bz2 Explicações do Comando CXX="/usr/bin/g++" ./configure ...: Evite uma mensagem irritante durante a configuração. --with-system-expat: Essa chave habilita vincular à versão do sistema do "Expat". --with-system-ffi: Essa chave habilita vincular à versão do sistema da "libffi". --with-dbmliborder=bdb:gdbm:ndbm: Use essa chave se você desejar construir o módulo "DBM" do "Python" contra "Berkeley DB" em vez de "GDBM". --enable-optimizations: Essa chave habilita otimizações estáveis, mas caras. --with-lto: Essa chave opcional habilita "Link Time Optimization" denso. Excepcionalmente, ele cria um "/usr/lib/python3.11/config-3.11--linux-gnu/libpython3.11.a" muito maior com um pequeno aumento no tempo para compilar o "Python". Os resultados em tempo de execução não parecem mostrar nenhum benefício advindo de fazer isso. Configurando o Python 3 Para a finalidade de que "python3" encontre a documentação instalada, crie o seguinte link simbólico independente da versão: ln -svfn python-3.11.4 /usr/share/doc/python-3 e adicione a seguinte variável de ambiente ao perfil individual do(a) usuário(a) ou ao do sistema: export PYTHONDOCS=/usr/share/doc/python-3/html Conteúdo Aplicativos Instalados: 2to3 (link simbólico) e 2to3-3.11, idle3 (link simbólico) e idle3.11, pip3 (link simbólico) e pip3.11, pydoc3 e pydoc3.11, python3 (link simbólico); python3.11 e python3-config (link simbólico) e python3.11-config Bibliotecas Instaladas: libpython3.11.so e libpython3.so Diretórios Instalados: /usr/include/python3.11, /usr/lib/python3.11 e /usr/share/doc/python-3.11.4 Descrições Curtas idle3 é um conjunto sequencial de comandos envólucros que abrem um editor "GUI" compatível com "Python". Para esse conjunto sequencial de comandos executar, você precisa ter instalado o "Tk" antes do "Python", de forma que o módulo "Tkinter" do "Python" seja construído pydoc3 é a ferramenta de documentação do "Python" python3 é uma linguagem de programação interpretada, interativa e orientada a objetos python3.11 é um nome específico de versão para o aplicativo "python" Módulos "Python" Introdução aos Módulos Python Os pacotes de módulo Python adicionam objetos úteis à linguagem Python. Os módulos utilizados pelos pacotes em todo o BLFS estão listados aqui, junto com as dependências deles. Nota Se você quiser executar testes, vários dos seguintes módulos dependem do módulo central python sqlite3 que não foi construído no LFS. Portanto, é recomendado reconstruir o Python depois de instalar a dependência recomendada listada em [4391]Python-3.11.4. Importante No BLFS, normalmente construímos e instalamos módulos "Python 3" com pip3. Por favor tome cuidado de que os comandos pip3 install no livro deveriam ser executados como root a menos que seja para um ambiente virtual "Python". Executar o pip3 install como um(a) usuário(a) não-root possivelmente pareça funcionar bem, mas causará o módulo instalado ficar inacessível para outros(as) usuários(as). pip3 install não reinstalará um módulo já instalado por padrão. Para usar o comando pip3 install para atualizar um módulo (por exemplo, de "meson-0.61.3" para "meson-0.62.0"), insira --upgrade na linha de comando . Se for realmente necessário desatualizar um módulo ou reinstalar a mesma versão por algum motivo, [então] insira --force-reinstall na linha de comando. * [4392]asciidoc-10.2.0 * [4393]CacheControl-0.13.1 * [4394]cssselect-1.2.0 * [4395]cython-0.29.36 * [4396]dbusmock-0.29.1 * [4397]D-Bus Python-1.3.2 * [4398]docutils-0.20.1 * [4399]doxypypy-0.8.8.7 * [4400]doxyqml-0.5.2 * [4401]Gi-DocGen-2023.1 * [4402]Módulo python2 libxml2-2.10.4 * [4403]lxml-4.9.3 * [4404]Mako-1.2.4 * [4405]NumPy-1.25.2 * [4406]packaging-23.1 * [4407]Py3c-1.4 * [4408]PyAtSpi2-2.46.0 * [4409]PyCairo-1.18.2 * [4410]PyCairo-1.24.0 * [4411]PyCryptodome-3.18.0 * [4412]Pygments-2.16.1 * [4413]PyGObject-2.28.7 * [4414]PyGObject-3.44.1 * [4415]PyGTK-2.24.0 * [4416]pyparsing-3.1.1 * [4417]pySerial-3.5 * [4418]pytest-7.4.0 * [4419]PyXDG-0.28 * [4420]PyYAML-6.0.1 * [4421]recommonmark-0.7.1 * [4422]requests-2.31.0 * [4423]Scour-0.38.2 * [4424]six-1.16.0 * [4425]sphinx-7.1.2 * [4426]sphinx_rtd_theme-1.2.2 Asciidoc-10.2.0 Introdução ao Módulo “Asciidoc” O pacote Asciidoc é um formato de documento de texto para escrever notas, documentação, artigos, livros, "e-books", apresentações de slides, páginas da "web", páginas de manual e "blogs". Os arquivos "AsciiDoc" podem ser traduzidos para muitos formatos, incluindo "HTML", "PDF", "EPUB" e página de manual. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4427]https://files.pythonhosted.org/packages/source/a/asciidoc/asc iidoc-10.2.0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: ecac3af818f7a65596efc6e243b520a0 * Tamanho da transferência: 212 KB * Espaço em disco estimado exigido: 4,3 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do “Asciidoc” Opcionais (tempo de execução) [4428]docbook-xsl-nons-1.79.2, [4429]fop-2.9, [4430]libxslt-1.1.38, [4431]Lynx-2.8.9rel.1, [4432]dblatex e [4433]W3m Instalação do “Asciidoc” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: pip3 install --no-index --find-links dist --no-cache-dir --no-user asciidoc Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: a2x e asciidoc Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/asciidoc e /usr/lib/python3.11/site-packages/asciidoc-10.2.0.dist-info Descrições Curtas a2x é um gerenciador de conjunto de ferramentas para "AsciiDoc" (converte arquivos de texto "Asciidoc" para outros formatos de arquivo) asciidoc converte um arquivo de texto "AsciiDoc" para "HTML" ou "DocBook" CSSSelect-1.2.0 Introdução ao Módulo “CSSSelect” CSSSelect fornece seletores "CSS" para "Python". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4434]https://files.pythonhosted.org/packages/source/c/cssselect/cs sselect-1.2.0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 27fbafacce5447cb867acb240d35002a * Tamanho da transferência: 1,2 MB * Espaço em disco estimado exigido: 512 KB (adicionar 488 KB para os testes) * Tempo de construção estimado: menos que 0,1 UPC Dependências do “CSSSelect” Exigidas [4435]setuptools_scm-7.1.0 Opcionais (para testagem) [4436]lxml-4.9.3, [4437]pluggy-1.0.0 e [4438]pytest-7.4.0 Instalação do “CSSSelect” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) root: pip3 install --no-index --find-links dist --no-cache-dir --no-user cssselect Para testar a instalação emita pytest. Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/cssselect CacheControl-0.13.1 Introdução ao Módulo “CacheControl” CacheControl é uma porta dos algoritmos de cache em "httplib2" para uso com solicitações de objeto de sessão. Ele foi escrito porque o melhor suporte do "httplib2" para cache frequentemente é mitigado pela falta de segurança de camada. O mesmo se aplica às solicitações em termos de cache. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4439]https://github.com/psf/cachecontrol/archive/refs/tags/v0.13.1 /cachecontrol-0.13.1.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: b35f762b298ea369a04a093161d4d2ec * Tamanho da transferência: 44 KB * Espaço em disco estimado exigido: 344 KB * Tempo de construção estimado: menos que 0,1 UPC Dependências do “CacheControl” Exigidas [4440]msgpack-1.0.4 e [4441]requests-2.31.0 Instalação do “CacheControl” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) root: pip3 install --no-index --find-links dist --no-cache-dir --no-user cachecontrol Esse módulo não tem uma suíte de teste funcional. Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: doesitcache Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/CacheControl-0.13.1.dist-info e /usr/lib/python3.11/site-packages/cachecontrol Descrições Curtas doesitcache é um “script” de linha de comando não documentado. Cython-0.29.36 Introdução ao Módulo “Cython” O pacote Cython fornece um compilador para escrever extensões "C" para a linguagem "Python". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4442]https://github.com/cython/cython/releases/download/0.29.36/Cy thon-0.29.36.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: a4d0f9fbc9c137f1a88937cd40e8c5ee * Tamanho da transferência: 2,1 MB * Espaço em disco estimado exigido: 67 MB * Tempo de construção estimado: 0,5 UPC Instalação do “Cython” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: pip3 install --no-index --find-links dist --no-cache-dir --no-user Cython Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: cygdb, cython e cythonize Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/Cython, /usr/lib/python3.11/site-packages/Cython-0.29.36.dist-info e /usr/lib/python3.11/site-packages/pyximport Descrições Curtas cygdb é o depurador “Cython” cython é um compilador para código escrito na linguagem “Cython”. Ele gera um aplicativo “C/C++” que pode ser compilado com um compilador “C/C++” cythonize é um compilador para código escrito na linguagem “Cython”. Ele gera um módulo de extensão que é importável diretamente a partir do “Python” dbusmock-0.29.1 Introdução ao “dbusmock” dbusmock é uma biblioteca "Python" útil para escrever testes para logiciário que se comunique com serviços "D-Bus". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4443]https://files.pythonhosted.org/packages/source/p/python-dbusm ock/python-dbusmock-0.29.1.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: d3ab24018c7a7479d9af8e237be786b5 * Tamanho da transferência: 92 KB * Espaço em disco estimado exigido: 968 KB * Tempo de construção estimado: menos que 0,1 UPC Dependências do “dbusmock” Exigidas [4444]D-Bus Python-1.3.2 Instalação do “dbusmock” Construa o pacote com: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Para instalar o pacote execute o seguinte como o(a) usuário(a) root: pip3 install --no-index --find-links dist --no-cache-dir --no-user python-dbusmo ck Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/dbusmock e /usr/lib/python3.11/site-packages/python_dbusmock-0.29.1.dist-info D-Bus Python-1.3.2 Introdução ao Módulo “D-Bus Python” "D-Bus Python" fornece ligações "Python" para a interface "API" "D-Bus". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4445]https://dbus.freedesktop.org/releases/dbus-python/dbus-python -1.3.2.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 33be8a4a766e1c7c9a377b8f934ce21a * Tamanho da transferência: 592 KB * Espaço em disco estimado exigido: 4,0 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "D-Bus Python" Exigidas [4446]dbus-1.14.8, [4447]GLib-2.76.4, [4448]meson_python-0.12.0 e [4449]patchelf-0.17.2 Instalação do “D-Bus Python” Construa o módulo "D-Bus Python" executando o seguinte comando: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Esse pacote não vem com uma suíte de teste. Agora instale o módulo como o(a) usuário(a) root: pip3 install --no-index --find-links dist --no-cache-dir --no-user dbus-python Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/dbus e /usr/lib/python3.11/site-packages/dbus_python-1.3.2.egg-info docutils-0.20.1 Introdução ao “docutils” "docutils" é um conjunto de módulos e programas "Python" para processar documentos de texto simples em formatos como "HTML", "XML" ou "LaTeX". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4450]https://files.pythonhosted.org/packages/source/d/docutils/doc utils-0.20.1.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 93bcfe0065cf1d0b6a0bcabeca7a2335 * Tamanho da transferência: 2,0 MB * Espaço em disco estimado exigido: 12 MB * Tempo de construção estimado: menos que 0,1 UPC Observações de Editor(a): [4451]https://wiki.linuxfromscratch.org/blfs/wiki/docutils Instalação do “docutils” Para construir os aplicativos "Python 3", execute o seguinte comando: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Para instalar os aplicativos "Python" execute o seguinte como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user docutils && for f in /usr/bin/rst*.py; do ln -svf $(basename $f) /usr/bin/$(basename $f .py) done Para reduzir o tempo necessário para carregar "scripts" "Python", "pip3 install" compilará os "scripts" com extensão ".py" em código de bytes e salvará o resultado em arquivos ".pyc" no diretório "__pycache__". Mas esse pacote instala "scripts" ".py" em "/usr/bin". Portanto, os arquivos de código de bytes para eles serão instalados em "/usr/bin/__pycache__", o que não é permitido pelo "FHS". Ainda como o(a) usuário(a) "root", remova esse diretório: rm -rfv /usr/bin/__pycache__ Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: docutils, rst2html4, rst2html5, rst2html, rst2latex, rst2man, rst2odt_prepstyles, rst2odt, rst2pseudoxml, rst2s5, rst2xetex, rst2xml e rstpep2html Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/docutils{,-0.20.1.dist-info} Descrições Curtas docutils converte documentos em vários formatos rst2html gera documentos "(X)HTML" a partir de fontes independentes "reStructuredText" rst2html4 gera documentos "(X)HTML" a partir de fontes independentes "reStructuredText" rst2html5 gera documentos "HTML5" a partir de fontes independentes "reStructuredText" rst2latex gera documentos "LaTeX" a partir de fontes independentes "reStructuredText" rst2man gera documentos manuais simples "Unix" a partir de fontes independentes "reStructuredText" rst2odt gera documentos "OpenDocument/OpenOffice/ODF" a partir de fontes independentes "reStructuredText" rst2odt_prepstyles Corrige um "styles.odt" gerado por processador de texto para uso do "odtwriter" rst2pseudoxml gera pseudo "XML" a partir de fontes independentes "reStructuredText" (para fins de teste) rst2s5 gera apresentação de slides "(X)HTML" "S5" a partir de fontes independentes "reStructuredText" rst2xetex gera documentos "LaTeX" a partir de fontes independentes "reStructuredText" para compilação com as variantes "TeX" compatíveis com "Unicode" "XeLaTeX" ou "LuaLaTeX" rst2xml gera "XML" nativo do "Docutils" a partir de fontes independentes "reStructuredText" rstpep2html gera "(X)HTML" a partir de arquivos "PEP" no formato "reStructuredText" Doxypypy-0.8.8.7 Introdução ao Módulo “Doxypypy” O pacote "Doxypypy" é um filtro "doxygen" para "Python". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4452]https://files.pythonhosted.org/packages/source/d/doxypypy/dox ypypy-0.8.8.7.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 5773d0a7882df900cbda8ee5107e1ced * Tamanho da transferência: 45 KB * Espaço em disco estimado exigido: 2,1 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do “Doxypypy” Exigidas [4453]chardet-5.1.0 e [4454]Doxygen-1.9.7 (em tempo de execução) Instalação do “Doxypypy” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) root: pip3 install --no-index --find-links dist --no-cache-dir --no-user doxypypy Esse pacote não vem com uma suíte de teste funcional. Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: doxypypy Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/doxypypy e /usr/lib/python3.11/site-packages/doxypypy-0.8.8.7.dist-info Descrições Curtas doxypypy filtra o código "Python" para uso com "Doxygen", usando uma abordagem com reconhecimento de sintaxe. Doxyqml-0.5.2 Introdução ao Módulo “Doxyqml” O pacote "Doxyqml" permite usar "Doxygen" para documentar classes "QML". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4455]https://files.pythonhosted.org/packages/source/d/doxyqml/doxy qml-0.5.2.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: f7b957fea48654c76837b0c5e9e3c2af * Tamanho da transferência: 28 KB * Espaço em disco estimado exigido: 600 KB (com os testes) * Tempo de construção estimado: menos que 0,1 UPC (com os testes) Dependências do “Doxyqml” Exigidas (Tempo de Execução) [4456]Doxygen-1.9.7 Opcionais (para testagem) [4457]pytest-7.4.0 Instalação do “Doxyqml” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) root: pip3 install --no-index --find-links dist --no-cache-dir --no-user doxyqml Para testar a instalação, execute: pytest O teste "test_qmlclass.py" é conhecido por falhar. Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: doxyqml Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/doxyqml e /usr/lib/python3.11/site-packages/doxyqml-0.5.2.dist-info Descrições Curtas doxyqml é um filtro de entrada "Doxygen" para arquivos "QML". Gi-DocGen-2023.1 Introdução ao Módulo “Gi-DocGen” "Gi-DocGen" é um gerador de documentos para bibliotecas baseadas em "GObject". "GObject" é o sistema básico de tipos do projeto "GNOME". "GI-Docgen" reusa os dados de introspecção gerados por bibliotecas baseadas em "GObject" para gerar a referência "API" dessas bibliotecas, bem como outras documentações auxiliares. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4458]https://files.pythonhosted.org/packages/source/g/gi-docgen/gi -docgen-2023.1.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 6d6690dad5daa5b155341ab2f49eaa6b * Tamanho da transferência: 2,4 MB * Espaço em disco estimado exigido: 19 MB (com os testes) * Tempo de construção estimado: menos que 0,1 UPC (com os testes) Dependências do “Gi-DocGen” Exigidas [4459]Markdown-3.4.1, [4460]Pygments-2.16.1 e [4461]typogrify-2.0.7 Opcionais (para testagem) [4462]pytest-7.4.0 Instalação do “gi-docgen” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) root: pip3 install --no-index --find-links dist --no-cache-dir --no-user gi-docgen Para testar a instalação, emita "pytest". Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: gi-docgen Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/gidocgen e /usr/lib/python3.11/site-packages/gi_docgen-2023.1.dist-info Descrições Curtas gi-docgen gerencia documentação para bibliotecas baseadas em "libgobject". libxml2-2.10.4 (para o módulo Python2 dele) Introdução ao módulo “Python2” “libxml2” Essas instruções fornecem as ligações "Python2" para a "libxml2": as ligações "Python3" são construídas como parte de [4463]libxml2-2.10.4 e a maioria dos pacotes no livro não usa essas ligações para o mais antigo "Python2". Ao construir essas ligações depois que o [4464]libxml2-2.10.4 tenha sido instalado, não existe necessidade de reconstruir a parte principal demorada (se todas as dependências forem usadas) desse pacote. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4465]https://download.gnome.org/sources/libxml2/2.10/libxml2-2.10. 4.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 76808c467a58c31e2dbd511e71d5fd13 * Tamanho da transferência: 2,5 MB * Espaço em disco estimado exigido: 49 MB (2,3 MB instalado) * Tempo de construção estimado: menos que 0,1 UPC Dependências do “libxml2” (“Python2”) Exigidas [4466]libxml2-2.10.4 e [4467]Python-2.7.18 Instalação do módulo “Python2” “libxml2” Para construir o módulo "Python 2", execute: ./configure PYTHON=python2 && cd python && python2 setup.py build Para instalar o módulo "Python 2", como o(a) usuário(a) "root", execute: python2 setup.py install --optimize=1 Conteúdo Módulos Instalados: drv_libxml2.py, libxml2.py Bibliotecas Instaladas: libxml2mod.so Diretórios Instalados: Nenhum(a) Descrições Curtas drv_libxml2.py é um controlador "SAX" "Python2" para a "libxml2" libxml2.py é a ligação "Python2" para a "libxml2" libxml2mod.so é a interface para "Python2" usar "libxml2.so" lxml-4.9.3 Introdução ao Módulo “lxml” "lxml" fornece ligações "Python" para [4468]libxslt-1.1.38 e [4469]libxml2-2.10.4. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4470]https://files.pythonhosted.org/packages/source/l/lxml/lxml-4. 9.3.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 7298fdca14b10e7b71547ed02b894b25 * Tamanho da transferência: 3,5 MB * Espaço em disco estimado exigido: 109 MB * Tempo de construção estimado: 0,9 UPC Dependências do “lxml” Exigidas [4471]libxslt-1.1.38 Instalação do “lxml” Para construir o módulo "Python 3", execute: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Para instalar o módulo, emita o seguinte comando como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user lxml Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/lxml e /usr/lib/python3.11/site-packages/lxml-4.9.3.dist-info Mako-1.2.4 Introdução ao Módulo “Mako” "Mako" é um módulo "Python" que implementa modelos hiper-rápidos e leves para a plataforma "Python". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4472]https://files.pythonhosted.org/packages/source/M/Mako/Mako-1. 2.4.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 651f365616611fcd4f2702a9002e2195 * Tamanho da transferência: 485 KB * Espaço em disco estimado exigido: 3,9 MB (adicionar 1,2 MB para os testes) * Tempo de construção estimado: menos que 0,1 UPC (com os testes) Dependências do “Mako” Opcionais (para testagem) [4473]pytest-7.4.0 Instalação do “Mako” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Instale o módulo como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user Mako Para testar a instalação, emita "pytest". Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: mako-render Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/mako e /usr/lib/python3.11/site-packages/Mako-1.2.4.dist-info Descrições Curtas mako-render renderiza um modelo NumPy-1.25.2 Introdução ao Módulo “NumPy” "NumPy" é o pacote fundamental para computação científica com "Python". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4474]https://files.pythonhosted.org/packages/source/n/numpy/numpy- 1.25.2.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: cee1996a80032d47bdf1d9d17249c34e * Tamanho da transferência: 10 MB * Espaço em disco estimado exigido: 269 MB (adicionar 146 MB para testes) * Tempo de construção estimado: 1,6 UPC (3,1 UPC para testes) Dependências do “NumPy” Exigidas [4475]cython-0.29.36 Opcionais fortran oriundo do [4476]GCC-13.2.0, [4477]lapack e cblas e [4478]openblas Opcionais (para testagem) [4479]attrs-22.2.0, [4480]pytest-7.4.0 e [4481]hypothesis Instalação do “NumPy” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) root: pip3 install --no-index --find-links dist --no-cache-dir --no-user numpy A instalação pode ser testada com os seguintes comandos: python3 -m venv --system-site-packages testenv && source testenv/bin/activate && pip3 install hypothesis && python3 runtests.py deactivate Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: f2py, f2py3 e f2py3.11 (três cópias do mesmo "script") Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/numpy Descrições Curtas f2py é o utilitário gerador de interface "Fortran" para "Python". Packaging-23.1 Introdução ao Módulo “Packaging” A biblioteca "Packaging" fornece utilitários que implementam as especificações de interoperabilidade que tem claramente um comportamento correto ou se beneficiam muito de ter uma implementação compartilhada. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4482]https://files.pythonhosted.org/packages/source/p/packaging/pa ckaging-23.1.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: f7d5c39c6f92cc2dfa1293ba8f6c097c * Tamanho da transferência: 123 KB * Espaço em disco estimado exigido: 2,5 MB (adicionar 28 MB para testes) * Tempo de construção estimado: menos que 0,1 UPC (0,2 UPC para os testes) Dependências do “Packaging” Opcionais (para testagem) [4483]pytest-7.4.0 e [4484]pretend Instalação do “Packaging” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) root: pip3 install --no-index --find-links dist --no-cache-dir --no-user packaging Supondo que "[4485]pytest-7.4.0" esteja instalado, mas a outra dependência opcional não esteja, a instalação pode ser testada com os seguintes comandos: python3 -m venv --system-site-packages testenv && source testenv/bin/activate && pip3 install pretend && python3 /usr/bin/pytest deactivate Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/packaging e /usr/lib/python3.11/site-packages/packaging-23.1.dist-info Py3c-1.4 Introdução ao “Py3c” "Py3c" te ajuda a portar extensões "C" para "Python" 3. Ele fornece um guia detalhado e um conjunto de macros para facilitar a portabilidade e reduzir o clichê. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4486]https://github.com/encukou/py3c/archive/v1.4/py3c-1.4.tar.gz * Soma de verificação MD5 da transferência: 53029afde7e0cf8672a2d69d378a0cfc * Tamanho da transferência: 47 KB * Espaço em disco estimado exigido: 608 KB (com os testes) * Tempo de construção estimado: menos que 0,1 UPC (com os testes) Instalação do “Py3c” O pacote "Py3c" é um pacote somente de cabeçalhos e, por isso, nenhuma configuração e compilação é necessária. Para testar o pacote, emita: make test-python3 && make test-python3-cpp Para instalar o módulo "Python 3", execute o seguinte comando como o(a) usuário(a) "root": make prefix=/usr install Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/include/py3c PyAtSpi2-2.46.0 Introdução ao “PyAtSpi2” O pacote "PyAtSpi2" contém ligações "Python" para os componentes centrais da Acessibilidade do "GNOME". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4487]https://download.gnome.org/sources/pyatspi/2.46/pyatspi-2.46. 0.tar.xz * Transferência (FTP): [4488]ftp://ftp.acc.umu.se/pub/gnome/sources/pyatspi/2.46/pyatspi-2 .46.0.tar.xz * Soma de verificação MD5 da transferência: 2b1ca71ad75a900ed0eb6d6d012f8bfc * Tamanho da transferência: 320 KB * Espaço em disco estimado exigido: 3,8 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do “PyAtSpi2” Exigidas [4489]PyGObject-3.44.1 Recomendadas [4490]at-spi2-core-2.48.3 Instalação do “PyAtSpi2” Para construir "PyAtSpi2" como um módulo "Python 3", execute os seguintes comandos: ./configure --prefix=/usr --with-python=/usr/bin/python3 Esse pacote não vem com uma suíte de teste. Para instalar o módulo "Python 3", execute o seguinte comando como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/pyatspi PyCairo-1.18.2 Introdução ao Módulo “PyCairo” para “Python2” Essa versão do "PyCairo" fornece ligações "Python2" para "Cairo". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4491]https://github.com/pygobject/pycairo/releases/download/v1.18. 2/pycairo-1.18.2.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: be2ba51f234270dec340f28f1695a95e * Tamanho da transferência: 196 KB * Espaço em disco estimado exigido: 2,3 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do “PyCairo” Exigidas [4492]Cairo-1.17.6 e [4493]Python-2.7.18 Opcionais [4494]Hypothesis (para testes) Instalação do “PyCairo” Nota Essa versão do "PyCairo" é mantida somente para pacotes, como "[4495]Gimp-2.10.34", que ficam presos ao "Python2" até que o "Gimp-3" seja lançado. Instale "PyCairo" para "Python2" executando os seguintes comandos: python2 setup.py build Esse pacote no vem com uma sute de teste. Agora, como o(a) usuário(a) "root": python2 setup.py install --optimize=1 && python2 setup.py install_pycairo_header && python2 setup.py install_pkgconfig Conteúdo Aplicativo Instalado: Nenhum(a) Biblioteca Instalada: _cairo.so Diretórios Instalados: /usr/include/pycairo, /usr/lib/python2.7/site-packages/cairo e /usr/lib/python2.7/site-packages/pycairo-1.18.2-py2.7.egg PyCairo-1.24.0 Introdução ao Módulo “PyCairo” "PyCairo" fornece ligações "Python" para "Cairo". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4496]https://github.com/pygobject/pycairo/releases/download/v1.24. 0/pycairo-1.24.0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 9855a7b7a813d73b54a29f8b43529dea * Tamanho da transferência: 340 KB * Espaço em disco estimado exigido: 3,0 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do “PyCairo” Exigidas [4497]Cairo-1.17.6 Opcionais [4498]Hypothesis e [4499]pytest-7.4.0 (para testes) Instalação do “PyCairo” Nota A versão atual do "pycairo" não mais constrói o módulo "Python2". Se você precisar desse módulo para pacotes como "[4500]Gimp-2.10.34", [então] use "[4501]PyCairo-1.18.2" Instale "PyCairo" para "Python3" executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Para executar os testes, esse pacote exige o módulo opcional pytest. Se ele estiver instalado, execute os testes executando ninja test. Agora, como o(a) usuário(a) "root": ninja install Conteúdo Aplicativo Instalado: Nenhum(a) Biblioteca Instalada: Nenhum(a) Diretórios Instalados: /usr/include/pycairo, /usr/lib/python3.11/site-packages/cairo e /usr/lib/python3.11/site-packages/pycairo-1.24.0.egg-info PyCryptodome-3.18.0 Introdução ao Módulo “PyCryptodome” "PyCryptodome" é uma coleção tanto de funções seguras de resumo (como "SHA256" e "RIPEMD160") quanto de vários algoritmos de encriptação ("AES", "DES", "RSA", "ElGamal", etc.) e é um substituto imediato para "PyCrypto". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4502]https://github.com/Legrandin/pycryptodome/archive/v3.18.0/pyc ryptodome-3.18.0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 37301ba099375e05db0dfb4d1800d6fe * Tamanho da transferência: 16 MB * Espaço em disco estimado exigido: 54 MB * Tempo de construção estimado: 0,1 UPC Instalação do “PyCryptodome” Para construir "PyCryptodome" como um módulo "Python" 3, execute o seguinte comando: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Para instalar o módulo, execute o seguinte comando como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user pycryptodome Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/Crypto e /usr/lib/python3.11/site-packages/pycryptodome-3.18.0.dist-info Pygments-2.16.1 Introdução ao Módulo “Pygments” "Pygments" é um realçador geral de sintaxe escrito em "Python", para mais de trezentas (300) linguagens. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4503]https://files.pythonhosted.org/packages/source/P/Pygments/Pyg ments-2.16.1.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 20cb967029c23389253326cf515dec8a * Tamanho da transferência: 4,7 MB * Espaço em disco estimado exigido: 56 MB * Tempo de construção estimado: menos que 0,1 UPC Instalação do “Pygments” Construa o módulo "Python 3": pip3 wheel -w dist --no-build-isolation --no-deps $PWD Para instalar o pacote execute o seguinte como o usuário "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user Pygments Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: pygmentize Biblioteca Instalada: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/pygments e /usr/lib/python3.11/site-packages/Pygments-2.16.1.dist-info Descrições Curtas pygmentize realça um arquivo de entrada e escreve o resultado em um arquivo de saída PyGObject-2.28.7 Introdução ao Módulo “PyGObject” "PyGObject-2.28.7" fornece ligações "Python 2" para a classe "GObject" originária da "GLib". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4504]https://download.gnome.org/sources/pygobject/2.28/pygobject-2 .28.7.tar.xz * Transferência (FTP): [4505]ftp://ftp.acc.umu.se/pub/gnome/sources/pygobject/2.28/pygobje ct-2.28.7.tar.xz * Soma de verificação MD5 da transferência: ae48b60c690c4aa894e69e0c97802745 * Tamanho da transferência: 728 KB * Espaço em disco estimado exigido: 17 MB * Tempo de construção estimado: 0,1 UPC Dependências do “PyGObject” Exigidas [4506]GLib-2.76.4, [4507]PyCairo-1.18.2 e [4508]Python-2.7.18 Opcionais [4509]gobject-introspection-1.76.1 e [4510]libxslt-1.1.38 (para construir a documentação) Instalação do “PyGObject” Instale PyGObject executando os seguintes comandos: ./configure --prefix=/usr --disable-introspection && make Esse pacote não tem uma suíte funcional de teste. Agora, como o(a) usuário(a) "root": make install Explicações do Comando --disable-introspection: Omita essa chave se você tiver instalado "[4511]gobject-introspection-1.76.1". Observe que ela conflita com "[4512]PyGObject-3.44.1". --disable-docs: Essa opção desabilita a reconstrução da documentação "HTML" se "[4513]libxslt-1.1.38" estiver instalado. Conteúdo Aplicativos Instalados: pygobject-codegen-2.0 Bibliotecas Instaladas: libpyglib-2.0-python.so, _gio.so, unix.so, _glib.so e _gobject.so. Diretórios Instalados: /usr/include/pygtk-2.0, /usr/lib/python2.7/site-packages/gtk-2.0/{gio,glib,gobject}, /usr/share/gtk-doc/html/pygobject e /usr/share/pygobject/2.0 PyGObject-3.44.1 Introdução ao Módulo “PyGObject3” "PyGObject3" fornece ligações "Python" para a classe "GObject" originária da "GLib". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4514]https://download.gnome.org/sources/pygobject/3.44/pygobject-3 .44.1.tar.xz * Transferência (FTP): [4515]ftp://ftp.acc.umu.se/pub/gnome/sources/pygobject/3.44/pygobje ct-3.44.1.tar.xz * Soma de verificação MD5 da transferência: def9418983594c6a3330717bb640ca4d * Tamanho da transferência: 548 KB * Espaço em disco estimado exigido: 16 MB (adicionar 2,5 MB para testes) * Tempo de construção estimado: 0,1 UPC (com os testes) Dependências do “PyGObject3” Exigidas [4516]gobject-introspection-1.76.1 e [4517]PyCairo-1.24.0 (módulo "Python 3") Opcionais (para os testes) [4518]GTK-4.12.0, [4519]pep8, [4520]pyflakes e [4521]pytest-7.4.0 Instalação do “PyGObject3” Primeiro, remova um teste defeituoso: mv -v tests/test_gdbus.py{,.nouse} Instale "pygobject3" executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Para testar os resultados, emita: "ninja test". É necessária uma sessão gráfica já ativa com endereço de barramento para executar os testes. Outra rodada de testes possivelmente informe "ERROR" se "[4522]GTK-4.12.0" não estiver instalado. Agora, como o(a) usuário(a) "root": ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: /usr/lib/python3.11/site-packages/gi/_gi{,_cairo}.cpython-311--li nux-gnu.so Diretórios Instalados: /usr/include/pygobject-3.0 e /usr/lib/python3.11/site-packages/{gi,pygtkcompat} PyGTK-2.24.0 Introdução ao Módulo “PyGTK” "PyGTK" te permite criar facilmente aplicativos com uma interface gráfica de usuário(a) usando a linguagem de programação "Python". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4523]https://download.gnome.org/sources/pygtk/2.24/pygtk-2.24.0.ta r.bz2 * Transferência (FTP): [4524]ftp://ftp.acc.umu.se/pub/gnome/sources/pygtk/2.24/pygtk-2.24. 0.tar.bz2 * Soma de verificação MD5 da transferência: a1051d5794fd7696d3c1af6422d17a49 * Tamanho da transferência: 2,2 MB * Espaço em disco estimado exigido: 83 MB * Tempo de construção estimado: 0,7 UPC Dependências do “PyGTK” Exigidas [4525]PyGObject-2.28.7 e [4526]Python-2.7.18 Exigidas (módulo "atk") [4527]at-spi2-core-2.48.3 Exigidas (módulo "pango") [4528]Pango-1.50.14 Exigidas (módulo "pangocairo") [4529]PyCairo-1.18.2 e [4530]Pango-1.50.14 Exigidas (módulos "gtk" e "gtk.unixprint") [4531]PyCairo-1.18.2 e [4532]GTK+-2.24.33. Exigidas (módulo "gtk.glade") [4533]PyCairo-1.18.2 e [4534]libglade-2.6.4. Opcionais [4535]NumPy Opcionais (para construir a documentação) [4536]libxslt-1.1.38 Instalação do “PyGTK” Primeiro, adapte o "PyGTK" às mudanças no "Pango" removendo "APIs" indefinidas: sed -i '1394,1402 d' pango.defs Instale PyGTK executando os seguintes comandos: ./configure --prefix=/usr && make Os testes precisam ser executados a partir de uma tela ativa do "X". Se for assim, emita: "make check". Agora, como o(a) usuário(a) "root": make install Explicações do Comando --enable-docs: Essa opção habilita reconstruir a documentação "HTML" se "[4537]libxslt-1.1.38" estiver instalado. Conteúdo Aplicativos Instalados: pygtk-codegen-2.0 e pygtk-demo. Bibliotecas Instaladas: atk.so, _gtk.so, glade.so, gtkunixprint.so, pango.so e pangocairo.so. Diretórios Instalados: /usr/include/pygtk-2.0, /usr/lib/pygtk, /usr/lib/python2.7/site-packages/gtk-2.0, /usr/share/gtk-doc/html/pygtk e /usr/share/pygtk. Descrições Curtas pygtk-codegen-2.0 é um "script" envólucro para executar o módulo "codegen" do "PyGTK" pygtk-demo é um envólucro "Python" para executar o programa de demonstração "PyGTK" pyparsing-3.1.1 Introdução ao Módulo “pyparsing” O módulo "pyparsing" é uma abordagem alternativa para criar e executar gramáticas simples, versus a abordagem tradicional "lex/yacc", ou o uso de expressões regulares. Ele fornece uma biblioteca de classes que o código cliente usa para construir a gramática diretamente no código "Python". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4538]https://files.pythonhosted.org/packages/source/p/pyparsing/py parsing-3.1.1.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: bb8c8c6b8015ca5887ae2c37917ee82e * Tamanho da transferência: 868 KB * Espaço em disco estimado exigido: 3,3 MB (adicionar 27 MB para testes) * Tempo de construção estimado: menos que 0,1 UPC (0,3 UPC para os testes) Dependências do “pyparsing” Opcionais [4539]railroad-diagrams (também necessário para testes) Opcionais (para testagem) [4540]pytest-7.4.0 Instalação do “pyparsing” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user pyparsing Supondo que [4541]pytest-7.4.0 esteja instalado, mas a outra dependência opcional não esteja, a instalação pode ser testada com os seguintes comandos: python3 -m venv --system-site-packages testenv && source testenv/bin/activate && pip3 install railroad-diagrams && python3 /usr/bin/pytest deactivate Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/pyparsing e /usr/lib/python3.11/site-packages/pyparsing-3.1.1.dist-info pySerial-3.5 Introdução ao Módulo “pySerial” O módulo "pySerial" encapsula o acesso à porta serial. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4542]https://files.pythonhosted.org/packages/source/p/pyserial/pys erial-3.5.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 1cf25a76da59b530dbfc2cf99392dc83 * Tamanho da transferência: 156 KB * Espaço em disco estimado exigido: 2,1 MB (adicionar 0,2 MB para os testes) * Tempo de construção estimado: menos que 0,1 UPC Dependências do “pySerial” Exigidas [4543]setuptools_scm-7.1.0 Opcionais (para testagem) [4544]pluggy-1.0.0 e [4545]pytest-7.4.0 Instalação do “pySerial” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user pyserial Para testar a instalação, emita "pytest". Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: pyserial-miniterm e pyserial-ports Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/pyserial-3.5.dist-info e /usr/lib/python3.11/site-packages/serial Descrições Curtas pyserial-miniterm é um aplicativo de console que fornece um pequeno aplicativo de terminal. Ele pode herdar recursos de terminal a partir do terminal no qual é executado. pyserial-ports lista portas disponíveis. Pytest-7.4.0 Introdução ao Módulo “Pytest” A estrutura "Pytest" facilita escrever testes pequenos e legíveis e pode escalar para suportar testagem complexa funcional para aplicativos e bibliotecas. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4546]https://files.pythonhosted.org/packages/source/p/pytest/pytes t-7.4.0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 5d3fca31237efe6c2b81bc703b79659f * Tamanho da transferência: 1,3 MB * Espaço em disco estimado exigido: 8,2 MB (adicionar 44 MB para testes) * Tempo de construção estimado: menos que 0,1 UPC (1,0 UPC para testes) Dependências do “Pytest” Exigidas [4547]iniconfig-2.0.0, [4548]packaging-23.1, [4549]pluggy-1.0.0 e [4550]py-1.11.0 Recomendadas [4551]setuptools_scm-7.1.0 Opcionais (para testagem) [4552]Pygments-2.16.1, [4553]requests-2.31.0, [4554]argcomplete, [4555]elementpath, [4556]hypothesis, [4557]mock, [4558]nose, [4559]sortedcontainers e [4560]xmlschema Instalação do “Pytest” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user pytest A instalação pode ser testada com os seguintes comandos: python3 -m venv --system-site-packages testenv && source testenv/bin/activate && pip3 install pytest[testing] && python3 /usr/bin/pytest deactivate Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: "pytest" e "py.test" (arquivos diferentes, mas com o mesmo conteúdo) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/_pytest, /usr/lib/python3.11/site-packages/pytest e /usr/lib/python3.11/site-packages/pytest-7.4.0.dist-info Descrições Curtas pytest configura, gerencia e (ou) executa testes nos diretórios fonte do módulo "python" PyXDG-0.28 Introdução ao Módulo “PyXDG” "PyXDG" é uma biblioteca "Python" para acessar os padrões do "freedesktop.org". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4561]https://files.pythonhosted.org/packages/b0/25/7998cd2dec731ac bd438fbf91bc619603fc5188de0a9a17699a781840452/pyxdg-0.28.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: d9a1d04fe60c956f5e3b9de3b4ef4722 * Tamanho da transferência: 76 KB * Espaço em disco estimado exigido: 808 KB * Tempo de construção estimado: menos que 0,1 UPC Instalação do “PyXDG” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Instale o módulo como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user pyxdg Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Diretório Instalado: /usr/lib/python3.11/site-packages/xdg e /usr/lib/python3.11/site-packages/pyxdg-0.28.dist-info PyYAML-6.0.1 Introdução ao Módulo “PyYAML” "PyYAML" é um módulo "Python" que implementa o analisador e emissor "YAML" de próxima geração. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4562]https://files.pythonhosted.org/packages/source/P/PyYAML/PyYAM L-6.0.1.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: c9246277af2d9a13b7018af267a0831a * Tamanho da transferência: 124 KB * Espaço em disco estimado exigido: 8,0 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do “PyYAML” Exigidas [4563]cython-0.29.36 e [4564]libyaml-0.2.5 Instalação do “PyYAML” Construa "PyYAML" com o seguinte comando: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, instale o módulo como o usuário "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user PyYAML Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/PyYAML-0.2.5.dist-info Recommonmark-0.7.1 Introdução ao Módulo “Recommonmark” "Recommonmark" é uma ponte de compatibilidade "docutils" para o "CommonMark". Permite escrever "CommonMark" dentro de projetos "Docutils" e "Sphinx". "Recommonmark" agora está obsoleto em favor de [4565]MyST-Parser. Infelizmente, [4566]LLVM-16.0.5 ainda depende desse módulo. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4567]https://files.pythonhosted.org/packages/source/r/recommonmark /recommonmark-0.7.1.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 3c550a76eb62006bf007843a9f1805bb * Tamanho da transferência: 34 KB * Espaço em disco estimado exigido: 680 KB (com os testes) * Tempo de construção estimado: menos que 0,1 UPC (com os testes) Dependências do “Recommonmark” Exigidas [4568]commonmark-0.9.1 e [4569]sphinx-7.1.2 Opcionais (para testagem) [4570]pytest-7.4.0 Instalação do “Recommonmark” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) root: pip3 install --no-index --find-links dist --no-cache-dir --no-user recommonmark "Recommonmark" agora está obsoleto em favor de [4571]MyST-Parser. Por essa razão, muitos testes tem que ser desabilitados porque eles não passam com versões recentes do "Sphinx". A instalação pode ser parcialmente testada com o seguinte comando: pytest -k 'not (test_integration or test_code or test_headings or test_image or test_links or test_lists)' Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: cm2html, cm2latex, cm2man, cm2pseudoxml, cm2xetex e cm2xml Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/recommonmark e /usr/lib/python3.11/site-packages/recommonmark-0.7.1.dist-info Descrições Curtas cm2html gera um documento "HTML" a partir de fontes "markdown" cm2latex gera um documento "LaTeX" a partir de fontes "markdown" cm2man gera uma página de manual a partir de fontes "markdown" cm2pseudoxml gera um documento pseudo "XML" a partir de fontes "markdown" cm2xetex gera um documento "XeTeX" a partir de fontes "markdown" cm2xml gera um documento "XML" a partir de fontes "markdown" Requests-2.31.0 Introdução ao Módulo “Requests” O pacote "Requests" é uma biblioteca "HTTP" elegante e simples para "Python", construída para seres humanos. Permite enviar solicitações "HTTP/1.1" extremamente facilmente. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4572]https://files.pythonhosted.org/packages/source/r/requests/req uests-2.31.0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 941e175c276cd7d39d098092c56679a4 * Tamanho da transferência: 108 KB * Espaço em disco estimado exigido: 1,4 MB (adicionar 127 MB para testes) * Tempo de construção estimado: menos que 0,1 UPC (0,7 UPC para testes) Transferência Adicional * Remendo recomendado: [4573]https://www.linuxfromscratch.org/patches/blfs/12.0/requests-2 .31.0-use_system_certs-1.patch Dependências do “Requests” Exigidas [4574]charset-normalizer-3.0.1, [4575]idna-3.4 e [4576]urllib3-2.0.2 Recomendadas [4577]make-ca-1.12, com [4578]p11-kit-0.25.0 (ambos necessários para usar os certificados "https:" do sistema, removendo uma dependência desnecessária relativa ao módulo "Certifi"). Opcionais [4579]PySocks (também necessário para testagem) Opcionais (para testagem) [4580]pytest-7.4.0, [4581]Flask<2, [4582]httpbin, [4583]MarkupSafe<2.1, [4584]pytest-mock, [4585]pytest-httpbin, [4586]sphinx<5, [4587]trustme e [4588]Werkzeug<2 Instalação do “Requests” Primeiro aplique um remendo, de forma que a mesma variável de ambiente já usada para apontar para certificados de sistema em "Python3", seguindo a instalação de "make-ca", também possa ser usada por esse módulo: patch -Np1 -i ../requests-2.31.0-use_system_certs-1.patch Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user requests Supondo que "[4589]pytest-7.4.0" esteja instalado, mas as outras dependências opcionais não estejam, a instalação pode ser testada com os seguintes comandos: python3 -m venv --system-site-packages testenv && source testenv/bin/activate && pip3 install --force-reinstall sphinx\<5 && pip3 install pytest-mock \ werkzeug\<2 \ flask\<2 \ pytest-httpbin \ pysocks \ trustme && pip3 install --force-reinstall Markupsafe\<2.1 && python3 /usr/bin/pytest tests deactivate Nota Veja-se "[4590]make-ca-1.12" para saber como configurar a variável de ambiente e como as cópias locais dos módulos "Certifi" e "Requests" instaladas em um ambiente virtual substituirão os certificados do sistema. Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/requests e /usr/lib/python3.11/site-packages/requests-2.31.0.dist-info Scour-0.38.2 Introdução ao Módulo “Scour” "Scour" é um otimizador/limpador "Scalable Vector Graphics" ("SVG") que reduz o tamanho deles otimizando a estrutura e removendo dados desnecessários. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4591]https://github.com/scour-project/scour/archive/v0.38.2/scour- 0.38.2.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: ae30f52602802f8c7df3a32e1f72b325 * Tamanho da transferência: 100 KB * Espaço em disco estimado exigido: 1,3 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do “Scour” Exigidas [4592]six-1.16.0 Instalação do “scour” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Para instalar o módulo, execute o seguinte comando como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user scour Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: scour Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/scour e /usr/lib/python3.11/site-packages/scour-0.38.2.dist-info Descrições Curtas scour é um aplicativo para otimizar e limpar arquivos "SVG" six-1.16.0 Introdução ao Módulo “Six” "Six" é uma biblioteca de compatibilidade "Python" 2 a 3. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4593]https://files.pythonhosted.org/packages/source/s/six/six-1.16 .0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: a7c927740e4964dd29b72cebfc1429bb * Tamanho da transferência: 36 KB * Espaço em disco estimado exigido: 376 KB * Tempo de construção estimado: menos que 0,1 UPC Instalação do “Six” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user six Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/six-1.16.0.dist-info Sphinx-7.1.2 Introdução ao Módulo “Sphinx” O pacote "Sphinx" é um conjunto de ferramentas para traduzir alguns formatos de texto estruturado em documentação bonita em vários formatos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4594]https://github.com/sphinx-doc/sphinx/archive/v7.1.2/sphinx-7. 1.2.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: ae8427a2035ebd4359c3df8f5436c4b9 * Tamanho da transferência: 6,6 MB * Espaço em disco estimado exigido: 27 MB (adicionar 40 MB para testes) * Tempo de construção estimado: menos que 0,1 UPC (1,0 UPC para testes) Dependências do “Sphinx” Exigidas [4595]alabaster-0.7.13, [4596]Babel-2.11.0, [4597]docutils-0.20.1, [4598]imagesize-1.4.1, [4599]packaging-23.1, [4600]Pygments-2.16.1, [4601]requests-2.31.0, [4602]snowballstemmer-2.2.0, [4603]sphinxcontrib-applehelp-1.0.4, [4604]sphinxcontrib-devhelp-1.0.2, [4605]sphinxcontrib-htmlhelp-2.0.1, [4606]sphinxcontrib-jsmath-1.0.1, [4607]sphinxcontrib-qthelp-1.0.3 e [4608]sphinxcontrib-serializinghtml-1.1.5 Opcionais (para testes) [4609]cython-0.29.36, [4610]pytest-7.4.0, [4611]texlive-20230313, [4612]filelock e [4613]html5lib Instalação do “Sphinx” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user sphinx Supondo que "[4614]cython-0.29.36" e "[4615]pytest-7.4.0" estejam instalados, mas a outra dependência opcional não esteja, a instalação pode ser testada com os seguintes comandos: python3 -m venv --system-site-packages testenv && source testenv/bin/activate && pip3 install html5lib filelock && python3 /usr/bin/pytest deactivate Quatro sub testes em tests/test_ext_math.py são conhecidos por falharem. Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: sphinx-apidoc, sphinx-autogen, sphinx-build e sphinx-quickstart Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/sphinx e /usr/lib/python3.11/site-packages/sphinx-7.1.2.dist-info Descrições Curtas sphinx-apidoc cria um arquivo "reST" a partir de módulos e pacotes "Python" sphinx-autogen gera "ReStructuredText" a partir de diretivas especiais contidas em determinados arquivos de entrada sphinx-build gera documentação em vários formatos a partir de arquivos fonte "ReStructuredText" sphinx-quickstart gera os arquivos exigidos para um projeto "Sphinx" Sphinx_rtd_theme-1.2.2 Introdução ao Módulo “Sphinx_rtd_theme” O módulo "sphinx_rtd_theme" é um tema "Sphinx" projetado para fornecer uma ótima experiência de leitura para usuários(as) de documentação em áreas de trabalho e dispositivos móveis. Esse tema é usado principalmente no "Read the Docs", mas pode funcionar com qualquer projeto "Sphinx". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4616]https://files.pythonhosted.org/packages/source/s/sphinx_rtd_t heme/sphinx_rtd_theme-1.2.2.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: ea90571ea4ffb546d419c05faf86a838 * Tamanho da transferência: 2,7 MB * Espaço em disco estimado exigido: 35 MB (com testes) * Tempo de construção estimado: menos que 0,1 UPC (com os testes) Dependências do “Sphinx_rtd_theme” Exigidas [4617]sphinx-7.1.2 e [4618]sphinxcontrib-jquery-4.1 Opcionais (para testes) [4619]pytest-7.4.0 e [4620]readthedocs-sphinx-ext Instalação do “Sphinx_rtd_theme” Corrija versões erradas para dependências: sed -e s/0.19/0.21/ \ -e '/sphinx.*7/s/7/8/' \ -i setup.cfg Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user sphinx_rtd_th eme Supondo que "[4621]pytest-7.4.0" esteja instalado, mas a outra dependência opcional não esteja, a instalação pode ser testada com os seguintes comandos: python3 -m venv --system-site-packages testenv && source testenv/bin/activate && pip3 install readthedocs-sphinx-ext && python3 /usr/bin/pytest deactivate Vários testes retornam um aviso porque usam uma "API" obsoleta do "Sphinx". Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/sphinx_rtd_theme e /usr/lib/python3.11/site-packages/sphinx_rtd_theme-1.2.2.dist-info Dependências do "Python" Introdução às Dependências do Python Os módulos "Python" listados em "[4622]Módulos "Python"" tem dependências que não são referenciadas por outros pacotes no BLFS. Essas dependências estão listadas aqui. Eles não serão atualizados regularmente, a menos que uma versão mais recente seja necessária. Importante No BLFS, normalmente construímos e instalamos módulos "Python" 3 com pip3. Por favor tome cuidado para que os comandos "pip3 install" no livro sejam executados como "root", a menos que seja para um ambiente virtual "Python". Executar o "pip3 install" como um(a) usuário(a) não "root" pode parecer funcionar bem, mas fará com que o módulo instalado fique inacessível para outros(as) usuários(as). "pip3 install" não reinstalará um módulo já instalado por padrão. Para usar o comando "pip3 install" para atualizar um módulo (por exemplo, de "meson-0.61.3" para "meson-0.62.0"), insira "--upgrade" na linha de comando. Se for realmente necessário desatualizar um módulo ou reinstalar a mesma versão por algum motivo, [então] insira "--force-reinstall" na linha de comando. * [4623]alabaster-0.7.13 * [4624]attrs-22.2.0 * [4625]Babel-2.11.0 * [4626]chardet-5.1.0 * [4627]charset-normalizer-3.0.1 * [4628]commonmark-0.9.1 * [4629]editables-0.3 * [4630]hatchling-1.12.2 * [4631]hatch_vcs-0.3.0 * [4632]idna-3.4 * [4633]imagesize-1.4.1 * [4634]iniconfig-2.0.0 * [4635]Markdown-3.4.1 * [4636]meson_python-0.12.0 * [4637]msgpack-1.0.4 * [4638]pathspec-0.10.3 * [4639]pluggy-1.0.0 * [4640]py-1.11.0 * [4641]pyproject-metadata-0.7.0 * [4642]pytz-2022.7.1 * [4643]setuptools_scm-7.1.0 * [4644]smartypants-2.0.1 * [4645]snowballstemmer-2.2.0 * [4646]sphinxcontrib-applehelp-1.0.4 * [4647]sphinxcontrib-devhelp-1.0.2 * [4648]sphinxcontrib-htmlhelp-2.0.1 * [4649]sphinxcontrib-jquery-4.1 * [4650]sphinxcontrib-jsmath-1.0.1 * [4651]sphinxcontrib-qthelp-1.0.3 * [4652]sphinxcontrib-serializinghtml-1.1.5 * [4653]typing_extensions-4.4.0 * [4654]typogrify-2.0.7 * [4655]urllib3-2.0.2 Alabaster-0.7.13 Introdução ao Módulo “Alabaster” O pacote "Alabaster" é um tema para o sistema de documentação "sphinx". Embora desenvolvido separadamente, é o tema padrão para "Sphinx". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4656]https://files.pythonhosted.org/packages/source/a/alabaster/al abaster-0.7.13.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 2e05a5f4fe5a8b95e5e576cbf4a5d503 * Tamanho da transferência: 11 KB * Espaço em disco estimado exigido: 360 KB * Tempo de construção estimado: menos que 0,1 UPC Instalação do “Alabaster” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user alabaster Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/alabaster e /usr/lib/python3.11/site-packages/alabaster-0.7.13.dist-info Attrs-22.2.0 Introdução ao Módulo “Attrs” O pacote "Attrs" é um tema para o sistema de documentação "sphinx". Embora desenvolvido separadamente, é o tema padrão do "Sphinx". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4657]https://files.pythonhosted.org/packages/source/a/attrs/attrs- 22.2.0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: eff16b3bbd0d9b72e118cca83a19d380 * Tamanho da transferência: 211 KB * Espaço em disco estimado exigido: 2 MB (adicionar 53 MB para os testes) * Tempo de construção estimado: menos que 0,1 UPC (0,2 UPC para os testes) Opcionais (para testagem) [4658]pytest-7.4.0, [4659]coverage[toml], [4660]hypothesis, [4661]Pympler, [4662]mypy, [4663]pytest-mypy-plugins, [4664]zope.interface e [4665]cloudpickle Instalação do “Attrs” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user attrs Para testar a instalação, execute: python3 -m venv --system-site-packages testenv && source testenv/bin/activate && pip3 install attrs[tests] && python3 /usr/bin/pytest && deactivate Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/attr, /usr/lib/python3.11/site-packages/attrs e /usr/lib/python3.11/site-packages/attrs-22.2.0.dist-info Babel-2.11.0 Introdução ao Módulo “Babel” O pacote "Babel" é uma coleção integrada de utilitários que auxiliam na internacionalização e localização de aplicações "Python", com ênfase em aplicações baseadas na web. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4666]https://files.pythonhosted.org/packages/source/B/Babel/Babel- 2.11.0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 9ee7784fd452d456206ecd3a12694010 * Tamanho da transferência: 8,9 MB * Espaço em disco estimado exigido: 103 MB (adicionar 30 MB para os testes) * Tempo de construção estimado: menos que 0,1 UPC (0,1 UPC para os testes) Dependências do “Babel” Exigidas [4667]pytz-2022.7.1 Opcionais (para testagem) [4668]pytest-7.4.0, [4669]Python-3.11.4 (com o módulo "sqlite"), [4670]freezegun==0.3.12 e [4671]pytest-cov Instalação do “Babel” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user Babel Supondo que "[4672]pytest-7.4.0" esteja instalado, mas as outras dependências opcionais não estejam, a instalação pode ser testada com os seguintes comandos: python3 -m venv --system-site-packages testenv && source testenv/bin/activate && pip3 install pytest-cov freezegun==0.3.12 && python3 /usr/bin/pytest deactivate Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: pybabel Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/babel e /usr/lib/python3.11/site-packages/Babel-2.11.0.dist-info Descrições Curtas pybabel é uma interface de linha de comando para trabalhar com catálogos de mensagens Chardet-5.1.0 Introdução ao Módulo “chardet” "Chardet" é um detector universal de codificação de caracteres. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4673]https://files.pythonhosted.org/packages/source/c/chardet/char det-5.1.0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 394bd03d7a258d2771040bfbd5a7bf66 * Tamanho da transferência: 2 MB * Espaço em disco estimado exigido: 13 MB (adicionar 1,1 MB para os testes) * Tempo de construção estimado: menos que 0,1 UPC (0,3 UPC para os testes) Dependências do “Chardet” Opcionais (para testagem) [4674]pytest-7.4.0 Instalação do “Chardet” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user chardet Para testar a instalação, emita "pytest". Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: chardetect Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/chardet e /usr/lib/python3.11/site-packages/chardet-5.1.0.dist-info Descrições Curtas chardetect é um detector universal de codificação de caracteres Charset-normalizer-3.0.1 Introdução ao Módulo “charset-normalizer” A biblioteca "charset-normalizer" ajuda a ler texto originário de uma codificação de caracteres desconhecida. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4675]https://files.pythonhosted.org/packages/source/c/charset-norm alizer/charset-normalizer-3.0.1.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 12ee1c8bedbfba84e99db46d5d94f411 * Tamanho da transferência: 91 KB * Espaço em disco estimado exigido: 1,1 MB (adicionar 27 MB para os testes) * Tempo de construção estimado: menos que 0,1 UPC (com os testes) Dependências do “Charset-normalizer” Opcionais (para testagem) [4676]pytest-7.4.0 e [4677]pytest-cov Instalação do “Charset-normalizer” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user charset-norma lizer Supondo que "[4678]pytest-7.4.0" esteja instalado, mas as outras dependências opcionais não estejam, a instalação pode ser testada com os seguintes comandos: python3 -m venv --system-site-packages testenv && source testenv/bin/activate && pip3 install pytest-cov && python3 /usr/bin/pytest deactivate Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: normalizer Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/charset_normalizer e /usr/lib/python3.11/site-packages/charset_normalizer-3.0.1.dist-info Descrições Curtas normalizer é um Detector Universal de Conjuntos de Caracteres (descobre a codificação de origem e normaliza o texto para "Unicode") Commonmark-0.9.1 Introdução ao Módulo “Commonmark” "Commonmark" analisador "Python" para a especificação "CommonMark Markdown". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4679]https://files.pythonhosted.org/packages/source/c/commonmark/c ommonmark-0.9.1.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: cd1dc70c4714d9ed4117a40490c25e00 * Tamanho da transferência: 94 KB * Espaço em disco estimado exigido: 1,3 MB (adicionar 30 MB para os testes) * Tempo de construção estimado: menos que 0,1 UPC (0,1 UPC para os testes) Dependências do “Commonmark” Opcionais (para testagem) [4680]pytest-7.4.0, [4681]flake8 e [4682]hypothesis Instalação do “Commonmark” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user commonmark Supondo que "[4683]pytest-7.4.0" esteja instalado e a outra dependência opcional não esteja, a instalação pode ser testada com: python3 -m venv --system-site-packages testenv && source testenv/bin/activate && pip3 install hypothesis && python3 /usr/bin/pytest commonmark/tests/unit_tests.py python3 commonmark/tests/run_spec_tests.py deactivate Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: cmark Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/commonmark e /usr/lib/python3.11/site-packages/commonmark-0.9.1.dist-info Descrições Curtas cmark processa "Markdown" de acordo com a especificação "CommonMark" Editables-0.3 Introdução ao Módulo “Editables” Editables é uma biblioteca "Python" para criar “rodas editáveis”. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4684]https://files.pythonhosted.org/packages/source/e/editables/ed itables-0.3.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: e91709fbb0ef586cb7b785042068ab67 * Tamanho da transferência: 4,6 KB * Espaço em disco estimado exigido: 180 KB * Tempo de construção estimado: menos que 0,1 UPC Instalação do “Editables” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user editables Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/editables e /usr/lib/python3.11/site-packages/editables-0.3.dist-info Hatchling-1.12.2 Introdução ao Módulo “Hatchling” "Hatchling" é uma estrutura de retaguarda de construção extensível e compatível com padrões para módulos "Python". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4685]https://files.pythonhosted.org/packages/source/h/hatchling/ha tchling-1.12.2.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 5a6e2fd0c877feea7e71b9d72bbdbed9 * Tamanho da transferência: 60 KB * Espaço em disco estimado exigido: 2,3 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do “Hatchling” Exigidas [4686]editables-0.3, [4687]packaging-23.1, [4688]pathspec-0.10.3 e [4689]pluggy-1.0.0 Instalação do “Hatchling” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Esse pacote não vem com uma suíte de teste funcional. Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user hatchling Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: hatchling Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/hatchling e /usr/lib/python3.11/site-packages/hatchling-1.12.2.dist-info Descrições Curtas hatchling é um construtor de módulo "Python" Hatch_vcs-0.3.0 Introdução ao Módulo “Hatch-vcs” "Hatch_vcs" é um "plugin" do "Hatch" para versionamento com diversos " [4690]VCS ". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4691]https://files.pythonhosted.org/packages/source/h/hatch-vcs/ha tch_vcs-0.3.0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: c2f2cbe6851b7b2969cb4aa24c4b9b2f * Tamanho da transferência: 9,9 KB * Espaço em disco estimado exigido: 436 KB (com os testes) * Tempo de construção estimado: menos que 0,1 UPC (com os testes) Dependências do “Hatch_vcs” Exigidas [4692]hatchling-1.12.2 e [4693]setuptools_scm-7.1.0 Opcionais (para testagem) [4694]pytest-7.4.0 Instalação do “Hatch_vcs” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user hatch_vcs Para testar a instalação, emita pytest. Um teste, tests/test_build.py::test_write, é conhecido por falhar. Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/hatch_vcs e /usr/lib/python3.11/site-packages/hatch_vcs-0.3.0.dist-info Idna-3.4 Introdução ao Módulo “Idna” O módulo "Idna" fornece suporte para o protocolo "Internationalized Domain Names in Applications" ("IDNA"), conforme especificado na "RFC" 5891. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4695]https://files.pythonhosted.org/packages/source/i/idna/idna-3. 4.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 13ea24e076212b6baae1135a116d1e0e * Tamanho da transferência: 179 KB * Espaço em disco estimado exigido: 2,1 MB (com o teste) * Tempo de construção estimado: menos que 0,1 UPC (com os testes) Dependências do “Idna” Opcionais (para testagem) [4696]pytest-7.4.0 Instalação do “Idna” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user idna Para testar a instalação, execute "pytest". Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/idna e /usr/lib/python3.11/site-packages/idna-3.4.dist-info Imagesize-1.4.1 Introdução ao Módulo “Imagesize” O pacote "imagesize" analisa os cabeçalhos dos arquivos de imagem e retorna o tamanho e o "DPI" da imagem. Funciona com formatos "JPEG"/"JPEG 2000"/"PNG"/"GIF"/"TIFF"/"SVG"/"Netpbm"/"WebP". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4697]https://files.pythonhosted.org/packages/source/i/imagesize/im agesize-1.4.1.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 5a40586a25c07e1a8f16f6267252c321 * Tamanho da transferência: 1,2 MB * Espaço em disco estimado exigido: 1,8 MB (com os testes) * Tempo de construção estimado: menos que 0,1 UPC (com os testes) Dependências do “Imagesize” Opcionais (para testagem) [4698]pytest-7.4.0 e [4699]requests-2.31.0 Instalação do “Imagesize” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user imagesize Os testes para esse pacote são conhecidos por estarem quebrados. Para testar a instalação de qualquer maneira, execute pytest. Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/imagesize e /usr/lib/python3.11/site-packages/imagesize-1.4.1.dist-info Iniconfig-2.0.0 Introdução ao Módulo “Iniconfig” Iniconfig é um módulo analisador de arquivo "INI" pequeno e simples. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4700]https://files.pythonhosted.org/packages/source/i/iniconfig/in iconfig-2.0.0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 3c030b3f51dcc3aca585de05635600e4 * Tamanho da transferência: 4,5 KB * Espaço em disco estimado exigido: 168 KB * Tempo de construção estimado: menos que 0,1 UPC Dependências do “Iniconfig” Exigidas [4701]hatch_vcs-0.3.0 Instalação do “Iniconfig” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user iniconfig Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/iniconfig e /usr/lib/python3.11/site-packages/iniconfig-2.0.0.dist-info Markdown-3.4.1 Introdução ao Módulo “Markdown” "Markdown" é um analisador "Python" para a especificação "Markdown" de John Gruber. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4702]https://files.pythonhosted.org/packages/source/M/Markdown/Mar kdown-3.4.1.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 597656cf4feadf1998b0511201620202 * Tamanho da transferência: 315 KB * Espaço em disco estimado exigido: 4,1 MB (adicionar 27 MB para os testes) * Tempo de construção estimado: menos que 0,1 UPC (com os testes) Dependências do “Markdown” Opcionais (para testagem) [4703]pytest-7.4.0, [4704]PyYAML-6.0.1 e [4705]coverage Instalação do “Markdown” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user Markdown Supondo que "[4706]pytest-7.4.0" e "[4707]PyYAML-6.0.1" estejam instalados e a outra dependência opcional não esteja, a instalação pode ser testada com: python3 -m venv --system-site-packages testenv && source testenv/bin/activate && pip3 install coverage && python3 /usr/bin/pytest --ignore=tests/test_syntax/extensions/test_md_in_html.py deactivate Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: markdown_py Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/markdown e /usr/lib/python3.11/site-packages/Markdown-3.4.1.dist-info Descrições Curtas markdown_py converte arquivos "markdown" para "(x)html" Meson_python-0.12.0 Introdução ao Módulo “Meson_python” O módulo "Meson_python" contém uma estrutura de retaguarda de construção "Python" ("PEP" 517) para projetos "Meson". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4708]https://files.pythonhosted.org/packages/source/m/meson_python /meson_python-0.12.0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 1c9a037d78a8f35d8704b98d37b638c4 * Tamanho da transferência: 44 KB * Espaço em disco estimado exigido: 1080 KB * Tempo de construção estimado: menos que 0,1 UPC Dependências do “Meson_python” Exigidas [4709]pyproject-metadata-0.7.0 Recomendadas (Tempo de execução) [4710]patchelf-0.17.2 Instalação do “Meson_python” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user meson_python Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/meson_python e /usr/lib/python3.11/site-packages/meson_python-0.12.0.dist-info MessagePack-1.0.4 Introdução ao Módulo “MessagePack” "MessagePack" é um formato de serialização binária eficiente. Ele te permite trocar dados entre várias linguagens, como "JSON". Mas é mais rápido e menor. Esse pacote fornece ligações "CPython" para leitura e escrita de dados do "MessagePack". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4711]https://files.pythonhosted.org/packages/source/m/msgpack/msgp ack-1.0.4.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 1822cdb939e7531f7ad0f7f09b434f22 * Tamanho da transferência: 126 KB * Espaço em disco estimado exigido: 1,9 MB (adicionar 0,3 MB para os testes) * Tempo de construção estimado: menos que 0,1 UPC Dependências do “MessagePack” Exigidas [4712]cython-0.29.36 e [4713]setuptools_scm-7.1.0 Opcionais (para testagem) [4714]pluggy-1.0.0 e [4715]pytest-7.4.0 Instalação do “MessagePack” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user msgpack Para testar a instalação, emita "pytest". Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/msgpack-1.0.4.dist-info e /usr/lib/python3.11/site-packages/msgpack Pathspec-0.10.3 Introdução ao Módulo “Pathspec” "Pathspec" é uma biblioteca de utilitários para correspondência de padrões de caminhos de arquivos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4716]https://files.pythonhosted.org/packages/source/p/pathspec/pat hspec-0.10.3.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: d89408b52aff020ac768a14c0ef1c7de * Tamanho da transferência: 45 KB * Espaço em disco estimado exigido: 912 KB (com os testes) * Tempo de construção estimado: menos que 0,1 UPC (com os testes) Dependências do “Pathspec” Opcionais (para testagem) [4717]pytest-7.4.0 Instalação do “Pathspec” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user pathspec Para testar a instalação, emita "pytest". Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/pathspec e /usr/lib/python3.11/site-packages/pathspec-0.10.3.dist-info Pluggy-1.0.0 Introdução ao Módulo “Pluggy” O pacote "Pluggy" oferece a usuários(as) a capacidade de estender ou modificar o comportamento de um aplicativo anfitrião instalando um "plugin" para esse aplicativo. O código do "plugin" será executado como parte da execução normal do aplicativo, mudando ou aprimorando certos aspectos dele. Em essência, "pluggy" habilita a ligação de funções, de modo que um(a) usuário(a) consiga construir sistemas “plugáveis”. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4718]https://files.pythonhosted.org/packages/source/p/pluggy/plugg y-1.0.0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: daa6fddfb6cd364f3c82e52098911e4b * Tamanho da transferência: 50 KB * Espaço em disco estimado exigido: 636 KB (adicionar 26 MB para os testes) * Tempo de construção estimado: menos que 0,1 UPC (com os testes) Dependências do “Pluggy” Recomendadas [4719]setuptools_scm-7.1.0 Opcionais (para testagem) [4720]pytest-7.4.0 e [4721]pytest-benchmark Instalação do “Pluggy” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user pluggy Supondo que "[4722]pytest-7.4.0" esteja instalado, mas as outras dependências opcionais não estejam, a instalação pode ser testada com os seguintes comandos: python3 -m venv --system-site-packages testenv && source testenv/bin/activate && pip3 install pytest-benchmark && python3 /usr/bin/pytest deactivate Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/pluggy e /usr/lib/python3.11/site-packages/pluggy-1.0.0.dist-info Py-1.11.0 Introdução ao Módulo “Py” A biblioteca "Py" é uma biblioteca de suporte ao desenvolvimento "Python" usada em "Pytest". Ela está obsoleta e deveria ser removida em algum momento, mas parte dela ainda é usada no "Pytest". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4723]https://files.pythonhosted.org/packages/source/p/py/py-1.11.0 .tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: bde7dcc1cb452a1e10206ef2f811ba88 * Tamanho da transferência: 203 KB * Espaço em disco estimado exigido: 2,8 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do “Py” Recomendadas [4724]setuptools_scm-7.1.0 Instalação do “Py” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user py Devido à descontinuação desse pacote, a suíte de teste não é mantida e não pode ser executada. Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/py e /usr/lib/python3.11/site-packages/py-1.11.0.dist-info Pyproject-Metadata-0.7.0 Introdução ao Módulo “Pyproject-Metadata” O módulo "Pyproject-Metadata" contém uma classe de dados para metadados "PEP" 621 com suporte para geração de “metadados centrais” ("PEP" 643). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4725]https://files.pythonhosted.org/packages/source/p/pyproject-me tadata/pyproject-metadata-0.7.0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 7e02d67678d5b722c06436393d3a905a * Tamanho da transferência: 8 KB * Espaço em disco estimado exigido: 212 KB * Tempo de construção estimado: menos que 0,1 UPC Dependências do “Pyproject-Metadata” Exigidas [4726]packaging-23.1 Instalação do “Pyproject-Metadata” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user pyproject-met adata Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/pyproject_metadata e /usr/lib/python3.11/site-packages/pyproject_metadata-0.7.0.dist-info Pytz-2022.7.1 Introdução ao Módulo “Pytz” A biblioteca "Pytz" traz a base de dados "tz" da "IANA" para o "Python". Ela permite cálculos de fuso horário precisos e entre plataformas. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4727]https://files.pythonhosted.org/packages/source/p/pytz/pytz-20 22.7.1.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 5acd981a81dcdc6aadddf4d7e5116b98 * Tamanho da transferência: 306 KB * Espaço em disco estimado exigido: 9,1 MB (com os testes) * Tempo de construção estimado: menos que 0,1 UPC (com os testes) Dependências do “Pytz” Opcionais (para testagem) [4728]pytest-7.4.0 Instalação do “Pytz” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user pytz Para testar a instalação, execute "pytest". Uns poucos avisos são emitidos. Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/pytz e /usr/lib/python3.11/site-packages/pytz-2022.7.1.dist-info Setuptools_scm-7.1.0 Introdução ao Módulo “Setuptools_scm” O pacote "Setuptools_scm" é usado para extrair versões de pacotes "Python" a partir dos metadados "git" ou "hg" em vez de declará-los. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4729]https://files.pythonhosted.org/packages/source/s/setuptools_s cm/setuptools_scm-7.1.0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 158dc741637fb4fa4b955c62bd2c08be * Tamanho da transferência: 70 KB * Espaço em disco estimado exigido: 1,6 MB (com os testes) * Tempo de construção estimado: menos que 0,1 UPC (adicionar 0,4 UPC para os testes) Dependências do “Setuptools_scm” Exigidas [4730]packaging-23.1 e [4731]typing_extensions-4.4.0 Opcionais (para testagem) [4732]git-2.41.0, [4733]Mercurial-6.5.1 e [4734]pytest-7.4.0 Instalação do “Setuptools_scm” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user setuptools_sc m A instalação pode ser testada com "pytest". Uns poucos testes possivelmente falhem se a tua configuração do "git" não for aquela esperada pela suíte de teste. Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/setuptools_scm e /usr/lib/python3.11/site-packages/setuptools_scm-7.1.0.dist-info Smartypants-2.0.1 Introdução ao Módulo “Smartypants” "Smartypants" traduz caracteres de pontuação "ASCII" simples em entidades "HTML" de pontuação tipográfica “inteligente”. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4735]https://github.com/leohemsted/smartypants.py/archive/v2.0.1/s martypants-2.0.1.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 27957540f4718e892039b2ed208c78f3 * Tamanho da transferência: 24 KB * Espaço em disco estimado exigido: 344 KB * Tempo de construção estimado: menos que 0,1 UPC Instalação do “Smartypants” Nota O tarball extrai para o diretório smartypants.py-2.0.1. Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Esse pacote não vem com uma suíte de teste funcional. Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user smartypants Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: smartypants Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/smartypants-2.0.1.dist-info Descrições Curtas smartypants traduz pontuação "ASCII" em pontuação "HTML". Snowballstemmer-2.2.0 Introdução ao Módulo “Snowballstemmer” O pacote Snowballstemmer é uma pequena linguagem de processamento de sequências de caracteres para criar algoritmos de remoção de radical [de palavras] para uso em Recuperação de Informação, mais uma coleção de algoritmos de remoção de radical [de palavras] implementados usando-a. O removedor de radical [de palavras] mapeia diferentes formas da mesma palavra para um “radical” comum — por exemplo, o removedor inglês de radical [de palavras] mapeia connection, connections, connective, connected e connecting para connect. Executar-se uma busca por connected também encontraria documentos que tenham somente as outras formas. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4736]https://files.pythonhosted.org/packages/source/s/snowballstem mer/snowballstemmer-2.2.0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 4332ddc7bbee0f344a03915b2ad59a54 * Tamanho da transferência: 85 KB * Espaço em disco estimado exigido: 3,8 MB * Tempo de construção estimado: menos que 0,1 UPC Instalação do “Snowballstemmer” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user snowballstemm er Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/snowballstemmer e /usr/lib/python3.11/site-packages/snowballstemmer-2.2.0.dist-info Sphinxcontrib-applehelp-1.0.4 Introdução ao Módulo “Sphinxcontrib-applehelp” O pacote "Sphinxcontrib-applehelp" é uma extensão "Sphinx" que produz livros de ajuda da "Apple". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4737]https://files.pythonhosted.org/packages/source/s/sphinxcontri b-applehelp/sphinxcontrib-applehelp-1.0.4.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 8d52173d3d5c7bd9c0e3da26cd217916 * Tamanho da transferência: 28 KB * Espaço em disco estimado exigido: 2,0 MB (com os testes) * Tempo de construção estimado: menos que 0,1 UPC (com os testes) Dependências do “Sphinxcontrib-applehelp” Opcionais (para testagem) [4738]pytest-7.4.0 e [4739]sphinx-7.1.2 (dependência circular) Instalação do “Sphinxcontrib-applehelp” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user sphinxcontrib -applehelp Para testar a instalação, execute "pytest". Vários avisos possivelmente sejam emitidos devido ao uso de funções obsoletas. Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/sphinxcontrib e /usr/lib/python3.11/site-packages/sphinxcontrib_applehelp-1.0.4.dist-in fo Sphinxcontrib-devhelp-1.0.2 Introdução ao Módulo “Sphinxcontrib-devhelp” O pacote "Sphinxcontrib-devhelp" é uma extensão "Sphinx" que produz documentos [4740]Devhelp. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4741]https://files.pythonhosted.org/packages/source/s/sphinxcontri b-devhelp/sphinxcontrib-devhelp-1.0.2.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 94069c5cdb5079c445f5477fa6107016 * Tamanho da transferência: 17 KB * Espaço em disco estimado exigido: 2,7 MB (com os testes) * Tempo de construção estimado: menos que 0,1 UPC (com os testes) Dependências do “Sphinxcontrib-devhelp” Opcionais (para testagem) [4742]pytest-7.4.0 e [4743]sphinx-7.1.2 (dependência circular) Instalação do “Sphinxcontrib-devhelp” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user sphinxcontrib -devhelp Para testar a instalação, execute "pytest". Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/sphinxcontrib e /usr/lib/python3.11/site-packages/sphinxcontrib_devhelp-1.0.2.dist-info Sphinxcontrib-htmlhelp-2.0.1 Introdução ao Módulo “Sphinxcontrib-htmlhelp” O pacote "Sphinxcontrib-htmlhelp" é uma extensão "Sphinx" que renderiza arquivos de ajuda "HTML". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4744]https://files.pythonhosted.org/packages/source/s/sphinxcontri b-htmlhelp/sphinxcontrib-htmlhelp-2.0.1.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: e85e6970dc25fbf5fd0f4fa66b897fab * Tamanho da transferência: 28 KB * Espaço em disco estimado exigido: 3,2 MB (adicionar 26 MB para testes) * Tempo de construção estimado: menos que 0,1 UPC (com os testes) Dependências do “Sphinxcontrib-htmlhelp” Opcionais (para testagem) [4745]pytest-7.4.0, [4746]sphinx-7.1.2 (dependência circular) e [4747]html5lib Instalação do “Sphinxcontrib-htmlhelp” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user sphinxcontrib -htmlhelp Supondo que "[4748]pytest-7.4.0" esteja instalado, mas a outra dependência opcional não esteja, a instalação pode ser testada com os seguintes comandos: python3 -m venv --system-site-packages testenv && source testenv/bin/activate && pip3 install html5lib && python3 /usr/bin/pytest deactivate Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/sphinxcontrib e /usr/lib/python3.11/site-packages/sphinxcontrib_htmlhelp-2.0.1.dist-inf o Sphinxcontrib-jquery-4.1 Introdução ao Módulo “Sphinxcontrib-jquery” O pacote "Sphinxcontrib-jquery" é uma extensão "Sphinx" que inclui "jQuery" nos lançamentos mais recentes do "Sphinx". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4749]https://files.pythonhosted.org/packages/source/s/sphinxcontri b-jquery/sphinxcontrib-jquery-4.1.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 46ea52845b17343ed6c61e6963fb265d * Tamanho da transferência: 120 KB * Espaço em disco estimado exigido: 552 KB * Tempo de construção estimado: menos que 0,1 UPC Dependências do “Sphinxcontrib-jquery” Opcionais (para testagem) [4750]pytest-7.4.0 Instalação do “Sphinxcontrib-jquery” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user sphinxcontrib -jquery Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/sphinxcontrib e /usr/lib/python3.11/site-packages/sphinxcontrib_jquery-4.1.dist-info Sphinxcontrib-jsmath-1.0.1 Introdução ao Módulo “Sphinxcontrib-jsmath” O pacote "Sphinxcontrib-jsmath" é uma extensão "Sphinx" que renderiza matemática de exibição em "HTML" via "JavaScript". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4751]https://files.pythonhosted.org/packages/source/s/sphinxcontri b-jsmath/sphinxcontrib-jsmath-1.0.1.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: e45179f0a3608b6766862e0f34c23b62 * Tamanho da transferência: 5,7 KB * Espaço em disco estimado exigido: 324 KB (com os testes) * Tempo de construção estimado: menos que 0,1 UPC (com os testes) Dependências do “Sphinxcontrib-jsmath” Opcionais (para testagem) [4752]pytest-7.4.0 e [4753]sphinx-7.1.2 (dependência circular) Instalação do “Sphinxcontrib-jsmath” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user sphinxcontrib -jsmath A instalação pode ser testada com os seguintes comandos: sed -i 's/text()/read_&/' tests/test_jsmath.py && pytest o comando "sed ..." é necessário devido a uma mudança na "API" "Sphinx" para lançamentos superiores a 5.0. Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/sphinxcontrib e /usr/lib/python3.11/site-packages/sphinxcontrib_jsmath-1.0.1.dist-info Sphinxcontrib-qthelp-1.0.3 Introdução ao Módulo “Sphinxcontrib-qthelp” O pacote "Sphinxcontrib-qthelp" é uma extensão "Sphinx" que produz documentos "QtHelp". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4754]https://files.pythonhosted.org/packages/source/s/sphinxcontri b-qthelp/sphinxcontrib-qthelp-1.0.3.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 93216721f3e154cce12d1e9c3307b415 * Tamanho da transferência: 21 KB * Espaço em disco estimado exigido: 2,8 MB (com os testes) * Tempo de construção estimado: menos que 0,1 UPC (com os testes) Dependências do “Sphinxcontrib-qthelp” Opcionais (para testagem) [4755]pytest-7.4.0 e [4756]sphinx-7.1.2 (dependência circular) Instalação do “Sphinxcontrib-qthelp” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user sphinxcontrib -qthelp A instalação pode ser testada com os seguintes comandos: sed -i 's/text()/read_&/' tests/test_qthelp.py && pytest O comando "sed ..." é necessário devido a uma mudança na "API" "Sphinx" para lançamentos superiores a 5.0. Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/sphinxcontrib e /usr/lib/python3.11/site-packages/sphinxcontrib_qthelp-1.0.3.dist-info Sphinxcontrib-serializinghtml-1.1.5 Introdução ao Módulo “Sphinxcontrib-serializinghtml” O pacote "Sphinxcontrib-serializinghtml" é uma extensão "Sphinx" que produz arquivos "HTML" “serializados” ("json" e "pickle"). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4757]https://files.pythonhosted.org/packages/source/s/sphinxcontri b-serializinghtml/sphinxcontrib-serializinghtml-1.1.5.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: d99d2edc7b26988dc5fa92163857bfbf * Tamanho da transferência: 21 KB * Espaço em disco estimado exigido: 3,0 MB (com os testes) * Tempo de construção estimado: menos que 0,1 UPC (com os testes) Dependências do “Sphinxcontrib-serializinghtml” Opcionais (para testagem) [4758]pytest-7.4.0 e [4759]sphinx-7.1.2 (dependência circular) Instalação do “Sphinxcontrib-serializinghtml” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user sphinxcontrib -serializinghtml Para testar a instalação, execute "pytest". Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/sphinxcontrib e /usr/lib/python3.11/site-packages/sphinxcontrib_serializinghtml-1.1.5.d ist-info Typing_extensions-4.4.0 Introdução ao Módulo “Typing_extensions” O módulo "Typing_extensions" permite usar recursos do sistema de novos tipos ainda não definidos na versão "Python" em uso no sistema. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4760]https://files.pythonhosted.org/packages/source/t/typing_exten sions/typing_extensions-4.4.0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 5cfcb56ea6fc4972c3600c0030f4d136 * Tamanho da transferência: 47 KB * Espaço em disco estimado exigido: 528 KB * Tempo de construção estimado: menos que 0,1 UPC Instalação do “Typing_extensions” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user typing_extens ions Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/typing_extensions-4.4.0.dist-info Typogrify-2.0.7 Introdução ao Módulo “Typogrify” "Typogrify" fornece filtros para aprimorar a tipografia da "web", incluindo suporte para modelos "Django" e "Jinja". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4761]https://files.pythonhosted.org/packages/source/t/typogrify/ty pogrify-2.0.7.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 63f38f80531996f187d2894cc497ba08 * Tamanho da transferência: 13 KB * Espaço em disco estimado exigido: 404 KB * Tempo de construção estimado: menos que 0,1 UPC Dependências do “Typogrify” Exigidas [4762]smartypants-2.0.1 Instalação do “Typogrify” Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user typogrify Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/typogrify e /usr/lib/python3.11/site-packages/typogrify-2.0.7.dist-info Urllib3-2.0.2 Introdução ao Módulo “Urllib3” O módulo "Urllib3" é um cliente "HTTP", poderoso e amigável para com o(a) usuário(a), para "Python". Ele traz muitos recursos críticos que estão ausentes nas bibliotecas padrão do "Python". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4763]https://files.pythonhosted.org/packages/source/u/urllib3/urll ib3-2.0.2.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 92d23af401c19da3daec9934f60c8575 * Tamanho da transferência: 272 KB * Espaço em disco estimado exigido: 3,2 MB (adicionar 49 MB para os testes) * Tempo de construção estimado: menos que 0,1 UPC (1,6 UPC para testes) Dependências do “Urllib3” Exigidas [4764]hatchling-1.12.2 Opcionais (para testes) [4765]pytest-7.4.0, [4766]mock, [4767]PySocks, [4768]pytest-timeout, [4769]python-dateutil, [4770]tornado e [4771]trustme Instalação do “Urllib3” Se você quiser executar os testes, remova alguns que possivelmente travem: rm -v test/test_retry.py \ test/contrib/test_pyopenssl.py \ test/contrib/test_securetransport.py \ test/with_dummyserver/test_socketlevel.py Construa o módulo: pip3 wheel -w dist --no-build-isolation --no-deps $PWD Agora, como o(a) usuário(a) "root": pip3 install --no-index --find-links dist --no-cache-dir --no-user urllib3 Nota Executar os testes possivelmente resulte no procedimento abaixo travando e não é recomendado. Supondo que "[4772]pytest-7.4.0" esteja instalado, mas as outras dependências opcionais não estejam, a instalação pode ser testada com os seguintes comandos: python3 -m venv --system-site-packages testenv && source testenv/bin/activate && pip3 install trustme \ tornado \ python-dateutil \ mock \ pysocks \ pytest-timeout && python3 /usr/bin/pytest deactivate Uns poucos erros são conhecidos por ocorrerem. Explicações do Comando -w dist: constrói o(a) apropriado(a) "wheel" para esse módulo no diretório "dist". --no-build-isolation: informa ao "pip3" para executar a construção no ambiente do sistema em vez de criar um ambiente temporário de construção. --no-deps: impede o "pip3" de construir "wheels" para as dependências do projeto. --no-index: ignora o índice do pacote (olhando apenas para "URLs" do "--find-links"). --find-links dist: procura links para arquivamentos, como arquivos "wheel" (".whl"), no diretório "dist". --no-cache-dir: desabilita o cache para evitar um aviso ao instalar como o(a) usuário(a) "root". --no-user: Evite executar erroneamente o comando de instalação como um(a) usuário(a) não "root". --upgrade: Atualize o pacote para a versão mais recente disponível. Essa opção é usada com o comando de instalação se uma versão do pacote já estiver instalada. --force-reinstall: Reinstale o pacote mesmo que esteja atualizado. Essa opção é usada com o comando de instalação ao reinstalar o pacote ou reverter para uma versão anterior do pacote. --no-deps: Não instale dependências do pacote. Essa opção possivelmente seja necessária com as opções "--upgrade" ou "--force-reinstall". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/urllib3 e /usr/lib/python3.11/site-packages/urllib3-2.0.2.dist-info Last updated on Ruby-3.2.2 Introdução ao Ruby O pacote "Ruby" contém o ambiente de desenvolvimento "Ruby". Isso é útil para "scripts" orientados a objetos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4773]https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.2.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 377853f31d10bfe37c58b8537fc3e05d * Tamanho da transferência: 14 MB * Espaço em disco estimado exigido: 694 MB (adicionar 1,0 GB para documentos da API C) * Tempo de construção estimado: 1,2 UPC (usando paralelismo=4; adicionar 4,6 UPC para testes; adicionar 0,6 UPC para documentos da API C) Dependências do “Ruby” Exigidas [4774]libyaml-0.2.5 Opcionais [4775]Base de Dados Berkeley-5.3.28, [4776]Doxygen-1.9.7, [4777]Graphviz-8.1.0, [4778]rustc-1.71.1, [4779]Tk-8.6.13, [4780]Valgrind-3.21.0 e [4781]DTrace Instalação do Ruby Instale "Ruby" executando o seguinte comando: ./configure --prefix=/usr \ --enable-shared \ --without-valgrind \ --without-baseruby \ --docdir=/usr/share/doc/ruby-3.2.2 && make Opcionalmente, construa os documentos da "API" "C" executando os seguintes comandos: make capi Os testes exigem que a nova versão do Ruby já esteja instalada para funcionar corretamente. Se quiser executar os testes, execute-os depois de instalar o pacote. Agora, como o(a) usuário(a) "root": make install Para testar os resultados, emita: make -k check. Existem mais de vinte e cinco mil (25.000) testes. Alguns testes relacionados ao IPv6 possivelmente indiquem erros. Se os testes forem executados em um diretório que tenha um componente escrevível mundialmente (por exemplo, /tmp), então vários testes adicionais possivelmente falhem. Alguns testes possivelmente falhem devido às expectativas de configuração do sistema. Nota Se você tem aplicativos "Ruby-On-Rails" instalados e fez uma atualização do "Ruby" instalando esse pacote, [então] você pode precisar executar uma atualização lá também (como o(a) usuário(a) "root"): cd /caminho/para/aplicativo/web/ bundle update rake e reinicie o servidor "web" que atende o aplicativo. Explicações do Comando --enable-shared: Essa chave habilita construir a biblioteca compartilhada "libruby". --without-baseruby: Essa chave impede usar o ruby do sistema se ele já estiver instalado. O sistema de construção usará a versão recém-construída. --disable-install-doc: Essa chave desabilita construir e instalar índices "rdoc" e documentos da "API" "C". --disable-install-rdoc: Essa chave desabilita construir e instalar índices "rdoc". --disable-install-capi: Essa chave desabilita construir e instalar documentos da "API" "C". Conteúdo Aplicativos Instalados: bundle, bundler, erb, gem, irb, racc, rake, rbs, rdbg, rdoc, ri, ruby e typeprof Bibliotecas Instaladas: libruby.so Diretórios Instalados: /usr/include/ruby-3.2.0, /usr/lib/ruby, /usr/share/doc/ruby-3.2.2 e /usr/share/ri Descrições Curtas bundle cria pacotes de "Ruby Gems" bundler gerencia as dependências de um aplicativo durante todo o ciclo de vida dele erb é uma estrutura de interação direta com o(a) usuário(a) em linha de comando para "eRuby", que fornece um sistema de modelos para "Ruby" gem é o comando para "RubyGems", que é um sofisticado gerenciador de pacotes para "Ruby". Isso é semelhante ao comando "pip" do "Python" irb é a interface interativa para "Ruby" rake é um utilitário de construção semelhante ao "make" para "Ruby" rdbg é um depurador interativo para "Ruby" rdoc gera documentação "Ruby" ri exibe documentação a partir de uma base de dados relacionada a classes, módulos e métodos "Ruby" ruby é uma linguagem de "script" interpretada para programação orientada a objetos rápida e fácil libruby.so contém as funções da "API" exigidas pelo "Ruby" Rustc-1.71.1 Introdução ao Rust A linguagem de programação Rust foi projetada para ser uma linguagem segura, simultânea e prática. Esse pacote é atualizado em um ciclo de lançamento de seis semanas. Por ser um pacote tão grande e lento de construir, no momento exigido somente por uns poucos pacotes neste livro, e particularmente porque as versões mais recentes tendem a quebrar pacotes Mozilla mais antigos, os(as) editores(as) do BLFS consideram que ele somente deveria ser atualizado quando isso for necessário (seja para corrigir problemas ou para permitir a construção de uma nova versão de um pacote). Tal como acontece com muitas outras linguagens de programação, o "Rustc" (o compilador "Rust") precisa de um binário a partir do qual inicializar. Ele baixará um binário stage0 no início da construção, de forma que você não consegue compilá-lo sem uma conexão com a Internet. Nota Embora o BLFS normalmente instale em "/usr", quando você atualizar posteriormente para uma versão mais recente do "rust", as bibliotecas antigas em "/usr/lib/rustlib" permanecerão, com vários "hashes" nos nomes delas, mas não serão usáveis e desperdiçarão espaço. Os(As) editores(as) recomendam colocar os arquivos no diretório "/opt". Em particular, se você tiver motivos para reconstruir com uma configuração modificada (por exemplo, usando o "LLVM" enviado após construir com "LLVM" compartilhado, talvez para compilar caixas para arquiteturas que a construção "LLVM" do BLFS não suporta), [então] é possível que a instalação deixe um aplicativo quebrado "cargo". Em tal situação, remova a instalação existente primeiro ou use um prefixo diferente, como "/opt/rustc-1.71.1-build2". Se preferir, você pode, certamente, mudar o prefixo para "/usr". O atual sistema de construção "rustbuild" usará todos os processadores, embora não escale bem e frequentemente retorne a usar apenas um núcleo enquanto espera que uma biblioteca compile. No entanto, ele pode ser limitado, principalmente a um número especificado de processadores, por uma combinação de adicionar a chave "--jobs " (por exemplo, "--jobs 4" para limitar a quatro processadores) em cada invocação de "python3 ./x.py" e usar uma variável de ambiente "CARGO_BUILD_JOBS=". No momento, isso não é eficaz quando alguns dos testes "rustc" são executados. A versão atual da caixa "num_cpus" do "Rust" agora reconhece que "cgroups" pode ser usado para restringir quais processadores ele está autorizado a usar. Portanto, se sua máquina carece de "DRAM" (normalmente, menos de dois (02) GB de "DRAM" por núcleo), [então] isso pode ser uma alternativa para colocar "CPUs" fora de linha. Isso pode ser conseguido usando o comando "systemd-run" com as opções "-p User=$(whoami)" e "-p AllowedCPUs=0-x" (com "x" substituído pelo número de núcleos de "CPU" que você deseja usar menos um). No momento, "Rust" não oferece nenhuma garantia de uma "ABI" estável. Nota O padrão do "Rustc" é o de construir para TODAS as arquiteturas suportadas, usando uma cópia enviada do "LLVM". No BLFS a construção é somente para a arquitetura "X86". Se você pretende desenvolver caixas "Rust", [então] essa construção possivelmente não seja boa o suficiente para os teus propósitos. Os tempos de construção dessa versão, quando repetidos na mesma máquina, costumam ser razoavelmente consistentes, mas como acontece com todas as compilações usando "rustc", pode existir alguns valores discrepantes muito lentos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4782]https://static.rust-lang.org/dist/rustc-1.71.1-src.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: b6f9973de878e37a589f0989e4138480 * Tamanho da transferência: 145 MB * Espaço em disco estimado exigido: 8,9 GB (292 MB instalado); adicionar 6,4 GB se executar os testes * Tempo de construção estimado: 6,7 UPC (incluindo o tempo de transferência; adicionar 6,2 UPC para os testes, ambos usando paralelismo=8) Dependências do Rust Exigidas [4783]CMake-3.27.2 e [4784]cURL-8.2.1 Nota Uma conexão com a Internet é necessária para construir esse pacote. Recomendadas [4785]libssh2-1.11.0 e [4786]LLVM-16.0.5 (construído com -DLLVM_LINK_LLVM_DYLIB=ON, de forma que Rust consiga vincular ao LLVM do sistema em vez de construir a versão enviada dele) Nota Se uma dependência recomendada não estiver instalada, [então] uma cópia enviada no "tarball" do fonte do "Rustc" será construída e usada. Opcionais [4787]GDB-13.2 (usado pela suíte de teste se estiver presente), [4788]git-2.41.0 (exigido pela suíte de teste) e [4789]libgit2 Observações de Editor(a): [4790]https://wiki.linuxfromscratch.org/blfs/wiki/rust Instalação do Rust Nota Atualmente o compilador Rust produz instruções SSE2 para x86 de 32 bits, fazendo com que o código gerado seja quebrado em sistemas de 32 bits sem um processador compatível com SSE2. Todos os modelos de processador x86 lançados após 2004 deveriam ser compatíveis com SSE2. Execute lscpu | grep sse2 como teste. Se gerar alguma coisa, tua CPU é compatível com SSE2 e está OK. Caso contrário, você pode tentar construir esse pacote em um sistema compatível com SSE2 com a seguinte correção aplicada: sed 's@pentium4@pentiumpro@' -i \ compiler/rustc_target/src/spec/i686_unknown_linux_gnu.rs E copie o "/opt/rustc-1.71.1" resultante para o sistema sem capacidade "SSE2". Mas, essa mudança ainda está sob revisão do(a) desenvolvedor(a) e não foi testada pelos(as) editores(as) do BLFS. Para instalar no diretório "/opt", remova qualquer link simbólico "/opt/rustc" existente e crie um novo diretório (ou seja, com um nome diferente se tentar uma construção modificada da mesma versão). Como o(a) usuário(a) "root": mkdir -pv /opt/rustc-1.71.1 && ln -svfn rustc-1.71.1 /opt/rustc Nota Se múltiplas versões do "Rust" estiverem instaladas em "/opt", [então] a mudança para outra versão exige somente mudar o link simbólico "/opt/rustc" e então executar "ldconfig". Crie um arquivo "config.toml" adequado que configurará a construção. cat << EOF > config.toml # Veja-se "config.toml.example" para mais opções possíveis # Veja-se o livro 8.4 para um exemplo antigo usando "LLVM" enviado # por exemplo, se não instalar "clang", ou usar uma versão anterior a 13.0 # Diz ao "x.py" para não permanecer imprimindo um aviso irritante changelog-seen = 2 [llvm] # por padrão, "rust" construirá para uma miríade de arquiteturas targets = "X86" # Quando usar o "LLVM" do sistema prefira bibliotecas compartilhadas link-shared = true [build] # Omita os documentos para economizar tempo e espaço (padrão é para construí-los ) docs = false # Instala ferramentas estendidas: cargo, clippy, etc extended = true # Não consulte novas versões de dependências online. locked-deps = true # Especifique quais ferramentas estendidas (aquelas oriundas da instalação padr ão). tools = ["cargo", "clippy", "rustdoc", "rustfmt"] # Use o código-fonte enviado no "tarball" para as dependências. # A combinação disto e da entrada "locked-deps" evita baixar # muitas caixas a partir da Internet, e torna a construção do "Rustc" mais estáv el. vendor = true [install] prefix = "/opt/rustc-1.71.1" docdir = "share/doc/rustc-1.71.1" [rust] channel = "stable" description = "para BLFS 12.0" # BLFS costumava não instalar o executável "FileCheck" originário do "LLVM", # de forma que desabilitava os testes "codegen". Os testes "assembly" dependem d e "FileCheck" # e não podem ser facilmente desabilitados, de forma que eles falharão de qualqu er maneira se # "FileCheck" não tiver sido instalado. #codegen-tests = false [target.x86_64-unknown-linux-gnu] # Observe bem: a saída gerada do "llvm-config" (ou seja, opções de ajuda) pode s er # despejada na tela quando "config.toml" é analisado. llvm-config = "/usr/bin/llvm-config" [target.i686-unknown-linux-gnu] # Observe bem: a saída gerada do "llvm-config" (ou seja, opções de ajuda) pode s er # despejada na tela quando "config.toml" é analisado. llvm-config = "/usr/bin/llvm-config" EOF Compile "Rust" executando os seguintes comandos: { [ ! -e /usr/include/libssh2.h ] || export LIBSSH2_SYS_USE_PKG_CONFIG=1; } && python3 ./x.py build Nota A suíte de teste gerará algumas mensagens no diário do systemd para interceptações em códigos inválidos de operação e para falhas de segmentação. Por si só, isso não é motivo de preocupação, apenas uma maneira do teste ser terminado. Para executar os testes (novamente usando todas as "CPUs" disponíveis), emita: SSL_CERT_DIR=/etc/ssl/certs \ python3 ./x.py test --verbose --no-fail-fast | tee rustc-testlog Alguns testes ui possivelmente falhem (o número de falhas depende do comprimento do caminho absoluto para o diretório rustc-1.71.1-src). Essas falhas podem ser identificadas visualizando-se o arquivo rustc-testlog e pesquisando as mensagens note: the full type name has been written to... e elas podem ser seguramente ignoradas. Se o "FileCheck" originário do "LLVM" não tiver sido instalado, [então] todos os quarenta e sete (47) testes da suíte “assembly” falharão. Em alguns sistemas, automatizar os testes possivelmente resulte nos testes suspendendo em test: combine_install_with_separate_uninstall. Se isso acontecer, o problema pode ser contornado pressionando-se a tecla Enter. O teste também pode ser removido com: sed -e '/runtest combine_install_with/s/^/#/g' -i src/tools/rust-installer/test. sh Tal como acontece com todas as grandes suítes de teste, outros testes podem falhar em algumas máquinas - se o número de falhas adicionais for baixo, verifique se existem 'failures:' no registro e revise as linhas acima, especialmente as linhas 'stderr:'. Qualquer menção ao SIGSEGV ou ao sinal onze (11) em um teste falho é motivo de preocupação. Se você receber algum outro teste falho que informe um número de problema, então você deveria procurar por esse problema. Por exemplo, quando "Rustc" >= 1.41.1 era construído com uma versão do "LLVM" do sistema anterior à 10.0, o teste para o problema "69225" falhava [4791]https://github.com/rust-lang/rust/issues/69225 e isso deveria ser considerado como uma falha crítica (eles(as) lançaram 1.41.1 por causa disso). A maioria das outras falhas não será crítica. Portanto, você deveria determinar o número de falhas. O número de testes que passaram e falharam pode ser encontrado executando: grep '^test result:' rustc-testlog | awk '{sum1 += $4; sum2 += $6} END { print sum1 " passed; " sum2 " failed" }' Os outros campos disponíveis são "$8" para aqueles que foram ignorados (ou seja, pulados), "$10" para 'medido' e "$12" para 'filtrado', mas ambos os dois últimos provavelmente sejam zero. Agora, como o(a) usuário(a) "root", instale o pacote: Nota Se "sudo" ou "su" for invocado para comutar para o usuário "root", garanta que "LIBSSH2_SYS_USE_PKG_CONFIG" seja passada corretamente ou o comando seguinte possivelmente reconstrua completamente esse pacote. Para "sudo", use a opção "--preserve-env=LIBSSH2_SYS_USE_PKG_CONFIG". Para "su", não use o "-" ou o "--login". python3 ./x.py install O sistema de construção tenta instalar alguns arquivos duas vezes e, durante a segunda tentativa, renomeia o antigo (instalado na primeira tentativa) com o sufixo .old. Como o(a) usuário(a) root, remova esses arquivos: find /opt/rustc-1.71.1 -name "*.old" -delete Ainda como o(a) usuário(a) root, crie um link simbólico de um arquivo de completação do Zsh para o local correto: install -vdm755 /usr/share/zsh/site-functions && ln -sfv /opt/rustc/share/zsh/site-functions/_cargo \ /usr/share/zsh/site-functions Explicações do Comando ln -svfn rustc-1.71.1 /opt/rustc: se esse não for o primeiro uso do link simbólico /opt/rustc, [então] sobrescreva-o forçando e use o sinalizador '-n' para evitar resultados confusos oriundos, por exemplo, de ls -l. targets = "X86": isso evita construir todos os compiladores cruzados disponíveis do Linux (AArch64, MIPS, PowerPC, SystemZ, etc). Infelizmente, o Rust insiste em instalar os arquivos fonte para esses abaixo de /opt/rustc/lib/src. extended = true: isso instala várias ferramentas (especificadas pela entrada tools) juntamente com o rustc. tools = ["cargo", "clippy", "rustdoc", "rustfmt"]: construa somente as ferramentas a partir do perfil 'padrão' no comando binário rustup que é recomendado para a maioria dos(as) usuários(as). As outras ferramentas são improváveis que sejam úteis, a menos que se use analisadores (antigos) de código ou se edite a biblioteca padrão. channel = "stable": isso garante que somente recursos estáveis possam ser usados. O padrão no config.toml é o de usar recursos de desenvolvimento, o que não é apropriado para uma versão lançada. [target.x86_64-unknown-linux-gnu]: a sintaxe do config.toml exige uma entrada llvm-config para cada alvo para o qual o LLVM do sistema esteja para ser usado. Mude o alvo para [target.i686-unknown-linux-gnu] se você estiver construindo em x86 de 32 bits. Essa seção inteira pode ser omitida se você desejar construir contra o LLVM enviado ou não tiver clang, mas a construção resultante será maior e demorará mais. export LIBSSH2_SYS_USE_PKG_CONFIG=1: Permite que o "cargo" se vincule à "libssh2" do sistema. SSL_CERT_DIR=/etc/ssl/certs: Contorne um problema que causa falhas de teste com o esquema de armazenamento de certificados de AC usado pelo [4792]make-ca-1.12. --verbose: essa chave às vezes pode fornecer mais informações relativas a um teste que falhe. --no-fail-fast: essa chave garante que a suíte de teste não parará no primeiro erro. Configurando o Rust Informação de Configuração Se você instalou "rustc" em "/opt", [então] você precisa atualizar os seguintes arquivos de configuração, de forma que "rustc" seja encontrado corretamente por outros pacotes e processos do sistema. Como o(a) usuário(a) "root", crie o arquivo "/etc/profile.d/rustc.sh": cat > /etc/profile.d/rustc.sh << "EOF" # Inicia /etc/profile.d/rustc.sh pathprepend /opt/rustc/bin PATH # Inclui "/opt/rustc/man" na variável "MANPATH" para acessar páginas de manual pathappend /opt/rustc/share/man MANPATH # Termina /etc/profile.d/rustc.sh EOF Imediatamente depois da instalação, atualize o "PATH" atual para o seu "shell" atual como um(a) usuário(a) normal: source /etc/profile.d/rustc.sh Conteúdo Aplicativos Instalados: cargo-clippy, cargo-fmt, cargo, clippy-driver, rust-gdb, rust-gdbgui, rust-lldb, rustc, rustdoc e rustfmt Bibliotecas Instaladas: librustc-driver-.so, libstd-.so e libtest-.so Diretórios Instalados: ~/.cargo, /opt/rustc, link simbólico para /opt/rustc-1.71.1 Descrições Curtas cargo-clippy fornece verificações "lint" para um pacote "cargo" cargo-fmt formata todos os arquivos "bin" e "lib" da caixa atual usando "Rustfmt" cargo é o Gerenciador de Pacote para "Rust" clippy-driver fornece verificações "lint" para "Rust" rust-gdb é um "script" envólucro para "gdb", extraindo módulos de impressão bonita do "Python" instalados em "/opt/rustc-1.71.1/lib/rustlib/etc" rust-gdbgui é um "script" envólucro para uma estrutura gráfica de interação direta com o(a) usuário(a) para "gdb" que executa em um navegador rust-lldb é um "script" envólucro para "LLDB" (o depurador "LLVM") que extrai os módulos de impressão bonita do "Python" rustc é o compilador "rust" rustdoc gera documentação a partir do código fonte "rust" rustfmt formata código "rust" libstd-.so é a biblioteca padrão do "Rust", a fundação do logiciário portável "Rust" SCons-4.5.2 Introdução ao SCons "SCons" é uma ferramenta para construir logiciário (e outros arquivos) implementada em "Python". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4793]https://downloads.sourceforge.net/scons/SCons-4.5.2.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 4b868f068d568b42b975d7cb357c65d6 * Tamanho da transferência: 3,0 MB * Espaço em disco estimado exigido: 52 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do “SCons” Opcionais [4794]docbook-xsl-nons-1.79.2 e [4795]libxslt-1.1.38 Instalação do SCons Instale "SCons" executando os seguintes comandos como o(a) usuário(a) "root": sed -i 's/env python/&3/' SCons/Utilities/*.py && python3 setup.py install --prefix=/usr \ --optimize=1 && mv -v /usr/lib/python3.11/site-packages/SCons-4.5.2-py3.11.egg/*.1 \ /usr/share/man/man1 Conteúdo Aplicativos Instalados: scons, scons-configure-cache e sconsign Bibliotecas Instaladas: Nenhum(a) Diretório Instalado: /usr/lib/python3.11/site-packages/SCons Descrições Curtas scons é uma ferramenta de construção de logiciário scons-configure-cache mostra ou converte a configuração de um diretório de cache do "SCons" sconsign imprime informações do arquivo .sconsign do SCons slang-2.3.3 Introdução ao slang "S-Lang" ("slang") é uma linguagem interpretada que pode ser incorporada em um aplicativo para torná-lo extensível. Ela fornece recursos exigidos por aplicativos interativos, como gerenciamento de exibição/tela, entrada de teclado e mapas de teclado. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4796]https://www.jedsoft.org/releases/slang/slang-2.3.3.tar.bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: 69015c8300088373eb65ffcc6ed4db8c * Tamanho da transferência: 1,6 MB * Espaço em disco estimado exigido: 22 MB (adicionar 15 MB para os testes) * Tempo de construção estimado: 0,4 UPC (adicionar 0,5 UPC para os testes) Dependências do “Slang” Opcionais [4797]libpng-1.6.40, [4798]PCRE-8.45 e [4799]Oniguruma Instalação do Slang Nota Esse pacote não suporta construção paralela. Instale "slang" executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc \ --with-readline=gnu && make -j1 Para testar os resultados, emita: "make check". Agora, como o(a) usuário(a) "root": make install_doc_dir=/usr/share/doc/slang-2.3.3 \ SLSH_DOC_DIR=/usr/share/doc/slang-2.3.3/slsh \ install Explicações do Comando --with-readline=gnu: Esse parâmetro configura o "Readline" do "GNU" para ser usado pela interface do analisador em vez da versão interna do "slang". make install_doc_dir=/usr/share/doc/slang-2.3.3 SLSH_DOC_DIR=/usr/share/doc/slang-2.3.3/slsh install: Esse comando instala esse pacote com um diretório versionado de instalação da documentação. Configurando slang Arquivos de Configuração ~/.slshrc e /etc/slsh.rc Conteúdo Aplicativo Instalado: slsh Bibliotecas Instaladas: "libslang.so" e numerosos módulos de suporte Diretórios Instalados: /usr/lib/slang, /usr/share/doc/slang-2.3.3 e /usr/share/slsh Descrições Curtas slsh é um aplicativo simples para interpretar "scripts" "slang". Ele suporta carregamento dinâmico de módulos "slang" e inclui uma interface "Readline" para uso interativo Subversion-1.14.2 Introdução ao Subversion "Subversion" é um sistema de controle de versão que foi projetado para ser um substituto atraente para o "CVS" na comunidade de fonte aberto. Ele amplia e aprimora o conjunto de recursos do "CVS", enquanto mantém uma interface semelhante para aqueles(as) já familiarizados(as) com o "CVS". Estas instruções instalam o logiciário cliente e servidor usado para manipular um repositório "Subversion". A criação de um repositório é abordada em [4800]Executando um Servidor "Subversion". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4801]https://archive.apache.org/dist/subversion/subversion-1.14.2. tar.bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: 9927b167d1c67d663ca63125907f6f69 * Tamanho da transferência: 8,3 MB * Espaço em disco estimado exigido: 208 MB (adicionar 228 MB para ligações, 52 MB para documentos e 1,3 GB para os testes) * Tempo de construção estimado: 0,5 UPC (Usando paralelismo=4; adicionar 1,9 UPC para ligações e 35 UPC para os testes) Dependências do “Subversion” Exigidas [4802]Apr-Util-1.6.3 e [4803]SQLite-3.42.0 Recomendadas [4804]Serf-1.3.10 (para manusear "URLs" "http://" e "https://") Opcionais [4805]Apache-2.4.57, [4806]Boost-1.83.0, [4807]Cyrus SASL-2.1.28, [4808]dbus-1.14.8, [4809]Doxygen-1.9.7 (para gerar documentação "HTML"), [4810]gnome-keyring-42.1, [4811]libsecret-0.21.0, [4812]Py3c-1.4 (para as ligações "Python" e testes), [4813]Python-2.7.18 (com suporte "sqlite" para os testes), [4814]Ruby-3.2.2, [4815]SWIG-4.1.1 (para construir ligações "Perl", "Python" e "Ruby"), [4816]LZ4 e [4817]UTF8proc Opcionais (para as ligações “Java”) Um de [4818]OpenJDK-20.0.2, [4819]Dante ou [4820]Jikes; [4821]JUnit 4 (para testar as ligações "Java") e [4822]apache-ant-1.10.14. Instalação do Subversion Primeiro, adapte alguns "scripts" "Python" para usar "python3": grep -rl '^#!.*python$' | xargs sed -i '1s/python/&3/' A seguir, adapte as ligações "Ruby" para "Ruby-3.2": sed -e 's/File.exists?/File.exist?/' \ -i subversion/bindings/swig/ruby/svn/util.rb \ subversion/bindings/swig/ruby/test/test_wc.rb Instale Subversion executando os seguintes comandos: PYTHON=python3 ./configure --prefix=/usr \ --disable-static \ --with-apache-libexecdir \ --with-lz4=internal \ --with-utf8proc=internal && make Se você tiver "[4823]Doxygen-1.9.7" instalado e desejar construir a documentação da "API", emita: doxygen doc/doxygen.conf Se você deseja construir as ligações Java, [então] passe o parâmetro "--enable-javahl" para o comando "configure". Além disso, se desejar executar a suíte de teste "Java", [então] você tem de especificar o local do arquivo "JUnit" adicionando "--with-junit=" (por exemplo "--with-junit=/usr/local/java/lib/junit-4.13.jar") para o "configure". O arquivo "jar" do "JUnit" não mais está incluído em "[4824]apache-ant-1.10.14" e precisa ser baixado separadamente. Para construir as ligações "Java", emita o seguinte comando: make -j1 javahl Se tu desejar compilar ligações "Perl", "Python" ou "Ruby", [então] emita algum dos seguintes comandos: make swig-pl # para Perl make swig-py \ swig_pydir=/usr/lib/python3.11/site-packages/libsvn \ swig_pydir_extra=/usr/lib/python3.11/site-packages/svn # para Python make swig-rb # para Ruby Para testar os resultados, emita: "make check". Quatro testes nas suítes "commit_tests.py", "prop_tests.py" e "update_tests.py" são conhecidos por falharem. Para testar os resultados de quaisquer das ligações "SWIG", você pode usar algum dos seguintes comandos: "make check-swig-pl", "make check-swig-py" ou "make check-swig-rb". Agora, como o(a) usuário(a) root: make install && install -v -m755 -d /usr/share/doc/subversion-1.14.2 && cp -v -R doc/* /usr/share/doc/subversion-1.14.2 Se você construiu as ligações "Java", [então] emita o seguinte comando como o(a) usuário(a) "root" para instalá-las: make install-javahl Se você construiu as ligações "Perl", "Python" ou "Ruby", [então] emita algum dos seguintes comandos como o(a) usuário(a) "root" para instalá-las: make install-swig-pl make install-swig-py \ swig_pydir=/usr/lib/python3.11/site-packages/libsvn \ swig_pydir_extra=/usr/lib/python3.11/site-packages/svn make install-swig-rb As ligações "Java" precisam ser instaladas para a finalidade de que os testes executem, pois os testes tentam procurá-las em "CLASSPATH". Para testar os resultados da construção de ligações "Java", emita "LANG=C make check-javahl". Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --with-apache-libexecdir: Se o "[4825]Apache-2.4.57" estiver instalado, [então] os módulos compartilhados do "Apache" serão construídos. Essa chave permite ter esses módulos instalados no diretório configurado de módulo do "Apache" em vez do "/usr/libexec". Ela não tem efeito se o "Apache" não estiver instalado. --with-lz4=internal, --with-utf8proc=internal: Remova essas chaves se você tiver instalado as dependências opcionais. --enable-javahl: habilita a compilação de ligações de alto nível "Java". Executar "make javahl" é necessário para fazer a compilação. --with-junit=: dá o local do "jar" do "JUnit"; caso contrário, os testes "javahl" não poderão ser executados. --disable-gmock: Não use a estrutura de testes "Googlemock". Configurando o Subversion Arquivos de Configuração ~/.subversion/config e /etc/subversion/config Informação de Configuração /etc/subversion/config é o arquivo de configuração do "Subversion" abrangente ao sistema. Esse arquivo é usado para especificar padrões para diferentes comandos "svn". ~/.subversion/config é o arquivo de configuração pessoal do(a) usuário(a). Ele é usado para substituir os padrões de todo o sistema configurados em "/etc/subversion/config". Conteúdo Aplicativos Instalados: svn, svnadmin, svnbench, svndumpfilter, svnfsfs, svnlook, svnmucc, svnrdump, svnserve, svnsync e svnversion Bibliotecas Instaladas: "libsvn_*-1.so" e, opcionalmente, uma biblioteca "Java"; os módulos "DSO" "mod_dav_svn.so" e "mod_authz_svn.so" do "Apache HTTP" e vários módulos "Perl", "Python" e "Ruby". Diretórios Instalados: /usr/include/subversion-1, /usr/lib/perl5/site_perl/5.38/{,auto/}SVN, /usr/lib/python3.11/site-packages/{libsvn,svn}, /usr/lib/ruby/site_ruby//{,-linux/}svn, /usr/lib/svn-javahl e /usr/share/doc/subversion-1.14.2 Descrições Curtas svn é um aplicativo cliente de linha de comando usado para acessar repositórios do "Subversion" svnadmin é uma ferramenta para criar, ajustar ou reparar um repositório "Subversion" svnbench é uma ferramenta de avaliação comparativa svndumpfilter é um aplicativo para filtrar fluxos de formato de arquivo de despejo do repositório "Subversion" svnfsfs é a ferramenta de manipulação de repositório "FSFS" ("FileSystem sobre o FileSystem" - implementação do sistema de arquivos do "Subversion") svnlook é uma ferramenta para inspecionar um repositório "Subversion" svnmucc é um cliente de comando de múltiplas "URLs" para o "Subversion" svnrdump é uma ferramenta para despejar ou carregar um repositório remoto do "Subversion" svnserve é um aplicativo servidor independente personalizado, capaz de executar como um processo de segundo plano ou invocado por "SSH" svnsync é uma ferramenta de sincronização de repositório "Subversion" svnversion é usado para informar o número da versão e o estado de uma cópia funcional do repositório "Subversion" libsvn_*-1.so são as bibliotecas de suporte usadas pelos aplicativos do "Subversion" mod_authz_svn.so é um módulo "plug-in" para o servidor "HTTP" "Apache", usado para autenticar usuários(as) em um repositório "Subversion" por intermédio da Internet ou na intranet mod_dav_svn.so é um módulo "plug-in" para o servidor "HTTP" "Apache", usado para disponibilizar um repositório "Subversion" para outros(as) por intermédio da Internet ou de uma intranet Executando um Servidor "Subversion" Executando um Servidor "Subversion" Esta seção descreverá como configurar, administrar e proteger um servidor "Subversion". Dependências do Servidor "Subversion" Exigidas [4826]Subversion-1.14.2 e [4827]OpenSSH-9.4p1 Configurando um Servidor Subversion. As seguintes instruções instalarão um servidor "Subversion", que será configurado para usar "OpenSSH" como o método de acesso remoto seguro, com "svnserve" disponível para acesso anônimo. A configuração do servidor "Subversion" consiste nas seguintes etapas: 1. Configurar Usuários(as), Grupos e Permissões Você precisará ser o(a) usuário(a) "root" para a parte inicial da configuração. Crie o(a) usuário(a) e grupo "svn" com os seguintes comandos: groupadd -g 56 svn && useradd -c "Proprietário(a) do SVN" -d /home/svn -m -g svn -s /bin/false -u 56 s vn Se você planeja ter vários repositórios, [então] deveria ter um grupo dedicado para cada repositório para facilitar a administração. Crie o grupo "svntest" para o repositório de teste e adicione o(a) usuário(a) "svn" a esse grupo com os seguintes comandos: groupadd -g 57 svntest && usermod -G svntest -a svn Além disso, você deveria configurar "umask 002" enquanto trabalha com um repositório, de forma que todos os novos arquivos sejam escrevíveis pelo(a) proprietário(a) e pelo grupo. Isso é tornado obrigatório criando-se um "script" envólucro para "svn" e "svnserve": mv /usr/bin/svn /usr/bin/svn.orig && mv /usr/bin/svnserve /usr/bin/svnserve.orig && cat >> /usr/bin/svn << "EOF" #!/bin/sh umask 002 /usr/bin/svn.orig "$@" EOF cat >> /usr/bin/svnserve << "EOF" #!/bin/sh umask 002 /usr/bin/svnserve.orig "$@" EOF chmod 0755 /usr/bin/svn{,serve} Nota Se usar o "Apache" para trabalhar com o repositório via "HTTP", mesmo para acesso anônimo, [então] você deveria agrupar "/usr/sbin/httpd" em um "script" semelhante. 2. Criar um repositório “Subversion”. Existem várias maneiras de configurar um repositório "Subversion". Recomenda-se dar uma olhada no capítulo correspondente do [4828]Livro SVN. Um repositório básico pode ser configurado com as instruções abaixo. Crie um novo repositório "Subversion" com os seguintes comandos (como o(a) usuário(a) "root"): install -v -m 0755 -d /srv/svn && install -v -m 0755 -o svn -g svn -d /srv/svn/repositories && svnadmin create /srv/svn/repositories/svntest Agora que o repositório foi criado, ele deveria ser povoado com algo útil. Você precisará ter um esquema predefinido de diretório configurado exatamente como deseja que seu repositório aparente. Por exemplo, aqui está um exemplo de configuração de esquema do BLFS com uma raiz de "svntest/". Você precisará configurar uma árvore de diretórios semelhante à seguinte: svntest/ # O nome do repositório trunk/ # Contém a árvore existente de fonte BOOK/ bootscripts/ edguide/ patches/ scripts/ branches/ # Necessário para ramificações adicionais tags/ # Necessário para rotular pontos de lançamento Depois que tiver criado teu esquema do diretório conforme mostrado acima, você estará pronto(a) para fazer a importação inicial: svn import -m "Importação inicial." \ \ file:///srv/svn/repositories/svntest Agora mude as informações do(a) proprietário(a) e do grupo no repositório e adicione um(a) usuário(a) sem privilégios aos grupos "svn" e "svntest": chown -R svn:svntest /srv/svn/repositories/svntest && chmod -R g+w /srv/svn/repositories/svntest && chmod g+s /srv/svn/repositories/svntest/db && usermod -G svn,svntest -a "svntest" é o grupo atribuído ao repositório "svntest". Conforme mencionado anteriormente, isso facilita a administração de repositórios múltiplos ao usar "OpenSSH" para autenticação. A partir de agora, você precisará adicionar teu(ua) usuário(a) sem privilégios, e quaisquer usuários(as) adicionais que desejar ter acesso de escrita ao repositório, aos grupos "svn" e "svntest". Além disso, você notará que o diretório "db" do novo repositório está configurado o "ID" de grupo. Se o raciocínio não for imediatamente óbvio, [então] ao usar qualquer método externo de autenticação (como "ssh"), o bit "sticky" é configurado, de forma que todos os novos arquivos sejam de propriedade do(a) usuário(a), mas do grupo de "svntest". Qualquer um(a) no grupo "svntest" consegue criar arquivos, mas, ainda assim, conceder ao grupo inteiro acesso de escrita a esses arquivos. Isso evita bloquear outros(as) usuários(as) fora do repositório. Agora, retorne para uma conta de usuário(a) sem privilégios e dê uma olhada no novo repositório usando "svnlook": svnlook tree /srv/svn/repositories/svntest/ Nota Você possivelmente precise sair e entrar novamente para atualizar tuas titularidades de membros(as) de grupo. "su " também deveria funcionar. 3. Configurar o Servidor Como mencionado anteriormente, estas instruções configurarão o servidor para usar somente "ssh" para acesso de escrita ao repositório e para fornecer acesso anônimo usando "svnserve". Existem várias outras maneiras de fornecer acesso ao repositório. Essas configurações adicionais estão melhor explicadas em [4829]https://svnbook.red-bean.com/. A configuração de acesso precisa ser feita para cada repositório. Crie o arquivo "svnserve.conf" para o repositório "svntest" usando os seguintes comandos: cp /srv/svn/repositories/svntest/conf/svnserve.conf \ /srv/svn/repositories/svntest/conf/svnserve.conf.default && cat > /srv/svn/repositories/svntest/conf/svnserve.conf << "EOF" [general] anon-access = read auth-access = write EOF Não há muito no arquivo de configuração. Você notará que somente a seção geral é exigida. Dê uma olhada no arquivo "svnserve.conf.default" para informações relativas a usar o método de autenticação integrado do "svnserve". 4. Iniciar o Servidor Para iniciar o servidor durante a inicialização, instale a unidade "svnserve.service" a partir do pacote "[4830]blfs-systemd-units-20230816": make install-svnserve Além disso, as instruções acima exigem que o servidor "svn" use "umask 002", de forma que todos os novos arquivos serão escrevíveis pelo(a) proprietário(a) e pelo grupo. Isso pode ser conseguido criando-se um arquivo de unidade "systemd" de substituição executando-se o seguinte comando: mkdir -p /etc/systemd/system/svnserve.service.d echo "UMask=0002" > /etc/systemd/system/svnserve.service.d/99-user.conf As opções que são passadas para o processo de segundo plano "svnserve" podem ser mudadas em "/etc/default/svnserve". SWIG-4.1.1 Introdução ao SWIG SWIG ("Simplified Wrapper and Interface Generator") é um compilador que integra "C" e "C++" com linguagens que incluem "Perl", "Python", "Tcl", "Ruby", "PHP", "Java", "C#", "D", "Go", "Lua", "Octave", "R", "Scheme" e "Ocaml". "SWIG" também consegue exportar a árvore analisadora dele para "s-expressions" do "Lisp" e "XML". "SWIG" lê arquivos anotados de cabeçalho "C/C++" e cria código envólucro (código de cola) para a finalidade de tornar disponíveis as bibliotecas "C/C++" correspondentes para as linguagens listadas ou para estender aplicativos "C/C++" com uma linguagem de "script". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4831]https://downloads.sourceforge.net/swig/swig-4.1.1.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: c7d55a1bca26752f3846c85b43c1a69c * Tamanho da transferência: 8,2 MB * Espaço em disco estimado exigido: 82 MB (2,1 GB com os testes) * Tempo de construção estimado: 0,1 UPC (adicionar 7,8 UPC para os testes; ambos usando paralelismo=4) Dependências do "SWIG" Exigidas [4832]pcre2-10.42 Opcionais "[4833]Boost-1.83.0" para testes e quaisquer das linguagens mencionadas na introdução, como dependências de tempo de execução Instalação do SWIG Instale "SWIG" executando os seguintes comandos: ./configure --prefix=/usr \ --without-javascript \ --without-maximum-compile-warnings && make Para testar os resultados, emita: "PY3=1 make -k check TCL_INCLUDE=". A desabilitação da variável "TCL_INCLUDE" é necessária pois ela não é configurada corretamente pelo "configure". Os testes são executados somente para as linguagens instaladas em sua máquina, de forma que o espaço em disco e os valores de UPC fornecidos para os testes possivelmente variem e deveriam ser considerados como meras ordens de grandeza. De acordo com a documentação do "SWIG", a falha em alguns testes não deveria ser considerada prejudicial. Os testes "go" são defeituosos e possivelmente gerem um monte de saída sem significado. Agora, como o(a) usuário(a) "root": make install && install -v -m755 -d /usr/share/doc/swig-4.1.1 && cp -v -R Doc/* /usr/share/doc/swig-4.1.1 Explicações do Comando --without-maximum-compile-warnings: desabilita o compelimento de conformidade "ANSI" do compilador, o que deflagra erros nos cabeçalhos "Lua" (começando com "Lua" 5.3). --without-: permite desabilitar a construção de testes e exemplos para , mas todas as capacidades de linguagens do "SWIG" são sempre construídas. Conteúdo Aplicativos Instalados: swig e ccache-swig Biblioteca Instalada: Nenhum(a) Diretórios Instalados: /usr/share/doc/swig-4.1.1 e /usr/share/swig Descrições Curtas swig pega um arquivo de interface contendo declarações "C"/"C++" e instruções especiais "SWIG" e gera o código envólucro correspondente necessário para construir módulos de extensão ccache-swig é um cache do compilador, que acelera a recompilação de código "C"/"C++"/"SWIG" Sysprof-3.48.0 Introdução ao Sysprof O pacote "sysprof" contém um perfilador estatístico e abrangente a todo o sistema para "Linux". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4834]https://download.gnome.org/sources/sysprof/3.48/sysprof-3.48. 0.tar.xz * Transferência (FTP): [4835]ftp://ftp.acc.umu.se/pub/gnome/sources/sysprof/3.48/sysprof-3 .48.0.tar.xz * Soma de verificação MD5 da transferência: ee1556063c7b8d9abd414f451b04c33a * Tamanho da transferência: 524 KB * Espaço em disco estimado exigido: 27 MB * Tempo de construção estimado: 0,1 UPC (usando paralelismo = 4) Dependências do "Sysprof" Exigidas [4836]desktop-file-utils-0.26, [4837]GTK-4.12.0, [4838]itstool-2.0.7, [4839]JSON-GLib-1.6.6, [4840]libadwaita-1.3.4, [4841]libdazzle-3.44.0, [4842]libunwind-1.6.2 e, [4843]Polkit-123 Instalação do Sysprof Instale "Sysprof" executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Para testar os resultados, emita: "ninja test". Agora, como o(a) usuário(a) "root": ninja install Conteúdo Aplicativos Instalados: sysprof, sysprof-agent e sysprof-cli Bibliotecas Instaladas: libsysprof-4.so, libsysprof-capture-4.a, libsysprof-memory-4.so, libsysprof-speedtrack-4.so e libsysprof-ui-5.so Diretórios Instalados: /usr/include/sysprof-4, /usr/include/sysprof-ui-5 e /usr/share/help/*/sysprof Descrições Curtas sysprof é uma interface gráfica para "sysprof" sysprof-agent é usado para perfilar aplicativos em contêineres sysprof-cli é uma interface de linha de comando para "sysprof" libsysprof-4.so fornece funções de "API" para perfilamento de processos executando em um sistema libsysprof-capture-4.a fornece um gancho usado para capturar estatísticas a partir de um processo libsysprof-memory-4.so fornece funções de "API" para capturar estatísticas de memória libsysprof-speedtrack-4.so fornece funções de "API" para rastrear a velocidade de um processo em execução libsysprof-ui-4.so fornece funções de "API" para a "GUI" do "sysprof" Tk-8.6.13 Introdução ao Tk O pacote "Tk" contém um kit de ferramentas "GUI" "TCL". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4844]https://downloads.sourceforge.net/tcl/tk8.6.13-src.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 95adc33d55a133ee29bc9f81efdf31b2 * Tamanho da transferência: 4,3 MB * Espaço em disco estimado exigido: 25 MB * Tempo de construção estimado: 0,3 UPC (adicionar 2,0 UPC para os testes) Dependências do "Tk" Exigidas [4845]Bibliotecas do Xorg Instalação do Tk Instale "Tk" executando os seguintes comandos: cd unix && ./configure --prefix=/usr \ --mandir=/usr/share/man \ $([ $(uname -m) = x86_64 ] && echo --enable-64bit) && make && sed -e "s@^\(TK_SRC_DIR='\).*@\1/usr/include'@" \ -e "/TK_B/s@='\(-L\)\?.*unix@='\1/usr/lib@" \ -i tkConfig.sh Executar os testes não é recomendado. Falhas serão informadas durante os testes, dependendo da resolução/capacidades da tela, fontes instaladas e outros parâmetros relacionados ao "X", mas o informe final pode mostrar zero (0) falhas. Alguns testes roubarão o foco e alguns poderão travar seu servidor "X". Para testar os resultados de qualquer maneira, emita: "make test". Certifique-se de executá-lo a partir de um dispositivo de exibição do "X Window" com as extensões "GLX" carregadas, mas mesmo assim, os testes podem travar. Agora, como o(a) usuário(a) "root": make install && make install-private-headers && ln -v -sf wish8.6 /usr/bin/wish && chmod -v 755 /usr/lib/libtk8.6.so Explicações do Comando $([ $(uname -m) = x86_64 ] && echo --enable-64bit): Essa chave é usada para habilitar o suporte de 64 bits no "Tk" em sistemas operacionais de 64 bits. make install-private-headers: Esse comando é usado para instalar os cabeçalhos de interface da biblioteca "Tk" usados por outros pacotes se eles se vincularem à biblioteca "Tk". ln -v -sf wish8.6 /usr/bin/wish: Esse comando é usado para criar um link simbólico de compatibilidade para o arquivo "wish8.6" já que muitos pacotes esperam um arquivo chamado "wish". sed -e ... tkConfig.sh: O pacote "Tk" espera que a árvore fonte dele seja preservada, de forma que os pacotes que dependem dele para compilação possam utilizá-la. Esse "sed" remove as referências ao diretório de construção e as substitui por locais mais saudáveis abrangentes a todo o sistema. Conteúdo Aplicativos Instalados: wish e wish8.6 Bibliotecas Instaladas: libtk8.6.so e libtkstub8.6.a Diretório Instalado: /usr/lib/tk8.6 Descrições Curtas wish é um link simbólico para o aplicativo "wish8.6" wish8.6 é um "shell" simples contendo o kit de ferramentas "Tk" que cria uma janela principal e então processa comandos "Tcl" libtk8.6.so contém as funções da "API" exigidas pelo "Tk" unifdef-2.12 Introdução ao unifdef O pacote unifdef contém um utilitário que é útil para remover do código condicionais de pré processador. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4846]https://dotat.at/prog/unifdef/unifdef-2.12.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: b225312c110cd2600ca7166bd0419751 * Tamanho da transferência: 88 KB * Espaço em disco estimado exigido: 1,9 MB * Tempo de construção estimado: menos que 0,1 UPC Instalação do unifdef Instale o unifdef executando os seguintes comandos: make Para testar os resultados, emita: make test. Agora, como o(a) usuário(a) root: make prefix=/usr install Conteúdo Aplicativos Instalados: unifdef e unifdefall Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas unifdef remove do código condicionais de pré processador unifdefall remove do código condicionais de pré processador ao longo de uma árvore inteira Vala-0.56.11 Introdução ao Vala "Vala" é uma nova linguagem de programação que visa a trazer recursos modernos de linguagem de programação para desenvolvedores(as) "GNOME" sem impor quaisquer requisitos adicionais de tempo de execução e sem usar uma "ABI" diferente em comparação com aplicativos e bibliotecas escritos em "C". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4847]https://download.gnome.org/sources/vala/0.56/vala-0.56.11.tar .xz * Transferência (FTP): [4848]ftp://ftp.acc.umu.se/pub/gnome/sources/vala/0.56/vala-0.56.11 .tar.xz * Soma de verificação MD5 da transferência: 7b4481fb52bbf73fcfedacbdab616eeb * Tamanho da transferência: 3,8 MB * Espaço em disco estimado exigido: 143 MB (adicionar 19 MB para testes) * Tempo de construção estimado: 0,4 UPC (adicionar 0,7 UPC para testes; ambos usando paralelismo=4) Dependências do “Vala” Exigidas [4849]GLib-2.76.4 Recomendadas [4850]Graphviz-8.1.0 (exigido para "valadoc") Opcionais [4851]dbus-1.14.8 (exigido para os testes), [4852]libxslt-1.1.38 (exigido para gerar a documentação), [4853]help2man, [4854]jing e [4855]weasyprint Instalação do Vala Instale Vala executando os seguintes comandos: ./configure --prefix=/usr && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) "root": make install Explicações do Comando --disable-valadoc: Essa opção é exigida se "[4856]Graphviz-8.1.0" não estiver instalado. Conteúdo Aplicativos Instalados: vala, vala-0.56, valac, valadoc, vala-gen-introspect e vapigen (links simbólicos); valac-0.56, valadoc-0.56, vala-gen-introspect-0.56 e vapigen-0.56 Biblioteca Instalada: libvala-0.56.so e libvaladoc-0.56.so Diretórios Instalados: /usr/include/vala-0.56, /usr/include/valadoc-0.56, /usr/lib/vala-0.56, /usr/lib/valadoc-0.56, /usr/share/vala, /usr/share/vala-0.56, /usr/share/valadoc-0.56 e /usr/share/devhelp/books/vala-0.56 Descrições Curtas valac é um compilador que traduz o código-fonte "Vala" em arquivos fonte e de cabeçalho "C" valadoc é um gerador de documentação para gerar documentação de "API" a partir do código-fonte "Vala" baseado na "libvala" vala-gen-introspect gera um arquivo "GI" para pacotes baseados em "GObject" e "GLib" vapigen é um utilitário que gera arquivos "API" "Vala" ("VAPI") a partir de arquivos "GI" libvala-0.56.so contém as funções da "API" "Vala" Valgrind-3.21.0 Introdução ao Valgrind "Valgrind" é uma estrutura de instrumentação para construir ferramentas dinâmicas de análise. Existem ferramentas "Valgrind" que conseguem detectar automaticamente muitos defeitos de gerenciamento de memória e de camadas e perfilar aplicativos em detalhes. "Valgrind" também pode ser usado para construir novas ferramentas. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4857]https://sourceware.org/pub/valgrind/valgrind-3.21.0.tar.bz2 * Transferência (FTP): [4858]ftp://sourceware.org/pub/valgrind/valgrind-3.21.0.tar.bz2 * Soma de verificação MD5 da transferência: b8b89b327732c12191306c3d31cfd4b1 * Tamanho da transferência: 17 MB * Espaço em disco estimado exigido: 388 MB (adicionar 66 MB para testes) * Tempo de construção estimado: 0,5 UPC (Usando paralelismo=4; adicionar 8,4 UPC para testes) Dependências do "Valgrind" Opcionais [4859]GDB-13.2 (para os testes), [4860]LLVM-16.0.5 (com "Clang") e [4861]Which-2.21 (para os testes) Instalação do Valgrind Instale "Valgrind" executando os seguintes comandos: sed -i 's|/doc/valgrind||' docs/Makefile.in && ./configure --prefix=/usr \ --datadir=/usr/share/doc/valgrind-3.21.0 && make Para testar os resultados, emita: "make regtest". Os testes possivelmente travem para sempre se "[4862]GDB-13.2" não estiver instalado. Alguns testes também são conhecidos por travarem, dependendo da versão da "glibc". Alguns testes podem falhar em várias suítes. Testes problemáticos podem ser desabilitados mudando-se a linha "prereq:" no arquivo ".vgtest" correspondente para "prereq: false". Por exemplo: sed -e 's@prereq:.*@prereq: false@' \ -i {helgrind,drd}/tests/pth_cond_destroy_busy.vgtest Nota Os testes "OpenMP" serão pulados se a "libgomp" tiver sido compilada com "--enable-linux-futex" (o padrão). Se necessário, apenas recompile a biblioteca "libgomp" originária da árvore de construção do "gcc", passando "--disable-linux-futex" para configurar, armazenando a biblioteca em algum lugar e mudando o link de "/usr/lib/libgomp.so.1" para apontar para a nova biblioteca. Agora, como o(a) usuário(a) "root": make install Explicações do Comando sed -i ... docs/Makefile.in : Esse "sed" fornece a instalação da documentação em um diretório versionado. --enable-lto=yes: Essa opção permite construir "Valgrind" com "Link Time Optimization" ("LTO"). Isso produz um "Valgrind" menor/mais rápido (até 10%), mas o tempo de construção aumenta para cerca de 5,5 UPC. Conteúdo Aplicativos Instalados: callgrind_annotate, callgrind_control, cg_annotate, cg_diff, cg_merge, ms_print, valgrind, valgrind-di-server, valgrind-listener e vgdb Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/valgrind, /usr/libexec/valgrind, /usr/include/valgrind e /usr/share/doc/valgrind-3.21.0 Descrições Curtas valgrind é um aplicativo para depuração e perfilamento de executáveis "Linux" callgrind_annotate pega um arquivo de saída produzido pela ferramenta "Callgrind" do "Valgrind" e imprime as informações em um formato de fácil leitura callgrind_control controla aplicativos sendo executados pela ferramenta "Callgrind" do "Valgrind" cg_annotate é uma ferramenta de pós-processamento para a ferramenta "Cachegrind" do "Valgrind" cg_diff compara dois arquivos de saída gerada do "Cachegrind" cg_merge mescla vários arquivos de saída gerada do "Cachegrind" em um ms_print pega um arquivo de saída produzido pela ferramenta "Massif" do "Valgrind" e imprime as informações em um formato de fácil leitura valgrind-di-server é um servidor que lê informações de depuração oriundas de objetos armazenados em uma máquina diferente valgrind-listener escuta em um soquete os comentários do "Valgrind" vgdb é um intermediário entre "Valgrind" e "GDB" ou um "shell" yasm-1.3.0 Introdução ao yasm "Yasm" é uma reescrita completa do montador "[4863]NASM-2.16.01". Ele suporta conjuntos de instruções "x86" e "AMD64", aceita sintaxes de montador "NASM" e "GAS" e gera formatos de objetos binário, "ELF32" e "ELF64". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4864]https://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar .gz * Transferência (FTP): * Soma de verificação MD5 da transferência: fc9e586751ff789b34b1f21d572d96af * Tamanho da transferência: 1,5 MB * Espaço em disco estimado exigido: 27 MB (12 MB adicionais para os testes) * Tempo de construção estimado: 0,1 UPC (0,1 UPC adicionais para os testes) Dependências do “yasm” Opcionais [4865]Python-2.7.18 e [4866]cython-0.29.36 Instalação do yasm Instale "yasm" executando os seguintes comandos: sed -i 's#) ytasm.*#)#' Makefile.in && ./configure --prefix=/usr && make Para testar os resultados, emita: make -j1 check. Agora, como o(a) usuário(a) "root": make install Explicações do Comando sed -i 's#) ytasm.*#)#' Makefile.in: Esse "sed" impede a compilação de dois aplicativos ("vsyasm" e "ytasm") que são de uso somente no "Microsoft Windows". Conteúdo Aplicativo Instalado: yasm Biblioteca Instalada: libyasm.a Diretório Instalado: /usr/include/libyasm Descrições Curtas yasm é um montador portável e redirecionável que suporta os conjuntos de instruções "x86" e "AMD64", aceita sintaxes de montador "NASM" e "GAS" e gera binários nos formatos de objeto "ELF32" e "ELF64" libyasm.a fornece todas as funcionalidades centrais do "yasm", para manipular instruções de máquina e construções de arquivos de objetos Java Java-20.0.2 Acerca do Java Java é diferente da maioria dos pacotes do LFS e BLFS. É uma linguagem de programação que trabalha com arquivos de códigos de byte para obter instruções e executá-las em uma "Java Virtual Machine" ("JVM"). Um aplicativo introdutório Java se parece com: public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World"); } } Esse aplicativo é salvo como "HelloWorld.java". O nome do arquivo, "HelloWorld", precisa corresponder ao nome da classe. Em seguida, ele é convertido em código de bytes com "javac HelloWorld.java". O arquivo de saída gerada é "HelloWorld.class". O aplicativo é executado com "java HelloWorld". Isso cria uma "JVM" e executa o código. A extensão 'class' precisa não ser especificada. Vários arquivos de classe podem ser combinados em um arquivo com o comando "jar". Isso é semelhante ao comando "tar" padrão. Por exemplo, o comando "jar cf myjar.jar *.class" combinará todos os arquivos de classe em um diretório em um arquivo" jar". Eles atuam como arquivos de biblioteca. A "JVM" consegue procurar e usar classes em arquivos "jar" automaticamente. Ela usa a variável de ambiente "CLASSPATH" para procurar arquivos "jar". Essa é uma lista padrão de nomes de diretórios separados por dois pontos, semelhante à variável de ambiente "PATH". Informações do Binário JDK Criar uma "JVM" a partir do fonte exige um conjunto de dependências circulares. A primeira coisa que é necessária é um conjunto de aplicativos chamado "Java Development Kit" ("JDK"). Esse conjunto de aplicativos inclui "java", "javac", "jar" e vários outros. Ele também inclui vários arquivos "jar" básicos. Para começar, configuramos uma instalação binária do "JDK" criada pelos(as) editores(as) do BLFS. Ela é instalada no diretório "/opt" para permitir múltiplas instalações, incluindo uma versão baseada no fonte. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informações do Pacote Binário * Transferência do binário (x86): [4867]https://anduin.linuxfromscratch.org/BLFS/OpenJDK/OpenJDK-20.0 .2/OpenJDK-20.0.2+9-i686-bin.tar.xz * Soma de verificação MD5 da transferência: 53d3b9789a3d14a66d7f272d7ccb509a * Tamanho da transferência (binário): 158 MB * Espaço em disco estimado exigido: 307 MB * Transferência do binário (x86_64): [4868]https://anduin.linuxfromscratch.org/BLFS/OpenJDK/OpenJDK-20.0 .2/OpenJDK-20.0.2+9-x86_64-bin.tar.xz * Soma de verificação MD5 da transferência: 13d1157ccb01def49e8d84fa4aa77454 * Tamanho da transferência (binário): 164 MB * Espaço em disco estimado exigido: 334 MB Dependências de Tempo de Execução do Binário "Java" [4869]alsa-lib-1.2.9, [4870]Cups-2.4.6, [4871]giflib-5.2.1 e [4872]Bibliotecas do Xorg Instalação do JDK do Binário Java Comece extraindo o "tarball" binário apropriado para tua arquitetura e mudando para o diretório extraído. Instale o binário "OpenJDK" com os seguintes comandos como o(a) usuário(a) "root": install -vdm755 /opt/OpenJDK-20.0.2-bin && mv -v * /opt/OpenJDK-20.0.2-bin && chown -R root:root /opt/OpenJDK-20.0.2-bin A versão binária agora está instalada. Você pode criar um link simbólico para essa versão emitindo, como o(a) usuário(a) "root": ln -sfn OpenJDK-20.0.2-bin /opt/jdk Agora você pode prosseguir para "[4873]Configurando o ambiente JAVA", onde as instruções assumem que o link acima existe. OpenJDK-20.0.2 Introdução ao OpenJDK "OpenJDK" é uma implementação de código aberto da plataforma "Java Standard Edition" da "Oracle". "OpenJDK" é útil para desenvolver aplicativos "Java" e fornece um ambiente de tempo de execução completo para executar aplicativos "Java". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. "OpenJDK" é código "GPL", com uma exceção especial feita para projetos não-livres para usar essas classes nos produtos proprietários deles. De forma semelhante à "LGPL", que permite que aplicativos não-livres se vinculem a bibliotecas fornecidas por logiciário livre, a [4874]Licença Pública Geral GNU, versão 2, com a exceção Classpath permite que aplicativos de terceiros usem classes fornecidas por logiciário livre sem a exigência de que o logiciário de terceiros também seja livre. Tal como acontece com a "LGPL", quaisquer modificações feitas nas partes de logiciário livre de um aplicativo de terceiros também precisam ser disponibilizadas livremente. Nota O fonte do "OpenJDK" inclui uma suíte de teste de código aberto muito completa usando o equipamento de teste "JTreg". As instruções de teste abaixo permitem testar o "JDK" recém-construído para compatibilidade razoável com o "JDK" proprietário da "Oracle". No entanto, para a finalidade de que uma implementação independente alegue compatibilidade, ela precisa passar por uma suíte proprietária de teste "JCK/TCK". Nenhuma alegação de compatibilidade, ou mesmo compatibilidade parcial, pode ser feita sem passar por uma suíte de teste aprovada. A "Oracle" fornece acesso gratuito à comunidade, caso a caso, a um kit de ferramentas fechado para garantir 100% de compatibilidade com o "JDK" proprietário dela. Nem a versão binária fornecida na página [4875]Java-20.0.2 nem a "JVM" construída com as instruções abaixo foram testadas contra o [4876]TCK. Qualquer versão que seja construída usando as instruções fornecidas não pode alegar ser compatível com o "JDK" proprietário, sem que o(a) próprio(a) usuário(a) solicite e complete os testes de compatibilidade. Com isso em mente, os binários produzidos usando este método de construção são testados regularmente em relação ao "TCK" pelos membros listados no sítio acima. Além da licença comunitária acima, uma licença educacional e não comercial para o "TCK" pode ser obtida [4877]aqui. Informação do Pacote * Transferência (HTTP): [4878]https://github.com/openjdk/jdk20u/archive/jdk-20.0.2-ga.tar.g z * Soma de verificação MD5 da transferência: 0a6c990bd0a4eee6eee06e89b74cde19 * Tamanho da Transferência: 105 MB * Espaço em disco estimado exigido: 3,6 GB (adicionar 800 MB para testes) * Tempo de construção estimado: 4,8 UPC com quatro (04) tarefas (adicionar 36 UPC para testes com quatro (04) tarefas) Transferências Adicionais Equipamento opcional de teste * [4879]https://anduin.linuxfromscratch.org/BLFS/OpenJDK/OpenJDK-20.0 .2/jtreg-7.2+1.tar.gz * Soma de verificação MD5 da transferência: 530eb67155e0a399d1a68b2f8584613a * Tamanho da Transferência: 8,9 MB Dependências do OpenJDK Dependências Exigidas Um binário existente ([4880]Java-20.0.2 ou uma versão construída anterior desse pacote. As instruções abaixo assumem que você está usando [4881]Configurando o ambiente JAVA), [4882]alsa-lib-1.2.9, [4883]cpio-2.14, [4884]Cups-2.4.6, [4885]UnZip-6.0, [4886]Which-2.21, [4887]Bibliotecas do Xorg e [4888]Zip-3.0 Recomendadas [4889]make-ca-1.12, [4890]giflib-5.2.1, [4891]HarfBuzz-8.1.1, [4892]Little CMS-2.14, [4893]libjpeg-turbo-3.0.0, [4894]libpng-1.6.40 e [4895]Wget-1.21.4 Opcionais [4896]git-2.41.0, [4897]Graphviz-8.1.0, [4898]Mercurial-6.5.1, [4899]ccache, [4900]pandoc e [4901]pigz Instalação do OpenJDK Se você baixou o equipamento opcional de teste, desempacote-o agora: tar -xf ../jtreg-7.2+1.tar.gz Nota Antes de continuar, você deveria garantir que sua variável de ambiente "PATH" contenha o local do compilador "Java" usado para inicializar o "OpenJDK". Essa é a única exigência para o ambiente. Instalações modernas "Java" não precisam de "JAVA_HOME"; e "CLASSPATH" não é usado aqui. Além disso, os(as) desenvolvedores(as) do "OpenJDK" recomendam desconfigurar "JAVA_HOME". O sistema de construção não permite a chave "-j" em "MAKEFLAGS". Veja-se a explicação do comando para "--with-jobs=" para mais informações relativas a personalizar a paralelização. Configure e construa o pacote com os seguintes comandos: unset JAVA_HOME && bash configure --enable-unlimited-crypto \ --disable-warnings-as-errors \ --with-stdc++lib=dynamic \ --with-giflib=system \ --with-harfbuzz=system \ --with-jtreg=$PWD/jtreg \ --with-lcms=system \ --with-libjpeg=system \ --with-libpng=system \ --with-zlib=system \ --with-version-build="9" \ --with-version-pre="" \ --with-version-opt="" \ --with-cacerts-file=/etc/pki/tls/java/cacerts && make images Para testar os resultados, você precisará executar o aplicativo "jtreg". Você consegue configurar o número de testes simultâneos adicionando o valor "-conc:" no comando abaixo (caso contrário, os testes executarão sequencialmente): export JT_JAVA=$(echo $PWD/build/*/jdk) && jtreg/bin/jtreg -jdk:$JT_JAVA -automatic -ignore:quiet -v1 \ test/jdk:tier1 test/langtools:tier1 && unset JT_JAVA Para mais controle sobre a suíte de teste, revise a documentação disponível em "jtreg/doc/jtreg/usage.txt". Para revisar os resultados, vejam-se os arquivos "JTreport/test_{jdk,langtools}/text/stats.txt" e "JTreport/test_{jdk,langtools}/text/summary.txt". Você deveria esperar ver cerca de sessenta (60) falhas e dez (10) erros. Instale o pacote com os seguintes comandos como o(a) usuário(a) "root": install -vdm755 /opt/jdk-20.0.2+9 && cp -Rv build/*/images/jdk/* /opt/jdk-20.0.2+9 && chown -R root:root /opt/jdk-20.0.2+9 && for s in 16 24 32 48; do install -vDm644 src/java.desktop/unix/classes/sun/awt/X11/java-icon${s}.png \ /usr/share/icons/hicolor/${s}x${s}/apps/java.png done Nota Se desejar instalar somente o "Java Runtime Environment", [então] você pode substituir "build/*/images/jre" no comando "cp" acima. Agora existem dois "SDKs" "OpenJDK" instalados em "/opt". Você deveria decidir qual deles gostaria de usar como padrão. Normalmente, você optaria pelo recém-instalado "OpenJDK". Nesse caso, faça o seguinte como o(a) usuário(a) "root": ln -v -nsf jdk-20.0.2+9 /opt/jdk Se desejado, você pode criar arquivos ".desktop" para adicionar entradas no menu para "java" e "jconsole". Os ícones necessários já foram instalados. Como o(a) usuário(a) "root": mkdir -pv /usr/share/applications && cat > /usr/share/applications/openjdk-java.desktop << "EOF" && [Desktop Entry] Name=OpenJDK Java 20.0.2 Tempo de Execução Comment=OpenJDK Java 20.0.2 Tempo de Execução Exec=/opt/jdk/bin/java -jar Terminal=false Type=Application Icon=java MimeType=application/x-java-archive;application/java-archive;application/x-jar; NoDisplay=true EOF cat > /usr/share/applications/openjdk-jconsole.desktop << "EOF" [Desktop Entry] Name=OpenJDK Java 20.0.2 Console Comment=OpenJDK Java 20.0.2 Console Keywords=java;console;monitoramento Exec=/opt/jdk/bin/jconsole Terminal=false Type=Application Icon=java Categories=Application;System; EOF Explicações do Comando bash configure...: o "configure" do nível superior é um envólucro em torno daquele do "autotools". Ele não é executável e precisa ser executado por intermédio do "bash". --enable-unlimited-crypto: Devido às limitações no uso de criptografia em alguns países, existe a possibilidade de limitar o tamanho das chaves de encriptação e o uso de alguns algoritmos em um arquivo de política. Essa chave permite enviar um arquivo de política sem restrições. É responsabilidade do(a) usuário(a) garantir a adequada aderência à legislação. --disable-warnings-as-errors: Essa chave desabilita o uso de "-Werror" na construção. --with-stdc++lib=dynamic: Essa chave força o sistema de construção a vincular-se a "libstdc++.so" (dinâmica) em vez de "libstdc++.a" (estática). --with-jobs=: O "-j" passado para "make" não funciona com "make" como invocado aqui. Por padrão, o sistema de construção usará o número de "CPUs" – 1. --with-jtreg=$PWD/jtreg: Essa chave informa ao "configure" onde encontrar o "jtreg". Omita se você não baixou a suíte opcional de teste. --with-{giflib,harfbuzz,lcms,libjpeg,libpng,zlib}=system: Essas chaves forçam o sistema de construção a usar as bibliotecas do sistema em vez das versões incluídas. --with-version-build: Atualmente, o sistema de construção não inclui o número da construção na sequência de caracteres da versão. Ele tem que ser especificado aqui. --with-version-pre: Essa chave te permite prefixar a sequência de caracteres da versão com uma sequência personalizada de caracteres. --with-version-opt: Essa chave te permite adicionar uma descrição opcional da construção à sequência de caracteres de versão. --with-cacerts-file=/etc/pki/tls/java/cacerts: Especifica onde encontrar um arquivo "cacerts", "/etc/pki/tls/java/" em um sistema BLFS. Caso contrário, um vazio será criado. Você consegue usar o comando "/usr/sbin/make-ca --force" para gerá-lo, depois que tenha instalado os binários "Java". --with-boot-jdk: Essa chave fornece o local do "JDK" temporário. Ele normalmente não é necessário se "java" for encontrado no "PATH". Configurando o OpenJDK Informação de Configuração Normalmente, o ambiente "JAVA" é configurado depois de instalar a versão binária e também pode ser usado com o pacote recém-construído. Revise [4902]Configurando o ambiente JAVA caso você queira modificar alguma coisa. Para testar se as páginas de manual estão instaladas corretamente, emita "source /etc/profile" e "man java" para exibir a respectiva página de manual. Configurando o arquivo de Certificados de Autoridade Certificadora do “JRE” (“cacerts”) Se você executou as instruções na página "[4903]make-ca-1.12", [então] você só precisa criar um link simbólico no local padrão para o arquivo "cacerts". Como usuário(a) "root": ln -sfv /etc/pki/tls/java/cacerts /opt/jdk/lib/security/cacerts Para verificar a instalação, emita: cd /opt/jdk bin/keytool -list -cacerts No "prompt" "Enter keystore password:", digite "changeit" (o padrão) ou simplesmente pressione a tecla “Enter”. Se o arquivo "cacerts" foi instalado corretamente, [então] você verá uma lista dos certificados com informações relacionadas a cada um. Caso contrário, você precisa reinstalá-los. Conteúdo Aplicativos Instalados: jar, jarsigner, java, javac, javadoc, javap, jcmd, jconsole, jdb, jdeprscan, jdeps, jfr, jhsdb, jimage, jinfo, jlink, jmap, jmod, jpackage, jps, jrunscript, jshell, jstack, jstat, jstatd, jwebserver, keytool, rmiregistry e serialver Bibliotecas Instaladas: /opt/jdk-20.0.2/lib/* Diretório Instalado: /opt/jdk-20.0.2 Descrições Curtas jar combina múltiplos arquivos em um arquivamento "jar" jarsigner assina arquivos "jar" e verifica as assinaturas e a integridade de um arquivo "jar" assinado java inicia um aplicativo "Java" iniciando um ambiente em tempo de execução "Java", carregando uma classe especificada e invocando o método principal dela javac lê definições de classe e interface, escritas na linguagem de programação "Java", e as compila em arquivos de classe de código de bytes javadoc analisa as declarações e comentários da documentação em um conjunto de arquivos fonte "Java" e produz um conjunto correspondente de páginas "HTML" descrevendo as classes, interfaces, construtores, métodos e campos javap desmonta um arquivo de classe "Java" jcmd é um utilitário para enviar solicitações de comando de diagnóstico para uma "Java Virtual Machine" em execução jconsole é uma ferramenta gráfica de console para monitorar e gerenciar aplicativos "Java" e máquinas virtuais locais e remotas jdb é um depurador simples de linha de comando para classes "Java" jdeprscan escaneia arquivos de classe ou "jar" em busca de usos de elementos obsoletos de "API" jdeps mostra as dependências de nível de pacote ou de nível de classe de arquivos de classe "Java" jfr é uma ferramenta para trabalhar com arquivos “Flight Recorder” jhsdb é uma ferramenta para analisar o conteúdo de um despejo central originário de uma "Java Virtual Machine" ("JVM") quebrada jimage é usado para listar, extrair, verificar ou obter informações relativas a módulos no formato "jimage" jinfo imprime informações de configuração "Java" para um determinado processo "Java", arquivo central ou servidor remoto de depuração jlink é usado para montar e otimizar um conjunto de módulos e as dependências deles em uma imagem personalizada em tempo de execução jmap imprime mapas de memória de objetos compartilhados ou detalhes de memória "heap" de um determinado processo, arquivo central ou um servidor remoto de depuração jmod cria arquivos "JMOD" e lista o conteúdo dos arquivos existentes "JMOD" jpackage gera pacotes e imagens de aplicativos "Java" jps lista as "JVMs" instrumentadas no sistema alvo jrunscript é um "shell" de "script" de linha de comando jshell é uma ferramenta interativa para aprender a linguagem de programação "Java" e "prototipar" código "Java" jstack imprime rastreamentos de pilha "Java" de camadas "Java" para um determinado processo "Java", arquivo central ou um servidor remoto de depuração jstat exibe estatísticas de desempenho para uma "JVM" instrumentada jstatd é um aplicativo de servidor "RMI" que monitora a criação e o encerramento de "JVMs" instrumentadas jwebserver fornece um servidor mínimo "HTTP", projetado para ser usado para prototipagem, testagem e depuração keytool é um utilitário de gerenciamento de chaves e certificados rmiregistry cria e inicia um registro de objeto remoto na porta especificada no dispositivo atual serialver retorna o "serialVersionUID" para uma ou mais classes em um formato adequado para cópia em uma classe em evolução Configurando o ambiente JAVA Configurando o ambiente Depois que a instalação do pacote estiver completa, a próxima etapa é a de garantir que o sistema consiga encontrar os arquivos corretamente. Se você configurar teus "scripts" de login conforme recomendado em "[4904]Os Arquivos de Iniciação do Shell Bash", [então] atualize o ambiente criando o "script" "openjdk.sh", como o(a) usuário(a) "root": cat > /etc/profile.d/openjdk.sh << "EOF" # Inicia /etc/profile.d/openjdk.sh # Configura o diretório "JAVA_HOME" JAVA_HOME=/opt/jdk # Ajusta o "PATH" pathappend $JAVA_HOME/bin # Adiciona ao "MANPATH" pathappend $JAVA_HOME/man MANPATH # Auto "Java" "CLASSPATH": Copia arquivos "jar" para, ou cria links simbólicos e m, o # diretório "/usr/share/java". AUTO_CLASSPATH_DIR=/usr/share/java pathprepend . CLASSPATH for dir in `find ${AUTO_CLASSPATH_DIR} -type d 2>/dev/null`; do pathappend $dir CLASSPATH done for jar in `find ${AUTO_CLASSPATH_DIR} -name "*.jar" 2>/dev/null`; do pathappend $jar CLASSPATH done export JAVA_HOME # Por padrão, Java cria vários arquivos em um diretório chamado # /tmp/hsperfdata_[nomedeusuário(a)]. Esse diretório contém arquivos que são usa dos # para monitoramento de desempenho e criação de perfil, mas normalmente não são # necessários em um sistema BLFS. Esta variável de ambiente desabilita esse recu rso. _JAVA_OPTIONS="-XX:-UsePerfData" export _JAVA_OPTIONS unset AUTO_CLASSPATH_DIR dir jar _JAVA_OPTIONS # Termina /etc/profile.d/openjdk.sh EOF Se "[4905]Sudo-1.9.14p3" estiver instalado, [então] o(a) superusuário(a) deveria ter acesso às variáveis acima. Execute os seguintes comandos como o(a) usuário(a) "root": cat > /etc/sudoers.d/java << "EOF" Defaults env_keep += JAVA_HOME Defaults env_keep += CLASSPATH Defaults env_keep += _JAVA_OPTIONS EOF Para usar "mandb" para incluir as páginas de manual do "OpenJDK" na base de dados dele, emita como o(a) usuário(a) "root": cat >> /etc/man_db.conf << "EOF" && # Inicia adição "Java" MANDATORY_MANPATH /opt/jdk/man MANPATH_MAP /opt/jdk/bin /opt/jdk/man MANDB_MAP /opt/jdk/man /var/cache/man/jdk # Termina Java addition EOF mkdir -p /var/cache/man && mandb -c /opt/jdk/man Configurando os Certificados de Autoridade Certificadora para Java O "OpenJDK" usa o próprio formato dele para os certificados de "AC". Os módulos de segurança do "Java" usam "$JAVA_HOME/lib/security/cacerts" por padrão. Para a finalidade de manter todos os certificados em um lugar, nós usamos "/etc/ssl/java/cacerts". As instruções na página "[4906]make-ca-1.12" criaram anteriormente o arquivo localizado em "/etc/ssl/java". Configure um link simbólico no local padrão como o(a) usuário(a) "root": ln -sfv /etc/pki/tls/java/cacerts /opt/jdk/lib/security/cacerts Use o seguinte comando para verificar se o arquivo "cacerts" foi instalado com sucesso: /opt/jdk/bin/keytool -list -cacerts No "prompt" "Enter keystore password:", digite "changeit" (o padrão) ou simplesmente pressione a tecla “Enter”. Se o arquivo "cacerts" foi instalado corretamente, [então] você verá uma lista dos certificados com informações relacionadas a cada um. Caso contrário, você precisa reinstalá-los. Se instalar posteriormente uma nova "JVM", [então] você apenas tem de criar o link simbólico no local padrão para estar apto(a) a usar o "cacerts". apache-ant-1.10.14 Introdução ao Apache Ant O pacote "Apache Ant" é uma ferramenta de construção baseada em "Java". Na teoria, é como o comando "make", mas sem as rugas do "make". "Ant" é diferente. Em vez de um modelo que é estendido com comandos baseados em "shell", "Ant" é estendido usando classes "Java". Em vez de escrever comandos de "shell", os arquivos de configuração são baseados em "XML", chamando uma árvore alvo que executa várias tarefas. Cada tarefa é executada por um objeto que implementa uma interface específica de tarefa. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4907]https://archive.apache.org/dist/ant/source/apache-ant-1.10.14 -src.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 055843219f487edb3a6db554ad1355ef * Tamanho da transferência: 3,6 MB * Espaço em disco estimado exigido: 195 MB * Tempo de construção estimado: 0,3 UPC (excluindo o tempo de transferência) Dependências do “Apache Ant” Exigidas Uma "JDK" ("[4908]Binário "Java"" ou "[4909]OpenJDK-20.0.2") e "[4910]GLib-2.76.4" Nota Uma conexão com a Internet é necessária para construir esse pacote. Instalação do Apache Ant Construa uma versão limitada de instruções de autoaprimoramento do "Apache Ant" usando o seguinte comando: ./bootstrap.sh Transfira as dependências de tempo de execução usando o "script" de construção "ant" "fetch.xml": bootstrap/bin/ant -f fetch.xml -Ddest=optional Construa o "Apache Ant" executando o seguinte comando: ./build.sh -Ddist.dir=$PWD/ant-1.10.14 dist Instale, como o(a) usuário(a) "root": cp -rv ant-1.10.14 /opt/ && chown -R root:root /opt/ant-1.10.14 && ln -sfv ant-1.10.14 /opt/ant Explicações do Comando bootstrap/bin/ant -f fetch.xml -Ddest=optional: Transfere as dependências ausentes para o diretório inicial do(a) usuário(a) e as copia na árvore do fonte (no diretório "lib/optional", onde o "ant" os coleta ao tempo da construção). ./build.sh -Ddist.dir=$PWD/ant-1.10.14 dist: Esse comando constrói, testa e, então, instala o pacote em um diretório temporário. Configurando o Apache Ant Arquivos de Configuração /etc/ant/ant.conf, ~/.ant/ant.conf e ~/.antrc Informação de Configuração Alguns pacotes exigirão que o "ant" esteja no caminho de pesquisa e que a variável de ambiente "ANT_HOME" esteja definida. Satisfaça essas exigências emitindo, como o(a) usuário(a) "root": cat > /etc/profile.d/ant.sh << EOF # Inicia /etc/profile.d/ant.sh pathappend /opt/ant/bin export ANT_HOME=/opt/ant # Termina /etc/profile.d/ant.sh EOF As instruções acima pressupõem que você configurou seu sistema conforme descrito em "[4911]Os Arquivos de Iniciação do Shell Bash". Conteúdo Aplicativos Instalados: ant, antRun, antRun.pl, complete-ant-cmd.pl, runant.pl e runant.py Bibliotecas Instaladas: Numerosos "ant*.jar" e bibliotecas dependentes em "$ANT_HOME/lib" Diretórios Instalados: /opt/ant-1.10.14 Descrições Curtas ant é uma ferramenta de construção baseada em "Java" usada por muitos pacotes em vez do aplicativo convencional "make" antRun é um "script" de suporte usado para iniciar "scripts" de construção do "ant" em um dado diretório antRun.pl é um "script" "Perl" que fornece funcionalidade semelhante oferecida pelo "script" "antRun" complete-ant-cmd.pl é um conjunto de comandos "Perl" que permite ao "Bash" completar uma linha de comando do "ant" runant.pl é um conjunto envólucro de comandos "Perl" usado para invocar o "ant" runant.py é um conjunto envólucro de comandos "Python" usado para invocar o "ant" ant*.jar arquivos são as bibliotecas de classes "Java" do "Apache Ant" Parte IV. Rede de Intercomunicação Capítulo 14. Conectando a uma Rede de Intercomunicação O livro LFS aborda a configuração de rede de intercomunicação conectando-se a uma "LAN" com um endereço "IP" estático. Existem outros métodos usados para obter um endereço "IP" e conectar-se a uma "LAN" e outras redes de intercomunicação (como a Internet). Os métodos mais populares ("DHCP" e "PPP") são abordados neste capítulo. "DHCP" significa "Dynamic Host Configuration Protocol". Ele é um protocolo usado por muitos sítios para fornecer automaticamente informações como endereços "IP", máscaras de sub-rede e informações de roteamento para computadores. Se a sua rede de intercomunicação usar "DHCP", [então] você precisará de um cliente "DHCP" para a finalidade de se conectar a ela. Configuração Avançada de Rede de Intercomunicação Ponte de Rede de Intercomunicação Configuração do Núcleo Habilite as seguintes opções na configuração do núcleo e recompile o núcleo, se necessário: Networking support: Y Networking options: 802.1d Ethernet Bridging: M or Y Configurando uma Ponte de Rede de Intercomunicação Nessa seção discutiremos como configurar uma ponte de rede de intercomunicação usando o systemd-networkd. Nos exemplos abaixo, eth0 representa a interface externa que está sendo interligada, enquanto br0 representa a interface de ponte. Para criar uma interface de ponte, crie o seguinte arquivo de configuração executando o seguinte comando como o(a) usuário(a) "root": cat > /etc/systemd/network/50-br0.netdev << EOF [NetDev] Name=br0 Kind=bridge EOF Para atribuir uma interface de rede de intercomunicação para uma ponte, crie o seguinte arquivo de configuração executando o seguinte comando como o(a)usuário(a) "root": cat > /etc/systemd/network/51-eth0.network << EOF [Match] Name=eth0 [Network] Bridge=br0 EOF Repita o processo para quaisquer outras interfaces que precisem ser interligadas. Observe que é importante que nada atribua quaisquer endereços para as interfaces de ponte. Se você estiver usando "[4912]NetworkManager-1.44.0", [então] certifique-se de configurá-las para ignorar as interfaces em ponte, bem como a própria interface de ponte. Se você estiver em uma rede de intercomunicação que usa "DHCP" para atribuir endereços "IP", [então] crie o seguinte arquivo de configuração executando o seguinte comando como o(a)usuário(a) "root": cat > /etc/systemd/network/60-br0.network << EOF [Match] Name=br0 [Network] DHCP=yes EOF Alternativamente, se usar uma configuração de "IP" estático, [então] crie o seguinte arquivo de configuração executando o seguinte comando como o(a) usuário(a) "root": cat > /etc/systemd/network/60-br0.network << EOF [Match] Name=br0 [Network] Address=192.168.0.2/24 Gateway=192.168.0.1 DNS=192.168.0.1 EOF Para ativar a interface de ponte, simplesmente reinicie o processo de segundo plano "systemd-networkd" executando o seguinte comando como o(a) usuário(a) "root": systemctl restart systemd-networkd dhcpcd-10.0.2 Introdução ao dhcpcd "dhcpcd" é uma implementação do cliente "DHCP" especificado na "RFC2131". Um cliente "DHCP" é útil para conectar seu computador a uma rede de intercomunicação que usa "DHCP" para atribuir endereços de rede de intercomunicação. O "dhcpcd" se esforça para ser um cliente "DHCP" completo, mas muito leve. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4913]https://github.com/NetworkConfiguration/dhcpcd/releases/downl oad/v10.0.2/dhcpcd-10.0.2.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 1f266e2c32567bc778ea22c599fb06d9 * Tamanho da transferência: 260 KB * Espaço em disco estimado exigido: 3,1 MB (com testes) * Tempo de construção estimado: menos que 0,1 UPC (com os testes) Dependências do dhcpcd Opcionais [4914]LLVM-16.0.5 (com "Clang"), [4915]ntp-4.2.8p17, [4916]chronyd e [4917]ypbind Separação de privilégios Lançamentos recentes do "dhcpcd" suportam opcionalmente a separação de privilégios. Como os benefícios práticos de segurança disso não são claros para um aplicativo como o "dhcpcd" e a configuração é mais complicada, o livro atualmente usa como padrão desativá-lo. No entanto, se você quiser usar a separação de privilégios, [então] etapas adicionais de instalação são necessárias para configurar o ambiente adequado. Emita os seguintes comandos como o(a) usuário(a) "root": install -v -m700 -d /var/lib/dhcpcd && groupadd -g 52 dhcpcd && useradd -c 'Separação de privilégios do dhcpcd' \ -d /var/lib/dhcpcd \ -g dhcpcd \ -s /bin/false \ -u 52 dhcpcd && chown -v dhcpcd:dhcpcd /var/lib/dhcpcd Instalação do dhcpcd Construa o "dhcpcd" sem separação de privilégios executando o seguinte comando: ./configure --prefix=/usr \ --sysconfdir=/etc \ --libexecdir=/usr/lib/dhcpcd \ --dbdir=/var/lib/dhcpcd \ --runstatedir=/run \ --disable-privsep && make Alternativamente, construa o dhcpcd com separação de privilégios executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc \ --libexecdir=/usr/lib/dhcpcd \ --dbdir=/var/lib/dhcpcd \ --runstatedir=/run \ --privsepuser=dhcpcd && make Para testar os resultados, emita: make test. Agora, como o(a) usuário(a) "root": make install Explicações do Comando --libexecdir=/usr/lib/dhcpcd: Essa chave configura um local melhor para bibliotecas internas do dhcpcd. --dbdir=/var/lib/dhcpcd: Essa chave ajusta o diretório da base de dados, pois o diretório padrão, /var/db, não é compatível com o FHS. --runstatedir=/run: Essa chave configura o diretório de estado de tempo de execução, pois o padrão /var/run é um link simbólico para /run e usar /var/run está obsoleto. --disable-privsep: Essa chave desabilita a separação de privilégios, que é o padrão no dhcpcd. Essa chave não é usada na configuração da construção onde a separação de privilégios é usada. --privsepuser=dhcpcd: Essa chave configura o(a) usuário(a) de separação de privilégios na configuração da construção onde o escalonamento de privilégios é usado. --with-hook=...: Opcionalmente, você pode instalar mais ganchos, por exemplo, para instalar alguns arquivos de configuração, como ntp.conf. Um conjunto de ganchos pode ser encontrado no diretório dhcpcd-hooks na árvore da construção. Configurando o dhcpcd Arquivos de Configuração /etc/dhcpcd.conf Informações Gerais de Configuração Se você quiser configurar interfaces de rede de intercomunicação na inicialização usando o "dhcpcd", [então] você precisa instalar a unidade "systemd" incluída no pacote "[4918]blfs-systemd-units-20230816" executando o seguinte comando como o(a) usuário(a) "root": make install-dhcpcd Nota O comportamento padrão do dhcpcd é o de configurar o nome do dispositivo e o MTU. Ele também sobrescreve /etc/resolv.conf e /etc/ntp.conf. Essas modificações nos arquivos de configuração do sistema são feitas por ganchos que estão armazenados em /usr/lib/dhcpcd/dhcpcd-hooks. Você consegue mudar esse comportamento removendo ou adicionando ganchos de/para esse diretório. A execução de ganchos pode ser desabilitada usando-se a opção de linha de comando --nohook (-C) ou pela opção nohook no arquivo /etc/dhcpcd.conf. Nota Certifique-se de desabilitar o serviço "systemd-networkd" ou configurá-lo para não gerenciar as interfaces que você quer gerenciar com o "dhcpcd". Neste ponto você consegue testar se o "dhcpcd" está se comportando conforme esperado executando o seguinte comando como o(a) usuário(a) "root": systemctl start dhcpcd@eth0 Para iniciar o "dhcpcd" em uma interface específica na inicialização, habilite a unidade "systemd" instalada anteriormente executando o seguinte comando como o(a) usuário(a) "root": systemctl enable dhcpcd@eth0 Substitua "eth0" pelo nome real da interface. Conteúdo Aplicativo Instalado: dhcpcd Biblioteca Instalada: /usr/lib/dhcpcd/dev/udev.so Diretório Instalado: /{usr,var}/lib/dhcpcd e /usr/share/dhcpcd Descrições Curtas dhcpcd é uma implementação do cliente "DHCP" especificado na "RFC2131" udev.so adiciona suporte ao "Udev" para chegada e partida da interface; isso ocorre porque o "Udev" gosta de renomear a interface, o que não poderá ser feito se o "dhcpcd" a capturar primeiro Capítulo 15. Aplicativos de Rede de Intercomunicação Estes aplicativos geralmente são aplicativos clientes usados para acessar o servidor apropriado no prédio ou em todo o mundo. "Tcpwrappers" e "portmap" são aplicativos de suporte para processos de segundo plano que você possivelmente esteja executando em tua máquina. bridge-utils-1.7.1 Introdução ao bridge-utils O pacote "bridge-utils" contém um utilitário necessário para criar e gerenciar dispositivos de ponte. Isso é útil na configuração de redes de intercomunicação para uma máquina virtual ("MV") hospedada. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4919]https://www.kernel.org/pub/linux/utils/net/bridge-utils/bridg e-utils-1.7.1.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 3e1fee4dc22cac5457c2f6ffb990a518 * Tamanho da transferência: 29 KB * Espaço em disco estimado exigido: 1,1 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "bridge-utils" Opcionais (para executar testes) [4920]Net-tools-2.10 Configuração do Núcleo Habilite as seguintes opes na configuração do núcleo e recompile o núcleo, se necessário: [*] Networking support ---> [NET] Networking options ---> <*/M> 802.1d Ethernet Bridging [BRIDGE] Instalação do bridge-utils Instale "bridge-utils" executando os seguintes comandos: autoconf && ./configure --prefix=/usr && make Testar os resultados exige executar-se os seis conjuntos sequenciais de comandos de "shell" no diretório "tools/". Dois dos testes exigem duas portas "Ethernet". Alguns testes não preservarão a configuração atual da rede de intercomunicação. Veja-se "tests/README" para detalhes. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativo Instalado: brctl Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas brctl é um aplicativo usado para configurar, manter e inspecionar a configuração da ponte "Ethernet" no núcleo Linux cifs-utils-7.0 Introdução ao cifs-utils O pacote "cifs-utils" fornece um meio para montar compartilhamentos "SMB"/"CIFS" em um sistema Linux. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4921]https://www.samba.org/ftp/linux-cifs/cifs-utils/cifs-utils-7. 0.tar.bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: 518431bf43f23e6aacd97e80e2060df7 * Tamanho da transferência: 412 KB * Espaço em disco estimado exigido: 4,2 MB * Tempo de construção estimado: 0,1 UPC Dependências do "cifs-utils" Recomendadas [4922]Talloc-2.4.1 (exigido se "krb" estiver instalado), [4923]MIT Kerberos V5-1.21.2 Opcionais [4924]docutils-0.20.1 (para criar as páginas de manual), [4925]keyutils-1.6.1 (exigido para construir o módulo "PAM"), [4926]Linux-PAM-1.5.3, [4927]Samba-4.18.6 e [4928]libcap-2.69 com PAM ou [4929]libcap-ng Configuração do Núcleo Habilite as seguintes opções na configuração do núcleo e recompile o núcleo, se necessário: File systems ---> [*] Network File Systems ---> [NETWORK_FILESYSTEMS] <*/M> SMB3 and CIFS support (advanced network filesystem) [CIFS] Dependendo da configuração do teu servidor, opções adicionais do núcleo possivelmente sejam exigidas. Instalação do cifs-utils Instale cifs-utils executando os seguintes comandos: ./configure --prefix=/usr \ --disable-pam && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Explicações do Comando --disable-pam: Não construa suporte "PAM". Remova-a e use "--with-pamdir" (veja-se abaixo), se "[4930]Linux-PAM-1.5.3" estiver instalado e você desejar suporte "PAM". --with-pamdir=/usr/lib/security: Instale o módulo "PAM" em "/usr/lib/security". Conteúdo Aplicativos Instalados: cifs.idmap, cifs.upcall, cifscreds, getcifsacl, mount.cifs, mount.smb3, setcifsacl, smb2-quota e smbinfo Biblioteca Instalada: /usr/lib/cifs-utils/idmapwb.so e, opcionalmente, o módulo "PAM" /usr/lib/security/pam_cifscreds.so Diretório Instalado: /usr/lib/cifs-utils Descrições Curtas cifs.idmap é um aplicativo auxiliar do espaço de usuário(a) para o sistema de arquivos do cliente "CIFS" Linux. Existe uma série de atividades que o núcleo não consegue realizar facilmente ele próprio. Esse aplicativo é um aplicativo "callout" que faz essas coisas para o núcleo e depois retorna o resultado. Não se destina a ser executado a partir da linha de comando cifs.upcall é um aplicativo auxiliar do espaço de usuário(a) para o sistema de arquivos do cliente "CIFS" Linux. Ele se destina a ser executado quando o núcleo chamar "request-key" para um tipo de chave específico. Não se destina a ser executado a partir da linha de comando cifscreds é uma ferramenta para gerenciamento de credenciais (nome de usuário(a) e senha) com a finalidade de estabelecer sessões em montagens multiusuário(a) getcifsacl é um auxiliar do espaço de usuário(a) para exibir uma "ACL" em um descritor de segurança para "Common Internet File System" ("CIFS") mount.cifs monta um sistema de arquivos "CIFS" do Linux. Geralmente é invocado indiretamente pelo comando "mount(8)" ao usar a opção "-t cifs" mount.smb3 monta um sistema de arquivos baseado em "SMB3". Geralmente é invocado indiretamente pelo comando "mount(8)" ao usar a opção "-t smb3" setcifsacl destina-se a alterar uma "ACL" de um descritor de segurança para um objeto do sistema de arquivos smb3-quota exibe informações de cota para um sistema de arquivos "SMB" smbinfo exibe informações de arquivos específicas de "SMB", como descritores de segurança e cotas NcFTP-3.2.6 Introdução ao NcFTP O pacote "NcFTP" contém uma interface poderosa e flexível para o protocolo de transferência de arquivos padrão da Internet. Destina-se a substituir ou complementar o aplicativo "ftp" padrão. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): * Transferência (FTP): [4931]ftp://ftp.ncftp.com/ncftp/ncftp-3.2.6-src.tar.xz * Soma de verificação MD5 da transferência: 42d0f896d69a4d603ec097546444245f * Tamanho da transferência: 412 KB * Espaço em disco estimado exigido: 6,6 MB * Tempo de construção estimado: 0,2 UPC Transferências Adicionais * Remendo exigido: [4932]https://www.linuxfromscratch.org/patches/blfs/12.0/ncftp-3.2. 6-configure_fixes-1.patch Dependências do "NcFTP" Opcionais [4933]LLVM-16.0.5 (com "Clang", usado por padrão se instalado) Instalação do NcFTP Existem duas maneiras de construir o "NcFTP". A primeira (e ideal) maneira constrói a maior parte da funcionalidade como uma biblioteca compartilhada e depois constrói e instala o programa vinculado a essa biblioteca. O segundo método simplesmente vincula todas as funcionalidades ao binário estaticamente. Isso não disponibiliza a biblioteca dinâmica para vinculação por outros aplicativos. Você precisa escolher o método que melhor se adapta a você. Observe que o segundo método não cria um binário totalmente vinculado estaticamente; apenas as partes da "libncftp" estão vinculadas estaticamente, nesse caso. Esteja ciente de que a construção e uso da biblioteca compartilhada são cobertas pela Licença Artística Esclarecida; entretanto, o desenvolvimento de aplicativos que utilizam a biblioteca compartilhada está sujeito a uma licença diferente. Primeiro, corrija um problema causado por uma mudança de comportamento no "GCC-10": sed -i 's/^Bookmark/extern Bookmark/' sh_util/gpshare.c Em seguida, atualize o conjunto de comandos sequenciais configure para usar os padrões modernos C: patch -Np1 -i ../ncftp-3.2.6-configure_fixes-1.patch && autoreconf -fiv -I autoconf_local Para instalar o "NcFTP" usando o primeiro (e ideal) método, execute os seguintes comandos: ./configure --prefix=/usr --sysconfdir=/etc && make -C libncftp shared && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make -C libncftp soinstall && make install Para instalar o "NcFTP" usando o segundo método (com a funcionalidade da "libncftp" vinculada estaticamente) execute os seguintes comandos: ./configure --prefix=/usr --sysconfdir=/etc && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Explicações do Comando make -C ... && make -C ...: Esses comandos criam e instalam a biblioteca dinâmica "libncftp" que é então usada para vincular ao compilar o programa principal. Configurando o NcFTP Arquivos de Configuração /etc/ncftp.* e ~/.ncftp/*; especialmente /etc/ncftp.prefs_v3 e ~/.ncftp/prefs_v3 Informação de Configuração A maior parte da configuração do "NcFTP" é feita no programa e os arquivos de configuração são tratados automaticamente. Uma exceção a isso é "~/.ncftp/prefs_v3". Existem várias opções para alterar lá, incluindo: yes-i-know-about-NcFTPd=yes Isso desabilita a tela inicial anunciando o servidor "NcFTPd". Existem outras opções no arquivo "prefs_v3". A maioria delas é autoexplicativa. Os padrões globais podem ser configurados em "/etc/ncftp.prefs v3". Conteúdo Aplicativos Instalados: ncftp, ncftpbatch, ncftpbookmarks, ncftpget, ncftpls, ncftpput e ncftpspooler Biblioteca Instalada: libncftp.so Diretórios Instalados: Nenhum(a) Descrições Curtas ncftp é um aplicativo de navegador para "File Transfer Protocol" ncftpbatch é um processador de tarefa "FTP" em lote individual ncftpbookmarks é o editor de marcadores do "NcFTP" (baseado em "NCurses") ncftpget é um aplicativo de transferência de arquivos da Internet para conjuntos de comandos sequenciais usados para recuperar arquivos ncftpls é um aplicativo de transferência de arquivos da Internet para conjuntos de comandos sequenciais usados para listar arquivos ncftpput é um aplicativo de transferência de arquivos da Internet para conjuntos de comandos sequenciais usados para transferir arquivos ncftpspooler é um processo de segundo plano global de processador de tarefas "FTP" em lote Net-tools-2.10 Introdução ao Net-tools O pacote "Net-tools" é uma coleção de aplicativos para controlar o subsistema de rede de intercomunicação do núcleo Linux. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4934]https://downloads.sourceforge.net/project/net-tools/net-tools -2.10.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 78aae762c95e2d731faf88d482e4cde5 * Tamanho da transferência: 228 KB * Espaço em disco estimado exigido: 7,5 MB * Tempo de construção estimado: menos que 0,1 UPC Instalação do Net-tools As instruções abaixo automatizam o processo de configuração canalizando "yes" para o comando "make". Se você deseja executar o processo interativo de configuração (mudando a instrução para apenas "make"), mas não tem certeza de como responder a todas as perguntas, então basta aceitar os padrões. Isso funcionará perfeitamente na maioria dos casos. O que você é inquirido(a) aqui é um monte de perguntas relativas a quais protocolos de rede de intercomunicação você habilitou em teu núcleo. As respostas padrão habilitarão as ferramentas originárias desse pacote para funcionem com os protocolos mais comuns: "TCP", "PPP" e vários outros. Você ainda precisa habilitar esses protocolos no núcleo—o que você faz aqui é meramente dizer ao pacote para incluir suporte para esses protocolos nos aplicativos dele, mas cabe ao núcleo disponibilizar os protocolos. Nota Esse pacote tem vários protocolos desnecessários e funções específicas de dispositivos de hardware que estão obsoletas. Para construir somente o mínimo necessário para o teu sistema, ignore o comando "yes" e responda a cada pergunta interativamente. As opções mínimas necessárias são "UNIX protocol family" e "INET (TCP/IP) protocol family". Para esse pacote, nós usamos o método "DESTDIR" de instalação para a finalidade de remover facilmente arquivos da construção que sobrescrevem aqueles que queremos manter ou que não são apropriados para nosso sistema. Instale o "Net-tools" executando os seguintes comandos: export BINDIR='/usr/bin' SBINDIR='/usr/bin' && yes "" | make -j1 && make DESTDIR=$PWD/install -j1 install && rm install/usr/bin/{nis,yp}domainname && rm install/usr/bin/{hostname,dnsdomainname,domainname,ifconfig} && rm -r install/usr/share/man/man1 && rm install/usr/share/man/man8/ifconfig.8 && unset BINDIR SBINDIR Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": chown -R root:root install && cp -a install/* / Explicações do Comando export BINDIR='/usr/bin' SBINDIR='/usr/bin': Certifique-se de que os executáveis estejam instalados no local correto. yes "" | make : Canalizar "yes" para "make config" ignora a configuração interativa e aceita os padrões. rm ...: Remova aplicativos e páginas de manual desnecessários. Conteúdo Aplicativos Instalados: arp, ipmaddr, iptunnel, mii-tool, nameif, netstat, plipconfig, rarp, route e slattach Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas arp é usado para manipular o "cache" "ARP" do núcleo, geralmente para adicionar ou deletar uma entrada, ou para despejar todo o "cache" ipmaddr adiciona, deleta e mostra os endereços "multicast" de uma interface iptunnel adiciona, muda, deleta e mostra os túneis de uma interface mii-tool verifica ou configura o situação de uma unidade "Media Independent Interface" ("MII") de uma interface de rede de intercomunicação nameif nomeia interfaces de rede baseado em endereços "MAC" netstat é usado para informar conexões de rede, tabelas de roteamento e estatísticas de interface plipconfig é usado para ajustar os parâmetros do dispositivo "PLIP", para melhorar o desempenho dele rarp é usado para manipular a tabela "RARP" do núcleo route é usado para manipular a tabela de roteamento "IP" slattach anexa uma interface de rede de intercomunicação a uma linha serial. Isso permite que você use linhas normais de terminal para links ponto a ponto para outros computadores NFS-Utils-2.6.3 Introdução aos Utilitários do NFS O pacote "NFS Utilities" contém as ferramentas de espaço do usuário(a) servidor e cliente necessárias para usar as capacidades "NFS" do núcleo. "NFS" é um protocolo que permite compartilhar sistemas de arquivos por intermédio da rede de intercomunicação. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4935]https://www.kernel.org/pub/linux/utils/nfs-utils/2.6.3/nfs-ut ils-2.6.3.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: d47ff4ca79b71d64d37c0f0e81aae134 * Tamanho da transferência: 712 KB * Espaço em disco estimado exigido: 17 MB (com testes) * Tempo de construção estimado: 0,2 UPC (com testes) Dependências dos Utilitários do NFS Exigidas [4936]libtirpc-1.3.3, [4937]libevent-2.1.12, [4938]rpcsvc-proto-1.4.4 e [4939]SQLite-3.42.0 Opcionais [4940]Cyrus SASL-2.1.28 (para autenticação SASL), [4941]LVM2-2.03.22 (libdevmapper para suporte a NFSv4), [4942]libnsl-2.0.0 (para suporte a cliente NIS), [4943]OpenLDAP-2.6.6 (para autenticação LDAP), [4944]MIT Kerberos V5-1.21.2 ou [4945]libgssapi e [4946]librpcsecgss (para suporte a segurança GSS e RPC) e [4947]libcap-2.69 com PAM Exigidas (tempo de execução) [4948]rpcbind-1.2.6 Observações de Editor(a): [4949]https://wiki.linuxfromscratch.org/blfs/wiki/nfs-utils Configuração do Núcleo Habilite as seguintes opções na configuração do núcleo (escolha o suporte ao cliente e(ou) servidor conforme apropriado) e recompile o núcleo se necessário: File systems ---> [*] Network File Systems ---> [NETWORK_FILESYSTEMS] <*/M> NFS client support [NFS_FS] <*/M> NFS server support [NFSD] Selecione as sub opções apropriadas que aparecem quando as opções acima são selecionadas. Nota No BLFS nós assumimos que o "NFS" v3 será usado. Se o servidor oferecer "NFS" v4 (para o Linux, "CONFIG_NFSD_V4") então a negociação automática para v3 falhará e você precisará adicionar "nfsver=3" às opções de montagem. Isso também se aplica se essa opção estiver habilitada no núcleo do cliente, por exemplo, em uma distribuição tentando montar a partir de um servidor BLFS v3. Mesmo que nenhuma extremidade da conexão suporte "NFS" v4, adicionar "nfsver=3" ainda é benéfico porque evita que uma mensagem de erro "NFS: bad mount option value specified: minorversion=1" seja registrada em cada montagem. Instalação dos Utilitários do NFS Instale o Utilitários do NFS executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc \ --sbindir=/usr/sbin \ --disable-nfsv4 \ --disable-gss \ LIBS="-lsqlite3 -levent_core" && make Agora, como o(a) usuário(a) root: make install && chmod u+w,go+r /usr/sbin/mount.nfs && chown nobody:nogroup /var/lib/nfs Os testes para esse pacote exigem que o pacote esteja instalado. Além disso, o processo de segundo plano rpc.statd precisa não estar executando e os testes precisam ser executados como o(a) usuário(a) root. Para testar os resultados, emita, como root: make check Explicações do Comando --disable-gss: Desabilita o suporte para "GSS" do "RPCSEC" (Segurança "RPC"). LIBS="-lsqlite3 -levent_core": é exigido para o aplicativo fsidd. chown nobody:nogroup /var/lib/nfs: O aplicativo rpc.statd usa a titularidade de propriedade desse diretório para configurar o UID e GID dele. Esse comando os configura como entradas sem privilégios. Configurando os Utilitários do NFS Configuração do Servidor "/etc/exports" contém os diretórios exportados em servidores "NFS". Consulte a página de manual "exports.5" para a sintaxe desse arquivo. Consulte também o "NFS HowTo" disponível em [4950]https://nfs.sourceforge.net/nfs-howto/ para informações relativas a como configurar os servidores e clientes de maneira segura. Por exemplo, para compartilhar o diretório "/home" por intermédio da rede local de intercomunicação, a seguinte linha pode ser adicionada: cat >> /etc/exports << EOF /home 192.168.0.0/24(rw,subtree_check,anonuid=99,anongid=99) EOF Nota Certifique-se de substituir o diretório, endereço de rede de intercomunicação. e prefixo acima para corresponder à tua rede de intercomunicação. O único espaço na linha acima deveria ficar entre o diretório e o endereço de rede de intercomunicação. Unidades do Systemd Instale as unidades de servidor NFSv4 inclusas no pacote [4951]blfs-systemd-units-20230816 para iniciar o servidor na inicialização. make install-nfsv4-server Se você desabilitou o suporte ao "NFSv4", [então] execute o seguinte comando como o(a) usuário(a) "root" para omitir as unidades do "systemd" específicas do "NFSv4": make install-nfs-server Você consegue editar o arquivo "/etc/default/nfs-utils" para mudar as opções de inicialização dos processos de segundo plano do "NFS". Os padrões deveriam servir para a maioria dos casos de uso. Configuração do Cliente "/etc/fstab" contém os diretórios que são para serem montados no cliente. Alternativamente, as partições conseguem ser montadas usando o comando "mount" com as opções apropriadas. Para montar as partições "/home" e "/usr", adicione o seguinte ao "/etc/fstab": :/home /home nfs rw,_netdev 0 0 :/usr /usr nfs ro,_netdev 0 0 As opções que podem ser usadas estão especificadas em "man 5 nfs ". Se tanto o cliente quanto o servidor estiverem executando versões recentes do Linux, [então] a maioria das opções serão negociadas (mas veja a Observação acima a respeito de "nfsver=3"). Você consegue especificar ou "rw" ou "ro", "_netdev" se o sistema de arquivos é para ser montado automaticamente na inicialização, ou "noauto" (e talvez "user") para outros sistemas de arquivos. Se o servidor de arquivos não estiver executando uma versão recente do Linux, [então] você possivelmente precise especificar outras opções. Você possivelmente precise habilitar o "autofs v4" em teu núcleo e adicionar a opção "comment=systemd.automount". Algumas máquinas podem precisar disso porque o "systemd" tenta montar os sistemas de arquivos externos antes que a rede de intercomunicação esteja ativa. Uma alternativa é a de executar "mount -a" como o(a) usuário(a) "root" depois que o sistema tiver iniciado. Unidades do Systemd Nota As seguintes unidades do systemd não são necessárias se as unidades nfs-server estiverem instaladas. Instale as unidades inclusas no pacote "" "[4952]blfs-systemd-units-20230816" para iniciar os serviços do cliente na inicialização. make install-nfs-client Conteúdo Aplicativos Instalados: exportfs, fsidd, mountstats, mount.nfs, mount.nfs4 (link para mount.nfs), nfsconf, nfsdclnts, nfsiostat, nfsstat, rpc.mountd, rpc.nfsd, rpc.statd, rpcdebug, showmount, sm-notify, start-statd, umount.nfs (link para mount.nfs) e umount.nfs4 (link para mount.nfs) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /var/lib/nfs Descrições Curtas exportfs mantém uma lista de sistemas de arquivos "NFS" exportados fsidd oferece uma interface de soquete de domínio UNIX local para todo o espaço de usuário(a) do NFS para consultar a base de dados de reexportação mountstats exibe estatísticas "NFS" por montagem do cliente mount.nfs é usado para montar um compartilhamento de rede de intercomunicação usando "NFS" mount.nfs4 é usado para montar um compartilhamento de rede de intercomunicação usando "NFSv4" nfsconf pode ser usado para testar e recuperar definições de configuração a partir de uma variedade de arquivos de configuração "nfs-utils" nfsdclnts imprime informações relativas a clientes "NFS" nfsiostat informa estatísticas de entrada/saída para sistemas de arquivos de rede de intercomunicação nfsstat exibe estatísticas mantidas a respeito da atividade "NFS" do cliente e do servidor rpc.mountd implementa o protocolo de montagem "NFS" em um servidor "NFS" rpc.nfsd implementa a parte de nível de usuário(a) do serviço "NFS" no servidor rpc.statd é usado pelo serviço de bloqueio de arquivos "NFS". Execute em ambos os lados, cliente e servidor, quando desejar o bloqueio de arquivos habilitado rpcdebug configura ou limpa os sinalizadores de depuração do "NFS" do cliente e do servidor do núcleo showmount exibe informações de montagem para um servidor "NFS" sm-notify é usado para enviar mensagens de reinicialização do "Network Status Monitor" start-statd é um conjunto de comandos sequenciais chamado pelo "nfsmount" ao montar um sistema de arquivos com bloqueio habilitado, se o "statd" não parecer estar executando. Ele pode ser personalizado com quaisquer sinalizadores apropriados para o sítio umount.nfs é usado para desmontar um compartilhamento de rede de intercomunicação usando "NFS" umount.nfs4 é usado para desmontar um compartilhamento de rede de intercomunicação usando "NFSv4" ntp-4.2.8p17 Introdução ao ntp O pacote "ntp" contém um cliente e um servidor para manter a hora sincronizada entre vários computadores em uma rede de intercomunicação. Esse pacote é a implementação de referência oficial do protocolo "NTP". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4953]https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4. 2.8p17.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: a15558df580bd1b955a105a8b91c078f * Tamanho da transferência: 6,8 MB * Espaço em disco estimado exigido: 99 MB (com testes) * Tempo de construção estimado: 0,8 UPC (com testes; ambos usando paralelismo=4) Dependências do "ntp" Exigidas [4954]IO-Socket-SSL-2.083 Opcionais [4955]libcap-2.69 com PAM, [4956]libevent-2.1.12, [4957]libedit e [4958]libopts originário do AutoGen Observações de Editor(a): [4959]https://wiki.linuxfromscratch.org/blfs/wiki/ntp Instalação do ntp Deveria existir um(a) usuário(a) e um grupo dedicado(a) para assumir o controle do processo de segundo plano "ntpd" depois que ele for iniciado. Emita os seguintes comandos como o(a) usuário(a) "root": groupadd -g 87 ntp && useradd -c "Protocolo de horário da rede de intercomunicação" -d /var/lib/ntp -u 87 \ -g ntp -s /bin/false ntp O comando "update-leap" precisa ser corrigido para a finalidade de funcionar corretamente: sed -e 's/"(\\S+)"/"?([^\\s"]+)"?/' \ -i scripts/update-leap/update-leap.in Agora corrija um problema introduzido com a "glibc-2.34": sed -e 's/#ifndef __sun/#if !defined(__sun) \&\& !defined(__GLIBC__)/' \ -i libntp/work_thread.c Instale o "ntp" executando os seguintes comandos: ./configure --prefix=/usr \ --bindir=/usr/sbin \ --sysconfdir=/etc \ --enable-linuxcaps \ --with-lineeditlibs=readline \ --docdir=/usr/share/doc/ntp-4.2.8p17 && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) "root": make install && install -v -o ntp -g ntp -d /var/lib/ntp Explicações do Comando CFLAGS="-O2 -g -fPIC": Essa variável de ambiente é necessária para gerar Código Independente de Posição necessário para uso nas bibliotecas de pacotes. --bindir=/usr/sbin: Esse parâmetro coloca os aplicativos administrativos em "/usr/sbin". --enable-linuxcaps: O "ntpd" é executado como usuário(a) "ntp", de forma que use os recursos do "Linux" para controle de relógio não raiz. --with-lineeditlibs=readline: Essa chave habilita o suporte "Readline" para os aplicativos "ntpdc" e "ntpq". Se omitido, [então] "libedit" será usada se instalada; caso contrário, nenhum recurso do "Readline" será compilado. Configurando o ntp Arquivos de Configuração /etc/ntp.conf Informação de Configuração O arquivo de configuração a seguir primeiro define vários servidores "NTP" com acesso aberto a partir de diferentes continentes. Segundo, ele cria um arquivo de mudança gradual onde o "ntpd" armazena o deslocamento de frequência e um arquivo "PID" para armazenar o "ID" do processo do "ntpd". Terceiro, ele define o local para o arquivo de definição do segundo bissexto "/etc/ntp.leapseconds", que o conjunto de comandos sequenciais "update-leap" verifica e atualiza, quando necessário. Esse conjunto de comandos sequenciais pode ser executado como uma tarefa do "Cron" e os desenvolvedores do "ntp" recomendam uma frequência de cerca de três semanas para as atualizações. Como a documentação incluída no pacote é escassa, visite o sítio da "web" do "NTP" em [4960]https://www.ntp.org/ e [4961]https://www.ntppool.org/ para mais informações. cat > /etc/ntp.conf << "EOF" # Ásia server 0.asia.pool.ntp.org # Austrália server 0.oceania.pool.ntp.org # Europa server 0.europe.pool.ntp.org # América do Norte server 0.north-america.pool.ntp.org # América do Sul server 2.south-america.pool.ntp.org driftfile /var/lib/ntp/ntp.drift pidfile /run/ntpd.pid leapfile /var/lib/ntp/ntp.leapseconds EOF Você possivelmente deseje adicionar uma “seção de Segurança”. Para explicações, veja-se [4962]https://www.eecis.udel.edu/~mills/ntp/html/accopt.html#restrict. cat >> /etc/ntp.conf << "EOF" # Seção de segurança restrict default limited kod nomodify notrap nopeer noquery restrict -6 default limited kod nomodify notrap nopeer noquery restrict 127.0.0.1 restrict ::1 EOF Sincronizando a Hora Existem duas opções. A primeira opção é a de executar o "ntpd" continuamente e permitir que ele sincronize a hora de maneira gradual. A outra opção é a de executar o "ntpd" periodicamente (usando o "Cron") e atualizar a hora cada vez que o "ntpd" estiver agendado. Se você escolher a opção um, então instale a unidade "ntpd.service" inclusa no pacote "" "[4963]blfs-systemd-units-20230816". make install-ntpd Se você preferir executar ntpd periodicamente, adicione o seguinte comando ao crontab do(a) root: ntpd -q Conteúdo Aplicativos Instalados: calc_tickadj, ntp-keygen, ntp-wait, ntpd, ntpdate, ntpdc, ntpq, ntptime, ntptrace, sntp, tickadj e update-leap Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/share/ntp, /usr/share/doc/ntp-4.2.8 e /var/lib/ntp Descrições Curtas calc_tickadj calcula o valor ideal para o "tick" dado o arquivo de mudança gradual do "NTP" ntp-keygen gera arquivos de dados criptográficos usados pelos esquemas de autenticação e identificação "NTPv4" ntp-wait é útil ao tempo da inicialização, para atrasar a sequência de inicialização até que o "ntpd" tenha configurado a hora ntpd é um processo de segundo plano "NTP" que executa em segundo plano e mantém a data e a hora sincronizadas baseado na resposta originária dos servidores "NTP" configurados. Também funciona como um servidor "NTP" ntpdate é um aplicativo cliente que configura a data e a hora baseado na resposta originária de um servidor "NTP". Esse comando está obsoleto ntpdc é usado para consultar o processo de segundo plano "ntp" sobre o estado atual dele e para solicitar mudanças nesse estado ntpq é um aplicativo utilitário usado para monitorar operações "ntpd" e determinar o desempenho ntptime lê e exibe variáveis do núcleo relacionadas à hora ntptrace rastreia uma cadeia de servidores "NTP" até a fonte primária sntp é um cliente "Simple Network Time Protocol" ("SNTP") tickadj lê e, opcionalmente, modifica várias variáveis relacionadas à cronometragem em núcleos mais antigos que não tem suporte para cronometragem de precisão update-leap é um conjunto de comandos sequenciais para verificar e, se necessário, atualizar o arquivo de definição de segundos bissextos rpcbind-1.2.6 Introdução ao rpcbind O aplicativo "rpcbind" é um substituto para o "portmap". Ele é exigido para importar ou exportar diretórios compartilhados do "Network File System" ("NFS"). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4964]https://downloads.sourceforge.net/rpcbind/rpcbind-1.2.6.tar.b z2 * Transferência (FTP): * Soma de verificação MD5 da transferência: 2d84ebbb7d6fb1fc3566d2d4b37f214b * Tamanho da transferência: 124 KB * Espaço em disco estimado exigido: 1,6 MB * Tempo de construção estimado: menos que 0,1 UPC Transferências Adicionais * Remendo exigido: [4965]https://www.linuxfromscratch.org/patches/blfs/12.0/rpcbind-1. 2.6-vulnerability_fixes-1.patch Dependências do "rpcbind" Exigidas [4966]libtirpc-1.3.3 Instalação do rpcbind Deveria existir um(a) usuário(a) e um grupo dedicado(a) para assumir o controle do processo de segundo plano "rpcbind" depois de ele ser iniciado. Emita os seguintes comandos como o(a) usuário(a) "root": groupadd -g 28 rpc && useradd -c "Proprietário(a) do Processo de Segundo Plano de Ligação RPC" -d /dev /null -g rpc \ -s /bin/false -u 28 rpc Para a finalidade de conseguir que o "rpcbind" funcione corretamente, primeiro corrija o pacote para usar o nome correto do serviço: sed -i "/servname/s:rpcbind:sunrpc:" src/rpcbind.c Instale o "rpcbind" executando os seguintes comandos: patch -Np1 -i ../rpcbind-1.2.6-vulnerability_fixes-1.patch && ./configure --prefix=/usr \ --bindir=/usr/sbin \ --enable-warmstarts \ --with-rpcuser=rpc && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Explicações do Comando --with-rpcuser=rpc: Essa chave é usada de forma que o processo de segundo plano "rpcbind" executará como um(a) usuário(a) sem privilégios em vez do(a) usuário(a) "root". Configurando o rpcbind Unidade do systemd Habilite a unidade do "systemd" instalada com o pacote: systemctl enable rpcbind Conteúdo Aplicativo Instalado: rpcbind e rpcinfo Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas rpcbind é um servidor que converte números de aplicativos "RPC" em endereços universais. Ele precisa estar executando no dispositivo para estar apto a fazer chamadas "RPC" em um servidor nessa máquina rpcinfo faz uma chamada "RPC" para um servidor "RPC" e informa dados de acordo com as opções solicitadas rsync-3.2.7 Introdução ao rsync O pacote "rsync" contém o utilitário "rsync". Isso é útil para sincronizar arquivamentos grandes por intermédio de uma rede de intercomunicação. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4967]https://www.samba.org/ftp/rsync/src/rsync-3.2.7.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: f216f350ef56b9ba61bc313cb6ec2ed6 * Tamanho da transferência: 1,1 MB * Espaço em disco estimado exigido: 9,6 MB (com os testes; adicionar 24 MB para a documentação "HTML" da "API") * Tempo de construção estimado: 0,7 UPC (com os testes) Dependências do "rsync" Recomendadas [4968]popt-1.19 Opcionais [4969]Doxygen-1.9.7, [4970]lz4 e [4971]xxhash Instalação do rsync Por razões de segurança, executar o servidor "rsync" como um(a) usuário(a) e grupo sem privilégios é encorajado. Se você pretende executar o "rsync" como um processo de segundo plano, [então] crie o(a) usuário(a) e grupo "rsyncd" com os seguintes comandos emitidos pelo(a) usuário(a) "root": groupadd -g 48 rsyncd && useradd -c "Processo de segundo plano rsyncd" -m -d /home/rsync -g rsyncd \ -s /bin/false -u 48 rsyncd Instale o "rsync" executando os seguintes comandos: ./configure --prefix=/usr \ --disable-lz4 \ --disable-xxhash \ --without-included-zlib && make Se você tiver o "[4972]Doxygen-1.9.7" instalado e desejar construir a documentação "HTML" da "API", [então] emita: doxygen Para testar os resultados, emita: "make check". Agora, como o(a) usuário(a) "root": make install Se você construiu a documentação, [então] instale-a usando os seguintes comandos como o(a) usuário(a) "root": install -v -m755 -d /usr/share/doc/rsync-3.2.7/api && install -v -m644 dox/html/* /usr/share/doc/rsync-3.2.7/api Explicações do Comando --disable-lz4: Essa chave desabilita o suporte à compressão "LZ4". Observe que ele usa o algoritmo superior "zstd" quando essa chave estiver em uso, e o "zstd" é fornecido no LFS. --disable-xxhash: Essa chave desabilita o suporte avançado à soma de verificação "xxhash". Remova essa chave se você tiver instalado [4973]xxhash. --without-included-zlib: Essa chave habilita a compilação com a biblioteca "zlib" instalada no sistema. Configurando o rsync Arquivos de Configuração /etc/rsyncd.conf Informação de Configuração Para acesso de cliente a arquivos remotos, você possivelmente precise instalar o pacote "[4974]OpenSSH-9.4p1" para se conectar ao servidor remoto. Esta é uma configuração simples somente para download para configurar a execução do "rsync" como um servidor. Veja-se a página de manual "rsyncd.conf(5)" para opções adicionais (ou seja, autenticação de usuário(a)). cat > /etc/rsyncd.conf << "EOF" # Este é um arquivo básico de configuração do "rsync". # Ele exporta um módulo sem autenticação de usuário(a). motd file = /home/rsync/welcome.msg use chroot = yes [localhost] path = /home/rsync comment = Default rsync module read only = yes list = yes uid = rsyncd gid = rsyncd EOF Você consegue encontrar informações adicionais de configuração e documentação geral a respeito do "rsync" em [4975]https://rsync.samba.org/documentation.html. Unidade do systemd Observe que você só precisa iniciar o servidor "rsync" se quiser fornecer um arquivamento "rsync" em sua máquina local. Você não precisa desta unidade para executar o cliente "rsync". Instale a unidade "rsyncd.service" inclusa no pacote "" "[4976]blfs-systemd-units-20230816". make install-rsyncd Nota Esse pacote vem com dois tipos de unidades: um arquivo de serviço e um arquivo de soquete. O arquivo de serviço iniciará o processo de segundo plano "rsync" uma vez na inicialização e ele continuará em execução até que o sistema seja desligado. O arquivo de soquete fará com que o "systemd" escute na porta do "rsync" (padrão 873, precisa ser editado para qualquer outra coisa) e iniciará o processo de segundo plano "rsync" quando algo tentar se conectar a essa porta e parará o processo de segundo plano quando a conexão for terminada. Isso é chamado de ativação de soquete e é análogo a usar "{,x}inetd" em um sistema baseado em "SysVinit". Por padrão, o primeiro método é usado - o processo de segundo plano "rsync" é iniciado na inicialização e parado no desligamento. Se o método de soquete for desejado, [então] você precisa executar como o(a) usuário(a) "root": systemctl stop rsyncd && systemctl disable rsyncd && systemctl enable rsyncd.socket && systemctl start rsyncd.socket Observe que o método de soquete só é útil para cópias remotas de segurança. Para cópias locais de segurança, você precisará do método de serviço. Conteúdo Aplicativo Instalado: rsync e rsync-ssl Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Opcionalmente, /usr/share/doc/rsync-3.2.7 Descrições Curtas rsync é um substituto para o "rcp" (e o "scp") que tem muito mais recursos. Ele usa o “algoritmo rsync” que fornece um método muito rápido de sincronização de arquivos remotos. Ele faz isso enviando apenas as diferenças nos arquivos por intermédio do link, sem exigir que ambos os conjuntos de arquivos estejam presentes em uma extremidade do link antecipadamente rsync-ssl é um conjunto de comandos sequenciais auxiliares usado ao conectar-se a um processo de segundo plano "rsync" que tenha suporte "SSL" integrado Samba-4.18.6 Introdução ao Samba O pacote "Samba" fornece serviços de arquivo e impressão para clientes "SMB"/"CIFS" e rede de intercomunicação Windows para clientes Linux. O "Samba" também pode ser configurado como um substituto do Controlador de Domínio do Windows, um servidor de arquivos/impressão atuando como membro de um domínio do "Windows Active Directory" e um servidor de nomes "NetBIOS" ("RFC" 1001/1002) (que, entre outras coisas, fornece suporte de navegação "LAN"). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [4977]https://download.samba.org/pub/samba/stable/samba-4.18.6.tar. gz * Transferência (FTP): * Soma de verificação MD5 da transferência: d7e75ab3de1f48ea696c030c869c96f2 * Tamanho da transferência: 39 MB * Espaço em disco estimado exigido: 600 MB (adicionar 100 MB para quicktest) * Tempo de construção estimado: 1,7 UPC (usando paralelismo=4; adicionar 0,3 UPC para quicktest) Dependências do "Samba" Exigidas [4978]GnuTLS-3.8.1, [4979]jansson-2.14, [4980]JSON-4.10, [4981]libtirpc-1.3.3, [4982]Parse-Yapp-1.21 e [4983]rpcsvc-proto-1.4.4 Recomendadas [4984]Fuse-3.16.1, [4985]GPGME-1.21.0, [4986]ICU-73.2, [4987]libtasn1-4.19.0, [4988]libxslt-1.1.38 (para documentação), [4989]Linux-PAM-1.5.3 e [4990]OpenLDAP-2.6.6 Opcionais [4991]Avahi-0.8, [4992]BIND-9.18.18, [4993]Cups-2.4.6, [4994]Cyrus SASL-2.1.28, [4995]GDB-13.2, [4996]git-2.41.0, [4997]GnuPG-2.4.3 (exigido para ADS e suíte de teste), [4998]libaio-0.3.113, [4999]libarchive-3.7.1 (para tar em smbclient), [5000]libcap-2.69 com PAM, [5001]libgcrypt-1.10.2, [5002]libnsl-2.0.0, [5003]libunwind-1.6.2, [5004]lmdb-0.9.31, [5005]Markdown-3.4.1, [5006]MIT Kerberos V5-1.21.2, [5007]nss-3.92, [5008]popt-1.19, [5009]Talloc-2.4.1 (incluído), [5010]Vala-0.56.11, [5011]Valgrind-3.21.0 (opcionalmente usado pela suíte de teste), [5012]xfsprogs-6.4.0, [5013]cmocka, [5014]cryptography, [5015]ctdb (incluído), [5016]cwrap, [5017]dnspython, [5018]FAM, [5019]Gamin, [5020]GlusterFS, [5021]Heimdal (incluído), [5022]iso8601, [5023]ldb (incluído), [5024]M2Crypto (exigido para ADS), [5025]OpenAFS, [5026]pyasn1, [5027]PyGPGME (recomendado para ADS), [5028]tevent (incluído), [5029]tdb (incluído) e [5030]tracker-2 Opcionais (para a Suíte de Teste de Desenvolvedor(a)) Instale na ordem listada: [5031]six-1.16.0, [5032]pytest-7.4.0, [5033]argparse, [5034]extras, [5035]hypothesis, [5036]coverage, [5037]pytest-cov, [5038]doctools, [5039]unittest2, [5040]testtools, [5041]fixtures, [5042]python-mimeparse, [5043]contextlib2, [5044]traceback2, [5045]linecache2, [5046]testscenarios, [5047]testresources, [5048]virtualenv, [5049]pbr e [5050]python-subunit Observações de Editor(a): [5051]https://wiki.linuxfromscratch.org/blfs/wiki/samba4 Instalação do Samba Para suportar a suíte de teste, configure um ambiente virtual "Python" para alguns módulos "Python" fora do escopo do BLFS: python3 -m venv pyvenv && ./pyvenv/bin/pip3 install cryptography pyasn1 iso8601 Instale o "Samba" executando os seguintes comandos: PYTHON=$PWD/pyvenv/bin/python3 \ ./configure \ --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --with-piddir=/run/samba \ --with-pammodulesdir=/usr/lib/security \ --enable-fhs \ --without-ad-dc \ --enable-selftest && make Para testar os resultados, emita: "PATH=$PWD/pyvenv/bin:$PATH make quicktest". A suíte de teste produzirá linhas que parecem falhas, mas são inócuas. As últimas linhas da saída gerada deveriam informar "ALL OK" para uma execução boa do teste. Um resumo de quaisquer falhas pode ser encontrado em "./st/summary". Nota Além disso, suítes de teste para desenvolvedores(as) estão disponíveis. Se você instalou os módulos opcionais "Python" acima no ambiente virtual "Python" para construir esse pacote, [então] você consegue executar esses testes com "make test". Não é recomendado para o(a) construtor(a) médio(a) com cerca de duzentos e noventa (290) UPC e mais que um gigabyte de espaço em disco, e você deveria esperar cerca de setenta e três (73) erros e cerca de trinta (30) falhas originários dos mais que três mil (3.000) testes. Corrija um caminho rigidamente codificado para o interpretador "Python" 3: sed '1s@^.*$@#!/usr/bin/python3@' \ -i ./bin/default/source4/scripting/bin/samba-gpupdate.inst Se atualizar a partir de uma versão antiga do samba, [então] como o(a) usuário(a) "root", remova os arquivos antigos de suporte do "Python" para evitar alguns problemas: rm -rf /usr/lib/python3.11/site-packages/samba Ainda como o(a) usuário(a) "root", instale o pacote: make install && install -v -m644 examples/smb.conf.default /etc/samba && sed -e "s;log file =.*;log file = /var/log/samba/%m.log;" \ -e "s;path = /usr/spool/samba;path = /var/spool/samba;" \ -i /etc/samba/smb.conf.default && mkdir -pv /etc/openldap/schema && install -v -m644 examples/LDAP/README \ /etc/openldap/schema/README.samba && install -v -m644 examples/LDAP/samba* \ /etc/openldap/schema && install -v -m755 examples/LDAP/{get*,ol*} \ /etc/openldap/schema Explicações do Comando --enable-fhs: Atribui todos os outros caminhos de arquivo de maneira compatível com o "Filesystem Hierarchy Standard" ("FHS"). --without-ad-dc: Desabilita a funcionalidade do Controlador de Domínio do "Active Directory". Veja-se [5052]Configurar um Controlador de Domínio Samba do Active Directory para informações detalhadas. Remova essa chave se você tiver instalado os módulos "Python" necessários para suporte "ADS". Observe que o BLFS não fornece um conjunto de comandos sequenciais de inicialização ou unidade do "systemd" do Samba para um controlador de domínio do "Active Directory". --with-selftest-prefix=SELFTEST_PREFIX: Essa opção especifica o diretório de trabalho da suíte de teste (padrão=./st). install -v -m644 examples/LDAP/* /etc/openldap/schema: Esses comandos são usados para copiar esquemas de amostra do "Samba" para o diretório "schema" do "OpenLDAP". install -v -m644 ../examples/smb.conf.default /etc/samba: Isso copia um arquivo padrão "smb.conf" em "/etc/samba". Essa amostra de configuração não funcionará até que você a copie para "/etc/samba/smb.conf" e faça as mudanças apropriadas para a tua instalação. Veja-se a seção de configuração para os valores mínimos que precisam estar configurados. Configurando o Samba Arquivos de Configuração /etc/samba/smb.conf Impressão para clientes “SMB” Se você usa "CUPS" para serviços de impressão e deseja imprimir em uma impressora conectada a um cliente "SMB", [então] você precisa criar um dispositivo de estrutura de retaguarda "SMB". Para criar o dispositivo, emita o seguinte comando como o(a) usuário(a) "root": install -dvm 755 /usr/lib/cups/backend && ln -v -sf /usr/bin/smbspool /usr/lib/cups/backend/smb Informação de Configuração Devido à complexidade e aos diversos usos do "Samba", a configuração completa para todos os recursos do pacote está bem além do escopo do livro BLFS. Esta seção fornece instruções para configurar o arquivo "/etc/samba/smb.conf" para dois cenários comuns. O conteúdo completo de "/etc/samba/smb.conf" dependerá do propósito da instalação do "Samba". Nota Você possivelmente ache mais fácil copiar os parâmetros de configuração mostrados abaixo em um arquivo "/etc/samba/smb.conf" vazio em vez de copiar e editar o arquivo padrão conforme mencionado na seção “Explicações do Comando”. Como você cria/edita o arquivo "/etc/samba/smb.conf" será deixado a seu critério. Certifique-se de que o arquivo só possa ser escrevível pelo(a) usuário(a) "root" (modo 644). Cenário 1: instalação Mínima Autônoma Somente para Cliente Escolha essa variante se você quiser somente transferir arquivos usando "smbclient", montar compartilhamentos do Windows e imprimir em impressoras Windows e não quiser compartilhar teus arquivos e impressoras com máquinas Windows. Um arquivo "/etc/samba/smb.conf" com os seguintes três parâmetros é suficiente: [global] workgroup = GRUPO_DE_TRABALHO dos charset = cp850 unix charset = ISO-8859-1 Os valores nesse exemplo especificam que o computador pertence a um grupo de trabalho do Windows chamado “GRUPO_DE_TRABALHO”, usa o conjunto de caracteres “cp850” na rede ao conversar com "MS-DOS" e "MS Windows 9x", e que os nomes dos arquivos são armazenados na codificação “ISO-8859-1” no disco. Ajuste esses valores adequadamente para a tua instalação. O valor “unix charset” precisa ser o mesmo que a saída gerada de "locale charmap" quando executado com a variável "LANG" configurada para o teu local preferido, caso contrário o comando "ls" possivelmente não exiba nomes de arquivos corretos dos arquivos baixados. Não existe necessidade de executar quaisquer servidores "Samba" nesse cenário; portanto, você não precisa instalar as unidades "systemd" fornecidas. Cenário 2: Servidor Autônomo de Arquivo/Impressão Escolha essa variante se quiser compartilhar teus arquivos e impressoras com máquinas Windows em teu grupo de trabalho, além dos recursos descritos no Cenário 1. Nesse caso, o arquivo "/etc/samba/smb.conf.default" possivelmente seja um bom modelo para começar. Além disso, você deveria adicionar os parâmetros “dos charset” e “unix charset” à seção “[global]” conforme descrito no Cenário 1 para a finalidade de evitar corrupção de nome de arquivo . Por razões de segurança, você possivelmente deseje definir "path = /home/alice/arquivos-compartilhados", assumindo que teu nome de usuário(a) seja alice e que você quer somente compartilhar os arquivos nesse diretório, em vez de todo o teu "home". Em seguida, substitua "homes" por "arquivos-compartilhados" e mude também o “comment” se usado o arquivo de configuração abaixo ou o "/etc/samba/smb.conf.default" para criar o teu. O arquivo de configuração a seguir cria um compartilhamento separado para cada diretório inicial de usuário e também torna todas as impressoras disponíveis para máquinas Windows: [global] workgroup = GRUPO_DE_TRABALHO dos charset = cp850 unix charset = ISO-8859-1 [homes] comment = Diretórios Home browseable = no writable = yes [printers] comment = Todas Impressoras path = /var/spool/samba browseable = no guest ok = no printable = yes Outros parâmetros que você possivelmente queira personalizar na seção “[global]” incluem: server string = security = hosts allow = load printers = log file = max log size = socket options = local master = Consulte os comentários no arquivo "/etc/samba/smb.conf.default" para informações relativas a esses parâmetros. Como os processos de segundo plano smbd e nmbd são necessários nesse caso, instale a unidade do systemd samba. Certifique-se de executar smbpasswd (com a opção -a para adicionar usuários(as)) para habilitar e configurar senhas para todas as contas que precisam de acesso ao Samba. Usando a estrutura de retaguarda passdb padrão do Samba, qualquer usuário(a) que você tentar adicionar também será exigido(a) existir no arquivo /etc/passwd. Exigências Avançadas Cenários mais complexos envolvendo controle de domínio ou associação são possíveis. Essas configurações são tópicos avançados e não podem ser abordadas adequadamente no BLFS. Muitos livros completos foram escritos apenas a respeito desses tópicos. Observe que, em alguns cenários de associação de domínio, o processo de segundo plano "winbindd" e a unidade do "systemd" correspondente são necessários. Conta de visitante A instalação padrão do "Samba" usa o(a) usuário(a) "nobody" para acesso de visitante ao servidor. Isso pode ser substituído configurando-se o parâmetro "guest account =" no arquivo "/etc/samba/smb.conf". Se você utilizar o parâmetro "guest account =", [então] certifique-se de que esse(a) usuário(a) exista no arquivo "/etc/passwd". Unidades do “systemd” Para iniciar os processos de segundo plano do "Samba" na inicialização, instale as unidades do "systemd" a partir do pacote "[5053]blfs-systemd-units-20230816" executando o seguinte comando como o(a) usuário(a) "root": make install-samba Para iniciar o processo de segundo plano "winbindd" na inicialização, instale a unidade do "systemd" a partir do pacote "[5054]blfs-systemd-units-20230816" executando o seguinte comando como o(a) usuário(a) "root": make install-winbindd Nota Esse pacote vem com dois tipos de unidades: um arquivo de serviço e um arquivo de soquete. O arquivo de serviço iniciará o processo de segundo plano "smbd" uma vez na inicialização e ele continuará executando até o sistema ser desligado. O arquivo de soquete fará com que o "systemd" escute na porta do "smbd" (padrão 445, precisa ser editado para qualquer outra coisa) e iniciará o processo de segundo plano "smbd" quando algo tentar se conectar a essa porta e parará o processo de segundo plano quando a conexão for terminada. Isso é chamado de ativação de soquete e é análogo a usar "{,x}inetd" em um sistema baseado em "SysVinit". Por padrão, o primeiro método é usado - o processo de segundo plano "smbd" é iniciado na inicialização e parado no desligamento. Se o método de soquete for desejado, [então] você precisa executar os seguintes comandos como o(a) usuário(a) "root": systemctl stop smbd && systemctl disable smbd && systemctl enable smbd.socket && systemctl start smbd.socket Observe que somente o processo de segundo plano "smbd" pode ser ativado por soquete. Conteúdo Aplicativos Instalados: cifsdd, dbwrap_tool, dumpmscat, eventlogadm, gentest, ldbadd, ldbdel, ldbedit, ldbmodify, ldbrename, ldbsearch, locktest, masktest, mdsearch, mvxattr, ndrdump, net, nmbd, nmblookup, ntlm_auth, oLschema2ldif, pdbedit, profiles, regdiff, regpatch, regshell, regtree, rpcclient, samba-gpupdate, samba-regedit, samba-tool, sharesec, smbcacls, smbclient, smbcontrol, smbcquotas, smbd, smbget, smbpasswd, smbspool, smbstatus, smbtar, smbtorture, smbtree, tdbbackup, tdbdump, tdbrestore, tdbtool, testparm, wbinfo e winbindd Bibliotecas Instaladas: libdcerpc-binding.so, libdcerpc-samr.so, libdcerpc-server-core.so, libdcerpc.so, libndr-krb5pac.so, libndr-nbt.so, libndr.so, libndr-standard.so, libnetapi.so, libnss_winbind.so, libnss_wins.so, libsamba-credentials.so, libsamba-errors.so, libsamba-hostconfig.so, libsamba-passdb.so, libsamba-policy.cpython-310-x86_64-linux-gnu.so, libsamba-util.so, libsamdb.so, libsmbclient.so, libsmbconf.so, libsmbldap.so, libtevent-util.so, libwbclient.so e módulos de sistemas de arquivos e suporte sob /usr/lib/{python3.11,samba} Diretórios Instalados: /etc/samba, /run/samba, /usr/include/samba-4.0, /usr/lib/python3.11/site-packages/samba, /usr/{lib,libexec,share}/samba e /var/{cache,lib,lock,log,run}/samba Descrições Curtas cifsdd é o comando "dd" para "SMB" dbwrap_tool é usado para ler e manipular bases de dados "TDB"/"CTDB" usando a interface "dbwrap" dumpmscat despeja o conteúdo de arquivos de catálogo do "MS" eventlogadm é usado para escrever registros em registros de eventos a partir do "STDIN", adicionar a fonte especificada e entradas de registro de registro de eventos de "DLL" e exibir os nomes de registro de eventos ativos (a partir de "smb.conf") gentest é usado para executar operações genéricas aleatórias "SMB" contra dois servidores "SMB" e mostrar as diferenças de comportamento ldbadd é um utilitário de linha de comando para adicionar registros a uma base de dados "LDB" ldbdel é um utilitário de linha de comando para deletar registros de base de dados "LDB" ldbedit permite que você edite bases de dados "LDB" usando teu editor preferido ldbmodify permite que você modifique registros em uma base de dados "LDB" ldbrename permite que você renomeie bases de dados "LDB" ldbsearch pesquisa em uma base de dados "LDB" por registros que correspondam a uma expressão especificada locktest é usado para encontrar diferenças no bloqueio entre dois servidores "SMB" masktest é usado para encontrar diferenças na correspondência de curingas entre a implementação do Samba e aquela de um servidor remoto mdsearch executa pesquisas "Spotlight" em um servidor "SMB" mvxattr é usado para renomear recursivamente atributos estendidos ndrdump é um analisador e despejador de pacotes "DCE"/"RPC" net é uma ferramenta para administração de servidores "Samba" e "CIFS" remotos, semelhante ao utilitário "net" para "DOS"/"Windows" nmbd é o servidor de nomes "NetBIOS" do "Samba" nmblookup é usado para consultar nomes "NetBIOS" e mapeá-los para endereços "IP" ntlm_auth é uma ferramenta para permitir acesso externo à função de autenticação "NTLM" do "Winbind" oLschema2ldif converte esquemas "LDAP" em "LDIF" compatível com "LDB" pdbedit é uma ferramenta usada para gerenciar a base de dados "SAM" profiles é um utilitário que informa e muda "SIDs" em arquivos de registro do "Windows" regdiff é um aplicativo "Diff" para arquivos de registro do "Windows" regpatch aplica remendos de registro aos arquivos de registro regshell é um navegador de arquivos de registro do "Windows" usando "Readline" regtree é um visualizador de registro em modo texto rpcclient é usado para executar funções "MS-RPC" do lado do cliente samba-gpupdate permite que você edite "Group Policy Objects" ("GPOs") da Microsoft samba-regedit é uma ferramenta baseada em "ncurses" para gerenciar o registro do Samba samba-tool é a principal ferramenta de administração do Samba sharesec manipula permissões de compartilhamento de "ACL" em compartilhamentos de arquivos "SMB" smbcacls é usado para manipular listas de controle de acesso do "Windows NT" smbclient é um utilitário de acesso "SMB"/"CIFS", semelhante ao "FTP" smbcontrol é usado para controlar a execução dos processos de segundo plano "smbd", "nmbd" e "winbindd" smbcquotas é usado para manipular cotas do "Windows NT" em compartilhamentos de arquivos "SMB" smbd é o principal processo de segundo plano do "Samba" o qual fornece serviços "SMB"/"CIFS" aos clientes smbget é um utilitário simples com semântica semelhante ao "wget", que consegue baixar arquivos a partir de servidores "SMB". Você consegue especificar os arquivos que gostaria de baixar na linha de comando smbpasswd muda uma senha do "Samba" de um usuário smbspool envia uma trabalho de impressão para uma impressora "SMB" smbstatus informa as conexões atuais do "Samba" smbtar é um conjunto de comandos sequenciais de "shell" usado para produzir cópia de segurança de compartilhamentos "SMB"/"CIFS" diretamente em unidades de fita do Linux ou em um arquivo smbtorture é uma suíte de teste que executa vários testes em um servidor "SMB" smbtree é um navegador de rede de intercomunicação "SMB" baseado em texto tdbbackup é uma ferramenta para produzir cópia de segurança ou para validar a integridade de arquivos .tdb do Samba tdbdump é uma ferramenta usada para imprimir o conteúdo de um arquivo .tdb do Samba tdbrestore é uma ferramenta para criar um arquivo .tdb do Samba a partir de um ntdbdump tdbtool é uma ferramenta que permite a manipulação simples de base de dados a partir da linha de comando testparm verifica um arquivo "smb.conf" quanto à sintaxe correta wbinfo consulta um processo de segundo "winbindd" em execução winbindd resolve nomes a partir de servidores "Windows NT" libnss_winbind.so fornece funções da "API" "Name Service Switch" para resolver nomes a partir de servidores "NT" libnss_wins.so fornece funções de "API" para implementação do Samba do "Windows Internet Naming Service" libnetapi.so fornece funções de "API" para as ferramentas de administração usadas para servidores Samba e "CIFS" remotos libsmbclient.so fornece funções de "API" para as ferramentas de cliente "SMB" do Samba libwbclient.so fornece funções de "API" para serviços de cliente de domínio do "Windows" Wget-1.21.4 Introdução ao Wget O pacote Wget contém um utilitário útil para transferência não interativa de arquivos a partir da "Web". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5055]https://ftp.gnu.org/gnu/wget/wget-1.21.4.tar.gz * Transferência (FTP): [5056]ftp://ftp.gnu.org/gnu/wget/wget-1.21.4.tar.gz * Soma de verificação MD5 da transferência: e7f7ca2f215b711f76584756ebd3c853 * Tamanho da transferência: 4,8 MB * Espaço em disco estimado exigido: 36 MB (adicionar 27 MB para testes) * Tempo de construção estimado: 0,3 UPC (adicionar 0,3 UPC para testes) Dependências do "Wget" Recomendadas [5057]make-ca-1.12 (tempo de execução) Opcionais [5058]GnuTLS-3.8.1, [5059]HTTP-Daemon-6.16 (para a suíte de teste), [5060]IO-Socket-SSL-2.083 (para a suíte de teste), [5061]libidn2-2.3.4, [5062]libpsl-0.21.2, [5063]PCRE-8.45 ou [5064]pcre2-10.42 e [5065]Valgrind-3.21.0 (para a suíte de teste) Instalação do Wget Instale o "Wget" executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc \ --with-ssl=openssl && make Para testar os resultados, emita: "make check". Alguns testes possivelmente falhem quando os testes "Valgrind" estiverem habilitados. Agora, como o(a) usuário(a) "root": make install Explicações do Comando --sysconfdir=/etc: Isso realoca o arquivo de configuração de "/usr/etc" para "/etc". --with-ssl=openssl: Isso permite que o aplicativo use o "OpenSSL" em vez do "[5066]GnuTLS-3.8.1". --enable-valgrind-tests: Isso permite que os testes sejam executados sob o "Valgrind". Configurando o Wget Arquivos de Configuração /etc/wgetrc e ~/.wgetrc Conteúdo Aplicativo Instalado: wget Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas wget recupera arquivos a partir da "Web" usando os protocolos "HTTP", "HTTPS" e "FTP". Ele foi projetado para ser não interativo, para operações em segundo plano ou autônomas Configurando o Núcleo Linux para Sem Fios Antes de usar qualquer ferramenta de espaço do(a) usuário(a) para conectar-se a um ponto de acesso sem fio, o núcleo Linux precisa ser configurado para controlar a NIC sem fio corretamente. Habilite as seguintes opções na configuração do núcleo, bem como controladores específicos de dispositivos para o teu hardware e recompile o núcleo, se necessário: [*] Networking support ---> [NET] [*] Wireless ---> [WIRELESS] <*/M> cfg80211 - wireless configuration API [CFG80211] < /*/M> Generic IEEE 802.11 Networking Stack (mac80211) [MAC80211] Device Drivers ---> [*] Network device support ---> [NETDEVICES] [*] Wireless LAN ---> [WLAN] Abra o submenu “Wireless LAN” e selecione as opções que suportam teu hardware. lspci oriundo de [5067]pciutils-3.10.0 ou lsusb oriundo de [5068]usbutils-015 podem ser usados para visualizar tua configuração de hardware. Observe que muitas (embora nem todas) opções para as NICs sem fio dependem de CONFIG_MAC80211. Depois que os controladores corretos forem carregados, a interface aparecerá em /sys/class/net ou na saída gerada do comando ip link. Muitos controladores de NIC sem fio exigem firmware. Se você tiver habilitado o controlador correto na configuração do núcleo, mas ele falhar para carregar (com mensagens como “Direct firmware load for failed with error -2”, significa que você precisa instalar o firmware ou a NIC sem fio não funcionará. Leia-se [5069]Acerca de Firmware para mais detalhes. iw-5.19 Introdução ao iw "iw" é um novo utilitário de configuração "CLI" baseado em "nl80211" para dispositivos sem fio. Ele suporta todos os novos controladores que foram adicionados recentemente ao núcleo. A antiga ferramenta "iwconfig", que usa a interface "Wireless Extensions", está obsoleta e é altamente recomendado mudar para o "iw" e "nl80211". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5070]https://www.kernel.org/pub/software/network/iw/iw-5.19.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: fd17ca2dd5f160a5d9e5fd3f8a69f416 * Tamanho da transferência: 152 KB * Espaço em disco estimado exigido: 4,5 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "iw" Exigidas [5071]libnl-3.7.0 Exigidas (tempo de execução) [5072]Configurando o Núcleo Linux para Sem Fios Configuração do Núcleo Para usar iw, o núcleo precisa ter os controladores apropriados e outros suportes disponíveis. Leia-se [5073]Configurando o Núcleo Linux para Sem Fios para detalhes. Instalação do iw Para instalar o "iw", use os seguintes comandos: sed -i "/INSTALL.*gz/s/.gz//" Makefile && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Explicações do Comando sed ...: Instale páginas de manual descompactadas de acordo com outras páginas de manual. Conteúdo Aplicativos Instalados: iw Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas iw mostra/manipula dispositivos sem fio e a configuração deles Wireless Tools-29 Introdução ao Wireless Tools A "Wireless Extension" ("WE") é uma "API" genérica no núcleo Linux que permite que um controlador exponha configurações e estatísticas específicas de "LANs" sem fio comuns para o espaço de usuário(a). Um conjunto de ferramentas pode suportar todas as variações de "LANs" sem fio, independentemente do tipo delas, desde que o controlador suporte "Wireless Extensions". Os parâmetros "WE" também podem ser mudados dinamicamente sem reiniciar o controlador (ou o Linux). O pacote "Wireless Tools" ("WT") é um conjunto de ferramentas que permite a manipulação das "Wireless Extensions". Elas usam uma interface textual para suportar as "Wireless Extensions" completas. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5074]https://hewlettpackard.github.io/wireless-tools/wireless_tool s.29.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: e06c222e186f7cc013fd272d023710cb * Tamanho da transferência: 288 KB * Espaço em disco estimado exigido: 2,0 MB * Tempo de construção estimado: menos que 0,1 UPC Transferências Adicionais * Remendo exigido: [5075]https://www.linuxfromscratch.org/patches/blfs/12.0/wireless_t ools-29-fix_iwlist_scanning-1.patch Dependências do Wireless Tools Exigidas (tempo de execução) [5076]Configurando o Núcleo Linux para Sem Fios Observações de Editor(a): [5077]https://wiki.linuxfromscratch.org/blfs/wiki/WirelessTools Configuração do Núcleo Para usar Wireless Tools, o núcleo precisa ter os controladores apropriados e outros suportes disponíveis. Além das configurações mencionadas em [5078]Configurando o Núcleo Linux para Sem Fios, também é necessário habilitar as seguintes opções na configuração do núcleo: [*] Networking support ---> [NET] [*] Wireless ---> [WIRELESS] <*/M> cfg80211 - wireless configuration API [CFG80211] [*] cfg80211 wireless extensions compatibility [CFG80211_WEXT] Instalação do Wireless Tools Primeiro, aplique um remendo que corrige um problema quando numerosas redes de intercomunicação estiverem disponíveis: patch -Np1 -i ../wireless_tools-29-fix_iwlist_scanning-1.patch Para instalar o "Wireless Tools", use os seguintes comandos: make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make PREFIX=/usr INSTALL_MAN=/usr/share/man install Explicações do Comando INSTALL_MAN=/usr/share/man: Instala as páginas de manual em "/usr/share/man" em vez de "/usr/man". Conteúdo Aplicativos Instalados: ifrename, iwconfig, iwevent, iwgetid, iwlist, iwpriv e iwspy Biblioteca Instalada: libiw.so Diretórios Instalados: Nenhum(a) Descrições Curtas ifrename renomeia interfaces de rede de intercomunicação baseado em vários critérios estáticos iwconfig configura uma interface de rede de intercomunicação sem fio iwevent exibe eventos sem fio gerados por controladores e mudanças de configuração iwgetid informa "ESSID", "NWID" ou endereço "AP"/"Cell" de redes de intercomunicação sem fio iwlist obtém informações sem fio detalhadas a partir de uma interface sem fio iwpriv configura parâmetros opcionais (privados) de uma interface de rede de intercomunicação sem fio iwspy obtém estatísticas sem fio a partir de um nó específico libiw.so contém funções exigidas pelos aplicativos sem fio e fornece uma "API" para outros aplicativos wpa_supplicant-2.10 Introdução ao WPA Supplicant "WPA Supplicant" é um cliente "Wi-Fi Protected Access" ("WPA") e suplicante "IEEE 802.1X". Ele implementa a negociação de chave "WPA" com um Autenticador "WPA" e a autenticação "Extensible Authentication Protocol" ("EAP") com um Servidor de Autenticação. Além disso, ele controla o deslocamento e a autenticação/associação "IEEE 802.11" do controlador de "LAN" sem fio. Isso é útil para conectar-se a um ponto de acesso sem fio protegido por senha. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5079]https://w1.fi/releases/wpa_supplicant-2.10.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: d26797fcb002898d4ee989179346e1cc * Tamanho da transferência: 3,4 MB * Espaço em disco estimado exigido: 37 MB * Tempo de construção estimado: 0,5 UPC (com a GUI opcional) Dependências do "WPA Supplicant" Exigidas (tempo de execução) [5080]Configurando o Núcleo Linux para Sem Fios Recomendadas [5081]desktop-file-utils-0.26 (para executar update-desktop-database) e [5082]libnl-3.7.0 Opcionais [5083]libxml2-2.10.4 e ([5084]Qt-5.15.10 ou [5085]qt-alternate-5.15.10) Configuração do Núcleo Para usar wpa_supplicant, o núcleo precisa ter os controladores apropriados e outros suportes disponíveis. Leia-se [5086]Configurando o Núcleo Linux para Sem Fios para detalhes. Instalação do WPA Supplicant Primeiro você precisará criar um arquivo de configuração inicial para o processo de construção. Você pode ler "wpa_supplicant/README" e "wpa_supplicant/defconfig" para a explicação das opções a seguir, bem como outras opções que podem ser usadas. Crie um arquivo de configuração de construção que deveria funcionar para configurações "WiFi" padrão executando o seguinte comando: cat > wpa_supplicant/.config << "EOF" CONFIG_BACKEND=file CONFIG_CTRL_IFACE=y CONFIG_DEBUG_FILE=y CONFIG_DEBUG_SYSLOG=y CONFIG_DEBUG_SYSLOG_FACILITY=LOG_DAEMON CONFIG_DRIVER_NL80211=y CONFIG_DRIVER_WEXT=y CONFIG_DRIVER_WIRED=y CONFIG_EAP_GTC=y CONFIG_EAP_LEAP=y CONFIG_EAP_MD5=y CONFIG_EAP_MSCHAPV2=y CONFIG_EAP_OTP=y CONFIG_EAP_PEAP=y CONFIG_EAP_TLS=y CONFIG_EAP_TTLS=y CONFIG_IEEE8021X_EAPOL=y CONFIG_IPV6=y CONFIG_LIBNL32=y CONFIG_PEERKEY=y CONFIG_PKCS12=y CONFIG_READLINE=y CONFIG_SMARTCARD=y CONFIG_WPS=y CFLAGS += -I/usr/include/libnl3 EOF Se você deseja usar o "WPA Supplicant" com o "[5087]NetworkManager-1.44.0", [então] certifique-se de ter instalado o "[5088]dbus-1.14.8" e o "[5089]libxml2-2.10.4" então adicione as seguintes opções ao arquivo de configuração da construção do "WPA Supplicant" executando o seguinte comando: cat >> wpa_supplicant/.config << "EOF" CONFIG_CTRL_IFACE_DBUS=y CONFIG_CTRL_IFACE_DBUS_NEW=y CONFIG_CTRL_IFACE_DBUS_INTRO=y EOF Instale o WPA Supplicant executando os seguintes comandos: cd wpa_supplicant && make BINDIR=/usr/sbin LIBDIR=/usr/lib Se você tiver instalado o ([5090]Qt-5.15.10 ou [5091]qt-alternate-5.15.10) e desejar construir o aplicativo GUI do WPA Supplicant, execute os seguintes comandos: Nota O seguinte nome de diretório é rotulado como qt4, mas é compatível com ([5092]Qt-5.15.10 ou [5093]qt-alternate-5.15.10). pushd wpa_gui-qt4 && qmake wpa_gui.pro && make && popd Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": install -v -m755 wpa_{cli,passphrase,supplicant} /usr/sbin/ && install -v -m644 doc/docbook/wpa_supplicant.conf.5 /usr/share/man/man5/ && install -v -m644 doc/docbook/wpa_{cli,passphrase,supplicant}.8 /usr/share/man/ma n8/ Instale os arquivos de suporte do "systemd" executando o seguinte comando como o(a) usuário(a) "root": install -v -m644 systemd/*.service /usr/lib/systemd/system/ Se você tiver construído o "WPA Supplicant" com suporte ao "D-Bus", [então] você precisará instalar os arquivos de configuração do "D-Bus". Instale-os executando os seguintes comandos como o(a) usuário(a) "root": install -v -m644 dbus/fi.w1.wpa_supplicant1.service \ /usr/share/dbus-1/system-services/ && install -v -d -m755 /etc/dbus-1/system.d && install -v -m644 dbus/dbus-wpa_supplicant.conf \ /etc/dbus-1/system.d/wpa_supplicant.conf Além disso, habilite o "wpa_supplicant.service", de forma que o "systemd" consiga ativar corretamente o serviço "D-Bus". Observe que o serviço por conexão e o serviço "D-Bus" não podem ser habilitados ao mesmo tempo. Execute o seguinte comando como o(a) usuário(a) "root": systemctl enable wpa_supplicant Se você tiver construído o aplicativo "GUI" do "WPA Supplicant", [então] instale-o executando os seguintes comandos como o(a) usuário(a) "root": install -v -m755 wpa_gui-qt4/wpa_gui /usr/bin/ && install -v -m644 doc/docbook/wpa_gui.8 /usr/share/man/man8/ && install -v -m644 wpa_gui-qt4/wpa_gui.desktop /usr/share/applications/ && install -v -m644 wpa_gui-qt4/icons/wpa_gui.svg /usr/share/pixmaps/ Nota Você precisará reiniciar o processo de segundo plano "D-Bus" do sistema antes que possa usar a interface "WPA Supplicant" do "D-Bus". Nota Esse pacote instala arquivos de área de trabalho na hierarquia /usr/share/applications e você pode melhorar o desempenho do sistema e o uso de memória atualizando /usr/share/applications/mimeinfo.cache. Para realizar a atualização, você precisa ter o [5094]desktop-file-utils-0.26 instalado e emitir o seguinte comando como o(a) usuário(a) root: update-desktop-database -q Configurando o wpa_supplicant Arquivo de Configuração /etc/wpa_supplicant/wpa_supplicant-*.conf Informação de Configuração Para se conectar a um ponto de acesso que usa uma senha, você precisa colocar a chave pré compartilhada em "/etc/wpa_supplicant/wpa_supplicant-wifi0.conf". "SSID" é a sequência de caracteres que o ponto de acesso/roteador transmite para se identificar. Execute o seguinte comando como o(a) usuário(a) "root": install -v -dm755 /etc/wpa_supplicant && wpa_passphrase SSID SENHA_SECRETA > /etc/wpa_supplicant/wpa_supplicant-wifi0.con f "/etc/wpa_supplicant/wpa_supplicant-wifi0.conf " pode conter os detalhes de vários pontos de acesso. Quando o "wpa_supplicant" for iniciado, ele escaneará os "SSIDs" que conseguir ver e escolherá a senha apropriada para se conectar. Se você deseja se conectar a um ponto de acesso que não seja protegido por senha, [então] coloque uma entrada como esta em "/etc/wpa_supplicant/wpa_supplicant-wifi0.conf". Substitua "Algum-SSID" pelo "SSID" do ponto de acesso/roteador. network={ ssid="Algum-SSID" key_mgmt=NONE } Conetar-se a um novo ponto de acesso que não esteja no arquivo de configuração pode ser realizada manualmente por meio da linha de comando ou da "GUI", mas precisa ser feito por meio de um(a) usuário(a) privilegiado(a). Para fazer isso, adicione o seguinte ao arquivo de configuração: ctrl_interface=DIR=/run/wpa_supplicant GROUP= update_config=1 Substitua o acima por um grupo do sistema onde os(as) membros(as) tem a capacidade de se conectarem a um ponto de acesso sem fio. Existem muitas opções que você poderia usar para ajustar como se conecta a cada ponto de acesso. Elas estão descritas com alguns detalhes no arquivo "wpa_supplicant/wpa_supplicant.conf" na árvore do fonte. Conectando-se a um Ponto de Acesso Existem três tipos de unidades do "systemd" que foram instaladas: * wpa_supplicant@.service * wpa_supplicant-nl80211@.service * wpa_supplicant-wired@.service A única diferença entre elas três é qual controlador é usado para conectar (opção "-D"). A primeira usa o controlador padrão, a segunda usa o controlador "nl80211" e a terceira usa o controlador com fio. Você consegue se conectar ao ponto de acesso sem fio executando o seguinte comando como o(a) usuário(a) "root": systemctl start wpa_supplicant@wlan0 Para conectar-se ao ponto de acesso sem fio na inicialização, simplesmente habilite o serviço "wpa_supplicant" apropriado executando o seguinte comando como o(a) usuário(a) "root": systemctl enable wpa_supplicant@wlan0 Dependendo da tua configuração, você pode substituir o "wpa_supplicant@.service" por qualquer outro listado acima. Para atribuir um endereço de rede de intercomunicação para a tua interface sem fio, consulte a página [5095]Configuração Geral de Rede de Intercomunicação no LFS. Conteúdo Aplicativos Instalados: wpa_gui, wpa_supplicant, wpa_passphrase e wpa_cli Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas wpa_gui é um aplicativo gráfico de estrutura de interação direta com o(a) usuário(a) para interagir com o "wpa_supplicant" wpa_supplicant é um processo de segundo plano que consegue se conectar a um ponto de acesso sem fio protegido por senha wpa_passphrase pega um "SSID" e uma senha e gera uma configuração simples que o "wpa_supplicant" consiga entender wpa_cli é uma interface de linha de comando usada para controlar um processo de segundo plano "wpa_supplicant" em execução Capítulo 16. Utilitários de Trabalho em Rede de Intercomunicação Este capítulo contém algumas ferramentas que serão úteis quando a rede de intercomunicação precisar de investigação. Avahi-0.8 Introdução ao Avahi O pacote Avahi é um sistema que facilita a descoberta de serviços em uma rede de intercomunicação local. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5096]https://github.com/lathiat/avahi/releases/download/v0.8/avahi -0.8.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 229c6aa30674fc43c202b22c5f8c2be7 * Tamanho da transferência: 1,5 MB * Espaço em disco estimado exigido: 32 MB * Tempo de construção estimado: 0,3 UPC Transferências Adicionais * Remendo exigido: [5097]https://www.linuxfromscratch.org/patches/blfs/12.0/avahi-0.8- ipv6_race_condition_fix-1.patch Dependências do "Avahi" Exigidas [5098]GLib-2.76.4 Recomendadas [5099]gobject-introspection-1.76.1, [5100]GTK+-2.24.33, [5101]GTK+-3.24.38, [5102]libdaemon-0.14, [5103]libglade-2.6.4 e ([5104]Qt-5.15.10 ou [5105]qt-alternate-5.15.10) Opcionais [5106]D-Bus Python-1.3.2, [5107]libevent-2.1.12, [5108]PyGTK-2.24.0, [5109]Doxygen-1.9.7 e [5110]xmltoman (para gerar documentação) Instalação do Avahi Deveria existir um(a) usuário(a) e um grupo dedicado(a) para assumir o controle do processo de segundo plano "avahi-daemon" depois que ele for iniciado. Emita os seguintes comandos como o(a) usuário(a) "root": groupadd -fg 84 avahi && useradd -c "Proprietário(a) do Processo de Segundo Plano Avahi" -d /run/avahi-da emon -u 84 \ -g avahi -s /bin/false avahi Também deveria existir um grupo de acesso privilegiado dedicado para clientes do "Avahi". Emita o seguinte comando como o(a) usuário(a) "root": groupadd -fg 86 netdev Corrija uma regressão que resulta em uma condição de corrida quando o "IPv6" está em uso e vários adaptadores de rede de intercomunicação estiverem presentes no sistema: patch -Np1 -i ../avahi-0.8-ipv6_race_condition_fix-1.patch Corrija uma vulnerabilidade de segurança no "avahi-daemon": sed -i '426a if (events & AVAHI_WATCH_HUP) { \ client_free(c); \ return; \ }' avahi-daemon/simple-protocol.c Instale o "Avahi" executando os seguintes comandos: ./configure \ --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --disable-static \ --disable-libevent \ --disable-mono \ --disable-monodoc \ --disable-python \ --disable-qt3 \ --disable-qt4 \ --enable-core-docs \ --with-distro=none \ --with-dbus-system-address='unix:path=/run/dbus/system_bus_socket' && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --disable-libevent: Esse parâmetro desabilita o uso da "[5111]libevent-2.1.12". Remova se você a tiver instalado. --disable-mono: Esse parâmetro desabilita as ligações "Mono". --disable-monodoc: Esse parâmetro desabilita a documentação para as ligações "Mono". --disable-python: Esse parâmetro desabilita os conjuntos de comandos sequenciais que dependem do Python. Ele também permite que uma instalação regular complete exitosamente. --disable-qt3: Esse parâmetro desabilita a tentativa de construir as partes obsoletas do "Qt3" do pacote. --disable-qt4: Esse parâmetro desabilita a tentativa de construir as partes obsoletas "Qt4Core" do pacote. --enable-core-docs: Esse parâmetro habilita a construção da documentação. --with-distro=none: Existe um conjunto de comandos sequenciais obsoletos de inicialização na distribuição para o LFS. Essa opção o desabilita. --with-dbus-system-address=...: Essa opção evita que o pacote referencie o diretório obsoleto "/var/run". --disable-dbus: Esse parâmetro desabilita o uso do "D-Bus". --disable-gtk: Esse parâmetro desabilita o uso do "GTK+2". --disable-gtk3: Esse parâmetro desabilita o uso do "GTK+3". --disable-qt5: Esse parâmetro desabilita o uso do "Qt5" e permite construir sem ele. --disable-libdaemon: Esse parâmetro desabilita o uso do "libdaemon". Se você usar essa opção, [então] o "avahi-daemon" não será construído. --enable-tests: Essa opção habilita a construção de testes e exemplos. --enable-compat-howl: Essa opção habilita a camada de compatibilidade para o "HOWL". --enable-compat-libdns_sd: Essa opção habilita a camada de compatibilidade para o "libdns_sd". Configurando o avahi Conjunto de Comandos Sequenciais de Inicialização Para iniciar o processo de segundo plano avahi-daemon na inicialização, habilite a unidade do systemd instalada anteriormente executando o seguinte comando como o(a) usuário(a) root: systemctl enable avahi-daemon Para iniciar o processo de segundo plano avahi-dnsconfd na inicialização, habilite a unidade do systemd instalada anteriormente executando o seguinte comando como o(a) usuário(a) root: systemctl enable avahi-dnsconfd Conteúdo Aplicativos Instalados: avahi-autoipd, avahi-browse, avahi-browse-domains, avahi-daemon, avahi-discover-standalone, avahi-dnsconfd, avahi-publish, avahi-publish-address, avahi-publish-service, avahi-resolve, avahi-resolve-address, avahi-resolve-host-name, avahi-set-host-name, bshell, bssh e bvnc Bibliotecas Instaladas: libavahi-client.so, libavahi-common.so, libavahi-core.so, libavahi-glib.so, libavahi-gobject.so, libavahi-libevent.so libavahi-ui-gtk3.so, libavahi-qt5, libavahi-ui.so, libdns_sd.so e libhowl.so, Diretórios Instalados: /etc/avahi/services, /usr/include/{avahi-client,avahi-common, avahi-compat-howl, avahi-compat-libdns_sd, avahi-core, avahi-glib, avahi-gobject, avahi-libevent, avahi-qt5, avahi-ui}, /usr/lib/avahi, /usr/share/avahi Descrições Curtas avahi-autoipd é um processo de segundo plano de configuração de endereço de rede de intercomunicação "IPv4LL" avahi-browse procura serviços "mDNS"/"DNS-SD" usando o processo de segundo plano "Avahi" avahi-browse-domains procura serviços "mDNS"/"DNS-SD" usando o processo de segundo plano "Avahi" avahi-daemon é o processo de segundo plano "mDNS"/"DNS-SD" "Avahi" avahi-discover-standalone procura serviços "mDNS"/"DNS-SD" usando o processo de segundo plano "Avahi" avahi-dnsconfd é um servidor "DNS" "Unicast" originário do processo de segundo plano de configuração "mDNS"/"DNS-SD" avahi-publish registra um serviço "mDNS"/"DNS-SD" ou mapeamento de nome de dispositivo ou de endereço usando o processo de segundo plano "Avahi" avahi-publish-address registra um serviço "mDNS"/"DNS-SD" ou mapeamento de nome de dispositivo ou de endereço usando o processo de segundo plano "Avahi" avahi-publish-service registra um serviço "mDNS"/"DNS-SD" ou mapeamento de nome de dispositivo ou de endereço usando o processo de segundo plano "Avahi" avahi-resolve resolve um ou mais nomes de dispositivo "mDNS"/"DNS" para endereços "IP" (e vice-versa) usando o processo de segundo plano "Avahi" avahi-resolve-address resolve um ou mais nomes de dispositivo "mDNS"/"DNS" para endereços "IP" (e vice-versa) usando o processo de segundo plano "Avahi" avahi-resolve-host-name resolve um ou mais nomes de dispositivo "mDNS"/"DNS" para endereços "IP" (e vice-versa) usando o processo de segundo plano "Avahi" avahi-set-host-name muda o nome "mDNS" do dispositivo bssh procura servidores "SSH" na rede de intercomunicação local bvnc procura servidores "VNC" na rede de intercomunicação local Utilitários BIND-9.18.18 Introdução aos Utilitários BIND "Utilitários BIND" não é um pacote separado; é uma coleção de aplicativos do lado cliente que estão inclusos no "[5112]BIND-9.18.18". O pacote "BIND" inclui os aplicativos do lado cliente "nslookup", "dig" e "host". Se você instalar o servidor "BIND", [então] esses aplicativos serão instalados automaticamente. Esta seção é para aqueles(as) usuários(as) que não precisam do servidor "BIND" completo, mas precisam desses aplicativos do lado cliente. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5113]https://ftp.isc.org/isc/bind9/9.18.18/bind-9.18.18.tar.xz * Transferência (FTP): [5114]ftp://ftp.isc.org/isc/bind9/9.18.18/bind-9.18.18.tar.xz * Soma de verificação MD5 da transferência: d8f443ea8fbd294345b3b7d1a7a81417 * Tamanho da transferência: 5,2 MB * Espaço em disco estimado exigido: 97 MB * Tempo de construção estimado: 0,3 UPC Dependências dos Utilitários "BIND" Exigidas [5115]libuv-1.46.0 Recomendadas [5116]JSON-C-0.17 e [5117]nghttp2-1.55.1 Opcionais [5118]libcap-2.69 com PAM, [5119]libxml2-2.10.4 e [5120]sphinx-7.1.2 Instalação dos Utilitários BIND Instale os "Utilitários BIND" executando os seguintes comandos: ./configure --prefix=/usr && make -C lib/isc && make -C lib/dns && make -C lib/ns && make -C lib/isccfg && make -C lib/bind9 && make -C lib/irs && make -C bin/dig && make -C doc Essa parte do pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make -C lib/isc install && make -C lib/dns install && make -C lib/ns install && make -C lib/isccfg install && make -C lib/bind9 install && make -C lib/irs install && make -C bin/dig install && cp -v doc/man/{dig.1,host.1,nslookup.1} /usr/share/man/man1 Explicações do Comando --disable-doh: Use essa opção se você não tiver instalado o "[5121]nghttp2-1.55.1" e não precisar de suporte "DNS" sobre "HTTPS". make -C lib/...: Esses comandos constroem as bibliotecas que são necessárias para os aplicativos clientes. make -C bin/dig: Esse comando constrói os aplicativos clientes. make -C doc: Esse comando constrói as páginas de manual se o módulo opcional "[5122]sphinx-7.1.2" do "Python" estiver instalado. Use "cp -v doc/man/{dig.1,host.1,nslookup.1} /usr/share/man/man1" para instalar as páginas de manual se elas tiverem sido construídas. Conteúdo Aplicativos Instalados: dig, host e nslookup Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas Vejam-se as descrições do aplicativo na seção "[5123]BIND-9.18.18". NetworkManager-1.44.0 Introdução ao NetworkManager "NetworkManager" é um conjunto de ferramentas cooperativas que tornam a operação interativa de dispositivos via rede de intercomunicação simples e direta. Quer você use "WiFi", com fio, "3G" ou "Bluetooth", o "NetworkManager" te permite mudar rapidamente de uma rede de intercomunicação para outra: depois que uma rede de intercomunicação tiver sido configurada e conectada uma vez, ela poderá ser detectada e conectada novamente automaticamente na próxima vez que estiver disponível. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Nota Certifique-se de desabilitar o serviço "systemd-networkd" ou configurá-lo para não gerenciar as interfaces que você quiser gerenciar com o "NetworkManager". Informação do Pacote * Transferência (HTTP): [5124]https://download.gnome.org/sources/NetworkManager/1.44/Networ kManager-1.44.0.tar.xz * Transferência (FTP): [5125]ftp://ftp.acc.umu.se/pub/gnome/sources/NetworkManager/1.44/Ne tworkManager-1.44.0.tar.xz * Soma de verificação MD5 da transferência: 2a39852cda0f04bd72c9782839b1dc7d * Tamanho da transferência: 6,6 MB * Espaço em disco estimado exigido: 917 MB (com os testes e documentação) * Tempo de construção estimado: 1,3 UPC (com os testes, usando paralelismo=4) Dependências do NetworkManager Exigidas [5126]jansson-2.14 e [5127]libndp-1.8 Recomendadas [5128]cURL-8.2.1, [5129]dhcpcd-10.0.2, [5130]gobject-introspection-1.76.1, [5131]iptables-1.8.9, [5132]newt-0.52.23 (para nmtui), [5133]nss-3.92, [5134]Polkit-123 (tempo de execução), [5135]PyGObject-3.44.1, [5136]Systemd-254, [5137]Vala-0.56.11 e [5138]wpa_supplicant-2.10 (tempo de execução, construído com suporte a D-Bus) Opcionais [5139]BlueZ-5.68, [5140]D-Bus Python-1.3.2 (para a suíte de teste), [5141]GnuTLS-3.8.1 (pode ser usado em vez de [5142]nss-3.92), [5143]GTK-Doc-1.33.2, [5144]libpsl-0.21.2, ([5145]Qt-5.15.10 ou [5146]componentes-qt-5.15.10 com qtdoc) (para exemplos), [5147]ModemManager-1.18.12, [5148]UPower-1.90.2, [5149]Valgrind-3.21.0, [5150]dnsmasq, [5151]firewalld, [5152]libaudit, [5153]libteam, [5154]mobile-broadband-provider-info, [5155]PPP e [5156]RP-PPPoE Configuração do Núcleo Se desejar executar os testes, [então] verifique se pelo menos as seguintes opções estão habilitadas na configuração do núcleo. Essas opções foram consideradas necessárias, mas podem não ser suficientes. Recompile o núcleo se necessário: [*] Networking support ---> [NET] Networking options ---> [*] TCP/IP networking [INET] <*/M> IP: tunneling [NET_IPIP] <*/M> IP: GRE demultiplexer [NET_IPGRE_DEMUX] <*/M> IP: GRE tunnels over IP [NET_IPGRE] <*> The IPv6 protocol ---> [IPV6] <*/M> IPv6: IPv6-in-IPv4 tunnel (SIT driver) [IPV6_SIT] <*/M> IPv6: GRE tunnel [IPV6_GRE] [*] IPv6: Multiple Routing Tables [IPV6_MULTIPLE_TABLES] [*] MPTCP: Multipath TCP [MPTCP] [*] MPTCP: IPv6 support for Multipath TCP [MPTCP_IPV6] <*/M> 802.1Q/802.1ad VLAN Support [VLAN_8021Q] [*] QoS and/or fair queueing ---> [NET_SCHED] <*> Stochastic Fairness Queueing (SFQ) [NET_SCH_SFQ] <*> Token Bucket Filter (TBF) [NET_SCH_TBF] <*> Fair Queue Controlled Delay AQM (FQ_CODEL) [NET_SCH_FQ_CODEL] <*> Ingress/classifier-action Qdisc [NET_SCH_INGRESS] Device Drivers ---> [*] Network device support ---> [NETDEVICES] [*] Network core driver support [NET_CORE] <*/M> Bonding driver support [BONDING] <*/M> Dummy net driver support [DUMMY] <*/M> Ethernet team driver support ---> [NET_TEAM] <*/M> MAC-VLAN support [MACVLAN] <*/M> MAC-VLAN based tap driver [MACVTAP] <*/M> IP-VLAN support [IPVLAN] <*/M> Virtual eXtensible Local Area Network (VXLAN) [VXLAN] <*/M> Virtual ethernet pair device [VETH] <*/M> Virtual Routing and Forwarding (Lite) [NET_VRF] Instalação do NetworkManager Se "[5157]Qt-5.15.10" estiver instalado e os exemplos baseados em "Qt" forem desejados, [então] corrija dois arquivos "meson.build": sed -e 's/-qt4/-qt5/' \ -e 's/moc_location/host_bins/' \ -i examples/C/qt/meson.build && sed -e 's/Qt/&5/' \ -i meson.build Corrija os conjuntos sequenciais de comandos "Python", de forma que eles usem "Python 3": grep -rl '^#!.*python$' | xargs sed -i '1s/python/&3/' Instale o NetworkManager executando os seguintes comandos: mkdir build && cd build && CXXFLAGS+="-O2 -fPIC" \ meson setup .. \ --prefix=/usr \ --buildtype=release \ -Dlibaudit=no \ -Dlibpsl=false \ -Dnmtui=true \ -Dovs=false \ -Dppp=false \ -Dselinux=false \ -Dqt=false \ -Dsession_tracking=systemd \ -Dmodem_manager=false && ninja Uma sessão gráfica já ativa com endereço de barramento é necessária para executar os testes. Para testar os resultados, emita "ninja test". Uns poucos testes possivelmente falhem, dependendo das opções de núcleo habilitadas. Agora, como o(a) usuário(a) "root": ninja install && mv -v /usr/share/doc/NetworkManager{,-1.44.0} Se você não passou a opção "-Ddocs=true" para "meson", [então] você consegue instalar as páginas de manual pré geradas com (como o(a) usuário(a) "root"): for file in $(echo ../man/*.[1578]); do section=${file##*.} && install -vdm 755 /usr/share/man/man$section install -vm 644 $file /usr/share/man/man$section/ done Se você não tiver usado -Ddocs=true, a documentação HTML pré gerada também pode ser instalada com (como o(a) usuário(a) root): cp -Rv ../docs/{api,libnm} /usr/share/doc/NetworkManager-1.44.0 Explicações do Comando CXXFLAGS="-O2 -fPIC": Essas opções do compilador são necessárias para construir exemplos baseados em "Qt5". --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Ddocs=true: Use essa chave para habilitar a construção de páginas de manual e documentação se "[5158]GTK-Doc-1.33.2" estiver instalado. -Dnmtui=true: Essa chave habilita construir nmtui. -Dlibpsl=false e -Dovs=false: Essas chaves desabilitam a construção com as respectivas bibliotecas. Remova-as se você tiver as bibliotecas necessárias instaladas em teu sistema. -Dmodem_manager=false: Essa chave é exigida se o ModemManager não estiver instalado. Omita essa chave se você tiver construído ModemManager e mobile-broadband-provider-info. -Dsession_tracking=systemd: Essa chave é usada para configurar o "systemd-logind" como o aplicativo padrão para rastreamento de sessão. -Dsystemdsystemunitdir=/lib/systemd/system: Essa chave é usada para configurar o diretório correto de instalação para as unidades do "systemd". -Dppp=false: Essa chave desabilita o suporte a PPP no NetworkManager, já que os aplicativos necessários para isso não estão instalados. Remova essa chave se você precisar de suporte a PPP e tiver o PPP instalado. -Dlibaudit=no e -Dselinux=false: Essa chave desabilita o suporte para libaudit e SELinux, vez que ele(a) não é usado(a) no BLFS. -Dqt=false: Essa chave desabilita os exemplos QT. Omita se você tiver o Qt disponível e desejar instalar os exemplos. -Dcrypto=gnutls: Use essa chave se você tiver o GnuTLS instalado e quiser usá-lo para operações de certificados e chaves no NetworkManager, em vez de usar o NSS (o padrão). -Dcrypto=null: Use essa chave se nem o NSS nem o GnuTLS estiverem instalados, mas você quiser construir o NetworkManager de qualquer maneira. Essa chave fará com que o NetworkManager careça de alguns recursos (por exemplo, 802.1X). -Dsuspend_resume=upower: Use essa chave se você tiver [5159]UPower-1.90.2 instalado e quiser usá-lo (em vez de [5160]Systemd-254) para suspender e retomar o suporte. Configurando o NetworkManager Arquivos de Configuração /etc/NetworkManager/NetworkManager.conf Informação de Configuração Para o "NetworkManager" funcionar, pelo menos um arquivo de configuração mínima precisa estar presente. Tal arquivo não é instalado com "make install". Emita o seguinte comando como o(a) usuário(a) "root" para criar um arquivo "NetworkManager.conf" mínimo: cat >> /etc/NetworkManager/NetworkManager.conf << "EOF" [main] plugins=keyfile EOF Esse arquivo não deveria ser modificado diretamente pelos(as) usuários(as) do sistema. Em vez disso, mudanças específicas do sistema deveriam ser feitas usando arquivos de configuração no diretório "/etc/NetworkManager/conf.d". Para permitir que o "Polkit" gerencie autorizações, adicione o seguinte arquivo de configuração: cat > /etc/NetworkManager/conf.d/polkit.conf << "EOF" [main] auth-polkit=true EOF Para usar algo diferente do cliente DHCP integrado (recomendado se usar somente o nmcli), use a seguinte configuração (os valores válidos incluem ou dhcpcd ou internal): cat > /etc/NetworkManager/conf.d/dhcp.conf << "EOF" [main] dhcp=dhcpcd EOF Para evitar que o "NetworkManager" atualize o arquivo "/etc/resolv.conf", adicione o seguinte arquivo de configuração: cat > /etc/NetworkManager/conf.d/no-dns-update.conf << "EOF" [main] dns=none EOF Para opções adicionais de configuração, veja-se "man 5 NetworkManager.conf". Para permitir que usuários(as) regulares configurem conexões de rede de intercomunicação, você deveria adicioná-los(as) ao grupo "netdev" e criar uma regra do "polkit" que conceda acesso. Execute os seguintes comandos como o(a) usuário(a) "root": groupadd -fg 86 netdev && /usr/sbin/usermod -a -G netdev cat > /usr/share/polkit-1/rules.d/org.freedesktop.NetworkManager.rules << "EOF" polkit.addRule(function(action, subject) { if (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 && subject.isI nGroup("netdev")) { return polkit.Result.YES; } }); EOF Unidade do systemd Para iniciar o processo de segundo plano NetworkManager na inicialização, habilite a unidade do systemd instalada anteriormente executando o seguinte comando como o(a) usuário(a) root: Nota Se usar o "Network Manager" para gerenciar uma interface, [então] qualquer configuração anterior para essa interface deveria ser removida e a interface ser desativada antes de iniciar o "Network Manager". systemctl enable NetworkManager Começando na versão 1.11.2 do "NetworkManager", uma unidade do "systemd" chamada "NetworkManager-wait-online.service" está habilitada, a qual é usada para evitar que serviços que exigem conectividade de rede de intercomunicação iniciem até que o "NetworkManager" estabeleça uma conexão. Para desabilitar esse comportamento, execute o seguinte comando como o(a) usuário(a)" root": systemctl disable NetworkManager-wait-online Conteúdo Aplicativos Instalados: NetworkManager, nmcli, nm-online, nmtui e simbolicamente vinculado ao nmtui: nmtui-connect, nmtui-edit e nmtui-hostname Bibliotecas Instaladas: libnm.so e vários módulos sob /usr/lib/NetworkManager Diretórios Instalados: /etc/NetworkManager, /usr/include/libnm, /usr/lib/NetworkManager, /usr/share/doc/NetworkManager-1.44.0, /usr/share/gtk-doc/html/{libnm,NetworkManager} (se a documentação for construída) e /var/lib/NetworkManager Descrições Curtas nmcli é uma ferramenta de linha de comando para controlar o "NetworkManager" e obter a situação dele nm-online é um utilitário para determinar se você está online nmtui é uma interface interativa de usuário(a) baseada em "Ncurses" para o "nmcli" nmtui-connect é uma interface interativa de usuário(a) baseada em "Ncurses" para ativar/desativar conexões nmtui-edit é uma interface interativa de usuário(a) baseada em "Ncurses" para editar conexões nmtui-hostname é uma interface interativa de usuário(a) baseada em "Ncurses" para editar o nome do dispositivo NetworkManager é o processo de segundo plano de gerenciamento de rede de intercomunicação libnm.so contém funções usadas pelo "NetworkManager" network-manager-applet-1.32.0 Introdução ao NetworkManager Applet O "NetworkManager Applet" fornece uma ferramenta e um miniaplicativo de painel usado para configurar conexões de rede de intercomunicação com e sem fio por meio de "GUI". Ele foi projetado para uso com qualquer ambiente de área de trabalho que use "GTK+", como o "Xfce" e o "LXDE". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5161]https://download.gnome.org/sources/network-manager-applet/1.3 2/network-manager-applet-1.32.0.tar.xz * Transferência (FTP): [5162]ftp://ftp.acc.umu.se/pub/gnome/sources/network-manager-applet /1.32/network-manager-applet-1.32.0.tar.xz * Soma de verificação MD5 da transferência: ba0de3589b2975a181a21a74bcb62447 * Tamanho da transferência: 1,8 MB * Espaço em disco estimado exigido: 40 MB (com testes) * Tempo de construção estimado: 0,2 UPC (com os testes) Dependências do "NetworkManager Applet" Exigidas [5163]GTK+-3.24.38, [5164]libnma-1.10.6 e [5165]libsecret-0.21.0 Recomendadas [5166]gobject-introspection-1.76.1 e [5167]ModemManager-1.18.12 Exigidas (Tempo de Execução) Como esse pacote usa "[5168]Polkit-123" para autorização, um "[5169]Agente de Autenticação do Polkit" deveria estar em execução quando a funcionalidade desse pacote for usada. Opcionais [5170]gnome-bluetooth-42.6 e [5171]libindicator Instalação do NetworkManager Applet Instale o "NetworkManager Applet" executando os seguintes comandos: mkdir build && cd build && meson setup .. \ --prefix=/usr \ --buildtype=release \ -Dappindicator=no \ -Dselinux=false && ninja Para testar os resultados, emita: "ninja test". Agora, como o(a) usuário(a) "root": ninja install Explicações do Comando -Dappindicator=no: Essa chave desabilita o suporte ao "AppIndicator" no "network-manager-applet" porque ele exige a "libindicator", que não está no BLFS. A construção falhará sem essa opção. -Dselinux=false: Essa chave desabilita forçosamente o suporte ao "SELinux", uma vez que ele atualmente não está no BLFS e a construção falhará sem ela. -Dwwan=false: Essa chave desabilita o suporte "WWAN". Use isso se você não tiver o "[5172]ModemManager-1.18.12" instalado. Conteúdo Aplicativos Instalados: nm-applet e nm-connection-editor Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas nm-connection-editor permite que os(as) usuários(as) visualizem e editem configurações de conexão de rede de intercomunicação Nmap-7.94 Introdução ao Nmap "Nmap" é um utilitário para exploração de rede de intercomunicação e auditoria de segurança. Ele suporta varredura de "ping", varredura de porta e impressão digital "TCP"/"IP". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5173]https://nmap.org/dist/nmap-7.94.tar.bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: 4f65e08148d1eaac6b1a1482e7185e1d * Tamanho da transferência: 11 MB * Espaço em disco estimado exigido: 138 MB (adicionar 17 MB para testes) * Tempo de construção estimado: 0,3 UPC (Usando paralelismo=4; adicionar 0,1 UPC para testes) Dependências do "Nmap" Recomendadas Nota Estes pacotes são recomendados porque, se não estiverem instalados, [então] o processo de construção compilará e se vinculará à própria versão deles (geralmente mais antiga). [5174]liblinear-247, [5175]libpcap-1.10.4, [5176]libssh2-1.11.0, [5177]Lua-5.4.6, [5178]PCRE-8.45 e [5179]PyGObject-3.44.1 Opcionais [5180]libdnet Instalação do Nmap Instale o "Nmap" executando os seguintes comandos: ./configure --prefix=/usr && make Para testar os resultados, emita: "make check" como o(a) usuário(a) "root". Os testes precisam de uma sessão gráfica. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: ncat, ndiff, nmap, nping, uninstall_ndiff, uninstall_zenmap, zenmap e dois links simbólicos para zenmap: nmapfe e xnmap Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/lib/python3.11/site-packages/{radialnet,zenmapCore,zenmapGUI,zenma p-7.94-py3.11.egg-info} e /usr/share/{ncat,nmap,zenmap} Descrições Curtas ncat é um utilitário para ler e escrever dados entre redes de intercomunicação a partir da linha de comando ndiff é uma ferramenta para auxiliar na comparação de varreduras do "Nmap" nmap é um utilitário para exploração de rede de intercomunicação e auditoria de segurança. Suporta varredura de "ping", varredura de portas e impressão digital "TCP"/"IP" nping é uma ferramenta de fonte aberto para geração de pacotes de rede de intercomunicação, análise de resposta e medição de tempo de resposta uninstall_ndiff é um conjunto de comandos sequenciais "Python" para desinstalar o "ndiff" uninstall_zenmap é um conjunto de comandos sequenciais "Python" para desinstalar o "zenmap" zenmap é um visualizador gráfico, baseado em "Python", de estrutura de interação direta com o(a) usuário(a) do "nmap" Traceroute-2.1.2 Introdução ao Traceroute O pacote "Traceroute" contém um aplicativo que é usado para exibir a rota de rede de intercomunicação que os pacotes percorrem para alcançar um dispositivo especificado. Essa é uma ferramenta padrão de solução de problemas de rede de intercomunicação. Se você se encontrar inapto(a) para se conectar a outro sistema, [então] o "traceroute" pode ajudar a identificar o problema. Nota Esse pacote sobrescreve a versão do "traceroute" que foi instalada no pacote "inetutils" no LFS. Essa versão é mais poderosa e permite muito mais opções que a versão padrão. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5181]https://downloads.sourceforge.net/traceroute/traceroute-2.1.2 .tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 56fdeed70d922f2545f4f9121234c313 * Tamanho da transferência: 71,4 KB * Espaço em disco estimado exigido: 580 KB * Tempo de construção estimado: menos que 0,1 UPC Instalação do Traceroute Instale o "Traceroute" executando os seguintes comandos: make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make prefix=/usr install && ln -sv -f traceroute /usr/bin/traceroute6 && ln -sv -f traceroute.8 /usr/share/man/man8/traceroute6.8 && rm -fv /usr/share/man/man1/traceroute.1 O arquivo "traceroute.1" que foi instalado no LFS pelo "inetutils" não mais é relevante. Esse pacote sobrescreve essa versão do "traceroute" e instala a página de manual no capítulo oito (08) do manual. Conteúdo Aplicativo Instalado: traceroute e traceroute6 (link simbólico) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas traceroute faz basicamente o que diz: rastreia a rota que os teus pacotes seguem a partir do dispositivo em que você estiver trabalhando para outro dispositivo em uma rede de intercomunicação, mostrando todos os saltos intermediários ("gateways") ao longo do caminho traceroute6 é equivalente a "traceroute -6" Whois-5.4.3 Introdução ao Whois "Whois" é um aplicativo do lado cliente que consulta o serviço de diretório "whois" em busca de informações relativas a um nome de domínio específico. Esse pacote instalará dois aplicativos por padrão: "whois" e "mkpasswd". O comando "mkpasswd" também é instalado pelo pacote "expect" no LFS. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5182]https://github.com/rfc1036/whois/archive/v5.4.3/whois-5.4.3.t ar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 381dce8db7c6e38ef013b5d6527f494c * Tamanho da transferência: 100 KB * Espaço em disco estimado exigido: 1,2 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "Whois" Opcionais [5183]libidn-1.41 ou [5184]libidn2-2.3.4 Instalação do Whois Construa o aplicativo com: make Você consegue instalar o aplicativo "whois", o aplicativo "mkpasswd" e os arquivos de localidade independentemente. Controle a tua escolha do que será instalado com os seguintes comandos emitidos como o(a) usuário(a) "root": Nota Instalar essa versão do "mkpasswd" sobrescreverá o mesmo comando instalado no LFS. make prefix=/usr install-whois make prefix=/usr install-mkpasswd make prefix=/usr install-pos Conteúdo Aplicativos Instalados: whois e mkpasswd Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas whois é um aplicativo do lado cliente que consulta o serviço de diretório "whois" em busca de informações relativas a um nome de domínio específico mkpasswd gera uma nova senha e, opcionalmente, aplica-a a um(a) usuário(a) Wireshark-4.0.7 Introdução ao Wireshark O pacote "Wireshark" contém um analisador de protocolo de rede de intercomunicação, também conhecido como um “sniffer”. Isso é útil para analisar dados capturados “fora do fio” a partir de uma conexão ativa de rede de intercomunicação ou dados lidos a partir de um arquivo de captura. O "Wireshark" fornece uma estrutura de interação direta com o(a) usuário(a), gráfica e em modo TTY, para examinar pacotes de rede de intercomunicação capturados a partir de mais que quinhentos (500) protocolos, bem como a capacidade de ler arquivos de captura a partir de muitos outros analisadores populares de rede de intercomunicação. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5185]https://www.wireshark.org/download/src/all-versions/wireshark -4.0.7.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 8c23f20130bb1a346ca3da1ff43a16b4 * Tamanho da transferência: 41 MB * Espaço em disco estimado exigido: 692 MB (com todas as dependências opcionais disponíveis no livro BLFS) * Tempo de construção estimado: 2,1 UPC (com paralelismo=4 e todas as dependências opcionais disponíveis no livro BLFS) Transferências Adicionais * Documentação Adicional: [5186]https://www.wireshark.org/download/docs/ (contém links para vários documentos em uma variedade de formatos) Dependências do "Wireshark" Exigidas [5187]CMake-3.27.2, [5188]GLib-2.76.4, [5189]libgcrypt-1.10.2 e ([5190]Qt-5.15.10 ou [5191]componentes-qt-5.15.10 com qtmultimedia) Recomendadas [5192]libpcap-1.10.4 (exigido para capturar dados) Opcionais [5193]asciidoctor-2.0.20, [5194]Brotli-1.0.9, [5195]c-ares-1.19.1, [5196]Doxygen-1.9.7, [5197]git-2.41.0, [5198]GnuTLS-3.8.1, [5199]libnl-3.7.0, [5200]libxslt-1.1.38, [5201]libxml2-2.10.4, [5202]Lua-5.2.4, [5203]MIT Kerberos V5-1.21.2, [5204]nghttp2-1.55.1, [5205]SBC-2.0, [5206]Speex-1.2.1, [5207]BCG729, [5208]libilbc, [5209]libsmi, [5210]lz4, [5211]libssh, [5212]MaxMindDB, [5213]Minizip, [5214]Snappy e [5215]Spandsp Configuração do Núcleo O núcleo precisa ter o protocolo "Packet" habilitado para o "Wireshark" capturar pacotes ativos a partir da rede de intercomunicação: [*] Networking support ---> [NET] Networking options ---> <*/M> Packet socket [PACKET] Se construído como um módulo, [então] o nome é "af_packet.ko". Instalação do Wireshark "Wireshark" é um aplicativo muito grande e complexo. Estas instruções fornecem medidas adicionais de segurança para garantir que somente usuários(as) confiáveis sejam permitidos(as) a visualizar o tráfego da rede de intercomunicação. Primeiro, configure um grupo do sistema para o "Wireshark". Como o(a) usuário(a) "root": groupadd -g 62 wireshark Continue a instalar o "Wireshark" executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/wireshark-4.0.7 \ -G Ninja \ .. && ninja Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": ninja install && install -v -m755 -d /usr/share/doc/wireshark-4.0.7 && install -v -m644 ../README.linux ../doc/README.* ../doc/randpkt.txt \ /usr/share/doc/wireshark-4.0.7 && pushd /usr/share/doc/wireshark-4.0.7 && for FILENAME in ../../wireshark/*.html; do ln -s -v -f $FILENAME . done && popd unset FILENAME Se você baixou quaisquer dos arquivos de documentação a partir da página listada em "Transferências adicionais", [então] instale-os emitindo os seguintes comandos como o(a) usuário(a) "root": install -v -m644 \ /usr/share/doc/wireshark-4.0.7 Agora, configure a propriedade e as permissões de aplicativos confidenciais para permitir somente usuários(as) autorizados(as). Como o(a) usuário(a) "root ": chown -v root:wireshark /usr/bin/{tshark,dumpcap} && chmod -v 6550 /usr/bin/{tshark,dumpcap} Finalmente, adicione quaisquer usuários(as) ao grupo "Wireshark" (como o(a) usuário(a) "root"): usermod -a -G wireshark Se você estiver instalando o "Wireshark" pela primeira vez, [então] será necessário sair da tua sessão e entrar novamente. Isso colocará o "Wireshark" em teus grupos, pois, caso contrário, o "Wireshark" não funcionará corretamente. Configurando o Wireshark Arquivos de Configuração /etc/wireshark.conf e ~/.config/wireshark/* (a menos que já exista ~/.wireshark/* no sistema) Informação de Configuração Embora os parâmetros padrão de configuração sejam muito sensatos, consulte a seção de configuração do [5216]Guia do(a) Usuário(a) do Wireshark para informações de configuração. A maior parte da configuração do "Wireshark" pode ser realizada usando as opções de menu das interfaces gráficas do "wireshark". Nota Se você quiser ver os pacotes, [então] certifique-se de não filtrá-los com o "[5217]iptables-1.8.9". Se você quiser excluir certas classes de pacotes, [então] é mais eficiente fazê-lo com o "iptables" que com o "Wireshark". Conteúdo Aplicativos Instalados: capinfos, captype, dumpcap, editcap, idl2wrs, mergecap, randpkt, rawshark, reordercap, sharkd, text2pcap, tshark e wireshark Bibliotecas Instaladas: libwireshark.so, libwiretap.so, libwsutil.so e numerosos módulos sob /usr/lib/wireshark/plugins Diretórios Instalados: /usr/{include,lib,share}/wireshark e /usr/share/doc/wireshark-4.0.7 Descrições Curtas capinfos lê um arquivo salvo de captura e retorna alguma das, ou todas as, estatísticas relativas a esse arquivo. Ele é capaz de detectar e ler qualquer captura suportada pelo pacote "Wireshark" captype imprime os tipos de arquivos dos arquivos de captura dumpcap é uma ferramenta de despejo de tráfego de rede de intercomunicação. Ela te permite capturar dados de pacotes a partir de uma rede de intercomunicação ativa e escrever os pacotes em um arquivo editcap edita e (ou) traduz o formato dos arquivos de captura. Ele sabe como ler arquivos de captura "libpcap", incluindo aqueles do "tcpdump", "Wireshark" e outras ferramentas que escrevem capturas nesse formato idl2wrs é um aplicativo que pega um arquivo CORBA IDL especificado pelo(a) usuário(a) e gera código fonte “C” para um “plugin” do Wireshark. Ele se baseia em dois aplicativos Python, wireshark_be.py e wireshark_gen.py, que não são instalados por padrão. Eles tem de ser copiados manualmente a partir do diretório tools para o diretório $PYTHONPATH/site-packages/ mergecap combina vários arquivos salvos de captura em um arquivo de saída gerada randpkt cria arquivos de captura de pacotes aleatórios rawshark despeja e analisa dados brutos da "libpcap" reordercap reordena os carimbos de tempo dos quadros do arquivo de entrada gerada em um arquivo de saída gerada sharkd é um processo de segundo plano que escuta em soquetes "UNIX" text2pcap lê um despejo hexadecimal "ASCII" e escreve os dados descritos em um arquivo de captura estilo "libpcap" tshark é um analisador de protocolo de rede de intercomunicação no modo TTY. Ele te permite capturar dados de pacotes a partir de uma rede de intercomunicação ativa ou ler pacotes a partir de um arquivo de captura salvo anteriormente wireshark é o analisador "GUI" "Qt" de protocolo de rede de intercomunicação. Ele te permite navegar interativamente por dados de pacotes a partir de uma rede de intercomunicação ativa ou a partir de um arquivo de captura salvo anteriormente libwireshark.so contém funções usadas pelos aplicativos "Wireshark" para realizar filtragem e captura de pacotes libwiretap.so é uma biblioteca sendo desenvolvida como uma substituta futura para a "libpcap", a atual biblioteca padrão Unix para captura de pacotes. Para mais informações, veja-se o arquivo "README" no diretório do fonte "wiretap" Capítulo 17. Bibliotecas de Operação Interativa de Dispositivos Via Rede de Intercomunicação Estes aplicativos são bibliotecas de suporte para outros aplicativos do livro. É improvável que você instale apenas estas bibliotecas; geralmente você descobrirá que será encaminhado(a) a este capítulo para satisfazer uma dependência de outros aplicativos. c-ares-1.19.1 Introdução ao c-ares "c-ares" é uma biblioteca "C" para solicitações "DNS" assíncronas. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5218]https://c-ares.haxx.se/download/c-ares-1.19.1.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: dafc5825a92dc907e144570e4e75a908 * Tamanho da transferência: 1,6 MB * Espaço em disco estimado exigido: 12 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências de c-ares Exigidas [5219]CMake-3.27.2 Instalação do c-ares Instale c-ares executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr .. && make Esse pacote não inclui uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: acountry, adig e ahost Bibliotecas Instaladas: libcares.so Diretórios Instalados: Nenhum(a) Descrições Curtas acountry imprime o país onde um endereço "IPv4" ou dispositivo está localizado adig consulta informações a partir de servidores "DNS" ahost imprime o registro "A" ou "AAAA" associado a um nome de dispositivo ou endereço "IP" libcares.so é uma biblioteca "C" para solicitações assíncronas "DNS" cURL-8.2.1 Introdução ao cURL O pacote "cURL" contém um utilitário e uma biblioteca usado(a) para transferir arquivos com sintaxe "URL" para qualquer um dos seguintes protocolos: "DICT", "FILE", "FTP", "FTPS", "GOPHER", "GOPHERS", "HTTP", "HTTPS", "IMAP", "IMAPS", "LDAP", "LDAPS", "MQTT", "POP3", "POP3S", "RTSP", "SMB", "SMBS", "SMTP", "SMPTS", "TELNET" e "TFTP". A capacidade dele(a) de baixar e de enviar arquivos pode ser incorporada a outros aplicativos para suportar funções como mídia em transmissão. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5220]https://curl.se/download/curl-8.2.1.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 556576a795bdd2c7d10de6886480065f * Tamanho da transferência: 2,5 MB * Espaço em disco estimado exigido: 42 MB (adicionar 23 MB para testes) * Tempo de construção estimado: 0,1 UPC (com paralelismo=4; adicionar 15 UPC para testes (sem valgrind, adicionar 36 UPC com valgrind) Dependências do "cURL" Recomendadas [5221]make-ca-1.12 (tempo de execução) Opcionais [5222]Brotli-1.0.9, [5223]c-ares-1.19.1, [5224]GnuTLS-3.8.1, [5225]libidn2-2.3.4, [5226]libpsl-0.21.2, [5227]libssh2-1.11.0, [5228]MIT Kerberos V5-1.21.2, [5229]nghttp2-1.55.1, [5230]OpenLDAP-2.6.6, [5231]Samba-4.18.6 (tempo de execução, para autenticação NTLM), [5232]gsasl, [5233]impacket, [5234]libmetalink, [5235]librtmp, [5236]ngtcp2, [5237]quiche e [5238]SPNEGO Opcionais se Executar a Suíte de Teste [5239]Apache-2.4.57 e [5240]stunnel-5.70 (para os testes HTTPS e FTPS) e [5241]Valgrind-3.21.0 (isso atrasará os testes e possivelmente cause falhas). Instalação do cURL Instale o "cURL" executando os seguintes comandos: ./configure --prefix=/usr \ --disable-static \ --with-openssl \ --enable-threaded-resolver \ --with-ca-path=/etc/ssl/certs && make Para executar a suíte de teste, emita: make test. Os testes relacionados ao protocolo SMB produzirão uma mensagem duplicada muitas vezes reclamando que o módulo Python impacket (não é parte do BLFS) está ausente e será ignorado. Agora, como o(a) usuário(a) "root": make install && rm -rf docs/examples/.deps && find docs \( -name Makefile\* -o \ -name \*.1 -o \ -name \*.3 -o \ -name CMakeLists.txt \) -delete && cp -v -R docs -T /usr/share/doc/curl-8.2.1 Para executar alguns testes simples de verificação sobre o recém instalado curl, emita os seguintes comandos: curl --trace-ascii debugdump.txt https://www.example.com/ e curl --trace-ascii d.txt --trace-time https://example.com/. Inspecione os arquivos de rastreamento criados localmente debugdump.txt e d.txt, que contém informações de versão, informações dos arquivos baixados, etc. Um arquivo tem a hora para cada ação registrada. Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --enable-threaded-resolver: Essa chave ativa o resolvedor "DNS" encadeado integrado do "cURL". --with-ca-path=/etc/ssl/certs: Essa chave define o local do armazenamento da Autoridade Certificadora do BLFS. --with-openssl: Esse parâmetro escolhe o "OpenSSL" como implementação "SSL"/"TLS". Isso parece obrigatório agora. --with-gssapi: Esse parâmetro adiciona suporte "Kerberos 5" à "libcurl". --without-ssl --with-gnutls: Use para construir com suporte "GnuTLS" em vez de "OpenSSL" para "SSL"/"TLS". --with-ca-bundle=/etc/pki/tls/certs/ca-bundle.crt: Use essa chave em vez de "--with-ca-path" se construir com suporte "GnuTLS" em vez de "OpenSSL" para "SSL"/"TLS". --with-libssh2: Esse parâmetro adiciona suporte "SSH" ao "cURL". Isso é desabilitado por padrão. --enable-ares: Esse parâmetro adiciona suporte para resolução "DNS" por meio da biblioteca "c-ares". Ele substitui "--enable-threaded-resolver" e não é amplamente testado pelos(as) Editores(as). find docs ... -exec rm {} \;: Esse comando remove "Makefiles" e arquivos de manual do diretório de documentação que de outra forma seriam instalados pelos comandos a seguir. Conteúdo Aplicativos Instalados: curl e curl-config Biblioteca Instalada: libcurl.so Diretórios Instalados: /usr/include/curl e /usr/share/doc/curl-8.2.1 Descrições Curtas curl é uma ferramenta de linha de comando para transferência de arquivos com sintaxe de "URL" curl-config imprime informações relativas à última compilação, como bibliotecas vinculadas e configuração de prefixo libcurl.so fornece as funções de "API" exigidas pelo "curl" e outros aplicativos GeoClue-2.7.0 Introdução ao GeoClue "GeoClue" é um serviço modular de geo informação construído sobre o sistema de mensagens "D-Bus". O objetivo do projeto "GeoClue" é o de tornar a criação de aplicativos com reconhecimento de localização o mais simples possível. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5242]https://gitlab.freedesktop.org/geoclue/geoclue/-/archive/2.7. 0/geoclue-2.7.0.tar.bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: 8226cc9d4b2750b6ebdfd59e7815bf2a * Tamanho da transferência: 104 KB * Espaço em disco estimado exigido: 6,8 MB * Tempo de construção estimado: 0,2 UPC Dependências do "GeoClue" Exigidas [5243]JSON-GLib-1.6.6 e [5244]libsoup-3.4.2 Recomendadas [5245]ModemManager-1.18.12, [5246]Vala-0.56.11 e [5247]Avahi-0.8 Opcionais [5248]GTK-Doc-1.33.2 e [5249]libnotify-0.8.2 Instalação do GeoClue Instale o "GeoClue" executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr \ --buildtype=release \ -Dgtk-doc=false \ .. && ninja Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -D3g-source=false: Essa chave desativa a estrutura de retaguarda "3G". Use-a se você não tiver instalado o pacote "ModemManager". -Dmodem-gps-source=false: Essa chave desativa a estrutura de retaguarda "GPS" do modem. Use-a se você não tiver instalado o pacote "ModemManager". -Dcdma-source=false: Essa chave desabilita a estrutura de retaguarda fonte "CDMA". Use-a se você não tiver instalado o pacote "ModemManager". -Dnmea-source=false: Essa chave desabilita a fonte "NMEA". Use-a se você não tiver instalado o pacote "Avahi". -Ddemo-agent=false: Essa chave desabilita a demonstração. Use-a se você não tiver instalado o pacote "libnotify". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libgeoclue-2.so Diretórios Instalados: /etc/geoclue, /usr/include/libgeoclue-2.0, /usr/libexec/geoclue-2.0 e /usr/share/gtk-doc/html/{geoclue,libgeoclue} glib-networking-2.76.1 Introdução ao GLib Networking O pacote "GLib Networking" contém módulos "gio" relacionados à rede de intercomunicação para o "GLib". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5250]https://download.gnome.org/sources/glib-networking/2.76/glib- networking-2.76.1.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 05b519bb1f009789e6b82af88ed1b59a * Tamanho da transferência: 276 KB * Espaço em disco estimado exigido: 5,6 MB (com testes) * Tempo de construção estimado: 0,1 UPC (com os testes) Dependências do "GLib Networking" Exigidas [5251]GLib-2.76.4 e [5252]GnuTLS-3.8.1 Recomendadas [5253]gsettings-desktop-schemas-44.0 (para os aplicativos usantes desse pacote usarem as configurações de servidor "proxy" no "GNOME") e [5254]make-ca-1.12 Opcionais [5255]libproxy Instalação do GLib Networking Instale o "GLib Networking" executando os seguintes comandos: mkdir build && cd build && meson setup \ --prefix=/usr \ --buildtype=release \ -Dlibproxy=disabled \ .. && ninja Para testar os resultados, emita: ninja test. Agora, como o(a) usuário(a) "root": ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. Conteúdo Aplicativo Instalado: Nenhum(a) Bibliotecas Instaladas: libgiognomeproxy.so e libgiognutls.so (Módulos GIO instalados em /usr/lib/gio/modules) Diretórios Instalados: Nenhum(a) kdsoap-2.1.1 Introdução ao kdsoap O "kdsoap" é um componente "SOAP" do lado cliente e do lado servidor baseado em "Qt". Ele pode ser usado para criar aplicativos clientes para serviços "web" e também fornece meios para criar serviços "web" sem a necessidade de qualquer componente adicional, como um servidor "web" dedicado. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5256]https://github.com/KDAB/KDSoap/releases/download/kdsoap-2.1.1 /kdsoap-2.1.1.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 7dff6d770e1942997d986207e3107585 * Tamanho da transferência: 928 KB * Espaço em disco estimado exigido: 25 MB * Tempo de construção estimado: 0,4 UPC (Usando paralelismo=4) Dependências do "kdsoap" Exigidas ([5257]Qt-5.15.10 ou [5258]qt-alternate-5.15.10) Instalação do kdsoap Instale o "kdsoap" executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/kdsoap-2.1.1 \ .. && make O pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: kdwsdl2cpp Bibliotecas Instaladas: libkdsoap.so e libkdsoap-server.so Diretórios Instalados: /usr/lib/cmake/KDSoap, /usr/share/doc/kdsoap-2.1.1, /usr/include/KDSoapClient e /usr/include/KDSoapServer ldns-1.8.3 Introdução ao ldns "ldns" é uma biblioteca "DNS" rápida com a meta de simplificar a programação "DNS" e permitir que os(as) desenvolvedores(as) criem facilmente o software em conformidade com os "RFCs" atuais e os rascunhos da Internet. Esses pacotes também incluem a ferramenta "drill". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5259]https://www.nlnetlabs.nl/downloads/ldns/ldns-1.8.3.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 429b93dacb2d6ecc5ed63788b14c38e6 * Tamanho da transferência: 1,2 MB * Espaço em disco estimado exigido: 30 MB (com os documentos) * Tempo de construção estimado: 0,2 UPC (com os documentos) Dependências do "ldns" Opcionais [5260]make-ca-1.12 e [5261]libpcap-1.10.4 (para aplicativos de exemplo), [5262]Python-2.7.18 e [5263]SWIG-4.1.1 (para ligações "Python") e [5264]Doxygen-1.9.7 (para documentação "HTML") Instalação do ldns Instale o "ldns" executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc \ --disable-static \ --with-drill && make Se você tiver o "[5265]Doxygen-1.9.7" instalado e desejar construir a documentação "HTML", [então] execute o seguinte comando: make doc Esse pacote não vem com uma suíte de teste funcional. Agora, como o(a) usuário(a) "root": make install Se você construiu a documentação "HTML", [então] instale-a executando os seguintes comandos como o(a) usuário(a) "root": install -v -m755 -d /usr/share/doc/ldns-1.8.3 && install -v -m644 doc/html/* /usr/share/doc/ldns-1.8.3 Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --with-drill: Essa opção habilita a construção da ferramenta "drill" (usada para obter informações de depuração a partir do "DNS(SEC)") --disable-dane-ta-usage: Essa opção desabilita o suporte a "DANE-TA" ("DNS-Based Authentication of Named Entities"). Ele é necessário somente se o "OpenSSL-1.1.0" ou posterior não estiver instalado. --with-examples: Essa opção habilita a construção dos aplicativos de exemplo. --with-pyldns: Essa opção habilita a construção das ligações "Python". Conteúdo Aplicativos Instalados: drill e ldns-config Biblioteca Instalada: libldns.so e /usr/lib/python2.7/site-packages/_ldns.so Diretórios Instalados: /usr/include/ldns e /usr/share/doc/ldns-1.8.3 Descrições Curtas drill é uma ferramenta como o "dig" oriunda de "[5266]Utilitários BIND-9.18.18" projetada para obter todo tipo de informação do "DNS" ldns-config mostra sinalizadores de compilador e vinculador para uso do "ldns" libldns.so fornece as funções da "API" do "ldns" para aplicativos libevent-2.1.12 Introdução ao libevent "libevent" é uma biblioteca de logiciário de notificação de eventos assíncronos. A "API" da "libevent" fornece um mecanismo para executar uma função de retorno de chamada quando um evento específico ocorre em um descritor de arquivo ou depois de um tempo limite ter sido atingido. Além disso, "libevent" também suporta retornos de chamada devido a sinais ou tempos limite regulares. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5267]https://github.com/libevent/libevent/releases/download/releas e-2.1.12-stable/libevent-2.1.12-stable.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: b5333f021f880fe76490d8a799cd79f4 * Tamanho da transferência: 1,0 MB * Espaço em disco estimado exigido: 20 MB (adicionar 4 MB para os testes e 4 MB para os documentos da API) * Tempo de construção estimado: 0,3 UPC (adicionar 11 UPC para os testes) Dependências do "libevent" Opcionais [5268]Doxygen-1.9.7 (para a documentação da "API") Instalação do libevent Primeiro, corrija um problema que impede "event_rpcgen.py" de funcionar: sed -i 's/python/&3/' event_rpcgen.py Instale o "libevent" executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Se você tiver o "[5269]Doxygen-1.9.7" instalado e desejar construir a documentação da "API", [então] emita: doxygen Doxyfile Para testar os resultados, emita: make verify. Seis testes em cada suíte relacionados a regress_ssl.c e regress_http.c são conhecidos por falharem devido a incompatibilidades com o OpenSSL-3. Alguns testes que estão relacionados a regress_dns.c também são conhecidos por falharem intermitentemente devido a tempos limite de teste insuficientes. Agora, como o(a) usuário(a) "root": make install Se você construiu a documentação da "API", [então] instale-a emitindo os seguintes comandos como o(a) usuário(a) "root": install -v -m755 -d /usr/share/doc/libevent-2.1.12/api && cp -v -R doxygen/html/* \ /usr/share/doc/libevent-2.1.12/api Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativo Instalado: event_rpcgen.py Bibliotecas Instaladas: libevent_core.so, libevent_extra.so, libevent_openssl.so, libevent_pthreads.so e libevent.so Diretório Instalado: /usr/include/event2 e /usr/share/doc/libevent-2.1.12 libmnl-1.0.5 Introdução ao libmnl A biblioteca "libmnl" fornece uma biblioteca minimalista de espaço de usuário(a) orientada para desenvolvedores(as) "Netlink". Existem muitas tarefas comuns na análise, validação e construção do cabeçalho "Netlink" e dos "TLVs" que são repetitivas e fáceis de errar. Essa biblioteca visa a fornecer ajudantes simples que te permitem reusar código e evitar a reinvenção da roda. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5270]https://netfilter.org/projects/libmnl/files/libmnl-1.0.5.tar. bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: 0bbb70573119ec5d49435114583e7a49 * Tamanho da transferência: 308 KB * Espaço em disco estimado exigido: 2,9 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "libnma" Opcionais [5271]Doxygen-1.9.7 Instalação do libmnl Instale o "libmnl" executando os seguintes comandos: ./configure --prefix=/usr && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Biblioteca Instalada: libmnl.so Descrições Curtas libmnl.so fornece funções para análise, validação e construção do cabeçalho "Netlink" e "TLVs" libnl-3.7.0 Introdução ao libnl A suíte "libnl" é uma coleção de bibliotecas que fornecem "APIs" para interfaces do núcleo Linux baseadas no protocolo "netlink". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5272]https://github.com/thom311/libnl/releases/download/libnl3_7_0 /libnl-3.7.0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: b381405afd14e466e35d29a112480333 * Tamanho da transferência: 980 KB * Espaço em disco estimado exigido: 31 MB (com a documentação da API) * Tempo de construção estimado: 0,4 UPC (com a documentação da API) Transferência Opcional * Transferência (HTTP): [5273]https://github.com/thom311/libnl/releases/download/libnl3_7_0 /libnl-doc-3.7.0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 15f55a421a16ff4084c4a1af085c19b8 * Tamanho da transferência: 13 MB Instalação do libnl Instale o "libnl" executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc \ --disable-static && make Esse pacote não vem com uma suíte de teste funcional. Agora, como o(a) usuário(a) "root": make install Se você desejar instalar a documentação da "API", [então] como o(a) usuário(a) "root": mkdir -vp /usr/share/doc/libnl-3.7.0 && tar -xf ../libnl-doc-3.7.0.tar.gz --strip-components=1 --no-same-owner \ -C /usr/share/doc/libnl-3.7.0 Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --disable-cli: Use esse parâmetro se não quiser instalar ferramentas "CLI" fornecidas pelo pacote. Conteúdo Aplicativos Instalados: genl-ctrl-list, idiag-socket-details, nl-class-add, nl-class-delete, nl-classid-lookup, nl-class-list, nl-cls-add, nl-cls-delete, nl-cls-list, nl-link-list, nl-pktloc-lookup, nl-qdisc-add, nl-qdisc-delete, nl-qdisc-list e quarenta e oito (48) outros aplicativos auxiliares com prefixos "nl-" e "nf-" Bibliotecas Instaladas: libnl-3.so, libnl-cli-3.so, libnl-genl-3.so, libnl-idiag-3.so, libnl-nf-3.so, libnl-route-3.so, libnl-xfrm-3.so e módulos "CLI" sob a árvore "/usr/lib/libnl/cli" Diretórios Instalados: /etc/libnl, /usr/include/libnl3, /usr/lib/libnl e /usr/share/doc/libnl-3.7.0 Descrições Curtas genl-ctrl-list consulta o controlador "Generic Netlink" no núcleo e imprime uma lista de todas as famílias "Generic Netlink" registradas, incluindo a versão da interface que tenha sido registrada nl-class-add adiciona, atualiza ou substitui Classes de Tráfego nl-class-delete deleta Classes de Tráfego nl-classid-lookup é usado para resolver nomes de "qdisc"/classe para valores "classid" e vice-versa nl-class-list lista Classes de Tráfego nl-cls-add adiciona um classificador nl-cls-delete deleta um classificador nl-cls-list lista classificadores nl-link-list despeja atributos de link nl-pktloc-lookup permite a consulta de definições de localização de pacotes nl-qdisc-add adiciona disciplinas de filas ("qdiscs") no núcleo nl-qdisc-delete deleta disciplinas de filas ("qdiscs") no núcleo nl-qdisc-list lista disciplinas de filas ("qdiscs") no núcleo libnl*-3.so Essas bibliotecas contêm funções de "API" usadas para acessar interfaces "Netlink" no núcleo Linux libnma-1.10.6 Introdução ao libnma O pacote "libnma" contém uma implementação das funções "GUI" do "NetworkManager". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5274]https://download.gnome.org/sources/libnma/1.10/libnma-1.10.6. tar.xz * Transferência (FTP): [5275]ftp://ftp.acc.umu.se/pub/gnome/sources/libnma/1.10/libnma-1.1 0.6.tar.xz * Soma de verificação MD5 da transferência: 71c7ce674fea1fae8f1368a7fcb6ff43 * Tamanho da transferência: 688 KB * Espaço em disco estimado exigido: 15 MB * Tempo de construção estimado: 0,1 UPC (Usando paralelismo=4; com o teste) Dependências do "libnma" Exigidas [5276]Gcr-3.41.1, [5277]GTK+-3.24.38, [5278]ISO Codes-4.15.0 e [5279]NetworkManager-1.44.0 Recomendadas [5280]GTK-4.12.0 e [5281]Vala-0.56.11 Opcionais [5282]mobile-broadband-provider-info Instalação do libnma Instale o "libnma" executando os seguintes comandos: mkdir build && cd build && meson setup .. \ --prefix=/usr \ --buildtype=release \ -Dgtk_doc=false \ -Dlibnma_gtk4=true \ -Dmobile_broadband_provider_info=false && ninja Para testar os resultados, emita: "ninja test". Agora, como o(a) usuário(a) "root": ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dgtk_doc=false: Esse parâmetro desabilita a geração da documentação da "API" usando "gtk-doc". Se você tiver o "[5283]GTK-Doc-1.33.2" instalado e desejar gerar a documentação da "API", [então] omita essa chave. -Dlibnma_gtk4=true: Esse parâmetro é necessário somente para o "[5284]gnome-control-center-44.3" mais recente. -Dmobile_broadband_provider_info=false: Essa chave desabilita o suporte a "WWAN" porque as informações do provedor de banda larga móvel não estão no BLFS. Omita essa chave se você a tiver instalada e desejar habilitar o suporte a "WWAN". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libnma.so e libnma-gtk4.so Diretórios Instalados: /usr/include/libnma Descrições Curtas libnma.so contém a biblioteca "GUI" do "NetworkManager" libnma-gtk4.so contém a versão "GTK-4" da biblioteca "GUI" do "NetworkManager" libnsl-2.0.0 Introdução ao libnsl O pacote "libnsl" contém a interface pública cliente para "NIS(YP)". Ele substitui a biblioteca "NIS" que costumava estar na "glibc". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5285]https://github.com/thkukuk/libnsl/releases/download/v2.0.0/li bnsl-2.0.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 1e8c0615071ea13202452304de1eaab9 * Tamanho da transferência: 280 KB * Espaço em disco estimado exigido: 3,2 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "libnsl" Exigidas [5286]libtirpc-1.3.3 Instalação do libnsl Instale o "libnsl" executando os seguintes comandos: ./configure --sysconfdir=/etc --disable-static && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libnsl.so Diretórios Instalados: Nenhum(a) Descrições Curtas libnsl.so fornece as funções da "API" "NIS" ("YP") exigidas por outros aplicativos libpcap-1.10.4 Introdução ao libpcap "libpcap" fornece funções para captura de pacotes em nível de usuário(a), usadas no monitoramento de atividade de rede de intercomunicação de baixo nível. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5287]https://www.tcpdump.org/release/libpcap-1.10.4.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 0322e28dd76cda8066bb6d00fee5969b * Tamanho da transferência: 932 KB * Espaço em disco estimado exigido: 9,9 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "libpcap" Opcionais [5288]BlueZ-5.68, [5289]libnl-3.7.0, [5290]libusb-1.0.26, distribuição de logiciário para o [5291]DAG e a gama de placas passivas de monitoramento de atividade de rede de intercomunicação [5292]Septel. Instalação do libpcap Instale o "libpcap" executando os seguintes comandos: ./configure --prefix=/usr && make Esse pacote não vem com uma suíte de teste. Se você desejar desabilitar a instalação da biblioteca estática, [então] use este "sed": sed -i '/INSTALL_DATA.*libpcap.a\|RANLIB.*libpcap.a/ s/^/#/' Makefile Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativo Instalado: pcap-config Bibliotecas Instaladas: libpcap.so Diretório Instalado: /usr/include/pcap Descrições Curtas pcap-config fornece informações de configuração para a "libpcap" libpcap.{a,so} são bibliotecas usadas para captura de pacotes em nível de usuário(a) libpsl-0.21.2 Introdução ao libpsl O pacote "libpsl" fornece uma biblioteca para acessar e resolver informações originárias da "Public Suffix List" ("PSL"). O "PSL" é um conjunto de nomes de domínio além dos sufixos padrão, como ".com". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5293]https://github.com/rockdaboot/libpsl/releases/download/0.21.2 /libpsl-0.21.2.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 2864d3eb744b378d68f5c4da25603459 * Tamanho da transferência: 7,2 MB * Espaço em disco estimado exigido: 51 MB * Tempo de construção estimado: menos que 0,1 UPC (incluindo os testes) Dependências do "libpsl" Exigidas [5294]libidn2-2.3.4 e [5295]libunistring-1.1 Opcionais [5296]GTK-Doc-1.33.2 (para a documentação) e [5297]Valgrind-3.21.0 (para os testes) Instalação do libpsl Instale o "libpsl" executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release && ninja Para testar os resultados, emita: ninja test. Agora, como o(a) usuário(a) "root": ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. Conteúdo Aplicativo Instalado: psl Biblioteca Instalada: libpsl.so Diretórios Instalados: Nenhum(a) Descrições Curtas psl consulta a Lista Pública de Sufixos libpsl.so contém uma biblioteca usada para acessar a Lista Pública de Sufixos libndp-1.8 Introdução ao libndp O pacote "libndp" fornece um envólucro para o "Neighbor Discovery Protocol" do "IPv6". Ele também fornece uma ferramenta chamada "ndptool" para enviar e receber mensagens "NDP". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5298]http://libndp.org/files/libndp-1.8.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: c7e775fd5a9d676e8cba9c3732c4df93 * Tamanho da transferência: 360 KB * Espaço em disco estimado exigido: 2,5 MB * Tempo de construção estimado: menos que 0,1 UPC Instalação do libndp Instale o "libndp" executando o seguinte comando: ./configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --disable-static && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativo Instalado: ndptool Biblioteca Instalada: libndp.so Diretório Instalado: Nenhum(a) Descrições Curtas ndptool é uma ferramenta para enviar e receber mensagens "NDP" libndp.so fornece um envólucro para o "Neighbor Discovery Protocol" do "IPv6" Libslirp-4.7.0 Introdução ao libslirp "Libslirp" é uma biblioteca de atividade em rede de intercomunicação em modo de usuário(a) usada por máquinas virtuais, contêineres ou diversas ferramentas. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5299]https://gitlab.freedesktop.org/slirp/libslirp/-/archive/v4.7. 0/libslirp-v4.7.0.tar.bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: b815c4de99265559caf5ef635a213609 * Tamanho da transferência: 107 KB * Espaço em disco estimado exigido: 3,1 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "libslirp" Exigidas [5300]GLib-2.76.4 Instalação do Libslirp Instale o "libslirp" executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. Conteúdo Aplicativo Instalado: Nenhum(a) Biblioteca Instalada: libslirp.so Diretório Instalado: /usr/include/slirp Descrições Curtas libclirp.so contém funções de emulação "TCP-IP" em modo de usuário(a) libsoup-2.74.3 Introdução ao libsoup A "libsoup" é uma biblioteca "HTTP" cliente/servidor para o "GNOME". Ela usa "GObject" e o "loop" principal "GLib" para integração com aplicativos "GNOME" e também tem uma "API" assíncrona para uso em aplicativos em camadas. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5301]https://download.gnome.org/sources/libsoup/2.74/libsoup-2.74. 3.tar.xz * Transferência (FTP): [5302]ftp://ftp.acc.umu.se/pub/gnome/sources/libsoup/2.74/libsoup-2 .74.3.tar.xz * Soma de verificação MD5 da transferência: 8f657fd301a213629204b3320c35d75a * Tamanho da transferência: 1,4 MB * Espaço em disco estimado exigido: 17 MB (com os testes) * Tempo de construção estimado: 0,3 UPC (Usando paralelismo=4; com os testes) Dependências do "libsoup" Exigidas [5303]glib-networking-2.76.1, [5304]libpsl-0.21.2, [5305]libxml2-2.10.4 e [5306]SQLite-3.42.0 Recomendadas [5307]gobject-introspection-1.76.1 e [5308]Vala-0.56.11 Opcionais [5309]Apache-2.4.57 (exigido para executar a suíte de teste), [5310]Brotli-1.0.9, [5311]cURL-8.2.1 (exigido para executar a suíte de teste), [5312]sysprof-3.48.0 (para perfilamento), [5313]MIT Kerberos V5-1.21.2 (exigido para executar a suíte de teste), [5314]GTK-Doc-1.33.2, [5315]PHP-8.2.9 compilado com suporte "XMLRPC-EPI" (usado somente para os testes de regressão "XMLRPC") e [5316]Samba-4.18.6 ("ntlm_auth" é exigido para executar a suíte de teste) Instalação do libsoup Instale o "libsoup" executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr \ --buildtype=release \ -Dvapi=enabled \ -Dgssapi=disabled \ -Dsysprof=disabled \ .. && ninja Para testar os resultados, emita: "ninja test". Um teste chamado "ssl-test" é conhecido por falhar. Agora, como o(a) usuário(a) "root": ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dvapi=disabled: Use isso se não tiver instalado o "Vala", por exemplo, porque você não está construindo o "GNOME". -Ddoc=enabled: Use essa opção se quiser construir a documentação. Observe que você precisa ter o "[5317]GTK-Doc-1.33.2" instalado. -Dgssapi=disabled: O padrão da "libsoup" é o de construir com suporte "GSSAPI", que exige "Kerberos" (assim como a suíte de teste). Se você estiver construindo o "GNOME" ou tiver o "Kerberos" instalado, [então] remova essa opção. -Dsysprof=disabled: "libsoup" baixará automaticamente uma versão "git" de "[5318]sysprof-3.48.0" se o "git" estiver disponível ou usará a versão instalada, se disponível. Se você precisar de perfilamento, [então] remova essa opção. Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libsoup-2.4.so e libsoup-gnome-2.4.so Diretórios Instalados: /usr/include/libsoup-2.4, /usr/include/libsoup-gnome-2.4 e /usr/share/gtk-doc/html/libsoup-2.4 Descrições Curtas libsoup-2.4.so fornece funções para conexões assíncronas "HTTP" libsoup-gnome-2.4.so fornece recursos específicos do "GNOME" libsoup-3.4.2 Introdução ao libsoup3 A "libsoup3" é uma biblioteca "HTTP" cliente/servidor para o "GNOME". Ela usa "GObject" e o "loop" principal "GLib" para integração com aplicativos "GNOME" e também tem uma "API" assíncrona para uso em aplicativos em camada. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5319]https://download.gnome.org/sources/libsoup/3.4/libsoup-3.4.2. tar.xz * Transferência (FTP): [5320]ftp://ftp.acc.umu.se/pub/gnome/sources/libsoup/3.4/libsoup-3. 4.2.tar.xz * Soma de verificação MD5 da transferência: cd8b0fc5d53331b9c0b5b22aabac4294 * Tamanho da transferência: 1,5 MB * Espaço em disco estimado exigido: 28 MB (com testes) * Tempo de construção estimado: 0,4 UPC (Usando paralelismo=4; com testes) Dependências do "libsoup3" Exigidas [5321]glib-networking-2.76.1, [5322]libpsl-0.21.2, [5323]libxml2-2.10.4, [5324]nghttp2-1.55.1 e [5325]SQLite-3.42.0 Recomendadas [5326]gobject-introspection-1.76.1 e [5327]Vala-0.56.11 Opcionais [5328]Apache-2.4.57 (exigido para executar a suíte de teste), [5329]Brotli-1.0.9, [5330]cURL-8.2.1 (exigido para executar a suíte de teste), [5331]Gi-DocGen-2023.1, [5332]MIT Kerberos V5-1.21.2 (exigido para executar a suíte de teste), [5333]PHP-8.2.9 compilado com suporte XMLRPC-EPI (usado somente para os testes de regressão do XMLRPC), [5334]Samba-4.18.6 (ntlm_auth é exigido para executar a suíte de teste), [5335]sysprof-3.48.0 (para perfilamento) e [5336]wstest Instalação do libsoup3 Corrija o caminho de instalação da documentação da "API": sed 's/apiversion/soup_version/' -i docs/reference/meson.build Instale o "libsoup3" executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr \ --buildtype=release \ -Dvapi=enabled \ -Dgssapi=disabled \ -Dsysprof=disabled \ --wrap-mode=nofallback \ .. && ninja Para testar os resultados, emita: "ninja test". Agora, como o(a) usuário(a) "root": ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. --wrap-mode=nofallback: Essa chave impede que o meson use substitutos de subprojeto para quaisquer declarações de dependência nos arquivos de construção, impedindo-o de baixar qualquer dependência opcional que não esteja instalada no sistema. -Dvapi=disabled: Use isso se não tiver instalado o "Vala", por exemplo, porque você não está construindo o "GNOME". -Ddocs=enabled: Se "[5337]Gi-DocGen-2023.1" estiver instalado, [então] a documentação da "API" será construída e instalada independentemente de essa opção ser usada ou não. Essa opção faz com que o comando "meson" falhe se "[5338]Gi-DocGen-2023.1" não estiver instalado. -Dgssapi=disabled: o padrão da "libsoup3" é o de construir com suporte "GSSAPI", que exige "Kerberos" (assim como a suíte de teste). -Dsysprof=disabled: "libsoup3" baixará automaticamente uma versão "git" de "[5339]sysprof-3.48.0" se o "git" estiver disponível ou usará a versão instalada, se disponível. Se você precisar de perfilamento, [então] remova essa opção. Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libsoup-3.0.so Diretórios Instalados: /usr/include/libsoup-3.0, /usr/share/doc/libsoup-3.4.2 (somente instalado se -Ddocs=enabled for passado) Descrições Curtas libsoup-3.0.so fornece funções para conexões assíncronas "HTTP" libtirpc-1.3.3 Introdução ao libtirpc O pacote "libtirpc" contém bibliotecas que suportam aplicativos que usam a "API" "Remote Procedure Call" ("RPC"). Ele substitui o "RPC", mas não as entradas da biblioteca "NIS" que costumavam estar na "glibc". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5340]https://downloads.sourceforge.net/libtirpc/libtirpc-1.3.3.tar .bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: bacdad5c27dcf6e2830b3e26a1c8ed3f * Tamanho da transferência: 552 KB * Espaço em disco estimado exigido: 6,8 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "libtirpc" Opcionais [5341]MIT Kerberos V5-1.21.2 para a "GSSAPI" Instalação do libtirpc Nota Se atualizar esse pacote, [então] você também precisará atualizar qualquer versão existente de "[5342]rpcbind-1.2.6" ./configure --prefix=/usr \ --sysconfdir=/etc \ --disable-static \ --disable-gssapi && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --disable-gssapi: Essa chave é necessária se nenhum "GSSAPI" estiver instalado. Remova essa chave se você tiver uma instalada (por exemplo "[5343]MIT Kerberos V5-1.21.2") e desejar usá-la. Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libtirpc.so Diretório Instalado: /usr/include/tirpc Descrições Curtas libtirpc.so fornece as funções da "API" "Remote Procedure Call" ("RPC") exigidas por outros aplicativos neon-0.32.5 Introdução ao neon "neon" é uma biblioteca cliente "HTTP" e "WebDAV", com uma interface "C". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5344]https://notroj.github.io/neon/neon-0.32.5.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 7976b1cd67b7228cddb7eb4f39640ac5 * Tamanho da transferência: 876 KB * Espaço em disco estimado exigido: 8,6 MB (adicional 18 MB para os testes) * Tempo de construção estimado: 0,1 UPC (adicionar 0,4 UPC para os testes) Dependências do "neon" Opcionais [5345]GnuTLS-3.8.1, [5346]libxml2-2.10.4, [5347]MIT Kerberos V5-1.21.2, [5348]nss-3.92 (para alguns testes), [5349]xmlto-0.0.28 (para regenerar a documentação), [5350]libproxy e [5351]PaKChoiS Instalação do neon Instale o "neon" executando os seguintes comandos: ./configure --prefix=/usr \ --with-ssl \ --enable-shared \ --disable-static && make Para testar os resultados, emita: "make check". Se você desejar regenerar a documentação, emita: make docs Agora, como o(a) usuário(a) "root": make install Explicações do Comando --with-ssl: Essa chave habilita o suporte "SSL" usando o "OpenSSL". O "GnuTLS" pode ser usado em vez disso, passando-se "--with-ssl=gnutls" e "--with-ca-bundle=/etc/pki/tls/certs/ca-bundle.crt" para o conjunto de comandos sequenciais "configure". --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativo Instalado: neon-config Biblioteca Instalada: libneon.so Diretórios Instalados: /usr/include/neon e /usr/share/doc/neon-0.32.5 Descrições Curtas neon-config é um conjunto de comandos sequenciais que fornece informações relativas a uma cópia instalada da biblioteca "neon" libneon.so é usado como uma interface de alto nível para métodos comuns" HTTP" e "WebDAV" nghttp2-1.55.1 Introdução ao nghttp2 "nghttp2" é uma implementação de "HTTP/2" e do algoritmo de compressão de cabeçalho dele, "HPACK". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5352]https://github.com/nghttp2/nghttp2/releases/download/v1.55.1/ nghttp2-1.55.1.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 5af6a7ee55dc96661aa8649636b68763 * Tamanho da transferência: 1,5 MB * Espaço em disco estimado exigido: 19 Mb * Tempo de construção estimado: menos que 0,1 UPC Dependências do "nghttp2" Recomendadas [5353]libxml2-2.10.4 Opcionais Os seguintes são usados somente se construir o pacote completo em vez de somente as bibliotecas principais: [5354]Boost-1.83.0, [5355]c-ares-1.19.1, [5356]cython-0.29.36, [5357]jansson-2.14, [5358]libevent-2.1.12, [5359]sphinx-7.1.2, [5360]jemalloc, [5361]libev, [5362]mruby e [5363]Spdylay. "[5364]CUnit" é exigido se você desejar executar a suíte de teste. Instalação do nghttp2 Instale o "nghttp2" executando os seguintes comandos: ./configure --prefix=/usr \ --disable-static \ --enable-lib-only \ --docdir=/usr/share/doc/nghttp2-1.55.1 && make A suíte de teste precisa do "CUnit", que está além do escopo do BLFS. Agora, como o(a) usuário(a) "root": make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --enable-lib-only: constrói somente a "libnghttp2". Omita essa chave se você gostaria de construir os aplicativos de exemplo, as ligações "Python" ou a biblioteca "C++" "asio". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libnghttp2.so Diretórios Instalados: /usr/include/nghttp2, /usr/share/nghttp2 e /usr/share/doc/nghttp2-1.55.1 Descrições Curtas libnghttp2.so uma implementação do "Hypertext Transfer Protocol" versão 2 em "C" rpcsvc-proto-1.4.4 Introdução ao rpcsvc-proto O pacote "rpcsvc-proto" contém os arquivos e cabeçalhos do protocolo "rcpsvc", anteriormente incluídos na "glibc", que não estão incluídos na substituição "[5365]libtirpc-1.3.3", junto com o aplicativo "rpcgen". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5366]https://github.com/thkukuk/rpcsvc-proto/releases/download/v1. 4.4/rpcsvc-proto-1.4.4.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: bf908de360308d909e9cc469402ff2ef * Tamanho da transferência: 168 KB * Espaço em disco estimado exigido: 2,2 MB * Tempo de construção estimado: menos que 0,1 UPC Instalação do rpcsvc-proto Instale o "rpcsvc-proto" executando os seguintes comandos: ./configure --sysconfdir=/etc && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: rpcgen Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/include/rpcsvc Descrições Curtas rpcgen Gera código "C" para implementar o protocolo "RPC" Serf-1.3.10 Introdução ao Serf O pacote "Serf" contém uma biblioteca cliente "HTTP" baseada em "C" construída sobre a biblioteca "Apache Portable Runtime" ("APR"). Ela multiplexa conexões, executando a comunicação de leitura/escrita assincronamente. As cópias e transformações da memória são reduzidas ao mínimo para fornecer operação de alto desempenho. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5367]https://archive.apache.org/dist/serf/serf-1.3.10.tar.bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: 5320087299084c297eff8e1dacfab1af * Tamanho da transferência: 148 KB * Espaço em disco estimado exigido: 2,4 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "Serf" Exigidas [5368]Apr-Util-1.6.3 e [5369]SCons-4.5.2 Opcionais [5370]MIT Kerberos V5-1.21.2, para a "GSSAPI" Instalação do Serf Instale o "Serf" executando os seguintes comandos: sed -i "/Append/s:RPATH=libdir,::" SConstruct && sed -i "/Default/s:lib_static,::" SConstruct && sed -i "/Alias/s:install_static,::" SConstruct && scons PREFIX=/usr Esse pacote não vem com uma suíte funcional de teste. Agora, como o(a) usuário(a) "root": scons PREFIX=/usr install Explicações do Comando sed -i "...": O primeiro comando remove o caminho em tempo de execução de uma biblioteca compartilhada e os próximos dois comandos desabilitam a construção e instalação da biblioteca estática. GSSAPI=/usr: Use essa chave se você tiver instalado uma biblioteca "GSSAPI" e quiser que o "serf" a use. Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: libserf-1.so Diretório Instalado: /usr/include/serf-1 Descrições Curtas libserf-1.so contém as funções da "API" do "Serf" uhttpmock-0.5.3 Introdução ao uhttpmock O pacote "uhttpmock" contém uma biblioteca para simular "APIs" de serviços da "web" que usem "HTTP" ou "HTTPS". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5371]https://tecnocode.co.uk/downloads/uhttpmock/uhttpmock-0.5.3.t ar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: dcbd66e80e1635e41b0e434b9852bd39 * Tamanho da transferência: 311 KB * Espaço em disco estimado exigido: 3,6 MB * Tempo de construção estimado: menos que 0,1 UPC (com os testes) Dependências do "uhttpmock" Exigidas [5372]libsoup-2.74.3 Recomendadas [5373]gobject-introspection-1.76.1 e [5374]Vala-0.56.11 Opcionais [5375]GTK-Doc-1.33.2 Instalação do uhttpmock Instale o "uhttpmock" executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Para testar os resultados, emita: "make check". Agora, como o(a) usuário(a) "root": make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --enable-gtk-doc: Use esse parâmetro se GTK-Doc estiver instalado e você desejar reconstruir e instalar a documentação da API. Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libuhttpmock-0.0.so Diretórios Instalados: /usr/include/libuhttpmock-0.0 e /usr/share/gtk-doc/html/libuhttpmock-0.0 Descrições Curtas libuhttpmock-0.0.so contém as funções da "API" do "uhttpmock" Capítulo 18. Navegadores da “Web” em Texto Pessoas que são novas em sistemas baseados em Unix tendem a fazer a pergunta "Por que diabos eu iria querer um navegador em modo texto? Vou compilar o X e usar o Firefox/Falkon/Tanto faz!". Aqueles(as) que já conhecem sistemas há algum tempo sabem que quando (não se) você consegue bagunçar tua instalação do navegador gráfico e precisa procurar algumas informações na web, um navegador baseado em console te salvará. Além disso, existem algumas pessoas que preferem usar um desses navegadores como método principal de navegação; seja para evitar a confusão e a largura de banda que acompanha as imagens ou porque eles podem usar um sintetizador de texto para fala que consegue ler a página para eles(as) (útil, por exemplo, para usuários(as) com deficiência visual ou cegos(as)). Neste capítulo você encontrará instruções de instalação para dois navegadores de console: Links-2.29 Introdução ao Links "Links" é um navegador "WWW" em modo texto e gráfico. Inclui suporte para renderização de tabelas e quadros, realça transferências em segundo plano, consegue exibir cores e tem muitos outros recursos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5376]http://links.twibright.com/download/links-2.29.tar.bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: f60b87ffee090c5d6820951eba710572 * Tamanho da transferência: 6,2 MB * Espaço em disco estimado exigido: 35 MB * Tempo de construção estimado: 0,2 UPC Dependências do "Links" Recomendadas [5377]libevent-2.1.12 Opcionais O modo gráfico exige pelo menos um de [5378]GPM-1.20.7 (suporte de mouse para ser usado com um console baseado em "framebuffer"), [5379]SVGAlib, [5380]DirectFB e [5381]um ambiente gráfico Para decodificar vários formatos de imagem, o Links consegue utilizar [5382]libavif-0.11.1, [5383]libpng-1.6.40, [5384]libjpeg-turbo-3.0.0, [5385]librsvg-2.56.3 e [5386]libtiff-4.5.1 Para descomprimir páginas da "web" que estejam comprimidas com o "Brotli", o "Links" consegue utilizar o "[5387]Brotli-1.0.9" Instalação do Links Instale o "Links" executando os seguintes comandos: ./configure --prefix=/usr --mandir=/usr/share/man && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install && install -v -d -m755 /usr/share/doc/links-2.29 && install -v -m644 doc/links_cal/* KEYS BRAILLE_HOWTO \ /usr/share/doc/links-2.29 Explicações do Comando --enable-graphics: Essa chave habilita o suporte para modo gráfico. Configurando o Links Arquivos de Configuração ~/.links/* Informação de Configuração O "Links" armazena a configuração dele em arquivos por usuário(a) no diretório "~/.links". Esses arquivos são criados automaticamente quando o "links" for executado pela primeira vez. Conteúdo Aplicativo Instalado: links Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/share/doc/links-2.29 Descrições Curtas links é um navegador "WWW" em modo texto e gráfico Lynx-2.8.9rel.1 Introdução ao Lynx "Lynx" é um navegador da "web" baseado em texto. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5388]https://invisible-mirror.net/archives/lynx/tarballs/lynx2.8.9 rel.1.tar.bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: 44316f1b8a857b59099927edc26bef79 * Tamanho da transferência: 2,5 MB * Espaço em disco estimado exigido: 31 MB * Tempo de construção estimado: 0,3 UPC Transferências Adicionais * Remendo exigido: [5389]https://www.linuxfromscratch.org/patches/blfs/12.0/lynx-2.8.9 rel.1-security_fix-1.patch Dependências do "Lynx" Opcionais [5390]GnuTLS-3.8.1 (experimental, para substituir o "OpenSSL"), [5391]Zip-3.0, [5392]UnZip-6.0, um [5393]MTA (que forneça um comando "sendmail") e [5394]Sharutils-4.15.2 (para o aplicativo "uudecode") Instalação do Lynx Primeiro, aplique um remendo para corrigir uma vulnerabilidade de segurança: patch -p1 -i ../lynx-2.8.9rel.1-security_fix-1.patch Instale o "Lynx" executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc/lynx \ --datadir=/usr/share/doc/lynx-2.8.9rel.1 \ --with-zlib \ --with-bzlib \ --with-ssl \ --with-screen=ncursesw \ --enable-locale-charset && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install-full && chgrp -v -R root /usr/share/doc/lynx-2.8.9rel.1/lynx_doc Explicações do Comando --sysconfdir=/etc/lynx: Esse parâmetro é usado para que os arquivos de configuração estejam localizados em /etc/lynx em vez de /usr/etc. --datadir=/usr/share/doc/lynx-2.8.9rel.1: Esse parâmetro é usado para que os arquivos da documentação sejam instalados em /usr/share/doc/lynx-2.8.9rel.1 em vez de /usr/share/lynx_{doc,help}. --with-zlib: Isso habilita o suporte para vincular a "libz" no "Lynx". --with-bzlib: Isso habilita o suporte para vincular a "libbz2" no "Lynx". --with-ssl: Isso habilita o suporte para vincular a "SSL" no "Lynx". --with-screen=ncursesw: Essa chave habilita o uso do suporte avançado a caracteres largos presente na biblioteca do sistema "NCurses". Isso é necessário para a exibição adequada de caracteres e quebra de linha em localidades multi byte. --enable-locale-charset: Essa chave permite que o "Lynx" deduza a codificação de caracteres adequada para a saída gerada de terminal a partir do local atual. Uma etapa de configuração ainda é necessária (veja-se abaixo), mas diferentemente da situação sem essa chave, a etapa de configuração se torna a mesma para todos(as) os(as) usuários(as) (sem a chave é preciso especificar explicitamente o conjunto de caracteres de exibição). Isso é importante para ambientes, como um "LiveCD", onde a quantidade de etapas específicas de configuração do sistema tem de ser reduzida ao mínimo. --enable-ipv6: Essa chave permite que o "Lynx" use "IPv6", juntamente com "IPv4". Use-a se o teu "ISP" fornecer uma configuração de "IPv6". --enable-nls: Essa chave permite que o "Lynx" imprima mensagens traduzidas (como perguntas relativas a "cookies" e certificados "SSL"). --with-gnutls: Isso habilita o suporte experimental para vincular o "GnuTLS" no "Lynx". Remova a chave "--with-ssl" se quiser usar o "GnuTLS". make install-full: Além da instalação padrão, esse alvo instala a documentação e os arquivos de ajuda. chgrp -v -R root /usr/share/doc/lynx-2.8.9rel.1/lynx_doc : Esse comando corrige a propriedade imprópria do grupo dos arquivos de documentação instalados. Configurando o Lynx Arquivos de Configuração /etc/lynx/lynx.cfg Informação de Configuração A maneira correta de obter o conjunto de caracteres de exibição é a de examinar a localidade atual. Entretanto, o "Lynx" não faz isso por padrão. Como o(a) usuário(a) "root", mude essa configuração: sed -e '/#LOCALE/ a LOCALE_CHARSET:TRUE' \ -i /etc/lynx/lynx.cfg O editor integrado no "Lynx" [5395]Quebra Caracteres Multi Byte. Esse problema se manifesta em localidades multi byte, por exemplo, quando a tecla "Backspace" não apaga caracteres não "ASCII" corretamente e quando dados incorretos são enviados para a rede de intercomunicação quando se edita o conteúdo de áreas de texto. A única solução para esse problema é a de configurar o "Lynx" para usar um editor externo (ligado à combinação de teclas “Ctrl+X e” por padrão). Ainda como o(a) usuário(a) "root": sed -e '/#DEFAULT_ED/ a DEFAULT_EDITOR:vi' \ -i /etc/lynx/lynx.cfg O "Lynx" lida com os seguintes valores da opção "DEFAULT_EDITOR" especialmente adicionando argumentos de posicionamento do cursor: “emacs”, “jed”, “jmacs” , “joe”, “jove”, “jpico”, “jstar”, “nano”, “pico”, “rjoe”, “vi” (mas não “vim”: para a finalidade de posicionar o cursor no "[5396]Vim-9.0.1677", configure essa opção como “vi”). Por padrão, o "Lynx" não salva "cookies" entre sessões. Novamente como o(a) usuário(a) "root", mude essa configuração: sed -e '/#PERSIST/ a PERSISTENT_COOKIES:TRUE' \ -i /etc/lynx/lynx.cfg Muitas outras configurações abrangentes a todo o sistema, como "proxies", também conseguem ser configuradas no arquivo "/etc/lynx/lynx.cfg". Conteúdo Aplicativo Instalado: lynx Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /etc/lynx e /usr/share/doc/lynx-2.8.9rel.1 Descrições Curtas lynx é um navegador de informações distribuído, baseado em texto e de uso geral para a "World Wide Web" Capítulo 19. Clientes de Mensagem/Notícias Os Clientes de Mensagem te ajudam a recuperar ("Fetchmail"), classificar ("Procmail"), ler e redigir respostas ("Heirloom mailx", "Mutt", "Pine", "Kmail", "Balsa", "Evolution", "SeaMonkey") para mensagem eletrônica. Os clientes de notícias também te ajudam a recuperar, classificar, ler e redigir respostas, mas essas mensagens viajam pela "USENET" (um sistema mundial de boletim informativo) usando o "Network News Transfer Protocol" ("NNTP"). Fetchmail-6.4.37 Introdução ao Fetchmail O pacote "Fetchmail" contém um aplicativo de recuperação de mensagem. Ele recupera mensagens a partir de servidores remotos de mensagem e as encaminha para o sistema de entrega da máquina local (cliente), de forma que então possam ser lidas por agentes normais usuários de mensagem. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5397]https://downloads.sourceforge.net/fetchmail/fetchmail-6.4.37. tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 61db4f95af4f1a5f95e7ea632928d48d * Tamanho da transferência: 1,1 MB * Espaço em disco estimado exigido: 15 MB incluindo testes * Tempo de construção estimado: 0,1 UPC incluindo os testes Dependências do "Fetchmail" Recomendadas um "MDA" local ([5398]Procmail-3.22) Opcionais [5399]MIT Kerberos V5-1.21.2 e [5400]libgssapi Opcional (para executar "fetchmailconf") [5401]Python-3.11.4, construído depois do [5402]Tk-8.6.13, com o pacote "[5403]py-future" Instalação do Fetchmail Crie um(a) usuário(a) dedicado(a) para o aplicativo "fetchmail". Emita os seguintes comandos como o(a) usuário(a) "root": useradd -c "Usuário(a) Fetchmail" -d /dev/null -g nogroup \ -s /bin/false -u 38 fetchmail Instale o "Fetchmail" executando os seguintes comandos: PYTHON=python3 \ ./configure --prefix=/usr \ --enable-fallback=procmail && make Para testar os resultados, emita: "make check". Agora, como o(a) usuário(a) "root": make install && chown -v fetchmail:nogroup /usr/bin/fetchmail Explicações do Comando PYTHON=python3: uma versão do "Python" é exigida, mas usada somente para instalar um módulo para permitir que o "fetchmailconf" seja executado. Esse módulo não é mantido e não deveria ser usado. --enable-fallback=procmail: Isso diz ao "Fetchmail" para entregar as mensagens recebidas para o "Procmail" para entrega, se o servidor de mensagem da porta 25 não estiver presente ou não estiver respondendo. Configurando o Fetchmail Arquivos de Configuração ~/.fetchmailrc Informação de Configuração Nota Se você estiver se conectando a um servidor de mensagens que suporte "SSL"/"TLS" envolucrado ou modo "implícito" em uma porta dedicada (padrão 993), [então] você deveria usar "fetchmail --ssl" ou adicionar a opção "ssl" em um arquivo de controle de execução. cat > ~/.fetchmailrc << "EOF" # O arquivo de registro precisa existir quando o "fetchmail" for invocado, caso contrário ele # despejará os detalhes na tela. Como acontece com todos os registros, você prec isará girá-los # ou limpá-los de tempos em tempos. set logfile fetchmail.log set no bouncemail # Você provavelmente quer configurar teu nome de usuário(a) local como "postmast er" set postmaster poll SERVERNAME : user pass ; mda "/usr/bin/procmail -f %F -d %T"; EOF touch ~/fetchmail.log && chmod -v 0600 ~/.fetchmailrc Essa é uma configuração de exemplo que deveria ser suficiente para a maioria das pessoas. Você pode adicionar quantos(as) usuários(as) e servidores precisar usando a mesma sintaxe. man fetchmail: Procure a seção próxima ao final chamada "CONFIGURATION EXAMPLES". Ela dá alguns exemplos rápidos. Existem incontáveis outras opções de configuração quando você se acostumar. Se espera receber pouquíssimas mensagens, [então] você pode invocar o "fetchmail" quando desejar receber alguma mensagem. Mais comumente, ele é invocado ou no modo de processo de segundo plano, com a opção "-d", ou na linha de comando ou em ".fetchmailrc" (veja-se "DAEMON MODE" em "man fetchmailconf"), ou, alternativamente, é invocado a partir de uma tarefa do "cron". Conteúdo Aplicativos Instalados: fetchmail e fetchmailconf Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas fetchmail quando executado como um(a) usuário(a), isso carregará "~/.fetchmailrc" e baixará a mensagem apropriada fetchmailconf destina-se a te ajudar a configurar e editar um arquivo de configuração "~/.fetchmailrc", usando uma interface "GUI" do "Tk". Ele foi escrito para "Python" e para o módulo "Tkinter", mas é rotulado com um AVISO de que precisa ser atualizado para as opções "SSL" do "fetchmail" 6.4 e outras novas opções recentes mailx-12.5 Introdução ao Heirloom mailx O pacote "Heirloom mailx" (anteriormente conhecido como o pacote "Nail") contém o "mailx", um "Mail User Agent" de linha de comando derivado do "Berkeley Mail". Ele é destinado a fornecer a funcionalidade do comando "POSIX" "mailx" com suporte adicional para mensagens "MIME", "IMAP" (incluindo "cache"), "POP3", "SMTP", "S/MIME", encadeamento/classificação de mensagens, pontuação e filtragem. "Heirloom mailx" é especialmente útil para escrever conjuntos de comandos sequenciais e processamento em lote. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5404]https://anduin.linuxfromscratch.org/BLFS/mailx/heirloom-mailx _12.5.orig.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 29a6033ef1412824d02eb9d9213cb1f2 * Tamanho da transferência: 317 KB * Espaço em disco estimado exigido: 3,2 MB * Tempo de construção estimado: menos que 0,1 UPC Transferências Adicionais * Remendo exigido: [5405]https://www.linuxfromscratch.org/patches/blfs/12.0/heirloom-m ailx-12.5-fixes-1.patch Dependências do "Heirloom mailx" Opcionais [5406]nss-3.92, [5407]MIT Kerberos V5-1.21.2 (para autenticação "IMAP" "GSSAPI") e um [5408]MTA Instalação do Heirloom mailx Nota Esse pacote não suporta construção paralela. Instale o "Heirloom mailx" executando os seguintes comandos. patch -Np1 -i ../heirloom-mailx-12.5-fixes-1.patch && sed 's@" >> /etc/nail.rc ou individualmente para o(a) usuário(a) atual em "~/.mailrc": echo "set PAGER=" >> ~/.mailrc Outras opções interessantes para configurar nos arquivos de configuração podem ser "EDITOR" e "MAILDIR". Se não configurado no ambiente para outros pacotes, [então] o editor padrão pode ser configurado por: echo "set EDITOR=" >> /etc/nail.rc Dependendo de qual tipo de "[5409]MTA" esteja instalado, pode ser exigido configurar a variável "MAILDIR" de forma que o "mailx" esteja apto a encontrar as mensagens: echo "set MAILDIR=Maildir" >> /etc/nail.rc Conteúdo Aplicativos Instalados: mail, mailx e nail Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas mailx é um "Mail User Agent" de linha de comando compatível com o comando "mailx" encontrado em versões comerciais do Unix mail é um link simbólico para "mailx" nail é um link simbólico para "mailx" Mutt-2.2.11 Introdução ao Mutt O pacote "Mutt" contém um "Mail User Agent". Isso é útil para ler, escrever, responder, salvar e deletar tua mensagem eletrônica. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5410]https://bitbucket.org/mutt/mutt/downloads/mutt-2.2.11.tar.gz * Transferência (FTP): [5411]ftp://ftp.mutt.org/pub/mutt/mutt-2.2.11.tar.gz * Soma de verificação MD5 da transferência: 0c3691cff3fd0471bfcad2bd8ad84949 * Tamanho da transferência: 5,3 MB * Espaço em disco estimado exigido: 48 MB * Tempo de construção estimado: 0,3 UPC Dependências do "Mutt" Recomendadas (para uma versão de texto do manual) [5412]Lynx-2.8.9rel.1 ou [5413]Links-2.29 (ou [5414]W3m ou [5415]ELinks) - por favor, leia-se a Observação. Opcionais [5416]Aspell-0.60.8, [5417]Cyrus SASL-2.1.28, [5418]DocBook-utils-0.6.14, [5419]GDB-13.2, [5420]GnuPG-2.4.3, [5421]GnuTLS-3.8.1, [5422]GPGME-1.21.0, [5423]libidn-1.41, [5424]MIT Kerberos V5-1.21.2, um [5425]MTA (que forneça um comando sendmail), [5426]slang-2.3.3, [5427]SQLite-3.42.0, [5428]libgssapi, [5429]Mixmaster, [5430]QDBM ou [5431]Tokyo Cabinet Observações de Editor(a): [5432]https://wiki.linuxfromscratch.org/blfs/wiki/mutt Instalação do Mutt Nota O "Mutt" vem com uma versão "HTML" do manual dele, mas a versão em texto não mais é fornecida porque diferenças na formatação de diferentes navegadores de texto em comparação com a versão enviada causaram reclamações. Para obter um arquivo de texto, os seguintes são usados em ordem de preferência: "lynx" com "overstriking" ("backspaces") para ênfase, "w3m" ou "elinks": os dois últimos aparentemente fornecem texto simples. O texto simples é geralmente preferido, a menos que se leia o manual "HTML", de forma que as instruções abaixo usam o "lynx" se disponível, ou então o "links" para produzir texto simples. O "Mutt" exige um grupo chamado "mail". Você pode adicionar esse grupo, caso ele não exista, com este comando: groupadd -g 34 mail Se não instalou um "[5433]MTA", [então] você precisa modificar a titularidade da propriedade de "/var/mail" com este comando: chgrp -v mail /var/mail Instale o "Mutt" executando os seguintes comandos: Para garantir que um manual de texto simples seja criado ao usar o "lynx" ou, caso contrário, para usar o "links" para produzi-lo (em vez do "elinks"), execute o seguinte comando: sed -e 's/ -with_backspaces//' \ -e 's/elinks/links/' \ -e 's/-no-numbering -no-references//' \ -i doc/Makefile.in Agora configure e construa o aplicativo: ./configure --prefix=/usr \ --sysconfdir=/etc \ --with-docdir=/usr/share/doc/mutt-2.2.11 \ --with-ssl \ --enable-external-dotlock \ --enable-pop \ --enable-imap \ --enable-hcache \ --enable-sidebar && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Nota Se usou um método "DESTDIR" para instalar somente em um local temporário como um(a) usuário(a) regular (como parte de um processo de gerenciamento de pacotes), [então] você precisará executar o seguinte como o(a) usuário(a) "root" depois de concluir a instalação real: chown root:mail /usr/bin/mutt_dotlock && chmod -v 2755 /usr/bin/mutt_dotlock Um arquivo "info" agora está instalado, de forma que você também precisará recriar o "/usr/share/info/dir" conforme descrito quando o "Texinfo" foi instalado no LFS. Explicações do Comando sed ... -e 's/ -with_backspaces//' ...: Isso desliga os "backspaces" usados para "overstriking" quando o "lynx" for usado, resultando em texto simples legível ao usar o "view". sed ... -e 's/elinks/links/' ...: Isso permite que o "links" seja executado em vez do "elinks" que não está no livro. sed ... -e 's/-no-numbering -no-references//' ...: Isso remove chaves que não são entendidas pelo "links". --enable-external-dotlock: Em algumas circunstâncias, o aplicativo "mutt-dotlock" não é criado. Essa chave garante que ele seja sempre criado. --enable-pop: Essa chave habilita o suporte a "POP3". --enable-imap: Essa chave habilita o suporte a "IMAP". --enable-hcache: Essa chave habilita o "caching" de cabeçalho. --enable-sidebar: Essa chave habilita o suporte para a barra lateral (uma lista de caixas de mensagens). Ela está desligado por padrão, mas pode ser ligado por ":set sidebar_visible" no "mutt" (e desligado novamente com ":unset"), ou pode ser habilitado em "~/.muttrc". --with-ssl: Esse parâmetro adiciona suporte a "SSL"/"TLS" a partir do "OpenSSL" em "POP3"/"IMAP"/"SMTP". --enable-autocrypt --with-sqlite3: Essas duas chaves adicionam suporte para proteção passiva contra coleta de dados, usando "gnupg" e "gpgme" ("gpgme" é habilitado por "autocrypt"). Veja-se [5434]O Manual. --enable-gpgme: Essa chave habilita o suporte a "GPG" por meio do pacote "GPGME". Use essa chave se você quiser suporte a "GPG" no "Mutt". --enable-smtp: Essa chave habilita o suporte a retransmissão "SMTP". --with-idn2: Use esse parâmetro se "libidn" e "libidn2" tiverem sido instalados e você desejar usar "libidn2" aqui. --with-sasl: Esse parâmetro adiciona suporte de autenticação a partir do "[5435]Cyrus SASL-2.1.28" em "POP3"/"IMAP"/"SMTP" se eles estiverem habilitados. Dependendo da configuração do servidor, isso possivelmente não seja necessário para "POP3" ou "IMAP". No entanto, é necessário para autenticação "SMTP". Configurando o Mutt Arquivos de Configuração /etc/Muttrc, ~/.muttrc, /etc/mime.types e ~/.mime.types Informação de Configuração Nenhuma mudança nesses arquivos é necessária para começar a usar o "Mutt". Quando você estiver pronto(a) para fazer mudanças, a página de manual do "muttrc" é um bom ponto de partida. Para a finalidade de utilizar o "GnuPG", use o seguinte comando: cat /usr/share/doc/mutt-2.2.11/samples/gpg.rc >> ~/.muttrc Conteúdo Aplicativos Instalados: flea, mutt, mutt_dotlock, muttbug, pgpewrap, mutt_pgpring e smime_keys Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/share/doc/mutt-2.2.11 Descrições Curtas flea é um conjunto de comandos sequenciais que mostra onde informar defeitos mutt é um "Mail User Agent" ("MUA") que te habilita ler, escrever e deletar teu mensagem eletrônica mutt_dotlock implementa o bloqueio de arquivo de "spool" de mensagem muttbug é um conjunto de comandos sequenciais idêntico ao "flea" pgpewrap prepara uma linha de comando para os utilitários do "[5436]GnuPG-2.4.3" pgpring é um despejador de chaveiro para o "[5437]PGP". Não é necessário para o "[5438]GnuPG-2.4.3" smime_keys gerencia um armazenamento de chaves para certificados "S/MIME" Procmail-3.22 Introdução ao Procmail O pacote "Procmail" contém um processador autônomo de mensagem. Isso é útil para filtrar e classificar as mensagens recebidas. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5439]https://ftp.osuosl.org/pub/blfs/conglomeration/procmail/procm ail-3.22.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 1678ea99b973eb77eda4ecf6acae53f1 * Tamanho da transferência: 226 KB * Espaço em disco estimado exigido: 1,7 MB * Tempo de construção estimado: menos que 0,1 UPC Transferências Adicionais * Remendo exigido: [5440]https://www.linuxfromscratch.org/patches/blfs/12.0/procmail-3 .22-consolidated_fixes-1.patch Dependências do "Procmail" Recomendadas Um "[5441]MTA" que instale "sendmail" Opcionais [5442]libnsl-2.0.0 Observações de Editor(a): [5443]https://wiki.linuxfromscratch.org/blfs/wiki/procmail Instalação do Procmail Esse pacote não vem com uma suíte de teste. Instale o "Procmail" executando os seguintes comandos como o(a) usuário(a) "root": sed -i 's/getline/get_line/' src/*.[ch] && patch -Np1 -i ../procmail-3.22-consolidated_fixes-1.patch && make LOCKINGTEST=/tmp MANDIR=/usr/share/man install && make install-suid Explicações do Comando sed -i 's/getline/get_line/' src/*.[ch]: Isso renomeia a função "getline" do "Procmail" para evitar conflito com a função "getline" proveniente da "glibc". make LOCKINGTEST=/tmp install: Isso evita que o "make" te pergunte onde testar os padrões de bloqueio de arquivos. make install-suid: Modifica as permissões dos arquivos instalados. Configurando o Procmail Arquivos de Configuração /etc/procmailrc e ~/.procmailrc Informação de Configuração As receitas tem de ser escritas e colocadas em "~/.procmailrc" para execução. A página de manual do "procmailex" é o ponto de partida para aprender como escrever receitas. Para informações adicionais, veja-se também [5444]https://pm-doc.sourceforge.net/. Conteúdo Aplicativos Instalados: formail, lockfile, mailstat e procmail Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas formail é um filtro que consegue ser usado para formatar mensagens no formato "mailbox" lockfile é um utilitário que consegue bloquear um arquivo para uso único interativamente ou em um conjunto de comandos sequenciais mailstat imprime um informe resumido das mensagens que tenham sido filtradas pelo "procmail" desde a última vez que o "mailstat" foi executado procmail é um processador autônomo de mensagem. Desempenha todas as funções de um "Mail Delivery Agent" ("MDA") Outros Aplicativos de Mensagem e Notícias [5445]Balsa-2.6.4 é um cliente de mensagem baseado em "GTK2". [5446]SeaMonkey-2.53.17 inclui um cliente de mensagem e um leitor de notícias na instalação dele. [5447]Thunderbird-115.2.0 é um cliente de mensagem/notícias baseado na base do código do "Mozilla". [5448]Evolution-3.48.4 é um cliente de mensagens e organizador originário da área de trabalho GNOME. Parte V. Servers Capítulo 20. Servidores Principais Os servidores principais são os aplicativos que fornecem conteúdo ou serviços para os(as) usuários(as) ou outros aplicativos. Apache-2.4.57 Introdução ao Apache HTTPD O pacote "Apache HTTPD" contém um servidor "HTTP" de fonte aberto. Ele é útil para criar sítios "web" locais de intranet ou executar grandes operações de serviço "web". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5449]https://archive.apache.org/dist/httpd/httpd-2.4.57.tar.bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: 34575e92f91fb625f3842d6ca382caa5 * Tamanho da transferência: 7,2 MB * Espaço em disco estimado exigido: 87 MB * Tempo de construção estimado: 0,3 UPC (Usando paralelismo=4) Transferências Adicionais * Remendo exigido: [5450]https://www.linuxfromscratch.org/patches/blfs/12.0/httpd-2.4. 57-blfs_layout-1.patch Dependências do "Apache HTTPD" Exigidas [5451]Apr-Util-1.6.3 e [5452]pcre2-10.42 Opcionais [5453]Brotli-1.0.9, [5454]Base de Dados Berkeley-5.3.28, [5455]Doxygen-1.9.7, [5456]jansson-2.14, [5457]libxml2-2.10.4, [5458]Lua-5.4.6, [5459]Lynx-2.8.9rel.1 ou [5460]Links-2.29 ou [5461]ELinks, [5462]nghttp2-1.55.1, [5463]OpenLDAP-2.6.6 ([5464]Apr-Util-1.6.3 precisa ser instalado com suporte a ldap), [5465]rsync-3.2.7 e [5466]Distcache Observações de Editor(a): [5467]https://wiki.linuxfromscratch.org/blfs/wiki/apache Instalação do Apache HTTPD Por motivos de segurança, executar o servidor como um(a) usuário(a) e grupo sem privilégios é fortemente encorajado. Crie o seguinte grupo e usuário(a) usando os seguintes comandos como "root": groupadd -g 25 apache && useradd -c "Servidor Apache" -d /srv/www -g apache \ -s /bin/false -u 25 apache Construa e instale o "Apache HTTPD" executando os seguintes comandos: patch -Np1 -i ../httpd-2.4.57-blfs_layout-1.patch && sed '/dir.*CFG_PREFIX/s@^@#@' -i support/apxs.in && sed -e '/HTTPD_ROOT/s:${ap_prefix}:/etc/httpd:' \ -e '/SERVER_CONFIG_FILE/s:${rel_sysconfdir}/::' \ -e '/AP_TYPES_CONFIG_FILE/s:${rel_sysconfdir}/::' \ -i configure && ./configure --enable-authnz-fcgi \ --enable-layout=BLFS \ --enable-mods-shared="all cgi" \ --enable-mpms-shared=all \ --enable-suexec=shared \ --with-apr=/usr/bin/apr-1-config \ --with-apr-util=/usr/bin/apu-1-config \ --with-suexec-bin=/usr/lib/httpd/suexec \ --with-suexec-caller=apache \ --with-suexec-docroot=/srv/www \ --with-suexec-logfile=/var/log/httpd/suexec.log \ --with-suexec-uidmin=100 \ --with-suexec-userdir=public_html && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install && mv -v /usr/sbin/suexec /usr/lib/httpd/suexec && chgrp apache /usr/lib/httpd/suexec && chmod 4754 /usr/lib/httpd/suexec && chown -v -R apache:apache /srv/www Explicações do Comando sed '/dir.*CFG_PREFIX/s@^@#@'...: Força o utilitário "apxs" a usar nomes absolutos de caminho para módulos, quando instruído a fazê-lo. --enable-authnz-fcgi: Construa autenticação e autorização baseada no autorizador "FastCGI" (módulo CGI rápido "mod_authnz_fcgi.so"). --enable-mods-shared="all cgi": Os módulos deveriam ser compilados e usados como "Dynamic Shared Objects" ("DSOs") de forma que possam ser incluídos e excluídos a partir do servidor usando as diretivas de configuração de tempo de execução. --enable-mpms-shared=all: Essa chave garante que todos os "Multi Processing Modules" ("MPM") sejam construídos como "Dynamic Shared Objects" ("DSOs"), de forma que o(a) usuário(a) consiga escolher qual usar em tempo de execução. --enable-suexec: Essa chave habilita a construção do módulo "suEXEC" do "Apache" que pode ser usado para permitir que os(as) usuários(as) executem conjuntos de comandos sequenciais "CGI" e "SSI" sob "IDs" de usuário(a) diferentes do "ID" de usuário(a) do servidor web chamante. --with-suexec-*: Essas chaves controlam o comportamento do módulo "suEXEC", tais como a raiz padrão do documento, "UID" mínimo que pode ser usado para executar o conjunto de comandos sequenciais sob o "suEXEC". Por favor, observe que, com "UID" mínimo de 100, você não consegue executar conjuntos de comandos sequenciais "CGI" ou "SSI" sob o s"uEXEC" como o(a) usuário(a) "apache". ... /usr/lib/httpd/suexec: Esses comandos colocam o envólucro "suexec" no local apropriado, já que ele não se destina a ser executado diretamente. Eles também ajustam as permissões adequadas do binário, tornando-o "setgid" do "apache". chown -R apache:apache /srv/www: Por padrão, o processo de instalação instala arquivos (documentação, mensagens de erro, ícones padrão, etc.) com a titularidade de propriedade do(a) usuário(a) que extraiu os arquivos a partir do arquivo "tar". Se quiser mudar a titularidade de propriedade para outro(a) usuário(a), [então] você deveria fazê-lo neste ponto. O único requisito é o de que os diretórios de documentos precisam ser acessíveis pelo processo "httpd" com permissões ("r-x") e os arquivos precisam ser legíveis ("r--") pelo(a) usuário(a) "apache". Configurando o Apache Arquivos de Configuração /etc/httpd/httpd.conf e /etc/httpd/extra/* Informação de Configuração Veja-se [5468]file:///usr/share/httpd/manual/configuring.html para instruções detalhadas relativas a personalizar o teu arquivo de configuração do servidor de "HTTP" "Apache". Unidade do systemd Se você quiser que o servidor "Apache" inicie automaticamente quando o sistema for inicializado, [então] instale a unidade "httpd.service" incluída no pacote "" "[5469]blfs-systemd-units-20230816": make install-httpd Conteúdo Aplicativos Instalados: ab, apachectl, apxs, checkgid, dbmmanage, fcgistarter, htcacheclean, htdbm, htdigest, htpasswd, httpd, httxt2dbm, logresolve e rotatelogs Bibliotecas Instaladas: Várias bibliotecas sob "/usr/lib/httpd/modules/" Diretórios Instalados: /etc/httpd, /srv/www, /usr/include/httpd, /usr/lib/httpd, /usr/share/httpd, /var/log/httpd e /var/run/httpd Descrições Curtas ab é uma ferramenta para avaliar comparativamente o teu servidor de "HTTP" "Apache" apachectl é uma estrutura de interação direta com o(a) usuário(a) para o servidor de "HTTP" "Apache" o qual foi projetado para ajudar o(a) administrador(a) a controlar o funcionamento do processo de segundo plano "httpd" do "Apache" apxs é uma ferramenta para construir e instalar módulos de extensão para o servidor de "HTTP" "Apache" checkgid é um aplicativo que verifica se pode "setgid" para o grupo especificado. Isso é para ver se é um grupo válido para o "Apache2" usar em tempo de execução. Se o(a) usuário(a) (deveria ser executado como superusuário(a)) estiver nesse grupo, ou puder "setgid" para ele, [então] ele retornará 0 dbmmanage é usado para criar e atualizar os arquivos no formato "DBM" usados para armazenar nomes de usuário(a) e senhas para autenticação básica de usuários(as) "HTTP" fcgistarter é uma ferramenta para iniciar um aplicativo "FastCGI" htcacheclean é usado para limpar o "cache" do disco htdbm é usado para manipular as bases de dados de senha "DBM" htdigest é usado para criar e atualizar os arquivos simples usados para armazenar nomes de usuário(a), domínios e senhas para autenticação de resumo dos(as) usuários(as) "HTTP" htpasswd é usado para criar e atualizar os arquivos simples usados para armazenar nomes de usuários(as) e senhas para autenticação básica dos(as) usuários(as) "HTTP" httpd é o aplicativo servidor de "HTTP" "Apache" httxt2dbm é usado para gerar arquivos "DBM" a partir de texto, para uso no "RewriteMap" logresolve é um aplicativo de pós-processamento para resolver endereços "IP" nos arquivos de registro de acesso do "Apache" rotatelogs é um aplicativo simples para uso em conjunto com o recurso de arquivo de registro canalizado do "Apache" suexec permite que os(as) usuários(as) executem aplicativos "CGI" e "SSI" como um(a) usuário(a) diferente BIND-9.18.18 Introdução ao BIND O pacote BIND fornece um servidor DNS e utilitários clientes. Se você estiver interessado(a) somente nos utilitários, [então] consulte [5470]Utilitários BIND-9.18.18. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5471]https://ftp.isc.org/isc/bind9/9.18.18/bind-9.18.18.tar.xz * Transferência (FTP): [5472]ftp://ftp.isc.org/isc/bind9/9.18.18/bind-9.18.18.tar.xz * Soma de verificação MD5 da transferência: d8f443ea8fbd294345b3b7d1a7a81417 * Tamanho da transferência: 5,2 MB * Espaço em disco estimado exigido: 122 MB (21 MB instalado) * Tempo de construção estimado: 0,4 UPC (com paralelismo=4; cerca de 40 minutos, um tanto independente do processador, para executar a suíte completa de teste) Dependências do "BIND" Exigidas [5473]libuv-1.46.0 Recomendadas [5474]JSON-C-0.17, [5475]libcap-2.69 com PAM e [5476]nghttp2-1.55.1 Opcionais [5477]cURL-8.2.1, [5478]libidn2-2.3.4, [5479]libxml2-2.10.4, [5480]lmdb-0.9.31, [5481]MIT Kerberos V5-1.21.2, [5482]pytest-7.4.0, [5483]sphinx-7.1.2 (exigido para construir documentação), [5484]cmocka, [5485]geoip, [5486]jemalloc, [5487]w3m Estruturas de retaguarda opcionais de base de dados [5488]Base de Dados Berkeley-5.3.28, [5489]MariaDB-10.11.4 ou [5490]MySQL, [5491]OpenLDAP-2.6.6, [5492]PostgreSQL-15.4 e [5493]unixODBC-2.3.12 Opcional (para executar a suíte de teste) [5494]Net-DNS-1.39 Instalação do BIND Instale o "BIND" executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --mandir=/usr/share/man \ --disable-static && make Emita os seguintes comandos para executar a suíte completa de teste. Primeiro, como o(a) usuário(a) "root", configure algumas interfaces de teste: Nota Se o "IPv6" não estiver habilitado no núcleo, [então] existirão diversas mensagens de erro: "RTNETLINK answers: Operation not permitted". Essas mensagens não afetam os testes. bin/tests/system/ifconfig.sh up A suíte de teste possivelmente indique alguns testes ignorados dependendo de quais opções de configuração são usadas. Alguns testes são marcados como “UNTESTED” ou até falham se o [5495]Net-DNS-1.39 não estiver instalado. Dois testes, resolver e dispatch, são conhecidos por falharem. Para executar os testes, como um(a) usuário(a) sem privilégios, execute: make -k check Novamente como "root", limpe as interfaces de teste: bin/tests/system/ifconfig.sh down Finalmente, instale o pacote como o(a) usuário(a) "root": make install Explicações do Comando --sysconfdir=/etc: Esse parâmetro força o "BIND" a procurar arquivos de configuração em "/etc" em vez de "/usr/etc". --with-libidn2: Esse parâmetro habilita o suporte a "Internationalized Domain Names in Applications" ("IDNA2008"). --enable-fetchlimit: Use essa opção se você quiser estar apto(a) a limitar a taxa de consultas recursivas do cliente. Isso possivelmente seja útil em servidores que recebem um grande número de consultas. --disable-linux-caps: O "BIND" também pode ser construído sem suporte de capacidade usando-se essa opção, ao custo de alguma perda de segurança. --with-dlz-{mysql,bdb,filesystem,ldap,odbc,stub}: Use uma (ou mais) dessas opções para adicionar suporte a Zonas Dinamicamente Carregáveis. Para mais informações, consulte-se [5496]bind-dlz.sourceforge.net. --disable-doh: Use essa opção se você não tiver [5497]nghttp2-1.55.1 instalado e não precisar de suporte para DNS sobre HTTPS. --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Configurando o BIND Arquivos de Configuração named.conf, root.hints, 127.0.0, rndc.conf e resolv.conf Informação de Configuração O BIND será configurado para executar em uma jaula chroot como um(a) usuário(a) sem privilégios (named). Essa configuração é mais segura naquilo que um comprometimento do DNS consegue afetar somente uns poucos arquivos no diretório HOME do(a) usuário(a) named. Crie o(a) usuário(a) sem privilégios e grupo "named": groupadd -g 20 named && useradd -c "Proprietário(a) do BIND" -g named -s /bin/false -u 20 named && install -d -m770 -o named -g named /srv/named Configure alguns arquivos, diretórios e dispositivos necessários ao "BIND": mkdir -p /srv/named && cd /srv/named && mkdir -p dev etc/named/{slave,pz} usr/lib/engines var/run/named && mknod /srv/named/dev/null c 1 3 && mknod /srv/named/dev/urandom c 1 9 && chmod 666 /srv/named/dev/{null,urandom} && cp /etc/localtime etc O arquivo "rndc.conf" contém informações para controlar as operações do "named" com o utilitário "rndc". Gere uma chave para uso no "named.conf" e "rndc.conf" com o comando "rndc-confgen": rndc-confgen -a -b 512 -t /srv/named Crie o arquivo named.conf a partir do qual o named lerá o local dos arquivos de zona, servidores raiz de nomes e chaves seguras DNS: cat >> /srv/named/etc/named.conf << "EOF" options { directory "/etc/named"; pid-file "/var/run/named.pid"; statistics-file "/var/run/named.stats"; }; zone "." { type hint; file "root.hints"; }; zone "0.0.127.in-addr.arpa" { type master; file "pz/127.0.0"; }; // O "Bind" 9 agora registra por padrão por intermédio do "syslog" (exceto depur ação). // Estas são as regras padrão de registro. logging { category default { default_syslog; default_debug; }; category unmatched { null; }; channel default_syslog { syslog daemon; // Envia para o recurso de processo de segundo plano // do "syslog" severity info; // Envia somente informações prioritár ias // e superiores }; channel default_debug { file "named.run"; // Escreve para "named.run" no // diretório de trabalho. // Observação: "stderr" é // usado em vez de "named.run" // se o servidor for iniciado // com a opção "-f". severity dynamic; // Registra no nível de // depuração atual do servidor. }; channel default_stderr { stderr; // Escreve para "stderr" severity info; // Envia somente informações prioritár ias // e superiores }; channel null { null; // Descarta tudo enviado para // esse canal }; }; EOF Crie um arquivo de zona com o seguinte conteúdo: cat > /srv/named/etc/named/pz/127.0.0 << "EOF" $TTL 3D @ IN SOA ns.local.domain. hostmaster.local.domain. ( 1 ; Serial 8H ; Refresh 2H ; Retry 4W ; Expire 1D) ; Minimum TTL NS ns.local.domain. 1 PTR localhost. EOF Crie o arquivo "root.hints" com os seguintes comandos: Nota Deve-se ter cuidado para garantir que não existam espaços iniciais neste arquivo. cat > /srv/named/etc/named/root.hints << "EOF" . 6D IN NS A.ROOT-SERVERS.NET. . 6D IN NS B.ROOT-SERVERS.NET. . 6D IN NS C.ROOT-SERVERS.NET. . 6D IN NS D.ROOT-SERVERS.NET. . 6D IN NS E.ROOT-SERVERS.NET. . 6D IN NS F.ROOT-SERVERS.NET. . 6D IN NS G.ROOT-SERVERS.NET. . 6D IN NS H.ROOT-SERVERS.NET. . 6D IN NS I.ROOT-SERVERS.NET. . 6D IN NS J.ROOT-SERVERS.NET. . 6D IN NS K.ROOT-SERVERS.NET. . 6D IN NS L.ROOT-SERVERS.NET. . 6D IN NS M.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET. 6D IN A 198.41.0.4 A.ROOT-SERVERS.NET. 6D IN AAAA 2001:503:ba3e::2:30 B.ROOT-SERVERS.NET. 6D IN A 199.9.14.201 B.ROOT-SERVERS.NET. 6D IN AAAA 2001:500:200::b C.ROOT-SERVERS.NET. 6D IN A 192.33.4.12 C.ROOT-SERVERS.NET. 6D IN AAAA 2001:500:2::c D.ROOT-SERVERS.NET. 6D IN A 199.7.91.13 D.ROOT-SERVERS.NET. 6D IN AAAA 2001:500:2d::d E.ROOT-SERVERS.NET. 6D IN A 192.203.230.10 E.ROOT-SERVERS.NET. 6D IN AAAA 2001:500:a8::e F.ROOT-SERVERS.NET. 6D IN A 192.5.5.241 F.ROOT-SERVERS.NET. 6D IN AAAA 2001:500:2f::f G.ROOT-SERVERS.NET. 6D IN A 192.112.36.4 G.ROOT-SERVERS.NET. 6D IN AAAA 2001:500:12::d0d H.ROOT-SERVERS.NET. 6D IN A 198.97.190.53 H.ROOT-SERVERS.NET. 6D IN AAAA 2001:500:1::53 I.ROOT-SERVERS.NET. 6D IN A 192.36.148.17 I.ROOT-SERVERS.NET. 6D IN AAAA 2001:7fe::53 J.ROOT-SERVERS.NET. 6D IN A 192.58.128.30 J.ROOT-SERVERS.NET. 6D IN AAAA 2001:503:c27::2:30 K.ROOT-SERVERS.NET. 6D IN A 193.0.14.129 K.ROOT-SERVERS.NET. 6D IN AAAA 2001:7fd::1 L.ROOT-SERVERS.NET. 6D IN A 199.7.83.42 L.ROOT-SERVERS.NET. 6D IN AAAA 2001:500:9f::42 M.ROOT-SERVERS.NET. 6D IN A 202.12.27.33 M.ROOT-SERVERS.NET. 6D IN AAAA 2001:dc3::35 EOF O arquivo "root.hints" é uma lista de servidores raiz de nomes. Esse arquivo precisa ser atualizado periodicamente com o utilitário "dig". Uma cópia atual do "root.hints" pode ser obtida a partir de [5498]https://www.internic.net/domain/named.root. Para detalhes, consulte-se o "Manual de Referência do(a) Administrador(a) do BIND 9". Crie ou modifique o "resolv.conf" para usar o novo servidor de nomes com os seguintes comandos: Nota Substitua pelo teu próprio nome de domínio válido. cp /etc/resolv.conf /etc/resolv.conf.bak && cat > /etc/resolv.conf << "EOF" search nameserver 127.0.0.1 EOF Configure as permissões relativas à jaula "chroot" com o seguinte comando: chown -R named:named /srv/named Unidade do systemd Para iniciar o servidor "DNS" na inicialização, instale a unidade "named.service" inclusa no pacote "" "[5499]blfs-systemd-units-20230816": make install-named Agora inicie o "BIND" com o seguinte comando: systemctl start named Testando o “BIND” Teste a nova instalação do "BIND" 9. Primeiro consulte o endereço local do dispositivo com o "dig": dig -x 127.0.0.1 Agora tente uma pesquisa externa de nome, observando a diferença de velocidade em pesquisas repetidas devido ao cache. Execute o comando "dig" duas vezes relativo ao mesmo endereço: dig www.linuxfromscratch.org && dig www.linuxfromscratch.org Você pode ver resultados quase instantâneos com as pesquisas de cache do "named". Consulte-se o Manual de Referência do(a) Administrador(a) do "BIND" (veja-se abaixo) para mais opções de configuração. Manual de Referência do(a) Administrador(a) (MRA) A documentação ARM (não confunda com a arquitetura do processador) está incluída no pacote do fonte. A documentação está no formato .rst, o que significa que ela pode ser convertida em formatos legíveis por humanos se o [5500]sphinx-7.1.2 estiver instalado. Quando o BIND estiver configurado, especialmente se ele for operar em um cenário da vida real, é altamente recomendado consultar a documentação ARM. O ISC fornece um conjunto atualizado de excelente documentação junto com cada lançamento, de forma que possa ser facilmente visualizada e (ou) baixada – então, não existe desculpa para não ler os documentos. Os formatos que o ISC fornece são PDF, epub e HTML em [5501]https://downloads.isc.org/isc/bind9/9.18.18/doc/arm/. Conteúdo Aplicativos Instalados: arpaname, ddns-confgen, delv, dig, dnssec-cds, dnssec-dsfromkey, dnssec-importkey, dnssec-keyfromlabel, dnssec-keygen, dnssec-revoke, dnssec-settime, dnssec-signzone, dnssec-verify, host, mdig, named, named-checkconf, named-checkzone, named-compilezone, named-journalprint, named-nzd2nzf, named-rrchecker, nsec3hash, nslookup, nsupdate, rndc, rndc-confgen e tsig-keygen (link simbólico) Bibliotecas Instaladas: libbind9.so, libdns.so, libirs.so, libisc.so, libisccc.so, libisccfg.so e libns.so Diretórios Instalados: /usr/include/{bind9,dns,dst,irs,isc,isccc,isccfg,ns}, /usr/lib/bind e /srv/named Descrições Curtas arpaname traduz endereços "IP" para os nomes "ARPA" correspondentes ddns-confgen gera uma chave para uso pelo "nsupdate" e pelo "named" delv é uma nova ferramenta de depuração que é uma sucessora do "dig" dig interroga servidores "DNS" dnssec-cds muda os registros "DS" para uma zona filha baseado em "CDS"/"CDNSKEY" dnssec-dsfromkey gera o Registro de Recurso ("RR") do "Delegation Signer" ("DS") dnssec-importkey lê um registro público "DNSKEY" e gera um par de arquivos ".key"/".private" dnssec-keyfromlabel obtém chaves com o rótulo dado a partir de um dispositivo de "hardware" de criptografia e constrói arquivos de chave para "DNSSEC" dnssec-keymgr garante a cobertura correta "DNSKEY" baseada em uma política definida dnssec-revoke configura o bit "REVOKED" em uma chave "DNSSEC" dnssec-settime configura os metadados de hora da chave para uma chave "DNSSEC" dnssec-signzone gera versões assinadas de arquivos de zona dnssec-verify verifica se uma zona está totalmente assinada para cada algoritmo encontrado no conjunto "RR" do "DNSKEY" para a zona e se as cadeias "NSEC"/"NSEC3" estão completas host é um utilitário para pesquisas de "DNS" mdig é uma versão do "dig" que permite múltiplas consultas ao mesmo tempo named é o processo de segundo plano do servidor de nomes named-checkconf verifica a sintaxe dos arquivos "named.conf" named-checkzone verifica a validade do arquivo de zona named-compilezone é semelhante ao "named-checkzone", mas sempre despeja o conteúdo da zona em um arquivo especificado em um formato especificado named-journalprint imprime o diário da zona em formato legível por humanos(as) named-rrchecker lê um registro individual de recurso "DNS" a partir da entrada padrão e verifica se ele está sintaticamente correto named-nzd2nzf converte uma base de dados "NZD" para o formato de texto "NZF" nsec3hash gera um resumo "NSEC3" baseado em um conjunto de parâmetros "NSEC3" nslookup é um aplicativo usado para consultar servidores de nomes de domínio da Internet nsupdate é usado para submeter solicitações de atualização de "DNS" rndc controla a operação do "BIND" rndc-confgen gera arquivos "rndc.conf" tsig-keygen é um link simbólico para o "ddns-confgen" Servidor DHCP Kea 2.4.0 Introdução ao Servidor DHCP Kea do ISC O pacote ISC Kea contém os aplicativos de servidor para DHCP. É o sucessor do antigo servidor DHCP do ISC, que está em fim de vida desde dezembro de 2022. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5502]https://downloads.isc.org/isc/kea/2.4.0/kea-2.4.0.tar.gz * Transferência (FTP): [5503]ftp://ftp.isc.org/isc/kea/2.4.0/kea-2.4.0.tar.gz * Soma de verificação MD5 da transferência: e01bdc8d68cfaca1cae17b20b26e09b6 * Tamanho da transferência: 9,9 MB * Espaço em disco estimado exigido: 1,1 GB * Tempo de construção estimado: 14 UPC Dependências do Kea Exigidas [5504]Boost-1.83.0 e [5505]log4cplus-2.1.0 Opcionais [5506]MIT Kerberos V5-1.21.2, para documentação [5507]Doxygen-1.9.7, [5508]Graphviz-8.1.0 e [5509]sphinx_rtd_theme-1.2.2 Estruturas opcionais de retaguarda de base de dados [5510]MariaDB-10.11.4 ou [5511]MySQL e [5512]PostgreSQL-15.4 Configuração do Núcleo Você precisa ter suporte a Packet Socket. Suporte a IPv6 é opcional. [*] Networking support ---> [NET] Networking options ---> <*/M> Packet socket [PACKET] [*] TCP/IP networking [INET] <*> The IPv6 protocol ---> [IPV6] Instalação do Servidor DHCP Kea do ISC Instale o Servidor DHCP Kea do ISC executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc \ --docdir=/usr/share/doc/kea-2.4.0 \ --localstatedir=/var \ --enable-shell \ --with-openssl \ --disable-static && make Para testar os resultados, emita: make check. Para instalar a suíte Servidor DHCP Kea do ISC, emita os seguintes comandos como o(a) usuário(a) root: make -j1 install Explicações do Comando --with-pgsql ou --with-mysql: O Kea do ISC consegue armazenar as concessões em uma base de dados. Isso pode ser útil em ambientes grandes que executam um cluster de servidores DHCP. Usar a estrutura de retaguarda memfile (que é um arquivo CSV armazenado localmente) é possível de qualquer maneira. --enable-generate-docs: Se a documentação for para ser reconstruída, adicione essa opção. Diversas dependências precisam estar instaladas para gerar a documentação. make -j1 install: O ISC não recomenda nenhuma forma de paralelismo ou opções de tarefa de servidor ao fazer a instalação. Configurando o Servidor DHCP Kea do ISC O suporte de IPv4, IPv6 e DDNS foi dividido em servidores separados que funcionam independentemente um do outro. Cada um deles tem o próprio arquivo de configuração dele. Arquivos adicionais de configuração vem do agente keactrl que é usado para controlar os servidores de maneira fácil. Consulte-se o [5513]Manual de Referência do(a) Administrador(a) do Kea para informações detalhadas acerca da configuração do Kea do ISC, pois ele é um sistema bastante capaz. A configuração mostrou o mínimo para colocar um servidor DHCP em execução, mas já inclui configuração para DDNS (DNS Dinâmico). Essa configuração pode funcionar para redes de intercomunicação pequenas com poucos clientes e baixo tráfego. Para instalações maiores com milhares de clientes, o Kea do ISC pode ser configurado para usar bases de dados (mariadb ou postgresql) para armazenar as concessões e construir um cluster com múltiplos nós. Ele pode ser integrado ao [5514]Stork do ISC, que é um painel de gerenciamento para o Kea do ISC. Se você quiser iniciar o Servidor DHCP na inicialização, instale a unidade kea-dhcpd.service incluída no pacote [5515]blfs-systemd-units-20230816: make install-kea-dhcpd Arquivos de Configuração /etc/kea/keactrl.conf, /etc/kea/kea-ctrl-agent.conf, /etc/kea/kea-dhcp4.conf, /etc/kea/kea-dhcp6.conf e /etc/kea/kea-dhcp-ddns.conf Configuração do Controle do Kea keactrl é usado para controlar os servidores independentes (IPv4, IPv6, DDNS). O arquivo de configuração dele, /etc/kea/keactrl.conf, é instalado por padrão e inclui muitas configurações de caminho que são definidas devido ao configure ao tempo da construção. Também inclui configurações para especificar qual dos servidores deveria ser iniciado. * Agente de Controle O Agente de Controle é um processo de segundo plano que permite a (re)configuração do serviço DHCP do Kea via API REST. Configure ctrl_agent=yes para iniciar o agente de controle (serviço que fornece uma API REST); configure ctrl_agent=no caso o agente de controle não seja necessário. * Servidor DHCP de IPv4 Esse processo de segundo plano lida com solicitações de endereços IPv4. Configure dhcp4=yes para iniciá-lo; configure dhcp4=no caso o serviço DHCP para IPv4 não seja desejado. * Servidor DHCP de IPv6 Esse processo de segundo plano lida com solicitações de endereços IPv6. Configure dhcp6=yes para iniciá-lo; configure dhcp6=no caso o serviço DHCP para IPv6 não seja desejado. * DNS Dinâmico Esse processo de segundo plano é usado para atualizar um servidor DNS dinamicamente quando Kea atribui um endereço IP a um dispositivo. Configure dhcp_ddns=yes para habilitá-lo; configure dhcp_ddns=no caso as atualizações dinâmicas de DNS não sejam desejadas. O serviço Netconf não é instalado porque as dependências exigidas não são cobertas pelo atual livro do BLFS. Com o seguinte comando, o Kea será configurado para iniciar o serviço DHCP para IPv4 e a atualização dinâmica do DNS, enquanto o agente de controle e o serviço DHCP para IPv6 permanecerão inativos. Ajuste o comando para atender às tuas necessidades nos serviços iniciados e execute como o(a) usuário(a) root: sed -e "s/^dhcp4=.*/dhcp4=yes/" \ -e "s/^dhcp6=.*/dhcp6=no/" \ -e "s/^dhcp_ddns=.*/dhcp_ddns=yes/" \ -e "s/^ctrl_agent=.*/ctrl_agent=no/" \ -i /etc/kea/keactrl.conf Configuração do Agente de Controle A configuração fornecida poderia ser usada sem mudanças, mas, no BLFS, objetos como soquetes são armazenados em /run em vez de em /tmp. cat > /etc/kea/kea-ctrl-agent.conf << "EOF" // Inicia /etc/kea/kea-ctrl-agent.conf { // Esta é uma configuração básica para o Agente de Controle do Kea. // Interface RESTful para estar disponível em http://127.0.0.1:8000/ "Control-agent": { "http-host": "127.0.0.1", "http-port": 8000, "control-sockets": { "dhcp4": { "socket-type": "unix", "socket-name": "/run/kea4-ctrl-socket" }, "dhcp6": { "socket-type": "unix", "socket-name": "/run/kea6-ctrl-socket" }, "d2": { "socket-type": "unix", "socket-name": "/run/kea-ddns-ctrl-socket" } }, "loggers": [ { "name": "kea-ctrl-agent", "output_options": [ { "output": "/var/log/kea-ctrl-agent.log" "pattern": "%D{%Y-%m-%d %H:%M:%S.%q} %-5p %m\n" } ], "severity": "INFO", "debuglevel": 0 } ] } } // Termina /etc/kea/kea-ctrl-agent.conf EOF Configuração do Servidor DHCP de IPv4 Um arquivo de configuração de amostra é criado em /etc/kea/kea-dhcp4.conf. Ajuste o arquivo para atender às tuas necessidades ou sobrescreva-o usando a seguinte amostra como o(a) usuário(a) root: cat > /etc/kea/kea-dhcp4.conf << "EOF" // Inicia /etc/kea/kea-dhcp4.conf { "Dhcp4": { // Add names of your network interfaces to listen on. "interfaces-config": { "interfaces": [ "eth0", "eth2" ] }, "control-socket": { "socket-type": "unix", "socket-name": "/run/kea4-ctrl-socket" }, "lease-database": { "type": "memfile", "lfc-interval": 3600 }, "expired-leases-processing": { "reclaim-timer-wait-time": 10, "flush-reclaimed-timer-wait-time": 25, "hold-reclaimed-time": 3600, "max-reclaim-leases": 100, "max-reclaim-time": 250, "unwarned-reclaim-cycles": 5 }, "renew-timer": 900, "rebind-timer": 1800, "valid-lifetime": 3600, // Enable DDNS - Kea will dynamically update the DNS "ddns-send-updates" : true, "ddns-qualifying-suffix": "your.domain.tld", "dhcp-ddns" : { "enable-updates": true }, "subnet4": [ { "subnet": "192.168.56.0/24", "pools": [ { "pool": "192.168.56.16 - 192.168.56.254" } ], "option-data": [ { "name": "domain-name", "data": "your.domain.tld" }, { "name": "domain-name-servers", "data": "192.168.56.2, 192.168.3.7" }, { "name": "domain-search", "data": "your.domain.tld" }, { "name": "routers", "data": "192.168.56.2" } ] } ], "loggers": [ { "name": "kea-dhcp4", "output_options": [ { "output": "/var/log/kea-dhcp4.log", "pattern": "%D{%Y-%m-%d %H:%M:%S.%q} %-5p %m\n" } ], "severity": "INFO", "debuglevel": 0 } ] } } // Termina /etc/kea/kea-dhcp4.conf EOF A configuração para IPv6 é semelhante à configuração do IPv4. O arquivo de configuração é /etc/kea/kea-dhcp6.conf. Configuração do DNS Dinâmico Se existir um servidor [5516]BIND-9.18.18 executando, o Kea do ISC poderá atualizar o DNS quando fornecer um endereço IP para um cliente. Um arquivo de configuração de amostra é criado em /etc/kea/kea-dhcp-ddns.conf. Ajuste o arquivo para atender às tuas necessidades ou sobrescreva-o usando a seguinte amostra como o(a) usuário(a) root: cat > /etc/kea/kea-dhcp-ddns.conf << "EOF" // Inicia /etc/kea/kea-dhcp-ddns.conf { "DhcpDdns": { "ip-address": "127.0.0.1", "port": 53001, "control-socket": { "socket-type": "unix", "socket-name": "/run/kea-ddns-ctrl-socket" }, "tsig-keys": [ { "name" : "rndc-key", "algorithm" : "hmac-sha256", "secret" : "1FU5hD7faYaajQCjSdA54JkTPQxbbPrRnzOKqHcD9cM=" } ], "forward-ddns" : { "ddns-domains" : [ { "name" : "your.domain.tld.", "key-name": "rndc-key", "dns-servers" : [ { "ip-address" : "127.0.0.1", "port" : 53 } ] } ] }, "reverse-ddns" : { "ddns-domains" : [ { "name" : "56.168.192.in-addr.arpa.", "key-name": "rndc-key", "dns-servers" : [ { "ip-address" : "127.0.0.1", "port" : 53 } ] } ] }, "loggers": [ { "name": "kea-dhcp-ddns", "output_options": [ { "output": "/var/log/kea-ddns.log", "pattern": "%D{%Y-%m-%d %H:%M:%S.%q} %-5p %m\n" } ], "severity": "INFO", "debuglevel": 0 } ] } } // Termina /etc/kea/kea-dhcp-ddns.conf EOF Nota O valor de secret é apenas um exemplo. Gere a chave para tua instalação usando o comando rndc-confgen -a ou o comando tsig-keygen, ambos fornecidos por [5517]BIND-9.18.18. Nessa configuração de amostra, presume-se que o servidor DNS executa na mesma máquina que o Kea (acessível via 127.0.0.1) e que essa máquina tenha o IP 192.168.56.2 . Conteúdo Aplicativos Instalados: keactrl, kea-admin, kea-ctrl-agent, kea-dhcp4, kea-dhcp6, kea-dhcp-ddns, kea-lfc, kea-shell Bibliotecas Instaladas: libkea-* Diretórios Instalados: /etc/kea, /usr/include/kea, /var/lib/kea Descrições Curtas keactrl Ferramenta para controlar (iniciar/parar) os processos do servidor. kea-admin kea-admin é um conjunto de comandos sequenciais de shell que oferece manutenção de base de dados. kea-ctrl-agent Processo de segundo plano que expõe uma interface de controle RESTful para gerenciar servidores Kea. kea-dhcp4 O processo de segundo plano do servidor que fornece endereços IPv4. kea-dhcp6 O processo de segundo plano do servidor que fornece endereços IPv6. kea-dhcp-ddns O processo de segundo plano do servidor que realiza as atualizações dinâmicas de DNS. kea-lfc O processo de serviço kea-lfc remove informações redundantes dos arquivos usados para fornecer armazenamento persistente para a estrutura de retaguarda de base de dados memfile. Ele é executado pelo servidor DHCP do Kea. keashell Cliente RESTful para os serviços do Kea do ISC. ProFTPD-1.3.8 Introdução ao ProFTPD O pacote "ProFTPD" contém um processo de segundo plano "FTP" seguro e altamente configurável. Isso é útil para servir arquivamentos grandes de arquivos em uma rede de intercomunicação. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5518]https://github.com/proftpd/proftpd/archive/v1.3.8/proftpd-1.3 .8.tar.gz * Transferência (FTP): [5519]ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.8.tar.gz * Soma de verificação MD5 da transferência: eafdca17287bec7b6e8d88aaeba0f6aa * Tamanho da transferência: 18,8 MB * Espaço em disco estimado exigido: 66 MB * Tempo de construção estimado: 0,3 UPC Dependências do "ProFTPD" Opcionais [5520]libcap-2.69 com PAM, [5521]libssh2-1.11.0, [5522]Linux-PAM-1.5.3, [5523]MariaDB-10.11.4 ou [5524]MySQL, [5525]PCRE-8.45, [5526]PostgreSQL-15.4 e [5527]Net::SSH2 Instalação do ProFTPD Por motivos de segurança, você deveria instalar o "ProFTPD" usando um(a) usuário(a) e grupo sem privilégios. Como o(a) usuário(a) "root": groupadd -g 46 proftpd && useradd -c proftpd -d /srv/ftp -g proftpd \ -s /usr/bin/proftpdshell -u 46 proftpd && install -v -d -m775 -o proftpd -g proftpd /srv/ftp && ln -v -s /usr/bin/false /usr/bin/proftpdshell && echo /usr/bin/proftpdshell >> /etc/shells Instale o "ProFTPD" como um(a) usuário(a) sem privilégios executando os seguintes comandos: ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/run && make Esse pacote não vem com uma suíte de teste usável. Agora, como o(a) usuário(a) root: make install && install -d -m755 /usr/share/doc/proftpd-1.3.8 && cp -Rv doc/* /usr/share/doc/proftpd-1.3.8 Explicações do Comando install -v -d -m775 -o proftpd -g proftpd /srv/ftp: Crie o diretório lar para o "ProFTPD". ln -v -s /usr/bin/false /usr/bin/proftpdshell: Configure o "shell" padrão como um link para um "shell" inválido. echo /usr/bin/proftpdshell >> /etc/shells: Falsifique um "shell" válido para fins de compatibilidade. Nota Os dois comandos acima podem ser omitidos se a seguinte diretiva for colocada no arquivo de configuração: RequireValidShell off Por padrão, o "proftpd" exigirá que os(as) usuários(as) se logando tenham "shells" válidos. A diretiva "RequireValidShell" desliga esse requisito. Isso é recomendado somente se você estiver configurando o teu servidor "FTP" exclusivamente para transferências anônimas. Nota O suporte para a maioria dos pacotes de dependências exige usar opções passadas para o conjunto de comandos sequenciais "configure". Veja-se a saída gerada a partir de "./configure --help" para informações completas relativas a habilitar pacotes de dependências. Configurando o ProFTPD Arquivos de Configuração /etc/proftpd.conf Informação de Configuração Esta é uma configuração de amostra simples, somente para baixar. Veja-se a documentação do "ProFTPD" em "/usr/share/doc/proftpd" e consulte o sítio da "web" em [5528]http://www.proftpd.org/ para configurações de exemplo. cat > /etc/proftpd.conf << "EOF" # Este é um arquivo básico de configuração do "ProFTPD". # Ele estabelece um servidor e um login anônimo. ServerName "Instalação Padrão do ProFTPD" ServerType standalone DefaultServer on # A porta 21 é a porta padrão do "FTP". Port 21 # "Umask" 022 é um bom padrão de "umask" para evitar que novos # diretórios e arquivos sejam escrevíveis por grupo e mundialmente. Umask 022 # Para evitar ataques "DoS", configure o número máximo de processos descendentes # como trinta (30). Se precisar permitir mais que trinta (30) conexões simultâne as, # [então] simplesmente aumente esse valor. Observe que isso funciona SOMENTE no modo # autônomo; no modo "inetd", você deveria usar um servidor "inetd" que te permit a # limitar o número máximo de processos por serviço. MaxInstances 30 # Configure o(a) usuário(a) e o grupo em que o servidor normalmente executa. User proftpd Group proftpd # Para fazer com que cada usuário(a) "FTP" esteja "enjaulado(a)" (em "chroot") n o # diretório inicial dele(a), descomente esta linha. #DefaultRoot ~ # Normalmente, os arquivos deveriam ser sobrescrevíveis. AllowOverwrite on # Uma configuração básica anônima, sem diretórios de "upload". User proftpd Group proftpd # Os clientes deveriam estar aptos a se logarem com "anonymous" bem como com " proftpd" UserAlias anonymous proftpd # Limite o número máximo de "logins" anônimos MaxClients 10 # 'welcome.msg' deveria ser exibida ao "login", e '.message' exibida # a cada novo diretório acessado. DisplayLogin welcome.msg DisplayChdir .message # Limite o "WRITE" em todos os lugares no "chroot" anônimo. DenyAll EOF Unidade do systemd Instale a unidade "proftpd.service" inclusa no pacote "" "[5529]blfs-systemd-units-20230816": make install-proftpd Conteúdo Aplicativos Instalados: ftpasswd, ftpcount, ftpdctl, ftpmail, ftpquota, ftpscrub, ftpshut, ftptop, ftpwho, in.proftpd (link simbólico para "proftpd"), proftpd e prxs Bibliotecas Instaladas: Nenhum(a) Diretório Instalado: /usr/{include,lib}/proftpd, /usr/share/doc/proftpd-1.3.8 e /srv/ftp Descrições Curtas proftpd é o processo de segundo plano de "FTP" ftpcount mostra o número atual de conexões ftpdctl é usado para controlar o processo de segundo plano "proftpd" enquanto ele está em execução ftpasswd é um conjunto de comandos sequenciais "Perl" projetado para criar e gerenciar "AuthUserFiles" e "AuthGroupFiles" no formato correto para o "proftpd" ftpmail é um conjunto de comandos sequenciais "Perl" para envio de mensagens eletrônicas baseado no "TransferLog" do "proftpd" ftpquota é um conjunto de comandos sequenciais "Perl" projetado para criar e gerenciar limites e arquivos de contagem para a combinação de módulos "mod_quotatab" + "mod_quotatab_file" para o "proftpd" ftpscrub fornece uma maneira de limpar o arquivo do placar sob demanda ftpshut desliga todos os servidores "proftpd" em uma dada hora ftptop exibe a situação de execução relativa às conexões ftpwho mostra informações atuais do processo para cada sessão prxs é um conjunto de comandos sequenciais "Perl" projetado para compilar e instalar módulos de terceiros(as), a partir do fonte, como módulos "DSO" para o "proftpd" instalado vsftpd-3.0.5 Introdução ao vsftpd O pacote "vsftpd" contém um processo de segundo plano "FTP" muito seguro e muito pequeno. Isso é útil para servir arquivos em uma rede de intercomunicação. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5530]https://security.appspot.com/downloads/vsftpd-3.0.5.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: efbf362a65bec771bc15ad311f5a982e * Tamanho da transferência: 210 KB * Espaço em disco estimado exigido: 1,9 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "vsftpd" Exigidas [5531]libnsl-2.0.0 Recomendadas [5532]Linux-PAM-1.5.3 Opcionais [5533]libcap-2.69 com PAM Instalação do vsftpd Por motivos de segurança, executar o "vsftpd" como um(a) usuário(a) e grupo sem privilégios é encorajado. Além disso, um(a) usuário(a) deveria ser criado(a) para mapear usuários(as) anônimos(as). Como o(a) usuário(a) "root", crie os diretórios, usuários(as) e grupos necessários(as) com os seguintes comandos: install -v -d -m 0755 /usr/share/vsftpd/empty && install -v -d -m 0755 /home/ftp && groupadd -g 47 vsftpd && groupadd -g 45 ftp && useradd -c "Usuário(a) vsftpd" -d /dev/null -g vsftpd -s /bin/false -u 47 vsftp d && useradd -c anonymous_user -d /home/ftp -g ftp -s /bin/false -u 45 ftp O "Gcc-10" e posteriores sinalizam um erro para uma conversão implícita de tipo. Torne isso explícito: sed -e "s/kVSFSysStrOpenUnknown;/(enum EVSFSysUtilOpenMode)&/" -i sysstr.c Construa o "vsftpd" como um(a) usuário(a) sem privilégios usando o seguinte comando: make Esse pacote não vem com uma suíte de teste. Mais uma vez, torne-se o usuário "root" e instale o "vsftpd" com os seguintes comandos: install -v -m 755 vsftpd /usr/sbin/vsftpd && install -v -m 644 vsftpd.8 /usr/share/man/man8 && install -v -m 644 vsftpd.conf.5 /usr/share/man/man5 && install -v -m 644 vsftpd.conf /etc Explicações do Comando install -v -d ...: Isso cria o diretório que os(as) usuários(as) anônimos(as) usarão ("/home/ftp") e o diretório que o processo de segundo plano se enjaulará nele ("/usr/share/vsftpd/empty"). Nota "/home/ftp" não deveria ser titularizado pelo(a) usuário(a) "vsftpd", ou pelo(a) usuário(a) "ftp". echo "#define VSF_BUILD_TCPWRAPPERS" >>builddefs.h: Use isso antes do "make" para adicionar suporte a "tcpwrappers". echo "#define VSF_BUILD_SSL" >>builddefs.h: Use isso antes do "make" para adicionar suporte a "SSL". install -v -m ...: O Makefile usa caminhos de instalação não padrões. Esses comandos instalam os arquivos em "/usr" e "/etc". Configurando o vsftpd Arquivos de Configuração /etc/vsftpd.conf Informação de Configuração O "vsftpd" vem com um arquivo básico de configuração somente anônimo que foi copiado para "/etc" acima. Embora ainda como "root", esse arquivo deveria ser modificado porque agora é recomendado executar o "vsftpd" em modo autônomo. Além disso, você deveria especificar o(a) usuário(a) de separação de privilégios criado(a) acima. Finalmente, você deveria especificar o diretório "chroot". "man vsftpd.conf" te dará todos os detalhes. cat >> /etc/vsftpd.conf << "EOF" background=YES nopriv_user=vsftpd secure_chroot_dir=/usr/share/vsftpd/empty EOF Para habilitar "logins" locais, anexe o seguinte ao arquivo "/etc/vsftpd.conf" (como o(a) usuário(a) "root"): cat >> /etc/vsftpd.conf << "EOF" local_enable=YES EOF Além disso, se usar o "Linux-PAM" e o "vsftpd" com "logins" locais de usuário(a), [então] você precisará de um arquivo de configuração do "Linux-PAM". Como o(a) usuário(a) "root", crie o arquivo "/etc/pam.d/vsftpd" e adicione as mudanças necessárias de configuração para o suporte da sessão do "Linux-PAM" usando os seguintes comandos: cat > /etc/pam.d/vsftpd << "EOF" && # Inicia /etc/pam.d/vsftpd auth required /lib/security/pam_listfile.so item=user sense=deny \ file=/etc/ftpusers \ onerr=succeed auth required pam_shells.so auth include system-auth account include system-account session include system-session EOF cat >> /etc/vsftpd.conf << "EOF" session_support=YES pam_service_name=vsftpd EOF Unidade do systemd Instale a unidade "vsftpd.service" inclusa no pacote "" "[5534]blfs-systemd-units-20230816": make install-vsftpd Conteúdo Aplicativo Instalado: vsftpd Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/share/vsftpd, /home/ftp Descrições Curtas vsftpd é o processo de segundo plano de "FTP" Capítulo 21. Logiciário de Servidor de Mensagens "MTAs" são os aplicativos que transportam mensagens de uma máquina para outra. O "MTA" tradicional é o "Sendmail", porém existem várias outras escolhas. Além dos servidores "SMTP", existe um servidor "POP" ("qpopper") e um servidor "IMAP" ("Courier-IMAP"). Dovecot-2.3.20 Introdução ao Dovecot O "Dovecot" é um servidor "Internet Message Access Protocol" ("IMAP") e "Post Office Protocol" ("POP"), escrito principalmente com a segurança em mente. "Dovecot" pretende ser leve, rápido e fácil de configurar, bem como altamente configurável e facilmente extensível com "plug-ins". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5535]https://www.dovecot.org/releases/2.3/dovecot-2.3.20.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: b8add62d0311dcc95ac25b379e8ba043 * Tamanho da transferência: 7,4 MB * Espaço em disco estimado exigido: 235 MB * Tempo de construção estimado: 4,8 UPC Transferências Adicionais * Remendo exigido: [5536]https://www.linuxfromscratch.org/patches/blfs/12.0/dovecot-2. 3.20-openssl3_fixes-1.patch * Remendo exigido: [5537]https://www.linuxfromscratch.org/patches/blfs/12.0/dovecot-2. 3.20-security_fix-1.patch Dependências do "Dovecot" Exigidas [5538]libtirpc-1.3.3 Opcionais [5539]CLucene-2.3.3.4, [5540]ICU-73.2, [5541]libcap-2.69 com PAM, [5542]Linux-PAM-1.5.3, [5543]Lua-5.4.6, [5544]MariaDB-10.11.4 ou [5545]MySQL, [5546]OpenLDAP-2.6.6, [5547]PostgreSQL-15.4, [5548]SQLite-3.42.0, [5549]Valgrind-3.21.0, [5550]xfsprogs-6.4.0, [5551]Cassandra, [5552]lz4, [5553]stemmer e [5554]libsodium Instalação do Dovecot Deveria existir usuários(as) e grupos dedicados(as) para processos sem privilégios do "Dovecot" e para processamento de "logins" de usuários(as). Emita os seguintes comandos como o(a) usuário(a) "root": groupadd -g 42 dovecot && useradd -c "Usuário(a) sem privilégios do Dovecot" -d /dev/null -u 42 \ -g dovecot -s /bin/false dovecot && groupadd -g 43 dovenull && useradd -c "Usuário(a) de login do Dovecot" -d /dev/null -u 43 \ -g dovenull -s /bin/false dovenull Primeiro, aplique um remendo para corrigir problemas com o "OpenSSL-3": patch -Np1 -i ../dovecot-2.3.20-openssl3_fixes-1.patch A seguir, aplique um remendo para corrigir uma vulnerabilidade de segurança: patch -Np1 -i ../dovecot-2.3.20-security_fix-1.patch Instale o "Dovecot" executando os seguintes comandos: CPPFLAGS="-I/usr/include/tirpc" \ LDFLAGS+=" -ltirpc" \ ./configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --docdir=/usr/share/doc/dovecot-2.3.20 \ --disable-static && make Para testar os resultados, emita "make -k check". Agora, como o(a) usuário(a) "root": make install Explicações do Comando CPPFLAGS=... LDFLAGS+=...: construa com "libtirpc" em vez do código "RPC" recentemente removido fornecido pela "GlibC". --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --with-ldap: Essa chave habilita o suporte a autenticação "OpenLDAP". --with-pgsql: Essa chave habilita o suporte a base de dados "PostgreSQL". --with-mysql: Essa chave habilita o suporte a base de dados "MySQL". --with-sqlite: Essa chave habilita o suporte a base de dados "SQLite". --with-lucene: Essa chave habilita o suporte pesquisa completa de texto "CLucene". --with-lua: Essa chave habilita o suporte ao "plugin" "Lua". Isso inclui um "plugin" de notificação de mensagem e envio. Configurando o Dovecot Arquivos de Configuração /etc/dovecot/dovecot.conf, /etc/dovecot/conf.d/* e /etc/dovecot/local.conf Informação de Configuração Copie uma configuração de exemplo, a qual você pode usar como um ponto de partida: cp -rv /usr/share/doc/dovecot-2.3.20/example-config/* /etc/dovecot A configuração a seguir é uma simples prova de conceito com serviço "IMAP" usando usuários(as) locais para autenticação e local de caixa de mensagens. A leitura de arquivos a partir do diretório "conf.d" está comentada, pois a configuração de exemplo inclusa exige "OpenSSL" e "Linux PAM". sed -i '/^\!include / s/^/#/' /etc/dovecot/dovecot.conf && chmod -v 1777 /var/mail && cat > /etc/dovecot/local.conf << "EOF" protocols = imap ssl = no # A próxima linha é necessária somente se você não tiver interfaces de rede de i ntercomunicação "IPv6" listen = * mail_location = mbox:~/Mail:INBOX=/var/mail/%u userdb { driver = passwd } passdb { driver = shadow } EOF Você definitivamente vai querer ler a documentação oficial em [5555]https://wiki2.dovecot.org/ se planeja usar o "Dovecot" em um ambiente de produção. Unidade do systemd Para iniciar o processo de segundo plano "dovecot" na inicialização, habilite a unidade do "systemd" instalada anteriormente com o seguinte comando: systemctl enable dovecot Conteúdo Aplicativos Instalados: doveadm, doveconf, dovecot, dovecot-sysreport e dsync (link simbólico) Bibliotecas Instaladas: vários "plugins" internos em "/usr/lib/dovecot" Diretórios Instalados: /etc/dovecot, /usr/{include,lib,libexec,share}/dovecot e /usr/share/doc/dovecot-2.3.20 Descrições Curtas doveadm é a ferramenta de administração do "Dovecot" doveconf é o utilitário de despejo da configuração do "Dovecot" dovecot é o servidor "IMAP" e "POP" dovecot-sysreport imprime informações do sistema que são úteis para os(as) desenvolvedores(as) do "Dovecot" ao submeter informes de defeitos dsync é o utilitário de sincronização de caixa de mensagem do "Dovecot" Exim-4.96 Introdução ao Exim O pacote "Exim" contém um "Mail Transport Agent" escrito pela Universidade de Cambridge, lançado sob a Licença Pública "GNU". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5556]https://ftp.exim.org/pub/exim/exim4/exim-4.96.tar.xz * Transferência (FTP): [5557]ftp://ftp.exim.org/pub/exim/exim4/exim-4.96.tar.xz * Soma de verificação MD5 da transferência: 0d10d5b10f2af77ec8c2c2fe5be6c1ad * Tamanho da transferência: 1,8 MB * Espaço em disco estimado exigido: 20 MB * Tempo de construção estimado: 0,3 UPC Transferências Adicionais * Formatos adicionais da documentação (documentos baseados em texto são enviados com os fontes) podem ser baixados seguindo-se os links mostrados em [5558]https://exim.org/docs.html. Dependências do "Exim" Exigidas [5559]libnsl-2.0.0 e [5560]pcre2-10.42 Opcionais [5561]TDB (alternativa ao GDBM, construído no LFS), [5562]Cyrus SASL-2.1.28, [5563]libidn-1.41, [5564]Linux-PAM-1.5.3, [5565]MariaDB-10.11.4 ou [5566]MySQL, [5567]OpenLDAP-2.6.6, [5568]GnuTLS-3.8.1, [5569]PostgreSQL-15.4, [5570]SQLite-3.42.0, [5571]um ambiente gráfico, [5572]Heimdal GSSAPI e [5573]OpenDMARC Instalação do Exim Antes de construir o "Exim", como o(a) usuário(a) "root", você deveria criar o grupo e o(a) usuário(a) "exim" os quais executarão o processo de segundo plano "exim": groupadd -g 31 exim && useradd -d /dev/null -c "Processo de Segundo Plano Exim" -g exim -s /bin/false - u 31 exim Configure o "Exim" com os seguintes comandos: sed -e 's,^BIN_DIR.*$,BIN_DIRECTORY=/usr/sbin,' \ -e 's,^CONF.*$,CONFIGURE_FILE=/etc/exim.conf,' \ -e 's,^EXIM_USER.*$,EXIM_USER=exim,' \ -e '/# SUPPORT_TLS=yes/s,^#,,' \ -e '/# USE_OPENSSL/s,^#,,' \ -e 's,^EXIM_MONITOR,#EXIM_MONITOR,' src/EDITME > Local/Makefile && printf "USE_GDBM = yes\nDBMLIB = -lgdbm\n" >> Local/Makefile Se você quiser adicionar suporte ao "Linux PAM", [então] execute também os seguintes comandos: sed -i '/# SUPPORT_PAM=yes/s,^#,,' Local/Makefile echo "EXTRALIBS=-lpam" >> Local/Makefile Construa o "Exim" com o seguinte comando: make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install && install -v -m644 doc/exim.8 /usr/share/man/man8 && install -v -d -m755 /usr/share/doc/exim-4.96 && install -v -m644 doc/* /usr/share/doc/exim-4.96 && ln -sfv exim /usr/sbin/sendmail && install -v -d -m750 -o exim -g exim /var/spool/exim Explicações do Comando sed -e ... > Local/Makefile: A maioria das opções de configuração do "Exim" é definida no "Local/Makefile", que é criado a partir do arquivo "src/EDITME". Esse comando especifica o conjunto mínimo de opções. As descrições das opções estão listadas abaixo. printf ... > Local/Makefile: Configurar essas variáveis permite usar o "GDBM" em vez do padrão "Berkeley DB". Remova esse comando se você tiver instalado "[5574]Base de Dados Berkeley-5.3.28". BIN_DIRECTORY=/usr/sbin: Isso instala todos os binários e conjuntos de comandos sequenciais do "Exim" em "/usr/sbin". CONFIGURE_FILE=/etc/exim.conf: Isso instala o principal arquivo de configuração do "Exim" em "/etc". EXIM_USER=exim: Isso informa ao "Exim" que, depois que o processo de segundo plano não mais precisar de privilégios de "root", o processo precisa transferir o processo de segundo plano para o(a) usuário(a) "exim". SUPPORT_TLS=yes: Isso permite suportar conexões "STARTTLS". Se usar essa opção, [então] você precisa selecionar se o "OpenSSL" ou o "GnuTLS" será usado (veja-se "src/EDITME"). USE_OPENSSL_PC=openssl: Isso informa ao sistema de construção para usar o "OpenSSL" e encontrar as bibliotecas necessárias com o "pkg-config". #EXIM_MONITOR: Isso adia a construção do aplicativo monitor do "Exim", pois ele exige suporte ao "X Window System", comentando-se a linha "EXIM_MONITOR" no "Makefile". Se você deseja construir o aplicativo monitor, [então] omita esse comando "sed" e emita o seguinte comando antes de construir o pacote (modifique "Local/eximon.conf", se necessário): "cp exim_monitor/EDITME Local/eximon.conf". ln -sfv exim /usr/sbin/sendmail: Cria um link para "sendmail" para aplicativos que precisam dele. O "Exim" aceitará a maioria das opções de linha de comando do "Sendmail". install -v -m750 -o exim -g exim /var/spool/exim: Como "/var/spool" é propriedade do "root" e essa versão do "exim" elimina os privilégios de "root" antecipadamente, para executar como usuário(a) "exim", ele não consegue criar o diretório "/var/spool/exim". Como solução alternativa, ele é criado manualmente. Adicionando Funcionalidade Adicional Para utilizar alguns ou todos os pacotes de dependências, você precisará modificar "Local/Makefile" para incluir as diretivas e parâmetros apropriadas para vincular bibliotecas adicionais antes de construir o "Exim". O "Local/Makefile" é bastante comentado com instruções relativas a como fazer isso. Listadas abaixo estão informações adicionais para te ajudar a vincular esses pacotes de dependências ou adicionar funcionalidades adicionais. Se você deseja construir e instalar a documentação ".info", [então] consulte [5575]https://exim.org/exim-html-4.96/doc/ html/spec_html/ch04.html#SECTinsinfdoc. Se você deseja construir interfaces do "Exim" para chamar logiciário de verificação de vírus e de "spam" diretamente a partir de listas de controle de acesso, [então] descomente o parâmetro "WITH_CONTENT_SCAN=yes" e revise as informações encontradas em [5576]https://exim .org/exim-html-4.96/doc/html/spec_html/ch45.html. Para usar uma base de dados de estrutura de retaguarda diferente do "GDBM", vejam-se as instruções em [5577]https://exim.org/exim-html-4.96/doc/html/spec_html/ch04. html#SECTdb. Para funcionalidade "SSL", vejam-se as instruções em [5578]https://exim.org/exim-html-4.96/doc/html/spec_html/ch04.html#SECT inctlsssl e [5579]https://exim.org/exim-html-4.96/doc/html/spec_html/ch42.html. Para a funcionalidade "tcpwrappers", vejam-se as instruções em [5580]https://exim.org/exim-html-4.96/doc/html/spec_html/ch04.html#SECI D27. Para informações relativas a adicionar mecanismos de autenticação para a construção, vejam-se os capítulos 33—41 de [5581]https://exim.org/exim-html-4.96/doc/html/spec_html/index.html . Para informações relativas a vincular o "Linux-PAM", consulte as instruções [5582]https://exim.org/exim-html-4.96/doc/html/spec_html/ch11.html#SECT expcond. Para informações relativas a vincular bibliotecas de mecanismo de base de dados usadas para pesquisas de nome do Exim, vejam-se as instruções em [5583]https://exim.org/exim-html-4.96/doc/html/ spec_html/ch09.html. Se você deseja adicionar suporte "Readline" ao "Exim" quando invocado no modo “expansão de teste” ("-be"), [então] vejam-se as informações na seção "-be" de [5584]https://exim.org/exim-html-4.96/doc/html/spec_html/ch05.html#id25 25974 . Você possivelmente deseje modificar a configuração padrão e enviar arquivos de registro para o "syslog" em vez do diretório padrão "/var/spool/exim/log". Vejam-se as informações em [5585]https://exim.org/exim-html-4.96/doc/html/spec_html/ch-log_files.h tml. Muitas informações também podem ser encontradas na [5586]Wiki do Exim. Configurando o Exim Arquivos de Configuração /etc/exim.conf e /etc/aliases Informação de Configuração Revise o arquivo "/etc/exim.conf" e modifique quaisquer configurações para atender às suas necessidades. Observe que a configuração padrão assume que o diretório "/var/mail" é escrevível mundialmente, mas tem o bit "sticky" configurado. Se você quiser usar a configuração padrão, [então] emita como o(a) usuário(a) "root": chmod -v a+wt /var/mail Um arquivo "/etc/aliases" padrão (nada além de comentários) é instalado durante a instalação do pacote se esse arquivo não existir em seu sistema. Crie os apelidos necessários e inicie o processo de segundo plano "Exim" usando os seguintes comandos: cat >> /etc/aliases << "EOF" postmaster: root MAILER-DAEMON: root EOF /usr/sbin/exim -bd -q15m Nota Para proteger um arquivo "/etc/aliases" existente, o comando acima anexa esses apelidos a ele. Esse arquivo deveria ser verificado e os apelidos duplicados removidos, se presentes. O comando "/usr/sbin/exim -bd -q15m" inicia o processo de segundo plano "Exim" com um intervalo de quinze (15) minutos no processamento da fila de mensagens. Ajuste esse parâmetro para atender aos teus desejos. Configuração do “Linux PAM” Se tiver construído o "Exim" com suporte ao "Linux PAM", [então] você precisa criar um arquivo de configuração "PAM" para fazê-lo funcionar corretamente com o BLFS. Emita o seguinte comando como o(a) usuário(a) "root" para criar o arquivo de configuração para o "Linux PAM": cat > /etc/pam.d/exim << "EOF" # Inicia /etc/pam.d/exim auth include system-auth account include system-account session include system-session # Termina /etc/pam.d/exim EOF Unidade do systemd Para iniciar automaticamente o "exim" na inicialização, instale a unidade "exim.service" inclusa no pacote "" "[5587]blfs-systemd-units-20230816": make install-exim Conteúdo Aplicativos Instalados: exicyclog, exigrep, exim, exim-4.96-2, exim_checkaccess, exim_dbmbuild, exim_dumpdb, exim_fixdb, exim_lock, exim_tidydb, eximstats, exinext, exipick, exiqgrep, exiqsumm, exiwhat e, opcionalmente, eximon, eximon.bin e sendmail (link simbólico) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/share/doc/exim-4.96 e /var/spool/exim Descrições Curtas exicyclog circula arquivos de registro do "Exim" exigrep pesquisa arquivos de registro do "Exim" exim é um link simbólico para o processo de segundo plano "MTA" "exim-4.96-2" exim-4.96-2 é o processo de segundo plano do agente de transporte de mensagens "Exim" exim_checkaccess declara se um dado endereço de destinatário a partir de um dado dispositivo é aceitável ou não exim_dbmbuild cria e reconstrói bases de dados do "Exim" exim_dumpdb escreve o conteúdo das bases de dados do "Exim" na saída gerada padrão exim_fixdb modifica dados em bases de dados do "Exim" exim_lock tranca um arquivo de caixa de mensagens exim_tidydb remove registros antigos de bases de dados do "Exim" eximstats gera estatísticas de mensagens a partir de arquivos de registro do "Exim" exinext consulta tempos de re tentativa do dispositivo remoto exipick seleciona mensagens baseadas em vários critérios exiqgrep é um utilitário para listagem seletiva de filas exiqsumm produz um resumo das mensagens na fila de mensagens exiwhat consulta executando processos "Exim" eximon é um conjunto de comandos sequenciais de "shell" de inicialização para "eximon.bin" usado para configurar as variáveis de ambiente exigidas antes de executar o aplicativo eximon.bin é um aplicativo monitor que exibe informações atuais em uma janela do "X" e também contém uma interface de menu para as opções de administração de linha de comando do "Exim" Postfix-3.8.1 Introdução ao Postfix O pacote "Postfix" contém um "Mail Transport Agent" ("MTA"). Isso é útil para enviar mensagem eletrônica para outros(as) usuários(as) da tua máquina anfitriã. Ele também pode ser configurado para ser um servidor central de mensagens para o teu domínio, um agente de retransmissão de mensagens ou simplesmente um agente de entrega de mensagens para o teu Provedor local de Serviços de Internet. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5588]https://ghostarchive.org/postfix/postfix-release/official/pos tfix-3.8.1.tar.gz * Transferência (FTP): [5589]ftp://ftp.porcupine.org/mirrors/postfix-release/official/post fix-3.8.1.tar.gz * Soma de verificação MD5 da transferência: 956d0baca1259189c80a9311ef4daaa1 * Tamanho da transferência: 4,6 MB * Espaço em disco estimado exigido: 152 MB * Tempo de construção estimado: 0,2 UPC (Usando paralelismo=4) Dependências do "Postfix" Recomendadas [5590]Base de Dados Berkeley-5.3.28, [5591]Cyrus SASL-2.1.28 e [5592]libnsl-2.0.0 Opcionais [5593]ICU-73.2 para suporte a Internacionalização de Endereços de Correio Eletrônico ("SMTPUTF8"), [5594]MariaDB-10.11.4 ou [5595]MySQL, [5596]OpenLDAP-2.6.6, [5597]PCRE-8.45, [5598]PostgreSQL-15.4, [5599]SQLite-3.42.0 e [5600]CDB ou [5601]TinyCDB Observe que "SQLite", "MySQL", "PostgreSQL" e "CDB" são úteis somente se existir uma necessidade conhecida deles. Observações de Editor(a): [5602]https://wiki.linuxfromscratch.org/blfs/wiki/postfix Instalação do Postfix Adicionando Usuários(as) e Grupos Antes de compilar o aplicativo, você precisa criar usuários(as) e grupos que serão esperados estarem no lugar durante a instalação. Adicione os(as) usuários(as) e grupos com os seguintes comandos emitidos pelo(a) usuário(a) "root": groupadd -g 32 postfix && groupadd -g 33 postdrop && useradd -c "Usuário(a) do Processo de Segundo Plano do Postfix" -d /var/spool/po stfix -g postfix \ -s /bin/false -u 32 postfix && chown -v postfix:postfix /var/mail Configurando a Construção Os arquivos README são formatados para serem lidos com um paginador como less ou more. Se você quiser usar um editor de texto, torne-os legíveis com o seguinte sed: sed -i 's/.\x08//g' README_FILES/* A árvore do fonte do "Postfix" não contém um conjunto de comandos sequenciais "configure", em vez disso, o "makefile" no diretório de nível superior contém um alvo "makefiles" que regenera todos os outros "makefiles" na árvore de construção. Se desejar usar software adicional, como uma estrutura de retaguarda de base de dados para usuários(as) virtuais ou autenticação "TLS"/"SSL", [então] você precisará regenerar os "makefiles" usando uma ou mais das configurações apropriadas "CCARGS" e "AUXLIBS" listadas abaixo. Nota Para todas as variantes do "CCARGS", você deveria garantir que "-DNO_NIS" esteja especificado, de forma que a construção não tente acessar um cabeçalho "rpcsvc" que não existe no BLFS. Para mais detalhes, leiam-se os arquivos "readme". Cyrus-SASL Para usar o "Cyrus-SASL" com o "Postfix", use os seguintes argumentos: CCARGS='-DNO_NIS -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl' AUXLIBS='-lsasl2' OpenLDAP Para usar o "OpenLDAP" com o "Postfix", use os seguintes argumentos: CCARGS='-DNO_NIS -DHAS_LDAP' AUXLIBS='-lldap -llber' Sqlite Para usar o "Sqlite" com o "Postfix", use os seguintes argumentos: CCARGS='-DNO_NIS -DHAS_SQLITE' AUXLIBS='-lsqlite3 -lpthread' MySQL Para usar o "MySQL" com o "Postfix", use os seguintes argumentos: CCARGS='-DNO_NIS -DHAS_MYSQL -I/usr/include/mysql' AUXLIBS='-lmysqlclient -lz -lm' PostgreSQL Para usar o "PostgreSQL" com o "Postfix", use os seguintes argumentos: CCARGS='-DNO_NIS -DHAS_PGSQL -I/usr/include/postgresql' AUXLIBS='-lpq -lz -lm' CDB/TinyCDB Para usar o "CDB" ou o "TinyCDB" com o "Postfix", use os seguintes argumentos: CCARGS='-DNO_NIS -DHAS_CDB' AUXLIBS='/libcdb.a' Autenticação “StartTLS” Para usar o "OpenSSL" com o "Postfix", use os seguintes argumentos: CCARGS='-DNO_NIS -DUSE_TLS -I/usr/include/openssl/' AUXLIBS='-lssl -lcrypto' Instalando o “Postfix” Ajuste o seguinte de acordo com as tuas necessidades. Por exemplo, se você tiver o "Cyrus SASL", [então] instale o "Postfix" executando os seguintes comandos: make CCARGS="-DNO_NIS -DUSE_TLS -I/usr/include/openssl/ \ -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl" \ AUXLIBS="-lssl -lcrypto -lsasl2" \ makefiles && make Esse pacote não vem com uma suíte de teste útil. Agora, como o(a) usuário(a) "root": sh postfix-install -non-interactive \ daemon_directory=/usr/lib/postfix \ manpage_directory=/usr/share/man \ html_directory=/usr/share/doc/postfix-3.8.1/html \ readme_directory=/usr/share/doc/postfix-3.8.1/readme Explicações do Comando make makefiles: Esse comando reconstrói os "makefiles" em toda a árvore fonte para usar as opções contidas nas variáveis "CCARGS" e "AUXLIBS". sh postfix-install -non-interactive: Isso evita que o conjunto de comandos sequenciais de instalação faça perguntas, aceitando assim os diretórios de destino padrão em todos os casos, exceto em uns poucos. Se as opções "html_directory" e "readme_directory" não estiverem configuradas, [então] a documentação não será instalada. CCARGS="-DNO_EAI ...": isso desligará o suporte a "SMTPUTF8", por exemplo, se o restante da sua infraestrutura de endereço de correio eletrônico não puder lidar com endereços "UTF-8" de correio eletrônico e valores de cabeçalho de mensagem. Configurando o Postfix Arquivos de Configuração /etc/aliases, /etc/postfix/main.cf e /etc/postfix/master.cf Informação de Configuração Crie (ou anexe a um existente) "/etc/aliases" com o seguinte comando. Mude "" para a tua identidade de login não "root" de forma que as mensagens endereçadas para o(a) "root" possam ser encaminhadas para você. Como o(a) usuário(a) "root": cat >> /etc/aliases << "EOF" # Inicia /etc/aliases MAILER-DAEMON: postmaster postmaster: root root: # Termina /etc/aliases EOF Para proteger um arquivo "/etc/aliases" existente, o comando acima anexa esses apelidos a ele, se existir. Esse arquivo deveria ser verificado e os apelidos duplicados removidos, se presentes. Nota Os arquivos "/etc/postfix/main.cf" e "/etc/postfix/master.cf" precisam ser personalizados para o teu sistema. O arquivo "main.cf" precisa do teu nome de dispositivo totalmente qualificado. Você descobrirá que "main.cf" é auto documentado, de forma que carregue-o em teu editor para fazer as mudanças necessárias para a tua situação. Nota O "Postfix" também pode ser configurado para executar em uma jaula "chroot". Veja-se o arquivo no fonte "examples/chroot-setup/LINUX2" para detalhes. Se você tiver uma configuração existente, [então] poderá executar o utilitário "postfix" para adicionar quaisquer definições necessárias aos teus arquivos existentes. Como o(a) usuário(a) "root": /usr/sbin/postfix upgrade-configuration Antes de iniciar o "Postfix", você deveria verificar se a tua configuração e permissões de arquivo funcionarão adequadamente. Execute os seguintes comandos como o(a) usuário(a) "root" para verificar e iniciar o teu servidor "Postfix": /usr/sbin/postfix check && /usr/sbin/postfix start Unidade do systemd Para automatizar a execução do "Postfix" na inicialização, instale a unidade "postfix.service" inclusa no pacote "" "[5603]blfs-systemd-units-20230816": make install-postfix Conteúdo Aplicativos Instalados: mailq (link simbólico), newaliases (link simbólico), postalias, postcat, postconf, postdrop, postfix, postkick, postlock, postlog, postmap, postmulti, postqueue, postsuper e sendmail Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /{etc,usr/lib}/postfix, /usr/share/doc/postfix-3.8.1 e /var/{lib,spool}/postfix Descrições Curtas mailq Um link simbólico para "sendmail" newaliases Um link simbólico para "sendmail" postalias é um utilitário para manutenção de base de dados de apelidos do "Postfix" postcat Imprime o conteúdo dos arquivos originários da fila do "Postfix" em formato legível por humanos(as) postconf Exibe ou muda o valor dos parâmetros de configuração do "Postfix" postdrop Cria um arquivo no diretório "maildrop" e copia a entrada gerada padrão dele para o arquivo postfix é o aplicativo de controle do "Postfix" postkick Envia solicitações para o serviço especificado por intermédio de um canal local de transporte postlock Tranca uma pasta de mensagens para uso exclusivo e executa comandos passados para ela postlog Uma interface de registro compatível com o "Postfix" para uso, por exemplo, em conjuntos de comandos sequenciais de "shell" postmap Cria ou consulta uma ou mais tabelas de pesquisa do "Postfix" ou atualiza uma existente postmulti é o gerenciador de múltiplas instâncias do "Postfix". Ele permite que um(a) administrador(a) de sistema gerencie múltiplas instâncias do "Postfix" em um dispositivo postqueue A interface de usuário(a) do "Postfix" para gerenciamento de filas postsuper A interface de usuário(a) do "Postfix" para gerenciamento de filas de superusuário(a) sendmail é a interface de compatibilidade do "Postfix" com o "Sendmail" sendmail-8.17.2 Introdução ao sendmail O pacote "sendmail" contém um "Mail Transport Agent" ("MTA"). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5604]https://ftp.sendmail.org/sendmail.8.17.2.tar.gz * Transferência (FTP): [5605]ftp://ftp.sendmail.org/pub/sendmail/sendmail.8.17.2.tar.gz * Soma de verificação MD5 da transferência: eb21e7c8a1d2a69a4597e9ce6b1cb3d5 * Tamanho da transferência: 2,2 MB * Espaço em disco estimado exigido: 18 MB * Tempo de construção estimado: 0,1 UPC Dependências do "sendmail" Exigidas [5606]OpenLDAP-2.6.6 (cliente) Recomendadas [5607]Cyrus SASL-2.1.28 Opcionais [5608]ghostscript-10.01.2 (para criar a documentação em "PDF"), [5609]Procmail-3.22 (a configuração proposta abaixo exige que o "procmail" esteja presente em tempo de execução) e [5610]nph Observações de Editor(a): [5611]https://wiki.linuxfromscratch.org/blfs/wiki/sendmail Instalação do sendmail Antes de construir o "sendmail", crie o(a) usuário(a), grupo e diretório necessários com os seguintes comandos emitidos como o(a) usuário(a) "root": groupadd -g 26 smmsp && useradd -c "Processo de Segundo Plano Sendmail" -g smmsp -d /dev/null \ -s /bin/false -u 26 smmsp && chmod -v 1777 /var/mail && install -v -m700 -d /var/spool/mqueue Nota Veja-se o arquivo "sendmail/README" da árvore do fonte para informações relativas a vincular pacotes opcionais à construção. Use o exemplo abaixo, que adiciona suporte para "SASL", "StartTLS" ("OpenSSL") e "OpenLDAP", como um ponto de partida. Claro, modifique-o para atender às tuas necessidades específicas. cat >> devtools/Site/site.config.m4 << "EOF" APPENDDEF(`confENVDEF',`-DSTARTTLS -DSASL -DLDAPMAP -DHASFLOCK') APPENDDEF(`confLIBS', `-lssl -lcrypto -lsasl2 -lldap -llber -ldb') APPENDDEF(`confINCDIRS', `-I/usr/include/sasl') EOF Instale o "sendmail" com os seguintes comandos: cat >> devtools/Site/site.config.m4 << "EOF" define(`confMANGRP',`root') define(`confMANOWN',`root') define(`confSBINGRP',`root') define(`confUBINGRP',`root') define(`confUBINOWN',`root') EOF sed -i 's|/usr/man/man|/usr/share/man/man|' \ devtools/OS/Linux && cd sendmail && sh Build && cd ../cf/cf && cp generic-linux.mc sendmail.mc && sh Build sendmail.cf Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": install -v -d -m755 /etc/mail && sh Build install-cf && cd ../.. && sh Build install && install -v -m644 cf/cf/{submit,sendmail}.mc /etc/mail && cp -v -R cf/* /etc/mail && install -v -m755 -d /usr/share/doc/sendmail-8.17.2/{cf,sendmail} && install -v -m644 CACerts FAQ KNOWNBUGS LICENSE PGPKEYS README RELEASE_NOTES \ /usr/share/doc/sendmail-8.17.2 && install -v -m644 sendmail/{README,SECURITY,TRACEFLAGS,TUNING} \ /usr/share/doc/sendmail-8.17.2/sendmail && install -v -m644 cf/README /usr/share/doc/sendmail-8.17.2/cf && for manpage in sendmail editmap mailstats makemap praliases smrsh do install -v -m644 $manpage/$manpage.8 /usr/share/man/man8 done && install -v -m644 sendmail/aliases.5 /usr/share/man/man5 && install -v -m644 sendmail/mailq.1 /usr/share/man/man1 && install -v -m644 sendmail/newaliases.1 /usr/share/man/man1 && install -v -m644 vacation/vacation.1 /usr/share/man/man1 Instale o Guia de Instalação e Operações do "sendmail" com os seguintes comandos: Nota Remova "op.pdf" dos comandos "make" e "install" abaixo se você não tiver o "Ghostscript" instalado. cd doc/op && sed -i 's/groff/GROFF_NO_SGR=1 groff/' Makefile && make op.txt op.pdf Agora, como o(a) usuário(a) "root": install -v -d -m755 /usr/share/doc/sendmail-8.17.2 && install -v -m644 op.ps op.txt op.pdf /usr/share/doc/sendmail-8.17.2 && cd ../.. Explicações do Comando cat > devtools/Site/site.config.m4 << "EOF": Isso cria um arquivo de configuração mudando algumas das configurações padrão. sed ... devtools/OS/Linux: O "site.config.m4" não respeita uma mudança no diretório do manual, de forma que corrija-o nas definições do "OS". sh Build; sh Build sendmail.cf; sh Build install-cf; sh Build install: o "sendmail" usa um conjunto de comandos sequenciais de construção baseado no "m4" para criar os vários "Makefiles". Esses comandos constroem e instalam o pacote. for manpage in...;do...;done; install ...: As páginas de manual são instaladas já formatadas e o "man" as exibe um tanto distorcidas. Esses comandos substituem as páginas formatadas por páginas que o "man" consegue exibir adequadamente. Configurando o sendmail Arquivos de Configuração /etc/mail/* Informação de Configuração Nota Certifique-se de que você tenha um nome de domínio totalmente qualificado definido em "/etc/hosts" para o teu sistema antes de continuar. Crie os arquivos "/etc/mail/local-host-names" e "/etc/mail/aliases" usando os seguintes comandos como o(a) usuário(a) "root": echo $(hostname) > /etc/mail/local-host-names cat > /etc/mail/aliases << "EOF" postmaster: root MAILER-DAEMON: root EOF newaliases O arquivo de configuração principal do "sendmail", "/etc/mail/sendmail.cf", é complexo e não é destinado a ser editado diretamente. O método recomendado para mudá-lo é o de modificar "/etc/mail/sendmail.mc" e vários arquivos do "m4" e, em seguida, executar o processador de macro "m4" a partir de dentro de "/etc/mail" como segue: cd /etc/mail && m4 m4/cf.m4 sendmail.mc > sendmail.cf Uma explicação completa dos arquivos a modificar e os parâmetros disponíveis pode ser encontrada em "/etc/mail/README". Unidade do systemd Para automatizar a execução do "sendmail" na inicialização, instale a unidade "sendmail.service" inclusa no pacote "" "[5612]blfs-systemd-units-20230816": make install-sendmail Nota A opção "-qNm" para o "sendmail", onde "N" é o número de minutos, controla a frequência com que o "sendmail" processará a fila de mensagens. Um padrão de cinco (05) minutos é usado na unidade do "systemd". Usuários(as) individuais de estações de trabalho possivelmente queiram configurar isso para tão baixo quanto um (01) minuto; grandes instalações que lidam com mais mensagens possivelmente queiram configurá-lo mais alto. Conteúdo Aplicativos Instalados: editmap, mailstats, makemap, praliases, sendmail, smrsh e vacation; links simbólicos para "/usr/sbin/sendmail": hoststat, mailq, newaliases e purgestat Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /etc/mail, /usr/share/doc/sendmail-8.17.2 e /var/spool/clientmqueue Descrições Curtas editmap consulta e edita arquivos de mapas do "sendmail" hoststat imprime a situação do dispositivo persistente do "sendmail" mailstats exibe estatísticas do "sendmail" mailq imprime um resumo das mensagens de correio de saída aguardando entrega makemap cria arquivos de mapa do "sendmail" newaliases reconstrói "/etc/mail/aliases.db" a partir do conteúdo de "/etc/mail/aliases" praliases exibe os apelidos atuais do "sendmail" purgestat faz com que o "sendmail" limpe (purgue) todas as informações dele de situação do dispositivo sendmail é o agente de transporte de mensagens "sendmail" smrsh é um "shell" restrito para o "sendmail" vacation é uma respostador automático de mensagens eletrônicas Capítulo 22. Bases de Dados Este capítulo inclui bases de dados que vão desde leitura/escrita de usuário(a) único(a) até servidores industriais de base de dados com suporte a transações. Geralmente, você será enviado(a) aqui para satisfazer dependências de outras aplicações, embora construir um servidor "SQL" em um sistema básico LFS seja inteiramente possível. Observações Importantes Relativas a Atualização do Logiciário do Servidor de Base de Dados Nota Esta seção é sobre reinstalar logiciário de base de dados quando uma base de dados existente estiver em uso. Ela não é aplicável para instalações iniciais ou se não existir base de dados para o pacote sendo atualizado, mas os(as) usuários(as) deveriam lê-la para ficarem cientes dos problemas que podem surgir no futuro. Vamos começar este capítulo com uma captura de tela dramática de um erro que realmente aconteceu. Este erro não ocorrerá se você estiver instalando o logiciário de base de dados pela primeira vez: $ sudo systemctl status postgresql -- postgresql.service - PostgreSQL database server Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Tue 2021-10-26 17:11:53 CDT; 2min 49s ago Process: 17336 ExecStart=/usr/bin/pg_ctl -s -D ${PGROOT}/data start -w -t 12 0 (code=exited, status=1/FAILURE) CPU: 7ms Oct 26 17:11:53 SVRNAME systemd[1]: Starting PostgreSQL database server... Oct 26 17:11:53 SRVNAME postgres[17338]: 2021-10-26 17:11:53.420 CDT [17338] FAT AL: database files are incompatible with server Oct 26 17:11:53 SRVNAME postgres[17338]: 2021-10-26 17:11:53.420 CDT [17338] DET AIL: The data directory was initialized by PostgreSQL version 13, which is not compatible with this version 14.0. Oct 26 17:11:53 SRVNAME postgres[17336]: pg_ctl: could not start server Oct 26 17:11:53 SRVNAME postgres[17336]: Examine the log output. Oct 26 17:11:53 SRVNAME systemd[1]: postgresql.service: Control process exited, code=exited, status=1/FAILURE Oct 26 17:11:53 SRVNAME systemd[1]: postgresql.service: Failed with result 'exit -code'. Oct 26 17:11:53 SRVNAME systemd[1]: Failed to start PostgreSQL database server. Para evitar situações como essa (ou seja, o teu logiciário do servidor de base de dados se recusa a iniciar), leia a discussão a seguir relativa a melhor maneira de atualizar um Sistema de Gerenciamento de Base de Dados (SGBD). A causa raiz do erro mostrado acima foi uma atualização do logiciário do servidor para uma versão principal mais recente que deixou os arquivos de dados intactos. Nesse caso, o(a) administrador(a) conseguiu recuperar o SGBD sem qualquer perda de dados. Mesmo se você estiver fazendo uma instalação inicial do SGBD, leia esta seção. Ela fornece informações relativas a implementação de procedimentos de cópia de segurança e restauração (ou pelo menos uma estratégia para criá-las) que irão satisfazer as tuas necessidades e garantir a segurança dos teus dados. Atualização de Pacotes do Servidor de Base de Dados Os sistemas de base de dados funcionam em arquivos que contém os metadados da base de dados e os próprios dados. A estrutura interna desses arquivos é otimizada para uso pelo logiciário do servidor. Quando esse logiciário de servidor for atualizado, o novo logiciário poderá utilizar um formato de arquivo diferente do usado anteriormente. Às vezes, o novo logiciário pode funcionar tanto com o formato antigo quanto com o novo‐mas sem as melhorias de desempenho que o novo formato oferece. Outras vezes, o novo logiciário de servidor reformatará os arquivos de dados automaticamente após a atualização. Infelizmente, o caso mais provável é o de que o novo logiciário de servidor reclame dos formatos desatualizados de arquivos e saia. Quando isso acontece e você sobrescreveu o antigo logiciário do servidor, você possivelmente acabe com um sistema quebrado e perda de dados. As mudanças nos formatos dos arquivos de dados geralmente ocorrem em mudanças da versão principal, mas também podem ocorrer em outros momentos. Antes de atualizar qualquer logiciário de SGBD, verifique a documentação para ver se essa atualização faz mudanças que exigem reformatar a base de dados. Claro, se você tiver bases de dados com conteúdo que não seja reconstruível facilmente, [então] é sempre uma boa ideia criar cópias de segurança da base de dados de tempos em tempos. Antes de atualizar o logiciário do servidor, você deveria executar outra cópia de segurança. Atualização por Cópia de Segurança e Restauração Nota Uma cópia de segurança é inútil se não existir um processo verificado para restaurar os dados a partir dessa cópia de segurança. Ao executar um servidor de base de dados, você não deveria somente criar cópias de segurança; você também deveria verificar se o processo de restauração realmente funciona. O momento de testar o procedimento de restauração é antes de você precisar recuperar urgentemente os dados perdidos. A maioria dos logiciários de servidor de base de dados fornece algumas ferramentas básicas para criar cópias de segurança dos dados deles. Normalmente, as cópias de segurança criadas com essas ferramentas conseguem ser lidas por versões mais recentes do logiciário (por meio de uma ferramenta de restauração). Usar ferramentas mais antigas de restauração com dados de cópia de segurança mais recentes é uma má ideia; você nunca deveria assumir cegamente que isso funcionará. Pode ser, mas geralmente não. A maneira mais fácil de atualizar teus arquivos de base de dados é a de * Criar uma cópia completa de segurança da base de dados usando as ferramentas antigas. Essa etapa cria uma cópia fora de linha dos arquivos da base de dados—para arquivamento de longo prazo, para recuperação de desastres ou como preparação para uma atualização. Essa cópia de segurança fora de linha consiste ou em (1) uma cópia completa um-para-um dos arquivos atuais da base de dados ou (2) uma cópia completa de segurança dos arquivos da base de dados a partir de um determinado ponto no tempo, além de todos os dados do diário (ou seja, na terminologia da "Oracle®", é chamado de "Arquivamento Contínuo" ou "write ahead log" ("WAL") no "Postgresql") descrevendo as mudanças feitas depois desse ponto no tempo. Essa segunda forma leva menos tempo para ser criada (se o logiciário da Base de Dados fornecer esse tipo de registro em diário) porque você tem de salvar somente os dados que foram mudados desde quando a cópia completa de segurança mais recente foi criada. Ao atualizar o logiciário do servidor de base de dados, uma cópia completa de segurança (que pode ser usada para cópias incrementais de segurança subsequentes) deveria ser criada; mas se existirem muitos dados, [então] uma cópia incremental de segurança será suficiente. A melhor estratégia para você depende da quantidade de dados armazenados em tua base de dados (são algumas centenas de linhas da tabela ou centenas de terabytes?). Uma cópia completa de segurança nesse último caso não pode ser feita rapidamente. Para proteger totalmente teus dados, crie uma cópia de segurança dos aplicativos antigos (e(ou) dos fontes deles) e salve-a, junto com os arquivos de dados, para ter certeza de que existe uma solução alternativa caso o novo logiciário não consiga ler os dados antigos. * Atualizar o logiciário do servidor Nessa etapa, as instruções para construir o logiciário do servidor de base de dados são executadas exatamente como são mostradas nas seções subsequentes falando sobre "GBDs" como "MariaDB" ou "Postgresql". Ou seja, construa o logiciário normalmente usando as instruções do BLFS. * Restaurar a base de dados usando as novas ferramentas. Para restaurar os dados, as ferramentas do logiciário de servidor recém-instalado deveriam ser usadas. Durante o processo de restauração, as novas ferramentas criarão e (ou) atualizarão os arquivos de dados no formato que o novo logiciário exige. Supõe-se que o logiciário mais recente seja capaz de ler os dados antigos. Como você já tem um procedimento de cópia de segurança em vigor (e testou teu procedimento de restauração, certo?), essa pode ser a maneira mais fácil de atualizar, pois você pode usar teus processos bem conhecidos para atualizar como sempre faz—pelo menos em termos de cópia de segurança e de restauração. Atualização dos Arquivos da Base de Dados Usando Ferramentas do Sistema Alguns sistemas de base de dados (por exemplo, o "Postgresql") fornecem uma ferramenta que pode reformatar (atualizar) os arquivos existentes de base de dados para o novo formato. Se precisar restaurar a partir de uma cópia de segurança (por exemplo, executar a ferramenta de atualização falhou), [então] você terá que reinstalar o logiciário antigo para recuperar os teus dados. Mesmo que as ferramentas de reformatação funcionem conforme anunciado, você deveria criar uma cópia completa de segurança antes de executá-las. Uma falha poderia causar sérios danos à base de dados. Observações para SGBDs Específicos PostgreSQL Documentação do(a) desenvolvedor(a) para Cópia de Segurança/Restauração: [5613]https://www.postgresql.org/docs/current/backup.html MariaDB Documentação do(a) desenvolvedor(a) para Cópia de Segurança/Restauração: [5614]https://mariadb.com/kb/en/backup-and-restore-overview/ Sqlite Não subestime o "Sqlite". Ele é um SGBD rico em recursos. A principal diferença para os dois grandes concorrentes acima é a de que o "SQLite" não fornece acesso por meio de uma "API" de rede de intercomunicação. As bases de dados "SQLite" são sempre armazenadas na máquina que executa o aplicativo que usa a base de dados. A manipulação do conteúdo dos dados é feita por meio de chamadas de "API" para funções de biblioteca diretamente no aplicativo. Na documentação do(a) desenvolvedor(a) você possivelmente ache o seguinte útil: Documentação da ferramenta de linha de comando "sqlite3": [5615]https://www.sqlite.org/cli.html Documentação de chamadas da "API" de cópia de segurança: [5616]https://www.sqlite.org/backup.html Infelizmente, não existe nenhum capítulo dedicado na documentação do(a) desenvolvedor(a) falando a respeito de cópia de segurança/restauração, mas existem vários artigos referentes a isso na Internet. Aqui está um exemplo. Documentação para Cópia de Segurança/Restauração: [5617]https://database.guide/backup-sqlite-database/ Base de Dados Berkeley Assim como o Sqlite, esse logiciário atua em arquivos locais de base de dados; não existe interface de rede de intercomunicação. Os recursos relevantes para produzir cópia de segurança/restaurar uma base de dados Berkeley são as páginas de manual de "db_dump" e a contraparte dele "db_load". Base de Dados Berkeley-5.3.28 Introdução à Base de Dados Berkeley O pacote Berkeley DB contém aplicativos e utilitários usados por muitos outros aplicativos para funções relacionadas a bases de dados. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5618]https://anduin.linuxfromscratch.org/BLFS/bdb/db-5.3.28.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: b99454564d5b4479750567031d66fe24 * Tamanho da transferência: 34 MB * Espaço em disco estimado exigido: 265 MB * Tempo de construção estimado: 0,6 UPC Dependências da Base de Dados "Berkeley" Opcionais [5619]libnsl-2.0.0 e [5620]Sharutils-4.15.2 (para o comando "uudecode") Instalação da Base de Dados Berkeley Primeiro aplique uma correção para que isso seja compilado com as versões atuais do "g++": sed -i 's/\(__atomic_compare_exchange\)/\1_db/' src/dbinc/atomic.h Instale o "Berkeley DB" executando os seguintes comandos: cd build_unix && ../dist/configure --prefix=/usr \ --enable-compat185 \ --enable-dbm \ --disable-static \ --enable-cxx && make Agora, como o(a) usuário(a) "root": make docdir=/usr/share/doc/db-5.3.28 install && chown -v -R root:root \ /usr/bin/db_* \ /usr/include/db{,_185,_cxx}.h \ /usr/lib/libdb*.{so,la} \ /usr/share/doc/db-5.3.28 Explicações do Comando cd build_unix && ../dist/configure --prefix=/usr...: Isso substitui o comando ./configure normal, já que o Berkeley DB vem com vários diretórios de construção para diferentes plataformas. --enable-compat185: Essa chave habilita construir a "API" de compatibilidade "DB-1.85". --enable-cxx: Essa chave habilita construir as bibliotecas de "API" "C++". --enable-dbm: Habilita o suporte à interface legada necessária para alguns pacotes mais antigos. make docdir=/usr/share/doc/db-5.3.28 install: Isso instala a documentação no local padrão em vez de "/usr/docs". chown -v -R root:root ...: Esse comando muda a titularidade de propriedade dos vários arquivos instalados do "uid:gid" do(a) construtor(a) para "root:root". --enable-tcl --with-tcl=/usr/lib: Habilita o suporte a "Tcl" na Base de Dados e cria as bibliotecas "libdb_tcl". --enable-java: Habilita o suporte a Java na Base de Dados e cria as bibliotecas libdb_java. O suporte Java atualmente está quebrado com Java-9.x e posterior. Conteúdo Aplicativos Instalados: db_archive, db_checkpoint, db_deadlock, db_dump, db_hotbackup, db_load, db_log_verify, db_printlog, db_recover, db_replicate, db_stat, db_tuner, db_upgrade e db_verify Bibliotecas Instaladas: libdb.so, libdb_cxx.so e libdb_tcl.so Diretório Instalado: /usr/share/doc/db-5.3.28 Descrições Curtas db_archive imprime os nomes dos caminhos dos arquivos de registro que não mais estão em uso db_checkpoint é um processo de segundo plano usado para monitorar e verificar registros de bases de dados db_deadlock é usado para abortar solicitações de tranca quando trancas mortas são detectadas db_dump converte arquivos de base de dados em um formato de arquivo simples legível pelo "db_load" db_hotbackup cria instantâneos de "cópia de segurança a quente" ou "failover a quente" de bases de dados "Berkeley DB" db_load é usado para criar arquivos de base de dados a partir de arquivos simples criados com o "db_dump" db_log_verify verifica os arquivos de registro de uma base de dados db_printlog converte arquivos de registro da base de dados em texto legível por humanos(as) db_recover é usado para restaurar uma base de dados para um estado consistente depois de uma falha db_replicate é um processo de segundo plano que fornece serviços de replicação/"HA" em um ambiente transacional db_stat exibe estatísticas do ambiente de base de dados db_tuner analisa os dados em uma base de dados "btree" e sugere um tamanho de página que provavelmente proporcionará uma operação ideal db_upgrade é usado para atualizar arquivos de base de dados para uma versão mais recente da "Berkeley DB" db_verify é usado para executar verificações de consistência em arquivos de bases de dados lmdb-0.9.31 Introdução ao lmdb O pacote "lmdb" é um armazenamento de dados incorporado de valor-chave, rápido e compacto. Ele usa arquivos mapeados em memória, de forma que tem o desempenho de leitura de uma pura base de dados em memória, ao mesmo tempo que oferece a persistência de bases de dados padrão baseadas em disco e é limitado somente ao tamanho do espaço virtual de endereço Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5621]https://github.com/LMDB/lmdb/archive/LMDB_0.9.31.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 9d7f059b1624d0a4d4b2f1781d08d600 * Tamanho da transferência: 144 KB * Espaço em disco estimado exigido: 4,7 MB * Tempo de construção estimado: menos que 0,1 UPC Instalação do lmdb Nota Esse pacote extrai para "lmdb-LMDB_0.9.31". Instale o "lmdb" executando os seguintes comandos: cd libraries/liblmdb && make && sed -i 's| liblmdb.a||' Makefile Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make prefix=/usr install Explicações do Comando sed ... liblmdb.a ... Makefile: Os executáveis do pacote usam uma biblioteca estática, de forma que ela precisa ser criada. Esse comando suprime a instalação da biblioteca estática. Conteúdo Aplicativo Instalado: mdb_copy, mdb_dump, mdb_load e mdb_stat Biblioteca Instalada: liblmdb.so Diretórios Instalados: Nenhum(a) MariaDB-10.11.4 Introdução ao MariaDB "MariaDB" é uma bifurcação desenvolvida pela comunidade e um substituto imediato para o sistema de gerenciamento de bases de dados relacionais "MySQL". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5622]https://downloads.mariadb.org/interstitial/mariadb-10.11.4/so urce/mariadb-10.11.4.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: b6f3b3af44f72bcf32cba31071e7642d * Tamanho da transferência: 92 MB * Espaço em disco estimado exigido: 2,6 GB (723 MB instalado) * Tempo de construção estimado: 8,4 UPC (com paralelismo=4, adicionar 0,3 UPC para testes) Nota O tamanho instalado do "MariaDB" é 658 MB, mas pode ser reduzido em cerca de 252 MB, se desejado, removendo-se o diretório "/usr/share/mysql/test" depois da instalação. Dependências do "MariaDB" Exigidas [5623]CMake-3.27.2 Recomendadas [5624]libevent-2.1.12 Opcionais [5625]Boost-1.83.0, [5626]libaio-0.3.113, [5627]libxml2-2.10.4, [5628]Linux-PAM-1.5.3, [5629]LZO-2.10, [5630]MIT Kerberos V5-1.21.2, [5631]pcre2-10.42, [5632]Ruby-3.2.2, [5633]sphinx-7.1.2, [5634]unixODBC-2.3.12, [5635]Valgrind-3.21.0, [5636]Groonga, [5637]KyTea, [5638]Judy, [5639]lz4, [5640]MeCab, [5641]MessagePack, [5642]mruby, [5643]MyRocks, [5644]Snappy e [5645]ZeroMQ Instalação do MariaDB Atenção "MariaDB" e "MySQL" não podem ser instalados no mesmo sistema sem grandes mudanças na configuração de construção de um dos dois aplicativos. Por motivos de segurança, executar o servidor como um(a) usuário(a) e grupo sem privilégios é altamente encorajado. Emita o seguinte (como "root") para criar o(a) usuário(a) e o grupo: groupadd -g 40 mysql && useradd -c "Servidor MySQL" -d /srv/mysql -g mysql -s /bin/false -u 40 mysql Instale o "MariaDB" executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ -DGRN_LOG_PATH=/var/log/groonga.log \ -DINSTALL_DOCDIR=share/doc/mariadb-10.11.4 \ -DINSTALL_DOCREADMEDIR=share/doc/mariadb-10.11.4 \ -DINSTALL_MANDIR=share/man \ -DINSTALL_MYSQLSHAREDIR=share/mysql \ -DINSTALL_MYSQLTESTDIR=share/mysql/test \ -DINSTALL_PAMDIR=lib/security \ -DINSTALL_PAMDATADIR=/etc/security \ -DINSTALL_PLUGINDIR=lib/mysql/plugin \ -DINSTALL_SBINDIR=sbin \ -DINSTALL_SCRIPTDIR=bin \ -DINSTALL_SQLBENCHDIR=share/mysql/bench \ -DINSTALL_SUPPORTFILESDIR=share/mysql \ -DMYSQL_DATADIR=/srv/mysql \ -DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock \ -DWITH_EXTRA_CHARSETS=complex \ -DWITH_EMBEDDED_SERVER=ON \ -DSKIP_TESTS=ON \ -DTOKUDB_OK=0 \ .. && make Para testar os resultados, emita: "make test". Um teste, "test-connect", é conhecido por falhar. Nota Um conjunto mais extenso de testes pode ser executado com o seguinte: pushd mysql-test ./mtr --parallel --mem --force popd Onde N é o número de testes a executar em paralelo. Mais que cinco mil e quatrocentos (5.400) testes são executados em cerca de 24 UPC com N=4. Uns poucos testes possivelmente falhem, principalmente devido a problemas no conjunto de caracteres. Agora, como o(a) usuário(a) "root": make install Se você tiver [5646]Linux-PAM-1.5.3 instalado, mova o módulo PAM e o arquivo de configuração instalado por esse pacote como o(a) usuário(a) root: mv -v /usr/share/pam_use_map.so /lib/security && mv -v /usr/share/user_map.conf /etc/security Explicações do Comando -DWITH_EMBEDDED_SERVER=ON: Essa chave habilita compilar a biblioteca incorporada do servidor necessária para determinados aplicativos, como o "Amarok". -DWITH_EXTRA_CHARSETS=complex: Essa chave habilita suporte para os conjuntos de caracteres complexos. -DSKIP_TESTS=ON: Essa chave desabilita testes para "Connector/C" do "MariaDB" que não são suportados sem configuração adicional. -DWITHOUT_SERVER=ON: Use essa chave se você não quiser o servidor e gostaria de construir somente o cliente. Nota Existem numerosas opções disponíveis para o "cmake". Verifique a saída gerada do "cmake . -LH" para opções adicionais de personalização. Configurando o MySQL Arquivos de Configuração /etc/mysql/my.cnf e ~/.my.cnf Informação de Configuração Crie o "/etc/mysql/my.cnf" básico usando o seguinte comando como o(a) usuário(a) "root": install -v -dm 755 /etc/mysql && cat > /etc/mysql/my.cnf << "EOF" # Inicia /etc/mysql/my.cnf # As seguintes opções serão passadas para todos os clientes "MySQL" [client] #password = tua_senha port = 3306 socket = /run/mysqld/mysqld.sock # O servidor "MySQL" [mysqld] port = 3306 socket = /run/mysqld/mysqld.sock datadir = /srv/mysql skip-external-locking key_buffer_size = 16M max_allowed_packet = 1M sort_buffer_size = 512K net_buffer_length = 16K myisam_sort_buffer_size = 8M # Não escute em uma porta TCP/IP. skip-networking # Exigido ID único entre 1 e 2^32 - 1 server-id = 1 # Descomente o seguinte se você estiver usando tabelas "BDB" #bdb_cache_size = 4M #bdb_max_lock = 10000 # As tabelas "InnoDB" agora são usadas por padrão innodb_data_home_dir = /srv/mysql innodb_log_group_home_dir = /srv/mysql # Todos os valores "innodb_xxx" abaixo são os [valores] padrão: innodb_data_file_path = ibdata1:12M:autoextend # Você consegue configurar ".._buffer_pool_size" até 50 - 80 % # da "RAM", mas cuidado ao configurar o uso de memória muito alto innodb_buffer_pool_size = 128M innodb_log_file_size = 48M innodb_log_buffer_size = 16M innodb_flush_log_at_trx_commit = 1 innodb_lock_wait_timeout = 50 [mysqldump] quick max_allowed_packet = 16M [mysql] no-auto-rehash # Remova o próximo caractere de comentário se você não estiver familiarizado(a) com "SQL" #safe-updates [isamchk] key_buffer = 20M sort_buffer_size = 20M read_buffer = 2M write_buffer = 2M [myisamchk] key_buffer_size = 20M sort_buffer_size = 20M read_buffer = 2M write_buffer = 2M [mysqlhotcopy] interactive-timeout # Termina /etc/mysql/my.cnf EOF Você pode agora instalar uma base de dados e mudar a titularidade da propriedade para o(a) usuário(a) e grupo sem privilégios (realize como o(a) usuário(a) "root"): mysql_install_db --basedir=/usr --datadir=/srv/mysql --user=mysql && chown -R mysql:mysql /srv/mysql A configuração adicional exige que o servidor "MariaDB" esteja em execução. Inicie o servidor usando os seguintes comandos como o(a) usuário(a) "root": install -v -m755 -o mysql -g mysql -d /run/mysqld && mysqld_safe --user=mysql 2>&1 >/dev/null & Uma instalação padrão não configura uma senha para o(a) administrador(a), portanto, use o seguinte comando como o(a) usuário(a) "root" para configurar uma. mysqladmin -u root password A configuração do servidor agora está finalizada. Encerre o servidor usando o seguinte comando como o(a) usuário(a) "root": mysqladmin -p shutdown Unidade do systemd Instale a unidade "mysqld.service" inclusa no pacote "" "[5647]blfs-systemd-units-20230816" como o(a) usuário(a) "root" para iniciar o servidor "MariaDB" durante a inicialização do sistema. make install-mysqld Nota Se você já tem uma base de dados existente e essa instalação de binários foi apenas uma atualização para uma versão mais recente, [então] verifique a documentação do(a) desenvolvedor(a) para atualização. É recomendado executar: mariadb-upgrade Conteúdo Aplicativos Instalados: aria_chk, aria_dump_log, aria_ftdump, aria_pack, aria_read_log, aria_s3_copy, galera_new_cluster, galera_recovery, innochecksum, mariabackup, mariadb, mariadbd, mariadb-access, mariadb-admin, mariadb-backup, mariadb-binlog, mariadb-check, mariadb-client-test, mariadb-client-test-embedded, mariadb-conv, mariadb-convert-table-format, mariadb-find-rows, mariadbd-multi, mariadbd-safe, mariadbd-safe-helper, mariadb-dump, mariadb-dumpslow, mariadb-embedded, mariadb-fix-extensions, mariadb-hotcopy, mariadb-import, mariadb-install-db, mariadb-ldb, mariadb-plugin, mariadb-secure-installation, mariadb-setpermission, mariadb-service-convert, mariadb-show, mariadb-slap, mariadb-test, mariadb-test-embedded, mariadb-tzinfo-to-sql, mariadb-upgrade, mariadb-waitpid, mariadb_config, mbstream, msql2mysql, my_print_defaults, myisamchk, myisam_ftdump, myisamlog, myisampack, mysql_config, mytop, perror, replace, resolve_stack_dump, resolveip, sst_dump, wsrep_sst_common, wsrep_sst_mariabackup, wsrep_sst_mysqldump e wsrep_sst_rsync Bibliotecas Instaladas: libmariadbclient.a, libmariadb.so, libmariadbd.so, libmysqlclient.a, libmysqlclient_r.a (links simbólicos para libmariadbclient.a), libmysqld.{so,a}, libmysqlservices.a e várias sob /usr/lib/mysql/plugin/ Diretórios Instalados: /etc/mysql, /usr/{include,lib,share}/mysql, /usr/share/groonga{-normalizer-mysql} e /usr/share/doc/mariadb-10.11.4 Descrições Curtas Existem vários links simbólicos de "mysql*" para as contrapartes deles do "mariadb". Eles são mantidos para compatibilidade. Os módulos "DBI" do "Perl" precisam estar instalados para que alguns dos aplicativos de suporte do "MariaDB" funcionem corretamente. Descrições Curtas aria_chk é usado para verificar, reparar, otimizar, classificar e obter informações relativas a tabelas "Aria" aria_dump_log é uma ferramenta para despejar o conteúdo das páginas de registro do "Aria" aria_ftdump exibe informações de índice de texto completo aria_pack é uma ferramenta para gerar tabelas "Aria" comprimidas e somente leitura aria_read_log exibe o conteúdo do arquivo de registro do "Aria" aria_s3_copy copia uma tabela "Aria" de e para "AWS S3" galera_new_cluster inicializa um novo agrupamento "Galera" galera_recovery recupera dados a partir de um agrupamento "Galera" innochecksum imprime somas de verificação para arquivos "InnoDB" mariabackup é uma ferramenta de fonte aberto de cópia de segurança para "InnoDB" e "XtraDB" mariadb é um "shell" simples "SQL" com recursos de edição de linha de entrada mariadbd é o processo de segundo plano do servidor "MySQL" mariadb-access verifica os privilégios de acesso para uma combinação de nome de dispositivo, nome de usuário(a) e base de dados mariadb-admin é um cliente para realizar operações administrativas mariadb-binlog lê arquivos binários de registro mariadb-check realiza manutenção de tabelas: verifica, repara, otimiza ou analisa tabelas mariadb-client-test é usado para testar aspectos da "API" do cliente "MySQL" que não podem ser testados usando o "mysqltest" e a linguagem de teste dele mariadb-client-test-embedded é uma ferramenta para testar a "API" do cliente para o servidor incorporado mariadb-conv converte conjuntos de caracteres para uso com "MariaDB" mariadb-convert-table-format converte as tabelas em uma base de dados para usar um mecanismo específico de armazenamento mariadbd-multi foi projetado para gerenciar vários processos "mysqld" que escutam conexões em diferentes arquivos de soquete "Unix" e portas "TCP"/"IP" mariadbd-safe é a maneira recomendada de iniciar um servidor "mysqld" em "Unix" e "NetWare" mariadb-dump é um aplicativo de cópia de segurança mariadb-dumpslow analisa arquivos de registro de consulta lenta do "MySQL" e imprime um resumo do conteúdo deles mariadb-embedded é um cliente "MySQL" vinculado estaticamente à "libmariadbd" mariadb-find-rows lê arquivos contendo instruções "SQL" e extrai instruções que correspondem a uma determinada expressão regular ou que contém instruções "USE" nome_base_dados ou "SET" mariadb-fix-extensions converte as extensões dos arquivos de tabela "MyISAM" (ou "ISAM") para as formas canônicas delas mariadb-hotcopy trava a tabela, libera a tabela e então realiza uma cópia da base de dados mariadb-import lê uma variedade de formatos de dados e insere os dados em uma base de dados mariadb-install-db inicializa o diretório de dados "MySQL" e cria as tabelas de sistema que ele contém, se elas não existirem mariadb-ldb é a ferramenta "RocksDB" mariadb-plugin é um utilitário que habilita os(as) administradores(as) "MySQL" a gerenciar quais "plugins" um servidor "MySQL" carrega mariadb-secure-installation é uma ferramenta para melhorar a segurança da instalação do "MySQL" mariadb-service-convert gera uma unidade do "systemd" baseada nas configurações atuais do "mariadb" mariadb-setpermission configura permissões nas tabelas de concessão do "MySQL" mariadb-show mostra a estrutura de uma base de dados "MariaDB" mariadb-slap é um aplicativo de diagnóstico projetado para emular a carga do cliente para um servidor "MySQL" e informar o tempo de cada estágio mariadb-test executa um caso de teste em um servidor "MySQL" e, opcionalmente, compara a saída gerada com um arquivo de resultado mariadb-test-embedded é semelhante ao comando "mysqltest", mas é construído com suporte para o servidor incorporado "libmysqld" mariadb-tzinfo-to-sql carrega as tabelas de fuso horário na base de dados "mysql" mariadb-upgrade examina todas as tabelas em todas as bases de dados em busca de incompatibilidades com a versão atual do Servidor "MySQL" mariadb-waitpid sinaliza um processo para terminar e espera que o processo saia mariadb_config obtém sinalizadores do compilador para usar o "Connector/C" do "MariaDB" mbstream é um utilitário para enviar cópias de segurança "InnoDB" e "XTraDB" por meio de um fluxo msql2mysql é uma ferramenta para converter aplicativos "mSQL" para uso com "MySQL" my_print_defaults exibe as opções a partir de grupos de opções de arquivos de opções myisam_ftdump exibe informações relativas a índices "FULLTEXT" em tabelas "MyISAM" myisamchk obtém informações relativas às tabelas da tua base de dados ou as verifica, repara ou otimiza myisamlog exibe o conteúdo do arquivo de registro do "MyISAM" myisampack é uma ferramenta para comprimir tabelas "MyISAM" mysql_config fornece informações úteis para compilar o teu cliente "MySQL" e conectá-lo ao "MySQL" mytop é uma ferramenta baseada em console para monitorar as camadas e o desempenho geral de um servidor "MySQL" perror é um utilitário que exibe descrições de códigos de erro do sistema ou do mecanismo de armazenamento replace é uma extensão "MariaDB"/"MySQL" para o padrão "SQL" resolve_stack_dump resolve um despejo numérico de pilha em símbolos resolveip é um utilitário para resolver endereços "IP" em nomes de dispositivo e vice-versa sst_sump despeja o conteúdo dos arquivos "sst" (o formato usado pelo "RocksDB") PostgreSQL-15.4 Introdução ao PostgreSQL "PostgreSQL" é um avançado sistema de gerenciamento de bases de dados objeto relacional ("SAGBDOR"), derivado do sistema de gerenciamento de bases de dados "Berkeley Postgres". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5648]https://ftp.postgresql.org/pub/source/v15.4/postgresql-15.4.t ar.bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: f2f861fb99d742cb9c2f8aa46a8a947d * Tamanho da transferência: 22 MB * Espaço em disco estimado exigido: 229 MB (adicionar 42 MB para testes) * Tempo de construção estimado: 0,6 UPC (com paralelismo=4, adicionar 0,2 UPC para testes) Dependências do "PostgreSQL" Opcionais [5649]ICU-73.2, [5650]libxml2-2.10.4, [5651]libxslt-1.1.38, [5652]OpenLDAP-2.6.6, [5653]Linux-PAM-1.5.3, [5654]MIT Kerberos V5-1.21.2 e [5655]Bonjour Opcionais (Para Regenerar a Documentação) [5656]fop-2.9, [5657]docbook-4.5-dtd, [5658]docbook-dsssl-1.79, [5659]DocBook-utils-0.6.14, [5660]OpenJade-1.3.2 e [5661]SGMLSpm-1.1 Observações de Editor(a): [5662]https://wiki.linuxfromscratch.org/blfs/wiki/postgresql Instalação do PostgreSQL Para maior segurança, é melhor ter um grupo e usuário(a) dedicado para executar o servidor "PostgreSQL". Primeiro, emita como o(a) usuário(a) "root": groupadd -g 41 postgres && useradd -c "Servidor PostgreSQL" -g postgres -d /srv/pgsql/data \ -u 41 postgres Nota Existem vários itens de configuração que adicionam funcionalidade adicional com pacotes opcionais ao "PostgreSQL". Use "./configure --help" para ver uma lista. Instale o "PostgreSQL" com os seguintes comandos: sed -i '/DEFAULT_PGSOCKET_DIR/s@/tmp@/run/postgresql@' src/include/pg_config_man ual.h && ./configure --prefix=/usr \ --enable-thread-safety \ --docdir=/usr/share/doc/postgresql-15.4 && make Existem vários aplicativos no diretório "contrib/". Se você for executar essa instalação como um servidor e desejar construir alguns deles, [então] digite "make -C contrib" ou "make -C contrib/" para cada subdiretório. Os testes precisam ser executados como um(a) usuário(a) sem privilégios porque precisam iniciar um servidor temporário e isso é evitado como o(a) usuário(a) "root". Pela mesma razão, você precisa parar todos os servidores "PostgreSQL", se algum estiver em execução. Se uma versão anterior do "PostgreSQL" estiver instalada, [então] possivelmente seja necessário usar "--disable-rpath" com o "configure" para evitar falhas, mas instalar os binários criados usando essa chave não é recomendado. Para testar os resultados, emita: "make check". Nota Se você estiver instalando o "PostgreSQL" para atualizar uma instalação existente, [então] existem etapas importantes que você precisa seguir. Se a versão principal da nova construção for superior à versão anterior, [então] existe uma chance de que o formato do arquivo de dados tenha mudado. O novo logiciário não consegue atuar nos arquivos de dados existentes. Nesse caso, o servidor não iniciará porque os aplicativos antigos foram sobrescritos, de forma que os dados estão indisponíveis até que o formato do arquivo deles tenha sido convertido. Antes de atualizar uma instalação existente do "PostgreSQL", verifique a documentação para quaisquer considerações que você precisa ter em mente durante a atualização. Observe que as novas versões principais podem usar um formato binário diferente nos objetos de dados, causando potenciais incompatibilidades. Para mais informações, verifique a documentação do(a) desenvolvedor(a) relativa a atualização do "PostgreSQL" aqui: [5663]https://www.postgresql.org/docs/current/upgrading.html. Neste ponto, você possivelmente tenha os binários antigo e novo instalados em seu sistema de arquivos. Esses binários podem ser usados para realizar uma atualização dos teus arquivos de base de dados existentes. Para as instruções a seguir, presume-se que * Os arquivos de dados atuais estão armazenados em "/srv/pgsql/data" * Os arquivos de dados atualizados serão armazenados em "/srv/pgsql/newdata" * Existe espaço em disco suficiente para armazenar os arquivos de dados atuais duas vezes. A atualização não é uma atualização em linha, mas copiará os dados para novos arquivos de base de dados. Primeiro, faça uma instalação temporária que torna o acesso aos novos binários muito mais fácil: make DESTDIR=$(pwd)/DESTDIR install Em seguida, crie um diretório que seja escrevível pelo(a) usuário(a) "postgres", como o(a) usuário(a) "root": install -d -o postgres $(pwd)/DESTDIR/tmp Agora, pare a instância existente do "PostgreSQL" e inicie o processo de atualização como o(a) usuário(a) "root": pushd $(pwd)/DESTDIR/tmp systemctl stop postgresql su postgres -c "../usr/bin/initdb -D /srv/pgsql/newdata" su postgres -c "../usr/bin/pg_upgrade \ -d /srv/pgsql/data -b /usr/bin \ -D /srv/pgsql/newdata -B ../usr/bin" popd Neste ponto, os teus arquivos da base de dados estão disponíveis em dois locais no disco. Os dados antigos estão localizados em "/srv/pgsql/data" e os novos dados estão em "/srv/pgsql/newdata". Produzir uma cópia de segurança dos arquivos antigos da base de dados é sugerido antes de continuar. Em seguida, remova os arquivos antigos de base de dados e renomeie o novo diretório de dados como o(a) usuário(a) "root": rm -rf /srv/pgsql/data mv /srv/pgsql/newdata /srv/pgsql/data Agora, como o(a) usuário(a) "root": make install && make install-docs Se você criou qualquer um dos aplicativos "contrib/", como o(a) usuário(a) "root": make -C contrib/ install Dica Se você pretende usar o "PostgreSQL" somente como um cliente para conectar-se a um servidor em outra máquina, [então] a tua instalação está completa e você não deveria executar os comandos restantes. Se você atualizou uma base de dados existente, [então] ignore o restante dos comandos porque a tua base de dados está pronta para uso. Se essa for a primeira vez que você instala o "PostgreSQL", [então] continue com a inicialização. Inicialize um agrupamento de bases de dados com os seguintes comandos emitidos pelo(a) usuário(a) "root": install -v -dm700 /srv/pgsql/data && install -v -dm755 /run/postgresql && chown -Rv postgres:postgres /srv/pgsql /run/postgresql Agora, inicialize a base de dados como o(a) usuário(a) "root": su - postgres -c '/usr/bin/initdb -D /srv/pgsql/data' Explicações do Comando sed -i ...: Esse "sed" muda o local do soquete do servidor de "/tmp" para "/run/postgresql". --enable-thread-safety: Essa chave torna as bibliotecas cliente seguras em camadas, permitindo que camadas simultâneas em aplicativos "libpq" e "ECPG" controlem com segurança os manuseadores privados de conexão deles. --with-openssl: constrói o pacote com suporte para conexões encriptadas "OpenSSL". --with-perl: constrói a linguagem "PL"/"Perl" do lado do servidor. --with-python: constrói a linguagem "PL"/"Python" do lado do servidor. "Python3" é usado por padrão; "Python2" não mais é suportado. --with-tcl: constrói a linguagem "PL"/"Tcl" do lado do servidor. Configurando o PostgreSQL Arquivos de Configuração $PGDATA/pg_ident.con, $PGDATA/pg_hba.conf e $PGDATA/postgresql.conf A variável de ambiente "PGDATA" é usada para distinguir agrupamentos de bases de dados uns dos outros, configurando-a com o valor do diretório que contém o agrupamento desejado. Os três arquivos de configuração existem em cada diretório "PGDATA/". Detalhes relativos ao formato dos arquivos e as opções que podem ser configuradas em cada um podem ser encontrados em /usr/share/doc/postgresql-15.4/html/index.html. Unidade do systemd Instale a unidade "postgresql.service" inclusa no pacote "" "[5664]blfs-systemd-units-20230816": make install-postgresql Iniciando o Servidor “PostgreSQL” e Criando uma Base de Dados de Exemplo O servidor de base de dados pode ser iniciado manualmente com o seguinte comando (como o(a) usuário(a) "root"): su - postgres -c '/usr/bin/postgres -D /srv/pgsql/data > \ /srv/pgsql/data/logfile 2>&1 &' Nota Se você estiver automatizando esta parte, [então] você deveria esperar o servidor iniciar antes de continuar, adicionando, por exemplo, "sleep 2" depois do comando acima. As instruções abaixo mostram como criar uma base de dados, adicionar uma tabela nela, inserir algumas linhas na tabela e selecioná-las, para verificar se a instalação está funcionando corretamente. Ainda como usuário(a) "root", emita: su - postgres -c '/usr/bin/createdb test' && echo "create table t1 ( name varchar(20), state_province varchar(20) );" \ | (su - postgres -c '/usr/bin/psql test ') && echo "insert into t1 values ('Billy', 'NewYork');" \ | (su - postgres -c '/usr/bin/psql test ') && echo "insert into t1 values ('Evanidus', 'Quebec');" \ | (su - postgres -c '/usr/bin/psql test ') && echo "insert into t1 values ('Jesse', 'Ontario');" \ | (su - postgres -c '/usr/bin/psql test ') && echo "select * from t1;" | (su - postgres -c '/usr/bin/psql test') Quando terminar o teste, você pode desligar o servidor, emitindo como "root": su - postgres -c "/usr/bin/pg_ctl stop -D /srv/pgsql/data" Conteúdo Aplicativos Instalados: clusterdb, createdb, createuser, dropdb, dropuser, ecpg, initdb, pg_amcheck, pg_archivecleanup, pg_basebackup, pg_checksums, pg_config, pg_controldata, pg_ctl, pg_dump, pg_dumpall, pg_isready, pg_receivewal, pg_recvlogical, pg_resetwal, pg_restore, pg_rewind, pg_test_fsync, pg_test_timing, pg_upgrade, pg_verifybackup, pg_waldump, pgbench, postgres, postmaster (descontinuado), psql, reindexdb, vacuumdb, opcionalmente, se o suporte a "Tcl" tiver sido construído, pltcl_delmod, pltcl_listmod, pltcl_loadmod e, opcionalmente, (em "contrib/") oid2name, pg_standby, vacuumlo e muitos outros Bibliotecas Instaladas: libecpg.{so,a}, libecpg_compat.{so,a}, libpgcommon.a, libpgcommon_shlib.a, libpgfeutils.a, libpgport.a, libpgport_shlib.a, libpgtypes.{so,a}, libpq.{so,a}, vários módulos de conjuntos de caracteres e opcionalmente módulos de linguagem de programação em "/usr/lib/postgresql" Diretórios Instalados: /usr/include/{libpq,postgresql}, /usr/lib/postgresql, /usr/share/{doc/postgresql-15.4,postgresql} e /srv/pgsql Descrições Curtas clusterdb é um utilitário para reagrupar tabelas em uma base de dados "PostgreSQL" createdb cria uma nova base de dados "PostgreSQL" createuser define uma nova conta de usuário(a) "PostgreSQL" dropdb remove uma base de dados "PostgreSQL" dropuser remove uma conta de usuário(a) "PostgreSQL" ecpg é o pré processador incorporado "SQL" initdb cria um novo agrupamento de bases de dados oid2name resolve "OIDs" ("Object IDs") e nós de arquivo em um diretório de dados do "PostgreSQL" pg_amcheck verifica se existe corrupção em uma ou mais bases de dados "PostgreSQL" pg_archivecleanup limpa arquivos de arquivamento "write-ahead log" ("WAL") do "PostgreSQL" pg_basebackup faz cópias básicas de segurança de um agrupamento do PostgreSQL em execução pg_checksums habilita, desabilita ou verifica somas de verificação de dados em um agrupamento de bases de dados do "PostgreSQL" pg_config recupera informações de versão do "PostgreSQL" pg_controldata retorna informações inicializadas durante o "initdb", como a versão do catálogo e a localidade do servidor pg_ctl controla a parada e inicialização do servidor de base de dados pg_dump despeja dados e metadados da base de dados em conjuntos de comandos sequenciais que são usados para recriar a base de dados pg_dumpall chama recursivamente "pg_dump" para cada base de dados em um agrupamento pg_isready verifica a situação da conexão de um servidor "PostgreSQL" pg_receivewal é usado para transmitir "write-ahead logs" a partir de um servidor "PostgreSQL" pg_recvlogical controla fluxos de decodificação lógica do "PostgreSQL" pg_resetwal reconfigura o "write-ahead log" e outras informações de controle de um agrupamento de bases de dados "PostgreSQL" pg_restore cria bases de dados a partir de arquivos de despejo criados pelo "pg_dump" pg_rewind sincroniza um diretório de dados do "PostgreSQL" com outro diretório de dados que foi bifurcado a partir do primeiro pg_standby suporta a criação de um servidor de espera quente do "PostgreSQL" pg_test_fsync determina o método "wal_sync" mais rápido para o "PostgreSQL" pg_test_timing mede a sobrecarga de tempo pg_upgrade atualiza uma instância do servidor "PostgreSQL" pg_verifybackup verifica a integridade de uma cópia básica de segurança de um agrupamento do "PostgreSQL" pg_waldump exibe uma renderização legível por humanos(as) do "write-ahead log" de um agrupamento de bases de dados do "PostgreSQL" pgbench executa um teste de avaliação comparativa no "PostgreSQL" pltcl_delmod é um conjunto de comandos sequenciais de suporte usado para deletar um módulo originário de uma tabela "PL"/"Tcl". O comando exige que o pacote "[5665]Pgtcl" esteja instalado pltcl_listmod é um conjunto de comandos sequenciais de suporte usado para listar os módulos em uma tabela "PL"/"Tcl". O comando exige que o pacote "[5666]Pgtcl" esteja instalado pltcl_loadmod é um conjunto de comandos sequenciais de suporte usado para carregar um módulo em uma tabela "PL"/"Tcl". O comando exige que o pacote "[5667]Pgtcl" esteja instalado postgres é o servidor de base de dados "PostgreSQL" postmaster (descontinuado, um link simbólico para postgres) é um processo multiusuário(a) de segundo plano de base de dados psql é um "shell" de base de dados baseado em console reindexdb é um utilitário para reconstruir índices em uma base de dados vacuumdb compacta bases de dados e gera estatísticas para o analisador de consultas vacuumlo remove objetos grandes órfãos a partir de uma base de dados do "PostgreSQL" libecpg.{so,a} contém funções para suportar "SQL" incorporado em aplicativos "C" libecpg_compat.{so,a} é a biblioteca de compatibilidade "ecpg" libgport.a é o subsistema específico da porta da estrutura de retaguarda do "Postgres" libpgtypes.{so,a} contém funções para lidar com tipos de dados "Postgres" libpq.{so,a} é a "API" do(a) programador(a) "C" para "Postgres" SQLite-3.42.0 Introdução ao SQLite O pacote "SQLite" é uma biblioteca de logiciário que implementa um mecanismo de base de dados "SQL" transacional independente, sem servidor e com configuração zero. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5668]https://sqlite.org/2023/sqlite-autoconf-3420000.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 0c5a92bc51cf07cae45b4a1e94653dea * Tamanho da transferência: 3,1 MB * Espaço em disco estimado exigido: 76 MB * Tempo de construção estimado: 0,3 UPC (Usando paralelismo=4) Transferências Adicionais Documentação Opcional * Transferência (HTTP): [5669]https://sqlite.org/2023/sqlite-doc-3420000.zip * Soma de verificação MD5 da transferência: f3cb6b67a82bc586a096459085616e4f * Tamanho da transferência: 11 MB Dependências do "SQLite" Opcionais [5670]libedit e [5671]UnZip-6.0 (exigido para deszipar a documentação) Instalação do SQLite Se você baixou a documentação opcional, [então] emita o seguinte comando para instalar a documentação na árvore do fonte: unzip -q ../sqlite-doc-3420000.zip Instale o "SQLite" executando os seguintes comandos: ./configure --prefix=/usr \ --disable-static \ --enable-fts{4,5} \ CPPFLAGS="-DSQLITE_ENABLE_COLUMN_METADATA=1 \ -DSQLITE_ENABLE_UNLOCK_NOTIFY=1 \ -DSQLITE_ENABLE_DBSTAT_VTAB=1 \ -DSQLITE_SECURE_DELETE=1 \ -DSQLITE_ENABLE_FTS3_TOKENIZER=1" && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Se você baixou a documentação opcional, [então] emita os seguintes comandos como o(a) usuário(a) "root" para instalá-la: install -v -m755 -d /usr/share/doc/sqlite-3.42.0 && cp -v -R sqlite-doc-3420000/* /usr/share/doc/sqlite-3.42.0 Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --enable-fts{4,5}: Essas chaves habilitam o suporte para as versões 3, 4 e 5 da extensão de pesquisa de texto completo (FTS). Observe que a chave --enable-fts4 habilita suporte para versão 4 do FTS e versão 3 do FTS. CPPFLAGS="-DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_ENABLE_UNLOCK_NOTIFY=1 -DSQLITE_ENABLE_DBSTAT_VTAB=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_FTS3_TOKENIZER=1": Aplicativos como SeaMonkey exigem que essas opções estejam ativadas . A única maneira de fazer isso é a de incluí-las nas CFLAGS ou CPPFLAGS. Nós usamos a último, de forma que o valor padrão (ou qualquer valor configurado pelo(a) usuário(a)) de CFLAGS não seria afetado. Para mais informações a respeito do que pode ser especificado, veja-se [5672]https://www.sqlite.org/compile.html. Conteúdo Aplicativo Instalado: sqlite3 Biblioteca Instalada: libsqlite3.so Diretório Instalado: /usr/share/doc/sqlite-3.42.0 Descrições Curtas sqlite3 é uma estrutura de interação direta com o(a) usuário(a) baseada em terminal para a biblioteca "SQLite" que consegue avaliar consultas interativamente e exibir os resultados libsqlite3.so contém as funções da "API" do "SQLite" Capítulo 23. Outro Logiciário de Servidor Aqui você encontrará muitas maneiras de compartilhar a tua máquina com o resto do mundo ou com a tua rede de intercomunicação local. Antes de instalar quaisquer pacotes neste capítulo, você precisa ter certeza de que entende o que o pacote faz e como configurá-lo corretamente. Também pode ser útil aprender a respeito das consequências de uma configuração inadequada, de forma que você consiga analisar os riscos. OpenLDAP-2.6.6 Introdução ao OpenLDAP O pacote "OpenLDAP" fornece uma implementação de fonte aberto do "Lightweight Directory Access Protocol". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5673]https://www.openldap.org/software/download/OpenLDAP/openldap- release/openldap-2.6.6.tgz * Transferência (FTP): [5674]ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap -2.6.6.tgz * Soma de verificação MD5 da transferência: 5259e75484be71563e3f5c33d64a274d * Tamanho da transferência: 6,2 MB * Espaço em disco estimado exigido: 60 MB (cliente e servidor) * Tempo de construção estimado: 0,4 UPC (cliente), 1,1 UPC (servidor) Transferências Adicionais * Remendo exigido: [5675]https://www.linuxfromscratch.org/patches/blfs/12.0/openldap-2 .6.6-consolidated-1.patch Dependências do "OpenLDAP" Recomendadas [5676]Cyrus SASL-2.1.28 Opcionais [5677]GnuTLS-3.8.1, [5678]Pth-2.0.7, [5679]unixODBC-2.3.12, [5680]MariaDB-10.11.4 ou [5681]PostgreSQL-15.4 ou [5682]MySQL, [5683]OpenSLP, [5684]WiredTiger e [5685]Base de Dados Berkeley-5.3.28 (para "slapd", porém descontinuado) Instalação do OpenLDAP Nota Se você precisar instalar somente os binários "ldap*" do lado cliente, páginas de manual, bibliotecas e arquivos de cabeçalho correspondentes (referidos como instalação “client-only”), [então] emita estes comandos, em vez dos seguintes (nenhuma suíte de teste disponível): patch -Np1 -i ../openldap-2.6.6-consolidated-1.patch && autoconf && ./configure --prefix=/usr \ --sysconfdir=/etc \ --disable-static \ --enable-dynamic \ --enable-versioning=yes \ --disable-debug \ --disable-slapd && make depend && make Em seguida, como o(a) usuário(a) "root": make install Deveria existir um(a) usuário(a) e um grupo dedicado(a) para assumir o controle do processo de segundo plano "slapd" depois de ele ser iniciado. Emita os seguintes comandos como o(a) usuário(a) "root": groupadd -g 83 ldap && useradd -c "Proprietário(a) do Processo de Segundo Plano OpenLDAP" \ -d /var/lib/openldap -u 83 \ -g ldap -s /bin/false ldap Instale o "OpenLDAP" executando os seguintes comandos: patch -Np1 -i ../openldap-2.6.6-consolidated-1.patch && autoconf && ./configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --libexecdir=/usr/lib \ --disable-static \ --enable-versioning=yes \ --disable-debug \ --with-tls=openssl \ --with-cyrus-sasl \ --without-systemd \ --enable-dynamic \ --enable-crypt \ --enable-spasswd \ --enable-slapd \ --enable-modules \ --enable-rlookups \ --enable-backends=mod \ --disable-sql \ --disable-wt \ --enable-overlays=mod && make depend && make Os testes são frágeis e erros podem fazer com que os testes abortem antes de finalizarem. Alguns erros podem ocorrer devido a problemas de temporização. Os testes duram cerca de uma hora e o tempo independe da CPU devido a atrasos nos testes. Na maioria dos sistemas, os testes executarão até o teste test065-proxyauth for mdb. Para testar os resultados, emita: make test. Agora, como o(a) usuário(a) "root": make install && sed -e "s/\.la/.so/" -i /etc/openldap/slapd.{conf,ldif}{,.default} && install -v -dm700 -o ldap -g ldap /var/lib/openldap && install -v -dm700 -o ldap -g ldap /etc/openldap/slapd.d && chmod -v 640 /etc/openldap/slapd.{conf,ldif} && chown -v root:ldap /etc/openldap/slapd.{conf,ldif} && install -v -dm755 /usr/share/doc/openldap-2.6.6 && cp -vfr doc/{drafts,rfc,guide} \ /usr/share/doc/openldap-2.6.6 Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --disable-debug: Essa chave desabilita o código de depuração no "OpenLDAP". --enable-dynamic: Essa chave força as bibliotecas do "OpenLDAP" a serem vinculadas dinamicamente aos aplicativos executáveis. --enable-versioning: Essa chave habilita o versionamento de símbolos nas bibliotecas do "OpenLDAP". Sem isso, alguns aplicativos podem gerar um aviso relativo a versões ausentes de símbolos. --enable-crypt: Essa chave habilita o uso de senhas do "crypt(3)". --enable-spasswd: Essa chave habilita a verificação de senha do "SASL". --enable-modules: Essa chave habilita o suporte a módulo dinâmico. --enable-rlookups: Essa chave habilita pesquisas reversas de nomes de dispositivos clientes. --enable-backends: Essa chave habilita todas as estruturas de retaguarda disponíveis. --enable-overlays: Essa chave habilita todas as sobreposições disponíveis. --disable-sql: Essa chave desabilita explicitamente a estrutura "SQL" de retaguarda. Omita essa chave se um servidor "SQL" estiver instalado e você for usar uma estrutura "SQL" de retaguarda. --disable-wt: Essa chave desabilita explicitamente a estrutura "WiredTiger" de retaguarda. Omita essa chave se o "WiredTiger" estiver instalado e você for usar uma estrutura "WiredTiger" de retaguarda. --libexecdir=/usr/lib: Essa chave controla onde o diretório "/usr/lib/openldap" está instalado. Tudo nesse diretório é uma biblioteca, de forma que ele pertence a "/usr/lib" em vez de "/usr/libexec". --enable-slp: Essa chave habilita o suporte a "SLPv2". Use-a se você tiver instalado o "[5686]OpenSLP". Nota Você pode executar "./configure --help" para ver se existe outra chave que você possa passar para o comando "configure" para habilitar outras opções ou pacotes de dependência. "install ...", "chown ..." e "chmod ...": Ter arquivos de configuração do "slapd" e bases de dados "ldap" em "/var/lib/openldap" legíveis por qualquer pessoa é um PROBLEMA DE SEGURANÇA, especialmente porque um arquivo armazena a senha do(a) administrador(a) em TEXTO SIMPLES. É por isso que o modo 640 e a titularidade de propriedade "root:ldap" foi usado. O proprietário é o(a) "root", de forma que somente o(a) "root" consegue modificar o arquivo, e o grupo é o "ldap", de forma que o grupo que titulariza o processo de segundo plano "slapd" consiga ler, mas não modificar o arquivo em caso de uma brecha de segurança. Configurando o OpenLDAP Arquivos de Configuração * Para o cliente do "LDAP": "/etc/openldap/ldap.conf" e "~/.ldaprc" * Para o servidor do "LDAP", dois mecanismos de configuração são usados: um arquivo legado de configuração "/etc/openldap/slapd.conf" e o sistema recomendado "slapd-config", usando uma base de dados "LDIF" armazenada em "/etc/openldap/slapd.d". Informação de Configuração Configurar os servidores "slapd" pode ser complexo. Proteger o diretório do "LDAP", especialmente se você estiver armazenando dados não públicos, como bases de dados de senhas, também pode ser uma tarefa desafiadora. Para a finalidade de configurar o "OpenLDAP", você precisará modificar ou o arquivo "/etc/openldap/slapd.conf" (método antigo) ou o arquivo "/etc/openldap/slapd.ldif" e, em seguida, usar o "ldapadd" para criar a base de dados de configuração do "LDAP" em "/etc/openldap/slapd.d" (recomendado pela documentação do "OpenLDAP"). Atenção As instruções acima instalam uma estrutura vazia do "LDAP" e um arquivo "/etc/openldap/slapd.conf" padrão, que são adequados para testar a construção e outros pacotes que usem o "LDAP". Não os use em um servidor de produção. Recursos para te ajudar com tópicos como escolha de configuração de diretório, definições de estrutura de retaguarda e base de dados, configurações de controle de acesso, execução como um(a) usuário(a) diferente de "root" e configuração de um ambiente "chroot" incluem: * A página de manual "slapd(8)". * As páginas de manual "slapd.conf(5)" e "slapd-config(5)". * O "[5687]Guia do(a) Administrador(a) do OpenLDAP 2.6" (também instalado localmente em "/usr/share/doc/openldap-2.6.6/guide/admin"). * Documentes localizados em [5688]https://www.openldap.org/pub/. Unidade do systemd Para automatizar a inicialização do servidor do "LDAP" na inicialização do sistema, instale a unidade "slapd.service" inclusa no pacote "" "[5689]blfs-systemd-units-20230816" usando o seguinte comando: make install-slapd Nota Você precisará modificar o "/etc/default/slapd" para incluir os parâmetros necessários para a tua configuração específica. Veja-se a página de manual do "slapd" para informações de parâmetros. Testando a Configuração Inicie o servidor do "LDAP" usando o "systemctl": systemctl start slapd Verifique o acesso ao servidor do "LDAP" com o seguinte comando: ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts O resultado esperado é: # extended LDIF # # LDAPv3 # base <> with scope baseObject # filter: (objectclass=*) # requesting: namingContexts # # dn: namingContexts: dc=my-domain,dc=com # search result search: 2 result: 0 Success # numResponses: 2 # numEntries: 1 Conteúdo Aplicativos Instalados: ldapadd, ldapcompare, ldapdelete, ldapexop, ldapmodify, ldapmodrdn, ldappasswd, ldapsearch, ldapurl, ldapvc, ldapwhoami, slapacl, slapadd, slapauth, slapcat, slapd, slapdn, slapindex, slapmodify, slappasswd, slapschema e slaptest Bibliotecas Instaladas: liblber.so, libldap.so e diversas sob "/usr/lib/openldap" Diretórios Instalados: /etc/openldap, /{usr,var}/lib/openldap e /usr/share/doc/openldap-2.6.6 Descrições Curtas ldapadd abre uma conexão com um servidor do "LDAP", vincula e adiciona entradas ldapcompare abre uma conexão com um servidor do "LDAP", vincula e realiza uma comparação usando parâmetros especificados ldapdelete abre uma conexão com um servidor do "LDAP", vincula e deleta uma ou mais entradas ldapexop emite a operação estendida do "LDAP" especificada por "oid" ou uma das palavras-chave especiais" whoami", "cancel" ou "refresh" ldapmodify abre uma conexão com um servidor do "LDAP", vincula e modifica entradas ldapmodrdn abre uma conexão com um servidor do "LDAP", vincula e modifica o "RDN" das entradas ldappasswd é uma ferramenta usada para configurar a senha de um(a) usuário(a) do "LDAP" ldapsearch abre uma conexão com um servidor do "LDAP", vincula e realiza uma pesquisa usando parâmetros especificados ldapurl é um comando que permite ou compor ou decompor "URIs" do "LDAP" ldapvc verifica credenciais de "LDAP" ldapwhoami abre uma conexão com um servidor do "LDAP", vincula e exibe informações "whoami" slapacl é usado para verificar o comportamento do "slapd" verificando o acesso aos dados do diretório de acordo com as diretivas da lista de controle de acesso definidas na configuração dele slapadd é usado para adicionar entradas especificadas no "LDAP Directory Interchange Format" ("LDIF") a uma base de dados do "LDAP" slapauth é usado para verificar o comportamento do "slapd" no mapeamento de identidades para fins de autenticação e autorização, conforme especificado no "slapd.conf" slapcat é usado para gerar uma saída "LDIF" do "LDAP" baseada no conteúdo de uma base de dados do "slapd" slapd é o servidor autônomo do "LDAP" slapdn verifica uma lista de "DNs" representados por sequências de caracteres baseadas na sintaxe do esquema slapindex é usado para regenerar índices do "slapd" baseados no conteúdo atual de uma base de dados slapmodify modifica entradas em uma base de dados do "slapd" slappasswd é um utilitário de senha "OpenLDAP" slapschema é usado para verificar a conformidade do esquema do conteúdo de uma base de dados do "slapd" slaptest verifica a sanidade do arquivo "slapd.conf" liblber.so é um conjunto de rotinas de Regras Leves de Codificação Básicas. Essas rotinas são usadas pelas rotinas da biblioteca do "LDAP" para codificar e decodificar elementos do protocolo "LDAP" usando as Regras Básicas de Codificação (ligeiramente simplificadas) definidas pelo "LDAP". Elas normalmente não são usadas diretamente por um programa aplicativo do "LDAP", exceto no manuseio de controles e operações estendidas libldap.so suporta os aplicativos do "LDAP" e fornece funcionalidade para outros aplicativos que interajam com o "LDAP" Unbound-1.17.1 Introdução ao Unbound "Unbound" é um resolvedor de "DNS" validador, recursivo e de cache. Ele foi projetado como um conjunto de componentes modulares que incorporam recursos modernos, como validação de segurança aprimorada ("DNSSEC"), protocolo de Internet versão 6 (IPv6) e uma "API" de biblioteca de resolvedor cliente como uma parte integral da arquitetura. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5690]https://nlnetlabs.nl/downloads/unbound/unbound-1.17.1.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: bb96df2dc579c11ada537dbc52781abc * Tamanho da transferência: 6,0 MB * Espaço em disco estimado exigido: 141 MB (com os documentos; adicionar 10 MB para os testes) * Tempo de construção estimado: 0,5 UPC (Usando paralelismo=4; com os documentos; adicionar 0,4 UPC para os testes) Dependências do "Unbound" Opcionais [5691]libevent-2.1.12, [5692]Nettle-3.9.1, [5693]Python-2.7.18, [5694]sphinx-7.1.2 (para a documentação das ligações "Python"), [5695]SWIG-4.1.1 (para as ligações "Python"), [5696]Doxygen-1.9.7 (para a documentação "HTML") e [5697]dnstap Instalação do Unbound Deveria existir um(a) usuário(a) e um grupo dedicado(a) para assumir o controle do processo de segundo plano do "unbound" depois de ele ser iniciado. Emita os seguintes comandos como o(a) usuário(a) "root": groupadd -g 88 unbound && useradd -c "Resolvedor DNS Unbound" -d /var/lib/unbound -u 88 \ -g unbound -s /bin/false unbound Instale o "Unbound" executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc \ --disable-static \ --with-pidfile=/run/unbound.pid && make Se você tiver o pacote "[5698]Doxygen-1.9.7" instalado e quiser construir a documentação "HTML", [então] execute o seguinte comando: make doc Para testar os resultados, emita: "make check". Agora, como o(a) usuário(a) "root": make install && mv -v /usr/sbin/unbound-host /usr/bin/ Se você construiu a documentação, [então] instale-a executando os seguintes comandos como o(a) usuário(a) "root": install -v -m755 -d /usr/share/doc/unbound-1.17.1 && install -v -m644 doc/html/* /usr/share/doc/unbound-1.17.1 Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --with-libevent: Essa opção habilita o suporte a "libevent", permitindo o uso de grandes intervalos de portas de saída. --with-pyunbound: Essa opção habilita a construção das ligações "Python". Configurando o Unbound Arquivos de Configuração /etc/unbound/unbound.conf Informação de Configuração Na configuração padrão, o "unbound" irá vincular-se ao dispositivo local (endereço "IP" 127.0.0.1) e permitirá consultas recursivas somente a partir de clientes do dispositivo local. Se você quiser usar o "unbound" para resolução de "DNS" local, [então] execute o seguinte comando como o(a) usuário(a) "root": echo "nameserver 127.0.0.1" > /etc/resolv.conf Para configuração avançada, veja-se o arquivo "/etc/unbound/unbound.conf" e a documentação. Quando o "Unbound" é instalado, algumas construções de pacotes falham se o arquivo "/etc/unbound/root.key" não for encontrado. Crie esse arquivo executando o seguinte comando como o(a) usuário(a) "root": unbound-anchor Unidade do systemd Se você quiser que o servidor "Unbound" inicie automaticamente quando o sistema for inicializado, [então] instale a unidade "unbound.service" inclusa no pacote "" "[5699]blfs-systemd-units-20230816": make install-unbound Conteúdo Aplicativos Instalados: unbound, unbound-anchor, unbound-checkconf, unbound-control, unbound-control-setup e unbound-host Biblioteca Instalada: libunbound.so e (opcional) /usr/lib/python2.7/site-packages/_unbound.so Diretórios Instalados: /etc/unbound e /usr/share/doc/unbound-1.17.1 (opcional) Descrições Curtas unbound é um processo de segundo plano de resolvedor "DNS" unbound-anchor executa a configuração ou atualização da âncora de confiança raiz para validação "DNSSEC" unbound-checkconf verifica o arquivo de configuração do "unbound" para sintaxe e outros erros unbound-control realiza administração remota no resolvedor "DNS" "unbound" unbound-control-setup gera um certificado autoassinado e chaves privadas para o servidor e cliente unbound-host é um utilitário de pesquisa "DNS" semelhante ao "host" originário do "[5700]Utilitários BIND-9.18.18" libunbound.so fornece as funções da "API" do "Unbound" para aplicativos Parte VI. Componentes Gráficos Capítulo 24. Ambientes Gráficos Este capítulo contém instruções para construir e configurar um ambiente gráfico de usuário(a). Por muito tempo o único ambiente gráfico usável com GNU/Linux foi o Sistemas de Janelas X. Ele usa um modelo cliente/servidor que permite escrever aplicações completamente independentes do hardware gráfico. Isso tem a desvantagem de que acessar a aceleração moderna de hardware é dificultoso, de forma que outra abordagem chamada Wayland está desenvolvida. Ele é um substituto mais simples para o X, mais fácil de desenvolver e manter, usando o estrutura OpenGL. Os principais ambientes de área de trabalho, GNOME e KDE, foram portados para ele. Este capítulo fornece os componentes básicos do "Sistema de Janelas X" e do "Wayland". Para o "X", a implementação escolhida foi o "Xorg", que é uma implementação modular e exige que mais que cem (100) pacotes sejam instalados. Para a distribuição do "Xorg" é dado um número de lançamento pelos(as) desenvolvedores(as), nesse caso "Xorg-7". Os pacotes individuais são atualizados conforme necessário, sem mudar esse número. Introdução ao Xorg-7 O "Xorg" é uma implementação de fonte aberto e redistribuível livremente do Sistema de Janelas "X". Esse sistema fornece uma interface cliente/servidor entre o hardware de exibição (mouse, teclado e monitores de vídeo) e o ambiente de área de trabalho, ao mesmo tempo que fornece a infraestrutura de janelas e uma interface padronizada de aplicativo ("API"). Observações de Editor(a): [5701]https://wiki.linuxfromscratch.org/blfs/wiki/Xorg7 Transferência do "Xorg" e Instruções de Instalação O "Xorg-7.0" introduziu um sistema de construção modular totalmente equipado com ferramentas automáticas. Com o novo sistema de construção modular, não mais é possível baixar o pacote inteiro em um arquivo. Na verdade, existirão bem mais que cem (100) pacotes que precisam ser obtidos a partir do local de transferência. Para ajudar com uma tarefa tão grande, instalar o "[5702]Wget-1.21.4" é fortemente recomendado para baixar os arquivos necessários. Uma lista completa de arquivos "wget" é fornecida para cada página que incluir vários pacotes. Dado o número de pacotes disponíveis, decidir quais pacotes você precisa instalar para a tua configuração específica possivelmente pareça um pouco complicado no início. Dê uma olhada [5703]nesta página e [5704]neste tópico para ter uma ideia do que você precisará. Se não tiver certeza, [então] você deveria instalar todos os pacotes ao custo de espaço extra em disco. Nota Mesmo se você pretende baixar somente os pacotes necessários, você deveria baixar as listas de arquivos "wget". A lista dos arquivos é ordenada por dependência e as versões dos pacotes listadas nos arquivos são conhecidas por funcionarem bem entre si. Além disso, as listas de arquivos "wget" contém comentários para pacotes específicos que estão obsoletos ou não são recomendados para instalação. Pacotes mais recentes provavelmente serão destinados para o próximo lançamento do "Xorg" e já provaram ser incompatíveis com as versões atuais do logiciário instalado no BLFS. O tamanho instalado do "Xorg" pode ser reduzido consideravelmente instalando-se somente os pacotes que você precisará e usará, no entanto, o livro BLFS não pode levar em conta todas as dependências e opções de construção para os pacotes individuais do "Xorg". As instruções assumem que todos os pacotes tenham sido construídos. Uma página [5705]wiki contendo informações de dependência está em desenvolvimento. Você é incentivado(a) a adicionar informações a essas páginas se descobrir informações adicionais que possivelmente sejam úteis para outros(as) usuários(as) que instalem pacotes individuais seletivamente. Além disso, devido ao grande número de comandos repetitivos, você é encorajado(a) a automatizar parcialmente a construção. Instruções foram fornecidas que utilizam o pacote "[5706]Sudo-1.9.14p3". É recomendado que você use a opção de configuração ":NOPASSWD" para o(a) usuário(a) que irá construir os pacotes do "Xorg". Configurando o Ambiente da Construção do Xorg Nota As instruções a seguir assumem que os arquivos de inicialização do "shell" tenham sido configurados conforme descrito em "[5707]Os Arquivos de Iniciação do Shell Bash". Conforme com lançamentos anteriores do "X Window System", possivelmente seja desejável instalar o "Xorg" em um prefixo alternativo. Essa não mais é uma prática comum entre as distribuições do Linux. O prefixo comum de instalação para o "Xorg" no Linux é "/usr". Não existe prefixo padrão alternativo, nem existe nenhuma exceção na revisão atual do Padrão de Hierarquia do Sistema de Arquivos para o Lançamento 7 do "X Window System". Alan Coopersmith, da Sun Microsystems, declarou certa vez: "Na Sun, estávamos usando "/usr/X11" e planejamos continuar com ele". Somente o prefixo "/opt/*" ou o prefixo "/usr" aderem às diretrizes atuais da "FHS". Os(As) editores(as) do BLFS recomendam usar o prefixo "/usr". Escolha o teu prefixo de instalação e configure a variável "XORG_PREFIX" com o seguinte comando: export XORG_PREFIX="" Ao longo destas instruções, você usará as seguintes chaves do "configure" para todos os pacotes. Crie a variável "XORG_CONFIG" para usar nessa substituição de parâmetro: export XORG_CONFIG="--prefix=$XORG_PREFIX --sysconfdir=/etc \ --localstatedir=/var --disable-static" Crie um arquivo de configuração "/etc/profile.d/xorg.sh" contendo essas variáveis como o(a) usuário(a) "root": cat > /etc/profile.d/xorg.sh << EOF XORG_PREFIX="$XORG_PREFIX" XORG_CONFIG="--prefix=\$XORG_PREFIX --sysconfdir=/etc --localstatedir=/var --dis able-static" export XORG_PREFIX XORG_CONFIG EOF chmod 644 /etc/profile.d/xorg.sh Nota Existe alguma confusão relativa ao documento 'here' acima. A barra invertida na frente do cifrão está correta. O "Bash" irá removê-la ao criar o "/etc/profile.d/xorg.sh". No entanto, se você estiver criando o arquivo com um editor, [então] uma operação de copiar e colar não removerá a barra invertida. Ela precisa então ser removida manualmente. Se você tiver instalado o "[5708]Sudo-1.9.14p3", [então] certifique-se de que "XORG_PREFIX" e "XORG_CONFIG" estejam disponíveis no ambiente do "sudo". Como o(a) usuário(a) "root", execute o seguinte comando: cat > /etc/sudoers.d/xorg << EOF Defaults env_keep += XORG_PREFIX Defaults env_keep += XORG_CONFIG EOF Se você não estiver usando o prefixo padrão do "Xorg"... Atenção Se tiver decidido usar o prefixo padrão "/usr", [então] você precisa omitir o restante desta página e continuar em "[5709]util-macros-1.20.0". Se você tiver decidido não usar o prefixo padrão, [então] certifique-se de adicionar "$XORG_PREFIX/bin" à tua variável de ambiente "PATH" e " $XORG_PREFIX/lib/pkgconfig" e " $XORG_PREFIX/share/pkgconfig" à tua variável "PKG_CONFIG_PATH". Também é útil especificar caminhos adicionais de pesquisa para o "gcc" e um diretório de inclusão para o aplicativo "aclocal". Emita os seguintes comandos como o(a) usuário(a) "root": cat >> /etc/profile.d/xorg.sh << "EOF" pathappend $XORG_PREFIX/bin PATH pathappend $XORG_PREFIX/lib/pkgconfig PKG_CONFIG_PATH pathappend $XORG_PREFIX/share/pkgconfig PKG_CONFIG_PATH pathappend $XORG_PREFIX/lib LIBRARY_PATH pathappend $XORG_PREFIX/include C_INCLUDE_PATH pathappend $XORG_PREFIX/include CPLUS_INCLUDE_PATH ACLOCAL="aclocal -I $XORG_PREFIX/share/aclocal" export PATH PKG_CONFIG_PATH ACLOCAL LIBRARY_PATH C_INCLUDE_PATH CPLUS_INCLUDE_PA TH EOF O conjunto de comandos sequenciais acima precisa ser ativado. Normalmente será automático ao "login", mas para ativá-lo agora, como um(a) usuário(a) normal, execute: source /etc/profile.d/xorg.sh Você também deveria adicionar "$XORG_PREFIX/lib" ao arquivo "/etc/ld.so.conf". Novamente, como o(a) usuário(a) "root", emita o seguinte comando: echo "$XORG_PREFIX/lib" >> /etc/ld.so.conf Você também deveria modificar o "/etc/man_db.conf", adicionando as entradas apropriadas "MANDATORY_MANPATH", "MANPATH_MAP" e "MANDB_MAP" seguindo os exemplos para o "/usr/X11R6". Emita o seguinte comando como o(a) usuário(a) "root": sed -e "s@X11R6/man@X11R6/share/man@g" \ -e "s@/usr/X11R6@$XORG_PREFIX@g" \ -i /etc/man_db.conf Alguns aplicativos procuram por arquivos compartilhados em "/usr/share/X11". Crie um link simbólico para o local apropriado como o(a) usuário(a) "root": ln -svf $XORG_PREFIX/share/X11 /usr/share/X11 Se construir o "KDE", [então] alguns arquivos do "cmake" procuram o "Xorg" em locais diferentes de "$XORG_PREFIX". Permita que o "cmake" encontre o "Xorg" com: ln -svf $XORG_PREFIX /usr/X11R6 util-macros-1.20.0 Introdução ao util-macros O pacote "util-macros" contém as macros do "m4" usadas por todos os pacotes do "Xorg". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5710]https://www.x.org/pub/individual/util/util-macros-1.20.0.tar. xz * Transferência (FTP): [5711]ftp://ftp.x.org/pub/individual/util/util-macros-1.20.0.tar.xz * Soma de verificação MD5 da transferência: 50135407d81e2c97c2879a2ba3bac688 * Tamanho da transferência: 84 KB * Espaço em disco estimado exigido: 520 KB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "util-macros" Exigidas [5712]Ambiente de construção do "Xorg" (deveria estar configurado para as seguintes instruções funcionarem) Instalação do util-macros Instale o "util-macros" executando os seguintes comandos: ./configure $XORG_CONFIG Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretório Instalado: $XORG_PREFIX/share/pkgconfig e $XORG_PREFIX/share/util-macros xorgproto-2023.2 Introdução ao xorgproto O pacote "xorgproto" fornece os arquivos de cabeçalho exigidos para construir o Sistema de Janelas "X" e para permitir que outros aplicativos construam contra o Sistema de Janelas "X" instalado. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5713]https://xorg.freedesktop.org/archive/individual/proto/xorgpro to-2023.2.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 2e266a49ce3f56669d014cf284901e6e * Tamanho da transferência: 741 KB * Espaço em disco estimado exigido: 10 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "xorgproto" Exigidas [5714]util-macros-1.20.0 Opcionais [5715]fop-2.9, [5716]libxslt-1.1.38, [5717]xmlto-0.0.28 e [5718]asciidoc-10.2.0 (para construir documentação adicional) Nota Existe uma dependência recíproca com o "[5719]fop-2.9". Se desejar construir a documentação, [então] você precisará reinstalar os Cabeçalhos de Protocolo depois da instalação estar completa e o "[5720]fop-2.9" ter sido instalado. Observações de Editor(a): [5721]https://wiki.linuxfromscratch.org/blfs/wiki/Xorg7ProtocolHeaders Instalação do xorgproto Instale o "xorgproto" executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=$XORG_PREFIX .. && ninja Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": ninja install && mv -v $XORG_PREFIX/share/doc/xorgproto{,-2023.2} Explicações do Comando -Dlegacy=true: Instala cabeçalhos legados necessários para aplicativos antigos (como o [5722]LessTif). Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: $XORG_PREFIX/include/GL, $XORG_PREFIX/include/X11 e $XORG_PREFIX/share/doc/xorgproto-2023.2 libXau-1.0.11 Introdução ao libXau O pacote "libXau" contém uma biblioteca que implementa o Protocolo de Autorização X11. Isso é útil para restringir o acesso do cliente ao monitor. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5723]https://www.x.org/pub/individual/lib/libXau-1.0.11.tar.xz * Transferência (FTP): [5724]ftp://ftp.x.org/pub/individual/lib/libXau-1.0.11.tar.xz * Soma de verificação MD5 da transferência: 7f14ba9c84a81a2b9dd023706febab38 * Tamanho da transferência: 268 KB * Espaço em disco estimado exigido: 2,8 MB (com o teste) * Tempo de construção estimado: menos que 0,1 UPC (com o teste) Dependências do "libXau" Exigidas [5725]xorgproto-2023.2 Instalação do libXau Instale o "libXau" executando os seguintes comandos: ./configure $XORG_CONFIG && make Para testar os resultados, emita: "make check". Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: libXau.so Diretórios Instalados: Nenhum(a) Descrições Curtas libXau.so é a biblioteca de rotinas da base de dados de autoridade do "X" libXdmcp-1.1.4 Introdução ao libXdmcp O pacote "libXdmcp" contém uma biblioteca que implementa o "X Display Manager Control Protocol". Isso é útil para permitir que os clientes interajam com o "X Display Manager". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5726]https://www.x.org/pub/individual/lib/libXdmcp-1.1.4.tar.xz * Transferência (FTP): [5727]ftp://ftp.x.org/pub/individual/lib/libXdmcp-1.1.4.tar.xz * Soma de verificação MD5 da transferência: 0b4056a282c1e14323d5daef8fb5345d * Tamanho da transferência: 288 KB * Espaço em disco estimado exigido: 3,1 MB (com o teste) * Tempo de construção estimado: menos que 0,1 UPC (com o teste) Dependências do "libXdmcp" Exigidas [5728]xorgproto-2023.2 Opcionais [5729]xmlto-0.0.28, [5730]fop-2.9, [5731]libxslt-1.1.38 e [5732]Xorg-SGML-doctools (para a documentação) Instalação do libXdmcp Instale o "libXdmcp" executando os seguintes comandos: ./configure $XORG_CONFIG --docdir=/usr/share/doc/libXdmcp-1.1.4 && make Para testar os resultados, emita: "make check". Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: libXdmcp.so Diretório Instalado: $XORG_PREFIX/share/doc/libXdmcp-1.1.4 Descrições Curtas libXdmcp.so é a biblioteca do Protocolo de Controle do Gerenciador de Monitor do "X" xcb-proto-1.16.0 Introdução ao xcb-proto O pacote "xcb-proto" fornece as descrições do protocolo "XML-XCB" que a "libxcb" usa para gerar a maior parte do código e "API" dela. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5733]https://xorg.freedesktop.org/archive/individual/proto/xcb-pro to-1.16.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 92081b0faafd93f8262463c69829a482 * Tamanho da transferência: 152 KB * Espaço em disco estimado exigido: 1,3 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "xcb-proto" Recomendadas [5734]Ambiente de construção do "Xorg" (necessário para as instruções abaixo) Opcionais [5735]libxml2-2.10.4 (exigido para executar os testes) Instalação do xcb-proto Instale o "xcb-proto" executando os seguintes comandos: PYTHON=python3 ./configure $XORG_CONFIG Para testar os resultados, emita: "make check". Agora, como o(a) usuário(a) "root": make install Se você estiver atualizando a partir da versão 1.15.1 ou inferior, [então] o arquivo antigo do "pkgconfig" precisará ser removido. Emita, como o(a) usuário(a) "root": rm -f $XORG_PREFIX/lib/pkgconfig/xcb-proto.pc Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretório Instalado: $XORG_PREFIX/share/xcb e $XORG_PREFIX/lib/python3.11/site-packages/xcbgen libxcb-1.16 Introdução ao libxcb O pacote "libxcb" fornece uma interface para o protocolo do Sistema de Janelas "X", que substitui a interface "Xlib" atual. "Xlib" também pode usar "XCB" como camada de transporte, permitindo que o logiciário faça solicitações e receba respostas com ambos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5736]https://xorg.freedesktop.org/archive/individual/lib/libxcb-1. 16.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: c769f93c254263077df62404661b710d * Tamanho da transferência: 444 KB * Espaço em disco estimado exigido: 27 MB (com os testes, adicionar 62 MB para os documentos do "doxygen") * Tempo de construção estimado: 0,2 UPC (com os testes, adicionar 1,4 UPC para os documentos do "doxygen") Dependências do "libxcb" Exigidas [5737]libXau-1.0.11 e [5738]xcb-proto-1.16.0 Recomendadas [5739]libXdmcp-1.1.4 Opcionais [5740]Doxygen-1.9.7 (para gerar a documentação da "API") e [5741]libxslt-1.1.38 Instalação do libxcb Instale o "libxcb" executando os seguintes comandos: ./configure $XORG_CONFIG \ --without-doxygen \ --docdir='${datadir}'/doc/libxcb-1.16 && make Para testar os resultados, emita: "make check". Agora, como o(a) usuário(a) "root": make install Se o pacote foi construído como um(a) usuário(a) não-root, a documentação instalada agora é titularizada por esse usuário(a). Como o(a) usuário(a) root, corrija a titularidade da propriedade: chown -Rv root:root $XORG_PREFIX/share/doc/libxcb-1.16 Explicações do Comando --without-doxygen: Não use "doxygen" para gerar documentação da "API" (padrão: automático). Sem ele, se o "[5742]Doxygen-1.9.7" estiver instalado, [então] a documentação da "API" será gerada e instalada. Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libxcb.so, libxcb-composite.so, libxcb-damage.so, libxcb-dpms.so, libxcb-dri2.so, libxcb-dri3.so, libxcb-glx.so, libxcb-present.so, libxcb-randr.so, libxcb-record.so, libxcb-render.so, libxcb-res.so, libxcb-screensaver.so, libxcb-shape.so, libxcb-shm.so, libxcb-sync.so, libxcb-xf86dri.so, libxcb-xfixes.so, libxcb-xinerama.so, libxcb-xinput.so, libxcb-xkb.so, libxcb-xtest.so, libxcb-xvmc.so e libxcb-xv.so Diretórios Instalados: $XORG_PREFIX/include/xcb e $XORG_PREFIX/share/doc/libxcb-1.16 Descrições Curtas libxcb.so é uma interface para o protocolo do Sistema de Janelas "X" Bibliotecas do Xorg Introdução às Bibliotecas do Xorg As bibliotecas do "Xorg" fornecem rotinas de biblioteca que são usadas em todos os aplicativos do Janelas "X". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5743]https://www.x.org/pub/individual/lib/ * Transferência (FTP): [5744]ftp://ftp.x.org/pub/individual/lib/ * Tamanho da transferência: 12 MB * Espaço em disco estimado exigido: 225 MB (34 MB instalado) - se os diretórios dos fontes não deletados * Tempo de construção estimado: 2,1 UPC Dependências das Bibliotecas do Xorg Exigidas [5745]Fontconfig-2.14.2 e [5746]libxcb-1.16 Opcionais [5747]asciidoc-10.2.0, [5748]xmlto-0.0.28 com um ou mais do seguinte: [5749]fop-2.9, [5750]Links-2.29, [5751]Lynx-2.8.9rel.1, [5752]ncompress (para alguns testes) e [5753]W3m (para gerar documentação adicional "PDF" ou texto para o pacote "libXfont"). Recomendadas em tempo de execução [5754]dbus-1.14.8 Transferindo as Bibliotecas do Xorg Primeiro, crie uma lista de arquivos a serem baixados. Este arquivo também será usado para verificar a integridade das transferências quando concluídas: cat > lib-7.md5 << "EOF" 12344cd74a1eb25436ca6e6a2cf93097 xtrans-1.5.0.tar.xz 91752155473ef72a8b34523a65967e4d libX11-1.8.6.tar.xz 964942427fcc5a9fa0539661421857c8 libXext-1.3.5.tar.xz 742863a552ecd53cdb957b7b276213cc libFS-1.0.9.tar.xz b444a0e4c2163d1bbc7b046c3653eb8d libICE-1.1.1.tar.xz ffa434ed96ccae45533b3d653300730e libSM-1.2.4.tar.xz e613751d38e13aa0d0fd8e0149cec057 libXScrnSaver-1.2.4.tar.xz 4ea21d3b5a36d93a2177d9abed2e54d4 libXt-1.3.0.tar.xz ed52d396115fbc4d05300762aab79685 libXmu-1.1.4.tar.xz 5073cf59174a2cadde220187759b2e7c libXpm-3.5.16.tar.xz 3f1e1052dbf3a2b8582ec24137e1fbd1 libXaw-1.0.15.tar.xz 65b9ba1e9ff3d16c4fa72915d4bb585a libXfixes-6.0.1.tar.xz af0a5f0abb5b55f8411cd738cf0e5259 libXcomposite-0.4.6.tar.xz ebf7fb3241ec03e8a3b2af72f03b4631 libXrender-0.9.11.tar.xz 4cdd1886fe5cce6f68554296edb46db8 libXcursor-1.2.1.tar.xz ca55d29fa0a8b5c4a89f609a7952ebf8 libXdamage-1.1.6.tar.xz 6d3f1b15bb5b0bb71ae9f0a5103c1fc4 libfontenc-1.1.7.tar.xz c179daa707f5f432f1bc13977e5bb329 libXfont2-2.0.6.tar.xz cea0a3304e47a841c90fbeeeb55329ee libXft-2.3.8.tar.xz 89ac74ad6829c08d5c8ae8f48d363b06 libXi-1.8.1.tar.xz 228c877558c265d2f63c56a03f7d3f21 libXinerama-1.1.5.tar.xz 850cbc7c921c9d5d0135734b114ff6ac libXrandr-1.5.3.tar.xz 66c9e9e01b0b53052bb1d02ebf8d7040 libXres-1.2.2.tar.xz 02f128fbf809aa9c50d6e54c8e57cb2e libXtst-1.2.4.tar.xz 70bfdd14ca1a563c218794413f0c1f42 libXv-1.0.12.tar.xz 11a358e7229fa28dc9801c1e64fe2e18 libXvMC-1.0.13.tar.xz 74d1acf93b83abeb0954824da0ec400b libXxf86dga-1.1.6.tar.xz 5b913dac587f2de17a02e17f9a44a75f libXxf86vm-1.1.5.tar.xz 1466cf950c914ad2db1dbb76c9a724db libpciaccess-0,17.tar.xz 8af2275955d40166bb647b14e4896ab1 libxkbfile-1.1.2.tar.xz faa74f7483074ce7d4349e6bdc237497 libxshmfence-1.3.2.tar.xz EOF Para baixar os arquivos necessários usando o [5755]Wget-1.21.4 use os seguintes comandos: mkdir lib && cd lib && grep -v '^#' ../lib-7.md5 | awk '{print $2}' | wget -i- -c \ -B https://www.x.org/pub/individual/lib/ && md5sum -c ../lib-7.md5 Instalação das Bibliotecas do Xorg Nota Ao instalar vários pacotes em um conjunto de comandos sequenciais, a instalação precisa ser feita como o(a) usuário(a) root. Existem três opções gerais que podem ser usadas para fazer isso: 1. Executar o conjunto inteiro de comandos sequenciais como o(a) usuário(a) root (não recomendado). 2. Usar o comando sudo originário do pacote [5756]Sudo-1.9.14p3. 3. Usar su -c "argumentos do comando" (aspas exigidas) que solicitará a senha do(a) root para cada iteração do loop. Uma maneira de lidar com essa situação é a de se criar uma função curta do bash que selecione automaticamente o método apropriado. Depois que o comando for configurado no ambiente, ele não precisará ser configurado novamente. as_root() { if [ $EUID = 0 ]; then $* elif [ -x /usr/bin/sudo ]; then sudo $* else su -c \\"$*\\" fi } export -f as_root Algumas bibliotecas vem com uma suíte de teste. Se desejar executá-las, [então] comente o "rm -rf ..." abaixo, para que, depois que todas as bibliotecas estiverem instaladas, você consiga voltar ao diretório correspondente e executar "make check ", ou fazer construções individuais, executando os testes para cada um daqueles distribuídos com suítes funcionais de teste. Alternativamente, você pode descomentar a linha "#make check ..." e, no final, verificar os resultados do teste com: grep -A9 summary *make_check.log Os(As) desenvolvedores(as) do BLFS confirmaram que "libX11", "libXt", "libXmu", "libXpm" e "libxshmfence" são distribuídos com suítes funcionais de testes. Primeiro, inicie um sub shell que sairá em caso de erro: bash -e Instale todos os pacotes executando os seguintes comandos: for package in $(grep -v '^#' ../lib-7.md5 | awk '{print $2}') do packagedir=${package%.tar.?z*} tar -xf $package pushd $packagedir docdir="--docdir=$XORG_PREFIX/share/doc/$packagedir" case $packagedir in libXfont2-[0-9]* ) ./configure $XORG_CONFIG $docdir --disable-devel-docs ;; libXt-[0-9]* ) ./configure $XORG_CONFIG $docdir \ --with-appdefaultdir=/etc/X11/app-defaults ;; libXpm-[0-9]* ) ./configure $XORG_CONFIG $docdir --disable-open-zfile ;; * ) ./configure $XORG_CONFIG $docdir ;; esac make #make check 2>&1 | tee ../$packagedir-make_check.log as_root make install popd rm -rf $packagedir as_root /sbin/ldconfig done Finalmente, saia do shell que foi iniciado anteriormente: exit Explicações do Comando --disable-open-zfile: Permitir que a "libXpm" construa sem o comando opcional "compress" presente. --disable-devel-docs: Desabilite a geração de documentação de texto no pacote "libXfont2", se o "[5757]xmlto-0.0.28" estiver instalado, sem um navegador de texto. Omita esse parâmetro (ou toda a instrução "case") se um navegador de texto estiver instalado. --with-fop: Use o "[5758]fop-2.9" para gerar documentação em "PDF" (somente para o pacote "libXfont"). Configuração das Bibliotecas do Xorg Se tiver escolhido instalar o "Xorg" em "/usr", então nenhuma configuração adicional será necessária e você poderá ignorar o restante desta seção. Se tiver optado por um prefixo alternativo, [então] você deveria criar dois links simbólicos para satisfazer o ambiente esperado de vários pacotes. Execute os seguintes comandos como o(a) usuário(a) "root": ln -sv $XORG_PREFIX/lib/X11 /usr/lib/X11 && ln -sv $XORG_PREFIX/include/X11 /usr/include/X11 Conteúdo Aplicativos Instalados: cxpm e sxpm Bibliotecas Instaladas: libfontenc.so, libFS.so, libICE.so, libpciaccess.so, libSM.so, libX11.so, libX11-xcb, libXaw6.so, libXaw7.so, libXaw.so, libXcomposite.so, libXcursor.so, libXdamage.so, libXext.so, libXfixes.so, libXfont2.so, libXft.so, libXinerama.so, libXi.so, libxkbfile.so, libXmu.so, libXmuu.so, libXpm.so, libXrandr.so, libXrender.so, libXRes.so, libxshmfence.so, libXss.so, libXt.so, libXtst.so, libXvMC.so, libXvMCW.so, libXv.so, libXxf86dga.so e libXxf86vm.so Diretórios Instalados: $XORG_PREFIX/include/X11/fonts, $XORG_PREFIX/include/X11/ICE, $XORG_PREFIX/include/X11/SM, $XORG_PREFIX/include/X11/Xmu, $XORG_PREFIX/include/X11/Xtrans, $XORG_PREFIX/share/doc/libFS, $XORG_PREFIX/share/doc/libICE-1.1.1, $XORG_PREFIX/share/doc/libSM-1.2.4, $XORG_PREFIX/share/doc/libX11-1.8.6, $XORG_PREFIX/share/doc/libXaw, $XORG_PREFIX/share/doc/libXext, $XORG_PREFIX/share/doc/libXi, $XORG_PREFIX/share/doc/libXmu-1.1.4, $XORG_PREFIX/share/doc/libXrender, $XORG_PREFIX/share/doc/libXt, $XORG_PREFIX/share/doc/libXtst, $XORG_PREFIX/share/doc/libXvMC, $XORG_PREFIX/share/doc/xtrans e $XORG_PREFIX/share/X11/locale Descrições Curtas cxpm verifica o formato de um arquivo "XPM" sxpm mostra um arquivo "XPM" e(ou) converte arquivos "XPM" 1 ou 2 em "XPM" 3 libfontenc.so é a biblioteca de codificação de fontes "X11" libFS.so é a interface da biblioteca para o Servidor de Fontes do "X" libICE.so é a Biblioteca de Intercâmbio "Inter Client" do "X" libpciaccess.so é a biblioteca genérica Acesso "PCI" para o "X" libSM.so é a Biblioteca de Gerenciamento de Sessões do "X" libX11.so é a biblioteca "Xlib" libXaw6.so é a Biblioteca de Pequenas Engenhocas "Athena" do "X", versão 6 libXaw7.so é a Biblioteca de Pequenas Engenhocas "Athena" do "X", versão 7 libXaw.so são links simbólicos para a atual Biblioteca de Pequenas Engenhocas "Athena" do "X", versão 7 libXcomposite.so é a Biblioteca Composta do "X" libXcursor.so é a biblioteca de gerenciamento de Cursor do "X" libXdamage.so é a Biblioteca Danos do "X" libXext.so é a Biblioteca de Extensão Misc do "X" libXfixes.so fornece versões aumentadas de solicitações de protocolo principais libXfont2.so é a biblioteca de fontes do "X" libXft.so é a biblioteca de interface "FreeType" do "X" libXinerama.so é a Biblioteca "Xinerama" libXi.so é a Biblioteca de Extensão de Entrada do "X" libxkbfile.so é a Biblioteca "xkbfile" libXmu.so é a biblioteca de interface do "X" para utilitários diversos não partes do padrão "Xlib" libXmuu.so é a Biblioteca "Mini Xmu" libXpm.so é a Biblioteca "Pixmap" do "X" libXrandr.so é a biblioteca de extensões "Resize", "Rotate" e "Reflection" do "X" libXrender.so é a Biblioteca de Renderização do "X" libXRes.so é a biblioteca cliente de extensão "X-Resource" libxshmfence.so expõe uma "API" de eventos no topo de "futexes" do Linux libXss.so é a biblioteca cliente da extensão Protetor de Tela "X11" libXt.so é a Biblioteca Kit de Ferramentas do "X" libXtst.so é a Biblioteca "Xtst" libXvMC.so é a Biblioteca de Compensação de Movimento de Vídeo do "X" libXvMCW.so é o Envólucro "XvMC" incluindo a extensão "VLD" não padrão libXv.so é a biblioteca de extensão de vídeo do Sistema de Janelas "X" libXxf86dga.so é a biblioteca cliente para a extensão "DGA" do "XFree86" libXxf86vm.so é a biblioteca cliente para a extensão "VidMode" do "XFree86" do "X" libxcvt-0.1.2 Introdução ao libxcvt "libxcvt" é uma biblioteca que fornece uma versão autônoma da implementação do servidor "X" do gerador de modelos de temporização padrão "VESA" "CVT". Ela pretende ser uma substituição direta da versão anteriormente fornecida pelo servidor "Xorg". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5759]https://www.x.org/pub/individual/lib/libxcvt-0.1.2.tar.xz * Transferência (FTP): [5760]ftp://ftp.x.org/pub/individual/lib/libxcvt-0.1.2.tar.xz * Soma de verificação MD5 da transferência: b553fdb6024c5a137ff925bf4c337724 * Tamanho da transferência: 12 KB * Espaço em disco estimado exigido: 476 KB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "libxcvt" Exigidas [5761]Ambiente de construção do "Xorg" (deveria estar configurado para as seguintes instruções funcionarem) Instalação do libxcvt Instale o "libxcvt" executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=$XORG_PREFIX --buildtype=release .. && ninja Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. Conteúdo Aplicativo Instalado: cvt Biblioteca Instalada: libxcvt.so Diretório Instalado: $XORG_PREFIX/include/libxcvt Descrições Curtas cvt calcula modelos de Temporização de Vídeo Coordenado "VESA" ("CVT") para uso com o "X" libxcvt.so contém funções para calcular "VESA" "CVT" xcb-util-0.4.1 Introdução ao xcb-util O pacote "xcb-util" fornece extensões adicionais para a biblioteca "XCB", muitas das quais eram encontradas anteriormente no "Xlib", mas não são parte do protocolo principal do "X". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5762]https://xcb.freedesktop.org/dist/xcb-util-0.4.1.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 34d749eab0fd0ffd519ac64798d79847 * Tamanho da transferência: 261 KB * Espaço em disco estimado exigido: 2,6 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "xcb-util" Exigidas [5763]libxcb-1.16 Opcionais [5764]Doxygen-1.9.7 (para documentação) Instalação do xcb-util Instale o "xcb-util" executando os seguintes comandos: ./configure $XORG_CONFIG && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: libxcb-util.so Diretórios Instalados: Nenhum(a) Descrições Curtas libxcb-util.so Fornece funções utilitárias para outros utilitários do "XCB" xcb-util-image-0.4.1 Introdução ao xcb-util-image O pacote "xcb-util-image" fornece extensões adicionais para a biblioteca "XCB". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5765]https://xcb.freedesktop.org/dist/xcb-util-image-0.4.1.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: a67bfac2eff696170259ef1f5ce1b611 * Tamanho da transferência: 284 KB * Espaço em disco estimado exigido: 2,9 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "xcb-util-image" Exigidas [5766]xcb-util-0.4.1 Opcionais [5767]Doxygen-1.9.7 (para documentação) Instalação do xcb-util-image Instale o "xcb-util-image" executando os seguintes comandos: ./configure $XORG_CONFIG && make Para testar os resultados, emita: "LD_LIBRARY_PATH=$XORG_PREFIX/lib make check". Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: libxcb-image.so Diretórios Instalados: Nenhum(a) Descrições Curtas libxcb-image.so É uma portagem das funções "XImage" e "XShmImage" do "Xlib" xcb-util-keysyms-0.4.1 Introdução ao xcb-util-keysyms O pacote "xcb-util-keysyms" contém uma biblioteca para lidar com constantes padrões de teclas do X e conversão de/para códigos de teclas. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5768]https://xcb.freedesktop.org/dist/xcb-util-keysyms-0.4.1.tar.x z * Transferência (FTP): * Soma de verificação MD5 da transferência: fbdc05f86f72f287ed71b162f1a9725a * Tamanho da transferência: 256 KB * Espaço em disco estimado exigido: 2,3 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "xcb-util-keysyms" Exigidas [5769]libxcb-1.16 Opcionais [5770]Doxygen-1.9.7 (para gerar documentação) Instalação do xcb-util-keysyms Instale o "xcb-util-keysyms" executando os seguintes comandos: ./configure $XORG_CONFIG && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: libxcb-keysyms.so Diretórios Instalados: Nenhum(a) Descrições Curtas libxcb-keysyms.so fornece as constantes padrões de teclas do "X" e funções de "API" para conversão de/para códigos de teclas xcb-util-renderutil-0.3.10 Introdução ao xcb-util-renderutil O pacote "xcb-util-renderutil" fornece extensões adicionais para a biblioteca "XCB". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5771]https://xcb.freedesktop.org/dist/xcb-util-renderutil-0.3.10.t ar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 193b890e2a89a53c31e2ece3afcbd55f * Tamanho da transferência: 256 KB * Espaço em disco estimado exigido: 2,4 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "xcb-util-renderutil" Exigidas [5772]libxcb-1.16 Opcionais [5773]Doxygen-1.9.7 (para documentação) Instalação do xcb-util-renderutil Instale o "xcb-util-renderutil" executando os seguintes comandos: ./configure $XORG_CONFIG && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: libxcb-render-util.so Diretórios Instalados: Nenhum(a) Descrições Curtas libxcb-render-util.so Fornece funções convenientes para a extensão "Render" xcb-util-wm-0.4.2 Introdução ao xcb-util-wm O pacote "xcb-util-wm" contém bibliotecas que fornecem auxiliares de cliente e gerenciador de janelas para "EWMH" e "ICCCM". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5774]https://xcb.freedesktop.org/dist/xcb-util-wm-0.4.2.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 581b3a092e3c0c1b4de6416d90b969c3 * Tamanho da transferência: 280 KB * Espaço em disco estimado exigido: 3,2 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "xcb-util-wm" Exigidas [5775]libxcb-1.16 Opcionais [5776]Doxygen-1.9.7 (para documentação) Instalação do xcb-util-wm Instale o "xcb-util-wm" executando os seguintes comandos: ./configure $XORG_CONFIG && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libxcb-ewmh.so e libxcb-icccm.so Diretórios Instalados: Nenhum(a) Descrições Curtas libxcb-ewmh.so fornece o cliente e ajudantes de gerenciador de janelas para "EWMH" libxcb-icccm.so fornece o cliente e auxiliares do gerenciador de janelas para "ICCCM" xcb-util-cursor-0.1.4 Introdução ao xcb-util-cursor O pacote "xcb-util-cursor" fornece um módulo que implementa a biblioteca de cursores "XCB". Ela é a substituta do "XCB" para a "libXcursor". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5777]https://xcb.freedesktop.org/dist/xcb-util-cursor-0.1.4.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 0d244518ad54b886413fe782235d6210 * Tamanho da transferência: 260 KB * Espaço em disco estimado exigido: 2,5 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "xcb-util-cursor" Exigidas [5778]xcb-util-image-0.4.1 e [5779]xcb-util-renderutil-0.3.10 Opcionais [5780]Doxygen-1.9.7 (para documentação) Instalação do xcb-util-cursor Instale o "xcb-util-cursor" executando os seguintes comandos: ./configure $XORG_CONFIG && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: libxcb-cursor.so Diretórios Instalados: Nenhum(a) Descrições Curtas libxcb-cursor.so É uma portagem das funções "libXcursor" do "Xlib" Mesa-23.1.6 Introdução ao Mesa "Mesa" é uma biblioteca gráfica "3D" compatível com "OpenGL". Nota "Mesa" é atualizada relativamente muitas vezes. Você possivelmente queira usar a versão 23.1.x do "Mesa" mais recente disponível. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5781]https://mesa.freedesktop.org/archive/mesa-23.1.6.tar.xz * Transferência (FTP): [5782]ftp://ftp.freedesktop.org/pub/mesa/mesa-23.1.6.tar.xz * Soma de verificação MD5 da transferência: 5dd176e3f283143cc193b5a8264a206e * Tamanho da transferência: 18 MB * Espaço em disco estimado exigido: 462 MB (com os documentos; adicionar 221 MB para os testes) * Tempo de construção estimado: 2,6 UPC (com documentos; adicionar 0,6 UPC para testes; ambos com paralelismo=4) Transferências Adicionais * Remendo recomendado: [5783]https://www.linuxfromscratch.org/patches/blfs/12.0/mesa-add_x demos-2.patch (instala dois aplicativos de demonstração para testagem do Mesa - não necessário se você instalar o pacote [5784]mesa-demos) Dependências do Mesa Exigidas [5785]Bibliotecas do Xorg, [5786]libdrm-2.4.115 e [5787]Mako-1.2.4 Recomendadas [5788]libva-2.19.0 (para fornecer suporte "VA-API" para alguns controladores "gallium"; observe que existe uma dependência circular. Você precisa construir a "libva" primeiro sem suporte "EGL" e "GLX", instalar esse pacote, e reconstruir a "libva"), [5789]libvdpau-1.5 (para construir os controladores "VDPAU"), [5790]LLVM-16.0.5 (exigido para os controladores "Gallium3D", "nouveau" e "radeonsi"; e para o "swrast", o rasterizador de logiciário que às vezes é chamado de "llvmpipe". Veja-se [5791]https://docs.mesa3d.org/systems.html para mais informações) e [5792]wayland-protocols-1.32 (exigido para o "[5793]Plasma-5.27.7", "GNOME", e recomendado para o "[5794]GTK+-3.24.38") Opcionais [5795]libgcrypt-1.10.2, [5796]libunwind-1.6.2, [5797]lm-sensors-3-6-0 , [5798]Nettle-3.9.1, [5799]Valgrind-3.21.0, [5800]mesa-demos (fornece mais que trezentos (300) demonstrativos extra para testar Mesa; isso inclui os mesmos aplicativos adicionados pelo remendo acima), [5801]Camada de Integração Bellagio OpenMAX (para plataformas móveis), [5802]glslang (para os controladores "vulkan"), [5803]libtizonia e [5804]Vulkan-Loader Configuração do Núcleo Habilite as seguintes opções na configuração do núcleo e recompile o núcleo se necessário: Device Drivers ---> Graphics support ---> <*/M> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) ---> ... [DRM] # For r300 or r600: < /*/M> ATI Radeon [DRM_RADEON] # For radeonsi: < /*/M> AMD GPU [DRM_AMDGPU] [*] Enable amdgpu support for SI parts [DRM_AMDGPU_SI] [*] Enable amdgpu support for CIK parts [DRM_AMDGPU_CIK] Display Engine Configuration ---> [*] AMD DC - Enable new display engine [DRM_AMD_DC] # For nouveau: < /*/M> Nouveau (NVIDIA) cards [DRM_NOUVEAU] # For i915, crocus, or iris: < /*/M> Intel 8xx/9xx/G3x/G4x/HD Graphics [DRM_I915] # For swrast: < /*/M> Virtual GEM provider [DRM_VGEM] # For svga: < /*/M> DRM driver for VMware Virtual GPU [DRM_VMWGFX] Nota O correspondente nome do controlador Gallium3D do Mesa é fornecido como comentário para as entradas de configuração. Se você não sabe o nome do controlador Gallium3D do Mesa para tua GPU, veja [5805]Mesa Gallium3D Drivers abaixo. CONFIG_DRM_RADEON, CONFIG_DRM_AMDGPU, CONFIG_DRM_NOUVEAU e CONFIG_DRM_I915 possivelmente exijam firmware. Veja-se [5806]Acerca de Firmware para detalhes. Selecionar CONFIG_DRM_RADEON ou CONFIG_DRM_AMDGPU como “y” não é recomendado. Se for, qualquer firmware exigido precisa ser construído como parte da imagem do núcleo ou do initramfs para o controlador funcionar corretamente. As subentradas sob CONFIG_DRM_AMDGPU são usadas para garantir que o controlador de núcleo AMDGPU suporte todas as GPUs usando o controlador radeonsi. Elas não são necessárias se você não precisasse da própria CONFIG_DRM_AMDGPU. Elas possivelmente sejam desnecessárias para alguns modelos de GPU. Para swrast, CONFIG_DRM_VGEM não é estritamente necessária, mas recomendada como uma otimização. Instalação do Mesa Se você baixou o remendo "xdemos" (necessário se testar a instalação do "Xorg" de acordo com as instruções do BLFS), [então] aplique-o executando o seguinte comando: patch -Np1 -i ../mesa-add_xdemos-2.patch Instale o Mesa executando os seguintes comandos: mkdir build && cd build && meson setup \ --prefix=$XORG_PREFIX \ --buildtype=release \ -Dplatforms=x11,wayland \ -Dgallium-drivers=auto \ -Dvulkan-drivers="" \ -Dvalgrind=disabled \ -Dlibunwind=disabled \ .. && ninja Para testar os resultados, emita: meson configure -Dbuild-tests=true && ninja test. Três testes relacionados a mesa:intel são conhecidos por falharem. Agora, como o(a) usuário(a) "root": ninja install Se desejado, [então] instale a documentação opcional executando os seguintes comandos como o(a) usuário(a) "root": install -v -dm755 /usr/share/doc/mesa-23.1.6 && cp -rfv ../docs/* /usr/share/doc/mesa-23.1.6 Explicações do Comando --buildtype=release: Essa chave garante uma construção totalmente otimizada e desabilita asserções de depuração que desacelerarão severamente as bibliotecas em certos casos de uso. Sem essa chave, os tamanhos de construção podem atingir a faixa de 2 GB. -Dgallium-drivers=auto: Esse parâmetro controla quais controladores Gallium3D deveriam ser construídos. auto seleciona todos os controladores Gallium3D disponíveis para x86: r300 (para Radeon 9000 ou série Radeon X da ATI), r600 (para série Radeon HD 2000-6000 da AMD/ATI), radeonsi (para Radeon HD 7000 da AMD ou modelos de GPU mais recentes da AMD), nouveau (para GPUs Suportadas da NVIDIA, elas estão listadas como todos os “recursos de 3D” tanto “DONE” quanto “N/A” na [5807]página de situação da Nouveau), virgl (para GPU virtual do QEMU com suporte virglrender; observe que o BLFS [5808]qemu-8.1.0 não é construído com o virglrender), svga (para GPU virtual do VMWare), swrast (usando CPU para rasterização de 3D; observe que isso é muito mais lento que usar uma GPU moderna com recursos de 3D, de forma que deveria ser usado somente se a GPU não for suportada por outros controladores), iris (para GPUs Intel fornecidas com Broadwell ou CPUs mais recentes), crocus (para GPUs GMA 3000, série X3000, série 4000 ou série X4000 da Intel fornecidas com chipsets ou GPUs Intel HD fornecidas com CPUs pré-Broadwell), i915 (para GPUs GMA 900, 950, 3100 ou 3150 da Intel fornecidas com chipsets ou CPUs Atom D/N 4xx/5xx). Você pode substituir auto por uma lista separada por vírgulas, para construir somente um subconjunto desses controladores, se souber precisamente quais controladores precisa, por exemplo -Dgallium-drivers=radeonsi,iris,swrast. -Dplatforms="...": Esse parâmetro controla quais sistemas de janelas serão suportados. As plataformas Linux disponíveis são "x11" e "wayland". -Dvulkan-drivers="": Essa chave permite escolher quais controladores Vulkan serão construídos. O padrão é auto, mas isso exige as dependências opcionais glslang e Vulkan-Loader. Vulkan é uma API mais recente projetada para utilizar as GPUs com um desempenho melhor que OpenGL, mas nada no BLFS se beneficia disso por enquanto. Portanto, nós passamos uma lista vazia para a finalidade de remover a necessidade dessas dependências. -Dvalgrind=disabled: Esse parâmetro desabilita o uso do "Valgrind" durante o processo de construção. Remova esse parâmetro se você tiver o "Valgrind" instalado e desejar verificar vazamentos de memória. -Dlibunwind=disabled: Esse parâmetro desabilita o uso da "libunwind". meson configure -Dbuild-tests=true: Esse comando reconfigurará a construção para configurar "-Dbuild-tests=true", mas manterá as outras opções especificadas no comando "meson setup" sem mudanças. Ele permite que o "ninja test" construa e execute testes unitários. -Degl-native-platform="...": Esse parâmetro controla qual suporte da Biblioteca de Gráficos Incorporados será construído. As opções de Linux disponíveis são "auto" (padrão), "x11", "wayland", "surfaceless" e "drm". Conteúdo Aplicativos Instalados: glxgears e glxinfo Bibliotecas Instaladas: libEGL.so, libGL.so, libGLESv1_CM.so, libGLESv2.so, libgbm.so, libglapi.so e libxatracker.so Controladores Instalados: crocus_dri.so, i915_dri.so, iris_dri.so, kms_swrast_dri.so, nouveau_dri.so, nouveau_drv_video.so, r300_dri.so, r600_dri.so, r600_drv_video.so, radeonsi_dri.so, radeonsi_drv_video.so, swrast_dri.so, virtio_gpu_dri.so, virtio_gpu_drv_video.so, vmwgfx_dri.so, libvdpau_nouveau.so, libvdpau_r300.so libvdpau_r600.so e libvdpau_radeonsi.so libvdpau_virtio_gpu.so (Muitos desses controladores são rigidamente lincados). Diretórios Instalados: $XORG_PREFIX/{include/{EGL,GLES,GLES2,GLES3,KHR}, $XORG_PREFIX/lib/{dri,vdpau}}, $XORG_PREFIX/share/drirc.d (contém soluções alternativas para vários aplicativos, principalmente navegadores e jogos) e /usr/share/doc/mesa-23.1.6 Descrições Curtas glxgears é uma demonstração "GL" útil para solucionar problemas gráficos glxinfo é um aplicativo de diagnóstico que exibe informações relativas ao hardware gráfico e bibliotecas "GL" instaladas libEGL.so fornece uma interface gráfica de plataforma nativa conforme definido pela especificação "EGL-1.4" libgbm.so é a biblioteca "Graphics Buffer Manager" do "Mesa" libGLESv1_CM.so é a biblioteca "OpenGL ES 1.1" do "Mesa" libGLES2.so é a biblioteca "OpenGL ES 2.0" do "Mesa" libGL.so é a principal biblioteca "OpenGL" do "Mesa" xbitmaps-1.1.3 Introdução ao xbitmaps O pacote "xbitmaps" contém imagens de mapa de bit usadas por vários aplicativos construídos no capítulo do "Xorg". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5809]https://www.x.org/pub/individual/data/xbitmaps-1.1.3.tar.xz * Transferência (FTP): [5810]ftp://ftp.x.org/pub/individual/data/xbitmaps-1.1.3.tar.xz * Soma de verificação MD5 da transferência: 2b03f89d78fb91671370e77d7ad46907 * Tamanho da transferência: 108 KB * Espaço em disco estimado exigido: 1,6 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "xbitmaps" Exigidas [5811]util-macros-1.20.0 Instalação do xbitmaps Instale o "xbitmaps" executando os seguintes comandos: ./configure $XORG_CONFIG Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretório Instalado: $XORG_PREFIX/include/X11/bitmaps Aplicativos do Xorg Introdução aos Aplicativos do Xorg Os aplicativos do "Xorg" fornecem os aplicativos esperados disponíveis em implementações anteriores do Janelas "X". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5812]https://www.x.org/pub/individual/app/ * Transferência (FTP): [5813]ftp://ftp.x.org/pub/individual/app/ * Tamanho da transferência: 4,9 MB * Espaço em disco estimado exigido: 48 MB * Tempo de construção estimado: 1,5 UPC (ignorando o tempo para transferir) Dependências dos Aplicativos do "Xorg" Exigidas [5814]libpng-1.6.40, [5815]Mesa-23.1.6, [5816]xbitmaps-1.1.3 e [5817]xcb-util-0.4.1 Opcionais [5818]Linux-PAM-1.5.3 e ambos [5819]cairo-5c e [5820]Nickle (somente se você desejar tentar executar o não documentado conjunto de comandos sequenciais xkeyhost). Transferindo os Aplicativos do Xorg Primeiro, crie uma lista de arquivos a serem transferidos. Esse arquivo também será usado para verificar a integridade das transferências quando concluídas: cat > app-7.md5 << "EOF" 5d3feaa898875484b6b340b3888d49d8 iceauth-1.0.9.tar.xz c4a3664e08e5a47c120ff9263ee2f20c luit-1.1.1.tar.bz2 fd2e6e5a297ac2bf3d7d54799bf69de0 mkfontscale-1.2.2.tar.xz 05423bb42a006a6eb2c36ba10393de23 sessreg-1.1.3.tar.xz 1d61c9f4a3d1486eff575bf233e5776c setxkbmap-1.3.4.tar.xz 9f7a4305f0e79d5a46c3c7d02df9437d smproxy-1.0.7.tar.xz e96b56756990c56c24d2d02c2964456b x11perf-1.6.1.tar.bz2 dbcf944eb59343b84799b2cc70aace16 xauth-1.1.2.tar.xz #5b6405973db69c0443be2fba8e1a8ab7 xbacklight-1.2.3.tar.bz2 82a90e2feaeab5c5e7610420930cc0f4 xcmsdb-1.0.6.tar.xz 89e81a1c31e4a1fbd0e431425cd733d7 xcursorgen-1.0.8.tar.xz 933e6d65f96c890f8e96a9f21094f0de xdpyinfo-1.3.4.tar.xz 34aff1f93fa54d6a64cbe4fee079e077 xdriinfo-1.0.7.tar.xz 61219e492511b3d78375da76defbdc97 xev-1.2.5.tar.xz 41afaa5a68cdd0de7e7ece4805a37f11 xgamma-1.0.7.tar.xz 48ac13856838d34f2e7fca8cdc1f1699 xhost-1.0.9.tar.xz 8e4d14823b7cbefe1581c398c6ab0035 xinput-1.6.4.tar.xz a11d4d6eeda762f13818684c0670f89f xkbcomp-1.4.6.tar.xz 05ce1abd8533a400572784b1186a44d0 xkbevd-1.1.5.tar.xz cf65ca1aaf4c28772ca7993cfd122563 xkbutils-1.0.5.tar.xz f62b99839249ce9a7a8bb71a5bab6f9d xkill-1.0.6.tar.xz da5b7a39702841281e1d86b7349a03ba xlsatoms-1.1.4.tar.xz ab4b3c47e848ba8c3e47c021230ab23a xlsclients-1.1.5.tar.xz f33841b022db1648c891fdc094014aee xmessage-1.0.6.tar.xz 0d66e07595ea083871048c4b805d8b13 xmodmap-1.0.11.tar.xz 9cf272cba661f7acc35015f2be8077db xpr-1.1.0.tar.xz 33c090d8632a300e63efbf36edd6a333 xprop-1.2.6.tar.xz f822a8d5f233e609d27cc22d42a177cb xrandr-1.5.2.tar.xz c8629d5a0bc878d10ac49e1b290bf453 xrdb-1.2.2.tar.xz 33b04489e417d73c90295bd2a0781cbb xrefresh-1.0.7.tar.xz 18ff5cdff59015722431d568a5c0bad2 xset-1.2.5.tar.xz fa9a24fe5b1725c52a4566a62dd0a50d xsetroot-1.1.3.tar.xz d698862e9cad153c5fefca6eee964685 xvinfo-1.1.5.tar.xz b0081fb92ae56510958024242ed1bc23 xwd-1.0.9.tar.xz c91201bc1eb5e7b38933be8d0f7f16a8 xwininfo-1.1.6.tar.xz 5ff5dc120e8e927dc3c331c7fee33fc3 xwud-1.0.6.tar.xz EOF Para baixar os arquivos necessários usando o [5821]Wget-1.21.4, use os seguintes comandos: mkdir app && cd app && grep -v '^#' ../app-7.md5 | awk '{print $2}' | wget -i- -c \ -B https://www.x.org/pub/individual/app/ && md5sum -c ../app-7.md5 Instalação dos Aplicativos do Xorg Nota Ao instalar vários pacotes em um conjunto de comandos sequenciais, a instalação precisa ser feita como o(a) usuário(a) root. Existem três opções gerais que podem ser usadas para fazer isso: 1. Executar o conjunto inteiro de comandos sequenciais como o(a) usuário(a) root (não recomendado). 2. Usar o comando sudo originário do pacote [5822]Sudo-1.9.14p3. 3. Usar su -c "argumentos do comando" (aspas exigidas) que solicitará a senha do(a) root para cada iteração do loop. Uma maneira de lidar com essa situação é a de se criar uma função curta do bash que selecione automaticamente o método apropriado. Depois que o comando for configurado no ambiente, ele não precisará ser configurado novamente. as_root() { if [ $EUID = 0 ]; then $* elif [ -x /usr/bin/sudo ]; then sudo $* else su -c \\"$*\\" fi } export -f as_root Primeiro, inicie um sub "shell" que sairá em caso de erro: bash -e Instale todos os pacotes executando os seguintes comandos: for package in $(grep -v '^#' ../app-7.md5 | awk '{print $2}') do packagedir=${package%.tar.?z*} tar -xf $package pushd $packagedir case $packagedir in luit-[0-9]* ) sed -i -e "/D_XOPEN/s/5/6/" configure ;; esac ./configure $XORG_CONFIG make as_root make install popd rm -rf $packagedir done Finalmente, saia do "shell" que foi iniciado anteriormente: exit A menos que você tenha instalado as dependências opcionais, remova um conjunto de comandos sequenciais não documentado que é informado que está quebrado ("xkeystone" fornecido pelo pacote "xrandr"). as_root rm -f $XORG_PREFIX/bin/xkeystone Conteúdo Aplicativos Instalados: iceauth, luit, mkfontdir, mkfontscale, sessreg, setxkbmap, smproxy, x11perf, x11perfcomp, xauth, xbacklight, xcmsdb, xcursorgen, xdpr, xdpyinfo, xdriinfo, xev, xgamma, xhost, xinput, xkbbell, xkbcomp, xkbevd, xkbvleds, xkbwatch, xkill, xlsatoms, xlsclients, xmessage, xmodmap, xpr, xprop, xrandr, xrdb, xrefresh, xset, xsetroot, xvinfo, xwd, xwininfo e xwud Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas iceauth é o utilitário "ICE" de arquivo de autoridade luit fornece suporte local e "ISO 2022" para terminais "Unicode" mkfontdir cria um índice de arquivos de fontes do "X" em um diretório mkfontscale cria um índice de arquivos de fontes escaláveis para o "X" sessreg gerencia entradas "utmp"/"wtmp" para clientes não "init" setxkbmap configura o teclado usando a Extensão de Teclado do "X" smproxy é o "Proxy" do Gerenciador de Sessão x11perf é um aplicativo de teste de desempenho do servidor "X11" x11perfcomp é um aplicativo de comparação de desempenho do servidor "X11" xauth é o utilitário de arquivo de autoridade do "X" xbacklight ajusta o brilho da luz de fundo usando a extensão "RandR" xcmsdb é o utilitário "Device Color Characterization" para o Sistema de Gerenciamento de Cores do "X" xcursorgen cria um arquivo de cursor "X" a partir de uma coleção de imagens "PNG" xdpr despeja uma janela do "X" diretamente em uma impressora xdpyinfo é um utilitário de exibição de informações para o "X" xdriinfo consulta informações de configuração de controladores "DRI" xev imprime o conteúdo de eventos do "X" xgamma altera a correção gama de um monitor por intermédio do servidor "X" xhost é um aplicativo de controle de acesso ao servidor para o "X" xinput é um utilitário para configurar e testar dispositivos de entrada do "X" xkbbell é um aplicativo utilitário "XKB" que gera um evento de campainha xkbcomp compila uma descrição do teclado do "XKB" xkbevd é o processo de segundo plano de eventos do "XKB" xkbvleds mostra a situação do "XKB" dos "LEDs" do teclado xkbwatch monitora teclas modificadoras e "LEDs" xkill mata um cliente por recurso dele do "X" xlsatoms lista átomos internos definidos no servidor xlsclients lista aplicativos cliente em execução em um "display" xmessage exibe uma mensagem ou consulta em uma janela xmodmap é um utilitário para modificar mapas de teclado e mapeamentos de botões de ponteiro no "X" xpr imprime um despejo da janela do "X" xprop é um exibidor de propriedades para o "X" xrandr é uma interface primitiva de linha de comando para a extensão "RandR" xrdb é o utilitário de base de dados de recursos do servidor "X" xrefresh atualiza toda ou parte de uma tela do "X" xset é o utilitário de preferência do(a) usuário(a) para o "X" xsetroot é o utilitário de configuração de parâmetros da janela raiz para o "X" xvinfo imprime informações do adaptador de extensão "X-Video" xwd despeja uma imagem de uma janela do "X" xwininfo é um utilitário de informações de janela para o "X" xwud é um exibidor de imagens para o "X" xcursor-themes-1.0.7 Introdução ao xcursor-themes O pacote "xcursor-themes" contém os temas de cursor animados "redglass" e "whiteglass". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5823]https://www.x.org/pub/individual/data/xcursor-themes-1.0.7.ta r.xz * Transferência (FTP): [5824]ftp://ftp.x.org/pub/individual/data/xcursor-themes-1.0.7.tar. xz * Soma de verificação MD5 da transferência: 070993be1f010b09447ea24bab2c9846 * Tamanho da transferência: 1,4 MB * Espaço em disco estimado exigido: 15 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "xcursor-themes" Exigidas [5825]Aplicativos do Xorg Instalação do xcursor-themes Nota Nós instalamos explicitamente os temas de cursor em "/usr" em vez de "$XORG_PREFIX", de forma que ambientes de área de trabalho não "Xorg" consigam encontrá-los. Instale o "xcursor-themes" executando os seguintes comandos: ./configure --prefix=/usr && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/share/icons/handhelds, /usr/share/icons/redglass e /usr/share/icons/whiteglass Fontes do Xorg Introdução às Fontes do Xorg Os pacotes de fontes do "Xorg" fornecem algumas fontes escaláveis e pacotes de suporte para aplicações do "Xorg". Muitas pessoas vão querer instalar outras fontes "TTF" ou "OTF" além ou em vez delas. Algumas estão listadas em "[5826]“Fontes TTF e OTF”". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5827]https://www.x.org/pub/individual/font/ * Transferência (FTP): [5828]ftp://ftp.x.org/pub/individual/font/ * Tamanho da transferência: 3,0 MB * Espaço em disco estimado exigido: 8,8 MB * Tempo de construção estimado: 0,1 UPC Dependências das fontes do "Xorg" Exigidas [5829]xcursor-themes-1.0.7 Transferindo as Fontes do Xorg Primeiro, crie uma lista de arquivos a serem transferidos. Esse arquivo também será usado para verificar a integridade das transferências quando concluídas: cat > font-7.md5 << "EOF" ec6cea7a46c96ed6be431dfbbb78f366 font-util-1.4.0.tar.xz 357d91d87c5d5a1ac3ea4e6a6daf833d encodings-1.0.7.tar.xz 79f4c023e27d1db1dfd90d041ce89835 font-alias-1.0.5.tar.xz 546d17feab30d4e3abcf332b454f58ed font-adobe-utopia-type1-1.0.5.tar.xz 063bfa1456c8a68208bf96a33f472bb1 font-bh-ttf-1.0.4.tar.xz 51a17c981275439b85e15430a3d711ee font-bh-type1-1.0.4.tar.xz 00f64a84b6c9886040241e081347a853 font-ibm-type1-1.0.4.tar.xz fe972eaf13176fa9aa7e74a12ecc801a font-misc-ethiopic-1.0.5.tar.xz 3b47fed2c032af3a32aad9acc1d25150 font-xfree86-type1-1.0.5.tar.xz EOF Para baixar os arquivos necessários usando o [5830]Wget-1.21.4, use os seguintes comandos: mkdir font && cd font && grep -v '^#' ../font-7.md5 | awk '{print $2}' | wget -i- -c \ -B https://www.x.org/pub/individual/font/ && md5sum -c ../font-7.md5 Instalação das Fontes do Xorg Nota Ao instalar vários pacotes em um conjunto de comandos sequenciais, a instalação precisa ser feita como o(a) usuário(a) root. Existem três opções gerais que podem ser usadas para fazer isso: 1. Executar o conjunto inteiro de comandos sequenciais como o(a) usuário(a) root (não recomendado). 2. Usar o comando sudo originário do pacote [5831]Sudo-1.9.14p3. 3. Usar su -c "argumentos do comando" (aspas exigidas) que solicitará a senha do(a) root para cada iteração do loop. Uma maneira de lidar com essa situação é a de se criar uma função curta do bash que selecione automaticamente o método apropriado. Depois que o comando for configurado no ambiente, ele não precisará ser configurado novamente. as_root() { if [ $EUID = 0 ]; then $* elif [ -x /usr/bin/sudo ]; then sudo $* else su -c \\"$*\\" fi } export -f as_root Primeiro, inicie um sub "shell" que sairá em caso de erro: bash -e Instale todos os pacotes executando os seguintes comandos: for package in $(grep -v '^#' ../font-7.md5 | awk '{print $2}') do packagedir=${package%.tar.?z*} tar -xf $package pushd $packagedir ./configure $XORG_CONFIG make as_root make install popd as_root rm -rf $packagedir done Finalmente, saia do "shell" que foi iniciado anteriormente: exit Quando todas as fontes tiverem sido instaladas, o sistema precisará ser configurado de forma que o "Fontconfig" consiga encontrar as fontes "TrueType". Como as fontes estão fora do caminho padrão de pesquisa de vários pacotes se o "XORG_PREFIX" não for "/usr", [então] crie links simbólicos para os diretórios de fontes "TrueType" do "Xorg" em "/usr/share/fonts" executando os seguintes comandos como o(a) usuário(a) "root": install -v -d -m755 /usr/share/fonts && ln -svfn $XORG_PREFIX/share/fonts/X11/OTF /usr/share/fonts/X11-OTF && ln -svfn $XORG_PREFIX/share/fonts/X11/TTF /usr/share/fonts/X11-TTF Conteúdo Aplicativos Instalados: bdftruncate e ucs2any Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: $XORG_PREFIX/share/fonts Descrições Curtas bdftruncate gera uma fonte "BDF" truncada a partir de uma fonte "BDF" codificada "ISO 10646-1" ucs2any gera fontes "BDF" em qualquer codificação a partir de uma fonte "BDF" codificada "ISO 10646-1" XKeyboardConfig-2.39 Introdução ao XKeyboardConfig O pacote "XKeyboardConfig" contém a base de dados de configuração do teclado para o Sistema de Janelas "X". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5832]https://www.x.org/pub/individual/data/xkeyboard-config/xkeybo ard-config-2.39.tar.xz * Transferência (FTP): [5833]ftp://ftp.x.org/pub/individual/data/xkeyboard-config/xkeyboar d-config-2.39.tar.xz * Soma de verificação MD5 da transferência: a7de43e9d9e8bb9d85d447da2e63bcc8 * Tamanho da transferência: 876 KB * Espaço em disco estimado exigido: 15 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "XKeyboardConfig" Exigidas [5834]Bibliotecas do Xorg Instalação do XKeyboardConfig Instale o "XKeyboardConfig" executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=$XORG_PREFIX --buildtype=release .. && ninja Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretório Instalado: $XORG_PREFIX/share/X11/xkb Xwayland-23.2.0 Introdução ao Xwayland O pacote "Xwayland" é um servidor "Xorg" executando sobre o servidor "wayland". Ele foi separado do pacote principal do servidor "Xorg". Permite executar clientes do "X" dentro de uma sessão "wayland". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5835]https://www.x.org/pub/individual/xserver/xwayland-23.2.0.tar. xz * Transferência (FTP): [5836]ftp://ftp.x.org/pub/individual/xserver/xwayland-23.2.0.tar.xz * Soma de verificação MD5 da transferência: a6b4e8814d32c080510104888f752d74 * Tamanho da transferência: 1,2 MB * Espaço em disco estimado exigido: 27 MB (adicionar 364 MB para testes) * Tempo de construção estimado: 0,2 UPC (com paralelismo=4; adicionar 1,7 UPC para testes, não incluindo o tempo de clonagem) Dependências do "Xwayland" Exigidas [5837]libxcvt-0.1.2, [5838]Pixman-0.42.2, [5839]wayland-protocols-1.32, [5840]Aplicativos do Xorg (tempo de execução) e [5841]Fontes do Xorg (somente font-util) Recomendadas [5842]libepoxy-1.5.10, [5843]libtirpc-1.3.3 e [5844]Mesa-23.1.6 Opcionais [5845]git-2.41.0 (para transferir os pacotes necessários para os testes), [5846]libgcrypt-1.10.2, [5847]Nettle-3.9.1, [5848]xmlto-0.0.28, [5849]Fontes Legadas do Xorg (somente bdftopcf, para construir as fontes exigidas para os testes), [5850]rendercheck (para os testes) e [5851]weston (para os testes) Instalação do Xwayland Instale o "xwayland" executando os seguintes comandos: sed -i '/install_man/,$d' meson.build && mkdir build && cd build && meson setup --prefix=$XORG_PREFIX \ --buildtype=release \ -Dxkb_output_dir=/var/lib/xkb \ .. && ninja Construir a estrutura de teste precisa de algum trabalho. Primeiro, [5852]weston traz várias dependências, mas o número pode ser reduzido desabilitando recursos desnecessários. O comando meson para uma construção simplificada do weston é mostrado em [5853]construção da integração contínua do(a) desenvolvedor(a). Executar os testes envolve transferir outras duas estruturas, em adição às mencionadas dependências opcionais: mkdir tools && pushd tools && git clone https://gitlab.freedesktop.org/mesa/piglit.git --depth 1 && cat > piglit/piglit.conf << EOF && [xts] path=$(pwd)/xts EOF git clone https://gitlab.freedesktop.org/xorg/test/xts --depth 1 && export DISPLAY=:22 && ../hw/vfb/Xvfb $DISPLAY & VFB_PID=$! && cd xts && CFLAGS=-fcommon ./autogen.sh && make && kill $VFB_PID && unset DISPLAY VFB_PID && popd Então os testes podem ser executados com: XTEST_DIR=$(pwd)/tools/xts PIGLIT_DIR=$(pwd)/tools/piglit ninja test Agora, como o(a) usuário(a) "root": ninja install Se o "[5854]Xorg-Server-21.1.8" não estiver instalado e você não planeja instalá-lo mais tarde, [então] você pode instalar o "Xvfb" a partir deste pacote. Como o(a) usuário(a) "root": install -vm755 hw/vfb/Xvfb /usr/bin Explicações do Comando sed -i '/install_man/,$d' meson.build: Impede a instalação de uma página de manual para o "Xserver", que também é fornecida pelo "[5855]Xorg-Server-21.1.8". Remova esse comando se o "[5856]Xorg-Server-21.1.8" não estiver instalado e você não planejar instalá-lo mais tarde. --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. Conteúdo Aplicativo Instalado: Xwayland Biblioteca Instalada: Nenhum(a) Diretório Instalado: Nenhum(a) Descrições Curtas Xwayland Permite que clientes do "X" executem sob o "wayland" Xorg-Server-21.1.8 Introdução ao Servidor Xorg O Servidor "Xorg" é o núcleo do Sistema de Janelas "X". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5857]https://www.x.org/pub/individual/xserver/xorg-server-21.1.8.t ar.xz * Transferência (FTP): [5858]ftp://ftp.x.org/pub/individual/xserver/xorg-server-21.1.8.tar .xz * Soma de verificação MD5 da transferência: 79a6eb04b1b17ad6c7aab46da73944e8 * Tamanho da transferência: 4,8 MB * Espaço em disco estimado exigido: 188 MB (com os testes) * Tempo de construção estimado: 0,6 UPC (usando paralelismo = 4; com os testes) Transferências Adicionais * Com a remoção dos controladores xf86-video-*, a opção TearFree não mais está funcional. Para contornar isso, o fluxo de desenvolvimento adicionou a opção TearFree ao controlador padrão de configuração de modo. Este remendo reimplementa esse recurso. Aplique este remendo se você for usar o Xorg em um ambiente sem um compositor (como TWM, IceWM, Openbox, Fluxbox ou Sawfish). Remendo opcional: [5859]https://www.linuxfromscratch.org/patches/blfs/12.0/xorg-serve r-21.1.8-tearfree_backport-1.patch Dependências do Servidor Xorg Exigidas [5860]libxcvt-0.1.2, [5861]Pixman-0.42.2, [5862]Fontes do Xorg (somente "font-util") e, ao tempo da execução, [5863]xkeyboard-config-2.39 Recomendadas [5864]libepoxy-1.5.10 (necessário para glamor), [5865]libtirpc-1.3.3, [5866]Systemd-254 (tempo de execução), e [5867]xorg-libinput-1.3.0 (tempo de execução) Opcionais [5868]acpid-2.0.34 (tempo de execução), [5869]Doxygen-1.9.7 (para construir a documentação da "API"), [5870]fop-2.9 (para construir a documentação), [5871]libunwind-1.6.2, [5872]Nettle-3.9.1, [5873]libgcrypt-1.10.2, [5874]xcb-util-keysyms-0.4.1, [5875]xcb-util-image-0.4.1, [5876]xcb-util-renderutil-0.3.10, [5877]xcb-util-wm-0.4.2 (todos quatro para construir o "Xephyr"), [5878]xmlto-0.0.28 (para construir a documentação), [5879]xkeyboard-config-2.39 (para testes), [5880]rendercheck (para testes) e [5881]xorg-sgml-doctools (para construir a documentação) Configuração do Núcleo Os controladores tradicionais Device Dependent X (DDX) foram removidos do BLFS em favor do controlador modesetting_drv que será construído como parte desse pacote. Para usar o controlador modesetting_drv, o núcleo precisa fornecer um controlador Direct Rendering Manager (DRM) para a tua GPU. Se a tua GPU suporta aceleração 3D e [5882]Mesa-23.1.6 fornece um controlador Gallium3D para utilizar a capacidade 3D dele, você já deveria ter habilitado as necessárias opções de configuração de núcleo em [5883]Configuração de Núcleo do Mesa. Caso contrário, você precisa encontrar a opção de configuração do núcleo do controlador DRM para a GPU e habilitá-la. Notavelmente, as GPUs virtuais fornecidas por alguns gerenciadores de máquinas virtuais: Device Drivers ---> Graphics support ---> <*/M> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) ---> ... [DRM] < /*/M> DRM driver for VMware Virtual GPU [DRM_VMWGFX] < /*/M> DRM Support for bochs dispi vga interface (qemu stdvga) [DRM_BOCHS] < /*/M> Virtual Box Graphics Card [DRM_VBOXVIDEO] Se o núcleo não fornecer um controlador DRM para a tua GPU, na maioria dos sistemas x86 o controlador DRM “simple frame buffer” executando em VESA ou UEFI frame buffer pode ser usado como substituto. Habilite as seguintes opções nas configurações do núcleo, se você não tiver um controlador DRM dedicado para a GPU ou quiser manter o controlador simple frame buffer como um substituto caso o controlador dedicado falhe: Device Drivers ---> Firmware Drivers ---> [*] Mark VGA/VBE/EFI FB as generic system framebuffer [SYSFB_SIMPLEFB] Graphics support ---> <*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) ---> ... [DRM] <*> Simple framebuffer driver [DRM_SIMPLEDRM] Para permitir que o núcleo imprima mensagens de depuração em um estágio inicial da inicialização, CONFIG_DRM e CONFIG_DRM_SIMPLEDRM não deveriam ser construídos como módulos do núcleo, a menos que um initramfs seja usado. Se você quiser usar o controlador simple frame buffer em um sistema inicializado via BIOS (em vez de UEFI), adicione a seguinte linha antes do primeiro bloco menuentry no arquivo /boot/grub/grub. cfg para inicializar o VESA frame buffer: set gfxpayload=1024x768x32 Você pode substituir 1024, 768 e 32 por uma configuração de resolução e profundidade de cor adequada ao teu monitor. Se todos esses controladores DRM não funcionarem para você e você precisar usar um controlador DDX com um controlador de GPU de núcleo não DRM (geralmente chamado de CONFIG_FB_* na configuração do núcleo, ou existente como módulos do núcleo fora da árvore) ou você precisar de uma funcionalidade específica do dispositivo que exige um controlador DDX, consulte [5884]uma versão anterior do BLFS ou [5885]uma versão ainda mais anterior para mais controladores DDX. Instalação do Servidor Xorg Primeiro, se você precisar da opção TearFree para contornar o rasgo de tela, aplique o remendo reimplementado: patch -Np1 -i ../xorg-server-21.1.8-tearfree_backport-1.patch Instale o servidor executando os seguintes comandos: mkdir build && cd build && meson setup .. \ --prefix=$XORG_PREFIX \ --localstatedir=/var \ -Dglamor=true \ -Dxkb_output_dir=/var/lib/xkb && ninja Para testar os resultados, emita: "ninja test". Você precisará executar "ldconfig" como o(a) usuário(a) "root" primeiro ou alguns testes possivelmente falhem. Agora como o(a) usuário(a) "root": ninja install && mkdir -pv /etc/X11/xorg.conf.d Explicações do Comando -Dglamor=true: Certifique-se de construir o módulo Glamour. Ele é necessário para construir o controlador modesetting_drv que substitui os tradicionais controladores Device Dependent X (DDX). -Dsuid_wrapper=true: Constrói o involucrador suid-root para suporte de controlador legado DDX em sistemas xserver sem raiz. -Dsystemd_logind=false: Essa chave desabilita a integração "systemd-logind" , permitindo que o Servidor "Xorg" funcione sem ter o módulo "PAM" do "systemd" configurado. -Dxephyr=true: Essa opção permite construir o "Xephyr" se as dependências dele forem atendidas. Conteúdo Aplicativos Instalados: gtf, X, Xnest, Xorg, Xvfb e, opcionalmente, Xephyr Bibliotecas Instaladas: várias sob $XORG_PREFIX/lib/xorg/modules/ incluindo o controlador modesetting_drv Diretórios Instalados: /etc/X11/xorg.conf.d, $XORG_PREFIX/include/xorg, $XORG_PREFIX/lib/xorg e $XORG_PREFIX/share/X11/xorg.conf.d Descrições Curtas gtf calcula linhas do modo "GTF" do "VESA" X é um link simbólico para o "Xorg" Xephyr é um servidor aninhado "X" que suporta extensões modernas "X" Xnest é um servidor aninhado "X" Xorg é o Servidor "X11R7" "X" Xvfb é o servidor virtual de "framebuffer" "X" para o X Versão 11 modesetting_drv.so fornece um controlador de vídeo para máquinas que usam "Kernel Mode Setting" ("KMS"). Isso usará o "glamour" se esse tiver sido habilitado e o "hardware" oferecer aceleração Controladores de Entrada do Xorg Introdução aos Controladores de Entrada do Xorg A página Xorg Input Drivers contém as instruções para construir controladores de entrada do Xorg que são necessários para a finalidade de que o Servidor Xorg responda às entradas geradas de usuário(a). Controladores de Entrada do Xorg * [5886]libevdev-1.13.1 * [5887]Controlador Evdev do Xorg-2.10.6 * [5888]libinput-1.23.0 * [5889]xorg-libinput-1.3.0 * [5890]Controlador Synaptics do Xorg-1.9.2 * [5891]Controlador Wacom do Xorg-1.2.0 libevdev 1.13.1 Introdução ao libevdev O pacote libevdev contém funções comuns para controladores de entrada do Xorg. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5892]https://www.freedesktop.org/software/libevdev/libevdev-1.13.1 .tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 58fe71aa6fd5e80d0928e9b691761311 * Tamanho da transferência: 448 KB * Espaço em disco estimado exigido: 6,0 MB (com testes) * Tempo de construção estimado: 0,1 UPC (com testes) Dependências do libevdev Opcionais [5893]Doxygen-1.9.7 e [5894]Valgrind-3.21.0 (opcional para testes) Configuração do Núcleo Habilite as seguintes opções na configuração do núcleo e recompile o núcleo, se necessário: Device Drivers ---> Input device support ---> -*- Generic input layer (needed for keyboard, mouse, ...) [INPUT] <*/M> Event interface [INPUT_EVDEV] Se você quiser testar esse pacote com cobertura total, as seguintes opções serão necessárias também: Device Drivers ---> Input device support ---> -*- Generic input layer (needed for keyboard, mouse, ...) [INPUT] [*] Miscellaneous devices ---> [INPUT_MISC] <*/M> User level driver support [INPUT_UINPUT] Se você construir isso como um módulo, ele precisará ser inserido antes que a suíte de teste execute. Instalação do libevdev Instale o libevdev executando os seguintes comandos: mkdir build && cd build && meson setup .. \ --prefix=$XORG_PREFIX \ --buildtype=release \ -Ddocumentation=disabled && ninja Os testes de regressão podem ser executados como o(a) usuário(a) root, com ninja test, em uma sessão gráfica. Você precisa ter habilitado a configuração CONFIG_INPUT_UINPUT no núcleo para cobertura completa do teste. Se estiver habilitado como um módulo, o módulo será chamado uinput e precisa ser carregado antes de se executar os testes. Observe que, em alguns sistemas, os testes possivelmente causem um travamento total e exijam uma reinicialização. Em laptops, o sistema entrará em suspensão e precisará ser despertado para finalizar as suítes de teste. Agora, como o(a) usuário(a) root: ninja install Conteúdo Aplicativos Instalados do Xorg: libevdev-tweak-device, mouse-dpi-tool e touchpad-edge-detector Biblioteca Instalada do Xorg: libevdev.so Diretório Instalado do Xorg: $XORG_PREFIX/include/libevdev-1.0 Descrições Curtas libevdev-tweak-device é uma ferramenta para mudar algumas propriedades de dispositivo do núcleo mouse-dpi-tool é uma ferramenta para estimar a resolução de um mouse touchpad-edge-detector touchpad-edge-detector é uma ferramenta que lê os eventos do touchpad oriundos do núcleo e calcula o mínimo e o máximo para as coordenadas x e y, respectivamente libevdev.so é uma biblioteca de funções de entrada do controlador do Xorg Controlador Evdev do Xorg-2.10.6 Introdução ao Controlador “Evdev” do “Xorg” O pacote "Controlador Evdev do Xorg" contém um controlador genérico de entrada do Linux para o servidor "Xorg X". Ele lida com teclado, mouse, "touchpads" e dispositivos "wacom", embora para manuseio avançado de "touchpad" e "wacom" controladores adicionais sejam exigidos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5895]https://www.x.org/pub/individual/driver/xf86-input-evdev-2.10 .6.tar.bz2 * Transferência (FTP): [5896]ftp://ftp.x.org/pub/individual/driver/xf86-input-evdev-2.10.6 .tar.bz2 * Soma de verificação MD5 da transferência: e8bd1edc6751f92e425cae7eba3c61eb * Tamanho da transferência: 400 KB * Espaço em disco estimado exigido: 3,9 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do Controlador "Evdev" do "Xorg" Exigidas [5897]libevdev-1.13.1, [5898]mtdev-1.1.6 e [5899]Xorg-Server-21.1.8 Instalação do Controlador “Evdev” do “Xorg” Instale o Controlador "Evdev" do" Xorg" executando os seguintes comandos: ./configure $XORG_CONFIG && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Controlador Instalado do “Xorg”: evdev_drv.so Descrições Curtas evdev_drv.so é um controlador de entrada do "Xorg" para dispositivos genéricos de eventos do Linux libinput-1.23.0 Introdução ao Libinput libinput é uma biblioteca que manuseia dispositivos de entrada para servidores de exibição e outras aplicações que precisam lidar diretamente com dispositivos de entrada. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5900]https://gitlab.freedesktop.org/libinput/libinput/-/archive/1. 23.0/libinput-1.23.0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 1faafdbe54745b5b59305b0764155a15 * Tamanho da transferência: 980 KB * Espaço em disco estimado exigido: 13 MB (adicionar 23 MB para documentação e 9,6 MB para testes) * Tempo de construção estimado: menos que 0,1 UPC (adicionar 0,1 UPC para documentação e 4,7 UPC para testes) Dependências do libinput Exigidas [5901]libevdev-1.13.1 e [5902]mtdev-1.1.6 Opcionais [5903]Valgrind-3.21.0 (para executar os testes), [5904]GTK+-3.24.38 (para construir o visualizador de eventos da GUI), [5905]libunwind-1.6.2 (exigido para testes), [5906]libwacom-2.7.0, [5907]sphinx-7.1.2 (exigido para construir documentação) e [5908]pyparsing-3.1.1 (para um teste não root) Configuração do Núcleo para Executar a Suíte de Teste do Libinput Embora libinput funcione com a mesma configuração de núcleo usada por [5909]libevdev-1.13.1, a extenso suíte de teste exige a presença de /dev/uinput (assim como ambos [5910]Valgrind-3.21.0 e [5911]libunwind-1.6.2). Se você desejar executar os testes completos, habilite a seguinte opção na configuração do núcleo e recompile o núcleo se necessário: Device Drivers ---> Input device support ---> -*- Generic input layer (needed for keyboard, mouse, ...) [INPUT] [*] Miscellaneous devices ---> [INPUT_MISC] <*/M> User level driver support [INPUT_UINPUT] Se você construir isso como um módulo, ele precisará ser inserido antes da suíte de teste executar. Em um sistema Xorg você também precisará evitar que os eventos gerados durante a suíte de teste interfiram em tua área de trabalho. Copie o arquivo test/50-litest.conf para ${XORG_PREFIX}/share/X11/xorg.conf.d e reinicie o X. Para mais informações, veja-se [5912]suíte de teste do libinput. Instalação do Libinput Instale o libinput executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=$XORG_PREFIX \ --buildtype=release \ -Ddebug-gui=false \ -Dtests=false \ -Dlibwacom=false \ -Dudev-dir=/usr/lib/udev \ .. && ninja Nota Se você quiser executar os testes completos, remova -Dtests do comando meson acima. Por favor, leia "configuração do núcleo para executar a suíte de teste do libinput" (acima). Se você tiver habilitado os testes completos, você pode executar os testes principais como o(a) usuário(a) root executando: ninja test. Um número muito grande de testes será executado. Um teste falha no Wayland. Agora, como o(a) usuário(a) root: ninja install Se você tiver passado -Ddocumentation=true para meson, você pode instalar a documentação gerada executando os seguintes comandos como o(a) usuário(a) root: install -v -dm755 /usr/share/doc/libinput-1.23.0/html && cp -rv Documentation/* /usr/share/doc/libinput-1.23.0/html Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Ddebug-gui=false: Essa chave desabilita a criação de um auxiliar visual de depuração para libinput. Remova se o quiser e você tiver o [5913]GTK+-3.24.38 instalado. -Dtests=false: Essa chave desabilita a compilação dos testes principais. Mesmo com os testes definidos como false, você ainda consegue executar os primeiros quatro testes secundários, como um(a) usuário(a) normal, mas um será ignorado se o [5914]pyparsing-3.1.1 não estiver instalado. -Dlibwacom=false: Remova essa opção se você tiver [5915]libwacom-2.7.0 instalado ou se estiver instalando o GNOME. -Dudev-dir=/usr/lib/udev: Caso o valor de XORG_PREFIX não esteja configurado como /usr, essa opção evita que o pacote instale regras e auxiliares do Udev em $XORG_PREFIX/lib/udev, que não é pesquisado pelo processo de segundo plano do Udev. Essa opção não é necessária para sistemas com XORG_PREFIX configurado como /usr, mas não causa danos. -Ddocumentation=true: Essa chave habilita a geração da documentação. Adicione-a se quiser gerar a documentação. Você precisa ter [5916]Doxygen-1.9.7 e [5917]Graphviz-8.1.0 instalados. Conteúdo Aplicativos Instalados: libinput Bibliotecas Instaladas: libinput.so Diretórios Instalados: /etc/libinput, $XORG_PREFIX/libexec/libinput, $XORG_PREFIX/share/libinput e (opcionalmente) $XORG_PREFIX/share/doc/libinput-1.23.0 Descrições Curtas libinput é um conjunto de ferramentas para interfacear com a biblioteca libinput libinput.so contém funções de API para manusear dispositivos de entrada Controlador Libinput do Xorg-1.3.0 Introdução ao Controlador “Libinput” do “Xorg” O Controlador Libinput do X.Org é um involucrador fino em torno da libinput e permite que a libinput seja usada para dispositivos de entrada no X. Esse controlador pode ser usado como substituto imediato para o evdev e o synaptics. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5918]https://www.x.org/pub/individual/driver/xf86-input-libinput-1 .3.0.tar.xz * Transferência (FTP): [5919]ftp://ftp.x.org/pub/individual/driver/xf86-input-libinput-1.3 .0.tar.xz * Soma de verificação MD5 da transferência: 92e9a50c8e4001fd25c813ffb1c84235 * Tamanho da transferência: 320 KB * Espaço em disco estimado exigido: 3,8 MB (com testes) * Tempo de construção estimado: menos que 0,1 UPC (com testes) Dependências do Controlador "Libinput" do "Xorg" Exigidas [5920]libinput-1.23.0 e [5921]Xorg-Server-21.1.8 Instalação do Controlador “Libinput” do “Xorg” Instale o Controlador "Libinput" do "Xorg" executando os seguintes comandos: ./configure $XORG_CONFIG && make Para testar os resultados, emita: "make check". Agora, como o(a) usuário(a) "root": make install Conteúdo Controlador Instalado do “Xorg”: libinput_drv.so Descrições Curtas libinput_drv.so é um controlador de entrada do "Xorg" para dispositivos de mouse, teclado, "touchpad", tela de toque e "tablets" Controlador Synaptics do Xorg-1.9.2 Introdução ao Controlador “Synaptics” do “Xorg” O pacote Controlador "Synaptics" do "Xorg" contém o Controlador de Entrada "X.Org", aplicativos de suporte e "SDK" para "touchpads" "Synaptics". Embora o controlador "evdev" consiga lidar muito bem com "touchpads", esse controlador é exigido se você quiser usar recursos avançados como toque múltiplo, rolagem com "touchpad", desligar o "touchpad" durante a digitação, etc. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5922]https://www.x.org/pub/individual/driver/xf86-input-synaptics- 1.9.2.tar.xz * Transferência (FTP): [5923]ftp://ftp.x.org/pub/individual/driver/xf86-input-synaptics-1. 9.2.tar.xz * Soma de verificação MD5 da transferência: 3b95e7baf4428b114e9910f999e96601 * Tamanho da transferência: 424 KB * Espaço em disco estimado exigido: 5,2 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do Controlador "Synaptics" do "Xorg" Exigidas [5924]libevdev-1.13.1 e [5925]Xorg-Server-21.1.8 Instalação do Controlador “Synaptics” do “Xorg” Instale o Controlador "Synaptics" do "Xorg" executando os seguintes comandos: ./configure $XORG_CONFIG && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: synclient e syndaemon Controlador Instalado do "Xorg": synaptics_drv.so Descrições Curtas synclient é um utilitário de linha de comando usado para consultar e modificar as opções do controlador "Synaptics" syndaemon é um aplicativo que monitora a atividade do teclado e desabilita o "touchpad" quando o teclado está sendo usado synaptics_drv.so é um controlador de entrada do "Xorg" para "touchpads" Controlador Wacom do Xorg-1.2.0 Introdução ao Controlador “Wacom” do “Xorg” O pacote Controlador "Wacom" do "Xorg" contém o controlador "X11" do "X.Org" e "SDK" para "Wacom" e "tablets" semelhantes a "Wacom". Não é exigido usar um "tablet" "Wacom"; o controlador "xf86-input-evdev" consegue lidar com esses dispositivos sem problemas. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5926]https://github.com/linuxwacom/xf86-input-wacom/releases/downl oad/xf86-input-wacom-1.2.0/xf86-input-wacom-1.2.0.tar.bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: 9de66dbfa7dbb3897708d35776da0108 * Tamanho da transferência: 636 KB * Espaço em disco estimado exigido: 8,8 MB (com os testes) * Tempo de construção estimado: 0,1 UPC (com testes) Dependências do Controlador "Wacom" do "Xorg" Exigidas [5927]Xorg-Server-21.1.8 Opcionais [5928]Doxygen-1.9.7 e [5929]Graphviz-8.1.0 Configuração do Núcleo Para usar um "tablet" "Wacom" com interface "USB", habilite as seguintes opções na tua configuração do núcleo e recompile. Observe que outras opções de configuração podem ser exigidas para "tablets" com uma interface serial ou "bluetooth": Device Drivers ---> [*] HID bus support ---> [HID_SUPPORT] {*/M} HID bus core support [HID] Special HID drivers ---> <*/M> Wacom Intuos/Graphire tablet support (USB) [HID_WACOM] USB HID support ---> <*/M> USB HID transport layer [USB_HID] [*] USB support ---> [USB_SUPPORT] <*/M> Support for Host-side USB [USB] Instalação do Controlador “Wacom” do “Xorg” Instale o Controlador "Wacom" do "Xorg" executando os seguintes comandos: ./configure $XORG_CONFIG && make Para testar os resultados, emita: "make check". Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: isdv4-serial-debugger, isdv4-serial-inputattach e xsetwacom Controlador Instalado do “Xorg”: wacom_drv.so Descrições Curtas xsetwacom é um utilitário de linha de comando usado para consultar e modificar as configurações do controlador "wacom" wacom_drv.so é um controlador de entrada do "Xorg" para dispositivos "Wacom" twm-1.0.12 Introdução ao "twm" O pacote "twm" contém um gerenciador de janelas extremamente mínimo. Esse pacote é fornecido para testar a instalação completa do Xorg. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5930]https://www.x.org/pub/individual/app/twm-1.0.12.tar.xz * Transferência (FTP): [5931]ftp://ftp.x.org/pub/individual/app/twm-1.0.12.tar.xz * Soma de verificação MD5 da transferência: 805ee08b5a87e1103dfe2eb925b613b4 * Tamanho da transferência: 260 KB * Espaço em disco estimado exigido: 3,8 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "twm" Exigidas [5932]Xorg-Server-21.1.8 Instalação do twm Instale o "twm" executando os seguintes comandos: sed -i -e '/^rcdir =/s,^\(rcdir = \).*,\1/etc/X11/app-defaults,' src/Makefile.in && ./configure $XORG_CONFIG && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Explicações do Comando sed -i -e '/^rcdir =/s...: Esse comando garante que o arquivo de configuração do "twm" seja instalado no local apropriado. Conteúdo Aplicativos Instalados: twm Bibliotecas Instaladas: Nenhum(a) Diretório Instalado: /etc/X11/app-defaults Descrições Curtas twm é o "Tab Window Manager" para o Sistema de Janelas "X" xterm-384 Introdução ao xterm "xterm" é um emulador de terminal para o Sistema de Janelas "X". Esse pacote é fornecido para testar a instalação completa do Xorg. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5933]https://invisible-mirror.net/archives/xterm/xterm-384.tgz * Transferência (FTP): * Soma de verificação MD5 da transferência: 27a701e73076e42a265e34f8fe558ff6 * Tamanho da transferência: 1,4 MB * Espaço em disco estimado exigido: 14 MB * Tempo de construção estimado: 0,1 UPC (com paralelismo=4) Dependências do "xterm" Exigidas [5934]Aplicativos do Xorg Exigidas (em tempo de execução) Uma fonte mono espaçada "TTF" ou "OTF", como "[5935]Fontes Dejavu" Opcionais [5936]Emacs-29.1, [5937]PCRE-8.45 ou [5938]pcre2-10.42, [5939]Valgrind-3.21.0 e [5940]man2html Instalação do xterm Instale o "xterm" executando os seguintes comandos: sed -i '/v0/{n;s/new:/new:kb=^?:/}' termcap && printf '\tkbs=\\177,\n' >> terminfo && TERMINFO=/usr/share/terminfo \ ./configure $XORG_CONFIG \ --with-app-defaults=/etc/X11/app-defaults && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install && make install-ti && mkdir -pv /usr/share/applications && cp -v *.desktop /usr/share/applications/ Explicações do Comando sed -i ... termcap, printf ... >> terminfo: Esses comandos modificam a descrição do terminal de forma que se espere que a tecla "Backspace" envie o caractere com código "ASCII" "127". Isso é feito para consistência com o console do Linux. TERMINFO=/usr/share/terminfo: Isso garante que os arquivos "terminfo" do "xterm" sejam instalados na base de dados "terminfo" do sistema. --with-app-defaults=...: Configura o local para o diretório "app-defaults". make install-ti: Esse comando instala arquivos corrigidos de descrição "terminfo" para uso com o "xterm". Configurando o xterm Existem duas maneiras de configurar o "xterm". Você pode adicionar as definições de recursos do "X" ao arquivo "~/.Xresources" do(a) usuário(a) ou adicioná-las ao arquivo abrangente a todo o sistema "$XORG_PREFIX/share/X11/app-defaults/Xterm". Para a finalidade de que o "xterm" siga as configurações de localidade no ambiente, use fontes "TrueType" e siga a convenção do Linux a respeito do código enviado pela tecla "Backspace", adicione as seguintes definições como o(a) usuário(a) "root": cat >> /etc/X11/app-defaults/XTerm << "EOF" *VT100*locale: true *VT100*faceName: Monospace *VT100*faceSize: 10 *backarrowKeyIsErase: true *ptyInitialErase: true EOF Conteúdo Aplicativos Instalados: koi8rxterm, resize, uxterm e xterm Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas koi8rxterm é um conjunto de comandos sequenciais involucrador para configurar o "xterm" com uma localidade "KOI8-R" resize imprime um comando de "shell" para configurar as variáveis de ambiente "TERM" e "TERMCAP" para indicar o tamanho atual da janela do "xterm" uxterm é um conjunto de comandos sequenciais involucrador que modifica a localidade atual para usar "UTF-8" e inicia o "xterm" com as configurações adequadas xterm é um emulador de terminal para o Sistema de Janelas "X" xclock-1.1.1 Introdução ao xclock O pacote "xclock" contém um aplicativo simples de relógio que é usado na configuração padrão do "xinit". Esse pacote é fornecido para testar a instalação completa do Xorg. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5941]https://www.x.org/pub/individual/app/xclock-1.1.1.tar.xz * Transferência (FTP): [5942]ftp://ftp.x.org/pub/individual/app/xclock-1.1.1.tar.xz * Soma de verificação MD5 da transferência: 1273e3f4c85f1801be11a5247c382d07 * Tamanho da transferência: 156 KB * Espaço em disco estimado exigido: 1,5 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "xclock" Exigidas [5943]Bibliotecas do Xorg Instalação do xclock Instale o "xclock" executando os seguintes comandos: ./configure $XORG_CONFIG && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: xclock Bibliotecas Instaladas: Nenhum(a) Diretório Instalado: Nenhum(a) Descrições Curtas xclock é um relógio analógico/digital para o "X" xinit-1.4.2 Introdução ao xinit O pacote "xinit" contém um conjunto usável de comandos sequenciais para iniciar o "xserver". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [5944]https://www.x.org/pub/individual/app/xinit-1.4.2.tar.xz * Transferência (FTP): [5945]ftp://ftp.x.org/pub/individual/app/xinit-1.4.2.tar.xz * Soma de verificação MD5 da transferência: 0e9a1b9a82b84ab229c709c0f939c113 * Tamanho da transferência: 153 KB * Espaço em disco estimado exigido: 1,5 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "xinit" Exigidas [5946]Bibliotecas do Xorg Recomendadas (tempo de execução somente) [5947]twm-1.0.12, [5948]xclock-1.1.1 e [5949]xterm-384 (usado no arquivo padrão "xinitrc") Instalação do xinit Instale o "xinit" executando os seguintes comandos: ./configure $XORG_CONFIG --with-xinitdir=/etc/X11/app-defaults && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install && ldconfig Conteúdo Aplicativos Instalados: xinit e startx Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: Nenhum(a) Descrições Curtas startx inicializa uma sessão do "X" xinit é o inicializador do Sistema de Janelas "X" Testagem e Configuração do Xorg-7 Testando o Xorg Nota Antes de iniciar o Xorg pela primeira vez, é útil reconstruir o cache da biblioteca executando-se o ldconfig como o(a) usuário(a) root. Nota Antes de iniciar o Xorg pela primeira vez, muitas vezes é necessário reinicializar o sistema para garantir que todos os processos de segundo plano apropriados sejam iniciados e que os problemas de segurança apropriados estejam configurados adequadamente. Como alternativa, sair e logar-se novamente possivelmente funcione, mas ao tempo deste texto, não foi testado. Atenção Se o "Xorg" travar por algum motivo (por exemplo, ausência de um controlador de entrada adequado), [então] o sistema poderá parar de responder a qualquer entrada gerada de usuário(a). Como precaução, você pode habilitar uma tecla mágica "SysRq" antes de testar o "Xorg". Como o(a) usuário(a) "root", emita: echo 4 > /proc/sys/kernel/sysrq Então, se o "Xorg" travar, é possível usar "Alt+SysRq+R" para reconfigurar o modo do teclado. Agora ele deveria ser capaz de usar "Ctrl+Alt+Fx" (substitua o "x" por um número de "VT") para comutar para outro "VT". Se funcionar, [então] logue-se e mate o "Xorg" usando a linha de comando no novo "VT". Para testar a instalação do "Xorg", emita "startx". Esse comando traz um gerenciador de janelas rudimentar chamado "twm" com três janelas do "xterm" e uma janela do "xclock". A janela do "xterm" no canto superior esquerdo é um terminal de "login" e executar-se "exit" a partir desse terminal sairá da sessão do "Janelas X". A terceira janela do "xterm" possivelmente esteja obscurecida em teu sistema pelos outros dois "xterms". Nota Ao testar o "Xorg" com o gerenciador de janelas "twm", existirão vários avisos no arquivo de registro do "Xorg", "$HOME/.local/share/xorg/Xorg.0.log", a respeito de arquivos de fontes ausentes. Além disso, existirão vários avisos no terminal de modo texto (geralmente "tty1") a respeito de fontes ausentes. Esses avisos não afetam a funcionalidade, mas podem ser removidos, se desejado, instalando-se o "[5950]Fontes Legadas do Xorg". Nota Em sistemas com GPUs NVIDIA que estão usado o controlador de núcleo Nouveau, você pode encontrar congelamentos e travamentos ocasionais da GPU. Se esse problema ocorrer, rebaixe para a versão mais recente do núcleo Linux 6.1. Geralmente, não existe configuração específica exigida para o "Xorg", mas a personalização é possível. Para detalhes, veja-se "[5951]“Configurando Dispositivos do Xorg”" abaixo. Verificando a Instalação da Direct Rendering Infrastructure (DRI) "DRI" é uma estrutura que permite que logiciário acesse "hardware" gráfico de maneira segura e eficiente. Ela é instalada no "X" por padrão (usando "Mesa") se você tiver uma placa de vídeo suportada. Para verificar se os controladores da "DRI" estão instalados adequadamente, verifique o arquivo de registro "$HOME/.local/share/xorg/Xorg.0.log" (ou "/var/log/Xorg.0.log" se você tiver construído o "[5952]Xorg-Server-21.1.8" com o "bit" "suid") para declarações como: (II) modeset(0): [DRI2] Setup complete (II) modeset(0): [DRI2] DRI driver: crocus (II) modeset(0): [DRI2] VDPAU driver: va_gl Nota A configuração da DRI possivelmente difira se você estiver usando controladores alternativos, como tradicionais controladores DDX ou os controladores proprietários oriundos da [5953]NVIDIA ou da [5954]AMD. Outra maneira de determinar se a "DRI" está funcionando adequadamente é a de usar um dos dois aplicativos de demonstração "OpenGL" instalados opcionalmente no "[5955]Mesa-23.1.6". A partir de um terminal do "X", execute "glxinfo" e procure pela frase: name of display: :0 display: :0 screen: 0 direct rendering: Yes Se a Renderização Direta estiver habilitada, [então] você poderá adicionar detalhamento executando "LIBGL_DEBUG=verbose glxinfo". Isso mostrará os controladores, nós de dispositivos e arquivos usados pelo sistema da "DRI". Para confirmar se a aceleração de "hardware" "DRI2" está funcionando, você pode (ainda no terminal do "X") executar o comando glxinfo | grep -E "(OpenGL vendor|OpenGL renderer|OpenGL version)". Se isso informar algo diferente de "Software Rasterizer", então você tem aceleração funcional para o(a) usuário(a) que executou o comando. Se o teu "hardware" não tiver nenhum controlador "DRI2" disponível, [então] ele usará um "Software Rasterizer" para Renderização Direta. Nesses casos, você pode usar um novo "Software Rasterizador", acelerado por "LLVM", chamado "LLVMPipe". Para a finalidade de construir o "LLVMPipe", apenas certifique-se de que o "[5956]LLVM-16.0.5" esteja presente ao tempo da construção do "Mesa". Observe que toda a decodificação é feita na "CPU" e não na "GPU", de forma que a exibição ficará mais lenta que com aceleração de "hardware". Para verificar se você está usando o "LLVMpipe", revise a saída gerada do comando "glxinfo" acima. Um exemplo de saída gerada usando o "Software Rasterizer" é mostrado abaixo: OpenGL vendor string: VMware, Inc. OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.5, 256 bits) OpenGL version string: 3.0 Mesa 10.4.5 Você também consegue forçar o "LLVMPipe" exportando a variável de ambiente "LIBGL_ALWAYS_SOFTWARE=1" ao iniciar o "Xorg". Novamente, se você tiver construído os demonstrativos "OpenGL" do "Mesa", [então] também poderá executar o aplicativo de teste "glxgears". Esse aplicativo abre uma janela com três engrenagens girando. O terminal do "X" exibirá quantos quadros foram desenhados a cada cinco segundos, de forma que isso dará uma avaliação comparativa aproximada. A janela é escalonável e os quadros desenhados por segundo são altamente dependentes do tamanho da janela. Em alguns "hardwares", o "glxgears" executará sincronizado com o sinal de atualização vertical e a taxa de quadros será aproximadamente a mesma que a taxa de atualização do monitor. Depurando o Xorg Ao iniciar o "Xorg", existem algumas maneiras de verificar quaisquer problemas que você possa ter. Se o sistema funcionar, [então] você poderá ver qual controlador está sendo usado executando o "xdriinfo". Se existirem problemas ou você quiser apenas verificar, {então} consulte Xorg.0.log. O local do Xorg.0.log depende de como o Xorg está instalado. Se as instruções no livro forem seguidas à risca e o Xorg for iniciado a partir da linha de comando, ele estará localizado no diretório $HOME/.local/share/xorg/. Se o Xorg for iniciado por um gerenciador de telas (por exemplo, [5957]lightdm-1.32.0, [5958]sddm-0.20.0 ou [5959]GDM-44.1) ou se $XORG_PREFIX/bin/Xorg tiver o bit suid configurado, ele estará localizado no diretório /var/log/. Problemas do Xorg.0.log Ao olhar para o "Xorg.0.log", verifique entradas como ("EE") ou ("WW"). Abaixo estão algumas entradas comuns: (WW) Open ACPI failed (/var/run/acpid.socket) Esse aviso ocorre porque o "[5960]acpid-2.0.34" não está instalado. Se você não estiver em um "laptop", [então] ele pode ser seguramente ignorado. Em um "laptop", instale o "[5961]acpid-2.0.34" para habilitar ações como reconhecer quando a tampa está fechada. (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support Esse aviso é exibido quando um(a) usuário(a) normal inicia o Xorg. A biblioteca libpciaccess.so emite esse aviso quando ela tenta abrir o /dev/vga_arbiter. Se existir não mais que uma placa gráfica PCI legada (não PCIe) no sistema, ele pode ser seguramente ignorado. Se realmente necessário, as permissões desse dispositivo podem ser mudadas adicionando-se uma regra do Udev e adicionando-se o(a) usuário(a) local ao grupo de vídeo. Como o(a) usuário(a) root: cat > /etc/udev/rules.d/99-vga-arbiter.rules << EOF # /etc/udev/rules.d/99-vga-arbiter.rules: Configura grupo/modo do "vga_arbiter" ACTION=="add", KERNEL=="vga_arbiter", GROUP="video" MODE="0660" EOF usermod -a -G video Gráficos Híbridos Os Gráficos Híbridos ainda estão em estado experimental para o Linux. Os(As) desenvolvedores(as) do "Xorg" desenvolveram uma tecnologia chamada "PRIME" que pode ser usada para comutar entre "GPU" discreta integrada e sem "mux" à vontade. A comutação automática não é possível no momento. Para a finalidade de usar a "PRIME" para comutação de "GPU", certifique-se de que está usando o Núcleo Linux 3.4 ou posterior (recomendado). Você precisará dos controladores "DRI" e "DDX" mais recentes para o teu "hardware" e do Servidor "Xorg" 1.13 ou posterior. O Servidor "Xorg" deveria carregar ambos os controladores de "GPU" automaticamente. Você pode verificar isso executando: xrandr --listproviders Deveria existir dois (ou mais) provedores listados, por exemplo: Providers: number : 2 Provider 0: id: 0x7d cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 3 outputs: 4 associated providers: 1 name:modesetting Provider 1: id: 0x56 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 6 outputs: 1 associated providers: 1 name:modesetting Para a finalidade de poder executar um aplicativo GLX em uma GPU discreta, você precisará executar o seguinte comando, onde é o ID da placa discreta mais poderosa e é o ID da placa que tiver uma tela conectada: xrandr --setprovideroffloadsink Nota Com o controlador de configuração de modo do Xorg, que é compatível com DRI3, o comando acima não mais é necessário. No entanto, ele não danifica. Então, você precisará exportar a variável de ambiente "DRI_PRIME=1" toda vez que quiser que a poderosa "GPU" seja usada. Por exemplo, DRI_PRIME=1 glxinfo | grep -E "(OpenGL vendor|OpenGL renderer|OpenGL version)" mostrará o fornecedor, o renderizador e a versão do "OpenGL" para a "GPU" discreta. Se o último comando informar o mesmo renderizador "OpenGL" com e sem "DRI_PRIME=1", [então] você precisará verificar a tua instalação. Configurando Dispositivos do Xorg Para a maioria das configurações de "hardware", o "Xorg" moderno corrigirá automaticamente a configuração do servidor sem qualquer intervenção do(a) usuário(a). Existem, no entanto, alguns casos em que a configuração automática estará incorreta. A seguir estão alguns de itens de configuração manual de exemplo que possivelmente sejam de uso nesses casos. Configurando Dispositivos de Entrada do X Para a maioria dos dispositivos de entrada, nenhuma configuração adicional será necessária. Esta seção é fornecida somente para fins informativos. Uma amostra de configuração padrão do "XKB" poderia ser semelhante ao seguinte (executado como o(a) usuário(a) "root"): cat > /etc/X11/xorg.conf.d/xkb-defaults.conf << "EOF" Section "InputClass" Identifier "XKB Defaults" MatchIsKeyboard "yes" Option "XkbLayout" "fr" Option "XkbOptions" "terminate:ctrl_alt_bksp" EndSection EOF A linha “XkbLayout” é um exemplo para um teclado francês ("AZERTY"). Mude-a para o modelo do teu teclado. Essa linha não é necessária para um teclado "QWERTY" ("EUA"). Configurações de Ajuste Fino de Exibição Se você deseja configurar a resolução do monitor para o Xorg, primeiro execute xrandr em um terminal do X para listar as resoluções suportadas e as correspondentes taxas de atualização. Por exemplo, ele gera o seguinte para um monitor: Screen 0: minimum 16 x 16, current 5760 x 2160, maximum 32767 x 32767 DP-1 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 600mm x 340mm 3840x2160 59.98*+ 2048x1536 59.95 1920x1440 59.90 1600x1200 59.87 1440x1080 59.99 1400x1050 59.98 1280x1024 59.89 1280x960 59.94 1152x864 59.96 1024x768 59.92 800x600 59.86 640x480 59.38 A partir da saída gerada podemos ver que o monitor está identificado como DP-1. Selecione uma resolução adequada a partir da lista da saída gerada, por exemplo 1920x1440. Então, como o(a) usuário(a) root, crie um arquivo de configuração para o servidor Xorg: cat > /etc/X11/xorg.conf.d/monitor-DP-1.conf << "EOF" Section "Monitor" Identifier "DP-1" Option "PerferredMode" "1920x1440" EndSection EOF Às vezes, o xrandr pode falhar para detectar algumas configurações de resolução suportadas pelo monitor. Isso geralmente acontece com monitores virtuais de gerenciadores de máquinas virtuais, como [5962]qemu-8.1.0 ou VMWare: um monitor virtual na verdade suporta todos os pares de números inteiros em um intervalo conforme a resolução, mas xrandr só listará alguns. Para usar uma resolução não listada por xrandr, primeiro execute cvt para obter a linha de modo para a resolução. Por exemplo: cvt 1600 900 # 1600x900 59.95 Hz (CVT 1.44M9) hsync: 55.99 kHz; pclk: 118.25 MHz Modeline "1600x900_60.00" 118.25 1600 1696 1856 2112 900 903 908 934 -hsync + vsync Como o(a) usuário(a) root, crie um arquivo de configuração do servidor Xorg contendo essa linha de modo e especifique o modo como modo preferido: cat > /etc/X11/xorg.conf.d/monitor-DP-1.conf << "EOF" Section "Monitor" Identifier "DP-1" Modeline "1600x900_60.00" 118.25 1600 1696 1856 2112 900 903 908 934 - hsync +vsync Option "PerferredMode" "1600x900_60.00" EndSection EOF Alguns monitores LCD de última geração suportam uma taxa de atualização superior a 100 Hz, mas xrandr pode falhar para reconhecer a taxa de atualização suportada e usar 60 Hz. Esse problema impediria você de utilizar a capacidade completa do monitor e poderia fazer com que a tela piscasse ou mostrasse “artefatos” como malhas ou grades. Para resolver o problema, use novamente cvt para obter a linha de modo com uma taxa de atualização personalizada: cvt 3840 2160 144 # 3840x2160 143.94 Hz (CVT) hsync: 338.25 kHz; pclk: 1829.25 MHz Modeline "3840x2160_144.00" 1829.25 3840 4200 4624 5408 2160 2163 2168 2350 - hsync +vsync Em seguida, cole-a no arquivo de configuração do servidor Xorg e configure-a como modo preferido. Outra configuração comum é ter vários esquemas de servidor para uso em ambientes diferentes. Apesar de que o servidor automaticamente detectará a presença de outro monitor, ele possivelmente obtenha a ordem incorreta: cat > /etc/X11/xorg.conf.d/server-layout.conf << "EOF" Section "ServerLayout" Identifier "DefaultLayout" Screen 0 "Screen0" 0 0 Screen 1 "Screen1" LeftOf "Screen0" Option "Xinerama" EndSection EOF Quando você arrasta uma janela no TWM (ou em qualquer gerenciador de janelas não de composição) horizontalmente, você poderá observar que as bordas verticais da janela são quebradas em vários segmentos. Esse é um exemplo dos artefatos visuais chamados rasgamento de tela. Para resolver os problemas de rasgamento de tela, crie um arquivo de configuração que habilite a opção TearFree. Observe que você precisa ter o remendo Tearfree aplicado a partir de [5963]Xorg-Server-21.1.8 para isso funcionar corretamente e isso pode aumentar a alocação de memória e reduzir o desempenho. cat > /etc/X11/xorg.conf.d/20-tearfree.conf << "EOF" Section "Device" Identifier "Graphics Adapter" Driver "modesetting" Option "TearFree" "true" EndSection EOF Com o moderno Xorg, pouca ou nenhuma configuração adicional de placa gráfica é necessária. Se você devesse precisar de opções extras passadas para o teu controlador de vídeo, adicione-as na seção Device também. As opções suportadas pelo controlador de configuração de modo estão documentadas na página de manual modesetting(4). Ajustando Fontconfig Visão Geral do Fontconfig Se você lê texto somente em inglês e está satisfeito(a) com as fontes livres comuns listadas na próxima página, [então] possivelmente você nunca precise se preocupar com os detalhes do como o "fontconfig" funciona. Mas existem muitas coisas que podem ser alteradas se não atenderem às tuas necessidades. Embora esta página seja longa, ela mal arranha a superfície e você estará apto(a) a encontrar muitas visões alternativas na "web" (mas, por favor, lembre-se de que algumas coisas mudaram ao longo dos anos; por exemplo, o "autohinter" não mais é o padrão). O objetivo aqui é o de te fornecer informações suficientes para entender as mudanças que você está fazendo. O Protocolo de Fonte Xft O protocolo de fonte Xft fornece renderização de fonte suavizada por intermédio do freetype, e as fontes são controladas a partir do lado cliente usando o fontconfig (exceto para o [5964]rxvt-unicode-9.31, que consegue usar fontes listadas em ~/.Xresources e o [5965]AbiWord-3.0.5 que usa somente a fonte especificada). O caminho de pesquisa padrão é /usr/share/fonts e ~/.local/share/fonts, embora, no momento, o antigo e obsoleto local ~/.fonts ainda funcione. O Fontconfig pesquisa diretórios no caminho dele recursivamente e mantém um cache das características da fonte em cada diretório. Se o cache parecer desatualizado, ele será ignorado e as informações serão obtidas a partir das próprias fontes (isso pode levar alguns segundos se você tiver muitas fontes instaladas). Se você tiver instalado o Xorg em qualquer prefixo diferente de /usr, nenhuma fonte do X foi instalada em um local conhecido para o Fontconfig. Links simbólicos foram criados a partir dos diretórios de fontes do X OTF e TTF para /usr/share/fonts/X11-{OTF,TTF}. Isso permite que o Fontconfig use as fontes OpenType e TrueType fornecidas pelo X, embora muitas pessoas preferirão usar fontes mais modernas. O "Fontconfig" usa nomes para definir fontes. Os aplicativos geralmente usam nomes genéricos de fontes, como "Monospace", "Sans" e "Serif". O "Fontconfig" resolve esses nomes para uma fonte que tenha todos os caracteres que cubram a ortografia do idioma indicado pelas configurações de localidade. Comandos Úteis Os seguintes comandos possivelmente sejam úteis ao se trabalhar com o "fontconfig": fc-list | less : mostra uma lista de todas as fontes disponíveis (/caminho/para/nome_do_arquivo: Nome da Fonte:estilo). Se você instalou uma fonte há mais de tinta (30) segundos, mas ela não aparece, então ela ou um dos diretórios dela não está legível pelo(a) teu(ua) usuário(a). fc-match 'Nome da Fonte' : informa qual fonte será usada se a fonte nomeada for solicitada. Normalmente você usaria isso para ver o que acontece se uma fonte que você não tenha instalado for solicitada, mas você também pode usá-lo se o sistema estiver fornecendo uma fonte diferente da que você esperava (talvez porque o fontconfig não pense que a fonte suporte o teu idioma). fc-match -a 'Tipo' | less : fornece uma lista de todas as fontes que podem ser usadas para esse tipo (Monospace, Sans, Serif). Observe que, no extremo, o fontconfig pegará um glifo a partir de qualquer fonte disponível, mesmo que ela não seja do tipo especificado, e, a menos que saiba a respeito do tipo da fonte, ele assumirá que é Sans. Se você deseja saber qual fonte será usada para uma sequência de caracteres de texto (ou seja, um ou mais glifos, precedidos por um espaço), {então} cole o seguinte comando e substitua o "xyz" pelo texto de teu interesse: FC_DEBUG=4 pango-view --font=monospace -t xyz | grep family : isso exige o "[5966]Pango-1.50.14" e o "[5967]ImageMagick-7.1.1-15" - ele invocará "[5968]display" para mostrar o texto em uma pequena janela, e, depois de fechá-la, a última linha da saída gerada mostrará qual fonte foi escolhida. Isso é particularmente útil para idiomas "CJK", e você também pode passar um idioma, por exemplo, "PANGO_LANGUAGE=en;ja" (inglês, então assuma o japonês) ou apenas "zh-cn" (ou outras variantes - "zh" por si só não é válido). Os vários arquivos Os arquivos principais estão em "/etc/fonts/conf.d/", que foi destinado a ser um diretório povoado por links simbólicos para alguns dos arquivos em "/usr/share/fontconfig/conf.avail/". Mas, muitas pessoas, e alguns pacotes, criam os arquivos diretamente. Cada nome de arquivo precisa estar na forma de dois dígitos, um travessão, "algumnome.conf" e eles são lidos em sequência. Por convenção, os números são atribuídos conforme segue: * 00-09 diretórios extras de fontes * 10-19 padrões de renderização do sistema (tais como suavização) * 20-29 opções de renderização de fontes * 30-39 substituição de família * 40-49 mapeiam família para tipo genérico * 50-59 carregar arquivos alternativos de configuração * 60-69 apelidos genéricos, mapeia genérico para família * 70-79 ajustar quais fontes estão disponíveis * 80-89 correspondência de varredura de alvo (modificar padrões escaneados) * 90-99 síntese de fontes Você também pode ter um fonts.conf pessoal em $XDG_CONFIG_HOME (que é ~/.config/fontconfig/). As regras para escolher uma fonte Se a fonte solicitada estiver instalada e desde que contenha os pontos de código exigidos para o idioma atual (no fonte, veja-se os arquivos ".orth" no diretório "fc-lang/"), [então] ela será usada. Entretanto, se o documento ou página solicitou uma fonte que não está instalada (ou, ocasionalmente, não contém todos os pontos de código exigidos), as seguintes regras entram em jogo: Primeiro, 30-metric-aliases.conf é usado para mapear apelidos para algumas fontes com as mesmas métricas (mesmo tamanho, etc.). Depois disso, uma fonte desconhecida será procurada em 45-latin.conf - se for encontrada, será mapeada como Serif ou Monospace ou Sans; caso contrário, será considerada Sans. Então 50-latin.conf fornece listas ordenadas de substitutas - as [5969]Fontes Dejavu serão usadas se você as instalou. O cirílico e o grego parecem ser tratados da mesma forma. Existem arquivos semelhantes com um prefixo 65- para o Persa e outros sistemas de escrita não latinos. Todos esses arquivos preferem fontes comerciais, se elas estiverem presentes, embora as fontes livres modernas frequentemente sejam, pelo menos, iguais. Desde fontconfig-2.12.5, também existe correspondência genérica de família para algumas fontes de emoji e matemáticas; por favor, veja-se {45,60}-generic.conf. Nos raros casos em que uma fonte não contém todos os pontos de código esperados, veja-se "Trial the First:" em "[5970]Eu olhei fixamente para o "fontconfig"" para os detalhes longos. Dicas e Suavização É possível mudar como, ou se, as fontes são sugeridas. O arquivo de exemplo a seguir contém as configurações padrão, mas com comentários. As configurações dependem muito das preferências do(a) usuário(a) e da escolha das fontes, de forma que uma mudança que melhora algumas páginas possivelmente piore outras. O local preferido para esse arquivo é: "~/.config/fontconfig/fonts.conf" Para testar configurações diferentes, você possivelmente precise sair do Xorg e então executar startx novamente, de forma que todos os aplicativos usem as novas configurações. E, se você usa GNOME, KDE, ou LXQt, as áreas de trabalhos deles podem substituir essas mudanças. Para explorar as possibilidades, crie um arquivo para o teu(ua) usuário(a): mkdir -pv ~/.config/fontconfig && cat > ~/.config/fontconfig/fonts.conf << "EOF" false true lcddefault hintslight true rgb EOF Você precisará agora editar o arquivo no teu editor preferido. Para mais exemplos, veja-se o tópico do "blfs-support" que começou em "[5971]2016-09/00128", particularmente o "[5972]2016-09/00137", e a solução preferida do postador original em "[5973]2016-09/00147". Existem outros exemplos em "[5974]"Fontconfig" no "wiki" do "Arch"" e "[5975]"Fontconfig" no "wiki" do "Gentoo"". Desabilitando as Fontes "Bitmap" Nas versões anteriores do BLFS, as feias e antigas fontes de bitmap do Xorg foram instaladas. Agora, muitas pessoas não precisarão instalar nenhuma delas. Mas, se por algum motivo, você tiver instalado uma ou mais fontes de bitmap, você consegue evitar que elas sejam usadas pelo fontconfig criando o seguinte arquivo como o(a) usuário(a) root: cat > /etc/fonts/conf.d/70-no-bitmaps.conf << "EOF" false EOF Adicionando diretórios extras de fontes Normalmente, as fontes do sistema e as fontes do(a) usuário(a) são instaladas em diretórios abaixo dos locais especificados em "[5976]O Protocolo de Fonte Xft" e não existe razão óbvia para colocá-las em outro lugar. No entanto, uma instalação completa do BLFS do "[5977]texlive-20230313" coloca muitas fontes em "/opt/texlive/2023/texmf-dist/fonts/" nos subdiretórios "opentype/" e "truetype/". Embora extrair todos esses arquivos possivelmente pareça útil (permite usá-los em aplicativos que não sejam do "TeX"), existem vários problemas com essa abordagem: 1. Existem centenas de arquivos, o que torna difícil selecionar fontes. 2. Alguns dos arquivos fazem coisas estranhas, como exibir sinalizadores de semáforo em vez de letras "ASCII" ou mapear pontos de código cirílicos para formas de caracteres apropriadas ao antigo eslavo eclesiástico em vez das formas atuais esperadas: ótimo se for isso que você precisa, mas doloroso para uso normal. 3. Várias fontes tem vários tamanhos e nomes curtos impenetráveis, o que torna ainda mais difícil selecionar a fonte correta. 4. Quando uma fonte é adicionada ao "CTAN", ela é acompanhada por pacotes do "TeX" para usá-la nos motores antigos ("xelatex" normalmente não precisa disso), e então a versão frequentemente é congelada enquanto a fonte é mantida separadamente. Algumas dessas fontes, como as "[5978]Fontes Dejavu", provavelmente já estão instaladas em teu sistema BLFS em uma versão mais recente, e se você tiver múltiplas versões de uma fonte, [então] não fica claro qual delas será usada pelo "fontconfig". No entanto, às vezes é útil olhar para essas fontes em aplicativos não "TeX", se somente para ver se você deseja instalar uma versão atual. Se você tiver instalado todo o "texlive", [então] o exemplo a seguir disponibilizará uma das fontes "Arkandis Open Type" para outros aplicativos e todas as três fontes "TrueType" "ParaType". Ajuste ou repita as linhas conforme desejado para, ou disponibilizar todas as fontes "opentype/" ou "truetype", ou para selecionar diferentes diretórios de fontes. Como o(a) usuário(a) "root": cat > /etc/fonts/conf.d/09-texlive.conf << "EOF" /opt/texlive/2023/texmf-dist/fonts/opentype/arkandis/berenisadf /opt/texlive/2023/texmf-dist/fonts/truetype/paratype EOF Se você fizer isso, [então] lembre-se de mudar todas as instâncias do ano nesse arquivo ao atualizar o "texlive" para um lançamento posterior. Preferindo certas fontes Existem muitos motivos pelos quais as pessoas possivelmente desejem que páginas que especifiquem uma fonte específica usem uma fonte diferente ou prefiram fontes específicas em "Monospace", "Sans" ou "Serif". Como você esperará, existem várias maneiras de conseguir isso. Documentos de usuário(a) do "Fontconfig" O "Fontconfig" instala a documentação de usuário(a) que inclui um exemplo de "Arquivo de usuário(a) de configuração" que, entre outras coisas, prefere a "[5979]WenQuanYi ZenHei" (uma fonte "Sans") se uma fonte "Serif" for solicitada para chinês (essa parte pode ser anacrônica, a menos que você tenha fontes chinesas não-livres, porque em "65-nonlatin.conf" essa fonte já está entre as fontes preferidas quando "Serif" é especificada para chinês) e prefere a moderna fonte "[5980]VL Gothic" se uma fonte "Sans" for especificada em uma página em japonês (caso contrário, algumas outras fontes seriam preferidas se tivessem sido instaladas). Se você tiver instalado a versão atual, a documentação de usuário(a) estará disponível em versões HTML, PDF e texto em /usr/share/doc/fontconfig-2.14.2/: mude a versão se você instalou uma diferente. Prefira uma fonte específica Como um exemplo, se por algum motivo você desejou usar a fonte "[5981]Nimbus Roman No9 L" sempre que a "Times New Roman" for referenciada (ela é metricamente semelhante e preferida para "Times Roman", mas a fonte "Serif" originária das "[5982]Fontes Liberation" será preferida para a fonte "Times New Roman" se instalada), como um(a) usuário(a) individual, você poderia instalar a fonte e então criar o seguinte arquivo: mkdir -pv ~/.config/fontconfig/conf.d && cat > ~/.config/fontconfig/conf.d/35-prefer-nimbus-for-timesnew.conf << "EOF" Times New Roman Nimbus Roman No9 L EOF Isso é algo que você normalmente faria nas configurações de um(a) usuário(a) individual, mas o arquivo nesse caso recebeu o prefixo "35-", de forma que pudesse, se desejado, ser usado abrangente a todo o sistema em "/etc/fonts/conf.d/". Prefira fontes escolhidas "CJK" O exemplo a seguir de uma configuração local (ou seja, uma que se aplica para todos(as) os(as) usuários(as) da máquina) faz várias coisas: 1. Se uma fonte "Serif" for especificada, [então] ela preferirá as variantes "[5983]UMing", de forma que nos idiomas "zh-cn", "zh-hk" e "zh-tw" as coisas deveriam parecer boas (também "zh-sg" que na verdade usa as mesmas configurações que "zh-cn") sem afetar o japonês. 2. Ela prefere as "[5984]Fontes IPAex" do japonês se elas tiverem sido instaladas (embora a "[5985]VL Gothic" terá precedência para a "Sans" (japonês) se ela também tiver sido instalada. 3. Como a "[5986]WenQuanYi ZenHei" abrange glifos "Hangul" coreanos e também é preferida para "Serif" em "65-nonlatin.conf", se instalada, ela será usada por padrão para "Serif" coreano. Para obter uma fonte "Serif" adequada, a fonte "UnBatang" é especificada aqui - mude essa linha se você instalou uma fonte "Serif" diferente da escolha das "[5987]Fontes coreanas". 4. As fontes "Monospace" são forçadas para as fontes preferidas "Sans". Se o texto estiver em coreano, então a "[5988]WenQuanYi ZenHei" será usada. Em uma localidade não "CJK", o resultado é que fontes adequadas serão usadas para todas as variantes de chinês, japonês e coreano "Hangul". Todos os outros idiomas já deveriam funcionar se uma fonte estiver presente. Como o(a) usuário(a) "root": cat > /etc/fonts/local.conf << "EOF" serif AR PL UMing IPAexMincho UnBatang sans-serif WenQuanYi Zen Hei VL Gothic IPAexGothic monospace VL Gothic IPAexGothic WenQuanYi Zen Hei EOF Editando Arquivos de Configuração no Estilo Antigo Algumas fontes, especialmente fontes chinesas, vem com arquivos de configuração que podem ser instalados em "/etc/fonts/conf.d". No entanto, se você fizer isso e então usar um terminal para executar qualquer comando que use o "fontconfig", [então] você possivelmente veja mensagens de erro como: Aviso do Fontconfig: "/etc/fonts/conf.d/69-odofonts.conf", linha 14: Ter-se várias em não é suportado e possivelmente não funcione conforme o esperado. Na prática, essas regras antigas não funcionam. Para usuários não "CJK", o "fontconfig" geralmente fará um bom trabalho sem essas regras. A origem delas remonta a quando os usuários "CJK" precisavam que os "bitmaps" feitos à mão fossem legíveis em tamanhos pequenos, e eles pareciam feios perto dos glifos latinos suavizados - eles preferiam usar a mesma fonte "CJK" para os glifos latinos. Existe um efeito colateral em fazer isso: a fonte ("Serif") também é frequentemente usada para "Sans", e em tal situação o texto (em inglês) nos menus do "Gtk" usará essa fonte - comparadas às fontes do sistema, além de ser serifada, é fraca e bastante pequena. Isso pode tornar a leitura desconfortável. No entanto, esses antigos arquivos de configuração podem ser corrigidos se você desejar usá-los. O seguinte exemplo é a primeira parte do 64-arphic-uming.conf, originário de [5989]UMing - existem muitos outros itens semelhantes que também precisam de mudanças: zh-cn zh-sg serif AR PL UMing CN O processo para corrigir isso é simples, mas tedioso - para cada item que produzir uma mensagem de erro, usando o teu editor (como o(a) usuário(a) root) edite o arquivo instalado para repetir o bloco inteiro, tantas vezes quantas forem as múltiplas variáveis, então reduza cada exemplo para ter somente uma delas. Você possivelmente deseje trabalhar em um erro de cada vez, salvar o arquivo depois de cada correção e, a partir de um terminal separado, executar um comando como fc-list 2>&1 | less para ver se a correção funcionou. Para o bloco acima, a versão corrigida será: zh-cn serif AR PL UMing CN zh-sg serif AR PL UMing CN Veja-se Também Eu olhei fixamente para o "fontconfig" ... As entradas do blog de "[5990]Eevee" são particularmente úteis se o "fontconfig" não pensar que a tua fonte escolhida suporta o teu idioma e para preferir algumas fontes japonesas não "MS" quando uma fonte feia "MS" já estiver instalada. "Fontconfig" no "wiki" do "Arch" "Arch" tem muitas informações no "wiki" dela em "[5991]font_configuration". "Fontconfig" no "wiki" do "Gentoo" "Gentoo" tem algumas informações no "wiki" dela em "[5992]Fontconfig", embora muitos detalhes (o que habilitar e "Infinality") sejam específicos para "Gentoo". Fontes TTF e OTF Acerca das fontes TTF e OTF Originalmente, o "Xorg" fornecia somente fontes "bitmap". Mais tarde, algumas fontes escaláveis "Type1" foram adicionadas, mas o mundo da área de trabalho passou a usar fontes "TrueType" e "Open Type". Para suportá-las, o "Xorg" usa "Xft", a biblioteca de interface "FreeType" do "X". Essas fontes conseguem fornecer dicas, que o fontconfig usa para ajustá-las para máxima legibilidade em monitores de computador. No Linux você deveria sempre usar as versões com dicas, se elas estiverem disponíveis (em geral os alfabetos latino, cirílico e grego conseguem usar dicas; a maioria dos outros sistemas de escrita não usa dicas). Algumas fontes são fornecidas como coleções (TTC ou OTC) onde os dados das fontes são compartilhados entre diferentes fontes, o que economiza espaço em disco. Essas deverias ser tratadas exatamente da mesma maneira que os arquivos individuais TTF ou OTF. Se uma fonte fornecer ambos os formatos TTF e OTF, você deveria preferir o formato OTF no Linux, pois ele possivelmente forneça mais recursos para aplicativos que saibam como usá-las (como o xelatex). Uma fonte possivelmente tenha múltiplas variações. Por exemplo, Noto Sans tem nove gramaturas (ExtraLight, Light, Thin, Normal, Medium, SemiBold, Bold, ExtraBold e Black) e dois estilos (Regular e Italic), portanto dezoito (18) variações no total. Normalmente, cada variação é fornecida como um arquivo TTF ou OTF separado. Para cobertura completa, você precisa instalar todos esses arquivos TTF ou OTF. Mesmo se você estiver com pouco espaço em disco, você ainda deveria instalar duas gramaturas (Regular e Bold) por dois estilos (Normal e Italic) se a fonte tiver essas variações. Algumas fontes não tem estilo itálico (por exemplo, a maioria das fontes CJK e algumas fontes mono espaçadas), e algumas fontes tem somente uma variação (por exemplo, Noto Sans Math, ela fornece somente o glifo de alguns símbolos matemáticos). Algumas fontes também estão disponíveis como arquivos de fontes variáveis. Ao contrário de um arquivo de fonte normal que contém somente uma variação, um arquivo de fonte variável contém variações infinitas. Cada variação pode ser definida pelo aplicativo usando essa fonte atribuindo número(s) a uma ou mais variáveis. Existem também instâncias nomeadas predefinidas análogas às variações tradicionais. Por exemplo, com a versão variável do Noto Sans, a variável de peso pode receber qualquer número não inferior a cem (100) e não superior a novecentos (900), e nove (9) instâncias nomeadas são predefinidas: ExtraLight para peso = 100, Regular para peso = 400, Negrito para peso = 700, etc. Assim, uma vez que um arquivo de fonte variável para Noto Sans seja instalado, todas as nove (9) instâncias nomeadas (ou “variações”) estarão disponíveis. Observe que a inclinação não é definida como uma variável na versão variável do Noto Sans, de forma que Regular e Itálico ainda são variações tradicionais e um arquivo de fonte variável separado é necessário para a variação em Itálico. Um arquivo de fonte variável é obviamente mais flexível que os arquivos de fonte normais (estáticos). É extremamente útil para ajuste fino da fonte para páginas da Web ou publicações. E o tamanho de um arquivo de fonte variável geralmente é significativamente menor que o tamanho total de vários arquivos de fonte estática para múltiplas variações. Por exemplo, o arquivo de fonte variável para Noto Sans SC tem somente 11M, enquanto o tamanho total de nove arquivos de fonte estática para Noto Sans SC é 91M. Mas você precisa ter certeza de que teus aplicativos realmente suportam fontes variáveis antes de instalar uma. Por exemplo, o lualatex suporta fontes variáveis, mas o xelatex não. Portanto, se você quiser usar uma fonte para um artigo e usar o xelatex para composição tipográfica, você não deve instalar os arquivos de fontes variáveis. Para informações acerca de fontes variáveis, por favor, veja-se [5993]Fontes Variáveis. Para alguns conjuntos de comandos sequenciais, o Pango é exigido para renderizar as coisas corretamente, seja selecionando diferentes formas de glifos ou combinando glifos - em ambos os casos, de acordo com o contexto. Isso se aplica particularmente aos conjuntos de comandos sequenciais Arábico e Índico. Fontes escaláveis padrão que vem com o X fornecem uma cobertura Unicode muito fraca. Você possivelmente note em aplicações que usam o Xft que alguns caracteres aparecem como uma caixa com quatro dígitos binários dentro. Nesse caso, uma fonte com os glifos exigidos não foi encontrada. Outras vezes, os aplicativos que não usam outras famílias de fontes por padrão e não aceitam substituições originárias do Fontconfig exibirão linhas em branco quando a fonte padrão não cobrir a ortografia do idioma do(a) usuário(a). As fontes disponíveis para um aplicativo são aquelas que estavam presentes quando ele foi iniciado, de forma que, se adicionar uma fonte extra e desejar usá-la em um aplicativo que esteja em execução, [então] você terá que fechar e reiniciar esse aplicativo. Algumas pessoas ficam felizes em ter dezenas, ou mesmo centenas, de arquivos de fontes disponíveis, mas se você quiser selecionar uma fonte específica em um aplicativo de área de trabalho (por exemplo, em um processador de texto), [então] navegar por várias fontes para encontrar a certa é lento e desajeitado - menos é melhor. Portanto, para alguns pacotes de fontes você pode decidir instalar somente uma das fontes - mas mesmo assim instalar as diferentes variantes (itálico, negrito, etc.), pois todas são variações para o mesmo nome de fonte. No passado, todos(as) recomendavam executar fc-cache como o(a) usuário(a) root depois de instalar ou remover fontes, mas isso não mais é necessário no Linux; o fontconfig fará isso automaticamente se necessário, bem como se os caches de fonte forem mais antigos que trinta (30) segundos. Entretanto, se você adicionar uma fonte e quiser usá-la imediatamente, poderá executar esse comando como um(a) usuário(a) normal. Existem várias referências abaixo aos caracteres CJK. Isso significa Chinês, Japonês e Coreano, embora o Coreano moderno agora seja quase todo escrito usando os glifos fonéticos Hangul (às vezes costumava-se usar glifos Hanja que são semelhantes ao Chinês e ao Japonês). O Unicode decidiu optar pela [5994]Unificação Han e mapear alguns glifos Chineses e Japoneses para os mesmos pontos de código. Isso era muito impopular no Japão e o resultado é que fontes diferentes renderizariam alguns pontos de código em formatos bastante diferentes. Além disso, o Chinês Simplificado às vezes usará o mesmo ponto de código que o Chinês Tradicional, mas o mostrará diferentemente, um tanto análogo às diferentes formas usadas para as letras 'a' e 'g' em Inglês (um andar e dois andares), exceto que, em um contexto de idioma, alguém parecerá "errado" em vez de apenas "diferente". Ao contrário da maioria dos outros pacotes neste livro, os(as) editores(as) do BLFS não monitoram as versões das fontes nesta página - uma vez que uma fonte é boa o suficiente para uso geral, as adições típicas em uma nova versão são menores (por exemplo, novos símbolos de moeda ou glifos não para um idioma moderno, como emojis ou cartas de baralho). Portanto, nenhuma dessas fontes mostra informações de versão ou de MD5. A lista abaixo não fornecerá cobertura completa Unicode. O Unicode é atualizado a cada ano e a maioria das adições agora é para sistemas históricos de escrita. Para uma cobertura quase completa, você pode instalar as [5995]Fontes Noto (cerca de cento e oitenta (180) fontes quando da última verificação), mas esse número de fontes torna muito menos conveniente selecionar uma fonte específica em um documento, e a maioria das pessoas considerará muitas delas um desperdício de espaço. Nós costumávamos recomendar o [5996]Guia de fontes Unicode, mas ele não tem sido atualizado desde 2008 e muitos dos links dele estão mortos. Exemplos renderizados da maioria dessas fontes, e muitas outras, com detalhes de quais idiomas elas cobrem, alguns exemplos de fontes latinas com as mesmas métricas (listadas como "Fontes substitutas latinas") e vários arquivos de texto fictício para comparar fontes de tipos semelhantes , podem ser encontrados nesta página de [5997]comparação de fontes. Esse sítio também cobre outros sistemas atuais de escrita. As fontes frequentemente são fornecidas em arquivos zip, exigindo o [5998]UnZip-6.0 para listá-las e extraí-las, mas mesmo que o lançamento atual seja um tarball, você ainda deveria verificar para ver se ele criará um diretório (espalhar-se o conteúdo de um arquivo zip ou tarball ao longo do diretório atual pode ser muito confuso, e algumas fontes criam diretórios __MACOSX/). Além disso, muitas fontes são fornecidas com permissões que não permitem que 'outros(as)' usuários(as) as leiam - se uma fonte é para ser instalada para uso abrangente a todo o sistema, quaisquer diretórios precisam estar no modo 755 e todos os arquivos no modo 644, de forma que você precisa mudá-los se as permissões forem diferentes. Se você se esquecer, o(a) usuário(a) root possivelmente esteja apto(a) a ver uma fonte específica em fc-list, mas um(a) usuário(a) normal não estará apto(a) a usá-las. Como um exemplo de instalação de fontes, considere a instalação das [5999]Fontes Dejavu. Nesse pacote específico, os arquivos TTF estão em um subdiretório. A partir do diretório desempacotado do fonte, execute os seguintes comandos como o(a) usuário(a) root: install -v -d -m755 /usr/share/fonts/dejavu && install -v -m644 ttf/*.ttf /usr/share/fonts/dejavu && fc-cache -v /usr/share/fonts/dejavu Se desejar, você também pode instalar quaisquer licenças ou outra documentação, seja junto com a fonte ou em um diretório correspondente sob /usr/share/doc/. Umas poucas fontes vem com o fonte, bem como com o(s) arquivo(s) completo(s) TTF ou OTF. A menos que você pretenda modificar a fonte e tenha as ferramentas corretas (às vezes [6000]FontForge-20230101, mas frequentemente ferramentas comerciais), o fonte não fornecerá nenhum benefício, de forma que não o instale. Uma ou duas fontes até mesmo vem com arquivos Web Open Font Format (WOFF) - isso é útil se você executar um servidor web e desejar usar essa fonte em teu sítio da web, mas não é útil para um sistema de área de trabalho. Para fornecer maior cobertura Unicode, você deveria instalar algumas das seguintes fontes, dependendo de quais sítios da web e idiomas você desejar ler. A próxima parte desta página detalha algumas fontes que cobrem pelo menos os alfabetos Latinos; a parte final lida com alguns problemas do CJK. Nota A instalação das [6001]Fontes Dejavu é fortemente recomendada. Caladea [6002]Caladea (criada como uma fonte extra do Chrome OS) é metricamente compatível com a MS Cambria e pode ser usada se você tiver de editar um documento que alguém iniciou no Microsoft Office usando Cambria. Fontes Cantarell [6003]Fontes Cantarell – A família de fontes Cantarell fornece uma contemporânea Humanist Sans Serif. Ela é particularmente otimizada para legibilidade em tamanhos pequenos e é a família de fontes preferida para a interface de usuário(a) do GNOME. Carlito [6004]Carlito (criada como outra fonte extra do Chrome OS) é metricamente compatível com MS Calibri e pode ser usada se você tiver de editar um documento que alguém iniciou no Microsoft Office usando Calibri. Fontes DejaVu [6005]Fontes DejaVu – Essas fontes são uma extensão das, e substituição para as, fontes Bitstream Vera e fornecem conjuntos de comandos sequenciais baseados em Latim com acentos e pontuação, como "aspas inteligentes" e caracteres de espaçamento variantes, bem como Cirílico, Grego, Árabe, Hebraico, Armênio, Georgiano e alguns outros glifos. Na ausência das fontes Bitstream Vera (que tinham muito menos cobertura), essas são as fontes substitutas padrão. GNU FreeFont [6006]GNU FreeFont – Esse conjunto de fontes cobre muitos caracteres não CJK, em particular algumas das variantes de letras Latinas e Cirílicas usadas em idiomas minoritários, mas os glifos são comparativamente pequenos (ao contrário das fontes DejaVu que são comparativamente grandes) e bastante leves ("menos preto" quando preto sobre branco é usado), o que significa que, em alguns contextos, como terminais, eles não são visualmente agradáveis, por exemplo, quando a maioria dos outros glifos for fornecida por outra fonte. Por outro lado, algumas fontes usadas principalmente para impressão, e muitas fontes CJK, também são leves. Gelasio [6007]Gelasio é metricamente compatível com MS Georgia e o fontconfig irá usá-la se a MS Georgia for solicitada, mas não estiver instalada. Fontes Liberation As [6008]fontes Liberation fornecem substitutas livres para Arial, Courier New e Times New Roman. O fontconfig irá usá-las como substitutas para essas fontes, e também para as similares Helvetica, Courier e Times Roman, embora para essas ele possa preferir uma fonte diferente (vejam-se os exemplos nos PDFs 'Substitutes' em [6009]zarniwhoop.uk). Muitas pessoas acharão as fontes Liberation úteis para páginas onde uma dessas fontes for solicitada. Fontes Centrais da Microsoft As [6010]Fontes Centrais da Microsoft datam de 2002. Elas foram fornecidas com versões antigas do Microsoft Windows e aparentemente foram disponibilizadas para uso geral. Você pode extraí-las a partir dos arquivos '.exe' usando o bsd-tar originário do [6011]libarchive-3.7.1. Certifique-se de ler a licença antes de usá-las. Ao mesmo tempo, algumas dessas fontes (particularmente Arial, Times New Roman e, em menor grau, Courier New) foram amplamente usadas em páginas da web. O conjunto completo contém Andale Mono, Arial, Arial Black, Comic Sans MS, Courier New, Georgia, Impact, Times New Roman, Trebuchet MS, Verdana e Webdings. Por favor, observe que se somente quiser usar uma fonte com as mesmas métricas (tamanho dos caracteres, etc.) que a Arial, Courier New ou Times New Roman, você pode usar as fontes livres Liberation (acima) e, da mesma forma, consegue substituir a Georgia pela Gelasio. Embora muitas postagens antigas recomendem instalar essas fontes para uma saída gerada que pareça mais bonita, existem postagens mais recentes que essas são 'feias' ou 'quebradas'. Uma sugestão é a de que elas não suportam suavização. As fontes mais recentes que a Microsoft tornou padrão em lançamentos posteriores do MS Windows ou do MS Office (Calibri e Cambria) nunca estiveram disponíveis livremente. Entretanto, se você não as tiver instaladas, poderá encontrar equivalentes métricas (Carlito e Caladea) acima. Fontes Noto As [6012]fontes Noto ('No Tofu', ou seja, evitando caixas com pontos [dígitos hexadecimais] quando um glifo não puder ser encontrado) são um conjunto de fontes que visa a cobrir cada glifo em Unicode, não importa quão obscuro. Noto Sans é a fonte preferida para o KDE Plasma e aplicativos, exceto para fontes mono espaçadas, onde [6013]Hack é preferida. Pessoas que usam idiomas escritos em alfabetos Latino, Grego ou Cirílico precisam instalar somente a própria Noto Sans e, talvez, a Noto Sans Symbols para símbolos monetários. Para mais detalhes a respeito da organização das fontes Noto, veja-se [6014]como as fontes Noto estão organizadas. Existem também fontes separadas para todos os outros sistemas de escrita atuais, mas essas também exigirão a Noto Sans (ou Noto Serif) e, talvez, a Noto Symbols. Possivelmente seja mais fácil baixar uma fonte específica Noto acessando-se [6015]Noto Sans e mudando o nome da fonte conforme apropriado, com '+' entre cada palavra, por exemplo, 'Noto+Kufi+Arabic', 'Noto+Serif+Georgian' ou qualquer outra, depois clicando em 'Download family'. No entanto, você deveria estar ciente de que o fontconfig não sabe nada a respeito das fontes Noto. As fontes 'Noto Sans Something' são tratadas cada como fontes separadas (e para o Árabe não existe um nome específico Sans), de forma que, se você tiver outras fontes instaladas, então a escolha de qual fonte usar para glifos ausentes onde a 'Noto Sans' estiver especificada será aleatória, exceto que as fontes Sans serão preferidas às fontes conhecidas Serif e Monospace, porque Sans é a substituta para fontes desconhecidas. Source Code Pro Esse conjunto de fontes originário da Adobe (sete pesos) inclui o que agora é a fonte mono espaçada preferida para aqueles aplicativos que usam o [6016]gsettings-desktop-schemas-44.0. O lançamento GitHub [6017]source-code-pro contém OTF (preferida) e TTF, bem como o fonte e as fontes WOFF. Para usar isso em terminais, você provavelmente desejará somente a fonte Regular. Existe também uma versão mais antiga TTF disso disponível a partir de [6018]fontes do Google, mas essa tem uma cobertura muito limitada (adequada para a maioria dos idiomas Europeus que usam um alfabeto Latino). Fontes CJK: Conforme indicado anteriormente, o uso de uma combinação de caracteres Chineses, Japoneses e Coreanos pode ser complicado - cada fonte cobre somente um subconjunto dos pontos de código disponíveis; as formas preferidas dos glifos podem diferir entre os idiomas e muitas das fontes CJK atualmente não suportam o Coreano moderno. Além disso, o fontconfig prefere o Chinês ao Japonês por padrão. Ajustar isso está abordado em [6019]Prefira fontes escolhidas "CJK". Embora o Unicode tenha sido estendido para permitir um número muito grande de pontos de código CJK, aqueles fora do Plano Base (maiores que U+0xFFFF) não são comumente usados em Mandarim (a forma normal do Chinês escrito, seja Simplificado (China continental, Malásia e Singapura) ou Tradicional (Hong Kong e Taiwan)) ou Japonês. Para Hong Kong, que usa Chinês Tradicional e onde o Cantonês é o idioma dominante, o Conjunto de Caracteres Suplementares de Hong Kong foi adicionado ao Unicode em 2005 e revisado em 2009 (ele é parte da Extensão B do CJK e contém mais que mil e novecentos (1.900) caracteres). As fontes anteriores não serão capazes de suportar o Cantonês ou o uso desses caracteres onde os nomes locais forem escritos em Mandarim. As fontes UMing HK, Noto Sans HK e WenQuanYi Zen Hei parecem cobrir o uso em Hong Kong (o fontconfig discorda a respeito da Noto Sans HK). Os glifos Han tem largura dupla e outros glifos na mesma fonte possivelmente sejam mais estreitos. Para o conteúdo CJK deles, todas essas fontes podem ser consideradas como mono espaçadas (ou seja, largura fixa). Se você deseja usar fontes Noto, também existem versões Serif das diversas fontes CJK delas. As fontes Noto Sans/Serif SC/TC/HK/JP/KR são derivadas de um repositório monolítico [6020]noto-cjk e você pode encontrar lá os arquivos .ttc para a família inteira de fontes Noto Sans CJK (incluindo SC/TC/HK/JP/KR) ou Noto Serif CJK. O Google recomenda, em vez disso, que os(as) usuários(as) normais usem fontes separadas Noto Sans/Serif SC/TC/HK/JP/KR, mas se você for capaz e estiver disposto a ler textos em mais de um sistema de caracteres CJK, possivelmente seja mais fácil usar um arquivo monolítico .ttc para cobertura completa. Se tudo o que você deseja fazer é renderizar glifos CJK, instalar [6021]WenQuanYi ZenHei possivelmente seja um bom lugar para começar, se você ainda não tiver uma preferência. Fontes chinesas: Em Chinês, existem três estilos de fonte de uso comum: Sung (também conhecido como Song ou Ming), que é a forma ornamentada ("Serif") mais comum; Kai ("pinceladas"), que é um estilo ornamentado anterior que parece bem diferente; e Hei moderno ("Sans"). A menos que você aprecie as diferenças, provavelmente não desejará instalar as fontes Kai. As versões atuais das fontes chinesas Noto Sans podem ser encontradas em [6022]Noto Sans SC para chinês simplificado, [6023]Noto Sans TC para chinês tradicional e, conforme mencionado acima, [6024]Noto Sans HK para uso em Hong Kong. Fontes Opendesktop Uma cópia da versão 1.4.2 do [6025]opendesktop-fonts está preservada no Arch. Esse foi um desenvolvimento posterior do fireflysung que o BLFS costumava recomendar, adicionando fontes Kai e Mono. O nome da fonte Sung permanece AR PL New Sung, de forma que ambas não podem ser instaladas juntas. Ao mesmo tempo, existiu um lançamento 1.6 e, mais recentemente, algumas versões no GitHub, que também incluíam uma fonte Sans (Odohei), mas elas saíram da web e não está claro se existiu um problema. O fontconfig não sabe nada a respeito das fontes posteriores (AR PL New Kai, AR PL New Sung Mono) e irá tratá-las como Sans por padrão. UMing [6026]Fontes UMing – conjuntos de fontes chinesas Ming (originários do Debian, use o tarball '.orig') em um ttc que contém variações de Chinês Simplificado e Tradicional (Taiwanês, com segunda variante para diferentes [6027]bopomofo e Cantonês para Hong Kong). Isso vem com arquivos de sintaxe antiga que você pode instalar em /etc/fonts/conf.d/, mas veja-se [6028]Editando Arquivos de Configuração no Estilo Antigo. WenQuanYi Zen Hei [6029]WenQuanYi Zen Hei fornece uma fonte Sans-Serif que cobre todos os conjuntos de comandos sequenciais CJK, incluindo o Coreano. Embora inclua arquivos de configuração de estilo antigo, eles não são exigidos: o fontconfig já tratará essas fontes (a 'sharp' contém bitmaps, a monospace parece não ser Mono na parte ASCII dela) como Sans, Serif e mono espaçada. Se tudo o que você deseja fazer é estar apto(a) a renderizar texto em Han e Coreano sem se preocupar com as sutilezas das formas usadas, a fonte principal proveniente desse pacote é uma boa fonte para usar. Fontes japonesas: Em Japonês, as fontes Góticas são Sans, e Mincho são Serif. O BLFS costumava mencionar somente as fontes Kochi, mas agora essas parecem ser as menos preferidas das fontes Japonesas. Além das fontes detalhadas abaixo, considere também [6030]Noto Sans JP. Fontes IPAex As [6031]fontes IPAex são a versão atual das fontes IPA. Use o [6032]Tradutor do Google na página inicial e, então, clique no link de transferência para a Fonte IPAex Ver.004.01. Infelizmente, o fontconfig conhece somente acerca das fontes IPAfonts mais antigas e a fonte bifurcada IPA Mona (que não está facilmente disponível e que aparentemente não atende às diretrizes de Software Livre do Debian). Se instalar as fontes IPAex, você possivelmente queira torná-las conhecidas para o fontconfig. Por favor, veja-se [6033]Prefira fontes escolhidas "CJK" para uma maneira de fazer isso. Fontes Kochi As [6034]fontes Kochi Substitute foram as primeiras fontes japonesas verdadeiramente livres (as fontes Kochi anteriores foram supostamente plagiadas de uma fonte comercial). VL Gothic A fonte [6035]VL Gothic é uma fonte japonesa moderna em duas variantes com espaçamento monotônico ou proporcional para caracteres não japoneses. Fontes coreanas: Em Coreano, Batang ou Myeongjo (o nome mais antigo) são Serif, Dotum ou Gothic e são as principais fontes Sans. O BLFS recomendava anteriormente as fontes Baekmuk, mas as fontes Nanum e Un agora são preferidas à Baekmuk pelo fontconfig devido a solicitações de usuários(as). Um lugar conveniente para ver exemplos dessas e de muitas outras fontes Coreanas é [6036]Fontes Coreanas Livres. Clique em 'Gothic Fonts' ou 'All Categories -> Myeongjo Fonts', a seguir clique no exemplo de fonte para ver mais detalhes, incluindo a Licença, e clique no link para baixá-la. Para a Nanum, você precisará estar apto(a) a ler Coreano para encontrar o link de transferência na página que acessar. Para a Un, existem links diretos e você pode encontrar o tarball un-fonts-core no diretório releases/. Alternativamente, considere [6037]Noto Sans KR ou [6038]WenQuanYi ZenHei. Legado do Xorg Introdução ao Legado do Xorg O ancestral do "Xorg" ("X11R1", em 1987) inicialmente fornecia somente fontes "bitmap", com uma ferramenta ("bdftopcf") para auxiliar na instalação delas. Com a introdução do "xorg-server-1.19.0" e "libXfont2", muitas pessoas não precisarão delas. Ainda existem uns poucos pacotes antigos que podem exigir ou se beneficiar dessas fontes obsoletas e, portanto, os pacotes a seguir são mostrados aqui. Nota O pacote "font-adobe-100dpi" instala versões de cem (100) pontos por polegada das fontes "Courier", "Helvetica", "New Century Schoolbook" e "Times". Os pacotes de fontes restantes aqui fornecem versões de 75 dpi dessas fontes e várias fontes diversas - principalmente para codificações legadas. Elas servem principalmente para silenciar avisos ao se testar o "Xorg". Nas versões anteriores do BLFS, muito mais fontes legadas eram instaladas. Por favor, consulte o livro do "systemd" BLFS-7.10 em [6039]https://www.linuxfromscratch.org/blfs/view/7.10-systemd/x/x7font. html se desejar instalar quaisquer dessas outras fontes . Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6040]https://www.x.org/pub/individual/ * Transferência (FTP): [6041]ftp://ftp.x.org/pub/individual/ * Tamanho da transferência: 4,2 MB * Espaço em disco estimado exigido: 30 MB * Tempo de construção estimado: 0,3 UPC Dependências do Legado do Xorg Exigidas [6042]Fontes do Xorg Baixando o Legado do Xorg Primeiro, crie uma lista de arquivos a serem baixados. Esse arquivo também será usado para verificar a integridade das transferências quando completadas: cat > legacy.dat << "EOF" e09b61567ab4a4d534119bba24eddfb1 util/ bdftopcf-1.1.1.tar.xz 20239f6f99ac586f10360b0759f73361 font/ font-adobe-100dpi-1.0.4.tar.xz 2dc044f693ee8e0836f718c2699628b9 font/ font-adobe-75dpi-1.0.4.tar.xz 2c939d5bd4609d8e284be9bef4b8b330 font/ font-jis-misc-1.0.4.tar.xz 6300bc99a1e45fbbe6075b3de728c27f font/ font-daewoo-misc-1.0.4.tar.xz fe2c44307639062d07c6e9f75f4d6a13 font/ font-isas-misc-1.0.4.tar.xz 145128c4b5f7820c974c8c5b9f6ffe94 font/ font-misc-misc-1.1.3.tar.xz EOF Para baixar os arquivos necessários usando o [6043]Wget-1.21.4, use os seguintes comandos: mkdir legacy && cd legacy && grep -v '^#' ../legacy.dat | awk '{print $2$3}' | wget -i- -c \ -B https://www.x.org/pub/individual/ && grep -v '^#' ../legacy.dat | awk '{print $1 " " $3}' > ../legacy.md5 && md5sum -c ../legacy.md5 Instalação do Legado do Xorg Nota Ao instalar vários pacotes em um conjunto de comandos sequenciais, a instalação precisa ser feita como o(a) usuário(a) root. Existem três opções gerais que podem ser usadas para fazer isso: 1. Executar o conjunto inteiro de comandos sequenciais como o(a) usuário(a) root (não recomendado). 2. Usar o comando sudo originário do pacote [6044]Sudo-1.9.14p3. 3. Usar su -c "argumentos do comando" (aspas exigidas) que solicitará a senha do(a) root para cada iteração do loop. Uma maneira de lidar com essa situação é a de se criar uma função curta do bash que selecione automaticamente o método apropriado. Depois que o comando for configurado no ambiente, ele não precisará ser configurado novamente. as_root() { if [ $EUID = 0 ]; then $* elif [ -x /usr/bin/sudo ]; then sudo $* else su -c \\"$*\\" fi } export -f as_root Primeiro, inicie um sub "shell" que sairá em caso de erro: bash -e Instale todos os pacotes executando os seguintes comandos: for package in $(grep -v '^#' ../legacy.md5 | awk '{print $2}') do packagedir=${package%.tar.?z*} tar -xf $package pushd $packagedir ./configure $XORG_CONFIG make as_root make install popd rm -rf $packagedir as_root /sbin/ldconfig done Finalmente, saia do "shell" que foi iniciado anteriormente: exit Conteúdo Aplicativos Instalados: bdftopcf Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: $XORG_PREFIX/share/fonts/100dpi, $XORG_PREFIX/share/fonts/75dpi, $XORG_PREFIX/share/fonts/misc Descrições Curtas bdftopcf converte uma fonte do "X" do "Bitmap Distribution Format" para o "Portable Compiled Format" Capítulo 25. Bibliotecas Gráficas de Ambiente Este capítulo não contém bibliotecas que sejam necessárias para executar o "X". Ele contém bibliotecas que aprimoram o "X". Em alguns casos, o aprimoramento é tão simples quanto o suporte de fontes. Em outros, é tão complexo quanto bibliotecas que ficam entre o "X" e aplicativos que executam no "X" cujo objetivo é o de padronizar a aparência e as comunicações entre processos para diferentes aplicativos. Elas também auxiliam os(as) programadores(as) fornecendo elementos comuns. Atkmm-2.28.3 Introdução ao Atkmm "Atkmm" é a interface oficial C++ da biblioteca do kit de ferramentas de acessibilidade "ATK". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6045]https://download.gnome.org/sources/atkmm/2.28/atkmm-2.28.3.ta r.xz * Transferência (FTP): [6046]ftp://ftp.acc.umu.se/pub/gnome/sources/atkmm/2.28/atkmm-2.28. 3.tar.xz * Soma de verificação MD5 da transferência: bad12606feaaba28c4d31b8857b7099e * Tamanho da transferência: 676 KB * Espaço em disco estimado exigido: 11 MB * Tempo de construção estimado: 0,2 UPC Dependências do "Atkmm" Exigidas [6047]at-spi2-core-2.48.3 e [6048]GLibmm-2.66.5 Instalação do Atkmm Instale o "Atkmm" executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": ninja install Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: libatkmm-1.6.so Diretórios Instalados: /usr/{include,lib}/atkmm-1.6 e /usr/share/{devhelp/books/atkmm-1.6,doc/atkmm-2.28.3} Descrições Curtas libatkmm-1.6.so contém as classes da "API" do "ATK" at-spi2-core-2.48.3 Introdução ao At-Spi2 Core O pacote "At-Spi2 Core" contém uma estrutura de acessibilidade abrangente para as Tecnologias Assistivas disponíveis na plataforma "GNOME". Isso inclui um conjunto de interfaces que são implementadas por outros kits de ferramentas e aplicativos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6049]https://download.gnome.org/sources/at-spi2-core/2.48/at-spi2- core-2.48.3.tar.xz * Transferência (FTP): [6050]ftp://ftp.acc.umu.se/pub/gnome/sources/at-spi2-core/2.48/at-s pi2-core-2.48.3.tar.xz * Soma de verificação MD5 da transferência: 4ef1875d9e7035f672d494b997c892af * Tamanho da transferência: 541 KB * Espaço em disco estimado exigido: 20 MB (com os testes) * Tempo de construção estimado: menos que 0,1 UPC (com testes, exceto se existir um tempo limite) Dependências do "At-Spi2 Core" Exigidas [6051]dbus-1.14.8, [6052]GLib-2.76.4, [6053]gsettings-desktop-schemas-44.0 (tempo de execução) e [6054]Bibliotecas do Xorg Opcionais (Exigidas se construir o "GNOME") [6055]gobject-introspection-1.76.1 Opcionais [6056]Gi-DocGen-2023.1 e [6057]sphinx-7.1.2 Instalação do At-Spi2 Core Instale o "At-Spi2 Core" executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja A suíte de teste também exige que os esquemas simplistas do pacote já estejam instalados. Para testar os resultados, instale o pacote primeiro e, então, emita: dbus-run-session ninja test. Um teste, atk-test, é conhecido por atingir o tempo limite em alguns sistemas. Agora, como o(a) usuário(a) "root": ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Ddocs=true: Use essa chave se você quiser construir a documentação. Observe que você precisa ter [6058]Gi-DocGen-2023.1 e [6059]sphinx-7.1.2 instalados em teu sistema. Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: libatk-1.0.so, libatk-bridge-2.0.so, libatspi.so e /usr/lib/gtk-2.0/modules/libatk-bridge.so Diretórios Instalados: /usr/include/atk-1.0, /usr/include/at-spi-2.0, /usr/include/at-spi2-atk, /usr/lib/gnome-settings-daemon-3.0, /usr/share/defaults/at-spi2 e /usr/share/gtk-doc/html/libatspi (opcional) Descrições Curtas libatk-1.0.so contém funções que são usadas por tecnologias assistivas para interagir com aplicativos de área de trabalho libatk-bridge.so contém a ponte "GTK+-2" do Kit de Ferramentas de Acessibilidade libatk-bridge-2.0.so contém o módulo "GTK+" do Kit de Ferramentas de Acessibilidade libatspi.so contém as funções da "API" do "At-Spi2" Cairo-1.17.6 Introdução ao Cairo "Cairo" é uma biblioteca de gráficos "2D" com suporte para múltiplos dispositivos de saída gerada. Os alvos de saída gerada atualmente suportados incluem o Sistema de Janelas "X", "win32", "buffers" de imagem, "PostScript", "PDF" e "SVG". As estruturas de retaguarda experimentais incluem saída de arquivos "OpenGL", "Quartz" e "XCB". "Cairo" foi projetado para produzir saída gerada consistente em todas as mídias de saída, aproveitando ao mesmo tempo a aceleração de "hardware" de exibição quando disponível (por exemplo, por meio do "X Render Extension"). A "API" do "Cairo" fornece operações semelhantes aos operadores de desenho de "PostScript" e "PDF". As operações no "Cairo" incluem traçar e preencher "splines" cúbicas de "Bézier", transformar e compor imagens translúcidas e renderização de texto suavizado. Todas as operações de desenho podem ser transformadas por qualquer [6060]transformação afim (escala, rotação, cisalhamento, etc.). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6061]https://download.gnome.org/sources/cairo/1.17/cairo-1.17.6.ta r.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: c5a6f255af72a2e5faa8e6a53dd882e2 * Tamanho da transferência: 33 MB * Espaço em disco estimado exigido: 137 MB * Tempo de construção estimado: 0,4 UPC (Usando paralelismo=4) Dependências do "Cairo" Exigidas [6062]libpng-1.6.40 e [6063]Pixman-0.42.2 Recomendadas [6064]Fontconfig-2.14.2, [6065]GLib-2.76.4 (exigido para a maioria das "GUIs") e [6066]Bibliotecas do Xorg Opcionais [6067]ghostscript-10.01.2, [6068]GTK+-3.24.38 e [6069]GTK+-2.24.33, [6070]GTK-Doc-1.33.2, [6071]libdrm-2.4.115, [6072]librsvg-2.56.3, [6073]libxml2-2.10.4, [6074]LZO-2.10, [6075]Mesa-23.1.6, [6076]Poppler-23.08.0, [6077]Valgrind-3.21.0, [6078]jbig2dec, [6079]libspectre e [6080]Skia Nota Existe uma dependência circular entre "Cairo" e "Harfbuzz". Se o "Cairo" for construído antes do "Harfbuzz", [então] é necessário reconstruir o "Cairo" depois do "Harfbuzz" para a finalidade de construir o "Pango". Instalação do Cairo Adapte esse pacote para "Binutils-2.39" ou posterior: sed 's/PTR/void */' -i util/cairo-trace/lookup-symbol.c Corrija um arquivo do "pkg-config" que possivelmente cause erros posteriormente: sed -e "/@prefix@/a exec_prefix=@exec_prefix@" \ -i util/cairo-script/cairo-script-interpreter.pc.in Instale o "Cairo" executando os seguintes comandos: ./configure --prefix=/usr \ --disable-static \ --enable-tee && make Esse pacote não tem uma suíte de teste funcional. Agora, como o(a) usuário(a) "root": make install Explicações do Comando --enable-tee: Essa chave habilita a estrutura experimental de retaguarda da superfície "tee" que é exigida se usar o "Cairo" instalado no sistema com aplicativos "Mozilla". --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --enable-xlib-xcb: Essa chave habilita diversas funções experimentais do "Xlib"/"XCB" usadas por alguns gerenciadores de janelas. --enable-gl: Essa chave habilita a superfície experimental "OpenGL" do "Cairo", que é exigida para o compositor "Wayland" e alguns outros pacotes que não são parte do BLFS. --enable-gtk-doc: Use esse parâmetro se o "GTK-Doc" estiver instalado e você desejar criar e instalar a documentação. Conteúdo Aplicativos Instalados: cairo-trace Bibliotecas Instaladas: libcairo.so, libcairo-gobject.so e libcairo-script-interpreter.so Diretórios Instalados: /usr/{include,lib,share/gtk-doc/html}/cairo Descrições Curtas cairo-trace gera um registro de todas as chamadas feitas por um aplicativo para o "Cairo" libcairo.so contém as funções gráficas "2D" exigidas para renderizar para os vários alvos de saída gerada libcairo-gobject.so contém funções que integram o "Cairo" com o sistema de tipos "GObject" do "Glib" libcairo-script-interpreter.so contém as funções do interpretador de conjunto de comandos sequenciais para executar e manipular os rastreamentos de execução do "Cairo" libcairomm-1.0 (cairomm-1.14.0) Introdução ao libcairomm-1.0 O pacote "libcairomm-1.0" fornece uma interface "C++" para o "Cairo". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6081]https://www.cairographics.org/releases/cairomm-1.14.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 75a08d50eb08b97667e4ea2be6efa1ad * Tamanho da transferência: 592 KB * Espaço em disco estimado exigido: 9,5 MB (com os testes) * Tempo de construção estimado: menos que 0,1 UPC (com testes) Dependências do "libcairomm-1.0" Exigidas [6082]Cairo-1.17.6 e [6083]libsigc++-2.12.0 Recomendadas [6084]Boost-1.83.0 (para testes) Opcionais [6085]Doxygen-1.9.7 Instalação do libcairomm-1.0 Instale o "Cairomm-1.0" executando os seguintes comandos: mkdir bld && cd bld && meson setup .. \ --prefix=/usr \ --buildtype=release \ -Dbuild-tests=true \ -Dboost-shared=true && ninja Para executar a suíte de teste, execute: "ninja test". Agora, como o(a) usuário(a) "root": ninja install Explicações do Comando -Dbuild-tests=true: Essa chave é para construir os testes de unidade. Remova se você não tiver instalado o "[6086]Boost-1.83.0". -Dboost-shared=true: Essa chave faz o pacote usar a versão compartilhada das bibliotecas "boost". Ela é exigida se você não tiver instalado as bibliotecas estáticas "boost" e tiver passado "-Dbuild-tests=true". -Dbuild-documentation=true: Essa chave constrói a documentação "HTML" se o "Doxygen" estiver instalado. Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: libcairomm-1.0.so Diretórios Instalados: /usr/{lib,include}/cairomm-1.0 e /usr/share/{devhelp/books,doc}/cairomm-1.0 (opcional) Descrições Curtas libcairomm-1.0.so contém as classes da "API" do "Cairo" Cogl-1.22.8 Introdução ao Cogl "Cogl" é uma "API" moderna de gráficos "3D" com "APIs" utilitárias associadas projetadas para expor os recursos do hardware de gráficos "3D" usando um projeto de "API" de acesso direto de estado, em oposição ao estilo de máquina de estado do "OpenGL". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6087]https://download.gnome.org/sources/cogl/1.22/cogl-1.22.8.tar. xz * Transferência (FTP): [6088]ftp://ftp.acc.umu.se/pub/gnome/sources/cogl/1.22/cogl-1.22.8. tar.xz * Soma de verificação MD5 da transferência: 7dd8b2e24171ef7399f851cea144b569 * Tamanho da transferência: 1,7 MB * Espaço em disco estimado exigido: 69 MB (adicionar 2 MB para os testes) * Tempo de construção estimado: 0,3 UPC (Usando paralelismo=4; adicionar 0,2 UPC para os testes) Dependências do "Cogl" Exigidas [6089]Cairo-1.17.6, [6090]gdk-pixbuf-2.42.10, [6091]GLU-9.0.3, [6092]Mesa-23.1.6, [6093]Pango-1.50.14 e [6094]Wayland-1.22.0 Recomendadas [6095]gobject-introspection-1.76.1 Opcionais [6096]gst-plugins-base-1.22.5, [6097]GTK-Doc-1.33.2 e [6098]SDL2-2.28.2 Instalação do Cogl Instale o "Cogl" executando os seguintes comandos: Nota Esse pacote pode ocasionalmente falhar ao construir com múltiplos processadores. Veja-se [6099]Usando Múltiplos Processadores para mais informações. ./configure --prefix=/usr \ --enable-gles1 \ --enable-gles2 \ --enable-{kms,wayland,xlib}-egl-platform \ --enable-wayland-egl-server && make Todos os testes, exceto os testes ES2 e ES2-NPT, estão quebrados devido a pequenas mudanças de comportamento no Mesa. Para testar os resultados de qualquer maneira, emita: make check. Os testes deveriam ser executados a partir de um terminal do X em um servidor Xorg acelerado por hardware. Uns poucos testes usarão todas as CPUs em paralelo, independentemente das configurações de paralelismo. Agora, como o(a) usuário(a) "root": make install Explicações do Comando --enable-gles1: Essa chave habilita o suporte para "OpenGL ES 1.1". --enable-gles2: Essa chave habilita o suporte para "OpenGL ES 2.0". --enable-{kms,wayland,xlib}-egl-platform: Essas chaves habilitam o suporte para plataformas "EGL" "KMS", "Wayland" e "Xlib". Elas são exigidas para o suporte do "Wayland" do "GNOME". --enable-wayland-egl-server: Essa chave habilita a "API" do Servidor "Wayland" do "Cogl", que é exigida para o suporte do "Wayland" do "GNOME". --enable-cogl-gst: Essa chave habilita o suporte ao "gstreamer". --enable-gtk-doc: Use esse parâmetro se GTK-Doc estiver instalado e você desejar reconstruir e instalar a documentação da API. Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libcogl-gles2.so, libcogl-pango.so, libcogl-path.so e libcogl.so e as bibliotecas opcionais libcogl-gst.so e /usr/lib/gstreamer-1.0/libgstcogl.so Diretórios Instalados: /usr/include/cogl e /usr/share/cogl Descrições Curtas libcogl-gles2.so é a biblioteca de integração "OpenGL ES 2.0" para o "Cogl" libcogl-pango.so é a biblioteca de integração "Pango" para o "Cogl" libcogl.so é uma biblioteca de Camada de Abstração/Utilidade "GL"/"GLES" orientada a objetos Clutter-1.26.4 Introdução ao Clutter O pacote "Clutter" contém uma biblioteca de "software" de fonte aberto usada para criar interfaces gráficas de usuário(a) rápidas, visualmente ricas e animadas. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Nota Qualquer coisa construída com esse kit de ferramentas precisa de aceleração "3D" de hardware proveniente do controlador de gráficos em tempo de execução. Isso é fornecido pelo "Mesa" (ou por controladores proprietários de gráficos), mas não está disponível para todas as placas gráficas nem para todas as máquinas virtuais. Você possivelmente deseje rever [6100]Verificando a instalação da DRI. Informação do Pacote * Transferência (HTTP): [6101]https://download.gnome.org/sources/clutter/1.26/clutter-1.26. 4.tar.xz * Transferência (FTP): [6102]ftp://ftp.acc.umu.se/pub/gnome/sources/clutter/1.26/clutter-1 .26.4.tar.xz * Soma de verificação MD5 da transferência: 624dd776a5159de0267587b1df6b97b2 * Tamanho da transferência: 5,2 MB * Espaço em disco estimado exigido: 93 MB (com os testes) * Tempo de construção estimado: 0,7 UPC (Usando paralelismo=4; com os testes) Dependências do "Clutter" Exigidas [6103]at-spi2-core-2.48.3, [6104]Cogl-1.22.8 e [6105]JSON-GLib-1.6.6 Recomendadas [6106]gobject-introspection-1.76.1, [6107]GTK+-3.24.38, [6108]libgudev-238, [6109]libinput-1.23.0, [6110]libxkbcommon-1.5.0 e [6111]Wayland-1.22.0 Opcionais [6112]GTK-Doc-1.33.2 e [6113]Tslib Instalação do Clutter Instale o "Clutter" executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc \ --enable-egl-backend \ --enable-evdev-input \ --enable-wayland-backend \ --enable-wayland-compositor && make A suíte de teste não é recomendada porque alguns testes possivelmente travem para sempre. Se você quiser testar os resultados de qualquer maneira, emita: make -j1 -k check. Você precisa estar em um xterm ou similar, pois ele abre algumas janelas. Dois testes, actor-destroy 1 /actor/destruction e actor-paint-opacity 1 /actor/opacity/text, são conhecidos por falharem. Agora, como o(a) usuário(a) "root": make install Explicações do Comando --enable-egl-backend: Essa chave habilita a estrutura experimental de retaguarda de janelas "EGL". --enable-evdev-input: Essa chave habilita a estrutura experimental de retaguarda de entrada "Evdev" que é exigida para o suporte do "Wayland" do "GNOME". --enable-wayland-backend e --enable-wayland-compositor: Essas chaves habilitam a "API" experimental do "Wayland" no "Clutter" que é exigida para o suporte do "Wayland" do "GNOME". --enable-gtk-doc: Use esse parâmetro se GTK-Doc estiver instalado e você desejar reconstruir e instalar a documentação da API. Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: libclutter-1.0.so e libclutter-glx-1.0.so Diretórios Instalados: /usr/include/clutter-1.0 e /usr/share/gtk-doc/html/{cally,clutter} Descrições Curtas libclutter-1.0.so contém as funções da "API" do "Clutter" clutter-gst-3.0.27 Introdução ao Clutter Gst O pacote "Clutter Gst" contém uma biblioteca de integração para usar o "GStreamer" com o "Clutter". O objetivo dela é o de implementar a interface "ClutterMedia" usando o "GStreamer". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6114]https://download.gnome.org/sources/clutter-gst/3.0/clutter-gs t-3.0.27.tar.xz * Transferência (FTP): [6115]ftp://ftp.acc.umu.se/pub/gnome/sources/clutter-gst/3.0/clutte r-gst-3.0.27.tar.xz * Soma de verificação MD5 da transferência: 2bf9d7ca146c9d71e86c45cd00e9a28e * Tamanho da transferência: 396 KB * Espaço em disco estimado exigido: 10 MB * Tempo de construção estimado: 0,2 UPC Dependências do "Clutter Gst" Exigidas [6116]Clutter-1.26.4, [6117]gst-plugins-base-1.22.5 e [6118]libgudev-238 Recomendadas [6119]gobject-introspection-1.76.1 e [6120]gst-plugins-bad-1.22.5 Opcionais [6121]GTK-Doc-1.33.2 e [6122]Cgc Instalação do Clutter Gst Instale o "Clutter Gst" executando os seguintes comandos: ./configure --prefix=/usr && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: libclutter-gst-3.0.so e /usr/lib/gstreamer-1.0/libcluttergst3.so Diretórios Instalados: /usr/include/clutter-gst-3.0 e /usr/share/gtk-doc/html/clutter-gst-3.0 Descrições Curtas libclutter-gst-3.0.so contém as funções da "API" do "Clutter Gst" clutter-gtk-1.8.4 Introdução ao Clutter Gtk O pacote "Clutter Gtk" é uma biblioteca que fornece facilidades para integrar o "Clutter" em aplicações "GTK+". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6123]https://download.gnome.org/sources/clutter-gtk/1.8/clutter-gt k-1.8.4.tar.xz * Transferência (FTP): [6124]ftp://ftp.acc.umu.se/pub/gnome/sources/clutter-gtk/1.8/clutte r-gtk-1.8.4.tar.xz * Soma de verificação MD5 da transferência: b363ac9878e2337be887b8ee9e1da00e * Tamanho da transferência: 324 KB * Espaço em disco estimado exigido: 5,2 MB * Tempo de construção estimado: 0,1 UPC Dependências do "Clutter Gtk" Exigidas [6125]Clutter-1.26.4 e [6126]GTK+-3.24.38 Recomendadas [6127]gobject-introspection-1.76.1 Opcionais [6128]GTK-Doc-1.33.2 Instalação do Clutter Gtk Instale o "Clutter Gtk" executando os seguintes comandos: ./configure --prefix=/usr && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Explicações do Comando --enable-gtk-doc: Use esse parâmetro se GTK-Doc estiver instalado e você desejar reconstruir e instalar a documentação da API. Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: libclutter-gtk-1.0.so Diretórios Instalados: /usr/include/clutter-gtk-1.0 e /usr/share/gtk-doc/html/clutter-gtk-1.0 Descrições Curtas libclutter-gtk-1.0.so contém as funções da "API" do "Clutter Gtk" colord-gtk-0.3.0 Introdução ao Colord GTK O pacote "Colord GTK" contém ligações "GTK+" para o "Colord". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6129]https://www.freedesktop.org/software/colord/releases/colord-g tk-0.3.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 08c245d6482b3923a2b6a09f7fbbe612 * Tamanho da transferência: 24 KB * Espaço em disco estimado exigido: 6,1 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "Colord GTK" Exigidas [6130]colord-1.4.6 e [6131]GTK+-3.24.38 Recomendadas [6132]gobject-introspection-1.76.1, [6133]GTK+-2.24.33, [6134]GTK-4.12.0 e [6135]Vala-0.56.11 Opcionais [6136]DocBook-utils-0.6.14 e [6137]GTK-Doc-1.33.2 Instalação do Colord GTK Atenção Se construir a documentação, [então] "ninja -j1" precisa ser usado. Instale o "Colord GTK" executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr \ --buildtype=release \ -Dgtk2=true \ -Dgtk4=true \ -Dvapi=true \ -Ddocs=false \ -Dman=false \ .. && ninja Para testar os resultados, emita: "ninja test". Os testes precisam ser executados a partir de uma sessão do "X" e possivelmente exijam um perfil de cores para o teu monitor principal. Agora, como o(a) usuário(a) "root": ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dvapi=true: Essa chave habilita a construção das ligações "Vala". Remova essa chave se você não tiver o "[6138]Vala-0.56.11" instalado. -Dgtk2=true: Essa chave habilita construir as ligações "GTK+-2" para "colord". -Dgtk4=true: Essa chave habilita construir as ligações "GTK-4" para "colord". Configure essa opção como "false" se você não tiver o "[6139]GTK-4.12.0" instalado. -Ddocs=false: Essa chave desabilita a construção de documentação baseada em "gtk-doc". Mesmo se o "gtk-doc" estiver instalado, você precisará das versões com "namespace" das folhas de estilo "XSL" do "Docbook". -Dman=false: Essa chave desabilita a geração de páginas de manual para esse pacote. Remova essa chave se você tiver versões com "namespace" das folhas de estilo "XSL" do "Docbook" instaladas. Conteúdo Aplicativos Instalados: cd-convert Bibliotecas Instaladas: libcolord-gtk.so, libcolord-gtk2.so e libcolord-gtk4.so Diretórios Instalados: /usr/include/colord-1/colord-gtk e /usr/share/gtk-doc/html/colord-gtk Descrições Curtas cd-convert é uma Ferramenta de Teste do Gerenciador de Cores libcolord-gtk.so contém as ligações do "GTK+" do "Colord" libcolord-gtk2.so contém as ligações do "GTK+-2" do "Colord" libcolord-gtk4.so contém as ligações do "GTK-4" do "Colord" FLTK-1.3.8 Introdução ao FLTK "FLTK" (pronuncia-se "fulltick") é um kit de ferramentas "GUI" "C++" multiplataforma. "FLTK" fornece funcionalidade moderna "GUI" e suporta gráficos "3D" via" OpenGL" e as bibliotecas de emulação "GLUT" integradas dele usadas para criar interfaces gráficas de usuário(a) para aplicativos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6140]https://fltk.org/pub/fltk/1.3.8/fltk-1.3.8-source.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 84907602c2e50fadec3bc40fb61935cd * Tamanho da transferência: 5,1 MB * Espaço em disco estimado exigido: 119 MB (com a documentação) * Tempo de construção estimado: 0,2 UPC (Usando paralelismo=4) Dependências do "FLTK" Exigidas [6141]Bibliotecas do Xorg Recomendadas [6142]hicolor-icon-theme-0.17, [6143]libjpeg-turbo-3.0.0 e [6144]libpng-1.6.40 Opcionais [6145]alsa-lib-1.2.9, [6146]desktop-file-utils-0.26, [6147]Doxygen-1.9.7, [6148]GLU-9.0.3, [6149]Mesa-23.1.6 e [6150]texlive-20230313 (ou [6151]install-tl-unx) Instalação do FLTK Nota O diretório de extração "tar" é "fltk-1.3.8" e não "fltk-1.3.8-source" conforme indicado pelo nome do "tarball". Instale o "FLTK" executando os seguintes comandos: sed -i -e '/cat./d' documentation/Makefile && ./configure --prefix=/usr \ --enable-shared && make Se você deseja criar a documentação da "API", [então] emita: make -C documentation html Os testes para o pacote são interativos. Para executar os testes, execute "test/unittests". Além disso, existem outros setenta (70) aplicativos de teste executáveis no diretório "test" que podem ser executados individualmente. Agora, como o(a) usuário(a) "root": make docdir=/usr/share/doc/fltk-1.3.8 install Se desejado, [então] instale alguns jogos de exemplo construídos como parte dos testes, documentação extra e aplicativos de exemplo. Como o(a) usuário(a) "root": make -C test docdir=/usr/share/doc/fltk-1.3.8 install-linux && make -C documentation docdir=/usr/share/doc/fltk-1.3.8 install-linux Explicações do Comando sed ... documentation/Makefile: Evite instalar páginas em "/usr/share/man/cat*". Conteúdo Aplicativos Instalados: blocks, checkers, fltk-config, fluid e sudoku Bibliotecas Instaladas: libfltk.{a,so}, libfltk_forms.{a,so}, libfltk_gl.{a,so} e libfltk_images.{a,so} Diretórios Instalados: /usr/include/FL e /usr/share/doc/fltk-1.3.8 Descrições Curtas blocks é um jogo de eliminação de blocos baseado em "FLTK" checkers é uma versão baseada em "FLTK" do jogo de damas fltk-config é um conjunto de comandos utilitários sequenciais que pode ser usado para obter informações a respeito da versão atual do "FLTK" que esteja instalada no sistema fluid é um projetista interativo de "GUI" para "FLTK" sudoku é uma implementação do popular jogo "Sudoku" libfltk.so contém funções que fornecem uma "API" para implementar interfaces gráficas de usuário(a) Freeglut-3.4.0 Introdução ao Freeglut "Freeglut" pretende ser um clone 100% compatível e totalmente de fonte aberto da biblioteca "GLUT". "GLUT" é um kit de ferramentas independente do sistema de janelas para escrever aplicativos "OpenGL", implementando uma "API" de janelas simples, o que torna muito fácil aprender e explorar a programação "OpenGL". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6152]https://downloads.sourceforge.net/freeglut/freeglut-3.4.0.tar .gz * Transferência (FTP): * Soma de verificação MD5 da transferência: f1621464e6525d0368976870cab8f418 * Tamanho da transferência: 404 KB * Espaço em disco estimado exigido: 5,7 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "Freeglut" Exigidas [6153]CMake-3.27.2 e [6154]Mesa-23.1.6 Recomendadas [6155]GLU-9.0.3 Instalação do Freeglut Instale o "Freeglut" executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -DFREEGLUT_BUILD_DEMOS=OFF \ -DFREEGLUT_BUILD_STATIC_LIBS=OFF \ -Wno-dev .. && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Explicações do Comando -DFREEGLUT_BUILD_DEMOS=OFF: Desabilita a construção de aplicativos opcionais de demonstração. Observe que, se você optar por construí-los, [então] a instalação deles precisa ser feita manualmente. Os aplicativos de demonstração são limitados e a instalação não é recomendada. -DFREEGLUT_BUILD_STATIC_LIBS=OFF: Não construa a biblioteca estática. Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: libglut.so Diretórios Instalados: /usr/lib/cmake/FreeGLUT Descrições Curtas libglut.so contém funções que implementam o Kit de Ferramentas Utilitárias do "OpenGL" gdk-pixbuf-2.42.10 Introdução ao Gdk Pixbuf O pacote "Gdk Pixbuf" é um kit de ferramentas para carregamento de imagens e manipulação de "buffer" de pixeis. Ele é usado por "GTK+ 2" e "GTK+ 3" para carregar e manipular imagens. No passado ele era distribuído como parte do "GTK+ 2", mas foi dividido em um pacote separado em preparação para a mudança para o "GTK+ 3". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6156]https://download.gnome.org/sources/gdk-pixbuf/2.42/gdk-pixbuf -2.42.10.tar.xz * Transferência (FTP): [6157]ftp://ftp.acc.umu.se/pub/gnome/sources/gdk-pixbuf/2.42/gdk-pi xbuf-2.42.10.tar.xz * Soma de verificação MD5 da transferência: 4a62f339cb1424693fba9bb7ffef8150 * Tamanho da transferência: 6,2 MB * Espaço em disco estimado exigido: 36 MB (com os testes) * Tempo de construção estimado: 0,2 UPC (Com os testes; ambos usando paralelismo=4) Dependências do "Gdk Pixbuf" Exigidas [6158]GLib-2.76.4, [6159]libjpeg-turbo-3.0.0, [6160]libpng-1.6.40 e [6161]shared-mime-info-2.2 Recomendadas [6162]docutils-0.20.1, [6163]librsvg-2.56.3 (dependência de tempo de execução, necessária para carregar ícones simbólicos) e [6164]libtiff-4.5.1 Opcionais (Exigidas se construir o "GNOME") [6165]gobject-introspection-1.76.1 Opcionais [6166]gdk-pixbuf-xlib-2.40.2 (dependência de tempo de execução, necessária para carregar imagens XPM), [6167]Gi-DocGen-2023.1 (para gerar documentação), [6168]libavif-0.11.1 (dependência de tempo de execução, necessária para carregar imagens AVIF) e [6169]webp-pixbuf-loader-0.2.4 (dependência de tempo de execução, necessária para carregar imagens WebP) Instalação do Gdk Pixbuf Instale o "Gdk Pixbuf" executando os seguintes comandos: mkdir build && cd build && meson setup .. \ --prefix=/usr \ --buildtype=release \ --wrap-mode=nofallback && ninja Se você tiver o "[6170]Gi-DocGen-2023.1" instalado e desejar construir a documentação da "API" para esse pacote, [então] emita: sed "/docs_dir =/s@\$@ / 'gdk-pixbuf-2.42.10'@" -i ../docs/meson.build && meson configure -Dgtk_doc=true && ninja Para testar os resultados, emita: "ninja test". Os testes fazem um uso intenso do disco. Agora, como o(a) usuário(a) "root": ninja install Nota Se você instalou o pacote em teu sistema usando o método “DESTDIR”, [então] um arquivo importante não foi instalado e deveria ser copiado e (ou) gerado. Gere-o usando o seguinte comando como o(a) usuário(a) "root": gdk-pixbuf-query-loaders --update-cache Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. --wrap-mode=nofallback: Essa chave impede que o meson use substitutos de subprojeto para quaisquer declarações de dependência nos arquivos de construção, impedindo-o de baixar qualquer dependência opcional que não esteja instalada no sistema. -Dman=false: Use essa opção se você não quiser gerar páginas de manual ou se não quiser instalar o "[6171]docutils-0.20.1". Conteúdo Aplicativos Instalados: gdk-pixbuf-csource, gdk-pixbuf-pixdata, gdk-pixbuf-query-loaders e gdk-pixbuf-thumbnailer Bibliotecas Instaladas: libgdk_pixbuf-2.0.so Diretórios Instalados: /usr/{include,lib}/gdk-pixbuf-2.0, /usr/libexec/installed-tests/gdk-pixbuf, /usr/share/installed-tests/gdk-pixbuf, /usr/share/gtk-doc/html/gdk-pixbuf e /usr/share/thumbnailers Descrições Curtas gdk-pixbuf-csource é um pequeno utilitário que gera código "C" contendo imagens; usado para compilar imagens diretamente em aplicativos gdk-pixbuf-pixdata é uma ferramenta usada para converter "GdkPixbuf" em "GdkPixdata" gdk-pixbuf-query-loaders coleta informações a respeito de módulos carregáveis para o "Gdk Pixbuf" e as escreve no local padrão do arquivo de "cache" ou na saída gerada padrão gdk-pixbuf-thumbnailer cria miniaturas de imagens para uso em outros aplicativos libgdk_pixbuf-2.0.so contém funções usadas para carregar e renderizar imagens gdk-pixbuf-xlib-2.40.2 Introdução ao gdk-pixbuf-xlib O pacote "gdk-pixbuf-xlib" fornece uma interface obsoleta "Xlib" para" gdk-pixbuf", que é necessária para alguns aplicativos que ainda não foram portados para usar as novas interfaces. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6172]https://download.gnome.org/sources/gdk-pixbuf-xlib/2.40/gdk-p ixbuf-xlib-2.40.2.tar.xz * Transferência (FTP): [6173]ftp://ftp.acc.umu.se/pub/gnome/sources/gdk-pixbuf-xlib/2.40/g dk-pixbuf-xlib-2.40.2.tar.xz * Soma de verificação MD5 da transferência: fbd57e867e039a8cf9164d145c0f0434 * Tamanho da transferência: 53 KB * Espaço em disco estimado exigido: 1,5 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "gdk-pixbuf-xlib" Exigidas [6174]gdk-pixbuf-2.42.10 e [6175]Bibliotecas do Xorg Opcionais [6176]GTK-Doc-1.33.2 Instalação do gdk-pixbuf-xlib Instale o "gdk-pixbuf-xlib" executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr .. && ninja Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": ninja install Explicações do Comando -Dgtk_doc=true: Use essa opção se o "[6177]GTK-Doc-1.33.2" estiver instalado e você desejar reconstruir e instalar a documentação da "API". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libgdk_pixbuf_xlib-2.0.so Diretórios Instalados: /usr/include/gdk-pixbuf-2.0/gdk-pixbuf-xlib Descrições Curtas libgdk_pixbuf_xlib-2.0.so fornece uma interface "Xlib" para "gdk-pixbuf" GLEW-2.2.0 Introdução ao GLEW "GLEW" é a Biblioteca "OpenGL Extension Wrangler". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6178]https://downloads.sourceforge.net/glew/glew-2.2.0.tgz * Transferência (FTP): * Soma de verificação MD5 da transferência: 3579164bccaef09e36c0af7f4fd5c7c7 * Tamanho da transferência: 820 KB * Espaço em disco estimado exigido: 16 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "glew" Exigidas [6179]Mesa-23.1.6 Instalação do GLEW Instale o "GLEW" executando os seguintes comandos: sed -i 's%lib64%lib%g' config/Makefile.linux && sed -i -e '/glew.lib.static:/d' \ -e '/0644 .*STATIC/d' \ -e 's/glew.lib.static//' Makefile && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install.all Explicações do Comando sed -i 's%lib64%lib%g' ...: Isso garante que a biblioteca seja instalada em "/usr/lib". sed -i -e '/glew.lib.static:/d' ...: Isso suprime a biblioteca estática. make install.all: Isso instala os aplicativos bem como a biblioteca. Conteúdo Aplicativos Instalados: glewinfo e visualinfo Biblioteca Instalada: libGLEW.so Diretório Instalado: /usr/include/GL Descrições Curtas glewinfo fornece informações a respeito das extensões suportadas visualinfo é uma versão estendida do "glxinfo" libGLEW.so fornece funções para acessar extensões "OpenGL" GLU-9.0.3 Introdução ao GLU Esse pacote fornece a biblioteca "OpenGL Utility" do Mesa. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): * Transferência (FTP): [6180]ftp://ftp.freedesktop.org/pub/mesa/glu/glu-9.0.3.tar.xz * Soma de verificação MD5 da transferência: 06a4fff9179a98ea32ef41b6d83f6b19 * Tamanho da transferência: 216 KB * Espaço em disco estimado exigido: 5,9 MB * Tempo de construção estimado: 0,2 UPC Dependências do "GLU" Exigidas [6181]Mesa-23.1.6 Instalação do GLU Instale o "GLU" executando os seguintes comandos: mkdir build && cd build && meson setup .. \ --prefix=$XORG_PREFIX \ -Dgl_provider=gl \ --buildtype=release && ninja Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": ninja install && rm -vf /usr/lib/libGLU.a Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: libGLU.so Diretórios Instalados: Nenhum(a) Descrições Curtas libGLU.so é a biblioteca "OpenGL Utility" do "Mesa" GOffice-0.10.55 Introdução ao GOffice O pacote "GOffice" contém uma biblioteca de objetos e utilitários centrados em documentos "GLib"/"GTK". Isso é útil para realizar operações comuns em aplicativos centrados em documentos que sejam conceitualmente simples, mas complexos para se implementar totalmente. Algumas das operações fornecidas pela biblioteca "GOffice" incluem suporte para "plugins", rotinas de carregar/salvar para documentos de aplicativos e funções de desfazer/refazer. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6182]https://download.gnome.org/sources/goffice/0.10/goffice-0.10. 55.tar.xz * Transferência (FTP): [6183]ftp://ftp.acc.umu.se/pub/gnome/sources/goffice/0.10/goffice-0 .10.55.tar.xz * Soma de verificação MD5 da transferência: c3e5f9e2fcdd63e4cd50721610abefc2 * Tamanho da transferência: 2,3 MB * Espaço em disco estimado exigido: 80 MB (com os testes) * Tempo de construção estimado: 0,3 UPC (Usando paralelismo=4; com os testes) Dependências do "GOffice" Exigidas [6184]GTK+-3.24.38, [6185]libgsf-1.14.50, [6186]librsvg-2.56.3, [6187]libxslt-1.1.38 e [6188]Which-2.21 Opcionais [6189]gobject-introspection-1.76.1, [6190]ghostscript-10.01.2, [6191]gsettings-desktop-schemas-44.0, [6192]GTK-Doc-1.33.2, [6193]Lasem e [6194]libspectre Instalação do GOffice Instale o "GOffice" executando os seguintes comandos: ./configure --prefix=/usr && make Se você desejar executar os testes, [então] emita: "make check". Agora, como o(a) usuário(a) "root": make install Explicações do Comando --enable-gtk-doc: Use esse parâmetro se GTK-Doc estiver instalado e você desejar reconstruir e instalar a documentação da API. Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libgoffice-0.10.so Diretórios Instalados: /usr/include/libgoffice-0.10, /usr/{lib,share}/goffice e /usr/share/gtk-doc/html/goffice-0.10 Descrições Curtas libgoffice-0.10.so contém funções de "API" para fornecer suporte para objetos e utilitários centrados em documentos Grantlee-5.3.1 Introdução ao grantlee "Grantlee" é um conjunto de bibliotecas de "software" livre escritas usando a estrutura "Qt". Atualmente duas bibliotecas são fornecidas com o "Grantlee": "Grantlee Templates" e "Grantlee TextDocument". O objetivo da "Grantlee Templates" é o de tornar mais fácil para os(as) desenvolvedores(as) de aplicativos separar a estrutura dos documentos dos dados que eles contém, abrindo a porta para temas. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6195]https://github.com/steveire/grantlee/releases/download/v5.3.1 /grantlee-5.3.1.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 4ef8eae5dd61e3c7603d76208eb4d922 * Tamanho da transferência: 1,1 MB * Espaço em disco estimado exigido: 27 MB * Tempo de construção estimado: 0,4 UPC (Usando paralelismo=4) Dependências do "Grantlee" Exigidas [6196]CMake-3.27.2 e ([6197]Qt-5.15.10 ou [6198]qt-alternate-5.15.10) Opcionais [6199]Doxygen-1.9.7 (para documentação) Instalação do Grantlee Instale o "Grantlee" executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ .. && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: nenhum(a) Bibliotecas Instaladas: libGrantlee_Templates.so e libGrantlee_TextDocument.so Diretórios Instalados: /usr/lib/cmake/Grantlee5, /usr/lib/grantlee/5.2 e /usr/include/grantlee Descrições Curtas libGrantlee_Templates.so contém modelos comuns de documentação para separar documentos da estrutura deles libGrantlee_TextDocument.so contém funções que permitem separar o conteúdo dos documentos de texto da estrutura deles. Graphene-1.10.8 Introdução ao Graphene O pacote "Graphene" fornece uma fina camada de tipos para bibliotecas de gráficos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6200]https://download.gnome.org/sources/graphene/1.10/graphene-1.1 0.8.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 169e3c507b5a5c26e9af492412070b81 * Tamanho da transferência: 328 KB * Espaço em disco estimado exigido: 7,6 MB * Tempo de construção estimado: menos que 0,1 UPC (com testes) Dependências do "Graphene" Exigidas [6201]GLib-2.76.4 e [6202]gobject-introspection-1.76.1 Instalação do Graphene Instale o "Graphene" executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Para testar os resultados, emita: "ninja test". Agora, como o(a) usuário(a) "root": ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dgtk_doc=true: Use essa chave se você tiver o "[6203]GTK-Doc-1.33.2" instalado e desejar gerar a documentação da "API". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libgraphene-1.0.so Diretórios Instalados: /usr/include/graphene-1.0, /usr/lib/graphene-1.0, /usr/{libexec,share}/installed-tests/graphene-1.0 Descrições Curtas libgraphene-1.0.so contém funções que fornecem uma fina camada de tipos para bibliotecas de gráficos GTK+-2.24.33 Introdução ao GTK+ 2 O pacote "GTK+ 2" contém bibliotecas usadas para criar interfaces gráficas de usuário(a) para aplicativos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6204]https://download.gnome.org/sources/gtk+/2.24/gtk+-2.24.33.tar .xz * Transferência (FTP): [6205]ftp://ftp.acc.umu.se/pub/gnome/sources/gtk+/2.24/gtk+-2.24.33 .tar.xz * Soma de verificação MD5 da transferência: 0118e98dbe0e4dab90ce475f9f0e6c0c * Tamanho da transferência: 12 MB * Espaço em disco estimado exigido: 285 MB * Tempo de construção estimado: 0,9 UPC (usando paralelismo=4; adicionar 0,1 UPC para testes) Dependências do "GTK+ 2" Exigidas [6206]at-spi2-core-2.48.3, [6207]gdk-pixbuf-2.42.10 e [6208]Pango-1.50.14 Recomendadas [6209]hicolor-icon-theme-0.17 Opcionais [6210]Cups-2.4.6, [6211]DocBook-utils-0.6.14, [6212]gnome-themes-extra-3.28 (tempo de execução, para os temas "Adwaita" e "HighContrast"), [6213]gobject-introspection-1.76.1 e [6214]GTK-Doc-1.33.2 Nota Se o "[6215]gobject-introspection-1.76.1" foi instalado depois do "[6216]at-spi2-core-2.48.3", "[6217]gdk-pixbuf-2.42.10" e (ou) "[6218]Pango-1.50.14", [então] esses pacotes terão que ser reconstruídos antes que esse pacote possa ser construído. Instalação do GTK+ 2 Instale o "GTK+ 2" executando os seguintes comandos: sed -e 's#l \(gtk-.*\).sgml#& -o \1#' \ -i docs/{faq,tutorial}/Makefile.in && ./configure --prefix=/usr --sysconfdir=/etc && make Para testar os resultados, emita: "make -k check". Observe que você precisa executar os testes a partir de uma sessão com capacidade de exibição de janela do "X" (ou seja, não um terminal/console baseado em texto), pois os testes tentam abrir uma janela do "X" e os testes podem demorar excessivamente. Usando uma janela do "X", os testes deveriam levar menos que 0,1 UPC. Um teste, "aliasfilescheck.sh", é conhecido por falhar. Agora, como o(a) usuário(a) "root": make install Nota Se você instalou o pacote em teu sistema usando o método “DESTDIR”, [então] um arquivo importante não foi instalado e precisa ser copiado e (ou) gerado. Gere-o usando o seguinte comando como o(a) usuário(a) "root": gtk-query-immodules-2.0 --update-cache Explicações do Comando sed -i 's#l \(gtk-.*\).sgml#& -o \1#' docs/{faq,tutorial}/Makefile.in: Se você tiver o "[6219]DocBook-utils-0.6.14" instalado (especificamente, se o "configure" encontrar "db2html"), então ele tentará usá-lo para reconstruir parte da documentação "HTML" dele e falhará devido a defeitos em alguns dos "Makefiles". Esse "sed" corrige os "Makefiles". --enable-gtk-doc: Use esse parâmetro se GTK-Doc estiver instalado e você desejar reconstruir e instalar a documentação da API. Configurando o GTK+ 2 Arquivos de Configuração ~/.gtkrc-2.0, /etc/gtk-2.0/gtkrc e /usr/share/gtk-2.0/gtkrc Informação de Configuração Os temas do "GTK+ 2" mudam a aparência de um aplicativo "GTK+ 2". Um tema de ícone do "GTK+ 2" pode ser usado para mudar os ícones que aparecem na barra de ferramentas do aplicativo. Se tiver instalado um tema do "GTK+ 2" (como "[6220]gnome-themes-extra-3.28" ou "[6221]GTK Engines-2.20.2"), ou um tema de ícone do "GTK+" (como "[6222]adwaita-icon-theme-44.0"), [então] você consegue configurar tuas preferências em "~/.gtkrc-2.0": cat > ~/.gtkrc-2.0 << "EOF" include "/usr/share/themes/Glider/gtk-2.0/gtkrc" gtk-icon-theme-name = "hicolor" EOF Existem muitos mais temas disponíveis em "[6223]Gnome-Look.org" e em outros lugares. Depois que tiver definido os temas que gosta, você pode (como o(a) usuário(a) "root") torná-los o padrão em todo o sistema: cat > /etc/gtk-2.0/gtkrc << "EOF" include "/usr/share/themes/Clearlooks/gtk-2.0/gtkrc" gtk-icon-theme-name = "elementary" EOF "[6224]LXAppearance-0.6.3" é um aplicativo "GTK+ 2" que pode ajudar a escolher os temas que você gosta. Conteúdo Aplicativos Instalados: gtk-builder-convert, gtk-demo, gtk-query-immodules-2.0 e gtk-update-icon-cache Bibliotecas Instaladas: libgailutil.so, libgdk-x11-2.0.so e libgtk-x11-2.0.so Diretórios Instalados: /etc/gtk-2.0, /usr/include/{gail-1.0,gtk-2.0,gtk-unix-print-2.0}, /usr/lib/gtk-2.0, /usr/share/doc/gtk+-2.24.33, /usr/share/gtk-2.0, /usr/share/gtk-doc/html/{gail-libgail-util,gdk2,gtk2} e /usr/share/themes/{Default,Emacs,Raleigh} Descrições Curtas gtk-builder-convert converte arquivos "glade" em arquivos "XML" que podem ser carregados com "GtkBuilder" gtk-demo demonstra a funcionalidade do "GTK+ 2" e fornece código para os exemplos gtk-query-immodules-2.0 coleta informações a respeito de módulos carregáveis de método de entrada gerada para "GTK+ 2" e as escreve na saída gerada padrão gtk-update-icon-cache cria arquivos de "cache" compatíveis com "mmap" para temas de ícones. Começando com o "gtk+-2.24.24", adicione um sinalizador “--include-image-data” a esse comando, se você desejar o comportamento anterior, com dados de imagem no "cache" libgdk-x11-2.0.so contém funções que atuam como um involucrador em torno das funções de desenho e janelamento de baixo nível fornecidas pelo sistema subjacente de gráficos libgtk-x11-2.0.so contém funções que fornecem uma "API" para implementar interfaces gráficas de usuário(a) GTK+-3.24.38 Introdução ao GTK+ 3 O pacote "GTK+ 3" contém bibliotecas usadas para criar interfaces gráficas de usuário(a) para aplicativos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6225]https://download.gnome.org/sources/gtk+/3.24/gtk+-3.24.38.tar .xz * Transferência (FTP): [6226]ftp://ftp.acc.umu.se/pub/gnome/sources/gtk+/3.24/gtk+-3.24.38 .tar.xz * Soma de verificação MD5 da transferência: 7ed2f5914683ebd515da22f5784389f4 * Tamanho da transferência: 12 MB * Espaço em disco estimado exigido: 233 MB (adicionar 4 MB para testes) * Tempo de construção estimado: 0,2 UPC (usando paralelismo=4, adicionar 0,5 UPC para testes) Dependências do "GTK+ 3" Exigidas [6227]at-spi2-core-2.48.3, [6228]gdk-pixbuf-2.42.10, [6229]libepoxy-1.5.10 e [6230]Pango-1.50.14 Recomendadas [6231]adwaita-icon-theme-44.0 (padrão para algumas chaves de configuração do gtk+3, também necessário para testes), [6232]docbook-xsl-nons-1.79.2 (para gerar páginas de manual), [6233]hicolor-icon-theme-0.17 (necessário para testes), [6234]ISO Codes-4.15.0, [6235]libxkbcommon-1.5.0, [6236]libxslt-1.1.38 (para gerar páginas de manual), [6237]sassc-3.6.2, [6238]Wayland-1.22.0 e [6239]wayland-protocols-1.32 Recomendadas (Exigidas se construir o "GNOME") [6240]gobject-introspection-1.76.1 Opcionais [6241]colord-1.4.6, [6242]Cups-2.4.6, [6243]GTK-Doc-1.33.2, [6244]PyAtSpi2-2.46.0 (para testes), [6245]Tracker-3.5.3 e [6246]PAPI Instalação do GTK+ 3 Instale o "GTK+ 3" executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr \ --buildtype=release \ -Dman=true \ -Dbroadway_backend=true \ .. && ninja Para testar os resultados você precisa de uma sessão gráfica e, em seguida, emitir dbus-run-session ninja test. Agora, como o(a) usuário(a) "root": ninja install Nota Se você instalou o pacote em teu sistema usando o método “DESTDIR”, [então] um arquivo importante não foi instalado e precisa ser copiado e (ou) gerado. Gere-o usando o seguinte comando como o(a) usuário(a) "root": gtk-query-immodules-3.0 --update-cache Nota Se você instalou o pacote em teu sistema usando um método “DESTDIR”, /usr/share/glib-2.0/schemas/gschemas.compiled não foi atualizado/criado. Crie (ou atualize) o arquivo usando o seguinte comando como o(a) usuário(a) root: glib-compile-schemas /usr/share/glib-2.0/schemas Explicações do Comando -Dbroadway_backend=true: Essa chave habilita a estrutura "HTML5" de retaguarda do "GTK". -Dman=true: Essa chave permite gerar páginas de manual. -Dgtk_doc=true: Essa chave habilita construir a documentação. Ela exige o "[6247]GTK-Doc-1.33.2". -Dtracker3=true: Essa chave habilita a função de pesquisa baseada no "Tracker 3" na caixa de diálogo do seletor de arquivos do "GTK+-3". Ela exige o "[6248]Tracker-3.5.3". Configurando o GTK+ 3 Arquivos de Configuração ~/.config/gtk-3.0/settings.ini e /etc/gtk-3.0/settings.ini Informação de Configuração Os temas do "GTK+ 3" mudam a aparência de um aplicativo "GTK+ 3". Um tema de ícones pode ser usado para mudar os ícones que aparecem na barra de ferramentas do aplicativo. Se tiver instalado um tema do "GTK+ 3" (por exemplo, o tema "Adwaita" construído no "GTK+ 3"), um tema de ícone (como "[6249]oxygen-icons5-5.109.0") e (ou) uma fonte ("[6250]Fontes Dejavu"), [então] você consegue configurar tuas preferências em "~/.config/gtk-3.0/settings.ini" ou no arquivo padrão de configuração abrangente ao sistema (como o(a) usuário(a) "root"), em "/etc/gtk-3.0/settings.ini". Para o(a) usuário(a) local, um exemplo é: mkdir -vp ~/.config/gtk-3.0 cat > ~/.config/gtk-3.0/settings.ini << "EOF" [Settings] gtk-theme-name = Adwaita gtk-icon-theme-name = oxygen gtk-font-name = DejaVu Sans 12 gtk-cursor-theme-size = 18 gtk-toolbar-style = GTK_TOOLBAR_BOTH_HORIZ gtk-xft-antialias = 1 gtk-xft-hinting = 1 gtk-xft-hintstyle = hintslight gtk-xft-rgba = rgb gtk-cursor-theme-name = Adwaita EOF Existem muitas chaves de configuração, algumas com valores padrão. Você pode encontrá-las em [6251]Configurações: Manual de referência do GTK+ 3. Existem muitos mais temas disponíveis em [6252]https://www.gnome-look.org/browse/ e em outros lugares. Como parte do reprojeto do "GTK+-3.0", os botões da barra de rolagem não mais estão visíveis na barra de rolagem em muitos aplicativos. Se essa funcionalidade for desejada, [então] modifique o arquivo "gtk.css" e restaure-os usando o seguinte comando: cat > ~/.config/gtk-3.0/gtk.css << "EOF" * { -GtkScrollbar-has-backward-stepper: 1; -GtkScrollbar-has-forward-stepper: 1; } EOF Conteúdo Aplicativos Instalados: broadwayd, gtk3-demo, gtk3-demo-application, gtk3-icon-browser, gtk3-widget-factory, gtk-builder-tool, gtk-encode-symbolic-svg, gtk-launch, gtk-query-immodules-3.0, gtk-query-settings e gtk-update-icon-cache Bibliotecas Instaladas: libgailutil-3.so, libgdk-3.so e libgtk-3.so Diretórios Instalados: /etc/gtk-3.0, /usr/include/{gail,gtk}-3.0, /usr/{lib,share}/gtk-3.0 e /usr/share/themes/{Default,Emacs}/gtk-3.0 Descrições Curtas broadwayd fornece suporte para exibição de aplicativos "GTK+ 3" em um navegador da "web", usando "HTML5" e soquetes da "web" gtk3-demo é um aplicativo simples que demonstra algumas das tarefas que conseguem ser feitas com o "GTK+ 3" gtk3-demo-application é um aplicativo simples do "GTK+ 3" gtk3-icon-browser é um utilitário para explorar os ícones no atual tema de ícones. Ele mostra ícones em vários tamanhos, as variantes simbólicas deles quando disponíveis, bem como uma descrição do ícone e o contexto dele gtk3-widget-factory é um aplicativo para visualizar temas e pequenas engenhocas do "GTK+ 3" gtk-builder-tool realiza várias operações sobre arquivos ".ui" do "GtkBuilder" gtk-encode-symbolic-svg converte ícones simbólicos "SVG" em arquivos "PNG" especialmente preparados. O "GTK+ 3" consegue carregar e recolorir esses "PNGs", assim como os "SVGs" originais, mas carregá-los é muito mais rápido gtk-launch inicia um aplicativo usando o nome dado. O nome deveria corresponder ao nome do arquivo de área de trabalho do aplicativo, conforme residindo em "/usr/share/applications", com ou sem o sufixo ".desktop" gtk-query-immodules-3.0 coleta informações a respeito de módulos carregáveis de método de entrada para "GTK+ 3" e as escreve no local do arquivo padrão de "cache" ou na saída gerada padrão gtk-query-settings fornece uma listagem completa de todas as configurações relacionadas ao "GTK+ 3" gtk-update-icon-cache é um utilitário de "cache" de temas de ícones que cria arquivos de "cache" compatíveis com "mmap" para temas de ícones libgailutil-3.so contém funções que implementam as interfaces de acessibilidade definidas pelo Kit de Ferramentas de Acessibilidade do "GNOME" libgdk-3.so contém funções que atuam como um involucrador em torno das funções de desenho e janelamento de baixo nível fornecidas pelo sistema subjacente de gráficos libgtk-3.so contém funções que fornecem uma "API" para implementar interfaces gráficas de usuário(a) GTK-4.12.0 Introdução ao GTK 4 O pacote "GTK 4" contém bibliotecas usadas para criar interfaces gráficas de usuário(a) para aplicativos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6253]https://download.gnome.org/sources/gtk/4.12/gtk-4.12.0.tar.xz * Transferência (FTP): [6254]ftp://ftp.acc.umu.se/pub/gnome/sources/gtk/4.12/gtk-4.12.0.ta r.xz * Soma de verificação MD5 da transferência: 69372ddb998c125c3a04c44b8c68b339 * Tamanho da transferência: 16 MB * Espaço em disco estimado exigido: 562 MB (com documentos; adicionar 29 MB para testes) * Tempo de construção estimado: 1,3 UPC (usando paralelismo=4; com documentos; adicionar 0,6 UPC para testes) Dependências do "GTK 4" Exigidas [6255]FriBidi-1.0.13, [6256]gdk-pixbuf-2.42.10, [6257]graphene-1.10.8, [6258]ISO Codes-4.15.0, [6259]libepoxy-1.5.10, [6260]libxkbcommon-1.5.0, [6261]Pango-1.50.14, [6262]PyGObject-3.44.1 e [6263]wayland-protocols-1.32 Recomendadas [6264]adwaita-icon-theme-44.0 (padrão para algumas chaves de configurações do gtk4), [6265]gst-plugins-bad-1.22.5, [6266]gst-plugins-good-1.22.5 (tempo de execução, construído com [6267]libvpx-1.13.0), [6268]hicolor-icon-theme-0.17 (necessário para testes e para padrões) e [6269]librsvg-2.56.3 Recomendadas (Exigidas se construir o "GNOME") [6270]gobject-introspection-1.76.1 Opcionais [6271]colord-1.4.6, [6272]Cups-2.4.6, [6273]docutils-0.20.1, [6274]FFmpeg-6.0 (construído com [6275]libvpx-1.13.0), [6276]Gi-DocGen-2023.1, [6277]Highlight-4.7 (tempo de execução, usado somente pelo gtk4-demo para realce de sintaxe de código fonte de demonstração), [6278]libcloudproviders-0.3.2, [6279]sassc-3.6.2, [6280]Tracker-3.5.3, [6281]cpdb e [6282]vulkan Instalação do GTK 4 Primeiro, faça algumas mudanças originárias do fluxo de desenvolvimento: sed -e '/glib-object.h/a #include ' \ -e '/ gtk_printer_option/i GDK_AVAILABLE_IN_ALL' \ -e '/\*gtk_printer_option/i GDK_AVAILABLE_IN_ALL' \ -i.orig gtk/print/gtkprinteroptionprivate.h Instale o "GTK 4" executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr \ --buildtype=release \ -Dbroadway-backend=true \ -Dintrospection=enabled \ .. && ninja Se você tiver o "[6283]Gi-DocGen-2023.1" instalado e desejar construir a documentação da "API" para esse pacote, [então] emita: sed "s@'doc'@& / 'gtk-4.12.0'@" -i ../docs/reference/meson.build && meson configure -Dgtk_doc=true && ninja Para executar os testes, emita: dbus-run-session meson test --setup x11. Se você estiver em uma sessão do Wayland, substitua x11 por wayland. Nove testes são conhecidos por falharem se as [6284]fontes Cantrell não estiverem instaladas. Muitos testes falharão se ~/.config/gtk-4.0/settings.ini existir e a linha gtk-modules não estiver comentada. Em sistemas com placas gráficas NVIDIA, os testes possivelmente demorem significativamente mais que o tempo de teste anunciado. Agora, como o(a) usuário(a) "root": ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dbroadway-backend=true: Essa chave habilita a estrutura "HTML5" de retaguarda do "GDK". -Dintrospection=enabled: Essa chave habilita usar [6285]gobject-introspection-1.76.1 para gerar ligações GIR desses pacotes. Essas ligações são exigidas pelo GNOME. -Dcloudproviders=enabled: Use essa chave se você tiver o "[6286]libcloudproviders-0.3.2" instalado e desejar habilitar o suporte para provedores de nuvem em uma janela de seleção de arquivos. -Dsysprof=enabled: Use essa chave se você tiver o "[6287]sysprof-3.48.0" instalado e desejar habilitar o suporte de rastreamento para aplicativos baseados em "GTK4". -Dtracker=enabled: Use essa chave se você tiver o "[6288]Tracker-3.5.3" instalado e desejar usar a funcionalidade de pesquisa ao executar um seletor de arquivos. -Dcolord=enabled: Use essa chave se você tiver o "[6289]colord-1.4.6" instalado e desejar usar o "colord" com a estrutura de retaguarda de impressão do "CUPS". -Dman-pages=true: Use essa chave se você tiver o "[6290]docutils-0.20.1" instalado e desejar gerar as páginas de manual. Configurando o GTK 4 Arquivos de Configuração ~/.config/gtk-4.0/settings.ini e /usr/share/gtk-4.0/settings.ini Informação de Configuração Os temas do "GTK 4" mudam a aparência de um aplicativo "GTK 4". Um tema de ícones pode ser usado para mudar os ícones que aparecem na barra de ferramentas do aplicativo. Se tiver instalado um tema do "GTK 4" (por exemplo, o tema "Adwaita" construído em "GTK 4"), um tema de ícone (como "[6291]oxygen-icons5-5.109.0") e (ou) uma fonte ("[6292]Fontes Dejavu"), [então] você consegue configurar tuas preferências em "~/.config/gtk-4.0/settings.ini" ou no arquivo padrão de configuração abrangente a todo o sistema (como o(a) usuário(a) "root"), em "/usr/share/gtk-4.0/settings.ini". Para o(a) usuário(a) local, um exemplo é: mkdir -pv ~/.config/gtk-4.0 cat > ~/.config/gtk-4.0/settings.ini << "EOF" [Settings] gtk-theme-name = Adwaita gtk-icon-theme-name = oxygen gtk-font-name = DejaVu Sans 12 gtk-cursor-theme-size = 18 gtk-xft-antialias = 1 gtk-xft-hinting = 1 gtk-xft-hintstyle = hintslight gtk-xft-rgba = rgb gtk-cursor-theme-name = Adwaita EOF Existem muitas chaves de configuração, algumas com valores padrão. Você consegue encontrá-las em [6293]Configurações: Manual de Referência do GTK 4. Conteúdo Aplicativos Instalados: gtk4-broadwayd, gtk4-builder-tool, gtk4-demo, gtk4-demo-application, gtk4-encode-symbolic-svg, gtk4-icon-browser, gtk4-launch, gtk4-node-editor, gtk4-print-editor, gtk4-query-settings, gtk4-update-icon-cache e gtk4-widget-factory Bibliotecas Instaladas: libgtk-4.so Diretórios Instalados: /usr/include/gtk-4.0, /usr/lib/gtk-4.0 e /usr/share/gtk-4.0 Descrições Curtas gtk4-broadwayd fornece suporte para exibição de aplicativos "GTK 4" em um navegador da "web" usando "HTML5" e soquetes da "web" gtk4-builder-tool realiza várias operações sobre arquivos ".ui" do "GtkBuilder" gtk4-demo é um aplicativo simples que demonstra algumas das tarefas que conseguem ser feitas com o "GTK 4" gtk4-demo-application é um aplicativo simples "GTK 4" que é útil para testagem gtk4-encode-symbolic-svg converte ícones simbólicos "SVG" em arquivos especiais "PNG". O "GTK 4" consegue carregar e recolorir esses "PNGs", assim como os "SVGs" originais, mas carregá-los é muito mais rápido gtk4-icon-browser é um utilitário para explorar os ícones no atual tema de ícones. Ele mostra ícones em vários tamanhos, as variantes simbólicas deles quando disponíveis, bem como uma descrição do ícone e do contexto dele gtk4-launch inicia um aplicativo usando o nome dado. O nome deveria corresponder ao nome do arquivo ".desktop" do aplicativo (como visto em "/usr/share/applications"), com ou sem a extensão ".desktop" gtk4-node-editor é um utilitário para mostrar e editar arquivos de nós de renderização. Esses arquivos de nós de renderização podem ser obtidos, por exemplo, a partir do inspetor do "GTK" gtk4-print-editor é um aplicativo simples para demonstrar impressão usando aplicativos "GTK 4" gtk4-query-settings fornece uma listagem completa de todas as configurações relacionadas ao "GTK 4" gtk4-update-icon-cache é um utilitário de "cache" de temas de ícones que cria arquivos de "cache" compatíveis com "mmap" para temas de ícones gtk4-widget-factory é um aplicativo para visualizar temas e pequenas engenhocas do "GTK 4" libgtk-4.so contém funções que fornecem uma "API" para implementar interfaces gráficas de usuário(a) GTK Engines-2.20.2 Introdução aos Motores do GTK O pacote "GTK Engines" contém oito temas/mecanismos e dois motores adicionais para o "GTK2". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6294]https://download.gnome.org/sources/gtk-engines/2.20/gtk-engin es-2.20.2.tar.bz2 * Transferência (FTP): [6295]ftp://ftp.acc.umu.se/pub/gnome/sources/gtk-engines/2.20/gtk-e ngines-2.20.2.tar.bz2 * Soma de verificação MD5 da transferência: 5deb287bc6075dc21812130604c7dc4f * Tamanho da transferência: 676 KB * Espaço em disco estimado exigido: 19 MB * Tempo de construção estimado: 0,4 UPC Dependências dos Motores do "GTK" Exigidas [6296]GTK+-2.24.33 Opcionais [6297]Lua-5.4.6 e [6298]Which-2.21 (exigido para a suíte de teste) Instalação dos Motores do GTK Instale os Motores do "GTK" executando os seguintes comandos: ./configure --prefix=/usr && make Para testar os resultados, emita: "make check". Agora, como o(a) usuário(a) "root": make install Explicações do Comando --enable-lua --with-system-lua: Use essas chaves se você instalou o "Lua" e quer construir o mecanismo de temas do "Lua". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libclearlooks.so, libcrux-engine.so, libglide.so, libhcengine.so, libindustrial.so, libmist.so, libredmond95.so e libthinice.so (bibliotecas de motores do "GTK-2") Diretórios Instalados: /usr/lib/gtk-2.0/2.10.0/engines, /usr/share/gtk-engines, /usr/share/themes/Clearlooks, /usr/share/themes/Crux, /usr/share/themes/Industrial, /usr/share/themes/Mist, /usr/share/themes/Redmond e /usr/share/themes/ThinIce Temas Instalados: Clearlooks, Crux, Industrial, Mist, Redmond e ThinIce Descrições Curtas bibliotecas de motores são sistemas gerenciadores para temas específicos Gtkmm-3.24.8 Introdução ao Gtkmm O pacote "Gtkmm" fornece uma interface "C++" para o "GTK+ 3". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6299]https://download.gnome.org/sources/gtkmm/3.24/gtkmm-3.24.8.ta r.xz * Transferência (FTP): [6300]ftp://ftp.acc.umu.se/pub/gnome/sources/gtkmm/3.24/gtkmm-3.24. 8.tar.xz * Soma de verificação MD5 da transferência: f55ed05e1f04f3d7bb11f185774acb45 * Tamanho da transferência: 14 MB * Espaço em disco estimado exigido: 200 MB (com testes) * Tempo de construção estimado: 1,2 UPC (Usando paralelismo=4; com testes) Dependências do "Gtkmm" Exigidas [6301]Atkmm-2.28.3, [6302]GTK+-3.24.38 e [6303]Pangomm-2.46.3 Opcionais [6304]Doxygen-1.9.7 Instalação do Gtkmm Instale o "Gtkmm" executando os seguintes comandos: mkdir gtkmm3-build && cd gtkmm3-build && meson setup --prefix=/usr --buildtype=release .. && ninja Para testar os resultados, emita: "ninja test". Observe que você precisa estar em um ambiente gráfico, pois os testes tentam abrir algumas janelas. Agora, como o(a) usuário(a) "root": ninja install Se você tiver construído a documentação (vejam-se as Explicações dos Comandos abaixo), [então] ela foi instalada em "/usr/share/doc/gtkmm-3.0". Para consistência, mova-a para um diretório versionado como o(a) usuário(a) "root": mv -v /usr/share/doc/gtkmm-3.0 /usr/share/doc/gtkmm-3.24.8 Explicações do Comando -Dbuild-documentation=true: Se você tiver instalado o "[6305]Doxygen-1.9.7", [então] essa definição construirá e instalará a documentação. Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libgdkmm-3.0.so e libgtkmm-3.0.so Diretórios Instalados: /usr/include/gdkmm-3.0, /usr/include/gtkmm-3.0, /usr/lib/gdkmm-3.0, /usr/lib/gtkmm-3.0 e, opcionalmente, /usr/share/{devhelp/books/gtkmm-3.0,doc/gtkmm-3.24.8} Descrições Curtas libgdkmm-3.0.so contém as classes da "API" do "GDK" libgtkmm-3.0.so contém as classes da "API" do "GTK+ 3" gtk-vnc-1.3.1 Introdução ao Gtk VNC O pacote "Gtk VNC" contém uma pequena engenhoca visualizadora "VNC" para o "GTK+". Ela é construída usando co rotinas, permitindo que seja completamente assíncrona enquanto permanece com camada única. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6306]https://download.gnome.org/sources/gtk-vnc/1.3/gtk-vnc-1.3.1. tar.xz * Transferência (FTP): [6307]ftp://ftp.acc.umu.se/pub/gnome/sources/gtk-vnc/1.3/gtk-vnc-1. 3.1.tar.xz * Soma de verificação MD5 da transferência: 27f0dc7f33cbfdaa6c9eb7cf169f4866 * Tamanho da transferência: 220 KB * Espaço em disco estimado exigido: 5,2 MB * Tempo de construção estimado: 0,1 UPC Dependências do "Gtk VNC" Exigidas [6308]GnuTLS-3.8.1, [6309]GTK+-3.24.38 e [6310]libgcrypt-1.10.2 Recomendadas [6311]gobject-introspection-1.76.1 e [6312]Vala-0.56.11 Opcionais [6313]Cyrus SASL-2.1.28 e [6314]PulseAudio-16.1 Instalação do Gtk VNC Instale o "Gtk VNC" executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": ninja install Explicações do Comando -Dwith-vala=false: Essa chave desabilita a construção das ligações "Vala". Adicione isso se você decidir construir o "gtk-vnc" sem o "Vala" instalado. Conteúdo Aplicativo Instalado: gvnccapture Bibliotecas Instaladas: libgtk-vnc-2.0.so, libgvnc-1.0.so e libgvncpulse-1.0.so Diretórios Instalados: /usr/include/gtk-vnc-2.0, /usr/include/gvnc-1.0 e /usr/include/gvncpulse-1.0 Descrições Curtas gvnccapture é usado para capturar imagem a partir do servidor "VNC" libgtk-vnc-2.0.so contém as ligações do "GTK+ 3" para o "Gtk VNC" libgvnc-1.0.so contém as ligações "GObject" para o "Gtk VNC" libgvncpulse-1.0.so é a ponte do "PulseAudio" para o "Gtk VNC" gtksourceview-3.24.11 Introdução ao GtkSourceView O pacote "GtkSourceView" contém bibliotecas usadas para estender as funções de texto do "GTK+" para incluir realce de sintaxe. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6315]https://download.gnome.org/sources/gtksourceview/3.24/gtksour ceview-3.24.11.tar.xz * Transferência (FTP): [6316]ftp://ftp.acc.umu.se/pub/gnome/sources/gtksourceview/3.24/gtk sourceview-3.24.11.tar.xz * Soma de verificação MD5 da transferência: b748da426a7d64e1304f0c532b0f2a67 * Tamanho da transferência: 1,4 MB * Espaço em disco estimado exigido: 80 MB (com os testes) * Tempo de construção estimado: 0,2 UPC (usando paralelismo = 4; com os testes) Dependências do "GtkSourceView" Exigidas [6317]GTK+-3.24.38 Recomendadas [6318]gobject-introspection-1.76.1 Opcionais [6319]Vala-0.56.11, [6320]Valgrind-3.21.0, [6321]GTK-Doc-1.33.2, [6322]itstool-2.0.7, [6323]fop-2.9 (ou [6324]dblatex) e [6325]Glade Instalação do GtkSourceView Instale o "GtkSourceView" executando os seguintes comandos: ./configure --prefix=/usr && make Para testar os resultados, emita "make check". Os testes precisam ser executados em um ambiente gráfico. Agora, como o(a) usuário(a) "root": make install Explicações do Comando --enable-gtk-doc: Use esse parâmetro se GTK-Doc estiver instalado e você desejar reconstruir e instalar a documentação da API. Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: libgtksourceview-3.0.so Diretórios Instalados: /usr/{include,share,share/gtk-doc/html}/gtksourceview-3.0 Descrições Curtas libgtksourceview-3.0.so contém extensões de função para a pequena engenhoca "GtkTextView" gtksourceview4-4.8.4 Introdução ao GtkSourceView O pacote "GtkSourceView" contém bibliotecas usadas para estender as funções de texto do "GTK+" para incluir realce de sintaxe. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6326]https://download.gnome.org/sources/gtksourceview/4.8/gtksourc eview-4.8.4.tar.xz * Transferência (FTP): [6327]ftp://ftp.acc.umu.se/pub/gnome/sources/gtksourceview/4.8/gtks ourceview-4.8.4.tar.xz * Soma de verificação MD5 da transferência: 2bf056caaae27654ec3a5930dd5597d3 * Tamanho da transferência: 1,1 MB * Espaço em disco estimado exigido: 71 MB (com os testes) * Tempo de construção estimado: 0,1 UPC (com testes; ambos usando paralelismo=4) Dependências do "GtkSourceView" Exigidas [6328]GTK+-3.24.38 Recomendadas [6329]gobject-introspection-1.76.1 e [6330]libxml2-2.10.4 Opcionais [6331]Vala-0.56.11, [6332]Valgrind-3.21.0, [6333]GTK-Doc-1.33.2, [6334]itstool-2.0.7, [6335]fop-2.9 (ou [6336]dblatex) e [6337]Glade Instalação do GtkSourceView Instale o "GtkSourceView" executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Para testar os resultados, emita "ninja test". Os testes precisam ser executados em um ambiente gráfico. Agora, como o(a) usuário(a) "root": ninja install Explicações do Comando -Dgtk_doc=true: Essa opção normalmente é usada se o "GTK-Doc" estiver instalado e você desejar reconstruir e instalar a documentação da "API". Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: libgtksourceview-4.so Diretórios Instalados: /usr/{include,share,share/gtk-doc/html}/gtksourceview-4 Descrições Curtas libgtksourceview-4.so contém extensões de função para a pequena engenhoca "GtkTextView" gtksourceview5-5.8.0 Introdução ao GtkSourceView O pacote "GtkSourceView" contém uma biblioteca usada para estender as funções de texto do "GTK" para incluir realce de sintaxe. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6338]https://download.gnome.org/sources/gtksourceview/5.8/gtksourc eview-5.8.0.tar.xz * Transferência (FTP): [6339]ftp://ftp.acc.umu.se/pub/gnome/sources/gtksourceview/5.8/gtks ourceview-5.8.0.tar.xz * Soma de verificação MD5 da transferência: 7ea7348d059c210b8bf7428af4ddbcbc * Tamanho da transferência: 1,2 MB * Espaço em disco estimado exigido: 47 MB * Tempo de construção estimado: 0,2 UPC (com testes; ambos usando paralelismo=4) Dependências do "GtkSourceView" Exigidas [6340]GTK-4.12.0 e [6341]pcre2-10.42 Recomendadas [6342]gobject-introspection-1.76.1 e [6343]libxml2-2.10.4 Opcionais [6344]GTK-Doc-1.33.2, [6345]sysprof-3.48.0, [6346]Vala-0.56.11, [6347]Valgrind-3.21.0 e [6348]Vulkan Instalação do GtkSourceView Instale o "GtkSourceView" executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Para testar os resultados, emita: "ninja test". Agora, como o(a) usuário(a) "root": ninja install Explicações do Comando -Dgtk_doc=true: Use essa chave se você tiver o "[6349]GTK-Doc-1.33.2" instalado e desejar gerar a documentação da "API". -Dsysprof=true: Use essa chave se você tiver o "[6350]sysprof-3.48.0" instalado e desejar construir com suporte ao perfilador "sysprof". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libgtksourceview-5.so Diretórios Instalados: /usr/include/gtksourceview-5 e /usr/share/gtksourceview-5 Descrições Curtas libgtksourceview-5.so contém extensões de função para a pequena engenhoca "GtkTextView" imlib2-1.12.0 Introdução ao imlib2 "imlib2" é uma biblioteca de gráficos para carregamento, salvamento, renderização e manipulação rápida de arquivos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6351]https://downloads.sourceforge.net/enlightenment/imlib2-1.12.0 .tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: df88d9a70ba5d8f64660cad49f89cf66 * Tamanho da transferência: 812 KB * Espaço em disco estimado exigido: 14 MB (com documentos) * Tempo de construção estimado: 0,2 UPC (com documentos) Dependências do "imlib2" Exigidas [6352]Bibliotecas do Xorg Recomendadas [6353]giflib-5.2.1 Opcionais [6354]Doxygen-1.9.7 (para documentação da "API"), [6355]libpng-1.6.40, [6356]libjpeg-turbo-3.0.0, [6357]libtiff-4.5.1, [6358]x265-20230215 e [6359]libid3tag Instalação do imlib2 Instale o "imlib2" executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Se você gerou a documentação da "API", [então] instale-a como o(a) usuário(a) "root": install -v -m755 -d /usr/share/doc/imlib2-1.12.0/html && install -v -m644 doc/html/* /usr/share/doc/imlib2-1.12.0/html Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --enable-doc-build: Essa chave gera a documentação da "API". O "[6360]Doxygen-1.9.7" precisa estar instalado. Conteúdo Aplicativos Instalados: imlib2_bumpmap, imlib2_colorspace, imlib2_conv, imlib2_grab, imlib2_poly, imlib2_show, imlib2_test e imlib2_view Bibliotecas Instaladas: "libImlib2.so" e vários filtros e módulos carregadores de imagens. Diretórios Instalados: /usr/lib/imlib2, /usr/share/doc/imlib2-1.12.0 e /usr/share/imlib2 Descrições Curtas imlib2_bumpmap é testar a função "bumpmap" da "imlib2" imlib2_colorspace é testar a função de espaço de cores da "imlib2" imlib2_poly é testar a função "poly" da "imlib2" imlib2_conv converte imagens entre formatos imlib2_grab tira capturas de tela imlib2_show é um teste de aplicativo da "imlib2" imlib2_test é um teste de aplicativo da "imlib2" imlib2_view exibe arquivos de imagem libImlib2.so fornece as funções para aplicativos lidarem com vários formatos de dados de imagem kColorPicker-0.2.0 Introdução ao kColorPicker "kColorPicker" é uma biblioteca "QToolButton" com um menu "pop-up" de cores, que te permite selecionar cores. O menu "pop-up" apresenta um botão de diálogo de cores que pode ser usado para adicionar cores personalizadas ao menu "pop-up". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6361]https://github.com/ksnip/kColorPicker/archive/refs/tags/v0.2. 0/kColorPicker-0.2.0.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 58a14db496f2e782be9abc4b604b5334 * Tamanho da transferência: 16 KB * Espaço em disco estimado exigido: 1,8 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "kColorPicker" Exigidas [6362]CMake-3.27.2 e ([6363]Qt-5.15.10 ou [6364]qt-alternate-5.15.10) Instalação do kColorPicker Instale o "kColorPicker" executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ .. && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libkColorPicker.a Diretórios Instalados: /usr/lib/cmake/kColorPicker kImageAnnotator-0.6.1 Introdução ao kImageAnnotator "kImageAnnotator" é uma ferramenta para anotar imagens. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6365]https://github.com/ksnip/kImageAnnotator/archive/refs/tags/v0 .6.1/kImageAnnotator-0.6.1.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: ed4db127513a6a4151cc05ffe42754e0 * Tamanho da transferência: 260 KB * Espaço em disco estimado exigido: 30 MB * Tempo de construção estimado: 0,4 UPC (Usando paralelismo=4) Dependências do "kImageAnnotator" Exigidas [6366]kcolorpicker-0.2.0 Instalação do kImageAnnotator Instale o "kImageAnnotator" executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ .. && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libkImageAnnotator.a Diretórios Instalados: /usr/include/kImageAnnotator, /usr/lib/cmake/kImageAnnotator e /usr/share/kImageAnnotator keybinder-0.3.1 Introdução ao keybinder O pacote "keybinder" contém uma biblioteca de utilitários registrando atalhos globais de teclado do "X". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6367]https://github.com/kupferlauncher/keybinder/releases/download /v0.3.1/keybinder-0.3.1.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: a6d7caae0dcb040b08692b008a68a507 * Tamanho da transferência: 384 KB * Espaço em disco estimado exigido: 2,8 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "keybinder" Exigidas [6368]GTK+-2.24.33 Recomendadas [6369]gobject-introspection-1.76.1 e [6370]PyGTK-2.24.0 Opcionais [6371]GTK-Doc-1.33.2 e [6372]Lua-5.4.6 (atualmente quebrado porque uma versão mais antiga do "Lua" é exigida) Instalação do keybinder Instale o "keybinder" executando os seguintes comandos: ./configure --prefix=/usr --disable-lua && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Explicações do Comando --disable-lua: Use essa chave para desabilitar vinculações do "[6373]Lua-5.4.6" (atualmente quebradas, porque uma versão mais antiga do "Lua" é exigida). --enable-gtk-doc: Use esse parâmetro se GTK-Doc estiver instalado e você desejar reconstruir e instalar a documentação da API. Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: libkeybinder.so e /usr/lib/python2.7/site-packages/keybinder/_keybinder.so Diretórios Instalados: /usr/lib/python2.7/site-packages/keybinder e /usr/share/gtk-doc/html/keybinder Descrições Curtas libkeybinder.so é a biblioteca que registra atalhos globais de teclado do "X" keybinder-3.0-0.3.2 Introdução ao keybinder-3.0 O pacote "keybinder-3.0" contém uma biblioteca de utilitários registrando atalhos globais de teclado do "X" para o "GTK+-3". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6374]https://github.com/kupferlauncher/keybinder/releases/download /keybinder-3.0-v0.3.2/keybinder-3.0-0.3.2.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 97260321fda721fce799174ea6ba10cf * Tamanho da transferência: 370 KB * Espaço em disco estimado exigido: 2,6 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "keybinder-3.0" Exigidas [6375]GTK+-3.24.38 Recomendadas [6376]gobject-introspection-1.76.1 Opcionais [6377]GTK-Doc-1.33.2 Instalação do keybinder-3.0 Instale o "keybinder-3.0" executando os seguintes comandos: ./configure --prefix=/usr && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Explicações do Comando --enable-gtk-doc: Use esse parâmetro se GTK-Doc estiver instalado e você desejar reconstruir e instalar a documentação da API. Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: libkeybinder-3.0.so Diretórios Instalados: /usr/include/keybinder-3.0 e /usr/share/gtk-doc/html/keybinder-3.0 Descrições Curtas libkeybinder-3.0.so é a biblioteca que registra atalhos globais de teclado do "X" libadwaita-1.3.4 Introdução ao libadwaita O pacote "libadwaita" fornece pequenas engenhocas adicionais de IU do "GTK4" para uso no desenvolvimento de interfaces de usuário(a). Elas são usadas principalmente para aplicativos "GNOME". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6378]https://download.gnome.org/sources/libadwaita/1.3/libadwaita- 1.3.4.tar.xz * Transferência (FTP): [6379]ftp://ftp.acc.umu.se/pub/gnome/sources/libadwaita/1.3/libadwa ita-1.3.4.tar.xz * Soma de verificação MD5 da transferência: 80d33605da8d22ebf6bdc8bfd81ad792 * Tamanho da transferência: 3,0 MB * Espaço em disco estimado exigido: 38 MB (com os testes) * Tempo de construção estimado: 0,2 UPC (com paralelismo=4; com testes) Dependências do "libadwaita" Exigidas [6380]GTK-4.12.0 Recomendadas [6381]Vala-0.56.11 Opcionais [6382]Gi-DocGen-2023.1 Instalação do libadwaita Instale o "libadwaita" executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Se você tiver o "[6383]Gi-DocGen-2023.1" instalado e desejar construir a documentação da "API" para esse pacote, [então] emita: sed "s/apiversion/'1.3.4'/" -i ../doc/meson.build && meson configure -Dgtk_doc=true && ninja Para testar os resultados, emita: "ninja test". Os testes precisam ser executados a partir de uma sessão gráfica. Agora, como o(a) usuário(a) "root": ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. Conteúdo Aplicativos Instalados: adwaita-1-demo Bibliotecas Instaladas: libadwaita-1.so Diretórios Instalados: /usr/include/libadwaita-1 Descrições Curtas adwaita-1-demo fornece um exemplo de como usar a biblioteca "libadwaita" libadwaita-1.so fornece pequenas engenhocas adicionais do "GTK" para uso na criação de interfaces de usuário(a) libdazzle-3.44.0 Introdução ao libdazzle "libdazzle" é uma biblioteca complementar ao "GObject" e "GTK+" que adiciona "APIs" para efeitos especiais de gráfico. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6384]https://download.gnome.org/sources/libdazzle/3.44/libdazzle-3 .44.0.tar.xz * Transferência (FTP): [6385]ftp://ftp.acc.umu.se/pub/gnome/sources/libdazzle/3.44/libdazz le-3.44.0.tar.xz * Soma de verificação MD5 da transferência: 203815dd90239ff732c19fc700417c74 * Tamanho da transferência: 448 KB * Espaço em disco estimado exigido: 15 MB (com os testes) * Tempo de construção estimado: 0,2 UPC (usando paralelismo = 4; com os testes) Dependências do "libdazzle" Exigidas [6386]GTK+-3.24.38 Recomendadas [6387]Vala-0.56.11 Instalação do libdazzle Instale o "libdazzle" executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Para testar os resultados, emita: "ninja test". Agora, como o(a) usuário(a) "root": ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. Conteúdo Aplicativo Instalado: dazzle-list-counters Biblioteca Instalada: libdazzle-1.0.so Diretório Instalado: /usr/include/libdazzle-1.0 Descrições Curtas dazzle-list-counters lista contadores que estão em uso por um processo libdazzle-1.0.so contém funções de "API" para efeitos de gráfico libgedit-amtk-5.8.0 Introdução ao libgedit-amtk O pacote libgedit-amtk contém uma substituição básica do GTKUIManager baseada no GAction. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6388]https://gedit-technology.net/tarballs/libgedit-amtk/libgedit- amtk-5.8.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 1b2ad96c189dd1749b6526c6026e0618 * Tamanho da transferência: 60 KB * Espaço em disco estimado exigido: 2,6 MB * Tempo de construção estimado: 0,1 UPC Dependências do libgedit-amtk Exigidas [6389]GTK+-3.24.38 Opcionais [6390]GTK-Doc-1.33.2 (para documentação) e [6391]Valgrind-3.21.0 Instalação do libgedit-amtk Instale o libgedit-amtk executando os seguintes comandos: mkdir amtk-build && cd amtk-build && meson setup .. \ --prefix=/usr \ --buildtype=release \ -Dgtk_doc=false && ninja Para testar os resultados, emita: ninja test. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dgtk_doc=false: Essa chave impede o sistema de construção de gerar e instalar a documentação da API. Omita essa chave se você tiver o [6392]GTK-Doc-1.33.2 instalado e desejar gerar e instalar a documentação da API. Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libgedit-amtk-5.so Diretórios Instalados: /usr/include/libgedit-amtk-5 e /usr/share/gtk-doc/html/libgedit-amtk-5.0 Descrições Curtas libgedit-amtk-5.so fornece uma API básica de substituição do GTKUIManager baseada em GAction libgedit-gtksourceview-299.0.4 Introdução ao libgedit-gtksourceview O pacote libgedit-gtksourceview fornece uma biblioteca que estende o GtkTextView. Essa biblioteca adiciona suporte para realce de sintaxe, desfazer/refazer, carregar e salvar arquivos, pesquisar e substituir, um sistema de completação, impressão, exibição de números de linha e outros recursos típicos de um editor de código-fonte. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6393]https://gedit-technology.net/tarballs/libgedit-gtksourceview/ libgedit-gtksourceview-299.0.4.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 3f96094715a897567e3df7f72ec6c9f0 * Tamanho da transferência: 632 KB * Espaço em disco estimado exigido: 22 MB (com testes) * Tempo de construção estimado: 0,3 UPC (com testes) Dependências do libgedit-gtksourceview Exigidas [6394]GTK+-3.24.38 e [6395]libxml2-2.10.4 Opcionais [6396]GTK-Doc-1.33.2 Instalação do libgedit-gtksourceview Instale o libgedit-gtksourceview executando os seguintes comandos: mkdir build-libgedit && cd build-libgedit && meson setup --prefix=/usr \ --buildtype=release \ -Dgtk_doc=false \ .. && ninja Para testar os resultados, emita: ninja test. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dgtk_doc=false: Desabilita a construção da documentação da API. Remova se você tiver o [6397]GTK-Doc-1.33.2 instalado e desejar construir a documentação da API. Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libgedit-gtksourceview-300.so Diretórios Instalados: /usr/include/libgedit-gtksourceview-300 e /usr/share/libgedit-gtksourceview-300 Descrições Curtas libgedit-gtksourceview-300.so contém funções convenientes para edição de texto. libhandy-1.8.2 Introdução ao libhandy O pacote "libhandy" fornece pequenas engenhocas adicionais de "IU" do "GTK" para uso no desenvolvimento de interfaces de usuário(a). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6398]https://download.gnome.org/sources/libhandy/1.8/libhandy-1.8. 2.tar.xz * Transferência (FTP): [6399]ftp://ftp.acc.umu.se/pub/gnome/sources/libhandy/1.8/libhandy- 1.8.2.tar.xz * Soma de verificação MD5 da transferência: 24c0addde7fac024bcf23cecf6c50c3a * Tamanho da transferência: 1,7 MB * Espaço em disco estimado exigido: 27 MB (com os testes) * Tempo de construção estimado: 0,1 UPC (com os testes) Dependências do "libhandy" Exigidas [6400]GTK+-3.24.38 Recomendadas [6401]Vala-0.56.11 Opcionais [6402]GTK-Doc-1.33.2 e [6403]Glade Instalação do libhandy Instale o "libhandy" executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Para testar os resultados, emita: "ninja test". Os testes precisam ser executados a partir de uma sessão gráfica. Agora, como o(a) usuário(a) "root": ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dgtk_doc=true: Use essa opção se você tiver o "[6404]GTK-Doc-1.33.2" instalado e desejar instalar a documentação. Conteúdo Aplicativos Instalados: handy-1-demo Bibliotecas Instaladas: libhandy-1.so Diretórios Instalados: /usr/include/libhandy-1 Descrições Curtas handy-1-demo fornece um exemplo de como usar a biblioteca "libhandy" libhandy-1.so fornece pequenas engenhocas adicionais do "GTK" para uso na criação de interfaces de usuário(a) Libdrm-2.4.115 Introdução ao Libdrm "Libdrm" fornece uma biblioteca de espaço de usuário(a) para acessar o "Direct Rendering Manager" ("DRM") em sistemas operacionais que suportem a interface "ioctl". "Libdrm" é uma biblioteca de baixo nível, tipicamente usada por controladores gráficos, como os controladores "DRI" do "Mesa", os controladores do "X", "libva" e projetos semelhantes. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6405]https://dri.freedesktop.org/libdrm/libdrm-2.4.115.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 5403981a20c964f4c893ff91393652bd * Tamanho da transferência: 459 KB * Espaço em disco estimado exigido: 8,6 MB (com os testes) * Tempo de construção estimado: menos que 0,1 UPC (com testes) com paralelismo=4 Dependências do "libdrm" Recomendadas [6406]Bibliotecas do Xorg (para suporte à "API" do "KMS" da "Intel" exigido pelo "Mesa") Opcionais [6407]Cairo-1.17.6 (para testes), [6408]CMake-3.27.2 (poderia ser usado para encontrar dependências sem arquivos do "pkgconfig"), [6409]docbook-xml-4.5, [6410]docbook-xsl-nons-1.79.2, [6411]docutils-0.20.1 e [6412]libxslt-1.1.38 (para construir páginas de manual), [6413]libatomic_ops-7.8.0 (exigido por arquiteturas sem operações atômicas nativas), [6414]Valgrind-3.21.0 e [6415]CUnit (para testes de "AMDGPU") Instalação do Libdrm Instale o "libdrm" executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=$XORG_PREFIX \ --buildtype=release \ -Dudev=true \ -Dvalgrind=disabled \ .. && ninja Para verificar os resultados, execute "ninja test". Agora, como o(a) usuário(a) "root": ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dudev=true: Esse parâmetro habilita o suporte para usar o "Udev" em vez do "mknod". -Dvalgrind=disabled: Esse parâmetro desabilita a construção da "libdrm" com suporte a "valgrind". Isso corrige a construção do "sysprof" e de outros pacotes que usam a "libdrm". Mude esse parâmetro para "enabled" (ou remova-o) se precisar de suporte para o "valgrind". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libdrm_amdgpu.so, libdrm_intel.so, libdrm_nouveau.so, libdrm_radeon.so e libdrm.so Diretórios Instalados: /usr/include/libdrm e /usr/share/libdrm Descrições Curtas libdrm_amdgpu.so contém as funções específicas do "Direct Rendering Manager" do "AMDGPU" libdrm_intel.so contém as funções específicas do "Direct Rendering Manager" da "Intel" libdrm_nouveau.so contém as funções específicas do "Direct Rendering Manager" de fonte aberto da "nVidia" ("Nouveau") libdrm_radeon.so contém as funções específicas do "Direct Rendering Manager" da "Radeon" da "AMD" libdrm.so contém as funções da "API" do "Direct Rendering Manager" libepoxy-1.5.10 Introdução ao libepoxy "libepoxy" é uma biblioteca para lidar com o gerenciamento de ponteiros de função do "OpenGL". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6416]https://download.gnome.org/sources/libepoxy/1.5/libepoxy-1.5. 10.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 10c635557904aed5239a4885a7c4efb7 * Tamanho da transferência: 220 KB * Espaço em disco estimado exigido: 13 MB (com os testes) * Tempo de construção estimado: 0,1 UPC (com os testes) Dependências do "libepoxy" Exigidas [6417]Mesa-23.1.6 Opcionais [6418]Doxygen-1.9.7 (para documentação) Instalação do libepoxy Instale o "libepoxy" executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Para testar os resultados, emita: "ninja test". Agora, como o(a) usuário(a) "root": ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Ddocs=true: Se você tiver o "[6419]Doxygen-1.9.7" instalado, [então] adicione essa opção para gerar documentação adicional. Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libepoxy.so Diretórios Instalados: /usr/include/epoxy Descrições Curtas libepoxy.so contém funções de "API" para lidar com o gerenciamento de ponteiro de função do "OpenGL" libglade-2.6.4 Introdução ao libglade O pacote "libglade" contém bibliotecas "libglade". Elas são úteis para carregar arquivos de interface do "Glade" em um aplicativo em tempo de execução. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6420]https://download.gnome.org/sources/libglade/2.6/libglade-2.6. 4.tar.bz2 * Transferência (FTP): [6421]ftp://ftp.acc.umu.se/pub/gnome/sources/libglade/2.6/libglade- 2.6.4.tar.bz2 * Soma de verificação MD5 da transferência: d1776b40f4e166b5e9c107f1c8fe4139 * Tamanho da transferência: 348 KB * Espaço em disco estimado exigido: 5 MB * Tempo de construção estimado: 0,1 UPC Dependências do "libglade" Exigidas [6422]libxml2-2.10.4 e [6423]GTK+-2.24.33 Opcionais [6424]Python-2.7.18 e [6425]GTK-Doc-1.33.2 Instalação do libglade Instale o "libglade" executando os seguintes comandos: sed -i '/DG_DISABLE_DEPRECATED/d' glade/Makefile.in && ./configure --prefix=/usr --disable-static && make Para testar os resultados, emita: "make check". Um dos testes, "test-convert", é conhecido por falhar. Agora, como o(a) usuário(a) "root": make install Explicações do Comando sed -i '/DG_DISABLE_DEPRECATED/d': Algumas das funções do "glib" que a "libglade" usa foram declaradas obsoletas no "glib-2.30". Esse "sed" remove o "CFLAG" "G_DISABLE_DEPRECATED". --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --enable-gtk-doc: Use esse parâmetro se GTK-Doc estiver instalado e você desejar reconstruir e instalar a documentação da API. Conteúdo Aplicativo Instalado: libglade-convert (exige o "python") Biblioteca Instalada: libglade-2.0.so Diretórios Instalados: /usr/{include/libglade-2.0/glade,share/{gtk-doc/html/libglade, xml/libglade}} Descrições Curtas libglade-convert é usado para converter arquivos antigos da interface do "Glade" para os padrões do "Glade-2.0" libglade-2.0.so contém as funções necessárias para carregar os arquivos de interface do "Glade" libnotify-0.8.2 Introdução ao libnotify A biblioteca "libnotify" é usada para enviar notificações da área de trabalho para um processo de segundo plano de notificação, conforme definido nas especificações do "Desktop Notifications". Essas notificações podem ser usadas para informar o(a) usuário(a) a respeito de um evento ou exibir alguma forma de informação sem atrapalhar o(a) usuário(a). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6426]https://download.gnome.org/sources/libnotify/0.8/libnotify-0. 8.2.tar.xz * Transferência (FTP): [6427]ftp://ftp.acc.umu.se/pub/gnome/sources/libnotify/0.8/libnotif y-0.8.2.tar.xz * Soma de verificação MD5 da transferência: ee2d2934a9dcfd5b1305188201e1cd50 * Tamanho da transferência: 104 KB * Espaço em disco estimado exigido: 2,3 MB * Tempo de construção estimado: 0,1 UPC Dependências do "libnotify" Exigidas [6428]GTK+-3.24.38 Opcionais (Exigidas se construir o "GNOME") [6429]gobject-introspection-1.76.1 Opcionais [6430]Gi-DocGen-2023.1 e [6431]xmlto-0.0.28 Exigidas (tempo de execução) [6432]notification-daemon-3.20.0 ou [6433]xfce4-notifyd-0.8.2 Nota "GNOME Shell" e "KDE KWin" fornecem os próprios processos de segundo plano de notificação deles. Instalação do libnotify Instale o "libnotify" executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr \ --buildtype=release \ -Dgtk_doc=false \ -Dman=false \ .. && ninja Esse pacote não vem com uma suíte de teste. Se você tiver [6434]Gi-DocGen-2023.1 instalado e desejar construir a documentação da API para esse pacote, emita: sed "/docs_dir =/s@\$@ / 'libnotify'@" \ -i ../docs/reference/meson.build && meson configure -Dgtk_doc=true && ninja Agora, como o(a) usuário(a) "root": ninja install && mv -v /usr/share/doc/libnotify{,-0.8.2} Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. Conteúdo Aplicativo Instalado: notify-send Biblioteca Instalada: libnotify.so Diretórios Instalados: /usr/include/libnotify e /usr/share/gtk-doc/html/libnotify Descrições Curtas notify-send é um comando usado para enviar notificações libnotify.so contém as funções da "API" da "libnotify" libxklavier-5.4 Introdução ao libxklavier O pacote "libxklavier" contém uma biblioteca de utilitários para o teclado do "X". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6435]https://people.freedesktop.org/~svu/libxklavier-5.4.tar.bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: 13af74dcb6011ecedf1e3ed122bd31fa * Tamanho da transferência: 384 KB * Espaço em disco estimado exigido: 5,2 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "libxklavier" Exigidas [6436]GLib-2.76.4, [6437]ISO Codes-4.15.0, [6438]libxml2-2.10.4 e [6439]Bibliotecas do Xorg Recomendadas [6440]gobject-introspection-1.76.1 Opcionais [6441]GTK-Doc-1.33.2 e [6442]Vala-0.56.11 Instalação do libxklavier Instale o "libxklavier" executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --enable-gtk-doc: Esse parâmetro normalmente é usado se o GTK-Doc estiver instalado e você desejar reconstruir e instalar a documentação da API. Ele está quebrado para esse pacote devido ao uso de um aplicativo gtk-doc há muito obsoleto que não mais está disponível. Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: libxklavier.so Diretórios Instalados: /usr/include/libxklavier e /usr/share/gtk-doc/html/libxklavier Descrições Curtas libxklavier.so contém funções utilitárias do "XKB" Pango-1.50.14 Introdução ao Pango "Pango" é uma biblioteca para esquematização e renderização de texto, com ênfase na internacionalização. Ela pode ser usada em qualquer lugar onde o esquema de texto seja necessário, embora a maior parte do trabalho no "Pango" até agora tenha sido feito no contexto do kit de ferramentas de pequena engenhoca do "GTK+". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6443]https://download.gnome.org/sources/pango/1.50/pango-1.50.14.t ar.xz * Transferência (FTP): [6444]ftp://ftp.acc.umu.se/pub/gnome/sources/pango/1.50/pango-1.50. 14.tar.xz * Soma de verificação MD5 da transferência: baa2a0a67c71935165a205a76da25954 * Tamanho da transferência: 4,1 MB * Espaço em disco estimado exigido: 47 MB (com os testes) * Tempo de construção estimado: 0,1 UPC (Usando paralelismo=4; com testes) Dependências do "Pango" Exigidas [6445]Fontconfig-2.14.2 (precisa ser construído com o "[6446]FreeType-2.13.1" usando o "[6447]HarfBuzz-8.1.1"), [6448]FriBidi-1.0.13 e [6449]GLib-2.76.4 Recomendadas [6450]Cairo-1.17.6, [6451]gobject-introspection-1.76.1 (exigido se construir o "GNOME") e [6452]Bibliotecas do Xorg Opcionais [6453]Fontes Cantarell (para testes), [6454]sysprof-3.48.0, [6455]Gi-DocGen-2023.1 (para gerar documentação), [6456]help2man e [6457]libthai Instalação do Pango Primeiro, contorne um defeito no gcc-13 que deflagra um aviso falso que quebra uma construção de lançamento: sed -i '/array-bounds/d' meson.build Instale o "Pango" executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr \ --buildtype=release \ --wrap-mode=nofallback \ .. && ninja Se você tiver o "[6458]Gi-DocGen-2023.1" instalado e desejar construir a documentação da "API" para esse pacote, [então] emita: sed "/docs_dir =/s@\$@ / 'pango-1.50.14'@" -i ../docs/meson.build && meson configure -Dgtk_doc=true && ninja Para testar os resultados, emita: ninja test. Um teste, test-font é conhecido por falhar. Alguns testes possivelmente falhem se nenhuma fonte Opentype ou Truetype estiver instalada em /usr/share/fonts. Agora, como o(a) usuário(a) "root": ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dintrospection=disabled: Use essa chave se não quiser usar o "[6459]gobject-introspection-1.76.1". --wrap-mode=nofallback: Essa chave impede que o meson use substitutos de subprojeto para quaisquer declarações de dependência nos arquivos de construção, impedindo-o de baixar qualquer dependência opcional que não esteja instalada no sistema. Configurando Pango Arquivos de Configuração /etc/pango/pangorc, ~/.pangorc e o arquivo especificado na variável de ambiente "PANGO_RC_FILE" Conteúdo Aplicativos Instalados: pango-list, pango-segmentation e pango-view Bibliotecas Instaladas: libpango-1.0.so, libpangocairo-1.0.so, libpangoft2-1.0.so e libpangoxft-1.0.so Diretórios Instalados: /usr/include/pango-1.0 e /usr/share/doc/pango-1.50.14 (se "gi-docgen" estiver disponível) Descrições Curtas pango-list exibe uma lista de fontes que o "Pango" pode usar e que estão atualmente instaladas no sistema pango-segmentation mostra a segmentação de texto conforme determinado pelo "Pango". pango-view renderiza um dado arquivo de texto por intermédio do "Pango" para fins de visualização libpango-1.0.so contém rotinas de baixo nível de renderização de esquema, um controlador de alto nível para esquematizar blocos inteiros de texto e rotinas para auxiliar na edição de texto internacionalizado Pangomm-2.46.3 Introdução ao Pangomm O pacote "Pangomm" fornece uma interface "C++" para o "Pango". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6460]https://download.gnome.org/sources/pangomm/2.46/pangomm-2.46. 3.tar.xz * Transferência (FTP): [6461]ftp://ftp.acc.umu.se/pub/gnome/sources/pangomm/2.46/pangomm-2 .46.3.tar.xz * Soma de verificação MD5 da transferência: 7af783bb04de766fafaaad26c9ed475a * Tamanho da transferência: 660 KB * Espaço em disco estimado exigido: 10 MB * Tempo de construção estimado: 0,2 UPC Dependências do "Pangomm" Exigidas [6462]libcairomm-1.14.0, [6463]GLibmm-2.66.5 e [6464]Pango-1.50.14 Instalação do Pangomm Instale o "Pangomm" executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": ninja install Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: libpangomm-1.4.so Diretórios Instalados: /usr/include/pangomm-1.4, /usr/lib/pangomm-1.4 e /usr/share/{devhelp/books/pangomm-1.4,doc/pangomm-2.46.3} Descrições Curtas libpangomm-1.4.so contém as classes da "API" do "Pango" Qt-5.15.10 Introdução ao Qt5 Qt5 é uma estrutura de aplicação multiplataforma que é amplamente usada para desenvolver software de aplicação com uma Interface Gráfica de Usuário(a) (IGU) (casos nos quais o Qt5 é classificado como um kit de ferramentas de pequena engenhoca) e também usado para desenvolver aplicativos não IGU, como ferramentas de linha de comando e consoles para servidores. Dois dos principais usuários(as) do Qt são KDE Frameworks 5 (KF5) e LXQt. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6465]https://download.qt.io/archive/qt/5.15/5.15.10/single/qt-ever ywhere-opensource-src-5.15.10.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: fb41d86bea6bc4886030a5092c910b09 * Tamanho da transferência: 629 MB * Espaço em disco estimado exigido: 15 GB (263 MB instalado) * Tempo de construção estimado: 23 UPC (usando paralelismo = 8) Transferências Adicionais * Agora que as atualizações do "Qt5" estão restritas a clientes comerciais, os remendos de desenvolvedor(a) para os vários módulos estão sendo selecionados no "KDE". Os remendos para os módulos exigidos pelos pacotes no BLFS tem sido agregados para a construção não modular do "Qt5" que nós usamos. Remendo exigido: [6466]https://www.linuxfromscratch.org/patches/blfs/12.0/qt-everywh ere-opensource-src-5.15.10-kf5-1.patch Detalhes da curadoria do "KDE" podem ser encontrados em [6467]https://dot.kde.org/2021/04/06/announcing-kdes-qt-5-patch-col lection e [6468]https://community.kde.org/Qt5PatchCollection. Dependências do "Qt5" Exigidas [6469]Bibliotecas do Xorg Recomendadas [6470]alsa-lib-1.2.9, [6471]make-ca-1.12, [6472]Cups-2.4.6, [6473]double-conversion-3.3.0, [6474]GLib-2.76.4, [6475]gst-plugins-base-1.22.5 (estrutura de retaguarda QtMultimedia), [6476]HarfBuzz-8.1.1, [6477]ICU-73.2, [6478]JasPer-4.0.0, [6479]libjpeg-turbo-3.0.0, [6480]libmng-2.0.3, [6481]libpng-1.6.40, [6482]libtiff-4.5.1, [6483]libwebp-1.3.1, [6484]libxkbcommon-1.5.0, [6485]Mesa-23.1.6, [6486]mtdev-1.1.6, [6487]pcre2-10.42, [6488]SQLite-3.42.0, [6489]Wayland-1.22.0 (Mesa precisa ser construído com estrutura de retaguarda EGL do Wayland), [6490]xcb-util-image-0.4.1, [6491]xcb-util-keysyms-0.4.1, [6492]xcb-util-renderutil-0.3.10 e [6493]xcb-util-wm-0.4.2 Opcionais [6494]BlueZ-5.68 (para sdpscanner e, em tempo de execução, para o módulo QtConnectivity), [6495]GTK+-3.24.38, [6496]ibus-1.5.28, [6497]libinput-1.23.0, [6498]MariaDB-10.11.4 ou [6499]MySQL, [6500]MIT Kerberos V5-1.21.2, [6501]mtdev-1.1.6, [6502]pciutils-3.10.0, [6503]PostgreSQL-15.4, [6504]PulseAudio-16.1, [6505]SDL2-2.28.2, [6506]unixODBC-2.3.12, [6507]assimp, [6508]Flite, [6509]Firebird, [6510]FreeTDS, [6511]libproxy, [6512]OpenAL, [6513]speech-dispatcher, [6514]tslib e [6515]Vulkan Observações de Editor(a): [6516]https://wiki.linuxfromscratch.org/blfs/wiki/qt5 Configurando o prefixo da instalação Instalando em "/opt/qt5" Os(As) editores(as) do BLFS recomendam instalar o "Qt5" em um diretório diferente de "/usr", ou seja, "/opt/qt5". Para fazer isso, configure a seguinte variável de ambiente: export QT5PREFIX=/opt/qt5 Dica Ocasionalmente, os caminhos da instalação são rigidamente codificados em arquivos instalados. Essa é a razão pela qual "/opt/qt5" é usado como prefixo da instalação em vez de "/opt/qt-5.15.10". Para criar um diretório versionado do "Qt5" depois que a instalação estiver completa, você pode renomear o diretório e criar um link simbólico: mkdir -pv /opt/qt-5.15.10 ln -sfnv qt-5.15.10 /opt/qt5 Mais tarde, você possivelmente quera instalar outras versões do "Qt5". Para fazer isso, apenas remova o link simbólico e use "/opt/qt5" como prefixo novamente. Qual versão do "Qt5" você usa depende somente de onde o link simbólico aponta. Nota Se o "[6517]qca-2.3.7" tiver sido instalado e você estiver reinstalando ou atualizando esse pacote, então o "qca" precisará ser reinstalado. Instalação do Qt5 Atenção Se o "Qt5" estiver sendo reinstalado no mesmo diretório de uma instância existente, [então] execute os comandos feitos pelo(a) "root", como "make install", a partir de um console ou gerenciador de janelas não baseado em "Qt5". Eles sobrescrevem bibliotecas do "Qt5" que não deveriam estar em uso durante o processo de instalação. Cuidado Se você não instalou alguma das dependências recomendadas, [então] examine a saída gerada de "./configure --help" para verificar como desabilitá-las ou usar versões internas incluídas no "tarball" do fonte. Nota O tempo de construção, e espaço, exigido para o "Qt5" completo é bastante longo. As instruções abaixo não constroem os tutoriais e exemplos. Remover-se a linha -nomake criará uma construção completa. Nota Os(As) editores(as) do BLFS não recomendam a instalação do "Qt5" na hierarquia "/usr" porque fica difícil encontrar componentes e atualizar para uma nova versão. Se você realmente deseja instalar o "Qt5" em "/usr", [então] os diretórios precisam ser especificados explicitamente. Nesse caso, configure "QT5PREFIX=/usr" e adicione o seguinte aos argumentos de configuração abaixo: -archdatadir /usr/lib/qt5 \ -bindir /usr/bin \ -plugindir /usr/lib/qt5/plugins \ -importdir /usr/lib/qt5/imports \ -headerdir /usr/include/qt5 \ -datadir /usr/share/qt5 \ -docdir /usr/share/doc/qt5 \ -translationdir /usr/share/qt5/translations \ -examplesdir /usr/share/doc/qt5/examples Primeiro aplique um remendo para obter as correções selecionadas pelo "KDE" para os aqueles módulos que sejam exigidos pelos pacotes mencionados neste livro: patch -Np1 -i ../qt-everywhere-opensource-src-5.15.10-kf5-1.patch O remendo é suposto de ser usado em um repositório "git", porque o comportamento do comando "configure" abaixo é mudado nesse caso. É suficiente criar um diretório ".git" no diretório "qmake", onde o conjunto de comandos sequenciais "configure" seja executado: mkdir -pv qtbase/.git Adicione outra correção para construir com GCC-13: sed -e "/pragma once/a#include " \ -i qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/geometry.hpp \ qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/string.hpp \ qtlocation/src/3rdparty/mapbox-gl-native/src/mbgl/gl/stencil_mode.hpp Instale Qt5 executando os seguintes comandos: ./configure -prefix $QT5PREFIX \ -sysconfdir /etc/xdg \ -confirm-license \ -opensource \ -dbus-linked \ -openssl-linked \ -system-harfbuzz \ -system-sqlite \ -nomake examples \ -no-rpath \ -journald \ -skip qtwebengine && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Remova referências ao diretório de construção dos arquivos de dependência de biblioteca ("prl") instalados executando o seguinte comando como o(a) usuário(a) "root": find $QT5PREFIX/ -name \*.prl \ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; Instale imagens e crie entradas de menu para aplicativos instalados. A variável "QT5BINDIR" é usada aqui para apontar para o diretório dos programas executáveis. Se você tiver mudado o "bindir" acima, [então] "QT5BINDIR" precisará ser ajustada abaixo. Certifique-se de que a variável "QT5BINDIR" esteja definida no ambiente do(a) "root" e como o(a) usuário(a) "root": QT5BINDIR=$QT5PREFIX/bin install -v -dm755 /usr/share/pixmaps/ && install -v -Dm644 qttools/src/assistant/assistant/images/assistant-128.png \ /usr/share/pixmaps/assistant-qt5.png && install -v -Dm644 qttools/src/designer/src/designer/images/designer.png \ /usr/share/pixmaps/designer-qt5.png && install -v -Dm644 qttools/src/linguist/linguist/images/icons/linguist-128-32.png \ /usr/share/pixmaps/linguist-qt5.png && install -v -Dm644 qttools/src/qdbus/qdbusviewer/images/qdbusviewer-128.png \ /usr/share/pixmaps/qdbusviewer-qt5.png && install -dm755 /usr/share/applications && cat > /usr/share/applications/assistant-qt5.desktop << EOF [Desktop Entry] Name=Qt5 Assistant Comment=Mostra documentação e exemplos do Qt5 Exec=$QT5BINDIR/assistant Icon=assistant-qt5.png Terminal=false Encoding=UTF-8 Type=Application Categories=Qt;Development;Documentation; EOF cat > /usr/share/applications/designer-qt5.desktop << EOF [Desktop Entry] Name=Qt5 Designer GenericName=Interface Designer Comment=Projetar GUIs para aplicativos do Qt5 Exec=$QT5BINDIR/designer Icon=designer-qt5.png MimeType=application/x-designer; Terminal=false Encoding=UTF-8 Type=Application Categories=Qt;Development; EOF cat > /usr/share/applications/linguist-qt5.desktop << EOF [Desktop Entry] Name=Qt5 Linguist Comment=Adicionar traduções a aplicativos do Qt5 Exec=$QT5BINDIR/linguist Icon=linguist-qt5.png MimeType=text/vnd.trolltech.linguist;application/x-linguist; Terminal=false Encoding=UTF-8 Type=Application Categories=Qt;Development; EOF cat > /usr/share/applications/qdbusviewer-qt5.desktop << EOF [Desktop Entry] Name=Qt5 QDbusViewer GenericName=D-Bus Debugger Comment=Depurar aplicativos do D-Bus Exec=$QT5BINDIR/qdbusviewer Icon=qdbusviewer-qt5.png Terminal=false Encoding=UTF-8 Type=Application Categories=Qt;Development;Debugger; EOF Alguns pacotes, como o "[6518]VLC-3.0.18", procuram por certos executáveis com um sufixo "-qt5". Execute o seguinte comando como o(a) usuário(a) "root" para criar os links simbólicos necessários: for file in moc uic rcc qmake lconvert lrelease lupdate; do ln -sfrvn $QT5BINDIR/$file /usr/bin/$file-qt5 done Explicações do Comando sed ...: Permite usar o "Python 3" em vez do "Python 2". Esse comando destrói a construção do "QtWebEngine", de forma que não o use se você remover a chave "-skip qtwebengine". -confirm-license: Aceita a licença sem avisar o(a) usuário(a) durante a configuração. -opensource: Instale a versão de fonte aberto do "Qt". -nomake examples: Essa chave desabilita a construção dos aplicativos de exemplo incluídos no "tarball" do fonte. Remova-a se tu quiseres construí-los. -system-sqlite: Essa chave habilita o uso da versão do sistema do "SQLite". -dbus-linked -openssl-linked: Essas chaves habilitam a vinculação explícita das bibliotecas do "D-Bus" e do "OpenSSL" no "Qt5" em vez de abri-las via "dlopen()". -journald: Essa chave permite enviar mensagens "Qt" para o sistema de registro "journald". -skip qtwebengine: Essa chave desabilita a construção do "QtWebEngine". Os(As) editores(as) do BLFS optaram por construir o "[6519]qtwebengine-5.15.15" separadamente. -system-harfbuzz: Essa chave habilita o uso da versão do sistema do "Harfbuzz". Configurando o Qt5 Informação de Configuração Se o "[6520]Sudo-1.9.14p3" estiver instalado, [então] "QT5DIR" também deveria estar disponível para o(a) superusuário(a). Execute os seguintes comandos como o(a) usuário(a) "root": cat > /etc/sudoers.d/qt << "EOF" Defaults env_keep += QT5DIR EOF Se você instalou o "Qt5" em "/usr" Se você instalou o "Qt5" em "/usr", [então] crie uma variável de ambiente necessária para certos pacotes. Como o(a) usuário(a) "root": cat > /etc/profile.d/qt5.sh << "EOF" # Inicia /etc/profile.d/qt5.sh QT5DIR=/usr export QT5DIR # Termina /etc/profile.d/qt5.sh EOF Se você não instalou o "Qt5" em "/usr" Se instalou o "Qt5" em um local diferente de "/usr", [então] você necessita atualizar os seguintes arquivos de configuração, de forma que o "Qt5" seja encontrado corretamente por outros pacotes e processos do sistema. Como o(a) usuário(a) "root", atualize o arquivo "/etc/ld.so.conf" e o arquivo de "cache" de tempo de execução do vinculador dinâmico: cat >> /etc/ld.so.conf << EOF # Inicia adição do Qt /opt/qt5/lib # Termina adição do Qt EOF ldconfig Como (a) usuário(a) "root", crie o arquivo "/etc/profile.d/qt5.sh": cat > /etc/profile.d/qt5.sh << "EOF" # Inicia /etc/profile.d/qt5.sh QT5DIR=/opt/qt5 pathappend $QT5DIR/bin PATH pathappend $QT5DIR/lib/pkgconfig PKG_CONFIG_PATH export QT5DIR # Termina /etc/profile.d/qt5.sh EOF Conteúdo Aplicativos Instalados: assistant, balsam, canbusutil, designer, fixqt4headers.pl, lconvert, linguist, lprodump, lrelease, lrelease-pro, lupdate, lupdate-pro, meshdebug, moc, pixeltool, qcollectiongenerator, qdbus, qdbuscpp2xml, qdbusviewer, qdbusxml2cpp, qdistancefieldgenerator, qdoc, qgltf, qhelpgenerator, qlalr, qmake, qml, qmlcachegen, qmleasing, qmlformat, qmlimportscanner, qmllint, qmlmin, qmlplugindump, qmlpreview, qmlprofiler, qmlscene, qmltestrunner, qmltime, qmltyperegistrar, qscxmlc, qtattributionscanner, qtdiag, qtpaths, qtplugininfo, qtwaylandscanner, qvkgen, rcc, repc, sdpscanner, syncqt.pl, tracegen, uic, xmlpatterns e xmlpatternsvalidator Bibliotecas Instaladas: libQt53DAnimation.so, libQt53DCore.so, libQt53DExtras.so, libQt53DInput.so, libQt53DLogic.so, libQt53DQuick.so, libQt53DQuickAnimation.so, libQt53DQuickExtras.so, libQt53DQuickInput.so, libQt53DQuickRender.so, libQt53DQuickScene2D.so, libQt53DRender.so, libQt5AccessibilitySupport.a, libQt5Bluetooth.so, libQt5Bodymovin.so, libQt5Bootstrap.a, libQt5Charts.so, libQt5Concurrent.so, libQt5Core.so, libQt5DataVisualization.so, libQt5DBus.so, libQt5DesignerComponents.so, libQt5Designer.so, libQt5DeviceDiscoverySupport.a, libQt5EdidSupport.a, libQt5EglFSDeviceIntegration.so, libQt5EglFsKmsSupport.so, libQt5EglSupport.a, libQt5EventDispatcherSupport.a, libQt5FbSupport.a, libQt5FontDatabaseSupport.a, libQt5Gamepad.so, libQt5GlxSupport.a, libQt5Gui.so,libQt5Help.so, libQt5InputSupport.a, libQt5KmsSupport.a, libQt5LinuxAccessibilitySupport.a, libQt5Location.so, libQt5Multimedia.so, libQt5MultimediaGstTools.so, libQt5MultimediaQuick.so, libQt5MultimediaWidgets.so, libQt5Network.so, libQt5NetworkAuth.so, libQt5Nfc.so, libQt5OpenGLExtensions.a, libQt5OpenGL.so, libQt5PacketProtocol.a, libQt5PlatformCompositorSupport.a, libQt5Positioning.so, libQt5PositioningQuick.so, libQt5PrintSupport.so, libQt5Purchasing.so, libQt5Qml.so, libQt5QmlDebug.a, libQt5QmlDevTools.a, libQt5QmlModels.so, libQt5QmlWorkerScript.so, libQt5Quick.so, libQt5Quick3D.so, libQt5Quick3DAssetImport.so, libQt5Quick3DRender.so, libQt5Quick3DRuntimeRender.so, libQt5Quick3DUtils.so, libQt5QuickControls2.so, libQt5QuickParticles.so, libQt5QuickShapes.so, libQt5QuickTemplates2.so, libQt5QuickTest.so, libQt5QuickWidgets.so, libQt5RemoteObjects.so, libQt5Script.so, libQt5ScriptTools.so, libQt5Scxml.so, libQt5Sensors.so, libQt5SerialBus.so, libQt5SerialPort.so, libQt5ServiceSupport.a, libQt5Sql.so, libQt5Svg.so, libQt5Test.so, libQt5TextToSpeech.so, libQt5ThemeSupport.a, libQt5UiTools.a, libQt5VirtualKeyboard.so, libQt5WaylandClient.so, libQt5WaylandCompositor.so, libQt5WebChannel.so, libQt5WebSockets.so, libQt5WebView.so, libQt5Widgets.so, libQt5X11Extras.so, libQt5XcbQpa.so, libQt5XkbCommonSupport.a, libQt5Xml.so, libQt5XmlPatterns.so e vários "plugins" sob "/opt/qt5/{plugins,qml}" Diretórios Instalados: /usr/include/qt5, /usr/lib/qt5, /usr/share/doc/qt5 e /usr/share/qt5 OU /opt/qt5 e /opt/qt-5.15.10 Descrições Curtas assistant é uma ferramenta para apresentação de documentação "on-line" balsam é uma ferramenta para converter cenas "3D" originárias de várias ferramentas de criação para o formato "QML", para uso pela nova biblioteca "3D" "QtQuick" canbustil é uma ferramenta para lidar com quadros arbitrários do barramento "CAN". Uma "Controller Area Network" ("CAN") é um padrão de veículo de barramento projetado para permitir que microcontroladores e dispositivos se comuniquem entre si em aplicações sem um computador anfitrião designer é um construtor de "GUI" completo. Ele inclui recursos poderosos, como modo de visualização prévia, esquema automático de pequena engenhoca, suporte para pequenas engenhocas personalizadas e um avançado editor de propriedades fixqt4headers.pl é um conjunto de comandos sequenciais para substituir todas as inclusões de estilo do "Qt 4" pelas inclusões do "Qt 5" lconvert é parte da cadeia de ferramentas "Linguist" do "Qt5". Ela pode ser usada como uma ferramenta independente para converter e filtrar arquivos de dados de tradução linguist fornece suporte para tradução de aplicativos para idiomas locais lrelease é uma ferramenta simples de linha de comando. Ela lê arquivos de tradução baseados em "XML", no formato "TS", e produz arquivos de mensagens usados pelo aplicativo lrelease-pro extrai informações do projeto a partir de projetos "qmake" e as passa para o "lrelease" lupdate encontra as sequências de caracteres traduzíveis nos arquivos especificados de fonte, cabeçalho e interface do "Qt Designer" e armazena as mensagens extraídas em arquivos de tradução para serem processadas pelo "lrelease" lupdate-pro lê um arquivo de projeto do "Qt" e passa as informações coletadas para o "lupdate" meshdebug exibe informações a respeito de arquivos de malha do "qtquick-3d" moc gera código de suporte de meta objeto do "Qt" pixeltool é um ampliador de área de trabalho e conforme você move o mouse pela tela ele mostrará o conteúdo ampliado na janela dele qcollectiongenerator processa e converte arquivos de ajuda do "Qt" qdbuscpp2xml pega um arquivo de fonte do "C++" e gera uma definição "XML" do "D-Bus" da interface qdbus lista serviços disponíveis, caminhos de objetos, métodos, sinais e propriedades de objetos em um barramento qdbusviewer é um navegador gráfico do "D-Bus" qdbusxml2cpp é uma ferramenta que pode ser usada para analisar descrições de interfaces e produzir código estático representando essas interfaces, qdistancefieldgenerator permite que um "cache" de fontes seja pré gerado para "Text.QtRendering" para acelerar uma inicialização de aplicativo se a interface de usuário(a) tiver muito texto, ou múltiplas fontes, ou uma grande quantidade de caracteres distintos, por exemplo, em sistemas de escrita "CJK" qdoc é uma ferramenta usada por Desenvolvedores(as) do "Qt" para gerar documentação para projetos de logiciário qgltf importa uma variedade de formatos de modelos 3D e exporta para ativos glTF, otimizados e de carregamento rápido, incorporados em arquivos de recursos do Qt qhelpgenerator é uma ferramenta usada para gerar um arquivo comprimido de ajuda do "Qt" qlalr é uma ferramenta usada para gerar código a partir de especificações gramaticais qmake usa informações armazenadas em arquivos de projeto para determinar o que deveria constar nos arquivos "make" que ele gera qml executa um arquivo "QML" qmlcachegen suporta a criação de arquivos de "cache" em tempo de construção qmleasing é uma ferramenta usada para definir as curvas de atenuação usando um editor interativo de curva qmlformat formata arquivos "QML" de acordo com as convenções de codificação "QML" qmlimportscanner é uma ferramenta usada para importar arquivos "QML" a partir de um diretório qmllint é um verificador de sintaxe para arquivos "QML" qmlmin remove comentários e caracteres de esquema de um arquivo "QML" qmlplugindump é uma ferramenta para criar um arquivo "qmltypes" qmlpreview é uma ferramenta usada para analisar aplicativos "QML" qmlprofiler é uma ferramenta que monitora arquivos "QML" e "JavaScript" no disco e atualiza o aplicativo ao vivo com quaisquer mudanças qmlscene é um utilitário que carrega e exibe documentos "QML" mesmo antes da aplicação estar completa qmltestrunner é uma ferramenta usada para fazer testes qscxml converte um arquivo "input.scxml" em um arquivo de cabeçalho e "cpp" qtattributionsscanner processa arquivos "qt_attribution.json" em fontes do "Qt" qtdiag é uma ferramenta para noticiar informações de diagnóstico a respeito do "Qt" e ambiente dele qtpaths é uma ferramenta para consultar informações de caminho do "Qt" qtplugininfo despeja metadados a respeito dos "plugins" do "Qt" em formato "JSON" qtwaylandscanner converte arquivos de especificações do "Wayland" em cabeçalhos "C++" e código necessário para o "QtWayland" qvkgen converte arquivos de especificações do "Vulkan" em cabeçalhos e código "C++" rcc é um compilador de recursos usado em conjunto com o projetista repc é o "Replica Compiler", que gera arquivos de cabeçalho "QObject" baseados em um arquivo de definição de "API" sdpscanner realiza uma varredura do "Session Description Protocol" em um dispositivo remoto, usando o servidor "SDP" representado pelo dispositivo local "Bluetooth" syncqt.pl é um conjunto de comandos sequenciais para criar os cabeçalhos de encaminhamento nos diretórios de inclusão. É uma ferramenta interna de desenvolvimento tracegen é um gerador de rastreamento para o "LTTng" ou o "ETW" uic é um compilador "Qt" de interface de usuário(a) xmlpatterns fornece suporte para validação de esquemas "XPath", "XQuery", "XSLT" e "XML" xmlpatternsvalidator é uma ferramenta usada para validar documentos "XML" qt-alternate-5.15.10 Introdução ao qt5 (alternar) Qt5 é uma estrutura de aplicação multiplataforma que é amplamente usada para desenvolver software de aplicação com uma interface gráfica de usuário(a) (GUI) (nesses casos qt5 é classificado como um kit de ferramentas de pequena engenhoca) e também usada para desenvolver aplicativos não GUI, como ferramentas de linha de comando e consoles para servidores. Dois dos principais usuários do qt são o KDE Frameworks 5 (KF5) e o LXQt. Importante O pacote qt5 completo consiste em quarenta e três (43) componentes. Estas instruções usam um pequeno subconjunto das instruções completas de instalação do qt5 acima. Elas cobrem a maioria, mas não todos, dos componentes necessários para construir pacotes no BLFS. Esta página e a próxima são fornecidas para reduzir a quantidade de tempo, espaço e dependências necessárias para construir esses pacotes. Elas não são recomendadas se você construirá o ambiente de área de trabalho [6521]Plasma-5.27.7 baseado em [6522]Plasma-5.27.7. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6523]https://download.qt.io/archive/qt/5.15/5.15.10/single/qt-ever ywhere-opensource-src-5.15.10.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: fb41d86bea6bc4886030a5092c910b09 * Tamanho da transferência: 629 MB * Espaço em disco estimado exigido: 8,7 GB (153 MB instalado) * Tempo de construção estimado: 5,7 UPC (usando paralelismo=8) Transferências Adicionais * Agora que as atualizações do qt5 estão restritas a clientes comerciais, os remendos de desenvolvedor(a) para os vários módulos estão sendo selecionados no KDE. Remendos para os módulos exigidos pelos pacotes no BLFS foram agregados para a construção não modular do qt5 que usamos. Remendo exigido: [6524]https://www.linuxfromscratch.org/patches/blfs/12.0/qt-everywh ere-opensource-src-5.15.10-kf5-1.patch Detalhes da seleção do KDE podem ser encontrados em [6525]https://dot.kde.org/2021/04/06/announcing-kdes-qt-5-patch-col lection e [6526]https://community.kde.org/Qt5PatchCollection. Dependências do qt5 Exigidas [6527]Bibliotecas do Xorg Recomendadas [6528]alsa-lib-1.2.9, [6529]Cups-2.4.6, [6530]double-conversion-3.3.0, [6531]GLib-2.76.4, [6532]HarfBuzz-8.1.1, [6533]ICU-73.2, [6534]hicolor-icon-theme-0.17, [6535]Mesa-23.1.6, [6536]libjpeg-turbo-3.0.0, [6537]libxkbcommon-1.5.0, [6538]SQLite-3.42.0, [6539]Wayland-1.22.0 (Mesa precisa ser construído com a estrutura de retaguarda EGL do Wayland), [6540]xcb-util-image-0.4.1, [6541]xcb-util-keysyms-0.4.1, [6542]xcb-util-renderutil-0.3.10 e [6543]xcb-util-wm-0.4.2 Opcionais [6544]GTK+-3.24.38, [6545]libinput-1.23.0 [6546]MariaDB-10.11.4 ou [6547]MySQL, [6548]MIT Kerberos V5-1.21.2, [6549]mtdev-1.1.6 [6550]PostgreSQL-15.4 e [6551]unixODBC-2.3.12 Observações de Editor(a): [6552]https://wiki.linuxfromscratch.org/blfs/wiki/qt5 Configurando o prefixo de instalação Instalando em /opt/qt5 Os(As) editores(as) do BLFS recomendam instalar o qt5 em um diretório diferente de /usr, ou seja, /opt/qt5 . Para fazer isso, configure a seguinte variável de ambiente: export QT5PREFIX=/opt/qt5 Dica Ocasionalmente, os caminhos de instalação são rigidamente codificados nos arquivos instalados. Essa é a razão pela qual /opt/qt5 é usado como prefixo de instalação em vez de /opt/qt-5.15.10. Para criar um diretório versionado do qt5 depois que a instalação estiver completa, você pode renomear o diretório e criar um link simbólico: mkdir -pv /opt/qt-5.15.10 ln -sfnv qt-5.15.10 /opt/qt5 Mais tarde, você pode querer instalar outras versões do qt5. Para fazer isso, apenas remova o link simbólico e use /opt/qt5 como prefixo novamente. Qual versão do qt5 você usa depende somente de onde o link simbólico aponta. Instalação do qt5 Atenção Se o qt5 estiver sendo reinstalado no mesmo diretório de uma instância existente, execute os comandos feitos por root, como make install, a partir de um console ou gerenciador de janelas não baseado em qt5. Ele sobrescreve bibliotecas do qt5 que não deveriam estar em uso durante o processo de instalação. Cuidado Se você não instalou algumas das dependências recomendadas, examine a saída gerada de ./configure --help para verificar como desabilitá-las ou usar versões internas incluídas no tarball do fonte. Nota Os(As) editores(as) do BLFS não recomendam instalar o qt5 na hierarquia /usr porque fica difícil encontrar componentes e atualizar para uma nova versão. Se você deseja instalar o qt5 em /usr, os diretórios precisam ser especificados explicitamente. Nesse caso, configure QT5PREFIX=/usr e adicione o seguinte aos argumentos de configuração abaixo: -archdatadir /usr/lib/qt5 \ -bindir /usr/bin \ -plugindir /usr/lib/qt5/plugins \ -importdir /usr/lib/qt5/imports \ -headerdir /usr/include/qt5 \ -datadir /usr/share/qt5 \ -docdir /usr/share/doc/qt5 \ -translationdir /usr/share/qt5/translations \ -examplesdir /usr/share/doc/qt5/examples Primeiro, aplique um remendo para obter as correções selecionadas pelo KDE para aqueles módulos que são exigidos pelos pacotes mencionados neste livro: patch -Np1 -i ../qt-everywhere-opensource-src-5.15.10-kf5-1.patch O remendo é presumido para ser usado em um repositório git, porque o comportamento do comando configure abaixo é mudado nesse caso. Basta criar um diretório .git no diretório qmake, onde o conjunto de comandos sequenciais configure for executado: mkdir -pv qtbase/.git Neste ponto, queremos configurar o salto da maioria dos componentes. Faça isso com: ls -Fd qt* | grep / | sed 's/^/-skip /;s@/@@' > tempconf && sed -i -r '/base|tools|x11extras|svg|declarative|wayland/d' tempconf Agora, instale o qt5 executando os seguintes comandos: ./configure -prefix $QT5PREFIX \ -sysconfdir /etc/xdg \ -confirm-license \ -opensource \ -dbus-linked \ -openssl-linked \ -system-harfbuzz \ -system-sqlite \ -nomake examples \ -no-rpath \ -journald \ $(cat tempconf) \ && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Remova referências ao diretório de construção dos arquivos instalados de dependência de biblioteca (prl) executando o seguinte comando como o(a) usuário(a) root: find $QT5PREFIX/ -name \*.prl \ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; Instale imagens e crie entradas de menu para aplicativos instalados. A variável QT5BINDIR é usada aqui para apontar para o diretório dos aplicativos executáveis. Se você tiver mudado o bindir acima, QT5BINDIR precisará ser ajustado abaixo. Certifique-se de que a variável QT5BINDIR esteja definida no ambiente do(a) root e como o(a) usuário(a) root: QT5BINDIR=$QT5PREFIX/bin install -v -dm755 /usr/share/pixmaps/ && install -v -Dm644 qttools/src/assistant/assistant/images/assistant-128.png \ /usr/share/pixmaps/assistant-qt5.png && install -v -Dm644 qttools/src/designer/src/designer/images/designer.png \ /usr/share/pixmaps/designer-qt5.png && install -v -Dm644 qttools/src/linguist/linguist/images/icons/linguist-128-32.png \ /usr/share/pixmaps/linguist-qt5.png && install -v -Dm644 qttools/src/qdbus/qdbusviewer/images/qdbusviewer-128.png \ /usr/share/pixmaps/qdbusviewer-qt5.png && install -dm755 /usr/share/applications && cat > /usr/share/applications/assistant-qt5.desktop << EOF [Desktop Entry] Name=Assistente Qt5 Comment=Mostra documentação e exemplos do Qt5 Exec=$QT5BINDIR/assistant Icon=assistant-qt5.png Terminal=false Encoding=UTF-8 Type=Application Categories=Qt;Development;Documentation; EOF cat > /usr/share/applications/designer-qt5.desktop << EOF [Desktop Entry] Name=Projetista Qt5 GenericName=Projetista de Interface Comment=Projetar GUIs para aplicativos Qt5 Exec=$QT5BINDIR/designer Icon=designer-qt5.png MimeType=application/x-designer; Terminal=false Encoding=UTF-8 Type=Application Categories=Qt;Development; EOF cat > /usr/share/applications/linguist-qt5.desktop << EOF [Desktop Entry] Name=Linguista Qt5 Comment=Adicionar traduções a aplicativos Qt5 Exec=$QT5BINDIR/linguist Icon=linguist-qt5.png MimeType=text/vnd.trolltech.linguist;application/x-linguist; Terminal=false Encoding=UTF-8 Type=Application Categories=Qt;Development; EOF cat > /usr/share/applications/qdbusviewer-qt5.desktop << EOF [Desktop Entry] Name=Qt5 QDbusViewer GenericName=Depurador do D-Bus Comment=Depurar aplicativos do D-Bus Exec=$QT5BINDIR/qdbusviewer Icon=qdbusviewer-qt5.png Terminal=false Encoding=UTF-8 Type=Application Categories=Qt;Development;Debugger; EOF Alguns pacotes, como [6553]VLC-3.0.18, procuram determinados executáveis com um sufixo -qt5. Execute o seguinte comando como o(a) usuário(a) root para criar os links simbólicos necessários: for file in moc uic rcc qmake lconvert lrelease lupdate; do ln -sfrvn $QT5BINDIR/$file /usr/bin/$file-qt5 done Explicações do Comando -confirm-license: Aceite a licença sem avisar o(a) usuário(a) durante a configuração. -opensource: Instale a versão de fonte aberto do qt. -nomake examples: Essa chave desabilita a construção dos aplicativos de exemplo incluídos no tarball do fonte. Remova-a se quiser construí-los. -system-sqlite: Essa chave habilita usar a versão do sistema do SQLite. -system-harfbuzz: Essa chave habilita usar a versão do sistema do Harfbuzz. -dbus-linked -openssl-linked: Essas chaves habilitam a vinculação explícita das bibliotecas do D-Bus e OpenSSL no qt5 em vez de abri-las com dlopen(). -journald: Essa chave permite enviar mensagens qt para o sistema de registro journald. $(cat tempconf): Esse comando fornece uma lista de componentes que não deveriam ser construídos. Essas entradas estão no formato "-skip ". Configurando o qt5 Informações de Configuração Se o [6554]Sudo-1.9.14p3 estiver instalado, QT5DIR também deveria estar disponível para o(a) superusuário(a). Execute os seguintes comandos como o(a) usuário(a) root: cat > /etc/sudoers.d/qt << "EOF" Defaults env_keep += QT5DIR EOF Se você instalou qt5 em /usr Se você instalou o qt5 em /usr, crie uma variável de ambiente necessária para certos pacotes. Como o(a) usuário(a) root: cat > /etc/profile.d/qt5.sh << "EOF" # Inicia /etc/profile.d/qt5.sh QT5DIR=/usr export QT5DIR # Termina /etc/profile.d/qt5.sh EOF Se você não instalou qt5 em /usr Se você instalou o qt5 em um local diferente de /usr, você precisa atualizar os seguintes arquivos de configuração, de forma que o qt5 seja encontrado corretamente por outros pacotes e processos do sistema. Como o(a) usuário(a) root, atualize o arquivo /etc/ld.so.conf e o arquivo de cache de tempo de execução do vinculador dinâmico: cat >> /etc/ld.so.conf << EOF # Inicia adição do Qt /opt/qt5/lib # Termina adição do Qt EOF ldconfig Como o(a) usuário(a) root, crie o arquivo /etc/profile.d/qt5.sh: cat > /etc/profile.d/qt5.sh << "EOF" # Inicia /etc/profile.d/qt5.sh QT5DIR=/opt/qt5 pathappend $QT5DIR/bin PATH pathappend $QT5DIR/lib/pkgconfig PKG_CONFIG_PATH export QT5DIR # Termina /etc/profile.d/qt5.sh EOF Conteúdo Aplicativos Instalados: assistant, designer, fixqt4headers.pl, lconvert, linguist, lprodump, lrelease, lrelease-pro, lupdate, lupdate-pro, moc, pixeltool, qcollectiongenerator, qdbus, qdbuscpp2xml, qdbusviewer, qdbusxml2cpp, qdistancefieldgenerator, qdoc, qhelpgenerator, qlalr, qmake, qml, qmlcachegen, qmleasing, qmlformat, qmlimportscanner, qmllint, qmlmin, qmlplugindump, qmlpreview, qmlprofiler, qmlscene, qmltestrunner, qmltime, qmltyperegistrar, qtattributionscanner, qtdiag, qtpaths, qtplugininfo, qtwaylandscanner, qvkgen, rcc, syncqt.pl, tracegen e uic Bibliotecas Instaladas: libQt5Concurrent.so, libQt5Core.so, libQt5DBus.so, libQt5Designer.so, libQt5DesignerComponents.so, libQt5EglFSDeviceIntegration.so, libQt5EglFsKmsSupport.so, libQt5Gui.so, libQt5Help.so, libQt5Network.so, libQt5OpenGL.so, libQt5PrintSupport.so, libQt5Qml.so, libQt5QmlModels.so, libQt5QmlWorkerScript.so, libQt5Quick.so, libQt5QuickParticles.so, libQt5QuickShapes.so, libQt5QuickTest.so, libQt5WaylandClient.so, libQt5WaylandCompositor.so, libQt5Widgets.so, libQt5X11Extras.so, libQt5XcbQpa.so, libQt5Xml.so, várias bibliotecas estáticas e vários plugins sob /opt/qt5/{plugins,qml} Diretórios Instalados: /usr/include/qt5, /usr/lib/qt5, /usr/share/doc/qt5 e /usr/share/qt5 OU /opt/qt5 e /opt/qt-5.15.10 Descrições Curtas Vejam-se [6555]Qt5 Short Descriptions componentes-qt-5.15.10 Introdução aos componentes do qt5 Estas instruções mostram como construir componentes adicionais do Qt5 além do [6556]qt-alternate-5.15.10. Eles não são aplicáveis se o pacote [6557]Qt-5.15.10 completo tiver sido construído. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6558]https://download.qt.io/archive/qt/5.15/5.15.10/single/qt-ever ywhere-opensource-src-5.15.10.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: fb41d86bea6bc4886030a5092c910b09 Transferências Adicionais * Agora que as atualizações do qt5 estão restritas a clientes comerciais, os remendos de fluxo de desenvolvimento para os vários módulos estão sendo selecionados no KDE. Os remendos para os módulos exigidos pelos pacotes no BLFS foram agregados para a construção do qt5 não modular que usamos. Remendo exigido: [6559]https://www.linuxfromscratch.org/patches/blfs/12.0/qt-everywh ere-opensource-src-5.15.10-kf5-1.patch Detalhes da curadoria do KDE podem ser encontrados em [6560]https://dot.kde.org/2021/04/06/announcing-kdes-qt-5-patch-col lection e [6561]https://community.kde.org/Qt5PatchCollection. Dependências dos Componentes do qt5 Exigidas [6562]qt-alternate-5.15.10 Dependências recomendadas para qtimageformats [6563]JasPer-4.0.0, [6564]libmng-2.0.3, [6565]libtiff-4.5.1 e [6566]libwebp-1.3.1 Dependências recomendadas para multimídia [6567]gst-plugins-good-1.22.5, [6568]gst-plugins-bad-1.22.5 e [6569]gst-plugins-ugly-1.22.5 Instalação dos Componentes do qt5 Existem uns poucos componentes extras necessários para diferentes pacotes no BLFS. Esses são qtimageformats, qtlocation, qtwebchannel, qtdoc e qtmultimedia. Somente aqueles componentes especificados para um pacote específico são necessários. Você só precisa construir o(s) componente(s) relevante(s). Primeiro, aplique um remendo para obter as correções selecionadas pelo KDE para alguns dos módulos listados acima: patch -Np1 -i ../qt-everywhere-opensource-src-5.15.10-kf5-1.patch A seguir, se você estiver instalando o qtlocation, corrija a construção com GCC-13: sed -e "/pragma once/a#include " \ -i qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/geometry.hpp \ qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/string.hpp \ qtlocation/src/3rdparty/mapbox-gl-native/src/mbgl/gl/stencil_mode.hpp Instale cada componente desejado executando os seguintes comandos: cd qmake .pro make Como o(a) usuário(a) root: make install Remova as referências para o diretório de construção dos arquivos instalados de dependência de biblioteca (prl) executando o seguinte comando como o(a) usuário(a) root: find $QT5DIR/ -name \*.prl \ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libQt5.so Diretórios Instalados: $QTDIR/qml/, $QTDIR/lib/ e $QTDIR/include/ QtWebEngine-5.15.15 Introdução ao QtWebEngine "QtWebEngine" integra os recursos "web" do "chromium" no "Qt". Ele vem com a própria cópia dele do "ninja", a qual usa para a construção se não conseguir encontrar uma cópia de sistema, e várias cópias de bibliotecas originárias do "ffmpeg", "icu", "libvpx" e "zlib" (incluindo "libminizip"), as quais foram bifurcadas pelos(as) desenvolvedores(as) do "chromium". Esse pacote, e os navegadores que o usam, possivelmente seja útil se você precisar usar um sítio da "web" projetado para navegadores "Chrome" ou "Chromium" da "Google". Importante Qt-5.15 atingiu o fim da vida útil em 26 de maio de 2023. Qt5.15 LTS vida útil estendida foi estendido até 26 de maio de 2025 para aqueles(as) com licenças de assinatura. Como o qtwebengine usa código do chromium sob a LGPL, parece que quaisquer novas correções CVE implementadas para o QtWebEngine estarão disponíveis depois que o Qt fizer lançamentos públicos das versões atuais dele. Atenção "QtWebEngine" usa uma cópia bifurcada do "Chromium" e, portanto, é vulnerável a muitos problemas encontrados lá. Os(As) desenvolvedores(as) do "Qt" sempre tem preferido fazer lançamentos ao mesmo tempo que o resto do "Qt" (em vez de adicionar correções de emergência), mas com versões estáveis sendo lançadas depois da versão atual de desenvolvimento. Agora que eles(as) desejam migrar para o "Qt6", os lançamentos 5.15.3 e posteriores do "Qt-5.15" estão inicialmente disponíveis somente para clientes pagantes. "QtWebEngine" é uma exceção por causa da licença "LGPL" dele, mas levar os fontes "git" (com o submódulo bifurcado do "Chromium") para uma posição onde eles sejam construídos com sucesso em um sistema atual do BLFS pode exigir muito esforço e, portanto, atualizações para o livro possivelmente sejam atrasadas. Parece provável que as futuras versões da série 5.15 também serão lançadas muito depois das vulnerabilidades do "Chromium" serem conhecidas, mas correções para o "QtWebEngine" podem ser encontradas no "git" e os(as) editores(as) consideram que as vulnerabilidades conhecidas nos navegadores deveriam ser corrigidas. O tarball vinculado abaixo foi criado a partir da ramificação 5.15.15 do git e da 87-branch do submódulo chromium (que é bifurcada a partir do chromium). Veja-se o arquivo GIT-VERSIONS no tarball para detalhes dos commits mais recentes. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Atenção Por padrão, o ninja usará todas as CPUs online mais duas (se existirem pelo menos quatro), mesmo que elas não estejam disponíveis para a tarefa atual porque o terminal de construção tenha sido restringido com o 'taskset'. No BLFS, esse pacote leva mais tempo para construir que qualquer outro. Em um exemplo, a construção desse pacote travou no ponto de cerca de noventa por cento (90%) devido a um problema de falta de memória em um sistema com vinte e quatro (24) elementos de processamento e trinta e dois (32) GB de memória. Para contornar isso, vejam-se as Explicações do Comando abaixo. Nota Se estiver atualizando e tiver instalado uma versão mais recente do "[6570]ICU-73.2" desde a última instalação do "[6571]Qt-5.15.10", [então] você precisará reinstalar o "Qt5" antes de atualizar, caso contrário, o link final desse pacote falhará com um aviso de que a versão das bibliotecas "icu" necessárias para "libQt5Core.so" possivelmente conflitem com a versão usada para esse pacote. Excepcionalmente, o sistema de construção "GN" fornecido (usado para criar os arquivos "Ninja") exige uma "libstdc++.a" estática, embora as bibliotecas instaladas usem corretamente a versão compartilhada. Se essa biblioteca estática não estiver presente, [então] a construção falhará muito rapidamente. Por favor, observe que se você tentar construir o "webengine" como parte do "Qt" e a biblioteca estática não estiver disponível, [então] essa construção será, ou concluída sem instalar o "webengine" ou, do contrário, falhará durante a instalação (ambas as variantes foram observadas em 5.12 .0). Informação do Pacote * Transferência (HTTP): [6572]https://anduin.linuxfromscratch.org/BLFS/qtwebengine/qtwebeng ine-5.15.15.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 296f61f84a489088ffd237fbcd052c9e * Tamanho da transferência: 307 MB * Espaço em disco estimado exigido: 5,1 GB (153 MB instalado) * Tempo de construção estimado: 73 UPC (Usando paralelismo=4) Transferências Adicionais * Remendo exigido: [6573]https://www.linuxfromscratch.org/patches/blfs/12.0/qtwebengin e-5.15.15-build_fixes-1.patch * Remendo exigido: [6574]https://www.linuxfromscratch.org/patches/blfs/12.0/qtwebengin e-5.15.15-ffmpeg5_fixes-1.patch Dependências do "qtwebengine" Exigidas [6575]nodejs-18.17.1, [6576]nss-3.92, [6577]pciutils-3.10.0 e ([6578]Qt-5.15.10 ou [6579]componentes-qt-5.15.10 com qtlocation e qtwebchannel) Recomendadas Nota Se esses pacotes não estiverem instalados, [então] o processo de construção compilará e instalará a própria versão dele (talvez mais antiga), com o efeito colateral de aumentar a construção e espaço instalado em disco e o tempo de construção. ou [6580]alsa-lib-1.2.9 ou [6581]PulseAudio-16.1 (ou ambos), [6582]FFmpeg-6.0, [6583]ICU-73.2 (construído antes do [6584]libxml2-2.10.4) , [6585]libwebp-1.3.1, [6586]libxslt-1.1.38 e [6587]Opus-1.3.1 Opcionais [6588]libevent-2.1.12, [6589]MIT Kerberos V5-1.21.2, [6590]pipewire-0.3.77, [6591]Poppler-23.08.0, [6592]jsoncpp, [6593]libsrtp, [6594]snappy Observações de Editor(a): [6595]https://wiki.linuxfromscratch.org/blfs/wiki/qtwebengine Instalação do qtwebengine Aplique um remendo para corrigir vários problemas que podem impedir a construção de completar e para forçá-la a usar o "python3": patch -Np1 -i ../qtwebengine-5.15.15-build_fixes-1.patch Aplique um remendo que resolve problemas ao construir com ffmpeg-5 e posterior: patch -Np1 -i ../qtwebengine-5.15.15-ffmpeg5_fixes-1.patch Embora o remendo "build_fixes" tenha garantido que o "git" não seja invocado durante a construção, o sistema de construção tem regras labirínticas de complexidade bizantina e, em particular, tentar construir sem dois diretórios ".git" o levará a eventualmente cair em código inesperado e não construível que referencia um cabeçalho privado que não foi criado. Evite isso criando os diretórios exigidos: mkdir -pv .git src/3rdparty/chromium/.git Como essa versão do "qtwebengine" se destina a um lançamento posterior aos lançamentos públicos atuais, mude-a para construir para "qt-5.15.10" usando um "sed": sed -e '/^MODULE_VERSION/s/5.*/5.15.10/' -i .qmake.conf Agora, certifique-se de que os cabeçalhos locais estejam disponíveis quando não construir como parte do "[6596]Qt-5.15.10" completo: find -type f -name "*.pr[io]" | xargs sed -i -e 's|INCLUDEPATH += |&$$QTWEBENGINE_ROOT/include |' Em seguida, permita que a biblioteca "pulseaudio" seja vinculada em tempo de construção, em vez de em tempo de execução. Isso também evita um problema com o "pulseaudio" mais recente: sed -e '/link_pulseaudio/s/false/true/' \ -i src/3rdparty/chromium/media/media_options.gni A seguir, corrija as ferramentas de construção, de forma que elas possam ser executadas com "Python-3.11+": sed -e 's/\^(?i)/(?i)^/' \ -i src/3rdparty/chromium/tools/metrics/ukm/ukm_model.py && sed -e "s/'rU'/'r'/" \ -i src/3rdparty/chromium/tools/grit/grit/util.py Finalmente, corrija uma mudança no sistema de construção que permite que os(as) desenvolvedores(as) dele passem, por exemplo, "-j20" para o "make" (para testes rápidos de algumas áreas), mas quebra a construção com o uso do LFS da variável de ambiente "NINJAJOBS": sed -i 's/NINJAJOBS/NINJA_JOBS/' src/core/gn_run.pro Instale o "qtwebengine" executando os seguintes comandos: mkdir build && cd build && qmake .. -- -system-ffmpeg -proprietary-codecs -webengine-icu && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Remova referências ao diretório de construção dos arquivos instalados de dependência de biblioteca ("prl") executando os seguintes comandos como o(a) usuário(a) "root": find $QT5DIR/ -name \*.prl \ -exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; Explicações do Comando qmake: Isso construirá a cópia incluída do "ninja" se ele já não estiver instalado e a usará para configurar a construção. -- -system-ffmpeg -proprietary-codecs -webengine-icu: Se quaisquer opções forem passadas para o "qmake", [então] elas precisam vir depois de "--" que precisa seguir ".." que aponta para o diretório principal. As opções aqui fazem com que ele use o "ffmpeg" do sistema e o "icu" do sistema. A opção "-proprietary-codecs" permite que o "ffmpeg" decodifique os codificadores "H264" e "H265". Se construído como parte do "Qt5" completo, [então] o "icu" do sistema será usado automaticamente (somente) pelo "Qt5Core" se ele estiver disponível, mas, a menos que essa opção seja usada, o "webengine" sempre usará a cópia dele enviada do "icu", adicionando tempo e espaço à construção. -webengine-jumbo-build 0: Se isso for adicionado ao comando "qmake", [então] fará com que o "Jumbo Build Merge Limit" seja informado como "no" em vez de oito (08). Isso desliga a construção "jumbo". Algumas distribuições fazem isso para obter uma construção menor em algumas arquiteturas como "MIPS". No "x86_64" pode economizar um pouco de espaço na construção, mas o tempo de construção aumentará muito. -webengine-kerberos: Adicione isso se tiver instalado o "[6597]MIT Kerberos V5-1.21.2" e desejar se conectar a partir de um navegador usando o "QtWebEngine" a um servidor "web" que exija que você se conecte via "kerberos". NINJAJOBS=4 make: Se você remendou o "ninja" do sistema no LFS para reconhecer a variável de ambiente "NINJAJOBS," [então] esse comando executará o "ninja" do sistema com o número especificado de tarefas (ou seja, quatro). Existem várias razões pelas quais você poderia querer usar opções como essa: * Construir em um subconjunto de "CPUs" permite medir o tempo de construção para um número menor de processadores e (ou) executar outras tarefas com uso intensivo da "CPU" ao mesmo tempo. Para um(a) editor(a) em uma máquina com muitas "CPUs", tentando medir o tempo de construção para uma máquina com quatro "CPUs", "NINJAJOBS=4 make" fornecerá uma aproximação razoável (existe um curto período onde N+2 tarefas "python" e "node" executam). * Em uma máquina com somente quatro "CPUs" "online", o padrão de agendamento de tarefas N+2 para o "qtwebengine" é mais lento entre três por cento (3%) e sete por cento (7%), provavelmente devido ao tamanho dos arquivos" C++" e às muitas inclusões e modelos deles. Portanto, se em dúvida, [então] configure "NINJAJOBS" para o número de "CPUs". * Reduzindo o número de núcleos sendo usados em execução prolongada, os pacotes com uso intensivo de "CPU" possivelmente aliviem os problemas de aquecimento. * Reduzir o número de núcleos evitará potenciais problemas de falta de memória em sistemas que não tenham memória suficiente (ou troca) quando todos os núcleos estiverem ativos. Uma abordagem sugerida é a de limitar o número de núcleos a cerca de um núcleo para cada 1,5 GB de "RAM" e espaço de troca combinados. Configurando o QtWebEngine Informação de Configuração Se estiver atualizando a partir de uma versão secundária mais antiga desse aplicativo, [então] para algumas páginas da "Web" carregarem, você possivelmente precise limpar os "caches" do navegador; por exemplo. para o "falkon" eles serão encontrados em "~/.cache/falkon/". Você precisará fazer isso se o navegador começar a renderizar a página e então mudar para uma guia em branco com uma mensagem de que algo deu errado e um botão para Tentar novamente. Mesmo depois de remover os "caches" antigos, você possivelmente precise tentar novamente algumas vezes para cada guia afetada. Se um navegador usando esse pacote falhar ao executar e quando executado a partir de um terminal ele informar "Trace/breakpoint trap", isso provavelmente é um problema de configuração do núcleo - não existe necessidade de reconstruir o "QtWebEngine"; veja-se a próxima seção, recompile o núcleo e reinicie para o novo núcleo. Configuração do Núcleo Esse pacote não exige nenhum dos itens opcionais de espaço de nome do núcleo, mas se o espaço de nome de Usuário(a) estiver habilitado , (como acontece em alguns arquivos de unidade, para proteção), [então] o espaço de nome de "PID" também precisa ser habilitado. Nesse caso, habilite as seguintes opções na configuração do núcleo e recompile o núcleo se necessário: General setup ---> -*- Namespaces support ---> [NAMESPACES] # Enable or disable *both* of them: [ /*] User namespace [USER_NS] [ /*] PID Namespaces [PID_NS] Conteúdo Aplicativos Instalados: qtwebengine_convert_dict e QtWebEngineProcess (em $QT5DIR/libexec) Bibliotecas Instaladas: libQt5Pdf.so, libQt5PdfWidgets.so, libQt5WebEngineCore.so, libQt5WebEngine.so e libQt5WebEngineWidgets.so Diretórios Instalados: $QT5DIR/include/QtPdf, $QT5DIR/include/QtPdfWidgets, $QT5DIR/include/QtWebEngine, $QT5DIR/include/QtWebEngineCore, $QT5DIR/include/QtWebEngineWidgets, $QT5DIR/qml/QtWebEngine e $QT5DIR/translations/qtwebengine_locales Descrições Curtas qtwebengine_convert_dict converte dicionários do "hunspell" (".dic") para o formato do "chromium" (".bdic") QtWebEngineProcess é um aplicativo "libexec" que executa um processo zigoto (aquele que escuta solicitações de gerar a partir de um processo mestre e se bifurca em resposta) libQtWebEngine.so fornece tipos "QML" para renderizar conteúdo da web dentro de um aplicativo "QML" libQtWebEngineCore.so fornece "API" pública compartilhada por "QtWebEngine" e "QtWebEngineWidgets" libQtWebEngineWidgets.so fornece um mecanismo de navegador da "web", bem como classes "C++" para renderizar e interagir com o conteúdo da "web" startup-notification-0.12 Introdução ao startup-notification O pacote "startup-notification" contém bibliotecas "startup-notification". Elas são úteis para construir uma maneira consistente para notificar o(a) usuário(a) por meio do cursor que o aplicativo está carregando. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6598]https://www.freedesktop.org/software/startup-notification/rel eases/startup-notification-0.12.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 2cd77326d4dcaed9a5a23a1232fb38e9 * Tamanho da transferência: 347 KB * Espaço em disco estimado exigido: 4 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "startup-notification" Exigidas [6599]Bibliotecas do Xorg e [6600]xcb-util-0.4.1 Instalação do startup-notification Instale o "startup-notification" executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install && install -v -m644 -D doc/startup-notification.txt \ /usr/share/doc/startup-notification-0.12/startup-notification.txt Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: libstartup-notification-1.so Diretórios Instalados: /usr/include/startup-notification-1.0 e /usr/share/doc/startup-notification-0.12 Descrições Curtas libstartup-notification-1.so fornece as funções para auxiliar os aplicativos na comunicação com o sistema de cursor para fornecer retroalimentação para o(a) usuário(a) que o aplicativo está carregando Tepl-6.8.0 Introdução ao Tepl O pacote "Tepl" contém uma biblioteca que facilita o desenvolvimento de editores de texto e "IDEs" baseados em "GtkSourceView". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6601]https://download.gnome.org/sources/tepl/6.8/tepl-6.8.0.tar.xz * Transferência (FTP): [6602]ftp://ftp.acc.umu.se/pub/gnome/sources/tepl/6.8/tepl-6.8.0.ta r.xz * Soma de verificação MD5 da transferência: 5d29b2c9032a1ba2d33ef9c9c9c7de79 * Tamanho da transferência: 164 KB * Espaço em disco estimado exigido: 13 MB (com testes) * Tempo de construção estimado: 0,3 UPC (com os testes) Dependências do "Tepl" Exigidas [6603]gsettings-desktop-schemas-44.0, [6604]ICU-73.2, [6605]libgedit-amtk-5.8.0, [6606]libgeditsourceview-299.0.4 e [6607]uchardet-0.0.8 Opcionais [6608]GTK-Doc-1.33.2 (para documentação) e [6609]Valgrind-3.21.0 Instalação do Tepl Instale o "Tepl" executando os seguintes comandos: mkdir tepl-build && cd tepl-build && meson setup --prefix=/usr \ --buildtype=release \ -Dgtk_doc=false \ .. && ninja Para testar os resultados, emita: "ninja test". Agora, como o(a) usuário(a) "root": ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dgtk_doc=false: Desabilita a construção da documentação da "API". Remova se você tiver o "[6610]GTK-Doc-1.33.2" instalado e desejar construir a documentação da "API". Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libtepl-6.so Diretórios Instalados: /usr/include/tepl-6 e /usr/share/gtk-doc/html/tepl-6.0 Descrições Curtas libtepl-6.so contém funções de conveniência para aplicativos baseados em "GtkSourceView4" WebKitGTK-2.41.91 Introdução ao WebKitGTK O pacote "WebKitGTK" é uma porta do mecanismo de renderização "web" portável "WebKit" para as plataformas "GTK+ 3" e "GTK 4". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6611]https://webkitgtk.org/releases/webkitgtk-2.41.91.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 1140f86d9044fb76be974b65f71737d7 * Tamanho da transferência: 39 MB * Espaço em disco estimado exigido: 1,2 GB (201 MB instalado; adicionar 152 MB para GTK-4) * Tempo de construção estimado: 35 UPC (para GTK-3, usando paralelismo = 4; adicionar 34 UPC para GTK-4) Dependências do "WebKitGTK" Exigidas [6612]Cairo-1.17.6, [6613]CMake-3.27.2, [6614]gst-plugins-base-1.22.5, [6615]gst-plugins-bad-1.22.5, [6616]GTK+-3.24.38, [6617]GTK-4.12.0, [6618]ICU-73.2, [6619]Little CMS-2.14, [6620]libgudev-238, [6621]libsecret-0.21.0, [6622]libsoup-3.4.2, [6623]libtasn1-4.19.0, [6624]libwebp-1.3.1, [6625]Mesa-23.1.6, [6626]OpenJPEG-2.5.0, [6627]Ruby-3.2.2, [6628]SQLite-3.42.0, [6629]unifdef-2.12, [6630]Which-2.21 e [6631]wpebackend-fdo-1.14.2 Recomendadas [6632]bubblewrap-0.8.0, [6633]enchant-2.5.0, [6634]GeoClue-2.7.0, [6635]gobject-introspection-1.76.1, [6636]hicolor-icon-theme-0.17, [6637]libavif-0.11.1 e [6638]xdg-dbus-proxy-0.1.5 Opcionais [6639]Gi-DocGen-2023.1, [6640]HarfBuzz-8.1.1, [6641]Wayland-1.22.0, [6642]WOFF2-1.0.2, [6643]ccache, [6644]Hyphen, [6645]libjxl e [6646]libmanette Observações de Editor(a): [6647]https://wiki.linuxfromscratch.org/blfs/wiki/webkitgtk Instalação do WebKitGTK Instalação do WebKitGTK Importante Esse pacote permite construir com GTK-3 ou GTK-4, mas não ambos na mesma construção. A versão GTK-4 é necessária para pacotes como [6648]Epiphany-44.6. Outros pacotes, como [6649]Balsa-2.6.4 ou [6650]Evolution-3.48.4, requerem a versão GTK-3. Ambas as versões podem ser instaladas lado a lado no mesmo sistema. Nós fornecemos instruções de construção para ambos os casos abaixo, mas a única diferença é a configuração de -DUSE_GTK4 Se você quiser instalar a versão GTK+-3 do WebKitGTK, execute os seguintes comandos: mkdir -vp build && cd build && cmake -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_SKIP_RPATH=ON \ -DPORT=GTK \ -DLIB_INSTALL_DIR=/usr/lib \ -DUSE_LIBHYPHEN=OFF \ -DENABLE_GAMEPAD=OFF \ -DENABLE_MINIBROWSER=ON \ -DENABLE_DOCUMENTATION=OFF \ -DUSE_WOFF2=OFF \ -DUSE_GTK4=OFF \ -DUSE_WPE_RENDERER=ON \ -DUSE_JPEGXL=OFF \ -DENABLE_BUBBLEWRAP_SANDBOX=ON \ -Wno-dev -G Ninja .. && ninja Esse pacote não tem uma suíte funcional de teste. No entanto, existe um navegador gráfico básico usável no diretório da construção, "build/bin/MiniBrowser". Se a inicialização dele falhar, [então] existe um problema com a construção. Agora, como o(a) usuário(a) "root": ninja install Como a opção "-DENABLE_DOCUMENTATION=OFF" é usada, a documentação não é reconstruída nem instalada agora. Se precisar da documentação, [então] você pode, ou instalar o "[6651]Gi-DocGen-2023.1" e remover essa opção do comando "cmake", ou instalar a documentação pré construída: install -vdm755 /usr/share/gtk-doc/html/{jsc-glib,webkit2gtk{,-web-extension}}-4 .1 && install -vm644 ../Documentation/jsc-glib-4.1/* \ /usr/share/gtk-doc/html/jsc-glib-4.1 && install -vm644 ../Documentation/webkit2gtk-4.1/* \ /usr/share/gtk-doc/html/webkit2gtk-4.1 && install -vm644 ../Documentation/webkit2gtk-web-extension-4.1/* \ /usr/share/gtk-doc/html/webkit2gtk-web-extension-4.1 Se você quiser instalar a versão GTK4 do WebKitGTK, execute os seguintes comandos: rm -rf * .[^.]* && cmake -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_SKIP_RPATH=ON \ -DPORT=GTK \ -DLIB_INSTALL_DIR=/usr/lib \ -DUSE_LIBHYPHEN=OFF \ -DENABLE_GAMEPAD=OFF \ -DENABLE_MINIBROWSER=ON \ -DENABLE_DOCUMENTATION=OFF \ -DUSE_WOFF2=OFF \ -DUSE_GTK4=ON \ -DUSE_JPEGXL=OFF \ -DUSE_WPE_RENDERER=ON \ -DENABLE_BUBBLEWRAP_SANDBOX=ON \ -Wno-dev -G Ninja .. && ninja Agora, como o(a) usuário(a) "root": ninja install Explicações do Comando -DUSE_LIBHYPHEN=OFF: Essa chave desabilita a implementação padrão de hifenização automática. Você precisa instalar o "[6652]Hyphen" se desejar habilitá-la (substituindo "OFF" por "ON" ou apenas removendo a chave). -DENABLE_DOCUMENTATION=OFF: Essa chave desabilita a regeneração da documentação. Remova essa chave se você tiver o "[6653]Gi-DocGen-2023.1" instalado e desejar gerar novamente a documentação. -DENABLE_GAMEPAD=OFF: Essa chave desabilita o suporte ao "gamepad". Remova essa chave se você tiver o "[6654]libmanette" instalado e desejar ativá-lo. -DENABLE_MINIBROWSER=ON: Essa chave habilita compilar e instalar o "MiniBrowser". -DUSE_WPE_RENDERER=ON: Essa chave usa o renderizador "WPE", que é recomendado pelo(a) desenvolvedor(a). -DUSE_JPEGXL=OFF: Essa chave desativa o suporte para imagens JPEG-XL. Remova-a se você tiver o pacote opcional [6655]libjxl instalado. -DENABLE_BUBBLEWRAP_SANDBOX=ON: Essa chave habilita o sandbox Bubblewrap, que ajuda a mitigar o impacto da maioria das vulnerabilidades de segurança neste pacote. Mude essa chave para OFF se você não quiser instalar [6656]bubblewrap-0.8.0 e [6657]xdg-dbus-proxy-0.1.5, mas observe que isso possivelmente te coloque em risco. -DUSE_SYSTEM_MALLOC=ON: Essa chave habilita construir contra o "malloc" instalado no sistema. -DENABLE_GEOLOCATION=OFF: Use essa chave se você não quiser instalar o "[6658]GeoClue-2.7.0". -DUSE_AVIF=OFF: Use essa chave se você não quiser instalar [6659]libavif-0.11.1. Observe que você não terá suporte para imagens AVIF se fizer isso. -DUSE_WOFF2=ON: Use essa chave se o pacote opcional "[6660]WOFF2-1.0.2" estiver instalado. Isso adiciona suporte adicional para fontes. Conteúdo Aplicativo Instalado: WebKitWebDriver Bibliotecas Instaladas: libjavascriptcoregtk-4.1.so, libjavascriptcoregtk-6.0.so, libwebkit2gtk-4.1.so e libwebkitgtk-6.0.so Diretórios Instalados: /usr/include/webkitgtk-4.1, /usr/include/webkitgtk-6.0, /usr/lib{,exec}/webkit2gtk-4.1, /usr/lib{,exec}/webkitgtk-6.0 e /usr/share/gtk-doc/html/{jsc-glib,webkit2gtk{,-web-extension}}-4.1 Descrições Curtas WebKitWebDriver permite depuração e automação de páginas e navegadores da "web" libjavascriptcoregtk-4.1.so contém funções centrais da "API" do "JavaScript" usadas por "jsc" e "libwebkit2gtk-4.1" libjavascriptcoregtk-6.0.so contém funções centrais da API JavaScript usadas por jsc e libwebkitgtk-6.0 libwebkit2gtk-4.1.so contém as funções da "API" do "WebKit2" libwebkitgtk-6.0.so contém as funções de API do WebKit para aplicativos GTK-4 Capítulo 26. Gerenciadores de Tela Gerenciadores de Tela são aplicativos gráficos usados para iniciar a tela gráfica (atualmente, o servidor "X") e fornecer uma capacidade de "login" para um Gerenciador de Janelas ou Ambiente de Área de Trabalho. Existem muitos Gerenciadores de Tela disponíveis. Alguns dos mais bem conhecidos incluem: gdm, kdm (obsoleto), LightDM, lxdm, Slim e sddm. Entre os Ambientes de Área de Trabalho disponíveis para o Linux você encontra: Enlightenment, GNOME, Plasma, lxde, LXQt e xfce. A escolha de um Gerenciador de Tela ou de um Ambiente de Área de Trabalho é altamente subjetiva. A escolha depende da aparência dos pacotes, dos recursos (memória e espaço em disco) exigidos e dos utilitários incluídos. Neste capítulo as instruções de instalação de alguns Gerenciadores de Tela são apresentadas. Posteriormente no livro, você encontrará outros, que são fornecidos como parte de alguns Ambientes de Área de Trabalho. GDM-44.1 Introdução ao GDM "GDM" é um serviço de sistema que é responsável por fornecer "logins" gráficos e gerenciar exibições locais e remotas. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6661]https://download.gnome.org/sources/gdm/44/gdm-44.1.tar.xz * Transferência (FTP): [6662]ftp://ftp.acc.umu.se/pub/gnome/sources/gdm/44/gdm-44.1.tar.xz * Soma de verificação MD5 da transferência: 8b857cf6510cc038538399aaaeaa0dff * Tamanho da transferência: 836 KB * Espaço em disco estimado exigido: 33 MB * Tempo de construção estimado: 0,2 UPC Dependências do "GDM" Exigidas [6663]AccountsService-23.13.9, [6664]DConf-0.40.0, [6665]libcanberra-0.30 (construído depois do [6666]GTK+-3.24.38) e [6667]Linux-PAM-1.5.3 Opcionais [6668]keyutils-1.6.1 Dependências de Tempo de Execução [6669]gnome-session-44.0, [6670]gnome-shell-44.3 e [6671]Systemd-254 Instalação do GDM É recomendado ter um(a) usuário(a) e um grupo dedicado(a) para assumir o controle do processo de segundo plano "gdm" depois de ele ser iniciado. Emita os seguintes comandos como o(a) usuário(a) "root": groupadd -g 21 gdm && useradd -c "Proprietário(a) do Processo de Segundo Plano GDM" -d /var/lib/gdm -u 21 \ -g gdm -s /bin/false gdm && passwd -ql gdm Instale o "GDM" executando os seguintes comandos: mkdir build && cd build && meson setup .. \ --prefix=/usr \ --buildtype=release \ -Dgdm-xsession=true \ -Drun-dir=/run/gdm && ninja Esse pacote não vem com uma suíte de teste usável. Agora, como o(a) usuário(a) "root": ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dinitial-vt=7: Use essa chave para fazer o "GDM" iniciar no "VT7" em vez do primeiro" VT" livre. -Ddefault-pam-config=lfs: Use essa chave se você não criou o arquivo "/etc/lfs-release" ou a detecção automática da distribuição falhará e você estará inapto(a) para usar o "GDM". -Dgdm-xsession=true: Isso habilita a instalação do arquivo "Xsession" do "GDM". Configurando o GDM Arquivos de Configuração /etc/gdm/custom.conf Informação de Configuração O processo de segundo plano "GDM" é configurado usando o arquivo "/etc/gdm/custom.conf". Os valores padrão são armazenados em "GSettings" no arquivo "gdm.schemas". É recomendado que os(as) usuários(as) finais modifiquem o arquivo "/etc/gdm/custom.conf", porque o arquivo de esquemas possivelmente seja sobrescrito quando o(a) usuário(a) atualizar o sistema dele(a) para ter uma versão mais recente do "GDM". Em alguns sistemas com GPUs NVIDIA, o GDM ocultará as sessões do Wayland por padrão. Isso geralmente é feito para impedir que os(as) usuários(as) encontrem problemas com controladores defeituosos, o que pode resultar em travamentos do sistema, travamentos de aplicativos, problemas de gerenciamento de eletricidade e lentidão gráfica. Se você tiver uma GPU NVIDIA e ainda desejar tentar executar sessões do Wayland de qualquer maneira, execute o seguinte comando como o(a) usuário(a) root: ln -s /dev/null /etc/udev/rules.d/61-gdm.rules Unidade do systemd Para iniciar o processo de segundo plano "gdm" na inicialização, habilite a unidade do "systemd" instalada anteriormente executando o seguinte comando como o(a) usuário(a) "root": systemctl enable gdm Conteúdo Aplicativos Instalados: gdm, gdmflexiserver e gdm-screenshot Bibliotecas Instaladas: libgdm.so e pam_gdm.so (Módulo "PAM") Diretórios Instalados: /etc/gdm, /usr/include/gdm, /usr/share/gdm e /usr/share/help/*/gdm Descrições Curtas gdm é uma solicitação de "login" para o "GNOME" gdm-screenshot é uma ferramenta de captura de tela para o "GDM" lightdm-1.32.0 Introdução ao Lightdm O pacote "lightdm" contém um gerenciador de exibição leve baseado em no "GTK". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informações do Pacote "Lightdm" * Transferência (HTTP): [6672]https://github.com/CanonicalLtd/lightdm/releases/download/1.3 2.0/lightdm-1.32.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: e62a5da6c35f612e4d9575eda5c8d467 * Tamanho da transferência: 508 KB * Espaço em disco estimado exigido: 20 MB * Tempo de construção estimado: 0,2 UPC Transferência adicional Nota O saudador é um aplicativo para apresentar uma tela gráfica de login. Existem vários saudadores alternativos, mas o pacote "gtk+" é a implementação de referência. Para uma lista de outros saudadores, veja-se [6673]https://en.wikipedia.org/wiki/LightDM. * Transferência (HTTP): [6674]https://github.com/Xubuntu/lightdm-gtk-greeter/releases/downl oad/lightdm-gtk-greeter-2.0.8/lightdm-gtk-greeter-2.0.8.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 373c73c67367df511eb544e09a2da281 * Tamanho da transferência: 569,7 KB * Espaço em disco estimado exigido: 5,5 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "Lightdm" Exigidas [6675]Exo-4.18.0 (para o saudador), [6676]libgcrypt-1.10.2, [6677]itstool-2.0.7, [6678]Linux-PAM-1.5.3 e [6679]Xorg-Server-21.1.8 (tempo de execução) Recomendadas [6680]gobject-introspection-1.76.1, [6681]libxklavier-5.4 e [6682]Vala-0.56.11 Opcionais [6683]AccountsService-23.13.9 (tempo de execução), [6684]at-spi2-core-2.48.3, [6685]GTK-Doc-1.33.2, ([6686]Qt-5.15.10 ou [6687]qt-alternate-5.15.10), [6688]libido e [6689]libindicator Instalação do Lightdm Primeiro, crie um(a) usuário(a) e um grupo dedicado(a) para assumir o controle do processo de segundo plano "lightdm" depois de ele ser iniciado. Emita os seguintes comandos como o(a) usuário(a) "root": groupadd -g 65 lightdm && useradd -c "Lightdm Daemon" \ -d /var/lib/lightdm \ -u 65 -g lightdm \ -s /bin/false lightdm Instale o "lightdm" executando os seguintes comandos: ./configure --prefix=/usr \ --libexecdir=/usr/lib/lightdm \ --localstatedir=/var \ --sbindir=/usr/bin \ --sysconfdir=/etc \ --disable-static \ --disable-tests \ --with-greeter-user=lightdm \ --with-greeter-session=lightdm-gtk-greeter \ --docdir=/usr/share/doc/lightdm-1.32.0 && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install && cp tests/src/lightdm-session /usr/bin && sed -i '1 s/sh/bash --login/' /usr/bin/lightdm-session && rm -rf /etc/init && install -v -dm755 -o lightdm -g lightdm /var/lib/lightdm && install -v -dm755 -o lightdm -g lightdm /var/lib/lightdm-data && install -v -dm755 -o lightdm -g lightdm /var/cache/lightdm && install -v -dm770 -o lightdm -g lightdm /var/log/lightdm Agora construa o saudador: tar -xf ../lightdm-gtk-greeter-2.0.8.tar.gz && cd lightdm-gtk-greeter-2.0.8 && ./configure --prefix=/usr \ --libexecdir=/usr/lib/lightdm \ --sbindir=/usr/bin \ --sysconfdir=/etc \ --with-libxklavier \ --enable-kill-on-sigterm \ --disable-libido \ --disable-libindicator \ --disable-static \ --disable-maintainer-mode \ --docdir=/usr/share/doc/lightdm-gtk-greeter-2.0.8 && make Agora, como o(a) usuário(a) "root": make install Nota Se você instalou o "Xorg" em "/opt", [então] você precisará criar um link simbólico, de forma que o "lightdm" possa encontrar o servidor "Xorg". Como o(a) usuário(a) "root": ln -sf /opt/xorg/bin/Xorg /usr/bin/X Explicações do Comando sed ... /usr/bin/lightdm-session: Esse comando garante o "login" inicial por intermédio dos fontes do saudador "/etc/profile" e "~/.bash_profile". Sem isso, comandos que dependem de diferentes variáveis de ambiente possivelmente não funcionem conforme o esperado. Configurando o lightdm Arquivos de Configuração /etc/lightdm/{lightdm,users,keys}.conf Unidade do systemd Instale a unidade "lightdm.service" incluída no pacote "[6690]blfs-systemd-units-20230816": make install-lightdm Sessões Disponíveis O saudador oferece uma lista de sessões disponíveis, dependendo dos Gerenciadores de Janelas e Ambientes de Área de Trabalho instalados. A lista inclui sessões que tem um arquivo ".desktop" correspondente instalado sob "/usr/share/xsessions". A maioria dos Gerenciadores de Janelas e Ambientes de Área de Trabalho fornece automaticamente esses arquivos, mas, se necessário, [então] você pode incluir um personalizado. Conteúdo Aplicativos Instalados: dm-tool, lightdm e lightdm-gtk-greeter Bibliotecas Instaladas: liblightdm-gobject-1.so Diretórios Instalados: /etc/lightdm, /etc/apparmor.d, /usr/lib/lightdm, /usr/include/lightdm-gobject-1, /usr/share/help/C/lightdm /usr/share/gtk-doc/html/lightdm-gobject-1, /usr/share/doc/lightdm-gtk-greeter-2.0.8, /var/lib/lightdm, /var/lib/lightdm-data, /var/cache/lightdm e /var/log/lightdm Descrições Curtas lightdm é um gerenciador de tela e "login" lightdm-gtk-greeter é um processo auxiliar que exibe o saudador, uma interface gráfica de usuário(a) que realiza a autenticação de usuário(a) e inicia o gerenciador de janelas ou ambiente de exibição selecionado sddm-0.20.0 Introdução ao sddm O pacote sddm contém um gerenciador de tela leve baseado em Qt e QML. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6691]https://github.com/sddm/sddm/archive/v0.20.0/sddm-0.20.0.tar. gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 7af67d5fb767639861d35c80eb4e1191 * Tamanho da transferência: 3,4 MB * Espaço em disco estimado exigido: 22 MB * Tempo de construção estimado: 0,3 UPC (Usando paralelismo=4) Dependências do SDDM Exigidas [6692]CMake-3.27.2, [6693]extra-cmake-modules-5.109.0 e ([6694]Qt-5.15.10 ou [6695]qt-alternate-5.15.10) Recomendadas [6696]docutils-0.20.1 (para as páginas de manual), [6697]Linux-PAM-1.5.3 e [6698]UPower-1.90.2 Instalação do SDDM Primeiro, crie um(a) usuário(a) e um grupo dedicado(a) para assumir o controle do processo de segundo plano do sddm depois de ele ser iniciado. Emita os seguintes comandos como o(a) usuário(a) root: groupadd -g 64 sddm && useradd -c "Processo de Segundo Plano do sddm" \ -d /var/lib/sddm \ -u 64 -g sddm \ -s /bin/false sddm Instale o sddm executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -DRUNTIME_DIR=/run/sddm \ -DBUILD_MAN_PAGES=ON \ -DDATA_INSTALL_DIR=/usr/share/sddm \ -DDBUS_CONFIG_FILENAME=sddm_org.freedesktop.DisplayManager.conf \ .. && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install && install -v -dm755 -o sddm -g sddm /var/lib/sddm /usr/bin/sddm --example-config > /etc/sddm.conf Explicações do Comando -DCMAKE_BUILD_TYPE=Release: Essa chave é usada para aplicar otimizações adicionais do compilador. -DDBUS_CONFIG_FILENAME=sddm_org.freedesktop.DisplayManager.conf: Essa chave evita que o arquivo /etc/dbus-1/system.d/org.freedesktop.DisplayManager.conf seja sobrescrito, pois ele possivelmente seja usado por outros DMs. -DBUILD_MAN_PAGES=ON: Essa chave é usada para construir e instalar páginas de manual. Configurando o SDDM Arquivos de Configuração /etc/sddm.config Normalmente, você quer editar esse arquivo. Por exemplo, se o Xorg estiver instalado em /opt, use teu editor preferido como o(a) usuário(a) root para substituir o valor padrão XauthPath por /opt/xorg/bin/xauth. Ou, como o(a) usuário(a) root, emita: sed -i.orig '/ServerPath/ s|usr|opt/xorg|' /etc/sddm.conf Esse comando fará a substituição e criará uma cópia do arquivo original com o nome /etc/sddm.conf.orig. A partir de agora descreveremos como modificar configurações usando sed. É claro que você poderá usar teu editor preferido como o(a) usuário(a) root. Por motivos de segurança, você normalmente quer o ServerArguments=-nolisten tcp padrão, a menos que uma máquina remota precise acessar o servidor X local. Nesse caso, como o(a) usuário(a) root, emita: sed -i 's/-nolisten tcp//' /etc/sddm.conf Usuários(as) de área de trabalho (notebook) normalmente querem ligar (desligar) a tecla Num Lock. Para isso, como root, emita: sed -i 's/none/on/' /etc/sddm.conf para usuários(as) de área de trabalho. Para usuários(as) de Notebook, substitua /on/ por /off/ no comando acima. Por padrão, um teclado virtual é apresentado para o(a) usuário(a). Se isso não for desejado, execute como root: sed -i 's/qtvirtualkeyboard//' /etc/sddm.conf Conjunto de Comandos Sequenciais de Inicialização Habilite a unidade do systemd pré-instalada executando o seguinte comando como o(a) usuário(a) root: systemctl enable sddm Configuração do Linux PAM Nota O procedimento de instalação acima instalou um conjunto de arquivos de configuração do PAM. Esses procedimentos os sobrescrevem e usam versões compatíveis com um ambiente BLFS. Se você tiver construído o sddm com suporte ao Linux PAM, crie os arquivos de configuração necessários executando os seguintes comandos como o(a) usuário(a) root: cat > /etc/pam.d/sddm << "EOF" && # Inicia /etc/pam.d/sddm auth requisite pam_nologin.so auth required pam_env.so auth required pam_succeed_if.so uid >= 1000 quiet auth include system-auth account include system-account password include system-password session required pam_limits.so session include system-session # Termina /etc/pam.d/sddm EOF cat > /etc/pam.d/sddm-autologin << "EOF" && # Inicia /etc/pam.d/sddm-autologin auth requisite pam_nologin.so auth required pam_env.so auth required pam_succeed_if.so uid >= 1000 quiet auth required pam_permit.so account include system-account password required pam_deny.so session required pam_limits.so session include system-session # Termina /etc/pam.d/sddm-autologin EOF cat > /etc/pam.d/sddm-greeter << "EOF" # Inicia /etc/pam.d/sddm-greeter auth required pam_env.so auth required pam_permit.so account required pam_permit.so password required pam_deny.so session required pam_unix.so -session optional pam_systemd.so # Termina /etc/pam.d/sddm-greeter EOF Sessões Disponíveis O saudador oferece uma lista de sessões disponíveis, dependendo dos gerenciadores de janelas e ambientes de área de trabalho instalados. A lista inclui sessões que tem um arquivo .desktop correspondente instalado sob /usr/share/xsessions ou /usr/share/wayland-sessions. A maioria dos gerenciadores de janelas e ambientes de área de trabalho fornece automaticamente esses arquivos, mas se necessário, você pode incluir um arquivo personalizado. Temas Três temas estão instalados em /usr/share/sddm/themes: elarun, maldives e maya. Existe também um tema padrão, que não está presente nesse diretório. Você consegue instalar outros temas nesse diretório. Para a finalidade de mudar o tema, você precisa editar o /etc/sddm.conf, para mudar o tema padrão (vazio), substituindo “Current=” por “Current=”, por exemplo, “Current=maldives”. Para a finalidade de ver o tema sem sair da sessão, emita: sddm-greeter --test-mode --theme Conteúdo Aplicativos Instalados: sddm e sddm-greeter Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: $QT5DIR/qml/SddmComponents, /usr/share/sddm e /var/lib/sddm Descrições Curtas sddm é um gerenciador de tela e login baseado em bibliotecas Qt. sddm-greeter é um processo auxiliar que exibe o saudador, uma interface gráfica de usuário(a) que realiza a autenticação de usuário(a) e inicia o gerenciador de janelas ou ambiente de exibição selecionado. Capítulo 27. Gerenciadores de Janela Gerenciadores de Janelas e Ambientes de Área de Trabalho são as interfaces de usuário(a) primárias no Sistema de Janelas "X". Um gerenciador de janelas é um aplicativo que controla a aparência das janelas e fornece os meios pelos quais o(a) usuário(a) consegue interagir com elas. Um Ambiente de Área de Trabalho fornece uma interface mais completa para o sistema operacional e fornece uma variedade de utilitários e aplicativos integrados. Existem muitos Gerenciadores de Janelas disponíveis. Alguns dos mais bem conhecidos incluem "fvwm2", "Window Maker", "AfterStep", "Enlightenment", "Sawfish" e "Blackbox". Os Ambientes de Área de Trabalho disponíveis para o Linux são "GNOME", "KDE" e "XFce". A escolha de um Gerenciador de Janelas ou Ambiente de Área de Trabalho é altamente subjetiva. A escolha depende da aparência dos pacotes, dos recursos ("RAM", espaço em disco) exigidos e dos utilitários incluídos. Um sítio da "web" que fornece um resumo muito bom do que está disponível, capturas de tela e respectivos recursos deles(as) é [6699]Gerenciadores de Janela para X. Neste capítulo, as instruções de instalação de vários Gerenciadores de Janelas e um Ambiente de Área de Trabalho leve são apresentadas. Mais adiante no livro, ambos, "KDE" e "GNOME", tem as próprias seções deles. Fluxbox-1.3.7 Introdução ao Fluxbox O pacote "Fluxbox" contém um gerenciador de janelas. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6700]https://downloads.sourceforge.net/fluxbox/fluxbox-1.3.7.tar.x z * Transferência (FTP): * Soma de verificação MD5 da transferência: b44afd10ee1e64624c23115aa51dcd55 * Tamanho da transferência: 772 KB * Espaço em disco estimado exigido: 101 MB * Tempo de construção estimado: 0,9 UPC Dependências do "Fluxbox" Exigidas [6701]um ambiente gráfico Opcionais [6702]dbus-1.14.8 (tempo de execução), [6703]FriBidi-1.0.13 e [6704]imlib2-1.12.0 (se você desejar usar outros formatos de imagem além do "XPM") Instalação do Fluxbox Primeiro, corrija uma falha de construção ao construir com o "gcc-11.1": sed -i '/text_prop.value > 0/s/>/!=/' util/fluxbox-remote.cc Instale o "Fluxbox" executando os seguintes comandos: ./configure --prefix=/usr && make Esse pacote não tem uma suíte de teste funcional. Agora, como o(a) usuário(a) "root": make install Configurando o Fluxbox Arquivos de Configuração ~/.fluxbox/init, ~/.fluxbox/keys e ~/.fluxbox/menu Informação de Configuração Se o "Fluxbox" for o único Gerenciador de Janelas que você quer usar, [então] você pode iniciá-lo com um arquivo ".xinitrc" em tua pasta inicial. Certifique-se de produzir uma cópia de segurança do teu ".xinitrc" atual antes de continuar. echo startfluxbox > ~/.xinitrc Ou, alternativamente, se você usa um gerenciador de "login" como o "[6705]GDM-44.1" ou o "[6706]lightdm-1.32.0" e gostaria de poder escolher o "Fluxbox" na solicitação de "login", [então] crie um arquivo "fluxbox.desktop". Como "root": mkdir -pv /usr/share/xsessions && cat > /usr/share/xsessions/fluxbox.desktop << "EOF" [Desktop Entry] Encoding=UTF-8 Name=Fluxbox Comment=Esta sessão te conecta ao Fluxbox Exec=startfluxbox Type=Application EOF Se você não instalou o "[6707]GDM-44.1" ou o "[6708]lightdm-1.32.0" no "/usr", então mude esse comando para ajustar o prefixo que você escolher. Agora crie os arquivos de configuração do "Fluxbox": mkdir -v ~/.fluxbox && cp -v /usr/share/fluxbox/init ~/.fluxbox/init && cp -v /usr/share/fluxbox/keys ~/.fluxbox/keys Para gerar o menu da aplicação, primeiro você possivelmente deseje executar o "fluxbox-generate_menu -h", para a finalidade de escolher quaisquer ; então emita: cd ~/.fluxbox && fluxbox-generate_menu Alternativamente, copie um menu pré gerado: cp -v /usr/share/fluxbox/menu ~/.fluxbox/menu Itens de menu são adicionados editando-se "~/.fluxbox/menu". A sintaxe é explicada na página de manual do "fluxbox". Se quiser usar uma imagem como plano de fundo da tua área de trabalho, [então] copie o tema que você gostar em "~/.fluxbox". Em seguida, adicione uma linha para fazê-lo usar a imagem correta. No comando a seguir, mude "" para o nome do tema desejado e mude "" para apontar para a imagem atual que você deseja usar, onde "ext" precisa ser “xpm”, se o "[6709]imlib2-1.12.0" não estiver instalado para permitir outros formatos de imagem. cp -r /usr/share/fluxbox/styles/ ~/.fluxbox/theme && sed -i 's,\(session.styleFile:\).*,\1 ~/.fluxbox/theme,' ~/.fluxbox/init && [ -f ~/.fluxbox/theme ] && echo "background.pixmap: " >> ~/.fluxbox/them e || [ -d ~/.fluxbox/theme ] && echo "background.pixmap: " >> ~/.fluxbox/them e/theme.cfg Em algumas localidades, a fonte especificada no tema possivelmente não contenha os caracteres necessários. Isso resulta em menus com itens em branco. Você consegue corrigir isso editando "~/.fluxbox/theme" com um editor de texto e alterando-o, de forma que ele nomeie uma fonte adequada. Conteúdo Aplicativos Instalados: fluxbox, fbsetbg, fbsetroot, fluxbox-generate_menu, startfluxbox, fbrun, fluxbox-remote e fluxbox-update_configs Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/share/fluxbox e ~/.fluxbox Descrições Curtas fluxbox é um gerenciador de janelas para o "X11" baseado no "Blackbox" 0.61.0 fbsetbg é um utilitário que configura a imagem de plano de fundo. Ele exige um dos seguintes em tempo de execução: "Esetroot", "wmsetbg", "[6710]feh", "hsetroot", "chbg", "[6711]display", "qiv", "xv", "xsri", "xli" ou "xsetbg". Também exige "[6712]which" se o "Esetroot" for encontrado fbsetroot é um utilitário para mudar a aparência da janela raiz baseado no aplicativo "bsetroot" do "Blackbox" fluxbox-generate_menu é um utilitário que gera um menu escaneando a tua "PATH" startfluxbox é um conjunto de comandos sequenciais de inicialização de sessão que permite a execução de comandos antes do início do "fluxbox" fbrun exibe uma janela de diálogo de execução fluxbox-remote fornece acesso de linha de comando aos comandos chave do "Fluxbox" fluxbox-update_configs use para gerenciar arquivos de configuração (recarregar, atualizar, testar) IceWM-3.4.1 Introdução ao IceWM "IceWM" é um gerenciador de janelas com os objetivos de velocidade, simplicidade e não atrapalhar o(a) usuário(a). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6713]https://github.com/ice-wm/icewm/archive/3.4.1/icewm-3.4.1.tar .gz * Transferência (FTP): * Soma de verificação MD5 da transferência: d85cd83a01e5edf419d9bbed994e4eb6 * Tamanho da transferência: 2,3 MB * Espaço em disco estimado exigido: 47 MB * Tempo de construção estimado: 0,4 UPC Dependências do "IceWM" Exigidas [6714]CMake-3.27.2, [6715]um ambiente gráfico e [6716]gdk-pixbuf-xlib-2.40.2 Opcionais [6717]asciidoc-10.2.0 (para regerar a documentação "HTML"), [6718]FriBidi-1.0.13 (para idiomas escritos da direita para a esquerda), [6719]imlib2-1.12.0, [6720]librsvg-2.56.3, [6721]libao-1.2.0, [6722]libsndfile-1.2.2 e [6723]alsa-lib-1.2.9 (para o aplicativo experimental "icesound") Instalação do IceWM Instale o "IceWM" executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -DCFGDIR=/etc \ -DENABLE_LTO=ON \ -DCONFIG_GDK_PIXBUF_XLIB=ON \ -DCONFIG_IMLIB2=OFF \ -DDOCDIR=/usr/share/doc/icewm-3.4.1 \ .. && make Esse pacote não tem uma suíte de teste funcional. Agora, como o(a) usuário(a) "root": make install Esse pacote cria dois arquivos ".desktop" no diretório "/usr/share/xsessions/". Ambos não são necessários em um sistema BLFS, de forma que evite o arquivo extra aparecendo como uma opção em um gerenciador de tela. Como o(a) usuário(a) "root": rm -v /usr/share/xsessions/icewm.desktop Explicações do Comando -DENABLE_LTO=ON: Essa opção habilita "Link Time Optimization" e é exigida para esse pacote. Configurando o IceWM Arquivos de Configuração "~/.icewm/keys", "~/.icewm/menu" e "~/.icewm/preferences" e "~/.icewm/toolbar" e "~/.icewm/winoptions". As versões padrão são instaladas em "/usr/share/icewm/" e serão usadas se você não as tiver copiado para "~/.icewm". Informação de Configuração Se o "IceWM" for o único Gerenciador de Janelas que você quer usar, [então] você pode iniciá-lo com um arquivo ".xinitrc" em tua pasta inicial. Certifique-se de produzir uma cópia de segurança do teu ".xinitrc" atual antes de continuar. echo icewm-session > ~/.xinitrc Agora crie os arquivos de configuração do "IceWM": mkdir -pv ~/.icewm && cp -v /usr/share/icewm/keys ~/.icewm/keys && cp -v /usr/share/icewm/menu ~/.icewm/menu && cp -v /usr/share/icewm/preferences ~/.icewm/preferences && cp -v /usr/share/icewm/toolbar ~/.icewm/toolbar && cp -v /usr/share/icewm/winoptions ~/.icewm/winoptions Agora você pode editar esses arquivos para atender às tuas necessidades. Em particular, revise o arquivo "preferences". Você pode usar "Logout -> Restart-IceWM" no menu principal para carregar tuas preferências mudadas, mas as mudanças para o plano de fundo somente terão efeito quando o "IceWM" for iniciado. Neste ponto você pode ou modificar os arquivos tradicionais de menu para atender às tuas necessidades, ou usar o "icewm-menu-fdo" mais recente descrito mais adiante. A sintaxe dos menus é explicada nos arquivos de ajuda, os quais você consegue acessar executando "help" a partir do menu, mas alguns detalhes estão desatualizados e as seleções padrão nos menus (alguns antigos aplicativos no menu principal, todo o resto no menu "Programas") serão beneficiadas com a atualização para atender às tuas necessidades. Os exemplos a seguir são fornecidos para te incentivar a pensar a respeito do como deseja organizar teus menus. Por favor observe o seguinte: * Se um aplicativo listado no menu não tiver sido instalado, [então] ele não aparecerá quando o menu for exibido. Da mesma forma, se o aplicativo existir, mas o ícone especificado não existir, [então] nenhum ícone será exibido no menu. * Os ícones podem ser ou arquivos ".xpm" ou ".png" e não existe necessidade de especificar a extensão. Se o ícone estiver localizado na "biblioteca" ("/usr/share/icewm/icons"), [então] não existe necessidade de especificar o caminho. * A maioria dos aplicativos está em submenus, e o menu principal sempre acrescentará entradas para "janelas", "ajuda", "configurações", "logout" na parte inferior. * Um ícone para o "firefox" foi copiado para o diretório da biblioteca e recebeu um nome significativo. O ícone para o "xine" é "xine.xpm" que foi instalado em um diretório "pixmap". * A barra de ferramentas padrão não é alterada. Se desejar usar esse método tradicional, [então] existem mais exemplos em lançamentos anteriores deste livro (por exemplo, BLFS-7.8). Alternativamente, você pode criar um menu que esteja em conformidade com as Especificações de Menu de Área de Trabalho "FDO", onde os aplicativos podem ser encontrados porque tem um arquivo ".desktop" nos diretórios "XDG_DATA_HOME" ou "XDG_DATA_DIR". Ao contrário da maioria dos gerenciadores de janelas, o "icewm" não procura aplicativos quando o menu é invocado, de forma que, se você seguir esse caminho, [então] precisará executar novamente o seguinte comando depois de instalar ou remover aplicativos: icewm-menu-fdo >~/.icewm/menu Se desejar colocar ícones em tua área de trabalho, [então] você precisará instalar um aplicativo como o "[6724]Rox-Filer-2.11" que fornece um quadro de avisos. Se fizer isso, [então] você não mais poderá acessar o menu clicando com o botão direito na área de trabalho; você terá que usar o botão do "IceWM". Para garantir que o quadro de avisos "rox" esteja executando, os seguintes comandos o colocarão no arquivo de inicialização: cat > ~/.icewm/startup << "EOF" rox -p Default & EOF && chmod +x ~/.icewm/startup Dica Existem vários atalhos de teclado no "IceWM": * Ctrl + Alt + FN: vai para o "ttyN". * Ctrl + Alt + N: vai para a área de trabalho número "N" * Ctrl + Alt + Space: abre uma caixa na barra de tarefas onde você consegue digitar o nome de um aplicativo e executá-lo. Conteúdo Aplicativos Instalados: icehelp, icesh, icesound, icewm, icewm-menu-fdo, icewm-menu-xrandr, icewm-session, icewm-set-gnomewm, icewmbg e icewmhint Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/share/doc/icewm-3.4.1, /usr/share/icewm e ~/.icewm Descrições Curtas icehelp é usado para exibir o manual "HTML" icesh é um gerenciador de janelas de linha de comando que pode ser usado em "~/.icewm/startup" icesound reproduz arquivos de áudio em eventos de "GUI" gerados pelo "IceWM" icewm é o gerenciador de janelas icewm-menu-fdo consegue criar um arquivo em um formato adequado para um menu do "IceWM", que lista aqueles aplicativos atualmente instalados em um esquema em conformidade com as Especificações de Menu de Área de Trabalho "FDO" icewm-menu-xrandr é um aplicativo auxiliar usado para gerenciar configurações de múltiplas telas icewm-session executa "icewmbg", "icewm", "icewmtray", "startup", "shutdown" (ou seja, conjuntos de comandos sequenciais de inicialização e desligamento são executados se instalados) icewm-set-gnomewm é um conjunto de comandos sequenciais para configurar o gerenciador de janelas "GNOME" como "icewm" usando o "gconftool" icewmbg é usado para configurar o plano de fundo, de acordo com as diversas configurações de "DesktopBackground" nas preferências icewmhint é usado internamente para fornecer dicas para o(a) usuário(a) openbox-3.6.1 Introdução ao openbox "Openbox" é um gerenciador de janelas de área de trabalho altamente configurável com amplo suporte a padrões. Ele te permite controlar quase todos os aspectos de como você interage com a tua área de trabalho. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6725]http://openbox.org/dist/openbox/openbox-3.6.1.tar.gz * Soma de verificação MD5 da transferência: b72794996c6a3ad94634727b95f9d204 * Tamanho da transferência: 944 KB * Espaço em disco estimado exigido: 21 MB * Tempo de construção estimado: 0,3 UPC Dependências do "Openbox" Exigidas [6726]um ambiente gráfico e [6727]Pango-1.50.14 (compilado com suporte para "libXft") Opcionais [6728]dbus-1.14.8 (tempo de execução), [6729]imlib2-1.12.0 (para habilitar ícones no menu do botão direito), [6730]ImageMagick-7.1.1-15 (para mostrar os planos de fundo da área de trabalho conforme visto na seção Informações de Configuração abaixo), [6731]PyXDG-0.28, [6732]startup-notification-0.12 e [6733]librsvg-2.56.3 Instalação do Openbox Nota se "XORG_PREFIX" não for "/usr", [então] informe ao "gcc" acerca disso: export LIBRARY_PATH=$XORG_PREFIX/lib Se você instalou somente o módulo "PyXDG" do "Python 3", [então] converta um dos conjuntos de comandos sequenciais para "Python 3": 2to3-3.11 -w data/autostart/openbox-xdg-autostart && sed 's/python/python3/' -i data/autostart/openbox-xdg-autostart Instale o "Openbox" executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc \ --disable-static \ --docdir=/usr/share/doc/openbox-3.6.1 && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Esse pacote cria três arquivos ".desktop" no diretório "/usr/share/xsessions/". Dois deles não são apropriados em um sistema BLFS, de forma que evite os arquivos extras aparecendo como opções em um gerenciador de tela. Como o(a) usuário(a) "root": rm -v /usr/share/xsessions/openbox-{gnome,kde}.desktop Explicações do Comando --sysconfdir=/etc: Essa opção coloca os arquivos de configuração do "Openbox" em "/etc/xdg/openbox" em vez de "/usr/etc/xdg/openbox". --docdir=/usr/share/doc/openbox-3.6.1: isso coloca alguns arquivos em um diretório versionado em "/usr/share/doc". --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Configurando o Openbox Arquivos de Configuração /etc/xdg/openbox/autostart, /etc/xdg/openbox/menu.xml, /etc/xdg/openbox/rc.xml, ~/.config/openbox/autostart, ~/.config/openbox/menu.xml e ~/.config/openbox/rc.xml Informação de Configuração O menu do botão direito do "Openbox" pode ser usado para iniciar aplicativos. O menu em si é configurado com dois arquivos, "/etc/xdg/openbox/menu.xml" e "~/.config/openbox/menu.xml". Para fazer mudanças no menu, copie "/etc/xdg/openbox/menu.xml" para "~/.config/openbox/menu.xml" e edite-o: cp -rf /etc/xdg/openbox ~/.config "~/.config/openbox/menu.xml" pode ser editado com um editor de texto ou você pode instalar o "[6734]Obmenu" (exige "[6735]pyxml" e "[6736]PyGTK-2.24.0"). Para ter ícones em teu menu do botão direito, é exigido instalar o "[6737]imlib2-1.12.0" antes de instalar o "Openbox". Para configurar um ícone para uma entrada no menu, edite "~/.config/openbox/menu.xml" e adicione um ícone à marca , assim: Muitos outros aspectos do comportamento do "Openbox" são configurados com "~/.config/openbox/rc.xml", como quais atalhos de teclado são usados para iniciar aplicativos ou qual botão do mouse inicia o menu principal. Detalhes do tema que o "Openbox" aplica às decorações de janelas são configurados em "~/.config/openbox/rc.xml". Você consegue obter uma lista dos temas disponíveis com o comando: ls -d /usr/share/themes/*/openbox-3 | sed 's#.*es/##;s#/o.*##' Iniciando o “Openbox” Para iniciar automaticamente o "openbox" quando você iniciar o "Xorg": echo openbox > ~/.xinitrc Se quiser configurar uma imagem de plano de fundo para a tua área de trabalho, [então] você pode usar o "[6738]display" e iniciá-lo a partir de "~/.xinitrc" logo antes do "openbox": cat > ~/.xinitrc << "EOF" display -backdrop -window root /caminho/para/maravilhosa/fotografia.jpeg exec openbox EOF Ou, se você gosta de um pouco de variedade, [então] coloque uma seleção de imagens em uma pasta (neste exemplo, o diretório "~/.config/backgrounds") e escolha uma aleatoriamente cada vez que você acionar o "xinit": cat > ~/.xinitrc << "EOF" # crie um vetor que liste as fotografias: picture_list=(~/.config/backgrounds/*) # crie um número inteiro aleatório entre zero e o número de fotografias: random_number=$(( ${RANDOM} % ${#picture_list[@]} )) # exibir a fotografia escolhida: display -backdrop -window root "${picture_list[${random_number}]}" exec openbox EOF Se você deseja ter a chave "numlock" configurada quando iniciar o "Xorg", [então] instale o "[6739]Numlockx" e adicione-o ao teu "xinitrc". Outra aplicação útil é o "[6740]dbus-1.14.8": cat > ~/.xinitrc << "EOF" . /etc/profile picture_list=(~/.config/backgrounds/*) random_number=$(( ${RANDOM} % ${#picture_list[*]} )) display -backdrop -window root "${picture_list[${random_number}]}" numlockx eval $(dbus-launch --auto-syntax --exit-with-session) lxpanel & exec openbox EOF Conteúdo Aplicativos Instalados: gdm-control, gnome-panel-control, obxprop, openbox, openbox-gnome-session, openbox-kde-session e openbox-session Bibliotecas Instaladas: libobrender.so e libobt.so Diretórios Instalados: /etc/xdg/openbox, /usr/include/openbox, /usr/share/doc/openbox-3.6.1 e /usr/share/themes. Descrições Curtas gdm-control é uma ferramenta de linha de comando para enviar sinais para o "GDM" gnome-panel-control é um utilitário de linha de comando para invocar a caixa de diálogo/menu de execução do "Gnome Panel" obxprop é uma ferramenta para exibir as propriedades em uma janela do "X". Ela tem uma funcionalidade semelhante ao "xprop", mas te permite ver sequências de caracteres "UTF-8" como texto openbox é um gerenciador de janelas compatível com padrões e altamente configurável openbox-gnome-session é um conjunto de comandos sequenciais para iniciar uma sessão do "Gnome" com o "Openbox" como teu gerenciador de janelas a partir de teu "~/.xinitrc" openbox-kde-session é um conjunto de comandos sequenciais para iniciar uma sessão do "KDE" com o "Openbox" como teu gerenciador de janelas a partir de teu "~/.xinitrc" openbox-session é um conjunto de comandos sequenciais para iniciar uma sessão do "Openbox" a partir de teu "~/.xinitrc" libobrender.so contém as funções usadas pelo "Openbox" para renderização de temas libobt.so é a biblioteca do kit de ferramentas do "Openbox" sawfish-1.13.0 Introdução ao sawfish O pacote "sawfish" contém um gerenciador de janelas. Isso é útil para organizar e exibir janelas onde todas as decorações das janelas são configuráveis e todas as políticas da interface de usuário(a) são controladas por intermédio da linguagem de extensão. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6741]https://download.tuxfamily.org/sawfish/sawfish_1.13.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: fd6ca5be0acbee8ea150945d3fb3ec60 * Tamanho da transferência: 2,7 MB * Espaço em disco estimado exigido: 52 MB * Tempo de construção estimado: 0,3 UPC Dependências do "sawfish" Exigidas [6742]gdk-pixbuf-xlib-2.40.2, [6743]rep-gtk-0.90.8.3 e [6744]Which-2.21 Opcionais [6745]libnsl-2.0.0 Instalação do sawfish Instale o "sawfish" executando os seguintes comandos: ./configure --prefix=/usr --with-pango && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Esse pacote cria seis arquivos ".desktop" no diretório "/usr/share/xsessions/". Todos, exceto um, são necessários em um sistema BLFS, de forma que evite os arquivos extras aparecendo como opções em um gerenciador de tela. Como o(a) usuário(a) "root": rm -v /usr/share/xsessions/sawfish-*.desktop Configurando o sawfish Informação de Configuração Certifique-se de produzir uma cópia de segurança do teu ".xinitrc" atual antes de continuar. cat >> ~/.xinitrc << "EOF" exec sawfish EOF Opcionalmente, você pode usar um Gerenciador de Tela, como o [6746]sddm-0.20.0. Oriundo dos(as) desenvolvedores(as): “A ligação padrão do menu é um tanto obscura; você precisa clicar com o botão do meio no plano de fundo para abrir os menus. (Se você tiver um mouse de dois botões, [então] tente clicar nos dois botões simultaneamente)”. Você pode encontrar isso no "[6747]FAQ do sawfish". Conteúdo Aplicativos Instalados: sawfish, sawfish-about, sawfish-client, sawfish-config, sawfish-kde4-session, sawfish-kde5-session, sawfish-lumina-session, sawfish-mate-session e sawfish-xfce-session Bibliotecas Instaladas: Vários módulos internos sob a árvore "/usr/lib/sawfish" Diretório Instalado: /usr/include/sawfish, /usr/lib/sawfish, /usr/lib/rep/sawfish e /usr/share/sawfish Descrições Curtas sawfish é o gerenciador de janelas extensível que usa uma linguagem de conjunto de comandos sequenciais baseada em "Lisp" sawfish-about é a janela "sobre" do "sawfish" sawfish-client permite que você se conecte a um processo gerenciador de janelas e avalie formulários arbitrários "Lisp" sawfish-config é o gerenciador de configuração do "sawfish" sawfish-kde4-session é um conjunto de comandos sequenciais para executar o "KDE4" usando o "sawfish" sawfish-kde5-session é um conjunto de comandos sequenciais para executar o "Plasma 5" usando o "sawfish" sawfish-mate-session é um conjunto de comandos sequenciais para executar o "mate" usando o "sawfish" sawfish-lumina-session é um conjunto de comandos sequenciais para executar o "Lumina" usando o "sawfish" sawfish-xfce-session é um conjunto de comandos sequenciais para executar o "xfce" usando o "sawfish" Capítulo 28. Ícones Gerenciadores de Janelas e Ambientes de Área de Trabalho conseguem usar ícones provenientes de diferentes fontes. Geralmente os ícones são instalados em "/usr/share/icons" e são independentes da distribuição. adwaita-icon-theme-44.0 Introdução ao Tema de Ícone Adwaita O pacote "Tema de Ícone Adwaita" contém um tema de ícone para aplicativos "GTK+ 3" e "GTK 4". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6748]https://download.gnome.org/sources/adwaita-icon-theme/44/adwa ita-icon-theme-44.0.tar.xz * Transferência (FTP): [6749]ftp://ftp.acc.umu.se/pub/gnome/sources/adwaita-icon-theme/44/ adwaita-icon-theme-44.0.tar.xz * Soma de verificação MD5 da transferência: 1abae78e6cd50d4055b5c88ffe8b56a5 * Tamanho da transferência: 2,4 MB * Espaço em disco estimado exigido: 31 MB * Tempo de construção estimado: 0,1 UPC (Usando paralelismo=4) Dependências do "Tema de Ícone Adwaita" Opcionais [6750]git-2.41.0, [6751]GTK+-2.24.33 ou [6752]GTK+-3.24.38 (se presente, [então] o "[6753]librsvg-2.56.3" também é exigido; e "gtk-update-icon-cache" e "gtk-encode-symbolic-svg" são executados depois da instalação), [6754]Inkscape-1.3 e [6755]Ferramentas de Ícone Instalação do Tema de Ícone Adwaita Instale o "Tema de Ícone Adwaita" executando os seguintes comandos: ./configure --prefix=/usr && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: Nenhum(a) Diretório Instalado: /usr/share/icons/Adwaita breeze-icons-5.109.0 Introdução ao Ícones Breeze O pacote "Ícones Breeze" contém os ícones padrão para aplicativos "KDE Plasma 5", mas pode ser usado para outros ambientes de janela. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6756]https://download.kde.org/stable/frameworks/5.109/breeze-icons -5.109.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 40721040f8c42a60450a94b7975d18e3 * Tamanho da transferência: 2,1 MB * Espaço em disco estimado exigido: 261 MB * Tempo de construção estimado: 0,1 UPC Dependências do "Ícones Breeze" Exigidas [6757]extra-cmake-modules-5.109.0 e ([6758]Qt-5.15.10 ou [6759]qt-alternate-5.15.10) Opcionais [6760]KDE Frameworks-5.109.0, [6761]libxml2-2.10.4 e [6762]lxml-4.9.3 Instalação do Ícones Breeze Instale o "Ícones Breeze" executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DBUILD_TESTING=OFF \ -Wno-dev .. Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Explicações do Comando -DBUILD_TESTING=OFF: Esse parâmetro desabilita a construção da estrutura essencial de suporte de testes, a qual exige alguns módulos originários do "[6763]KDE Frameworks-5.109.0". Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: Nenhum(a) Diretório Instalado: /usr/share/icons/breeze{,-dark} gnome-icon-theme-3.12.0 Introdução ao Tema de Ícone do GNOME O pacote "Tema de Ícone do GNOME" contém uma variedade de ícones não escaláveis de diferentes tamanhos e temas. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6764]https://download.gnome.org/sources/gnome-icon-theme/3.12/gnom e-icon-theme-3.12.0.tar.xz * Transferência (FTP): [6765]ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-icon-theme/3.12/ gnome-icon-theme-3.12.0.tar.xz * Soma de verificação MD5 da transferência: f14bed7f804e843189ffa7021141addd * Tamanho da transferência: 17 MB * Espaço em disco estimado exigido: 85 MB * Tempo de construção estimado: 0,5 UPC Dependências do "Tema de Ícone do GNOME" Exigidas [6766]GTK+-3.24.38 ou [6767]GTK+-2.24.33, [6768]hicolor-icon-theme-0.17 e [6769]icon-naming-utils-0.8.90 Instalação do Tema de Ícone do GNOME Instale o "Tema de Ícone do GNOME" executando os seguintes comandos: ./configure --prefix=/usr && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretório Instalado: /usr/share/icons/gnome gnome-icon-theme-extras-3.12.0 Introdução ao Extras do Tema de Ícone do GNOME O pacote "Extras do Tema de Ícone do GNOME" contém ícones extras para a Área de Trabalho do "GNOME". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6770]https://download.gnome.org/sources/gnome-icon-theme-extras/3. 12/gnome-icon-theme-extras-3.12.0.tar.xz * Transferência (FTP): [6771]ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-icon-theme-extra s/3.12/gnome-icon-theme-extras-3.12.0.tar.xz * Soma de verificação MD5 da transferência: 91f8f7e35a3d8d926716d88b8b1e9a29 * Tamanho da transferência: 1,7 MB * Espaço em disco estimado exigido: 12 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "Extras do Tema de Ícone do GNOME" Exigidas [6772]gnome-icon-theme-3.12.0 Opcionais [6773]git-2.41.0 e [6774]Inkscape-1.3 Instalação do Extras do Tema de Ícone do GNOME Instale o "Extras do Tema de Ícone do GNOME" executando os seguintes comandos: ./configure --prefix=/usr && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install gnome-icon-theme-symbolic-3.12.0 Introdução ao Simbólico do Tema de Ícone do GNOME O pacote "Simbólico do Tema de Ícone do GNOME" contém ícones simbólicos para o tema de ícone padrão do "GNOME". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6775]https://download.gnome.org/sources/gnome-icon-theme-symbolic/ 3.12/gnome-icon-theme-symbolic-3.12.0.tar.xz * Transferência (FTP): [6776]ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-icon-theme-symbo lic/3.12/gnome-icon-theme-symbolic-3.12.0.tar.xz * Soma de verificação MD5 da transferência: 3c9c0e6b9fa04b3cbbb84da825a26fd9 * Tamanho da transferência: 228 KB * Espaço em disco estimado exigido: 6,8 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "Simbólico do Tema de Ícone do GNOME" Exigidas [6777]gnome-icon-theme-3.12.0 Opcionais [6778]git-2.41.0 e [6779]Inkscape-1.3 Instalação do Simbólico do Tema de Ícone do GNOME Instale o "Simbólico do Tema de Ícone do GNOME" executando os seguintes comandos: ./configure --prefix=/usr && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/share/icons/gnome/scalable gnome-themes-extra-3.28 Introdução ao Extra dos Temas do GNOME O pacote "Extra dos Temas do GNOME", anteriormente conhecido como "Padrão dos Temas do GNOME", contém vários componentes do tema padrão do "GNOME". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6780]https://download.gnome.org/sources/gnome-themes-extra/3.28/gn ome-themes-extra-3.28.tar.xz * Transferência (FTP): [6781]ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-themes-extra/3.2 8/gnome-themes-extra-3.28.tar.xz * Soma de verificação MD5 da transferência: f9f2c6c521948da427f702372e16f826 * Tamanho da transferência: 2,8 MB * Espaço em disco estimado exigido: 40 MB * Tempo de construção estimado: 0,3 UPC Dependências do "Extra dos Temas do GNOME" Exigidas [6782]GTK+-2.24.33 ou [6783]GTK+-3.24.38 com [6784]librsvg-2.56.3 ou ambos Instalação do Extra dos Temas do GNOME Instale o "Extra dos Temas do GNOME" executando os seguintes comandos: ./configure --prefix=/usr && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Explicações do Comando --disable-gtk2-engine: Essa chave desabilita o mecanismo de tema do "GTK+-2". --disable-gtk3-engine: Essa chave desabilita o mecanismo de tema do "GTK+-3". Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: libadwaita.so Diretórios Instalados: /usr/lib/gtk-2.0/2.10.0/engines, /usr/share/icons/HighContrast, /usr/share/themes/Adwaita, /usr/share/themes/Adwaita-dark e /usr/share/themes/HighContrast Descrições Curtas libadwaita.so é o tema do mecanismo "Adwaita" do "GTK+-2" hicolor-icon-theme-0.17 Introdução ao hicolor-icon-theme O pacote "hicolor-icon-theme" contém um tema substituto padrão para implementações da especificação do tema de ícones. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6785]https://icon-theme.freedesktop.org/releases/hicolor-icon-them e-0.17.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 84eec8d6f810240a069c731f1870b474 * Tamanho da transferência: 52 KB * Espaço em disco estimado exigido: 340 KB * Tempo de construção estimado: menos que 0,1 UPC Instalação do hicolor-icon-theme Instale o "hicolor-icon-theme" executando os seguintes comandos: ./configure --prefix=/usr Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretório Instalado: /usr/share/icons/hicolor Descrições Curtas /usr/share/icons/hicolor/* contém definições de ícones usadas como padrão icon-naming-utils-0.8.90 Introdução ao icon-naming-utils O pacote "icon-naming-utils" contém um conjunto de comandos sequenciais "Perl" usado para manter a compatibilidade retroativa com os atuais temas de ícones de área de trabalho, enquanto migra para os nomes especificados na [6786]Especificação de Nomenclatura de Ícones. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6787]http://tango.freedesktop.org/releases/icon-naming-utils-0.8.9 0.tar.bz2 * Transferência (FTP): * Soma de verificação MD5 da transferência: dd8108b56130b9eedc4042df634efa66 * Tamanho da transferência: 57 KB * Espaço em disco estimado exigido: 440 KB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "icon-naming-utils" Exigidas [6788]XML-Simple-2.25 Instalação do icon-naming-utils Instale o "icon-naming-utils" executando os seguintes comandos: ./configure --prefix=/usr && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: icon-name-mapping Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/share/dtds e /usr/share/icon-naming-utils Descrições Curtas icon-name-mapping é um conjunto de comandos sequenciais "Perl" usado para manter a compatibilidade retroativa com os atuais temas de ícones de área de trabalho, enquanto migra para os nomes especificados na "Especificação de Nomenclatura de Ícones" lxde-icon-theme-0.5.1 Introdução ao Tema de Ícone do LXDE O pacote "Tema de Ícone do LXDE" contém o Tema de Ícone "nuoveXT 2.2" para o "LXDE". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6789]https://downloads.sourceforge.net/lxde/lxde-icon-theme-0.5.1. tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 7467133275edbbcc79349379235d4411 * Tamanho da transferência: 4,3 MB * Espaço em disco estimado exigido: 18 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "Tema de Ícone do LXDE" Opcionais [6790]GTK+-2.24.33 ou [6791]GTK+-3.24.38 (para o comando "gtk-update-icon-cache") Instalação do Tema de Ícone do LXDE Instale o "Tema de Ícone do LXDE" executando os seguintes comandos: ./configure --prefix=/usr Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Se você tiver instalado uma das dependências opcionais, [então] execute o seguinte comando como o(a) usuário(a) "root": gtk-update-icon-cache -qf /usr/share/icons/nuoveXT2 Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretório Instalado: /usr/share/icons/nuoveXT2 oxygen-icons5-5.109.0 Introdução ao oxygen-icons5 O tema ícones de oxigênio 5 é um estilo de ícone foto realista, com um alto padrão de qualidade gráfica. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6792]https://download.kde.org/stable/frameworks/5.109/oxygen-icons 5-5.109.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: cb7872cff65fe1f62815339f40c639d8 * Tamanho da transferência: 228 MB * Espaço em disco estimado exigido: 452 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "oxygen-icons5" Exigidas [6793]extra-cmake-modules-5.109.0 e ([6794]Qt-5.15.10 ou [6795]qt-alternate-5.15.10) Instalação do oxygen-icons5 Primeiro, habilite ícones escalonáveis: sed -i '/( oxygen/ s/)/scalable )/' CMakeLists.txt Instale o "oxygen-icons5" executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr -Wno-dev .. Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretório Instalado: /usr/share/icons/oxygen Parte VII. KDE O "KDE" é um ambiente de área de trabalho abrangente com um grande número de aplicativos escritos para ele e uma grande quantidade de usuários(as). Ele é baseado na estrutura essencial de suporte "Qt". Para mais informações, visite o sítio oficial do projeto "KDE" em [6796]https://kde.org/. Capítulo 29. Introdução ao KDE Preliminares do “KDE” O "KDE" é um ambiente de área de trabalho abrangente com um grande número de aplicativos escritos para ele e uma grande quantidade de usuários(as). Ele é baseado na estrutura essencial de suporte "Qt". O sistema "KDE5" tem dois blocos principais: as bibliotecas, chamadas "KDE Frameworks 5" ou "KF5", as quais podem ser usadas em outros ambientes; e o ambiente de área de trabalho, chamado "KDE Plasma 5". A maioria dos aplicativos escritos pela equipe do "KDE" usa somente o "KF5", e não precisa do ambiente "Plasma". Para mais informações, visite o sítio oficial do projeto "KDE" em [6797]https://kde.org/. extra-cmake-modules-5.109.0 Introdução ao Módulos Extras do Cmake O pacote "Módulos Extras do Cmake" contém módulos extras do "CMake" usados pelo "KDE Frameworks 5" e outros pacotes. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6798]https://download.kde.org/stable/frameworks/5.109/extra-cmake- modules-5.109.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 0baf0a3ded2fed5e0442591dde276c4e * Tamanho da transferência: 324 KB * Espaço em disco estimado exigido: 8,8 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "Módulos Extras do Cmake" Exigidas [6799]CMake-3.27.2 Opcionais [6800]sphinx-7.1.2 (para construir documentação) e [6801]PyQt (suporte experimental para construir ligações "Python" do "KDE") Instalação do Módulos Extras do Cmake Instale o "Módulos Extras do Cmake" executando os seguintes comandos: sed -i '/"lib64"/s/64//' kde-modules/KDEInstallDirsCommon.cmake && sed -e '/PACKAGE_INIT/i set(SAVE_PACKAGE_PREFIX_DIR "${PACKAGE_PREFIX_DIR}")' \ -e '/^include/a set(PACKAGE_PREFIX_DIR "${SAVE_PACKAGE_PREFIX_DIR}")' \ -i ECMConfig.cmake.in && mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr .. && make Esse pacote não vem com uma suíte de teste. Nota Ao contrário de outros pacotes "KF5", esse módulo é instalado em "/usr", pois ele pode ser usado por alguns pacotes não "KF5". Agora, como o(a) usuário(a) "root": make install Explicações do Comando sed ... Modules/KDEInstallDirs.cmake: Esse comando desabilita as aplicações que usam o "cmake" de tentarem instalar arquivos em um sub diretório "lib64". sed ... ECMConfig.cmake.in: Esse comando protege a variável global do "cmake" "PACKAGE_PREFIX_DIR" de ser mudada ao verificar a presença do "ECM": desde que instalamos o "ECM" em "/usr", a verificação configuraria essa variável como "/usr", enquanto a maioria dos pacotes do "KDE" espera que ela esteja configurada como "/opt/kf5" e falharia na construção se estivesse configurada para outra coisa. Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/share/ECM e /usr/share/doc/ECM (se a documentação foi construída) Phonon-4.11.1 Introdução ao Phonon "Phonon" é a "API" multimídia do "KDE". Ela substitui o antigo pacote "aRts". "Phonon" precisa ou do "GStreamer" ou da estrutura de retaguarda "VLC". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6802]https://download.kde.org/stable/phonon/4.11.1/phonon-4.11.1.t ar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: d3df5ba646e4b3f11623d998caa40e74 * Tamanho da transferência: 308 KB * Espaço em disco estimado exigido: 12 MB * Tempo de construção estimado: 0,2 UPC (Usando paralelismo=4) Dependências do "Phonon" Exigidas [6803]CMake-3.27.2, [6804]extra-cmake-modules-5.109.0, [6805]GLib-2.76.4 e [6806]Qt-5.15.10 Pelo menos um de "[6807]phonon-backend-gstreamer-4.10.0" ou "[6808]phonon-backend-vlc-0.11.3" precisa ser instalado posteriormente para operação multimídia no "KDE". Opcionais [6809]PulseAudio-16.1 Instalação do Phonon Instale o "Phonon" executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ .. && make Agora, como o(a) usuário(a) "root": make install Explicações do Comando -DCMAKE_BUILD_TYPE=Release: Essa chave é usada para aplicar um nível mais alto de otimização à compilação. Conteúdo Aplicativos Instalados: phononsettings Bibliotecas Instaladas: libphonon4qt5.so e libphonon4qt5experimental.so Diretórios Instalados: /usr/include/phonon4qt5, /usr/lib/cmake/phonon4qt5, /usr/lib/plugins/designer e /usr/share/phonon4qt5 Phonon-backend-gstreamer-4.10.0 Introdução ao Phonon-backend-gstreamer Esse pacote fornece uma estrutura de retaguarda do "Phonon" que utiliza a estrutura essencial de suporte de mídia do "GStreamer". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6810]https://download.kde.org/stable/phonon/phonon-backend-gstream er/4.10.0/phonon-backend-gstreamer-4.10.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 60abf634e961160cd1772d486f4a7097 * Tamanho da transferência: 100 KB * Espaço em disco estimado exigido: 7,2 MB * Tempo de construção estimado: 0,1 UPC (Usando paralelismo=4) Dependências do "Phonon-backend-gstreamer" Exigidas [6811]gstreamer-1.22.5, [6812]libxml2-2.10.4 e [6813]phonon-4.11.1 Recomendadas [6814]gst-plugins-base-1.22.5 (necessário para saída para o "ALSA"), [6815]gst-plugins-good-1.22.5 (necessário para saída para o "PulseAudio"), [6816]gst-plugins-bad-1.22.5 (necessário para suporte a "AAC"/"M4A") e [6817]gst-plugins-ugly-1.22.5 (necessário para suporte a "MP3") Instalação do Phonon-backend-gstreamer Instale o "Phonon-backend-gstreamer" executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ .. && make Agora, como o(a) usuário(a) "root": make install Explicações do Comando -DCMAKE_BUILD_TYPE=Release: Essa chave é usada para aplicar um nível mais alto de otimização à compilação. Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: phonon_gstreamer.so Diretórios Instalados: /usr/lib/plugins/phonon4qt5_backend Phonon-backend-vlc-0.11.3 Introdução ao Phonon-backend-vlc Esse pacote fornece uma estrutura de retaguarda do "Phonon" que utiliza a estrutura essencial de suporte de mídia do "VLC". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6818]https://download.kde.org/stable/phonon/phonon-backend-vlc/0.1 1.3/phonon-backend-vlc-0.11.3.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 5ed16d3290b1ca5ed0bafb90e2ffb02e * Tamanho da transferência: 68 KB * Espaço em disco estimado exigido: 6,5 MB * Tempo de construção estimado: 0,2 UPC Dependências do "Phonon-backend-vlc" Exigidas [6819]phonon-4.11.1 e [6820]VLC-3.0.18 Instalação do Phonon-backend-vlc Instale o "Phonon-backend-vlc" executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ .. && make Agora, como o(a) usuário(a) "root": make install Explicações do Comando -DCMAKE_BUILD_TYPE=Release: Essa chave é usada para aplicar um nível mais alto de otimização à compilação. Conteúdo Aplicativo Instalado: Nenhum(a) Bibliotecas Instaladas: phonon_vlc.so Diretório Instalado: /usr/lib/plugins/phonon4qt5_backend Polkit-Qt-0.114.0 Introdução ao Polkit-Qt "Polkit-Qt" fornece uma "API" para "PolicyKit" no ambiente "Qt". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6821]https://download.kde.org/stable/polkit-qt-1/polkit-qt-1-0.114 .0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 2d20b02bd7ad1cd3f6ce235fc6d7de60 * Tamanho da transferência: 60 KB * Espaço em disco estimado exigido: 3,5 MB * Tempo de construção estimado: 0,1 UPC Dependências do "Polkit-Qt" Exigidas [6822]CMake-3.27.2, [6823]Polkit-123 e [6824]Qt-5.15.10 Instalação do Polkit-Qt Instale o "Polkit-Qt" executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -Wno-dev .. && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Explicações do Comando -DCMAKE_BUILD_TYPE=Release: Essa chave é usada para aplicar um nível mais alto de otimização à compilação. Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libpolkit-qt5-agent-1.so, libpolkit-qt5-core-1.so e libpolkit-qt5-gui-1.so Diretórios Instalados: "/usr/include/polkit-qt5-1 e /usr/lib/cmake/PolkitQt5-1 libdbusmenu-qt-0.9.3+16.04.20160218 Introdução ao libdbusmenu-qt Essa biblioteca fornece uma implementação "Qt" da especificação "DBusMenu" que expõe menus via "DBus". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6825]https://launchpad.net/ubuntu/+archive/primary/+files/libdbusm enu-qt_0.9.3+16.04.20160218.orig.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 8b90312bd8654e026d814d4db986ce5e * Tamanho da transferência: 48 KB * Espaço em disco estimado exigido: 4,6 MB * Tempo de construção estimado: 0,4 UPC Dependências do "libdbusmenu-qt" Exigidas [6826]Qt-5.15.10 Instalação do libdbusmenu-qt Instale o "libdbusmenu-qt" executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -DWITH_DOC=OFF \ -Wno-dev .. && make Esse pacote não vem com uma suíte de teste funcional. Agora, como o(a) usuário(a) "root": make install Explicações do Comando -DCMAKE_BUILD_TYPE=Release: Essa chave é usada para construir sem símbolos de depuração e aplicar um nível mais alto de otimizações do compilador. -DWITH_DOC=OFF: Essa opção está configurada para evitar tentar construir a documentação da "API", a qual exige "Qt4" obsoleta. Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: libdbusmenu-qt5.so Diretório Instalado: /usr/lib/cmake/dbusmenu-qt5 e /usr/include/dbusmenu-qt5 Plasma-wayland-protocols-1.10.0 Introdução ao Plasma-wayland-protocols Esse pacote fornece um conjunto personalizado de definições de protocolo para o "KDE". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6827]https://download.kde.org/stable/plasma-wayland-protocols/plas ma-wayland-protocols-1.10.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 28ae1490011ff205cbf8d99be6dd124f * Tamanho da transferência: 42 KB * Espaço em disco estimado exigido: 0,98 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "Plasma-wayland-protocols" Exigidas [6828]extra-cmake-modules-5.109.0 Instalação do Plasma-wayland-protocols Instale o "Plasma-wayland-protocols" executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr .. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/share/plasma-wayland-protocols e /usr/lib/cmake/PlasmaWaylandProtocols kuserfeedback-1.2.0 Introdução ao Kuserfeedback O pacote "kuserfeedback" contém uma estrutura essencial de suporte para coletar retroalimentação de usuário(a) a respeito de aplicativos por meio de telemetria e pesquisas. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6829]https://download.kde.org/stable/kuserfeedback/kuserfeedback-1 .2.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 905f3e9686c15814594956bea084da64 * Tamanho da transferência: 204 KB * Espaço em disco estimado exigido: 23 MB * Tempo de construção estimado: 0,3 UPC (usando paralelismo = 4) Dependências do "Kuserfeedback" Exigidas [6830]extra-cmake-modules-5.109.0 e [6831]Qt-5.15.10 Instalação do Kuserfeedback Instale o "kuserfeedback" executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_TESTING=OFF \ -Wno-dev .. && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libKUserFeedbackCore.so e libKUserFeedbackWidgets.so Diretórios Instalados: /usr/include/KUserFeedback, /usr/lib/qml/org/kde/userfeedback, /usr/lib/cmake/KUserFeedback, /usr/share/KDE/UserFeedbackConsole e /usr/share/qlogging-categories5 Capítulo 30. KDE Frameworks 5 Configuração da Pré-instalação do “KDE Frameworks 5” O "KF5" pode ser instalado em "/usr" ou "/opt/kf5". Os(As) editores(as) do BLFS recomendam o último no ambiente do BLFS. Instalando em /usr Uma opção é a de instalar o "KDE Frameworks 5" na hierarquia "/usr". Isso cria uma configuração mais simples, mas torna mais difícil testar múltiplas versões do "KDE Frameworks". export KF5_PREFIX=/usr É uma boa ideia adicionar as seguintes variáveis ao teu sistema ou perfis pessoais: cat >> /etc/profile.d/qt5.sh << "EOF" # Inicia extensão do kf5 para /etc/profile.d/qt5.sh pathappend /usr/lib/plugins QT_PLUGIN_PATH pathappend $QT5DIR/lib/plugins QT_PLUGIN_PATH pathappend /usr/lib/qt5/qml QML2_IMPORT_PATH pathappend $QT5DIR/lib/qml QML2_IMPORT_PATH # Termina extensão para /etc/profile.d/qt5.sh EOF cat > /etc/profile.d/kf5.sh << "EOF" # Inicia /etc/profile.d/kf5.sh export KF5_PREFIX=/usr # Termina /etc/profile.d/kf5.sh EOF Nota Se o "qt5" foi instalado em "/usr", [então] as partes "$QT5DIR/lib/" dos caminhos acima podem precisar serem mudadas para "$QT5DIR/lib/qt5/". Adicionalmente, se o "[6832]Sudo-1.9.14p3" estiver instalado, [então] essas variáveis deveriam estar disponíveis para o(a) superusuário(a). Execute os seguintes comandos como o(a) usuário(a) "root": cat >> /etc/sudoers.d/qt << "EOF" Defaults env_keep += QT_PLUGIN_PATH Defaults env_keep += QML2_IMPORT_PATH EOF cat >> /etc/sudoers.d/kde << "EOF" Defaults env_keep += KF5_PREFIX EOF Instalando em /opt Um método de construção de múltiplas versões instala o "KDE Frameworks 5" na hierarquia "/opt": export KF5_PREFIX=/opt/kf5 Se você não estiver instalando o "KDE Frameworks 5" em "/usr", [então] você precisará fazer algumas mudanças adicionais de configuração. A melhor prática é a de adicioná-los ao teu perfil de sistema ou pessoal: cat > /etc/profile.d/kf5.sh << "EOF" # Inicia /etc/profile.d/kf5.sh export KF5_PREFIX=/opt/kf5 pathappend $KF5_PREFIX/bin PATH pathappend $KF5_PREFIX/lib/pkgconfig PKG_CONFIG_PATH pathappend $KF5_PREFIX/etc/xdg XDG_CONFIG_DIRS pathappend $KF5_PREFIX/share XDG_DATA_DIRS pathappend $KF5_PREFIX/lib/plugins QT_PLUGIN_PATH pathappend $KF5_PREFIX/lib/plugins/kcms QT_PLUGIN_PATH pathappend $KF5_PREFIX/lib/qml QML2_IMPORT_PATH pathappend $KF5_PREFIX/lib/python3.11/site-packages PYTHONPATH pathappend $KF5_PREFIX/share/man MANPATH pathappend $KF5_PREFIX/include CPLUS_INCLUDE_PATH # Termina /etc/profile.d/kf5.sh EOF cat >> /etc/profile.d/qt5.sh << "EOF" # Inicia mudanças Qt5 para KF5 pathappend /usr/lib/plugins QT_PLUGIN_PATH pathappend $QT5DIR/plugins QT_PLUGIN_PATH pathappend $QT5DIR/qml QML2_IMPORT_PATH # Termina mudanças Qt5 para KF5 EOF Expanda o teu arquivo "/etc/ld.so.conf": cat >> /etc/ld.so.conf << "EOF" # Inicia adição do KF5 /opt/kf5/lib # Termina adição do KF5 EOF Vários pacotes "KDE Frameworks 5" e "KDE Plasma 5" instalam arquivos nos diretórios do "D-Bus", do "Polkit" e do "systemd". Ao instalar o "KDE 5" em um local diferente de "/usr", o "D-Bus", o "Polkit" e o "systemd" precisam ser capazes de encontrar esses arquivos. A maneira mais fácil de conseguir isso é a de criar os seguintes links simbólicos (como o(a) usuário(a) "root"): install -v -dm755 $KF5_PREFIX/{etc,share} && ln -sfv /etc/dbus-1 $KF5_PREFIX/etc && ln -sfv /usr/share/dbus-1 $KF5_PREFIX/share && ln -sfv /usr/share/polkit-1 $KF5_PREFIX/share && install -v -dm755 $KF5_PREFIX/lib && ln -sfv /usr/lib/systemd $KF5_PREFIX/lib Alguns pacotes também possivelmente instalem ícones provenientes do conjunto de ícones "hicolor". Como esse conjunto de ícones é usado por muitos pacotes, é uma boa ideia criar um link simbólico para aquele em "/usr/share" para evitar ter-se instalações múltiplas do "[6833]hicolor-icon-theme-0.17". Execute os seguintes comandos como o(a) usuário(a) "root": install -v -dm755 $KF5_PREFIX/share/icons && ln -sfv /usr/share/icons/hicolor $KF5_PREFIX/share/icons Dica Ocasionalmente, os caminhos de instalação são rigidamente codificados em arquivos instalados. Essa é a razão pela qual "/opt/kf5" é usado como prefixo de instalação em vez de "/opt/kf5-5.109.0". Depois de instalar o "KDE Frameworks", você pode renomear o diretório e criar um link simbólico: mv /opt/kf5{,-5.109.0} ln -sfv kf5-5.109.0 /opt/kf5 Mais tarde, você possivelmente queira instalar outras versões do "KDE Frameworks 5". Para fazer isso, basta remover o link simbólico e usar "/opt/kf5" como prefixo novamente. Qual versão do "KDE Frameworks 5" você usa depende somente de onde o link simbólico aponta. Nenhuma outra reconfiguração será necessária. Construindo o KDE Frameworks 5 (KF5) "KDE Frameworks 5" é uma coleção de bibliotecas baseadas em "Qt5" e "QML" derivadas das bibliotecas monolíticas do "KDE 4". Elas podem ser usadas independentemente do Ambiente de Exibição do "KDE" ("Plasma 5"). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. As instruções abaixo constroem todos os pacotes do "KDE Frameworks" em uma etapa, usando um conjunto de comandos sequenciais do "Bash". Informação do Pacote * Transferência (HTTP): [6834]https://download.kde.org/stable/frameworks/5.109 * Transferência (FTP): * Soma de verificação MD5 da transferência: Veja-se Abaixo * Tamanho da transferência: 345 MB * Espaço em disco estimado exigido: 2,5 GB (252 MB instalado) * Tempo de construção estimado: 13 UPC (usando paralelismo = 4) Dependências do KF5 Exigidas [6835]Boost-1.83.0, [6836]extra-cmake-modules-5.109.0, [6837]docbook-xml-4.5, [6838]docbook-xsl-nons-1.79.2, [6839]giflib-5.2.1, [6840]libepoxy-1.5.10, [6841]libgcrypt-1.10.2, [6842]libical-3.0.16, [6843]libjpeg-turbo-3.0.0, [6844]libpng-1.6.40, [6845]libxslt-1.1.38, [6846]lmdb-0.9.31, [6847]qca-2.3.7, [6848]qrencode-4.1.1, [6849]phonon-4.11.1, [6850]plasma-wayland-protocols-1.10.0, [6851]shared-mime-info-2.2, [6852]URI-5.17 e [6853]Wget-1.21.4 (exigido para baixar os pacotes) Recomendadas [6854]Aspell-0.60.8 (estrutura de retaguarda de dicionário para Sonnet), [6855]Avahi-0.8 (estrutura de retaguarda DNS-SD para KDNSSD), [6856]libdbusmenu-qt-0.9.3+16.04.20160218 (construído com qt5), [6857]ModemManager-1.18.12 (necessário para construir ModemManager-Qt), [6858]NetworkManager-1.44.0 (necessário para construir NetworkManager-Qt), [6859]PCRE-8.45 e [6860]polkit-qt-0.114.0 (estrutura de retaguarda de autenticação para KAuth) Além disso, as instruções abaixo pressupõem que o ambiente tenha sido configurado conforme descrito na [6861]Introdução ao "KF5". Opcionais [6862]BlueZ-5.68 (necessário para construir Bluez-Qt), [6863]Datamatrix (considerado recomendado para Prison pelo fluxo de desenvolvimento) Dependência de tempo de execução para o FrameworkIntegration [6864]Fontes Noto Dependências adicionais recomendadas para o kapidox [6865]Doxygen-1.9.7 (tempo de execução), [6866]doxypypy-0.8.8.7, [6867]doxyqml-0.5.2, [6868]PyYAML-6.0.1 e [6869]requests-2.31.0 Suporte a formatos adicionais de imagem no KImageFormats [6870]JasPer-4.0.0, [6871]libavif-0.11.1, [6872]libraw-0.21.1, [6873]libheif, [6874]libjxl e [6875]OpenEXR Dependências opcionais para o KIO [6876]MIT Kerberos V5-1.21.2 Dependências opcionais para o Solid [6877]UDisks-2.10.0, [6878]UPower-1.90.2 e [6879]media-player-info (tempo de execução) Dependência opcional para o KWallet [6880]GPGME-1.21.0, construído com ligações "C++" (o que é o padrão). Dependência opcional para kdewebkit [6881]QtWebkit Estruturas de retaguarda opcionais de dicionário para o Sonnet [6882]Hspell e [6883]Hunspell Observações de Editor(a): [6884]https://wiki.linuxfromscratch.org/blfs/wiki/kf5 Baixando o KDE Frameworks A maneira mais fácil de obter os pacotes do "KDE Frameworks" é a de usar um "wget" para buscá-los todos de uma vez: url=https://download.kde.org/stable/frameworks/5.109/ wget -r -nH -nd -A '*.xz' -np $url As opções usadas aqui são: -r recursar ao longo de diretórios filhos -nH desabilitar a geração de diretórios com prefixo de dispositivo -nd não crie uma hierarquia de diretórios -A '*.xz' apenas obter os arquivos *.xz -np não obtenha diretórios ancestrais Configurando a Ordem do Pacote A ordem de construção dos arquivos é importante devido às dependências internas. Crie a lista de arquivos na ordem correta conforme segue: cat > frameworks-5.109.0.md5 << "EOF" b025406c6818d92ad3fedd585bd8a428 attica-5.109.0.tar.xz #0baf0a3ded2fed5e0442591dde276c4e extra-cmake-modules-5.109.0.tar.xz e4cc63aafbbe019ebb8d62f6c02e9d2e kapidox-5.109.0.tar.xz d096b76119d8d9da91fd112811d2b408 karchive-5.109.0.tar.xz 64087cda04bec6ad068f22ce1e3dcb1e kcodecs-5.109.0.tar.xz fe2b1c516c2f9caadd6c8e3bf35ffd96 kconfig-5.109.0.tar.xz b88be3c775bef6277e047f09b531ba1d kcoreaddons-5.109.0.tar.xz 5b00c0b729b5c11d2a5733ea7db5674f kdbusaddons-5.109.0.tar.xz 993090bb9a0e678154382daa0626fa48 kdnssd-5.109.0.tar.xz 3fc1c5e58a8202cd0722aa7ec99ad584 kguiaddons-5.109.0.tar.xz 13b867e8189e91e402e5e9b9aa33b613 ki18n-5.109.0.tar.xz d8f87c99c0b798f04ac328d7050d2d97 kidletime-5.109.0.tar.xz 777d46bc3c7c7e66804402220dac2df0 kimageformats-5.109.0.tar.xz e3321430de25b4b16ad48c6c2f168170 kitemmodels-5.109.0.tar.xz c5efe890400ab8b97270f9a3e821d510 kitemviews-5.109.0.tar.xz f334911f97cd4592e3b823dfc518f9eb kplotting-5.109.0.tar.xz 67f4605da5e119342e91fc4670114a2b kwidgetsaddons-5.109.0.tar.xz 2b384fcad72c84ccda75f300c14f633c kwindowsystem-5.109.0.tar.xz 4dcacee7da9987c587511634ca90f064 networkmanager-qt-5.109.0.tar.xz 8952c4756ed0bc072a8bad998ed81bc6 solid-5.109.0.tar.xz 8aff00ce75275252f45d915c478279de sonnet-5.109.0.tar.xz f98889ea3fa22aaeaa9f8a85a602f3a6 threadweaver-5.109.0.tar.xz 62195272670cdec8ceb0fbda4bd8c43b kauth-5.109.0.tar.xz 9b99972d3a25f521c20c04d1867fc3dd kcompletion-5.109.0.tar.xz fc2f3a9c7d12066b659b46e13a75e97a kcrash-5.109.0.tar.xz 43e0fddae05e83dfb7cd0b0bb5cc11e5 kdoctools-5.109.0.tar.xz 7ccb53e9023ada6a5e08e4d562769ef3 kpty-5.109.0.tar.xz 30d32d8dc23c6ad4915be89831238c54 kunitconversion-5.109.0.tar.xz eb1a478738f8f5bd5ab7bd23145594b7 kconfigwidgets-5.109.0.tar.xz 2353574c0c41d1f9e274d29fc3f174c3 kservice-5.109.0.tar.xz 8f2118a5544acd0bcb9a2202180e1e27 kglobalaccel-5.109.0.tar.xz f9ce944b2dcc815e8df677b7018530cd kpackage-5.109.0.tar.xz 737509807d74878037d564ab19f8f4fb kdesu-5.109.0.tar.xz f8ec4f236ad6d229294003478b2c8660 kemoticons-5.109.0.tar.xz 8d23dcfeaa45d04f3a03b993794c1929 kiconthemes-5.109.0.tar.xz b108a7c58d5e63248e4043a6e2d5cd3d kjobwidgets-5.109.0.tar.xz 37840b5eff97d1cb6105a276a14f6982 knotifications-5.109.0.tar.xz 520e1568726e76671fdbc3c5180d1e12 ktextwidgets-5.109.0.tar.xz d52b000182f1530befcb9023db853620 kxmlgui-5.109.0.tar.xz e230f6ef16e636ed103bd30ee9256d9d kbookmarks-5.109.0.tar.xz fb90ee7dad377b5fe11cc5a60c0721c5 kwallet-5.109.0.tar.xz ab29c38a4efbb1c2a8ae844aae1482ea kded-5.109.0.tar.xz 73fc6504264e620b0f9d0ba96c9d8ca4 kio-5.109.0.tar.xz 1d180f9106dd4e55346bf6b68f144594 kdeclarative-5.109.0.tar.xz a3a6afb25c9d4dd0b027468c318763cb kcmutils-5.109.0.tar.xz 4f555c40672c66df4c6d685bee6c5ae1 kirigami2-5.109.0.tar.xz f355ac0e56c60d258c242bb5115c5879 syndication-5.109.0.tar.xz 9d263510d765e23f80558e8c83b113fd knewstuff-5.109.0.tar.xz d3b4d1a97b4c724a99b9920f3931db58 frameworkintegration-5.109.0.tar.xz 3ecd4e79453f9a8b378b87a63a698280 kinit-5.109.0.tar.xz b65f54d2f7b5c7b54926f147114c3ab4 kparts-5.109.0.tar.xz 7111af3ca1d17b3b085513bf4067557e kactivities-5.109.0.tar.xz #929785c0f7a5594f4eac30c2f40645d5 kdewebkit-5.109.0.tar.xz e970abb368b963a075f10f2ef26a95c0 syntax-highlighting-5.109.0.tar.xz 9405ebf54d7c675a39ef00afc81e472d ktexteditor-5.109.0.tar.xz cd659fa310535c476d3dcb7cba5499f8 kdesignerplugin-5.109.0.tar.xz b9ce7efb96ee1f88f3d8c505a3c8e8b1 kwayland-5.109.0.tar.xz 08ec7edef427f681dfb3b1533ab0d880 plasma-framework-5.109.0.tar.xz 5e66a95d9998d4874aa1d9004b2bdc50 modemmanager-qt-5.109.0.tar.xz e66ebdbc5547881e8562bab6a02ce8bb kpeople-5.109.0.tar.xz a1af96f8f082e4f9fca0ce476528b6ae kxmlrpcclient-5.109.0.tar.xz 91a2f23a8a88b7ac17c94f70b50a6b71 bluez-qt-5.109.0.tar.xz c796f5097f2185c33a61d8e32a296066 kfilemetadata-5.109.0.tar.xz 2d0a01f671615c6a1559eaa4d73193c2 baloo-5.109.0.tar.xz #40721040f8c42a60450a94b7975d18e3 breeze-icons-5.109.0.tar.xz #cb7872cff65fe1f62815339f40c639d8 oxygen-icons5-5.109.0.tar.xz f09fd15d79bca7374094ea1126e6aef6 kactivities-stats-5.109.0.tar.xz 7c7a7502b568b7c3c45f7c43cefa92e7 krunner-5.109.0.tar.xz 00d1282f4dd770085cf2d72371cd3388 prison-5.109.0.tar.xz 12f3d0a80404bcd1111f5164d8e9dfd0 qqc2-desktop-style-5.109.0.tar.xz 4ca7a857b39d805ba61c94d17cbe6862 kjs-5.109.0.tar.xz 06545a811be0293dc9a79d65ce265a4e kdelibs4support-5.109.0.tar.xz 2c1d3e7d57e6793e7bfbcd7424a199bc khtml-5.109.0.tar.xz b9ab15ac90dece7fa6b623be95ef40f9 kjsembed-5.109.0.tar.xz 405558700e5518f7e25eb252c0027410 kmediaplayer-5.109.0.tar.xz e647b806ba546ea010b304f707a9d696 kross-5.109.0.tar.xz 0fc9e9fda1d3a55fd61f655a1dec0b39 kholidays-5.109.0.tar.xz 08946785eb0fa4a3d5b1ac174433f9a7 purpose-5.109.0.tar.xz c4faaf8fa6587a0b80a0618810e9d41a kcalendarcore-5.109.0.tar.xz 588289805cb18731d9b73ea86236b458 kcontacts-5.109.0.tar.xz 08b2dcd842dfcda7e406d16646b082bb kquickcharts-5.109.0.tar.xz 8612d9d00ff9daeb507548ed9150d00d knotifyconfig-5.109.0.tar.xz d4e4e96920394601cf599ed8e36bd635 kdav-5.109.0.tar.xz EOF Na lista acima, observe que alguns arquivos foram comentados com um caractere cerquilha (#). A entrada extra-cmake-modules foi comentada porque foi construída anteriormente na [6885]Introdução ao KDE. Os pacotes de ícones são abordados separadamente em [6886]breeze-icons-5.109.0 e [6887]oxygen-icons5-5.109.0. O pacote kdewebkit pode ser construído se o pacote externo [6888]QtWebkit tiver sido construído. Instalação do KDE Frameworks Nota Ao instalar vários pacotes em um conjunto de comandos sequenciais, a instalação precisa ser feita como o(a) usuário(a) root. Existem três opções gerais que podem ser usadas para fazer isso: 1. Executar o conjunto inteiro de comandos sequenciais como o(a) usuário(a) root (não recomendado). 2. Usar o comando sudo originário do pacote [6889]Sudo-1.9.14p3. 3. Usar su -c "argumentos do comando" (aspas exigidas) que solicitará a senha do(a) root para cada iteração do loop. Uma maneira de lidar com essa situação é a de se criar uma função curta do bash que selecione automaticamente o método apropriado. Depois que o comando for configurado no ambiente, ele não precisará ser configurado novamente. as_root() { if [ $EUID = 0 ]; then $* elif [ -x /usr/bin/sudo ]; then sudo $* else su -c \\"$*\\" fi } export -f as_root Cuidado Se instalar em "/opt" e existir um "/opt/kf5", seja como um diretório regular ou um link simbólico, [então] ele deveria ser reinicializado (como "root"): mv -v /opt/kf5 /opt/kf5.old && install -v -dm755 $KF5_PREFIX/{etc,share} && ln -sfv /etc/dbus-1 $KF5_PREFIX/etc && ln -sfv /usr/share/dbus-1 $KF5_PREFIX/share && ln -sfv /usr/share/polkit-1 $KF5_PREFIX/share && install -v -dm755 $KF5_PREFIX/lib && ln -sfv /usr/lib/systemd $KF5_PREFIX/lib Primeiro, inicie um sub "shell" que sairá em caso de erro: bash -e Instale todos os pacotes executando os seguintes comandos: while read -r line; do # Obtenha o nome do arquivo, ignorando comentários e linhas em branco if $(echo $line | grep -E -q '^ *$|^#' ); then continue; fi file=$(echo $line | cut -d" " -f2) pkg=$(echo $file|sed 's|^.*/||') # Diretório de remoção packagedir=$(echo $pkg|sed 's|\.tar.*||') # Diretório de Pacote name=$(echo $pkg|sed 's|-5.*$||') # Isolar nome de pacote tar -xf $file pushd $packagedir # kapidox é um módulo Python case $name in kapidox) pip3 wheel -w dist --no-build-isolation --no-deps $PWD as_root pip3 install --no-index --find-links dist --no-cache-dir --no- user kapidox popd rm -rf $packagedir continue ;; esac mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \ -DCMAKE_PREFIX_PATH=$QT5DIR \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_TESTING=OFF \ -Wno-dev .. make as_root make install popd as_root rm -rf $packagedir as_root /sbin/ldconfig done < frameworks-5.109.0.md5 exit Nota Quaisquer módulos que tenham sido omitidos podem ser instalados posteriormente usando-se o mesmo procedimento "mkdir build; cd build; cmake; make; make install" conforme acima. Ocasionalmente, os caminhos de instalação são rigidamente codificados em arquivos instalados. Se o diretório instalado não for "/usr", [então] renomeie o diretório e crie um link simbólico: mv -v /opt/kf5 /opt/kf5-5.109.0 ln -sfvn kf5-5.109.0 /opt/kf5 Explicações do Comando -DCMAKE_PREFIX_PATH=$QT5DIR: Essa chave é usada para permitir que o "cmake" encontre as bibliotecas "Qt" adequadas. -DCMAKE_BUILD_TYPE=Release: Essa chave é usada para aplicar um nível mais alto de otimização à compilação. -DBUILD_TESTING=OFF: Essa chave é usada para evitar a construção de aplicativos de teste e bibliotecas que não são de uso para um(a) usuário(a) final. Conteúdo Aplicativos Instalados: balooctl, baloo_file, baloo_file_extractor, baloosearch, balooshow, checkXML5, depdiagram-generate, depdiagram-generate-all, depdiagram-prepare, desktoptojson, gentrigrams, kactivities-cli, kapidox_generate, kate-syntax-highlighter, kbuildsycoca5, kcookiejar5, kdebugdialog5, kded5, kdeinit5, kdeinit5_shutdown, kdeinit5_wrapper, kf5-config, kf5kross, kgendesignerplugin, kglobalaccel5, kiconfinder5, kjs5, kjscmd5, kjsconsole, knewstuff-dialog, kpackagelauncherqml, kpackagetool5, kquitapp5, kreadconfig5, kshell5, ktelnetservice5, ktrash5, kwalletd5, kwallet-query, kwrapper5, kwriteconfig5, meinproc5, parsetrigrams, plasmapkg2, preparetips5, protocoltojson e solid-hardware5 Bibliotecas Instaladas: libkdeinit5_klauncher.so, libKF5Activities.so, libKF5ActivitiesStats.so, libKF5Archive.so, libKF5Attica.so, libKF5AuthCore.so, libKF5Auth.so, libKF5Baloo.so, libKF5BluezQt.so, libKF5Bookmarks.so, libKF5CalendarCore.so, libKF5CalendarEvents.so, libKF5Codecs.so, libKF5Completion.so, libKF5ConfigCore.so, libKF5ConfigGui.so, libKF5ConfigWidgets.so, libKF5Contacts.so, libKF5CoreAddons.so, libKF5Crash.so, libKF5DAV.so, libKF5DBusAddons.so, libKF5Declarative.so, libKF5DNSSD.so, libKF5DocTools.so, libKF5Emoticons.so, libKF5FileMetaData.so, libKF5GlobalAccel.so, libKF5GuiAddons.so, libKF5Holidays.so, libKF5I18n.so, libKF5IconThemes.so, libKF5IdleTime.so, libKF5ItemModels.so, libKF5ItemViews.so, libKF5JobWidgets.so, libKF5JSApi.so, libKF5JsEmbed.so, libKF5JS.so, libKF5KCMUtils.so, libKF5KDELibs4Support.so, libKF5KHtml.so, libKF5KIOCore.so, libKF5KIOFileWidgets.so, libKF5KIOGui.so, libKF5KIONTLM.so, libKF5KIOWidgets.so, libKF5Kirigami2.so, libKF5KrossCore.so, libKF5KrossUi.so, libKF5MediaPlayer.so, libKF5NetworkManagerQt.so, libKF5NewStuffCore.so, libKF5NewStuff.so, libKF5Notifications.so, libKF5NotifyConfig.so, libKF5Package.so, libKF5Parts.so, libKF5PeopleBackend.so, libKF5People.so, libKF5PeopleWidgets.so, libKF5PlasmaQuick.so, libKF5Plasma.so, libKF5Plotting.so, libKF5Prison.so, libKF5Pty.so, libKF5Purpose.so, libKF5PurposeWidgets.so, libKF5QuickAddons.so, libKF5Runner.so, libKF5Service.so, libKF5Solid.so, libKF5SonnetCore.so, libKF5SonnetUi.so, libKF5Style.so, libKF5Su.so, libKF5SyntaxHighlighting.so, libKF5TextEditor.so, libKF5TextWidgets.so, libKF5ThreadWeaver.so, libKF5UnitConversion.so, libKF5Wallet.so, libKF5WaylandClient.so, libKF5WaylandServer.so, libKF5WidgetsAddons.so, libKF5WindowSystem.so, libKF5XmlGui.so, libKF5XmlRpcClient.so e libkwalletbackend5.so Diretórios Instalados: /opt/kf5 (link simbólico para /opt/kf5-5.109.0) se instalar em /opt Descrições Curtas checkXML5 é uma ferramenta para verificar erros de sintaxe em arquivos "XML" "DocBook" do "KDE" depdiagram-generate é uma ferramenta para gerar um diagrama de dependências depdiagram-generate-all é uma ferramenta para gerar um diagrama de dependências para todos as estruturas essenciais de suporte de uma vez depdiagram-prepare é uma ferramenta para preparar arquivos de ponto desktoptojson é uma ferramenta para converter um arquivo ".desktop" em um arquivo ".json" kbuildsycoca5 reconstrói o "cache" de configuração do sistema de arquivos da área de trabalho "KService" kcookiejar5 é uma interface de linha de comando para o armazenamento de "cookies" "HTTP" usado pelo "KDE"; um serviço do "D-BUS" para armazenar/recuperar/limpar "cookies" kded5 consolida vários pequenos serviços em um processo kdeinit5 é um iniciador de processos mais ou menos semelhante ao famoso "init" usado para inicializar o "UNIX" kf5-config é um aplicativo de linha de comando usado para recuperar informações a respeito da instalação do "KDE" ou caminhos de usuário(a) kf5kross executa conjuntos de comandos sequenciais "kross" escritos em "Javascript", "Python", "Ruby", "Java" e "Falcon" do "KDE" kgendesignerplugin gera "plugins" de pequena engenhoca para o "Qt(TM) Designer" kglobalaccel5 é um processo de segundo plano usado para registrar as combinações de teclas e para ser notificado(a) quando a ação for deflagrada kjs5 é o mecanismo "ECMAScript"/"JavaScript" do "KDE" kjscmd5 é uma ferramenta para iniciar conjuntos de comandos sequenciais "KJSEmbed" a partir da linha de comando kjsconsole é um console para o "kjs5" kpackagelauncherqml é uma ferramenta de linha de comando para iniciar o aplicativo "QML" "kpackage" kpackagetool5 é uma ferramenta de linha de comando do "kpackage" kreadconfig5 é uma ferramenta de linha de comando para recuperar valores a partir dos arquivos de configuração do "KDE" kshell5 inicia aplicativos via "kdeinit" ktelnetservice5 é um serviço de "telnet" ktrash5 é um aplicativo auxiliar para lidar com a lixeira do "KDE" kwalletd5 é o processo de segundo plano do gerenciador de carteira kwriteconfig5 é uma ferramenta de linha de comando para escrever valores nos arquivos de configuração do "KDE" meinproc5 converte arquivos "DocBook" para "HTML" plasmapkg2 é uma ferramenta para instalar, listar e remover pacotes "Plasma" preparetips5 é um conjunto de comandos sequenciais para extrair o texto a partir de um arquivo de dicas solid-hardware5 é uma ferramenta de linha de comando para investigar dispositivos disponíveis Capítulo 31. Aplicativos Baseados no “KDE Frameworks 5” Ark-23.08.0 Introdução ao Ark O pacote "Ark" é uma ferramenta de arquivamento "KF5". Ela é uma estrutura gráfica de interação direta com o(a) usuário(a) para o "tar" e ferramentas semelhantes. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6890]https://download.kde.org/stable/release-service/23.08.0/src/a rk-23.08.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 82c23d205843d4384c3323d40491faa8 * Tamanho da transferência: 2,9 MB * Espaço em disco estimado exigido: 33 MB * Tempo de construção estimado: 0,3 UPC (usando paralelismo = 4) Dependências do "Ark" Exigidas [6891]KDE Frameworks-5.109.0 e [6892]libarchive-3.7.1 Recomendadas [6893]cpio-2.14, [6894]p7zip-17.04, [6895]UnRar-6.2.10, [6896]UnZip-6.0 e [6897]Zip-3.0 Instalação do Ark Instale o "Ark" executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_TESTING=OFF \ -Wno-dev .. && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: ark Bibliotecas Instaladas: libkerfuffle.so Diretórios Instalados: $KF5_PREFIX/lib/plugins/kerfuffle, $KF5_PREFIX/share/doc/HTML/*/ark e $KF5_PREFIX/share/kxmlgui5/ark Descrições Curtas ark é um Gerenciador de Arquivamentos baseado em "KF5" Kdenlive-23.08.0 Introdução ao Kdenlive O pacote "Kdenlive" é um editor de vídeos baseado em "KF5". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6898]https://download.kde.org/stable/release-service/23.08.0/src/k denlive-23.08.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: db634eb3e9fcb62934275b03f72c99c2 * Tamanho da transferência: 12 MB * Espaço em disco estimado exigido: 199 MB * Tempo de construção estimado: 1,4 UPC (usando paralelismo = 4) Dependências do "Kdenlive" Exigidas [6899]KDE Frameworks-5.109.0, [6900]mlt-7.18.0 e [6901]v4l-utils-1.24.1 (tempo de execução) Recomendadas [6902]breeze-icons-5.109.0 Instalação do Kdenlive Instale o "Kdenlive" executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_TESTING=OFF \ -Wno-dev .. && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: kdenlive e kdenlive_render Bibliotecas Instaladas: mltpreview.so Diretórios Instalados: $KF5_PREFIX/share/doc/HTML/*/kdenlive, $KF5_PREFIX/share/kdenlive e $KF5_PREFIX/share/kxmlgui5/kdenlive Descrições Curtas kdenlive é um editor de vídeos não linear de fonte aberto que suporta um grande número de formatos kdenlive_render é um aplicativo renderizador para o "kdenlive" KMix-23.08.0 Introdução ao KMix O pacote "KMix" contém um aplicativo Misturador de Som baseado em "KF5". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6903]https://download.kde.org/stable/release-service/23.08.0/src/k mix-23.08.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: cda08965eb6ef2cc3f9a71eb98e72ddc * Tamanho da transferência: 1,2 MB * Espaço em disco estimado exigido: 18 MB * Tempo de construção estimado: 0,2 UPC (usando paralelismo = 4) Dependências do "KMix" Exigidas [6904]KDE Frameworks-5.109.0 Recomendadas [6905]alsa-lib-1.2.9 Opcionais [6906]libcanberra-0.30 e [6907]PulseAudio-16.1 Instalação do KMix Instale o "KMix" executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_TESTING=OFF \ -Wno-dev .. && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: kmix, kmixctrl e kmixremote Bibliotecas Instaladas: libkmixcore.so Diretórios Instalados: $KF5_PREFIX/share/kmix, $KF5_PREFIX/share/kxmlgui5/kmix e $KF5_PREFIX/share/doc/HTML/*/kmix Descrições Curtas kmix é um mini misturador de áudio para o "KDE" kmixctrl é usado para salvar ou restaurar as configurações do "kmix" kmixremote é um utilitário para silenciar, obter e configurar níveis de volume kio-extras-23.08.0 Introdução ao kio-extras O pacote "kio-extras" contém componentes adicionais para aumentar a funcionalidade dos recursos e abstrações de acesso à rede de intercomunicação do "KDE". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6908]https://download.kde.org/stable/release-service/23.08.0/src/k io-extras-23.08.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 6d04c5f39fea1db4b915290ee05df0c9 * Tamanho da transferência: 1,4 MB * Espaço em disco estimado exigido: 50 MB * Tempo de construção estimado: 0,5 UPC (usando paralelismo = 4) Dependências do "kio-extras" Exigidas [6909]kdsoap-2.1.1 e [6910]KDE Frameworks-5.109.0 Opcionais [6911]libtirpc-1.3.3, [6912]Samba-4.18.6, [6913]taglib-1.13.1, [6914]libmtp, [6915]libssh e [6916]OpenEXR Instalação do kio-extras Instale o "kio-extras" executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_TESTING=OFF \ -Wno-dev .. && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libkioarchive.so e trinta e dois (32) "plugins" Diretórios Instalados: Nenhum(a) Khelpcenter-23.08.0 Introdução ao Khelpcenter "Khelpcenter" é um aplicativo para mostrar a documentação dos Aplicativos do "KDE". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6917]https://download.kde.org/stable/release-service/23.08.0/src/k helpcenter-23.08.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: b396d6be1120f9ff082f3cfa829622d5 * Tamanho da transferência: 4,2 MB * Espaço em disco estimado exigido: 29 MB * Tempo de construção estimado: 0,1 UPC (usando paralelismo = 4) Dependências do "Khelpcenter" Exigidas [6918]grantlee-5.3.1, [6919]KDE Frameworks-5.109.0, [6920]libxml2-2.10.4 e [6921]xapian-1.4.23 Recomendadas [6922]kio-extras-23.08.0 Instalação do Khelpcenter Instale o "khelpcenter" executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_TESTING=OFF \ -Wno-dev .. && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install && mv -v $KF5_PREFIX/share/kde4/services/khelpcenter.desktop /usr/share/application s/ && rm -rv $KF5_PREFIX/share/kde4 Conteúdo Aplicativo Instalado: khelpcenter Bibliotecas Instaladas: libkdeinit5_khelpcenter.so Diretórios Instalados: $KF5_PREFIX/share/khelpcenter, $KF5_PREFIX/share/kxmlgui5/khelpcenter e $KF5_PREFIX/share/doc/HTML/*/{khelpcenter,fundamentals,onlinehelp} Descrições Curtas khelpcenter é o visualizador de ajuda para aplicativos do "KDE" Konsole-23.08.0 Introdução ao Konsole O pacote "Konsole" é um emulador de terminal baseado em "KF5". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6923]https://download.kde.org/stable/release-service/23.08.0/src/k onsole-23.08.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 9c978fbdf16353cf5d49b6d40bd8158d * Tamanho da transferência: 1,7 MB * Espaço em disco estimado exigido: 53 MB * Tempo de construção estimado: 0,5 UPC (usando paralelismo=4) Transferências Adicionais * Remendo opcional: [6924]https://www.linuxfromscratch.org/patches/blfs/12.0/konsole-23 .08.0-scrollbar-1.patch Dependências do "Konsole" Exigidas [6925]KDE Frameworks-5.109.0 Instalação do Konsole Nota Em ambientes não "Plasma", a barra de rolagem do "konsole" e a alça dele não aparecem bem. Se desejado, [então] aplique o remendo opcional ao pacote: patch -Np1 -i ../konsole-23.08.0-scrollbar-1.patch O remendo torna a barra de rolagem cinza claro com uma pequena borda branca. A alça é cinza escuro. Se desejado, [então] as cores podem ser mudadas a gosto editando-se o remendo. Instale o "Konsole" executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_TESTING=OFF \ -Wno-dev .. && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: konsole e konsoleprofile Bibliotecas Instaladas: libkdeinit5_konsole.so e libkonsoleprivate.so Diretórios Instalados: $KF5_PREFIX/share/doc/HTML/*/konsole, $KF5_PREFIX/share/konsole e $KF5_PREFIX/share/kxmlgui5/konsole Descrições Curtas konsole é uma emulação de terminal do "X" que fornece uma interface de linha de comando konsoleprofile é uma ferramenta de linha de comando para mudar as opções de perfil da guia atual libkexiv2-23.08.0 Introdução ao libkexiv2 "Libkexiv2" é um invólucro do "KDE" em torno da biblioteca "Exiv2" para manipular metadados de imagens. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6926]https://download.kde.org/stable/release-service/23.08.0/src/l ibkexiv2-23.08.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: e9f8e29c37fe45f5742aeae1a8dc1efa * Tamanho da transferência: 60 KB * Espaço em disco estimado exigido: 3,3 MB * Tempo de construção estimado: 0,2 UPC Dependências do "libkexiv2" Exigidas [6927]KDE Frameworks-5.109.0 e [6928]Exiv2-0.28.0 Instalação do libkexiv2 Instale o "libkexiv2" executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_TESTING=OFF \ -Wno-dev .. && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: libKF5KExiv2.so Diretórios Instalados: $KF5_PREFIX/include/KF5/KExiv2 e $KF5_PREFIX/lib/cmake/KF5KExiv2 Okular-23.08.0 Introdução ao Okular "Okular" é um visualizador de documentos para o "KDE". Ele consegue visualizar documentos de muitos tipos, incluindo "PDF", "PostScript", "TIFF", "CHM" da Microsoft, "DjVu", "DVI", "XPS" e "ePub". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6929]https://download.kde.org/stable/release-service/23.08.0/src/o kular-23.08.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: a2954ce44781b4535c64be2be27fc5de * Tamanho da transferência: 8,1 MB * Espaço em disco estimado exigido: 84 MB * Tempo de construção estimado: 0,7 UPC (usando paralelismo = 4) Dependências do "Okular" Exigidas [6930]KDE Frameworks-5.109.0 Recomendadas [6931]libkexiv2-23.08.0, [6932]libtiff-4.5.1 e [6933]Poppler-23.08.0 (construído com "Qt5", exigido para suporte de "PDF") Opcionais [6934]qca-2.3.7, [6935]discount, [6936]DjVuLibre, [6937]kpimtextedit, [6938]libspectre (para suporte a "PostScript"), [6939]libchm, [6940]libepub e [6941]Mobipocket Instalação do Okular Instale o "Okular" executando os seguintes comandos: Nota Se quaisquer das dependências opcionais estiverem instaladas, [então] remova a referência associada na variável de ambiente "SKIP_OPTIONAL". mkdir build && cd build && SKIP_OPTIONAL='LibSpectre;CHM;LibZip;DjVuLibre;EPub;QMobipocket;Discount' cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_TESTING=OFF \ -DFORCE_NOT_REQUIRED_DEPENDENCIES="$SKIP_OPTIONAL" \ -Wno-dev .. && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativo Instalado: okular Biblioteca Instalada: libOkular5Core.so Diretórios Instalados: $KF5_PREFIX/include/okular, $KF5_PREFIX/lib/cmake/Okular5, $KF5_PREFIX/lib/plugins/okular, $KF5_PREFIX/share/kxmlgui5/okular, $KF5_PREFIX/share/okular, $KF5_PREFIX/share/doc/HTML/*/okular Descrições Curtas okular é um visualizador de documentos libkdcraw-23.08.0 Introdução ao libkdcraw "Libkdcraw" é um invólucro do "KDE" em torno da biblioteca "[6942]libraw-0.21.1" para manipular metadados de imagens. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6943]https://download.kde.org/stable/release-service/23.08.0/src/l ibkdcraw-23.08.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: cf93cb46fd2d2cad17230bbba78d0687 * Tamanho da transferência: 40 KB * Espaço em disco estimado exigido: 1,4 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do "libkdcraw" Exigidas [6944]KDE Frameworks-5.109.0 e [6945]libraw-0.21.1 Instalação do libkdcraw Instale o "libkdcraw" executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_TESTING=OFF \ -Wno-dev .. && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: libKF5KDcraw.so Diretórios Instalados: $KF5_PREFIX/include/KF5/KDCRAW e $KF5_PREFIX/lib/cmake/KF5KDcraw Gwenview-23.08.0 Introdução ao Gwenview "Gwenview" é um visualizador de imagens rápido e fácil de usar para o "KDE". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6946]https://download.kde.org/stable/release-service/23.08.0/src/g wenview-23.08.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: f57eec9534df6f1f738ae9803552f27b * Tamanho da transferência: 6,6 MB * Espaço em disco estimado exigido: 51 MB * Tempo de construção estimado: 0,5 UPC (usando paralelismo = 4) Dependências do "Gwenview" Exigidas [6947]Exiv2-0.28.0, [6948]kimageannotator-0.6.1, [6949]KDE Frameworks-5.109.0 e [6950]Little CMS-2.14 Recomendadas [6951]libkdcraw-23.08.0 Opcionais [6952]KF5Kipi Instalação do Gwenview Instale o "Gwenview" executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_TESTING=OFF \ -Wno-dev .. && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativo Instalado: gwenview e gwenview_importer Bibliotecas Instaladas: libgwenviewlib.so e gvpart.so Diretórios Instalados: $KF5_PREFIX/share/{kxmlgui5/gvpart,gwenview,doc/HTML/*/gwenview} Descrições Curtas gwenview é o visualizador de imagens do "KDE" gwenview_importer é um importador de Fotografias libkcddb-23.08.0 Introdução ao libkcddb O pacote "libkcddb" contém uma biblioteca usada para recuperar metadados de "CD" de áudio a partir da Internet. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6953]https://download.kde.org/stable/release-service/23.08.0/src/l ibkcddb-23.08.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: 68205b64275aeca9d9eeb8c1ab1f6c63 * Tamanho da transferência: 444 KB * Espaço em disco estimado exigido: 9,9 MB * Tempo de construção estimado: 0,1 UPC (Usando paralelismo=4) Dependências do "libkcddb" Exigidas [6954]KDE Frameworks-5.109.0 e [6955]libmusicbrainz-5.1.0 Instalação do libkcddb Instale o "libkcddb" executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_TESTING=OFF \ -Wno-dev .. && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libKF5Cddb.so e kcm_cddb.so Diretórios Instalados: $KF5_PREFIX/include/KF5/KCddb e $KF5_PREFIX/lib/cmake/KF5Cddb $KF5_PREFIX/share/doc/HTML/*/kcontrol Descrições Curtas libkcddb.so contém funções usadas para recuperar metadados de "CD" de áudio a partir da Internet k3b-23.08.0 Introdução ao K3b O pacote "K3b" contém uma interface gráfica baseada em "KF5" para as ferramentas de manipulação de "CD"/"DVD" "Cdrtools" e "dvd+rw-tools". Ele também combina os recursos de muitos outros pacotes multimídia em uma interface central para fornecer um aplicativo simples de operar que consegue ser usado para lidar com muitos dos teus requisitos de gravação e formatação de "CD"/"DVD". Ele é usado para criar "CDs" de áudio, dados, vídeo e modo misto, bem como copiar, extrair e gravar "CDs" e "DVDs". Embora o "k3b" possa ser usado para copiar quase qualquer "DVD" para uma mídia semelhante, ele não fornece uma maneira de copiar ou reproduzir um "DVD" de camada dupla em uma mídia de camada única. Claro, não existe um aplicativo em qualquer plataforma que consiga fazer uma duplicata exata de um "DVD" de camada dupla em um disco de camada única; existem aplicativos em algumas plataformas que conseguem comprimir os dados em um "DVD" de camada dupla para caber em um "DVD" de camada única produzindo uma imagem duplicada, mas comprimida. Se precisar copiar o conteúdo de um "DVD" de camada dupla para uma mídia de camada única, [então] você possivelmente queira olhar o pacote "[6956]RMLCopyDVD". Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [6957]https://download.kde.org/stable/release-service/23.08.0/src/k 3b-23.08.0.tar.xz * Transferência (FTP): * Soma de verificação MD5 da transferência: c1cf504d389ee4be923c5604fbf21f97 * Tamanho da transferência: 10 MB * Espaço em disco estimado exigido: 125 MB * Tempo de construção estimado: 0,9 UPC (usando paralelismo = 4) Dependências do "K3b" Exigidas [6958]KDE Frameworks-5.109.0, [6959]libkcddb-23.08.0, [6960]libsamplerate-0.2.2 e [6961]shared-mime-info-2.2 A unidade de "CD"/"DVD" é detectada em tempo de execução usando o "[6962]UDisks-2.10.0", que precisa, por esse motivo, ser instalado antes de executar o "k3b". Recomendadas [6963]libburn-1.5.6, [6964]libdvdread-6.1.3 e [6965]taglib-1.13.1 Existem aplicativos provenientes de três pacotes que o "k3b" procurará em tempo de execução: "[6966]Cdrtools-3.02a09" (exigido para queimar mídia de "CD-ROM"), "[6967]dvd+rw-tools-7.1" (exigido para queimar ou formatar mídia "DVD") e "[6968]Cdrdao-1.2.4" (exigido para queimar mídia de "CD-ROM" em modo "Disk At Once" ("DAO")). Se não precisar do recurso fornecido por nenhum dos três pacotes, [então] você não tem de instalá-los. Entretanto, uma mensagem de aviso será gerada toda vez que você executar o aplicativo "k3b" se algum não estiver instalado. Tempo de Execução Opcional [6969]FFmpeg-6.0 Opcionais [6970]FLAC-1.4.3, [6971]LAME-3.100, [6972]libmad-0.15.1b, [6973]libsndfile-1.2.2, [6974]libvorbis-1.3.7, [6975]libmusicbrainz-2.1.5 e [6976]Musepack (libmpcdec) Instalação do K3b Instale o "K3b" executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_TESTING=OFF \ -Wno-dev .. && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) "root": make install Conteúdo Aplicativos Instalados: k3b Bibliotecas Instaladas: libk3bdevice.so, libk3blib.so e numerosos módulos de "plugin" para as dependências instaladas Diretórios Instalados: $KF5_PREFIX/share/{,kxmlgui5/}k3b e $KF5_PREFIX/share/doc/HTML/*/k3b Descrições Curtas k3b é o aplicativo gráfico de "CD"/"DVD" Outros pacotes do KDE5 Esta seção não fornece instruções para todos os pacotes disponíveis na Compilação de Logiciário do "KDE5". Os pacotes incluídos foram selecionados com base no que a maioria das pessoas gostaria de usar em um computador padrão de área de trabalho. Para uma lista completa dos pacotes disponíveis, dê uma olhada nos servidores do "KDE5" em [6977]https://download.kde.org/stable/release-service/23.08.0/src. Alguns pacotes adicionais que compensa mencionar são: * "Juk": Um reprodutor de música leve. * "Dragon": Um reprodutor de vídeo. * "Kcalc": Uma calculadora científica. * "Kwalletmanager": Um aplicativo de gerenciamento de credenciais. * "Marble": Um aplicativo de mapas globais. * Uma variedade (cerca de quarenta (40)) de jogos do "KDE", incluindo: "kpat", "kfourinline" e "kmines". Nota Alguns pacotes exigirão dependências adicionais. Para determinar quais dependências são necessárias, execute a partir do topo da árvore do fonte: cmake -Wno-dev -L . A maioria desses pacotes pode ser construída com as instruções padrão do "KDE5": mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_TESTING=OFF \ -Wno-dev .. && make E como o(a) usuário(a) "root": make install Capítulo 32. “Plasma” 5 do “KDE” "Plasma" 5 do "KDE" é um ambiente de área de trabalho construído usando o "Frameworks" 5 do "KDE" e "QML" que roda em cima de uma pilha de gráficos totalmente acelerada por "hardware" usando "Qt5", "QtQuick" 2 e um gráfico de cena "OpenGL(-ES)". Nenhuma configuração adicional é necessária antes de construir o "Plasma" 5 do "KDE" porque ele usa a mesma configuração que o "Frameworks" 5 do "KDE" usa. Construindo o “Plasma” 5 "Plasma" 5 do "KDE" é uma coleção de pacotes baseados no "Frameworks" 5 do "KDE" e "QML". Eles implementam o Ambiente de Exibição do "KDE" ("Plasma" 5). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. As instruções abaixo constroem todos os pacotes do "Plasma" 5 em uma etapa usando um conjunto de comandos sequenciais do "Bash". Informação do Pacote * Transferência (HTTP): [6978]https://download.kde.org/stable/plasma/5.27.7 * Transferência (FTP): * Soma de verificação MD5 da transferência: Veja-se Abaixo * Tamanho da transferência: 258 MB * Espaço em disco estimado exigido: 1,7 GB (419 MB instalado) * Tempo de construção estimado: 19 UPC (usando paralelismo = 4) Dependências do "Plasma" 5 Exigidas [6979]GTK+-2.24.33, [6980]GTK+-3.24.38, [6981]KDE Frameworks-5.109.0, [6982]kuserfeedback-1.2.0, [6983]libpwquality-1.4.5, [6984]libqalculate-4.7.0, [6985]libxkbcommon-1.5.0, [6986]Mesa-23.1.6 construído com [6987]Wayland-1.22.0, [6988]NetworkManager-1.44.0, [6989]pipewire-0.3.77, [6990]PulseAudio-16.1, [6991]qca-2.3.7, [6992]sassc-3.6.2, [6993]taglib-1.13.1 e [6994]xcb-util-cursor-0.1.4 Recomendadas [6995]fftw-3.3.10, [6996]gsettings-desktop-schemas-44.0, [6997]libdbusmenu-qt-0.9.3+16.04.20160218, [6998]libcanberra-0.30, [6999]libinput-1.23.0, [7000]libpcap-1.10.4, [7001]Linux-PAM-1.5.3, [7002]lm-sensors-3-6-0, [7003]oxygen-icons5-5.109.0 e [7004]pciutils-3.10.0 Recomendadas (tempo de execução) [7005]AccountsService-23.13.9, [7006]smartmontools-7.4 e [7007]Xwayland-23.2.0 Opcionais [7008]GLU-9.0.3, [7009]ibus-1.5.28, [7010]qtwebengine-5.15.15, [7011]Controlador Synaptics do Xorg-1.9.2, [7012]appstream-qt, [7013]KDevPlatform, [7014]libgps, [7015]libhybris, [7016]libraw1394, [7017]mockcpp, [7018]packagekit-qt, [7019]Qalculate, [7020]Qapt, [7021]SCIM e [7022]socat (para o "pam_kwallet") Nota [7023]qtwebengine-5.15.15 é exigido para aura-browser. Também é opcional para dois outros pacotes: libksysguard e kdeplasma-addons. Se QtWebEngine for instalado posteriormente, somente esses dois pacotes precisarão ser reconstruídos. Isso permite uma exibição mais completa no aplicativo de monitoramento do sistema. Observações de Editor(a): [7024]https://wiki.linuxfromscratch.org/blfs/wiki/kf5 Baixando o Plasma5 do KDE A maneira mais fácil de obter os pacotes do "Plasma5" do "KDE" é a de usar um "wget" para buscá-los todos de uma vez: url=https://download.kde.org/stable/plasma/5.27.7/ wget -r -nH -nd -A '*.xz' -np $url As opções usadas aqui são: -r recursar ao longo de diretórios descentes -nH desabilitar a geração de diretórios com prefixo de dispositivo -nd não crie uma hierarquia de diretórios -A '*.xz' apenas obter os arquivos *.xz -np não obtenha diretórios ancestrais Configurando a Ordem do Pacote A ordem de construção dos arquivos é importante devido às dependências internas. Crie a lista de arquivos na ordem correta conforme segue: cat > plasma-5.27.7.md5 << "EOF" f8e36636128efc0172b0664df372f350 kdecoration-5.27.7.tar.xz 0f40e7e4ef0675cf06afc828c6056821 libkscreen-5.27.7.tar.xz fdbbd274867d8013631eb66f889da983 libksysguard-5.27.7.tar.xz 6d0358ed7bbb27557c073cfce675120f breeze-5.27.7.tar.xz 7dac534103b595e861fb923e0a46af8a breeze-gtk-5.27.7.tar.xz 27839d93e7bf42bd8e6e9d822572a3d3 layer-shell-qt-5.27.7.tar.xz 56e13a523dc2b27dd2fe7d17cf87c427 kscreenlocker-5.27.7.tar.xz 1806b24c107c30a0144be0c58361c391 oxygen-5.27.7.tar.xz b3b25a757de32befe4c282ebc9b928c3 kinfocenter-5.27.7.tar.xz f992f11ed7704e94809f4a609b444074 kwin-5.27.7.tar.xz 5aa3a8e2e8c97b182cb15090f9149831 plasma-workspace-5.27.7.tar.xz 2b3c139e30eaaf4cf42706c9e6212ca5 plasma-disks-5.27.7.tar.xz a347a0848863114e96ca25868b1d2483 bluedevil-5.27.7.tar.xz 77731f7530552c096785e938554c5c0e kde-gtk-config-5.27.7.tar.xz 19a17f02655872c827380bd1fc485b50 khotkeys-5.27.7.tar.xz 4777cae88cb32e1dc77d6765f3cf17e3 kmenuedit-5.27.7.tar.xz a9618c0aa86cf8d0186e146aef644cd7 kscreen-5.27.7.tar.xz d75c043ef114b2b590f8ede12bb86a24 kwallet-pam-5.27.7.tar.xz 9c4ebb3d608c08c83b87a880b731ef11 kwayland-integration-5.27.7.tar.xz 2d04936cfcdb3da0ecab6b9c7f83339e kwrited-5.27.7.tar.xz ea10ad5ac86ad2a1f1c0dfdb28918ad8 milou-5.27.7.tar.xz 1640a01420f5885d87e55a3fc3ca8410 plasma-nm-5.27.7.tar.xz 24cdd5610e2b02c774486cdeaf0074f5 plasma-pa-5.27.7.tar.xz 4d941372e2a0ba9fe4a42a668dfd6aeb plasma-workspace-wallpapers-5.27.7.tar.xz 003d40545b13d58a2fa024236c92c18f polkit-kde-agent-1-5.27.7.tar.xz 2708af1b47a164321111220f3e3fb5f8 powerdevil-5.27.7.tar.xz 7f7d2bea26b4d825c9a6e8d57e400a4a plasma-desktop-5.27.7.1.tar.xz #b8f2c72d4d0ffd37573c1f949e8604aa plasma-desktop-5.27.7.tar.xz f66aefab6b7b3115ead7cf3966d6e2c6 kgamma5-5.27.7.tar.xz 614a24e70dfdcbf225047951d1bb35af ksshaskpass-5.27.7.tar.xz #8e9460adae337baab8d80da3422f9e34 plasma-sdk-5.27.7.1.tar.xz #69bcb008dc0c22bb9dad2f990778b46e plasma-sdk-5.27.7.5.27.7.1.tar.xz #cba2b18c587dff393bd232d61a35046d plasma-sdk-5.27.7.tar.xz 293fa8cd57834e07c719a055e2b47fbe sddm-kcm-5.27.7.tar.xz #7857d8972a9cc45cc3b672a6d5ff2b12 discover-5.27.7.tar.xz #9727481d29a7468420cb1a37a0b36e9e breeze-grub-5.27.7.tar.xz #157416774eb4bfc57a4e2caf4512f069 breeze-plymouth-5.27.7.tar.xz cdda9f9d374615768d8a324dae92ad1d kactivitymanagerd-5.27.7.tar.xz 3e8fd694b222d4d6c3d4e2b952099fb0 plasma-integration-5.27.7.tar.xz #7bd722f2799f4b1c562be46c5b2d0da1 plymouth-kcm-5.27.7.tar.xz 26e40eaf358dc02d71ab5cb511a5b3a8 xdg-desktop-portal-kde-5.27.7.tar.xz ce2a9be64095829d124d4f83c14a464c drkonqi-5.27.7.tar.xz 410818deea59fc12aa3ed155e350e931 plasma-vault-5.27.7.tar.xz 4636852897f802e64501fbae5e3dfb24 plasma-browser-integration-5.27.7.tar.xz 3febab89d2fca2e67271d5e35723d7be kde-cli-tools-5.27.7.tar.xz 799ec2ab0012e47d2b1660affe5f333e systemsettings-5.27.7.tar.xz fa9f2208c27d8a3e99c0cbb113087338 plasma-thunderbolt-5.27.7.tar.xz #c4dbf6737cc9d8d3396214d4bed14abf plasma-nano-5.27.7.tar.xz #74a1ec9c76b979fb8a3906204c93add4 plasma-mobile-5.27.7.tar.xz ca0a794b2d65c9c763d0f932b2bd9c1e plasma-firewall-5.27.7.tar.xz 4f3a9803e3741521b1867303b179670a plasma-systemmonitor-5.27.7.tar.xz 29fb63dc5c266b3fe0a2e849f1a1db28 qqc2-breeze-style-5.27.7.tar.xz 2e3689a958a72aa1a09aa6edf471ce11 ksystemstats-5.27.7.tar.xz 08434c4829aefd689c877fe84baa5ad6 oxygen-sounds-5.27.7.tar.xz #2b1b01328d062d6d9c3d92daaa26d13c aura-browser-5.27.7.tar.xz a32fedd93e3ecef504ea28ec27cbfd55 kdeplasma-addons-5.27.7.tar.xz 1d759ab0bb02f630385e4dc267aaef6e kpipewire-5.27.7.tar.xz 553afd4e952b601147ca868b7129303d plank-player-5.27.7.tar.xz 51ad32e45ad4a0f5291d1a9ce4efa0f2 plasma-bigscreen-5.27.7.tar.xz fb25df16ef388f7dbfc163911e7828be plasma-remotecontrollers-5.27.7.tar.xz #507a8d13920b160b4683b093e90f6088 flatpak-kcm-5.27.7.tar.xz #9eadbc5ec19e2122f81742e0f38941f7 plasma-welcome-5.27.7.tar.xz EOF Acerca de Pacotes Comentados Os pacotes breeze-grub, breeze-plymouth e plymouth-kcm acima são todos para suporte personalizado do [7025]Plymouth, que é projetado para ser executado em um disco RAM inicial durante a inicialização (veja-se [7026]“A respeito do initramfs”). O pacote plasma-sdk é opcional e usado para desenvolvimento de software. O pacote plasma-nano é usado para sistemas embarcados e o plasma-mobile fornece funcionalidade de telefone para o Plasma. O pacote aura-browser exige [7027]qtwebengine-5.15.15. O pacote de descoberta exige o pacote externo [7028]appstream-qt. O pacote plasma-welcome exige o pacote externo [7029]kaccounts-integration. O pacote flatpack-kcm é para gerenciar o suporte de aplicativos flatpack. Instalação do Plasma5 Nota Ao instalar vários pacotes em um conjunto de comandos sequenciais, a instalação precisa ser feita como o(a) usuário(a) root. Existem três opções gerais que podem ser usadas para fazer isso: 1. Executar o conjunto inteiro de comandos sequenciais como o(a) usuário(a) root (não recomendado). 2. Usar o comando sudo originário do pacote [7030]Sudo-1.9.14p3. 3. Usar su -c "argumentos do comando" (aspas exigidas) que solicitará a senha do(a) root para cada iteração do loop. Uma maneira de lidar com essa situação é a de se criar uma função curta do bash que selecione automaticamente o método apropriado. Depois que o comando for configurado no ambiente, ele não precisará ser configurado novamente. as_root() { if [ $EUID = 0 ]; then $* elif [ -x /usr/bin/sudo ]; then sudo $* else su -c \\"$*\\" fi } export -f as_root Primeiro, inicie um sub "shell" que sairá em caso de erro: bash -e Instale todos os pacotes executando os seguintes comandos: while read -r line; do # Obtenha o nome do arquivo, ignorando comentários e linhas em branco if $(echo $line | grep -E -q '^ *$|^#' ); then continue; fi file=$(echo $line | cut -d" " -f2) pkg=$(echo $file|sed 's|^.*/||') # Remove diretório packagedir=$(echo $pkg|sed 's|\.tar.*||') # Diretório do pacote tar -xf $file pushd $packagedir mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=$KF5_PREFIX \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_TESTING=OFF \ -Wno-dev .. && make as_root make install popd as_root rm -rf $packagedir as_root /sbin/ldconfig done < plasma-5.27.7.md5 exit Se você não configurou "$KF5_PREFIX" como "/usr", [então] crie links simbólicos para permitir que os gerenciadores de tela encontrem o "Plasma": as_root install -dvm 755 /usr/share/xsessions && cd /usr/share/xsessions/ && [ -e plasma.desktop ] || as_root ln -sfv $KF5_PREFIX/share/xsessions/plasma.desktop && as_root install -dvm 755 /usr/share/wayland-sessions && cd /usr/share/wayland-sessions/ && [ -e plasmawayland.desktop ] || as_root ln -sfv $KF5_PREFIX/share/wayland-sessions/plasmawayland.desktop Configurando o Plasma Configuração do “PAM” do Linux Se você construiu o "Plasma" com o suporte "Linux PAM" recomendado, [então] crie os necessários arquivos de configuração executando os seguintes comandos como o(a) usuário(a) "root": cat > /etc/pam.d/kde << "EOF" # Inicia /etc/pam.d/kde auth requisite pam_nologin.so auth required pam_env.so auth required pam_succeed_if.so uid >= 1000 quiet auth include system-auth account include system-account password include system-password session include system-session # Termina /etc/pam.d/kde EOF cat > /etc/pam.d/kde-np << "EOF" # Inicia /etc/pam.d/kde-np auth requisite pam_nologin.so auth required pam_env.so auth required pam_succeed_if.so uid >= 1000 quiet auth required pam_permit.so account include system-account password include system-password session include system-session # Termina /etc/pam.d/kde-np EOF cat > /etc/pam.d/kscreensaver << "EOF" # Inicia /etc/pam.d/kscreensaver auth include system-auth account include system-account # Termina /etc/pam.d/kscreensaver EOF Iniciando o Plasma5 Você consegue iniciar o "Plasma5" a partir de um "TTY", usando o "[7031]xinit-1.4.2". Para iniciar o "Plasma 5" usando o "[7032]xinit-1.4.2", execute os seguintes comandos: cat > ~/.xinitrc << "EOF" dbus-launch --exit-with-x11 $KF5_PREFIX/bin/startplasma-x11 EOF startx A sessão do "X" inicia no primeiro terminal virtual não usado, normalmente o "vt7". Você consegue comutar para outro "vtn" pressionando simultaneamente as teclas "Ctrl-Alt-Fn" (n=1, 2, ...). Para comutar de volta para a sessão do "X", normalmente iniciada no "vt7", use "Ctrl-Alt-F7". O "vt" onde o comando "startx" foi executado exibirá muitas mensagens, incluindo mensagens de iniciação do "X", aplicativos iniciados automaticamente com a sessão e, eventualmente, algumas mensagens de aviso e erro. Você possivelmente prefira redirecionar essas mensagens para um arquivo de registro, que não apenas manterá o "vt" inicial organizado, mas também poderá ser usado para fins de depuração. Isso pode ser feito iniciando-se o "X" com: startx &> ~/x-session-errors Ao desligar ou reinicializar, as mensagens de desligamento aparecem no "vt" onde o "X" estava executando. Se você deseja ver essas mensagens, [então] pressione simultaneamente as teclas "Alt-F7" (assumindo que o "X" estava executando no "vt7"). Conteúdo Aplicativos Instalados: Existem muitíssimos aplicativos do "Plasma" (sessenta e três (63) em "/opt/kf5/bin") para listar separadamente aqui. Bibliotecas Instaladas: Existem muitíssimas bibliotecas do "Plasma" (quarenta (40) em "/opt/kf5/lib") para listar separadamente aqui. Diretórios Instalados: Existem muitíssimos diretórios do "Plasma" (mais que mil (1000) em "/opt/kf5") para listar separadamente aqui. Parte VIII. GNOME Capítulo 33. Bibliotecas e Área de Trabalho do “GNOME” O objetivo desta seção é o construir uma área de trabalho do "GNOME". Bibliotecas Gcr-3.41.1 Introdução ao Gcr O pacote Gcr contém bibliotecas usadas para exibir certificados e acessar armazenamentos de chaves. Ele também fornece o visualizador para arquivos criptográficos na área de trabalho do GNOME. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [7033]https://download.gnome.org/sources/gcr/3.41/gcr-3.41.1.tar.xz * Transferência (FTP): [7034]ftp://ftp.acc.umu.se/pub/gnome/sources/gcr/3.41/gcr-3.41.1.ta r.xz * Soma de verificação MD5 da transferência: c1e98af977236255006e11e8f8cfbaca * Tamanho da transferência: 1008 KB * Espaço em disco estimado exigido: 33 MB (com os testes) * Tempo de construção estimado: 0,2 UPC (com testes; ambos usando paralelismo=4) Dependências do Gcr Exigidas [7035]GLib-2.76.4, [7036]libgcrypt-1.10.2 e [7037]p11-kit-0.25.0 Recomendadas [7038]GnuPG-2.4.3, [7039]gobject-introspection-1.76.1, [7040]GTK+-3.24.38, [7041]libsecret-0.21.0, [7042]libxslt-1.1.38 e [7043]Vala-0.56.11 Opcionais [7044]Gi-DocGen-2023.1 e [7045]Valgrind-3.21.0 Instalação do Gcr Instale o Gcr executando os seguintes comandos: sed -i 's:"/desktop:"/org:' schema/*.xml && mkdir build && cd build && meson setup --prefix=/usr \ --buildtype=release \ -Dgtk_doc=false \ .. && ninja Se você tiver o [7046]Gi-DocGen-2023.1 instalado e desejar construir a documentação da API para esse pacote, emita: sed -e "/install_dir/s@,\$@ / 'gcr-3.41.1'&@" \ -e "/fatal-warnings/d" \ -i ../docs/*/meson.build && meson configure -Dgtk_doc=true && ninja Para testar os resultados, emita: ninja test. Os testes precisam ser executados a partir de um Terminal do X ou similar. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dgtk=false: Use essa chave se você não tiver instalado o [7047]GTK+-3.24.38. Observe que o gcr-viewer não será instalado se isso for passado para o meson. -Dgtk_doc=true: Permite construir esse pacote sem [7048]Gi-DocGen-2023.1 instalado. Se você tiver o [7049]Gi-DocGen-2023.1 instalado e desejar reconstruir e instalar a documentação da API, um comando meson configure reconfigurará essa opção. Conteúdo Aplicativo Instalado: gcr-viewer Bibliotecas Instaladas: libgck-1.so, libgcr-base-3.so e libgcr-ui-3.so Diretórios Instalados: /usr/include/gck-1, /usr/include/gcr-3 e /usr/share/gtk-doc/html/{gcr,gck} Descrições Curtas gcr-viewer é usado para visualizar certificados e arquivos de chave libgck-1.so contém ligações GObject para PKCS#11 Gcr-4.1.0 Introdução ao Gcr O pacote Gcr contém bibliotecas usadas para exibir certificados e acessar armazenamentos de chaves. Ele também fornece o visualizador para arquivos criptográficos na área de trabalho do GNOME. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [7050]https://download.gnome.org/sources/gcr/4.1/gcr-4.1.0.tar.xz * Transferência (FTP): [7051]ftp://ftp.acc.umu.se/pub/gnome/sources/gcr/4.1/gcr-4.1.0.tar. xz * Soma de verificação MD5 da transferência: bb2e957f0ce11a8c527d1d5079ba485f * Tamanho da transferência: 708 KB * Espaço em disco estimado exigido: 22 MB (com testes) * Tempo de construção estimado: 0,1 UPC (com testes; ambos usando paralelismo=4) Dependências do Gcr Exigidas [7052]GLib-2.76.4, [7053]libgcrypt-1.10.2 e [7054]p11-kit-0.25.0 Recomendadas [7055]GnuPG-2.4.3, [7056]gobject-introspection-1.76.1, [7057]GTK-4.12.0, [7058]libsecret-0.21.0, [7059]libxslt-1.1.38 e [7060]Vala-0.56.11 Opcionais [7061]Gi-DocGen-2023.1 e [7062]Valgrind-3.21.0 Instalação do Gcr Nota Ambos, gcr-3 e gcr-4, são co instaláveis. Essa versão do pacote é usada para suportar aplicativos GTK-4, como o [7063]gnome-shell-44.3e [7064]Epiphany-44.6. Instale o Gcr executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr \ --buildtype=release \ -Dgtk_doc=false \ .. && ninja Se você tiver o [7065]Gi-DocGen-2023.1 instalado e desejar construir a documentação da API para esse pacote, emita: sed -e "/install_dir/s@,\$@ / 'gcr-4.1.0'&@" \ -e "/fatal-warnings/d" \ -i ../docs/*/meson.build && meson configure -Dgtk_doc=true && ninja Para testar os resultados, emita: ninja test. Os testes precisam ser executados a partir de um Terminal do X ou similar. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dgtk=false: Use essa chave se você não tiver instalado o [7066]GTK-4.12.0. Observe que o gcr-viewer não será instalado se isso for passado para o meson. -Dgtk_doc=true: Permite construir esse pacote sem [7067]Gi-DocGen-2023.1 instalado. Se você tiver o [7068]Gi-DocGen-2023.1 instalado e desejar reconstruir e instalar a documentação da API, um comando meson configure reconfigurará essa opção. Conteúdo Aplicativo Instalado: gcr-viewer-gtk4 Bibliotecas Instaladas: libgck-2.so, libgcr-4.so Diretórios Instalados: /usr/include/gck-2, /usr/include/gcr-4 e /usr/share/gtk-doc/html/{gcr,gck} Descrições Curtas gcr-viewer-gtk4 é usado para visualizar certificados e arquivos de chave libgck-2.so contém ligações GObject para PKCS#11 libgcr-4.so contém funções para acessar armazenamentos de chaves e exibir certificados gsettings-desktop-schemas-44.0 Introdução ao GSettings Desktop Schemas O pacote GSettings Desktop Schemas contém uma coleção de esquemas GSettings para configurações compartilhadas por vários componentes de uma Área de Trabalho do GNOME. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [7069]https://download.gnome.org/sources/gsettings-desktop-schemas/ 44/gsettings-desktop-schemas-44.0.tar.xz * Transferência (FTP): [7070]ftp://ftp.acc.umu.se/pub/gnome/sources/gsettings-desktop-sche mas/44/gsettings-desktop-schemas-44.0.tar.xz * Soma de verificação MD5 da transferência: bfb5047307ce2cc8718ee584fd4cb2bd * Tamanho da transferência: 724 KB * Espaço em disco estimado exigido: 20 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do GSettings Desktop Schemas Exigidas [7071]gobject-introspection-1.76.1 Instalação do GSettings Desktop Schemas Instale o GSettings Desktop Schemas executando os seguintes comandos: sed -i -r 's:"(/system):"/org/gnome\1:g' schemas/*.in && mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: ninja install Nota Se você instalou o pacote em teu sistema usando um método “DESTDIR”, /usr/share/glib-2.0/schemas/gschemas.compiled não foi atualizado/criado. Crie (ou atualize) o arquivo usando o seguinte comando como o(a) usuário(a) root: glib-compile-schemas /usr/share/glib-2.0/schemas Explicações do Comando sed ... schemas/*.in: Esse comando corrige algumas entradas obsoletas nos modelos de esquema. Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretório Instalado: /usr/include/gsettings-desktop-schemas e /usr/share/GConf/gsettings libsecret-0.21.0 Introdução ao libsecret O pacote libsecret contém uma biblioteca baseada em GObject para acessar a API de Serviço Secreto. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [7072]https://download.gnome.org/sources/libsecret/0.21/libsecret-0 .21.0.tar.xz * Transferência (FTP): [7073]ftp://ftp.acc.umu.se/pub/gnome/sources/libsecret/0.21/libsecr et-0.21.0.tar.xz * Soma de verificação MD5 da transferência: 212af4c882ce7e29d15d50c880afc4a8 * Tamanho da transferência: 188 KB * Espaço em disco estimado exigido: 12 MB (com testes) * Tempo de construção estimado: 0,4 UPC (com testes) Dependências do libsecret Exigidas [7074]GLib-2.76.4 Recomendadas [7075]gobject-introspection-1.76.1, [7076]libgcrypt-1.10.2 e [7077]Vala-0.56.11 Opcionais [7078]Gi-DocGen-2023.1 e [7079]docbook-xml-4.5, [7080]docbook-xsl-nons-1.79.2, [7081]libxslt-1.1.38 (para construir páginas de manual) e [7082]Valgrind-3.21.0 (pode ser usado em testes) Opcionais (exigidas para a suíte de teste) [7083]D-Bus Python-1.3.2, [7084]Gjs-1.76.2, [7085]PyGObject-3.44.1 (módulo do Python 3) e [7086]tpm2-tss Dependência de Tempo de Execução [7087]gnome-keyring-42.1 Nota Qualquer pacote que exija a libsecret espera que o GNOME Keyring esteja presente em tempo de execução. Instalação do libsecret Instale o libsecret executando os seguintes comandos: mkdir bld && cd bld && meson setup --prefix=/usr \ --buildtype=release \ -Dgtk_doc=false \ .. && ninja Se você tiver o [7088]Gi-DocGen-2023.1 instalado e desejar construir a documentação da API para esse pacote, emita: sed "s/api_version_major/'0.20.5'/" \ -i ../docs/reference/libsecret/meson.build && meson configure -Dgtk_doc=true && ninja Agora, como o(a) usuário(a) root: ninja install Para testar os resultados, emita: dbus-run-session ninja test. Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dgtk_doc=false: Permite construir esse pacote sem [7089]Gi-DocGen-2023.1 instalado. Se você tiver o [7090]Gi-DocGen-2023.1 instalado e desejar reconstruir e instalar a documentação da API, um comando meson configure reconfigurará essa opção. -Dmanpage=false: Use essa chave se você não tiver instalado os pacotes [7091]libxslt-1.1.38 e DocBook. -Dgcrypt=false: Use essa chave se você não tiver instalado a dependência recomendada da [7092]libgcrypt-1.10.2. Conteúdo Aplicativo Instalado: secret-tool Biblioteca Instalada: libsecret-1.so Diretórios Instalados: /usr/include/libsecret-1 e /usr/share/doc/libsecret-0.21.0 Descrições Curtas secret-tool é uma ferramenta de linha de comando que pode ser usada para armazenar e recuperar senhas libsecret-1.so contém as funções da API da libsecret rest-0.9.1 Introdução ao rest O pacote rest contém uma biblioteca que foi projetada para tornar mais fácil acessar serviços web que afirmam ser "RESTful". Inclui envolucradores convenientes para libsoup e libxml para facilitar o uso remoto da API RESTful. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [7093]https://download.gnome.org/sources/rest/0.9/rest-0.9.1.tar.xz * Transferência (FTP): [7094]ftp://ftp.acc.umu.se/pub/gnome/sources/rest/0.9/rest-0.9.1.ta r.xz * Soma de verificação MD5 da transferência: b997b83232be3814a1b78530c5700df9 * Tamanho da transferência: 72 KB * Espaço em disco estimado exigido: 3,2 MB (com os testes) * Tempo de construção estimado: 0,1 UPC (com os testes) Dependências do rest Exigidas [7095]JSON-GLib-1.6.6, [7096]libsoup-3.4.2 e [7097]make-ca-1.12 Recomendadas [7098]gobject-introspection-1.76.1 Opcionais [7099]Gi-DocGen-2023.1, [7100]libadwaita-1.3.4 e [7101]gtksourceview5-5.8.0 (para construir a demonstração) e [7102]Vala-0.56.11 Instalação do rest Instale o rest executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr \ --buildtype=release \ -Dexamples=false \ -Dgtk_doc=false \ .. && ninja Se você tiver o [7103]Gi-DocGen-2023.1 instalado e desejar construir a documentação da API para esse pacote, emita: sed "/output/s/librest-1.0/rest-0.9.1/" -i ../docs/meson.build && meson configure -Dgtk_doc=true && ninja Para testar os resultados, emita: ninja test. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dgtk_doc=false: Permite construir esse pacote sem [7104]Gi-DocGen-2023.1 instalado. Se você tiver o [7105]Gi-DocGen-2023.1 instalado e desejar reconstruir e instalar a documentação da API, um comando meson configure reconfigurará essa opção. -Dexamples=false: Remova essa opção se [7106]libadwaita-1.3.4 e [7107]gtksourceview5-5.8.0 estiverem instalados e você desejar construir o aplicativo de demonstração fornecido por esse pacote. -Dvapi=true: Use essa chave se [7108]Vala-0.56.11 estiver instalado e você desejar construir as ligações Vala fornecidas por esse pacote. Conteúdo Aplicativos Instalados: librest-demo (opcional) Bibliotecas Instaladas: librest-1.0.so e librest-extras-1.0.so Diretórios Instalados: /usr/include/rest-1.0 e /usr/share/gtk-doc/html/rest-1.0 Descrições Curtas librest-demo fornece um exemplo de como usar as funções de consulta da API da Web RESTful librest-1.0.so contém as funções de consulta da API da Web RESTful librest-extras-1.0.so contém funções extras de consulta da API da Web RESTful totem-pl-parser-3.26.6 Introdução ao Totem PL Parser O pacote Totem PL Parser contém uma biblioteca simples baseada em GObject usada para analisar vários formatos de lista de reprodução. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [7109]https://download.gnome.org/sources/totem-pl-parser/3.26/totem -pl-parser-3.26.6.tar.xz * Transferência (FTP): [7110]ftp://ftp.acc.umu.se/pub/gnome/sources/totem-pl-parser/3.26/t otem-pl-parser-3.26.6.tar.xz * Soma de verificação MD5 da transferência: 69dc2cf0e61e6df71ed45156b24b14da * Tamanho da transferência: 1,4 MB * Espaço em disco estimado exigido: 9,6 MB (com os testes) * Tempo de construção estimado: 0,1 UPC (com os testes) Dependências do Totem PL Parser Recomendadas [7111]gobject-introspection-1.76.1, [7112]libarchive-3.7.1 e [7113]libgcrypt-1.10.2 Opcionais [7114]CMake-3.27.2, [7115]GTK-Doc-1.33.2, [7116]Gvfs-1.50.6 (para alguns testes), [7117]LCOV e [7118]libquvi >= 0.9.1 e libquvi-scripts - se eles estiverem instalados, então [7119]lua-socket (git) é necessário para os testes Nota Uma conexão com a Internet é necessária para alguns testes desse pacote. Instalação do Totem PL Parser Instale o Totem PL Parser executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Para testar os resultados, emita: ninja test. O teste chamado parser é conhecido por falhar. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libtotem-plparser-mini.so e libtotem-plparser.so Diretórios Instalados: /usr/include/totem-pl-parser e /usr/share/gtk-doc/html/totem-pl-parser Descrições Curtas libtotem-plparser.so é a biblioteca do analisador de lista de reprodução do Totem libtotem-plparser-mini.so é a biblioteca do analisador de lista de reprodução do Totem, versão mini VTE-0.72.2 Introdução ao VTE O pacote VTE contém uma implementação de arquivo termcap para emuladores de terminal. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [7120]https://gitlab.gnome.org/GNOME/vte/-/archive/0.72.2/vte-0.72. 2.tar.gz * Transferência (FTP): * Soma de verificação MD5 da transferência: 1954cae9b70ce35bdf1f383b4ddc7d32 * Tamanho da transferência: 620 KB * Espaço em disco estimado exigido: 16 MB (com testes) * Tempo de construção estimado: 0,3 UPC (usando paralelismo = 4; com testes) Dependências do VTE Exigidas [7121]GTK+-3.24.38, [7122]libxml2-2.10.4 e [7123]pcre2-10.42 Recomendadas [7124]ICU-73.2, [7125]GnuTLS-3.8.1, [7126]gobject-introspection-1.76.1 e [7127]Vala-0.56.11 Opcionais [7128]FriBidi-1.0.13, [7129]Gi-DocGen-2023.1 e [7130]GTK-4.12.0 Instalação do VTE Instale o VTE executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release -Dfribidi=false .. && ninja Se você tiver o [7131]Gi-DocGen-2023.1 instalado e desejar construir a documentação da API para esse pacote, emita: sed -e "/docdir =/s@\$@/ 'vte-0.72.2'@" \ -e "/fatal-warnings/d" \ -i ../doc/reference/meson.build && meson configure -Ddocs=true && ninja Para testar os resultados, emita: ninja test. Agora, como o(a) usuário(a) root: ninja install && rm -v /etc/profile.d/vte.* Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. rm -v /etc/profile.d/vte.*: Esse comando remove dois arquivos instalados em /etc/profile.d que não tem uso em um sistema LFS. -Dfribidi=false: Omita essa chave se você desejar habilitar recursos bidirecionais. -Dgnutls=false: Adicione essa chave se você não quiser habilitar o suporte GnuTLS. -Dvapi=false: Adicione essa chave se você não quiser habilitar ligações Vala. -Dgtk4=true: Adicione essa chave para construir a pequena engenhoca GTK4. Conteúdo Aplicativo Instalado: vte-2.91 Biblioteca Instalada: libvte-2.91.so Diretórios Instalados: /usr/include/vte-2.91 e (opcional) /usr/share/doc/vte-0.72.2 Descrições Curtas vte-2.91 é um aplicativo de teste para as bibliotecas do VTE libvte-2.91.so é uma biblioteca que implementa uma pequena engenhoca de emulador de terminal para o GTK+ 3 yelp-xsl-42.1 Introdução ao Yelp XSL O pacote Yelp XSL contém folhas de estilo XSL que são usadas pelo navegador de ajuda do Yelp para formatar documentos Docbook e Mallard. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [7132]https://download.gnome.org/sources/yelp-xsl/42/yelp-xsl-42.1. tar.xz * Transferência (FTP): [7133]ftp://ftp.acc.umu.se/pub/gnome/sources/yelp-xsl/42/yelp-xsl-4 2.1.tar.xz * Soma de verificação MD5 da transferência: c41858c78e34bb8b68a535657a3e15d9 * Tamanho da transferência: 652 KB * Espaço em disco estimado exigido: 10 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do Yelp XSL Exigidas [7134]libxslt-1.1.38 e [7135]itstool-2.0.7 Instalação do Yelp XSL Instale o Yelp XSL executando os seguintes comandos: ./configure --prefix=/usr Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretório Instalado: /usr/share/yelp-xsl GConf-3.2.6 Introdução ao GConf O pacote GConf contém um sistema de base de dados de configuração usado por muitos aplicativos GNOME. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [7136]https://download.gnome.org/sources/GConf/3.2/GConf-3.2.6.tar. xz * Transferência (FTP): [7137]ftp://ftp.acc.umu.se/pub/gnome/sources/GConf/3.2/GConf-3.2.6. tar.xz * Soma de verificação MD5 da transferência: 2b16996d0e4b112856ee5c59130e822c * Tamanho da transferência: 1,5 MB * Espaço em disco estimado exigido: 45 MB * Tempo de construção estimado: 0,3 UPC Dependências do GConf Exigidas [7138]dbus-glib-0.112 e [7139]libxml2-2.10.4 Recomendadas [7140]gobject-introspection-1.76.1, [7141]GTK+-3.24.38 e [7142]Polkit-123 Opcionais [7143]OpenLDAP-2.6.6 Instalação do GConf Instale o GConf executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc \ --disable-orbit \ --disable-static && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install && ln -s gconf.xml.defaults /etc/gconf/gconf.xml.system Explicações do Comando --disable-orbit: Essa chave é exigida se ORBit2 não estiver instalado. ORBit2 é um pacote obsoleto. --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativos Instalados: gconf-merge-tree, gconftool-2, gsettings-data-convert e gsettings-schema-convert Bibliotecas Instaladas: libgconf-2.so e libgsettingsgconfbackend.so (Módulo GIO instalado em /usr/lib/gio/modules) Diretórios Instalados: /etc/gconf, /usr/include/gconf, /usr/lib/GConf, /usr/share/gtk-doc/html/gconf e /usr/share/sgml/gconf Descrições Curtas gconf-merge-tree mescla uma hierarquia de sistema de arquivos XML gconftool-2 é uma ferramenta de linha de comando usada para manipular a base de dados do GConf gsettings-data-convert lê valores da base de dados de usuários(as) do GConf e os armazena em GSettings gsettings-schemas-convert converte entre os formatos de arquivo de esquema GConf e GSettings libgconf-2.so fornece as funções necessárias para manter a base de dados de configuração geocode-glib-3.26.4 Introdução ao Geocode GLib O Geocode GLib é uma biblioteca conveniente para as APIs do Yahoo! Place Finder. O serviço da web Place Finder permite fazer geocodificação (encontrar longitude e latitude a partir de um endereço) e geocodificação reversa (encontrar um endereço a partir de coordenadas). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [7144]https://download.gnome.org/sources/geocode-glib/3.26/geocode- glib-3.26.4.tar.xz * Transferência (FTP): [7145]ftp://ftp.acc.umu.se/pub/gnome/sources/geocode-glib/3.26/geoc ode-glib-3.26.4.tar.xz * Soma de verificação MD5 da transferência: 4c0dcdb7ee1222435b20acd3d7b68cd1 * Tamanho da transferência: 76 KB * Espaço em disco estimado exigido: 4,6 MB (com os testes) * Tempo de construção estimado: 0,1 UPC (com os testes) Dependências do Geocode GLib Exigidas [7146]JSON-GLib-1.6.6 e [7147]libsoup-3.4.2 Recomendadas [7148]gobject-introspection-1.76.1 Opcionais [7149]GTK-Doc-1.33.2 Instalação do Geocode GLib Instale o Geocode GLib executando os seguintes comandos: mkdir build && cd build && meson setup --prefix /usr \ --buildtype=release \ -Denable-gtk-doc=false \ -Dsoup2=false \ .. && ninja Para testar os resultados, emita: LANG=C ninja test. Um teste falha porque precisa da localidade sv_SE.utf8, que não é instalado por padrão no LFS. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Denable-gtk-doc=false: Permite que esse pacote seja construído sem o [7150]GTK-Doc-1.33.2. Remova esse parâmetro se o [7151]GTK-Doc-1.33.2 estiver instalado e você desejar reconstruir e instalar a documentação da API. -Dsoup2=false: Essa chave força esse pacote a usar a libsoup-3 para solicitações HTTP em vez da libsoup-2. Os pacotes no BLFS que usam geocode-glib agora esperam que a libsoup-3 seja usada. Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: libgeocode-glib-2.so Diretórios Instalados: /usr/include/geocode-glib-2.0, /usr/libexec/installed-tests/geocode-glib, /usr/share/icons/gnome/scalable/places e /usr/share/gtk-doc/html/geocode-glib Descrições Curtas libgeocode-glib-2.so contém as funções da API do Geocode GLib Gjs-1.76.2 Introdução ao Gjs Gjs é um conjunto de ligações Javascript para GNOME. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [7152]https://download.gnome.org/sources/gjs/1.76/gjs-1.76.2.tar.xz * Transferência (FTP): [7153]ftp://ftp.acc.umu.se/pub/gnome/sources/gjs/1.76/gjs-1.76.2.ta r.xz * Soma de verificação MD5 da transferência: 0dd8d901d88cb4907791256f1cced8d5 * Tamanho da transferência: 631 KB * Espaço em disco estimado exigido: 240 MB (com testes) * Tempo de construção estimado: 0,3 UPC (com testes; com paralelismo=4) Dependências do Gjs Exigidas [7154]Cairo-1.17.6, [7155]dbus-1.14.8, [7156]gobject-introspection-1.76.1 e [7157]JS-102.13.0 Recomendadas (exigidas para GNOME) [7158]GTK+-3.24.38 e [7159]GTK-4.12.0 Opcionais [7160]sysprof-3.48.0, [7161]Valgrind-3.21.0 (para testes), [7162]DTrace, [7163]LCOV e [7164]Systemtap Instalação do Gjs Instale o Gjs executando os seguintes comandos: mkdir gjs-build && cd gjs-build && meson setup --prefix=/usr \ --buildtype=release \ --wrap-mode=nofallback \ .. && ninja Para testar os resultados, emita: ninja test. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. --wrap-mode=nofallback: Essa chave impede que o meson use substitutos de subprojeto para quaisquer declarações de dependência nos arquivos de construção, impedindo-o de baixar qualquer dependência opcional que não esteja instalada no sistema. -Dprofiler=disabled: evita a construção da estrutura de retaguarda do perfilador, mesmo se o [7165]sysprof-3.48.0 estiver instalado. Conteúdo Aplicativos Instalados: gjs (link simbólico) e gjs-console Biblioteca Instalada: libgjs.so Diretórios Instalados: /usr/include/gjs-1.0, /usr/lib/gjs, /usr/libexec/installed-tests/gjs, /usr/share/gjs-1.0 e /usr/share/installed-tests/gjs Descrições Curtas gjs-console contém um console para executar comandos JavaScript libgjs.so contém as ligações JavaScript do GNOME gnome-autoar-0.4.4 Introdução ao gnome-autoar O pacote gnome-autoar fornece uma estrutura para extração, compactação e gerenciamento automático de arquivamentos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [7166]https://download.gnome.org/sources/gnome-autoar/0.4/gnome-aut oar-0.4.4.tar.xz * Transferência (FTP): [7167]ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-autoar/0.4/gnome -autoar-0.4.4.tar.xz * Soma de verificação MD5 da transferência: ac1a423f861ed5765a5d03251c00746d * Tamanho da transferência: 52 KB * Espaço em disco estimado exigido: 2,7 MB * Tempo de construção estimado: 0,1 UPC Dependências do gnome-autoar Exigidas [7168]libarchive-3.7.1 e [7169]GTK+-3.24.38 Recomendadas [7170]Vala-0.56.11 Opcionais [7171]GTK-Doc-1.33.2 (para construir documentação) Instalação do gnome-autoar Instale o gnome-autoar executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr \ --buildtype=release \ -Dvapi=true \ -Dtests=true \ .. && ninja Para testar os resultados, emita: ninja test Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dgtk_doc=true: Use esse parâmetro se o GTK-Doc estiver instalado e você desejar reconstruir e instalar a documentação da API. Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libgnome-autoar-0.so e libgnome-autoar-gtk-0.so Diretórios Instalados: /usr/include/gnome-autoar-0 e /usr/share/gtk-doc/html/gnome-autoar Descrições Curtas libgnome-autoar-0.so fornece funções de API para gerenciamento automático de arquivamentos libgnome-autoar-gtk-0.so fornece pequenas engenhocas GTK+ para auxiliar no gerenciamento automático de arquivamentos gnome-desktop-44.0 Introdução ao GNOME Desktop O pacote GNOME Desktop contém uma biblioteca que fornece uma API compartilhada por vários aplicativos na Área de Trabalho do GNOME. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [7172]https://download.gnome.org/sources/gnome-desktop/44/gnome-des ktop-44.0.tar.xz * Transferência (FTP): [7173]ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-desktop/44/gnome -desktop-44.0.tar.xz * Soma de verificação MD5 da transferência: 1f0b7281e462d6dfc8d3888fdaafd2ba * Tamanho da transferência: 748 KB * Espaço em disco estimado exigido: 22 MB * Tempo de construção estimado: 0,2 UPC Dependências do GNOME Desktop Exigidas [7174]gsettings-desktop-schemas-44.0, [7175]GTK+-3.24.38, [7176]GTK-4.12.0, [7177]ISO Codes-4.15.0, [7178]itstool-2.0.7, [7179]libseccomp-2.5.4, [7180]libxml2-2.10.4 e [7181]xkeyboard-config-2.39 Recomendadas [7182]bubblewrap-0.8.0 (necessário para miniaturizadores no Nautilus) e [7183]gobject-introspection-1.76.1 Opcionais [7184]GTK-Doc-1.33.2 Instalação do GNOME Desktop Instale o GNOME Desktop executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr \ --buildtype=release \ .. && ninja Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dgtk_doc=true: Use esse parâmetro se você desejar construir a documentação da API. -Dinstalled_tests=true: Use esse parâmetro se você desejar habilitar os testes instalados. Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: libgnome-bg-4.so, libgnome-desktop-3.so, libgnome-desktop-4.so e libgnome-rr-4.so Diretórios Instalados: /usr/include/gnome-desktop-3.0, /usr/include/gnome-desktop-4.0, /usr/libexec/gnome-desktop-debug, /usr/share/gtk-doc/html/gnome-desktop3 (opcional) e /usr/share/help/*/{fdl,gpl,lgpl} Descrições Curtas libgnome-desktop-3.so contém funções compartilhadas por vários aplicativos GNOME gnome-menus-3.36.0 Introdução ao GNOME Menus O pacote GNOME Menus contém uma implementação do rascunho [7185]Especificação do Menu da Área de Trabalho proveniente de freedesktop.org. Ele também contém os arquivos de configuração de esquema de menu do GNOME e os arquivos .directory. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [7186]https://download.gnome.org/sources/gnome-menus/3.36/gnome-men us-3.36.0.tar.xz * Transferência (FTP): [7187]ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-menus/3.36/gnome -menus-3.36.0.tar.xz * Soma de verificação MD5 da transferência: a8fd71fcf31a87fc799d80396a526829 * Tamanho da transferência: 492 KB * Espaço em disco estimado exigido: 8,5 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do GNOME Menus Exigidas [7188]GLib-2.76.4 Recomendadas [7189]gobject-introspection-1.76.1 Instalação do GNOME Menus Instale o GNOME Menus executando os seguintes comandos: ./configure --prefix=/usr \ --sysconfdir=/etc \ --disable-static && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libgnome-menu-3.so Diretórios Instalados: /etc/xdg/menus, /usr/include/gnome-menus-3.0 e /usr/share/desktop-directories Descrições Curtas libgnome-menu-3.so contém funções exigidas para suportar a implementação do GNOME da Especificação do Menu da Área de Trabalho gnome-video-effects-0.6.0 Introdução ao GNOME Video Effects O pacote GNOME Video Effects contém uma coleção de efeitos GStreamer. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [7190]https://download.gnome.org/sources/gnome-video-effects/0.6/gn ome-video-effects-0.6.0.tar.xz * Transferência (FTP): [7191]ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-video-effects/0. 6/gnome-video-effects-0.6.0.tar.xz * Soma de verificação MD5 da transferência: dd2b93c3da1aad22a2e3e3e44402f3d6 * Tamanho da transferência: 92 KB * Espaço em disco estimado exigido: 1,8 MB * Tempo de construção estimado: menos que 0,1 UPC Instalação do GNOME Video Effects Instale o GNOME Video Effects executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: ninja install Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretório Instalado: /usr/share/gnome-video-effects gnome-online-accounts-3.48.0 Introdução ao GNOME Online Accounts O pacote GNOME Online Accounts contém uma estrutura usada para acessar as contas online de usuário(a). Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [7192]https://download.gnome.org/sources/gnome-online-accounts/3.48 /gnome-online-accounts-3.48.0.tar.xz * Transferência (FTP): [7193]ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-online-accounts/ 3.48/gnome-online-accounts-3.48.0.tar.xz * Soma de verificação MD5 da transferência: 9406339e88caf9ecd11191f96b6cc10e * Tamanho da transferência: 376 KB * Espaço em disco estimado exigido: 14 MB * Tempo de construção estimado: 0,2 UPC Dependências do GNOME Online Accounts Exigidas [7194]Gcr-3.41.1, [7195]JSON-GLib-1.6.6, [7196]rest-0.9.1, [7197]Vala-0.56.11 e [7198]WebKitGTK-2.41.91 Recomendadas [7199]gobject-introspection-1.76.1 Opcionais [7200]GTK-Doc-1.33.2, [7201]MIT Kerberos V5-1.21.2 e [7202]Valgrind-3.21.0 Instalação do GNOME Online Accounts Nota A Chave de API do Google e os tokens OAuth abaixo são específicos do LFS. Se usar estas instruções para outra distribuição ou se você pretende distribuir cópias binárias do logiciário usando estas instruções, por favor, obtenha as tuas próprias chaves seguindo as instruções localizadas em [7203]https://www.chromium.org/developers/how-tos/api-keys. Instale o GNOME Online Accounts executando os seguintes comandos: mkdir build && cd build && meson setup \ --prefix=/usr \ --buildtype=release \ -Dkerberos=false \ -Dgoogle_client_secret=5ntt6GbbkjnTVXx-MSxbmx5e \ -Dgoogle_client_id=595013732528-llk8trb03f0ldpqq6nprjp1s79596646.apps.goog leusercontent.com \ .. && ninja Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dgoogle_*: Essas chaves configuram o ID e o segredo do OAuth do BLFS para os serviços do Google. -Dgtk_doc=true: Use essa chave se você tiver o [7204]GTK-Doc-1.33.2 instalado e desejar gerar a documentação da API. -Dkerberos=true: Use essa chave se você tiver instalado o [7205]MIT Kerberos V5-1.21.2 e deseja usá-lo com o GNOME Online Accounts. Conteúdo Aplicativos Instalados: goa-daemon e goa-identity-service (executáveis de biblioteca) Bibliotecas Instaladas: libgoa-1.0.so e libgoa-backend-1.0.so Diretórios Instalados: /usr/include/goa-1.0, /usr/lib/goa-1.0 e /usr/share/gtk-doc/html/goa (opcional) Descrições Curtas goa-daemon é o Processo de Segundo Plano do GNOME Online Accounts libgoa-1.0.so contém as funções da API do GNOME Online Accounts libgoa-backend-1.0.so contém funções usadas pelas estruturas de retaguarda do GNOME Online Accounts Grilo-0.3.16 Introdução ao Grilo Grilo é uma estrutura focada em facilitar a descoberta e navegação de mídia para aplicativos e desenvolvedores(as) de aplicativos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [7206]https://download.gnome.org/sources/grilo/0.3/grilo-0.3.16.tar .xz * Transferência (FTP): [7207]ftp://ftp.acc.umu.se/pub/gnome/sources/grilo/0.3/grilo-0.3.16 .tar.xz * Soma de verificação MD5 da transferência: e81c4d7e182eb6448b9f0458f52511a3 * Tamanho da transferência: 236 KB * Espaço em disco estimado exigido: 13 MB (com testes) * Tempo de construção estimado: 0,2 UPC (com testes) Dependências do Grilo Exigidas [7208]GLib-2.76.4 e [7209]libxml2-2.10.4 Recomendadas [7210]gobject-introspection-1.76.1, [7211]GTK+-3.24.38, [7212]libsoup-3.4.2, [7213]totem-pl-parser-3.26.6 e [7214]Vala-0.56.11 Opcionais [7215]DocBook-utils-0.6.14, [7216]liboauth-1.0.3 e [7217]GTK-Doc-1.33.2 Instalação do Grilo Instale o Grilo executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr \ --buildtype=release \ -Denable-gtk-doc=false \ .. && ninja Para testar os resultados, emita: ninja test. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Denable-gtk-doc=false: Essa opção desabilita a geração de documentação. Se você tiver o [7218]GTK-Doc-1.33.2 instalado e desejar gerar documentação, remova essa opção. Conteúdo Aplicativos Instalados: grilo-test-ui-0.3, grl-inspect-0.3 e grl-launch-0.3 Bibliotecas Instaladas: libgrilo-0.3.so, libgrlnet-0.3.so e libgrlpls-0.3.so Diretórios Instalados: /usr/include/grilo-0.3 Descrições Curtas grilo-test-ui-0.3 é um aplicativo simples de recreio que você consegue usar para testar a estrutura essencial de suporte e plugins dela grl-inspect-0.3 é uma ferramenta que imprime informações a respeito das fontes disponíveis Grilo grl-launch-0.3 é uma ferramenta para executar operações Grilo a partir da linha de comando libgrilo.so fornece a estrutura essencial de suporte Grilo libgrlnet.so fornece ajudantes de rede de intercomunicação Grilo para plug-ins libgrlpls.so fornece funções de manuseio de lista de reprodução libchamplain-0.12.21 Introdução ao libchamplain O pacote libchamplain contém uma pequena engenhoca baseada em Clutter que é usada para exibir mapas ricos e interativos. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [7219]https://download.gnome.org/sources/libchamplain/0.12/libchamp lain-0.12.21.tar.xz * Transferência (FTP): [7220]ftp://ftp.acc.umu.se/pub/gnome/sources/libchamplain/0.12/libc hamplain-0.12.21.tar.xz * Soma de verificação MD5 da transferência: 2b17ba53d88840f73f22ead3a905f475 * Tamanho da transferência: 220 KB * Espaço em disco estimado exigido: 5,7 MB * Tempo de construção estimado: 0,1 UPC Dependências do libchamplain Exigidas [7221]clutter-gtk-1.8.4, [7222]GTK+-3.24.38, [7223]libsoup-3.4.2 e [7224]SQLite-3.42.0 Recomendadas [7225]gobject-introspection-1.76.1 e [7226]Vala-0.56.11 Opcionais [7227]GTK-Doc-1.33.2 e [7228]libmemphis Instalação do libchamplain Instale o libchamplain executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libchamplain-0.12.so e libchamplain-gtk-0.12.so Diretórios Instalados: /usr/include/champlain-0.12 e /usr/share/gtk-doc/html/champlain-0.12 Descrições Curtas libchamplain-0.12.so contém as funções da API da libchamplain libchamplain-gtk-0.12.so contém as ligações GTK+ da libchamplain libgdata-0.18.1 Introdução ao libgdata O pacote libgdata é uma biblioteca baseada em GLib para acessar APIs de serviços on-line usando o protocolo GData, principalmente os serviços do Google. Ele fornece APIs para acessar os serviços comuns do Google e tem suporte assíncrono completo. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [7229]https://download.gnome.org/sources/libgdata/0.18/libgdata-0.1 8.1.tar.xz * Transferência (FTP): [7230]ftp://ftp.acc.umu.se/pub/gnome/sources/libgdata/0.18/libgdata -0.18.1.tar.xz * Soma de verificação MD5 da transferência: 92b058d1a0af5d1b96c86c21820f1eff * Tamanho da transferência: 832 KB * Espaço em disco estimado exigido: 54 MB (com os testes) * Tempo de construção estimado: 0,5 UPC (com os testes) Dependências do libgdata Exigidas [7231]libsoup-2.74.3, [7232]gnome-online-accounts-3.48.0, [7233]GTK+-3.24.38, [7234]JSON-GLib-1.6.6 e [7235]Vala-0.56.11 Recomendadas [7236]Gcr-3.41.1 e [7237]gobject-introspection-1.76.1 Opcionais [7238]GTK-Doc-1.33.2 (para documentação), [7239]liboauth-1.0.3 (para suporte a OAuth v1) e [7240]uhttpmock-0.5.3 (exigido para testes) Instalação do libgdata Instale o libgdata executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr \ --buildtype=release \ -Dgtk_doc=false \ -Dalways_build_tests=false \ .. && ninja Se você deseja executar a suíte de teste, certifique-se de que o [7241]uhttpmock-0.5.3 esteja instalado e remova -Dalways_build_tests=false na linha de comando do meson. Para testar os resultados, emita: ninja test. Observe que os testes precisam de acesso à rede de intercomunicação. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dgtk_doc=false: Remova isso se você tiver o [7242]GTK-Doc-1.33.2 instalado e quiser reconstruir a documentação com ele. -Doauth1=enabled: Use essa opção se desejar incluir suporte para OAuth v1. Observe que você precisa ter o [7243]liboauth-1.0.3 instalado para a finalidade de habilitar essa opção. Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libgdata.so Diretórios Instalados: /usr/include/libgdata e /usr/share/gtk-doc/html/gdata Descrições Curtas libgdata.so contém as funções da API da libgdata libgee-0.20.6 Introdução ao libgee O pacote libgee é uma biblioteca de coleção que fornece interfaces e classes baseadas em GObject para estruturas de dados comumente usadas. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [7244]https://download.gnome.org/sources/libgee/0.20/libgee-0.20.6. tar.xz * Transferência (FTP): [7245]ftp://ftp.acc.umu.se/pub/gnome/sources/libgee/0.20/libgee-0.2 0.6.tar.xz * Soma de verificação MD5 da transferência: 8b9001f47e15ef7a1776ac1f5bb015a0 * Tamanho da transferência: 676 KB * Espaço em disco estimado exigido: 38 MB (com os testes) * Tempo de construção estimado: 0,5 UPC (com os testes) Dependências do libgee Exigidas [7246]GLib-2.76.4 Recomendadas [7247]gobject-introspection-1.76.1 e [7248]Vala-0.56.11 Opcionais [7249]Vala-0.56.11 (com Valadoc) e [7250]LCOV Instalação do libgee Instale o libgee executando os seguintes comandos: ./configure --prefix=/usr && make Para testar os resultados, emita: make check. Agora, como o(a) usuário(a) root: make install Conteúdo Aplicativos Instalados: Nenhum(a) Biblioteca Instalada: libgee-0.8.so Diretório Instalado: /usr/include/gee-0.8 Descrições Curtas libgee-0.8.so contém as funções da API da libgee libgtop-2.40.0 Introdução ao libgtop O pacote libgtop contém as principais bibliotecas do GNOME. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [7251]https://download.gnome.org/sources/libgtop/2.40/libgtop-2.40. 0.tar.xz * Transferência (FTP): [7252]ftp://ftp.acc.umu.se/pub/gnome/sources/libgtop/2.40/libgtop-2 .40.0.tar.xz * Soma de verificação MD5 da transferência: c6d67325cd97b2208b41e07e6cc7b947 * Tamanho da transferência: 728 KB * Espaço em disco estimado exigido: 20 MB * Tempo de construção estimado: 0,2 UPC Dependências do libgtop Exigidas [7253]GLib-2.76.4 e [7254]Bibliotecas do Xorg Recomendadas [7255]gobject-introspection-1.76.1 Opcionais [7256]GTK-Doc-1.33.2 Instalação do libgtop Instale o libgtop executando os seguintes comandos: ./configure --prefix=/usr --disable-static && make Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: make install Explicações do Comando --disable-static: Essa chave impede a instalação das versões estáticas das bibliotecas. --enable-gtk-doc: Use esse parâmetro se GTK-Doc estiver instalado e você desejar reconstruir e instalar a documentação da API. Conteúdo Aplicativos Instalados: libgtop_daemon2 e libgtop_server2 Biblioteca Instalada: libgtop-2.0.so Diretórios Instalados: /usr/include/libgtop-2.0 e /usr/share/gtk-doc/html/libgtop Descrições Curtas libgtop-2.0.so contém funções que permitem acesso aos dados de desempenho do sistema libgweather-4.2.0 Introdução ao libgweather O pacote libgweather é uma biblioteca usada para acessar informações meteorológicas a partir de serviços online para numerosos locais. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [7257]https://download.gnome.org/sources/libgweather/4.2/libgweathe r-4.2.0.tar.xz * Transferência (FTP): [7258]ftp://ftp.acc.umu.se/pub/gnome/sources/libgweather/4.2/libgwe ather-4.2.0.tar.xz * Soma de verificação MD5 da transferência: 4c0c46102dcb5e813ff698e5f713e4bb * Tamanho da transferência: 2,6 MB * Espaço em disco estimado exigido: 95 MB (com os testes) * Tempo de construção estimado: 0,2 UPC (com os testes) Dependências do libgweather Exigidas [7259]geocode-glib-3.26.4, [7260]GTK+-3.24.38, [7261]libsoup-3.4.2 e [7262]PyGObject-3.44.1 Recomendadas [7263]gobject-introspection-1.76.1, [7264]libxml2-2.10.4 e [7265]Vala-0.56.11 Opcionais [7266]Gi-DocGen-2023.1 (gi-docgen também é fornecido como um subprojeto meson, que será usado se -Dgtk_doc=false não for passado para meson), [7267]LLVM-16.0.5 (para formato clang) e [7268]pylint Instalação do libgweather Instale o libgweather executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr \ --buildtype=release \ -Dgtk_doc=false \ .. && ninja Se você tiver o [7269]Gi-DocGen-2023.1 instalado e desejar construir a documentação da API para esse pacote, emita: sed "s/libgweather_full_version/'libgweather-4.2.0'/" \ -i ../doc/meson.build && meson configure -Dgtk_doc=true && ninja Um teste precisa que os arquivos de localidade estejam instalados no sistema, de forma que é melhor executar os testes depois de instalar o pacote. Agora, como o(a) usuário(a) root: ninja install Para testar os resultados, emita: LC_ALL=C ninja test. Um teste, o metar, é conhecido por falhar. Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dgtk_doc=false: Permite construir esse pacote sem [7270]Gi-DocGen-2023.1 instalado. Se você tiver o [7271]Gi-DocGen-2023.1 instalado e desejar reconstruir e instalar a documentação da API, um comando meson configure reconfigurará essa opção. Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libgweather-4.so Diretórios Instalados: /usr/lib/libgweather-4, /usr/include/libgweather-4.0, /usr/share/gtk-doc/html/libgweather-4.0 (opcional) e /usr/share/libgweather-4 Descrições Curtas libgweather-4.so contém funções que permitem a recuperação de informações meteorológicas libpeas-1.36.0 Introdução ao libpeas libpeas é um mecanismo de plug-ins baseado em GObject e tem como objetivo dar a cada aplicativo a chance de assumir a própria extensibilidade dele. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [7272]https://download.gnome.org/sources/libpeas/1.36/libpeas-1.36. 0.tar.xz * Transferência (FTP): [7273]ftp://ftp.acc.umu.se/pub/gnome/sources/libpeas/1.36/libpeas-1 .36.0.tar.xz * Soma de verificação MD5 da transferência: b3dd31a79c47af0cbf22f2d6bf52bc7d * Tamanho da transferência: 192 KB * Espaço em disco estimado exigido: 10 MB (com testes) * Tempo de construção estimado: 0,2 UPC (com os testes) Dependências do libpeas Exigidas [7274]gobject-introspection-1.76.1 e [7275]GTK+-3.24.38 Recomendadas [7276]libxml2-2.10.4 e [7277]PyGObject-3.44.1 Opcionais [7278]Gi-DocGen-2023.1, [7279]Glade, [7280]embed, [7281]LGI (para ligações LUA, construído com LUA-5.1), com ou [7282]luajit ou [7283]LUA-5.1 Instalação do libpeas Instale o libpeas executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr \ --buildtype=release \ --wrap-mode=nofallback \ .. && ninja Se você tiver o [7284]Gi-DocGen-2023.1 instalado e desejar construir a documentação da API para esse pacote, emita: sed "/docs_dir =/s@\$@/ 'libpeas-1.36.0'@" \ -i ../docs/reference/meson.build && meson configure -Dgtk_doc=true && ninja Para testar os resultados, emita: ninja test. Uma sessão gráfica ativa com endereço de barramento é necessária para executar os testes. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. --wrap-mode=nofallback: Essa chave impede que o meson use substitutos de subprojeto para quaisquer declarações de dependência nos arquivos de construção, impedindo-o de baixar qualquer dependência opcional que não esteja instalada no sistema. -Dvapi=true: Adicione essa chave se você desejar gerar dados vapi (vala). -Ddemos=false: Adicione essa chave se você não desejar construir os aplicativos de demonstração. Conteúdo Aplicativo Instalado: peas-demo Bibliotecas Instaladas: libpeas-1.0.so e libpeas-gtk-1.0.so Diretórios Instalados: /usr/include/libpeas-1.0, /usr/lib/libpeas-1.0, /usr/lib/peas-demo e /usr/share/gtk-doc/html/libpeas (opcional) Descrições Curtas peas-demo é o aplicativo de demonstração do Peas libpeas-1.0.so contém as funções da API da libpeas libpeas-gtk-1.0.so contém as pequenas engenhocas GTK+ da libpeas libshumate-1.0.5 Introdução ao libshumate O pacote libshumate contém uma pequena engenhoca GTK-4 para exibir mapas. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [7285]https://download.gnome.org/sources/libshumate/1.0/libshumate- 1.0.5.tar.xz * Transferência (FTP): [7286]ftp://ftp.acc.umu.se/pub/gnome/sources/libshumate/1.0/libshum ate-1.0.5.tar.xz * Soma de verificação MD5 da transferência: 2e30b5dae91ee473d47a3a0be54d4fd9 * Tamanho da transferência: 112 KB * Espaço em disco estimado exigido: 4,1 MB * Tempo de construção estimado: 0,1 UPC Dependências do libshumate Exigidas [7287]GTK-4.12.0 e [7288]libsoup-3.4.2 Recomendadas [7289]gobject-introspection-1.76.1 (exigido para gnome-maps) Opcionais [7290]Gi-DocGen-2023.1 Instalação do libshumate Instale o libshumate executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr \ --buildtype=release \ -Dgtk_doc=false \ .. && ninja Se você tiver [7291]Gi-DocGen-2023.1 instalado e desejar construir a documentação da API para esse pacote, emita: sed 's/lib_version/version/' -i ../docs/meson.build && meson configure -Dgtk_doc=true && ninja Para testar os resultados, emita: ninja test. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libshumate-1.0.so Diretórios Instalados: /usr/include/shumate-1.0 e /usr/share/doc/libshumate-1.0.5 (opcional) Descrições Curtas libshumate-1.0.so contém funções que fornecem uma pequena engenhoca GTK-4 para exibir mapas libwnck-43.0 Introdução ao libwnck O pacote libwnck contém o Window Navigator Construction Kit. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [7292]https://download.gnome.org/sources/libwnck/43/libwnck-43.0.ta r.xz * Transferência (FTP): [7293]ftp://ftp.acc.umu.se/pub/gnome/sources/libwnck/43/libwnck-43. 0.tar.xz * Soma de verificação MD5 da transferência: cd21ef743a1e9286554401c5b28d5ec6 * Tamanho da transferência: 448 KB * Espaço em disco estimado exigido: 13 MB * Tempo de construção estimado: menos que 0,1 UPC Dependências do libwnck Exigidas [7294]GTK+-3.24.38 Recomendadas [7295]gobject-introspection-1.76.1 e [7296]startup-notification-0.12 Opcionais [7297]GTK-Doc-1.33.2 Instalação do libwnck Instale o libwnck executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dgtk_doc=true: Use essa opção para construir o manual de referência da API. Conteúdo Aplicativo Instalado: wnckprop e wnck-urgency-monitor Biblioteca Instalada: libwnck-3.so Diretórios Instalados: /usr/include/libwnck-3.0 e /usr/share/gtk-doc/html/libwnck-3.0 Descrições Curtas wnckprop é usado para imprimir ou modificar as propriedades de uma tela/espaço de trabalho/janela, ou para interagir com ela libwnck-3.so contém funções para escrever paginadores e listas de tarefas evolution-data-server-3.48.4 Introdução ao Evolution Data Server O pacote Evolution Data Server fornece uma estrutura de retaguarda unificada para aplicativos que trabalham com contatos, tarefas e informações de calendário. Ele foi originalmente desenvolvido para Evolution (daí o nome), mas agora também é usado por outros pacotes. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [7298]https://download.gnome.org/sources/evolution-data-server/3.48 /evolution-data-server-3.48.4.tar.xz * Transferência (FTP): [7299]ftp://ftp.acc.umu.se/pub/gnome/sources/evolution-data-server/ 3.48/evolution-data-server-3.48.4.tar.xz * Soma de verificação MD5 da transferência: b387f584adf2318e958d7928925d1e37 * Tamanho da transferência: 4,7 MB * Espaço em disco estimado exigido: 147 MB (com testes) * Tempo de construção estimado: 0,6 UPC (usando paralelismo=4, adicionar 0,1 UPC para testes) Dependências do Evolution Data Server Exigidas [7300]libical-3.0.16, [7301]libsecret-0.21.0, [7302]nss-3.92 e [7303]SQLite-3.42.0 Recomendadas [7304]gnome-online-accounts-3.48.0, [7305]gobject-introspection-1.76.1, [7306]GTK+-3.24.38, [7307]ICU-73.2, [7308]libcanberra-0.30, [7309]libgweather-4.2.0, [7310]Vala-0.56.11 e [7311]WebKitGTK-2.41.91 Opcionais [7312]Base de Dados Berkeley-5.3.28, [7313]GTK-Doc-1.33.2, [7314]MIT Kerberos V5-1.21.2, um [7315]MTA (que forneça um comando sendmail), [7316]OpenLDAP-2.6.6 e [7317]libphonenumber Instalação do Evolution Data Server Instale o Evolution Data Server executando os seguintes comandos: mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DSYSCONF_INSTALL_DIR=/etc \ -DENABLE_VALA_BINDINGS=ON \ -DENABLE_INSTALLED_TESTS=ON \ -DWITH_OPENLDAP=OFF \ -DWITH_KRB5=OFF \ -DENABLE_INTROSPECTION=ON \ -DENABLE_GTK_DOC=OFF \ -DWITH_LIBDB=OFF \ -Wno-dev -G Ninja .. && ninja Agora, como o(a) usuário(a) root: ninja install Para testar os resultados, emita: ninja test. Explicações do Comando -DENABLE_VALA_BINDINGS=ON: Essa chave permite construir as ligações Vala. Remova se você não tiver [7318]Vala-0.56.11 instalado. -DENABLE_GTK_DOC=OFF: Essa chave desabilita a construção da documentação da API. Ela está quebrada para esse pacote devido ao uso de um aplicativo gtk-doc há muito obsoleto que não mais está disponível. -DWITH_LIBDB=OFF: Essa chave permite construir esse pacote sem [7319]Base de Dados Berkeley-5.3.28. Esse pacote somente usa [7320]Base de Dados Berkeley-5.3.28 para importar dados originários de lançamentos muito desatualizados. [7321]SQLite-3.42.0 é usado para operação normal. -DENABLE_OAUTH2_WEBKITGTK4=OFF: Use essa chave se você não construiu [7322]WebKitGTK-2.41.91 com GTK-4. Nota Para habilitar muitas das dependências opcionais, revise as informações provenientes de cmake -L CMakeLists.txt para os parâmetros necessários que você precisa passar para o comando cmake. Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: libcamel-1.2.so, libebackend-1.2.so, libebook-1.2.so, libebook-contacts-1.2.so, libecal-2.0.so, libedata-book-1.2.so, libedata-cal-2.0.so, libedataserver-1.2.so, libedataserverui-1.2.so, libedataserverui4-1.0.so e libetestserverutils.so Diretórios Instalados: /usr/include/evolution-data-server, /usr/lib{,exec}/evolution-data-server, /usr/share/evolution-data-server, /usr/share/installed-tests/evolution-data-server e /usr/share/pixmaps/evolution-data-server Descrições Curtas libcamel-1.2.so é a biblioteca de manuseio de mensagens MIME do Evolution libebackend-1.2.so é a biblioteca de utilitários para estruturas de retaguarda do Evolution Data Server libebook-1.2.so é a biblioteca cliente para catálogos de endereços do Evolution libebook-contacts-1.2.so é a biblioteca cliente para contatos do Evolution libecal-1.2.so é a biblioteca cliente para calendários do Evolution libedata-book-1.2.so é a biblioteca de estrutura de retaguarda para catálogos de endereços do Evolution libedata-cal-1.2.so é a biblioteca de estrutura de retaguarda para calendários do Evolution libedataserver-1.2.so é a biblioteca de utilitários para o Evolution Data Server libedataserverui-3.0.so é a biblioteca de utilitários de GUI para o Evolution Data Server libedataserverui4-1.0.so é a biblioteca de utilitários de GUI baseada em GTK-4 para o Evolution Data Server libetestserverutils.so é a biblioteca de utilitários de teste de servidor para o Evolution Data Server Tracker-3.5.3 Introdução ao Tracker Tracker é o provedor de indexação e pesquisa de arquivos usado no ambiente de área de trabalho do GNOME. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [7323]https://download.gnome.org/sources/tracker/3.5/tracker-3.5.3. tar.xz * Transferência (FTP): [7324]ftp://ftp.acc.umu.se/pub/gnome/sources/tracker/3.5/tracker-3. 5.3.tar.xz * Soma de verificação MD5 da transferência: f78a0d145007d9871174be21a49ce9ef * Tamanho da transferência: 2,5 MB * Espaço em disco estimado exigido: 51 MB (com testes) * Tempo de construção estimado: 0,3 UPC (com os testes) Dependências do Tracker Exigidas [7325]JSON-GLib-1.6.6, [7326]libseccomp-2.5.4 e [7327]Vala-0.56.11 Recomendadas [7328]gobject-introspection-1.76.1, [7329]ICU-73.2, [7330]libsoup-3.4.2, [7331]PyGObject-3.44.1, [7332]SQLite-3.42.0 e [7333]tracker-miners-3.5.2 (tempo de execução) Opcionais [7334]asciidoc-10.2.0, [7335]Graphviz-8.1.0, [7336]libsoup-2.74.3, [7337]bash-completion e [7338]libstemmer Instalação do Tracker Corrija o local para instalar a documentação: mv docs/reference/libtracker-sparql/doc/{Tracker-3.0,tracker-3.5.3} && sed '/docs_name/s/Tracker-3.0/tracker-3.5.3/' \ -i docs/reference/libtracker-sparql/meson.build Instale o Tracker executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr \ --buildtype=release \ -Dman=false \ .. && ninja Agora, como o(a) usuário(a) root: ninja install Para testar os resultados, emita: meson configure -Ddebug=true && ninja test. A suíte de teste deveria ser executada a partir de uma sessão gráfica. Um teste, tracker: fts / fts, é conhecido por falhar devido a uma incompatibilidade com SQLite-3.42. Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dman=false: Essa chave evita que o processo de construção gere páginas de manual. Omita essa chave se você tiver o [7339]asciidoc-10.2.0 instalado e desejar gerar e instalar as páginas de manual. meson configure -Ddebug=true: Esse comando habilita algumas verificações de depuração necessárias para a suíte de teste. Nós não queremos habilitá-las para as bibliotecas e aplicativos instaladas do Tracker 3, de forma que executamos a suíte de teste depois da instalação. Conteúdo Aplicativos Instalados: tracker3 Biblioteca Instalada: libtracker-sparql-3.0.so Diretórios Instalados: /usr/{include,lib}/tracker-3.0, /usr/libexec/tracker3, /usr/share/tracker3 e /usr/share/doc/Tracker-3.0 (opcional) Descrições Curtas tracker3 é um aplicativo de controle para o indexador libtracker-sparql-3.0.so contém funções de gerenciamento de recursos e de base de dados Tracker-miners-3.5.2 Introdução ao Tracker-miners O pacote Tracker-miners contém um conjunto de extratores de dados para o Tracker. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [7340]https://download.gnome.org/sources/tracker-miners/3.5/tracker -miners-3.5.2.tar.xz * Transferência (FTP): [7341]ftp://ftp.acc.umu.se/pub/gnome/sources/tracker-miners/3.5/tra cker-miners-3.5.2.tar.xz * Soma de verificação MD5 da transferência: 307705e0ebb45c733f42489230ab14f2 * Tamanho da transferência: 7,2 MB * Espaço em disco estimado exigido: 38 MB (com testes) * Tempo de construção estimado: 0,5 UPC (com paralelismo=4; adicionar 1,0 UPC para testes, dependente da velocidade do disco) Dependências do Tracker-miners Exigidas [7342]gst-plugins-base-1.22.5, [7343]Tracker-3.5.3, [7344]Exempi-2.6.4 e [7345]gexiv2-0.14.2 Recomendadas [7346]giflib-5.2.1, [7347]gst-plugins-base-1.22.5, [7348]gst-plugins-good-1.22.5 (tempo de execução), [7349]gst-libav-1.22.5 (tempo de execução), [7350]ICU-73.2, [7351]libexif-0.6.24, [7352]libgrss-0.7.0, [7353]libgxps-0.3.2, [7354]libseccomp-2.5.4 e [7355]Poppler-23.08.0 Opcionais [7356]asciidoc-10.2.0, [7357]CMake-3.27.2, [7358]DConf-0.40.0, [7359]FFmpeg-6.0, [7360]libgsf-1.14.50, [7361]NetworkManager-1.44.0, [7362]taglib-1.13.1, [7363]totem-pl-parser-3.26.6, [7364]UPower-1.90.2, [7365]libcue, [7366]libitpcdata, [7367]libosinfo e [7368]gupnp Instalação do Tracker-miners Nota Se você planeja executar os testes, alguns tempos limite são muito curtos ao usar discos giratórios. Existem dois locais onde os tempos limite são usados: primeiro, os testes individuais dentro de um grupo de testes tem um tempo limite padrão de 10s. Isso pode ser mudado configurando-se a variável de ambiente TRACKER_TESTS_AWAIT_TIMEOUT para o valor desejado ao executar os testes (veja-se abaixo). Segundo, um tempo limite global para um grupo de testes é fixado ao tempo da configuração. O valor padrão no diretório functional-tests (outros diretórios tem somente testes de curta duração) pode ser aumentado com o seguinte comando (substitua 200 por um valor adequado para a tua máquina): sed -i s/120/200/ tests/functional-tests/meson.build Instale o Tracker-miners executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr \ --buildtype=release \ -Dman=false \ .. && ninja Para testar os resultados, emita (ajuste o tempo limite do teste individual para um valor adequado para a tua máquina; veja-se a nota acima): dbus-run-session env TRACKER_TESTS_AWAIT_TIMEOUT=20 ninja test && rm -rf ~/tracker-tests Nota Os testes criam arquivos no diretório do(a) usuário(a) (até 24 MB), de forma que eles tem de ser removidos posteriormente. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dman=false: Essa chave evita que o processo de construção gere páginas de manual. Omita essa chave se você tiver [7369]asciidoc-10.2.0 instalado e desejar gerar e instalar as páginas de manual. -Dseccomp=false: Essa opção desabilita o filtro de chamada de sistema seccomp. Em algumas arquiteturas, como i686 e ARM, as funções que o tracker-miners usa não são protegidas adequadamente e, como resultado, o tracker-miners será morto com um SIGSYS. -Dminer_rss=false: Use essa opção se você não tiver instalado a dependência recomendada libgrss. Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Vários módulos sob /usr/lib/tracker-miners-3.0 Diretórios Instalados: /usr/lib/tracker-miners-3.0, /usr/libexec/tracker3 e /usr/share/tracker3-miners GSound-1.0.3 Introdução ao GSound O pacote gsound contém uma pequena biblioteca para reproduzir sons do sistema. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [7370]https://download.gnome.org/sources/gsound/1.0/gsound-1.0.3.ta r.xz * Transferência (FTP): [7371]ftp://ftp.acc.umu.se/pub/gnome/sources/gsound/1.0/gsound-1.0. 3.tar.xz * Soma de verificação MD5 da transferência: 7338c295034432a6e782fd20b3d04b68 * Tamanho da transferência: 24 KB * Espaço em disco estimado exigido: 864 KB * Tempo de construção estimado: menos que 0,1 UPC Dependências do gsound Exigidas [7372]libcanberra-0.30 Recomendadas [7373]gobject-introspection-1.76.1 e [7374]Vala-0.56.11 Opcionais [7375]GTK-Doc-1.33.2 (para gerar documentação) Instalação do GSound Instale o gsound executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. Conteúdo Aplicativos Instalados: gsound-play Bibliotecas Instaladas: libgsound.so Diretórios Instalados: /usr/share/gtk-doc/html/gsound Descrições Curtas gsound-play reproduz sons do sistema por intermédio da interface libgsound libgsound.so contém funções de API para reproduzir sons do sistema Componentes da Área de Trabalho do GNOME DConf-0.40.0 / DConf-Editor-43.0 Introdução ao DConf O pacote DConf contém um sistema de configuração de baixo nível. O principal propósito dele é o de fornecer uma estrutura de retaguarda para o GSettings em plataformas que ainda não tem sistemas de armazenamento de configuração. O DConf-Editor, como o nome sugere, é um editor gráfico para a base de dados DConf. A instalação é opcional, porque o gsettings originário de [7376]GLib-2.76.4 fornece funcionalidade semelhante na linha de comando. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [7377]https://download.gnome.org/sources/dconf/0.40/dconf-0.40.0.ta r.xz * Transferência (FTP): [7378]ftp://ftp.acc.umu.se/pub/gnome/sources/dconf/0.40/dconf-0.40. 0.tar.xz * Soma de verificação MD5 da transferência: ac8db20b0d6b996d4bbbeb96463d01f0 * Tamanho da transferência: 115 KB * Espaço em disco estimado exigido: 7,0 MB (com os testes) * Tempo de construção estimado: 0,1 UPC (com os testes) Transferências Adicionais * Transferência (HTTP): [7379]https://download.gnome.org/sources/dconf-editor/43/dconf-edit or-43.0.tar.xz * Transferência (FTP): [7380]ftp://ftp.acc.umu.se/pub/gnome/sources/dconf-editor/43/dconf- editor-43.0.tar.xz * Soma de verificação MD5 da transferência: a85bc794ca3cc920dc6acf63f5ea81bb * Tamanho da transferência: 588 KB * Espaço em disco estimado exigido: 21 MB * Tempo de construção estimado: 0,2 UPC Dependências do DConf Exigidas [7381]dbus-1.14.8, [7382]GLib-2.76.4, [7383]GTK+-3.24.38 (para o editor), [7384]libhandy-1.8.2 (para o editor) e [7385]libxml2-2.10.4 (para o editor) Recomendadas [7386]libxslt-1.1.38 e [7387]Vala-0.56.11 Opcionais [7388]GTK-Doc-1.33.2 e [7389]bash-completion Instalação do DConf Instale o DConf executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr \ --buildtype=release \ -Dbash_completion=false \ .. && ninja Para testar os resultados, emita: ninja test Como o(a) usuário(a) root: ninja install Agora, opcionalmente, instale o editor: cd .. && tar -xf ../dconf-editor-43.0.tar.xz && cd dconf-editor-43.0 && mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja Como o(a) usuário(a) root: ninja install Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -Dgtk_doc=true: Use esse parâmetro se o GTK-Doc estiver instalado e você desejar reconstruir e instalar a documentação da API. Conteúdo Aplicativos Instalados: dconf e dconf-editor Bibliotecas Instaladas: libdconf.so e libdconfsettings.so (Módulo GIO instalado em /usr/lib/gio/modules) Diretórios Instalados: /usr/{include,share/gtk-doc/html}/dconf Descrições Curtas dconf é uma ferramenta simples para manipular a base de dados do DConf dconf-editor é um aplicativo gráfico para editar a base de dados do DConf libdconf.so contém as funções de API do cliente do DConf gnome-backgrounds-44.0 Introdução ao GNOME Backgrounds O pacote GNOME Backgrounds contém uma coleção de arquivos gráficos que podem ser usados como planos de fundo no ambiente de Área de Trabalho do GNOME. Além disso, o pacote cria a adequada estrutura essencial de suporte e diretórios, de forma que você possa adicionar os teus próprios arquivos à coleção. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [7390]https://download.gnome.org/sources/gnome-backgrounds/44/gnome -backgrounds-44.0.tar.xz * Transferência (FTP): [7391]ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-backgrounds/44/g nome-backgrounds-44.0.tar.xz * Soma de verificação MD5 da transferência: 3364a0479babd85f333c1e8a635330b2 * Tamanho da transferência: 46 MB * Espaço em disco estimado exigido: 95 MB * Tempo de construção estimado: menos que 0,1 UPC Instalação do GNOME Backgrounds Instale o GNOME Backgrounds executando os seguintes comandos: mkdir build && cd build && meson setup --prefix=/usr .. Esse pacote não vem com uma suíte de teste. Agora, como o(a) usuário(a) root: ninja install Conteúdo Aplicativos Instalados: Nenhum(a) Bibliotecas Instaladas: Nenhum(a) Diretórios Instalados: /usr/share/backgrounds/gnome e /usr/share/gnome-background-properties Descrições Curtas GNOME Backgrounds são imagens de plano de fundo para a Área de Trabalho do GNOME Gvfs-1.50.6 Introdução ao Gvfs O pacote Gvfs é um sistema de arquivos virtual de espaço de usuário(a) projetado para funcionar com as abstrações de E/S da biblioteca GIO da GLib. Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.0. Informação do Pacote * Transferência (HTTP): [7392]https://download.gnome.org/sources/gvfs/1.50/gvfs-1.50.6.tar. xz * Transferência (FTP): [7393]ftp://ftp.acc.umu.se/pub/gnome/sources/gvfs/1.50/gvfs-1.50.6. tar.xz * Soma de verificação MD5 da transferência: e780a221d643d2daf9f694a692d23006 * Tamanho da transferência: 1,2 MB * Espaço em disco estimado exigido: 44 MB * Tempo de construção estimado: 0,4 UPC (usando paralelismo = 4) Dependências do Gvfs Exigidas [7394]dbus-1.14.8, [7395]GLib-2.76.4, [7396]libusb-1.0.26 e [7397]libsecret-0.21.0 Recomendadas [7398]Gcr-3.41.1, [7399]GTK+-3.24.38, [7400]libcdio-2.1.0, [7401]libgudev-238, [7402]libsoup-3.4.2, [7403]Systemd-254 (tempo de execução) e [7404]UDisks-2.10.0 Opcionais [7405]Apache-2.4.57, [7406]Avahi-0.8, [7407]BlueZ-5.68, [7408]Fuse-3.16.1, [7409]gnome-online-accounts-3.48.0, [7410]GTK-Doc-1.33.2, [7411]libarchive-3.7.1, [7412]libgcrypt-1.10.2, [7413]libgdata-0.18.1, [7414]libxml2-2.10.4, [7415]libxslt-1.1.38, [7416]OpenSSH-9.4p1, [7417]Samba-4.18.6, [7418]gnome-desktop-testing (para testes), [7419]libbluray, [7420]libgphoto2, [7421]libimobiledevice, [7422]libmtp, [7423]libnfs e [7424]Twisted Instalação do Gvfs Instale o Gvfs executando os seguintes comandos: mkdir build && cd build && meson setup \ --prefix=/usr \ --buildtype=release \ -Dfuse=false \ -Dgphoto2=false \ -Dafc=false \ -Dbluray=false \ -Dnfs=false \ -Dmtp=false \ -Dsmb=false \ -Ddnssd=false \ -Dgoa=false \ -Dgoogle=false .. && ninja A suíte de teste exige gnome-desktop-testing, que está além do escopo do BLFS. Agora, como o(a) usuário(a) root: ninja install Nota Se você instalou o pacote em teu sistema usando um método “DESTDIR”, /usr/share/glib-2.0/schemas/gschemas.compiled não foi atualizado/criado. Crie (ou atualize) o arquivo usando o seguinte comando como o(a) usuário(a) root: glib-compile-schemas /usr/share/glib-2.0/schemas Explicações do Comando --buildtype=release: Especifique um tipo de construção adequado para lançamentos estáveis do pacote, pois o padrão possivelmente produza binários não otimizados. -D