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 Licença da Creative Commons.
As instruções de computador podem ser extraídas a partir do livro sob a Licença do MIT.
Linux® é uma marca comercial registrada de Linus Torvalds.
Publicado em 2023-03-01
Histórico de Revisões | ||
---|---|---|
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.
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 (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 Introdução do livro.
Divirta-se usando o BLFS.
Mark Hymers
markh <at> 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 <at> 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 <at> linuxfromscratch.org
Editor do BLFS (Junho de 2004–Dezembro de 2006 e Fevereiro de 2011–agora)
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 <at> linuxfromscratch.org
Editor do BLFS (Dezembro de 2006–Janeiro de 2011)
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
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.
Este livro está dividido nas seguintes quatorze partes.
Essa parte contém informações essenciais que são necessárias para compreender o restante do livro.
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.
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.
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.
Aqui mostramos como configurar o correio e outros servidores (como FTP, Apache, etc.).
Essa parte explica como configurar um Sistema de Janelas X básico, junto com algumas bibliotecas X genéricas e gerenciadores de janelas.
Essa parte é para aqueles(as) que desejam usar o K Desktop Environment, ou partes dele.
GNOME é a alternativa principal ao KDE na arena do Ambiente de Área de Trabalho.
Xfce é uma alternativa peso leve ao GNOME e ao KDE.
LXDE é outra alternativa peso leve ao GNOME e ao KDE.
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.
Aqui abordamos bibliotecas e controladores multimídia, juntamente com alguns aplicativos de áudio, vídeo e gravação de CD.
Essa parte cobre o manuseio de documentos, desde aplicativos como Ghostscript, CUPS e DocBook, até o texlive.
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.
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 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.
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 Introdução que você está lendo atualmente contém informações genéricas. Tome nota especial das informações no 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 sobre 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 (Capítulo 4, Segurança), sistemas de arquivos (Capítulo 5, Sistemas de Arquivos e Gerenciamento de Disco - incluindo "GRUB" para "UEFI"), editores (Capítulo 6, Editores) e "Shells" (Capítulo 7, Shells). Na verdade, você possivelmente deseje consultar algumas partes desse capítulo (especialmente as seções sobre Editores e Sistemas de Arquivos) enquanto constrói seu sistema LFS.
Seguindo esses itens básicos, a maioria das pessoas vai querer pelo menos navegar pela parte das 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 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 Rede de Intercomunicação. Ela lida com a conexão à Internet ou à sua "LAN" (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 (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 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 Componentes Gráficos. Essa parte também trata de algumas bibliotecas genéricas baseadas no "X" (Capítulo 25, Bibliotecas Gráficas de Ambiente). Depois disso, KDE, GNOME, Xfce e LXDE recebem as próprias partes deles, seguidas por uma relativa a Software do X.
O livro então passa a lidar com pacotes Multimídia. Observe que muitas pessoas possivelmente queiram usar as instruções 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 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!
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.
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.
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)!
<TEXTO
SUBSTITUÍDO>
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.
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.
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.
Essas são dependências que os(as) editores(as) do BLFS determinaram que são importantes para fornecer recursos razoáveis ao pacote. As instruções de instalação do pacote assumem que elas estão instaladas. Se um pacote recomendado não estiver instalado, [então] as instruções possivelmente exigirão modificações para acomodar o pacote ausente.
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.
Alguns pacotes exigem opções específicas de configuração do núcleo. O esquema geral para esses se parece com isto:
Seção mestre --->
Subseção --->
[*] Parâmetro exigido [CONFIG_REQU_PAR]
<*> Parâmetro exigido (não como módulo) [CONFIG_REQU_PAR_NMOD]
<*/M> Parâmetro exigido (poderia ser um módulo) [CONFIG_REQU_PAR_MOD]
<*/M/ > Parâmetro opcional [CONFIG_OPT_PAR]
[ ] Parâmetro incompatível [CONFIG_INCOMP_PAR]
< > Parâmetro incompatível (mesmo como módulo) [CONFIG_INCOMP_PAR_MOD]
[CONFIG_...] na direita fornece o nome da opção, de forma que
você pode facilmente verificar se ela está configurada no seu
arquivo config
. 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 opcional raramente usada: a opção pode ser integrada, um módulo ou não selecionada: ela possivelmente seja configurada da maneira que você desejar 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.
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.
Esta é a versão do Livro do BLFS 11.3 datada de 1º de março de 2023. Esta é a ramificação 11.3-systemd do livro do BLFS, atualmente direcionando para o livro 11.3-systemd do LFS. Para versões de desenvolvimento, se essa versão for mais antiga que um mês, [então] é provável que o seu 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 https://www.linuxfromscratch.org/mirrors.html para uma versão atualizada.
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 https://www.linuxfromscratch.org/mirrors.html para a lista dos espelhos atuais.
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 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.
Lançamento atual: 11.3 – 1º de março de 2023
Entradas do Registro das Mudanças:
1º março 2023
[bdubbs] - Lançamento do BLFS-11.3.
27 fevereiro 2023
[renodr] - Adicionar informação para a página do alsa-utils a respeito de configurar a placa padrão de som.
[renodr] - Consertar quebra do seamonkey quando reproduz áudio quando é compilado com rustc-1.67 ou superior.
[renodr] - Adicionar o intel-media-driver para aceleração de vídeo em CPUs Intel Broadwell e superiores. Corrige #17668.
[renodr] - Adicionar intel-gmmlib para intel-media-driver. Corrige #17668.
26 fevereiro 2023
[ken] - Retrabalhar dependências inkscape: Existem extensões (python) centrais embarcadas e instaladas por inkscape-1.2.2; essas exigem vários módulos novos ou, do contrário, elas não funcionarão: CacheControl-0.12.11 (com uma dependência de msgpack-1.0.4), cssselect-1.2.0, numpy-1.24.0 e pyserial-3.5.
25 fevereiro 2023
24 fevereiro 2023
[bdubbs] - Atualização para font-util-1.4.0 (Xorg Font). Corrige #17695.
[bdubbs] — Atualização para unrar-6.2.6. Corrige #17684.
[bdubbs] — Atualização para gdb-13.1. Corrige #17679.
[bdubbs] — Atualização para parole-4.18.0. Corrige #17677.
[bdubbs] — Atualização para xf86-video-amdgpu-23.0.0. Corrige #17698.
[bdubbs] — Atualização para sudo-1.9.13p1. Corrige #17692.
[bdubbs] — Atualização para gparted-1.5.0. Corrige #17690.
23 fevereiro 2023
22 fevereiro 2023
21 fevereiro 2023
[renodr] — Atualização para gnome-backgrounds-43.1. Corrige #17671.
[renodr] — Atualização para gnome-desktop-43.2. Corrige #17670.
[renodr] — Atualização para Thunderbird-102.8.0 (Atualização de Segurança). Corrige #17664.
[pierre] — Atualização para Java-19.0.2+7 (atualização de segurança). Corrige #17674.
[bdubbs] — Atualização para sudo-1.9.13. Corrige #17652.
[bdubbs] — Atualização para curl-7.88.1 (Atualização de Segurança). Corrige #17656.
[bdubbs] — Atualização para bind-9.18.12. Corrige #17660.
20 fevereiro 2023
[bdubbs] — Atualização para plasma5-5.26.5. Corrige #17471.
19 fevereiro 2023
[bdubbs] - Atualização para kf5-apps-22.12.2, incluindo kate, kwave e falkon. Corrige #17485.
[bdubbs] - Atualização para kf5-5.103, incluindo extra-cmake-modules, oxygen-icons e breeze-icons. Corrige #17518.
[bdubbs] — Atualização para pipewire-0.3.66. Corrige #17672.
[bdubbs] — Atualização para userspace-rcu-0.14. Corrige #17653.
[bdubbs] — Atualização para tigervnc-1.13.0. Corrige #17616.
[pierre] - Atualização para OpenJDK-19.0.2+7 (atualização de segurança). Parte de #17674.
18 fevereiro 2023
17 fevereiro 2023
16 fevereiro 2023
[renodr] — Atualização para PHP-8.2.3 (Atualização de Segurança). Corrige #17654.
[renodr] — Atualização para mariadb-10.6.12. Corrige #17665.
[renodr] — Atualização para git-2.39.2 (Atualização de Segurança). Corrige #17651.
[renodr] — Atualização para harfbuzz-7.0.0. Corrige #17634.
[renodr] — Atualização para xterm-379. Corrige #17661.
[renodr] — Atualização para freetype-2.13.0. Corrige #17619.
[renodr] - Adapta Subversion para Ruby-3.2. Corrige #17666.
15 fevereiro 2023
[ken] — Atualização para x264-20230215 e x265-20230215. Corrige #17657.
14 fevereiro 2023
[ken] - Atualização para firefox-102.8.0 e JS-102.8.0 (Atualizações de Segurança). Corrige #17650.
[renodr] — Atualização para gnome-control-center-43.4.1. Corrige #17649.
[renodr] — Atualização para libadwaita-1.2.2. Corrige #17644.
[renodr] — Atualização para vala-0.56.4. Corrige #17643.
[renodr] — Atualização para vte-0.70.3. Corrige #17637.
[renodr] — Atualização para ruby-3.2.1. Corrige #17614.
[ken] — Atualização para nghttp2-1.52.0. Corrige #17647.
[timtas] — Atualização para openldap-2.6.4.. Corrige #17648.
[thomas] — Atualização para traceroute-2.1.2.. Corrige #17646.
13 fevereiro 2023
[renodr] — Atualização para seamonkey-2.53.15 (Atualização de Segurança). Corrige #17285.
[ken] — Atualização para gnutls-3.8.0 (Atualização de Segurança). Corrige #17633.
[bdubbs] — Atualização para rustc-1.67.1. Corrige #17642.
[bdubbs] — Atualização para util-macros-1.20.0. Corrige #17645.
[bdubbs] — Atualização para dos2unix-7.4.4. Corrige #17635.
[bdubbs] — Atualização para Python-3.11.2. Corrige #17613.
[bdubbs] — Atualização para dbus-1.14.6. Corrige #17611.
[bdubbs] — Atualização para libcap-2.67. Corrige #17600.
[ken] — Atualização para libdrm-2.4.115. Corrige #17621.
[renodr] — Atualização para Thunderbird-102.7.2 (Atualização de Segurança). Corrige #17537.
12 fevereiro 2023
[renodr] — Atualização para gnome-terminal-3.46.8. Corrige #17641.
[renodr] — Atualização para gnome-maps-43.4. Corrige #17595.
[renodr] - Atualização para evolution e evolution-data-server 3.46.4. Corrige #17636.
[renodr] — Atualização para samba-4.17.5 (Atualização de Segurança). Corrige #17567.
[renodr] — Atualização para libhandy-1.8.1. Corrige #17594.
[renodr] — Atualização para NetworkManager-1.42.0. Corrige #17632.
[renodr] — Atualização para libgusb-0.4.5. Corrige #17617.
[timtas] — Atualização para xfce4-settings-4.18.2. Corrige #17640.
[timtas] — Atualização para xfce4-notifyd-0.8.0. Corrige #17639.
[ken] — Atualização para XML-LibXSLT-2.002001 (módulo Perl). Corrige #17631.
11 fevereiro 2023
10 fevereiro 2023
[ken] — Atualização para libvpx-1.13.0. Corrige #17625.
[ken] — Atualização para nss-3.88.1. Corrige #17627.
[timtas] — Atualização para libxfce4ui-4.18.2. Corrige #17630.
[timtas] — Atualização para xfce4-session-4.18.1. Corrige #17628.
[timtas] — Atualização para xfce4-power-manager-4.18.1. Corrige #17629.
9 fevereiro 2023
[timtas] - Reverte para estimativa antiga de UPC para transmission-4.0.0.
[bdubbs] — Atualização para libreoffice-7.5.0.3. Corrige #17596.
[timtas] — Atualização para transmission-4.0.0. Corrige #17609.
[timtas] — Atualização para mesa-22.3.5. Corrige #17616.
[bdubbs] — Atualização para stunnel-5.68. Corrige #17610.
[bdubbs] — Atualização para libjpeg-turbo-2.1.5.1. Corrige #17612.
[pierre] — Atualização para xwayland-22.1.8 (Atualização de Segurança). Corrige #17607.
[pierre] — Atualização para sphinx_rtd_theme-1.2.0. Corrige #17608.
[pierre] - Adicionar sphinxcontrib-jquery-2.0.0, como uma dependência de sphinx_rtd_theme-1.2.0. Parte de #17608.
8 fevereiro 2023
7 fevereiro 2023
6 fevereiro 2023
[ken] - Atualização para ImageMagick-7.1.0-61. (Atualização de Segurança). Endereça #16962.
[thomas] - Corrige um problema no script apr-1-config.
5 fevereiro 2023
[pierre] - Adiciona chardet-5.1.0 (módulo Python), necessitado por doxypypy-0.8.8.7. Corrige #17604.
[bdubbs] - Atualização para doxypypy-0.8.8.7 (módulo Python). Parte de #17604.
[bdubbs] — Atualização para gnumeric-1.12.55.. Corrige #17599.
[bdubbs] — Atualização para goffice-0.10.55.. Corrige #17598.
[bdubbs] — Atualização para php-8.2.2.. Corrige #17593.
[bdubbs] — Atualização para poppler-23.02.0 e poppler-data-0.4.12.. Corrige #17587.
[pierre] - Atualização para vim-9.0.1273 (Sincroniza com LFS). Parte de #12241.
[renodr] — Atualização para WebKitGTK+-2.38.4 (Atualização de Segurança). Corrige #17588.
4 fevereiro 2023
[ken] - Atualiza módulos Perl: Alien-Build-2.77, Alien-Libxml2-0.19, B-COW-0.007, Clone-0.46, CPAN-Meta-Check-0.017, DateTime-1.59, DateTime-Locale-1.37, DateTime-TimeZone-2.57, Exporter-Tiny-1.006000, FFI-CheckLib-0.31, File-chdir-0.1011, HTTP-Message-6.44, List-SomeUtils-0.59, MIME-Charset-1.013.1, Module-Build-0.4232, Params-Validate-1.31, Params-ValidationCompiler-0.31, Path-Tiny-0.144, Sub-Quote-2.006008, Test-Deep-1.204, Test-Fatal-0.017, Test-File-1.993, Test-Needs-0.002010, Test-Without-Module-0.21, Text-CSV_XS-1.49, Variable-Magic-0.63, XML-LibXML-2.0208 e adiciona Alien-Build-Plugin-Download-GitLab-0.01 (agora exigido para Alien-libxml2). Endereça #13850.
4 fevereiro 2023
[timtas] — Atualização para fuse3-3.13.1. Corrige #17601.
[bdubbs] — Atualização para node-18.14.0. Corrige #17592.
3 fevereiro 2023
2 fevereiro 2023
1 fevereiro 2023
31 janeiro 2023
30 janeiro 2023
[ken] — Atualização para asymptote-2.84. Corrige #17556.
[ken] — Atualização para dvisvgm-3.0.1. Corrige #17190.
[bdubbs] — Atualização para pycryptodome-3.17.0 (módulo Python). Corrige #17579.
[bdubbs] — Atualização para umockdev-0.17.16. Corrige #17578.
[bdubbs] — Atualização para sysstat-12.7.2. Corrige #17577.
29 janeiro 2023
27 janeiro 2023
27 janeiro 2023
26 janeiro 2023
[bdubbs] - Atualização para bind e bind-utilities 9.18.11 (atualização de segurança). Fixes #17562.
[bdubbs] — Atualização para xine-lib-1.2.13. Corrige #17566.
[bdubbs] — Atualização para IO-Socket-SSL-2.081 (módulo Perl). Corrige #17564.
[bdubbs] — Atualização para btrfs-progs-v6.1.3. Corrige #17563.
[bdubbs] — Atualização para guile-3.0.9. Corrige #17565.
[bdubbs] - Atualização para a pilha gstreamer-1.22.0. Inclui gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, gst-libav e gstreamer-vaapi. Corrige #17555.
[bdubbs] — Atualização para doxyqml-0.5.2 (módulo Python). Corrige #17561.
[bdubbs] — Atualização para Text-BibTeX-0.89 (módulo Perl). Corrige #17560.
25 janeiro 2023
[renodr] — Atualização para unrar-6.2.5. Corrige #17559.
24 janeiro 2023
[renodr] — Atualização para libwacom-2.6.0. Corrige #17557.
[renodr] — Atualização para icewm-3.3.1. Corrige #17554.
[renodr] — Atualização para unrar-6.2.4. Corrige #17553.
[renodr] — Atualização para mc-4.8.29. Corrige #17549.
[bdubbs] — Atualização para graphviz-7.1.0. Corrige #17548.
[bdubbs] — Atualização para gnumeric-1.12.54. Corrige #17544.
[bdubbs] — Atualização para goffice-0.10.54. Corrige #17541.
[bdubbs] — Atualização para wireshark-4.0.3. Corrige #17534.
23 janeiro 2023
[bdubbs] — Atualização para postfix-3.7.4. Corrige #17551.
[bdubbs] — Atualização para neon-0.32.5. Corrige #17550.
[bdubbs] — Atualização para glib-2.74.5. Corrige #17540.
[bdubbs] — Atualização para cmake-3.25.2. Corrige #17539.
[renodr] — Atualização para gnome-desktop-43.1. Corrige #17542.
[renodr] — Atualização para gedit-44.2. Corrige #17538.
[renodr] — Atualização para libchamplain-0.12.21. Corrige #17536.
[xry111] - Usar pip para instalar dbus-python. Corrige #17547.
[xry111] - Adiciona meson_python-0.12.0 (dependências Python). Parte de #17547.
[xry111] - Adiciona pyproject-metadata-0.7.0 (dependências Python). Parte de #17547.
[xry111] - Adiciona patchelf-0.17.2. Parte de #17547.
[pierre] - Atualiza todos os módulos Python depois de mesclar. Corrige #17546.
[bdubbs] — Atualização para nano-7.2. Corrige #17530.
[bdubbs] — Atualização para exiv2-0.27.6. Corrige #17523.
[bdubbs] — Atualização para IO-Socket-SSL-2.080 (Módulo Perl). Corrige #17533.
[timtas] — Atualização para xfdesktop-4.18.1. Corrige #17552.
21 janeiro 2023
[bdubbs] — Atualização para libXpm-3.5.15 (Biblioteca Xorg). Corrige #17523.
[pierre] — Atualização para plasma-wayland-protocols-1.10. Corrige #17535.
[pierre] — Atualização para talloc-2.4.0. Corrige #17531.
[pierre] - Atualização para libva-2.17.0 (controlador Xorg). Corrige #17528.
[pierre] - Atualização para libinput-1.22.1 (controlador Xorg). Corrige #17527.
[pierre] — Atualização para MarkupSafe-2.1.2 (Módulo Python). Corrige #17526.
[timtas] — Atualização para thunar-4.18.3. Corrige #17543.
19 janeiro 2023
[timtas] — Atualização para sudo-1.9.12p2. Corrige #17529.
18 janeiro 2023
17 janeiro 2023
16 janeiro 2023
15 janeiro 2023
[thomas] - Constrói ssh-askpass usando gtk3 em vez de gtk2.
14 janeiro 2023
[ken] - Atualização para rustc-1.66.1 (atualização de segurança). Corrige #17501. Por favor, leia-se a entrada de ontem para 'Instalar FileCheck' se você tiver instalado recente LLVM sem esse utilitário.
[timtas] — Atualização para thunar-4.18.2. Corrige #17498.
[timtas] — Atualização para libxfce4util-4.18.1. Corrige #17499.
[timtas] — Atualização para xfce4-panel-4.18.1. Corrige #17500.
[pierre] — Atualização para libreoffice-7.4.4.2. Corrige #17512.
[pierre] — Atualização para ed-1.19. Corrige #17516.
[pierre] — Atualização para xfsprogs-6.1.1. Corrige #17515.
[pierre] — Atualização para mesa-22.3.3. Corrige #17504.
13 janeiro 2023
[pierre] - Adiciona uma folha de estilo XSL para gerar a página pythonhosted.xml a partir da informação contida nos módulos Python e seções de dependências e a usa no Makefile.
[bdubbs] — Atualização para llvm-15.0.7. Corrige #17508.
[bdubbs] - Instalar FileCheck em LLVM. Parcialmente endereça #17501. Para construir somente FileCheck onde LLVM já tenha sido instalado, veja-se o comentário 42 nesse tíquete.
[thomas] — Atualização para iptables-1.8.9. Corrige #17506.
[renodr] — Atualização para pipewire-0.3.64. Corrige #17513.
[renodr] — Atualização para tracker-miners-3.4.3. Corrige #17511.
[renodr] — Atualização para libpcap-1.10.3. Corrige #17509.
[renodr] — Atualização para libwebp-1.3.0. Corrige #17507.
[renodr] — Atualização para gtksourceview5-5.6.2. Corrige #17505.
[renodr] — Atualização para NetworkManager-1.40.10. Corrige #17503.
[renodr] — Atualização para apache-ant-1.10.13. Corrige #17502.
10 janeiro 2023
[renodr] — Atualização para eog-43.2. Corrige #17494.
[renodr] — Atualização para nautilus-43.2. Corrige #17493.
[bdubbs] — Atualização para xterm-378. Corrige #17497.
[bdubbs] — Atualização para libnma-1.10.6. Corrige #17496.
[bdubbs] — Atualização para xine-ui-0.99.14. Corrige #17495.
[bdubbs] — Atualização para mercurial-6.3.2. Corrige #17475.
9 janeiro 2023
[bdubbs] — Atualização para php-8.2.1. Corrige #17484.
8 janeiro 2023
[bdubbs] — Atualização para Cython-0.29.33 (módulo Python). Corrige #17487.
[pierre] — Atualização para gnome-maps-43.3. Corrige #17492.
[pierre] — Atualização para evolution-3.46.3. Corrige #17491.
[pierre] — Atualização para gvfs-1.50.3. Corrige #17490.
[pierre] — Atualização para evolution-data-server-3.46.3. Corrige #17489.
[pierre] — Atualização para libadwaita-1.2.1. Corrige #17488.
[pierre] — Atualização para graphviz-7.0.6. Corrige #17486.
[pierre] — Atualização para gedit-44.1. Corrige #17473.
7 janeiro 2023
6 janeiro 2023
[bdubbs] — Atualização para node-18.13.0. Corrige #17481.
[bdubbs] — Atualização para nss-3.87. Corrige #17479.
[bdubbs] — Atualização para libqalculate-4.5.1. Corrige #17474.
[bdubbs] — Atualização para python-dbusmock-0.28.7. Corrige #17483.
[bdubbs] — Atualização para LibRaw-0.21.1. Corrige #17482.
[bdubbs] — Atualização para xfsprogs-6.1.0. Corrige #17480.
[bdubbs] — Atualização para SDL2-2.26.2. Corrige #17472.
[bdubbs] — Atualização para btrfs-progs-v6.1.2. Corrige #17470.
[pierre] — Atualização para Qt5-5.15.8. Corrige #17476.
5 janeiro 2023
[ken] - Expande os detalhes do Gentoo em 'Indo Além do BLFS'. Corrige #17004.
4 janeiro 2023
[ken] - Corrige um cabeçalho em boost-1.81.0 e remenda Libreoffice para acomodar outa mudança nessa versão do boost, de forma que o boost do sistema possa novamente ser usado. Corrige #17461.
3 janeiro 2023
[renodr] - Arquiva telepathy-logger.
[renodr] — Atualização para tepl-6.4.0. Corrige #17469.
[renodr] — Atualização para gedit-44.0. Corrige #17462.
[renodr] — Atualização para pidgin-2.14.12. Corrige #17466.
[renodr] — Atualização para libxkbcommon-1.5.0. Corrige #17467.
[renodr] — Atualização para rxvt-unicode-9.31 (Atualização de Segurança). Corrige #17648.
2 janeiro 2023
1 janeiro 2023
[pierre] - Corrige um problema no libkdcraw introduzido pela recente libraw.
[pierre] - Atualização para bootscripts-20230101: corrige vários problemas com winbindd.
[pierre] - Corrige um problema no gegl introduzido pela recente libraw.
31 dezembro 2022
30 dezembro 2022
[bdubbs] — Atualização para libpcap-1.10.2. Corrige #17460.
[bdubbs] — Atualização para Net-DNS-1.36 (módulo Perl). Corrige #17459.
[renodr] — Atualização para glib-2.74.4 (Atualização de Segurança). Corrige #17441.
[renodr] — Atualização para libtiff-4.5.0 (Atualização de Segurança). Corrige #17411.
[renodr] — Atualização para dovecot-2.3.20. Corrige #17438.
[renodr] — Atualização para curl-7.87.0 (Atualização de Segurança). Corrige #17432.
[bdubbs] — Atualização para mesa-22.3.2. Corrige #17457.
[bdubbs] — Atualização para sqlite-autoconf-3400100. Corrige #17456.
[bdubbs] — Atualização para opencv-4.7.0. Corrige #17455.
29 dezembro 2022
[bdubbs] — Atualização para traceroute-2.1.1. Corrige #17451.
[bdubbs] — Atualização para doxygen-1.9.6. Corrige #17450.
[bdubbs] — Atualização para libsndfile-1.2.0. Corrige #17448.
[bdubbs] — Atualização para libpsl-0.21.2. Corrige #17447.
[bdubbs] — Atualização para tree-2.1.0. Corrige #17446.
[bdubbs] — Atualização para ruby-3.2.0. Corrige #17379.
[bdubbs] - Atualização para a pilha gstreamer-1.20.5. Inclui gst-plugins-base, gst-plugins-good, gst-plugins-bad, gst-plugins-ugly, gst-libav e gstreamer-vaapi. Corrige #17420.
[pierre] — Atualização para gtk4-4.8.3. Corrige #17445.
[pierre] — Atualização para libsigc++2-2.12.0. Corrige #17443.
[pierre] — Atualização para graphviz-7.0.5. Corrige #17442.
[pierre] — Atualização para libgusb-0.4.3. Corrige #17428.
[pierre] — Atualização para libqalculate-4.5.0. Corrige #17421.
[pierre] — Atualização para NetworkManager-1.40.8. Corrige #17417.
28 dezembro 2022
[bdubbs] — Atualização para LibRaw-0.21.0. Corrige #17419.
[renodr] — Atualização para gedit-43.2. Corrige #17266.
[renodr] — Atualização para tepl-6.2.0. Corrige #17454.
[renodr] - Restaura tepl a partir dos arquivamentos em suporte de gedit. Corrige #17454.
[renodr] — Atualização para amtk-5.6.1. Corrige #17453.
[renodr] - Restaura amtk a partir dos arquivamentos em suporte de gedit. Corrige #17453.
[renodr] — Atualização para gucharmap-15.0.2. Corrige #17030.
[renodr] — Atualização para gnome-weather-43.0. Corrige #17092.
[renodr] — Atualização para gnome-terminal-3.46.7. Corrige #17089.
[renodr] — Atualização para gnome-power-manager-43.0. Corrige #17049.
[renodr] - Arquiva folks. O único pacote que o usava (gnome-maps) não mais o usa.
[renodr] — Atualização para gnome-maps-43.2. Corrige #17074.
[renodr] - Adiciona libshumate em suporte de gnome-maps. Corrige #17452.
[renodr] — Atualização para gnome-logs-43.0. Corrige #17121.
[renodr] — Atualização para gnome-disk-utility-43.0. Corrige #17057.
[renodr] — Atualização para gnome-calculator-43.0.1. Corrige #17053.
[renodr] — Atualização para file-roller-43.0. Corrige #17073.
[renodr] - Remenda systemd contra CVE-2022-4415. Corrige 17433.
[pierre] — Atualização para gtk+-3.24.36. Corrige #17344.
[renodr] - Corrige construção de Seahorse com GnuPG-2.4.
[renodr] - Desabilita construção da extensão nautilus no Brasero. Isso é devido a ser incompatível com a versão GTK-4 do Nautilus.
[renodr] — Atualização para evolution-3.46.2. Corrige #17048.
[renodr] — Atualização para evince-43.1. Corrige #17088.
[renodr] — Atualização para eog-43.1. Corrige #17066.
[renodr] — Atualização para baobab-43.0. Corrige #17093.
[renodr] — Atualização para yelp-42.2. Corrige #17068.
[renodr] — Atualização para gnome-user-docs-43.0. Corrige #17081.
[renodr] — Atualização para gdm-43.0. Corrige #17101.
[renodr] — Atualização para gnome-session-43.0. Corrige #17102.
[renodr] — Atualização para gnome-shell-extensions-43.1. Corrige #17063.
[renodr] — Atualização para gnome-shell-43.2. Corrige #17062.
[renodr] - Arquiva Zenity. Não mais é usado nem por Mutter nem por Libreoffice.
[renodr] — Atualização para mutter-43.2. Corrige #17064.
[renodr] — Atualização para gnome-control-center-43.2. Corrige #17034.
[renodr] — Atualização para gnome-settings-daemon-43.0. Corrige #17077.
[renodr] — Atualização para gnome-bluetooth-42.5. Corrige #17407.
[renodr] — Atualização para nautilus-43.1. Corrige #17087.
[renodr] - Adiciona libcloudproviders-0.3.1 em suporte de Nautilus. Corrige #17436.
[renodr] — Atualização para gnome-backgrounds-43.0. Corrige #17100.
[renodr] — Atualização para evolution-data-server-3.46.2. Corrige #17047.
[renodr] — Atualização para dconf-editor-43.0. Corrige #17059.
[renodr] — Atualização para tracker-miners-3.4.2. Corrige #17079.
[renodr] — Atualização para tracker-3.4.2. Corrige #17079.
[renodr] — Atualização para libwnck-43.0. Corrige #17050.
[renodr] — Atualização para libpeas-1.34.0. Corrige #17071.
[renodr] — Atualização para libgweather-4.2.0. Corrige #17091.
27 dezembro 2022
[bdubbs] — Atualização para harfbuzz-6.0.0. Corrige #17415.
[bdubbs] — Atualização para tk8.6.13. Corrige #17414.
[bdubbs] — Atualização para unrar-6.2.3. Corrige #17412.
[bdubbs] — Atualização para boost_1_81_0. Corrige #17408.
[bdubbs] — Atualização para qemu-7.2.0. Corrige #17406.
[bdubbs] — Atualização para mupdf-1.21.1. Corrige #17398.
[bdubbs] — Atualização para xscreensaver-6.06. Corrige #17393.
[bdubbs] — Atualização para exempi-2.6.3. Corrige #17389.
[bdubbs] — Atualização para btrfs-progs-v6.1. Corrige #17440.
[bdubbs] — Atualização para LVM2.2.03.18. Corrige #17439.
[dj] — Atualização para make-ca-1.12. Corrige #17449.
25 dezembro 2022
24 dezembro 2022
23 dezembro 2022
[timtas] - Atualização para Xfce 4.18, incluindo garcon libxfce4ui libxfce4util tumbler exo xfce4-panel xfconf xfwm4 xfdesktop xfce4-settings xfce4-appfinder xfce4-session xfce4-power-manager thunar thunar-volman ristretto xfce4-notifyd. Corrige #17409.
22 dezembro 2022
22 dezembro 2022
[bdubbs] — Atualização para python3-3.11.1. Corrige #17378.
[bdubbs] — Atualização para IO-Socket-SSL-2.078 (módulo Perl). Corrige #17392.
[bdubbs] — Atualização para File-Slurper-0.014 (módulo Perl). Corrige #17416.
[bdubbs] — Atualização para icewm-3.3.0. Corrige #17430.
[bdubbs] — Atualização para mesa-22.3.1. Corrige #17365.
21 dezembro 2022
20 dezembro 2022
[pierre] — Atualização para xcb-util-0.4.1. Corrige #17424.
[pierre] — Atualização para xwayland-22.1.7. Corrige #17423.
[pierre] - Atualização para libSM-1.2.4 (biblioteca xorg). Corrige #17425.
[pierre] - Atualização para libX11-1.8.3 (biblioteca xorg). Corrige #17413.
[pierre] - Atualização para xdriinfo-1.0.7 (aplicativo xorg). Corrige #17426.
[pierre] - Atualização para xhost-1.0.9 (aplicativo xorg). Corrige #17395.
[pierre] — Atualização para xorg-server-21.1.6 (atualização de segurança). Corrige #17422.
18 dezembro 2022
[thomas] - Remove um sed obsoleto oriundo de libarchive.
[ken] — Atualização para nss-3.86. Corrige #17387.
17 dezembro 2022
16 dezembro 2022
[renodr] — Atualização para libgee-0.20.6. Corrige #17058.
[renodr] — Atualização para gnome-online-accounts-3.46.0. Corrige #17067.
[renodr] — Atualização para cheese-43.0. Corrige #17401.
[renodr] — Atualização para gnome-desktop-43. Corrige #17090.
[renodr] - Porta geocode-glib para libsoup3.
[renodr] — Atualização para yelp-xsl-42.1. Corrige #17069.
[renodr] - Arquiva gfbgraph. Nada mais o usa e é incompatível com rest-0.9.1/libsoup3.
[renodr] - Adiciona uma entidade para a URL do gi-docgen e muda vários pacotes para usar essa URL em Dependências Opcionais.
[renodr] — Atualização para rest-0.9.1. Corrige #16011.
[renodr] — Atualização para vte-0.70.2. Corrige #17043.
[renodr] — Atualização para gsettings-desktop-schemas-43.0. Corrige #17078.
15 dezembro 2022
[renodr] - Adapta Zenity para usar WebKitGTK+-2.38 se presente.
[renodr] - Adapta Balsa para funcionar com WebKitGTK+-2.38.
[renodr] — Atualização para epiphany-43.0. Corrige #17035.
[renodr] — Atualização para WebKitGTK+-2.38.2 (Atualização de Segurança). Corrige #17046.
[renodr] - Força gst-plugins-good a usar libsoup3.
[renodr] — Atualização para samba-4.17.4 (Atualizaçãode Segurança). Corrige #17410.
[thomas] — Atualização para logrotate-3.21-0. Corrige #17399.
[thomas] — Atualização para nano-7.1. Corrige #17405.
[pierre] — Atualização para thunderbird-102.6.0 (atualização de segurança). Corrige #17402.
[pierre] — Atualização para xorg-server-21.1.5 (atualização de segurança). Corrige #17403.
[pierre] — Atualização para xwayland-22.1.6 (atualização de segurança). Corrige #17404.
[pierre] — Atualização para lxml-4.9.2 (módulo python). Corrige #17400.
14 dezembro 2022
[renodr] — Atualização para seahorse-43.0. Corrige #17186.
[renodr] — Atualização para sysprof-3.46.0. Corrige #17072.
[renodr] — Atualização para gtksourceview5-5.6.1. Corrige #17070.
[renodr] — Atualização para gtksourceview4-4.8.4. Corrige #17268.
[renodr] — Atualização para adwaita-icon-theme-43. Corrige #17099.
[renodr] — Atualização para pyatspi-2.46.0. Corrige #17111.
[renodr] - Arquivado at-spi2-atk dado que os arquivos dele agora são fornecidos por at-spi2-core.
[renodr] - Arquivado ATK dado que os arquivos dele agora são fornecidos por at-spi2-core.
[renodr] - Muda dependências de atk ou at-spi2-atk para at-spi2-core ao longo do livro.
[renodr] — Atualização para at-spi2-core-2.46.0. Corrige #17060.
13 dezembro 2022
[ken] - Atualização para firefox-102.6.0 (Atualização de Segurança) e JS102.6.0. Corrige #17394.
12 dezembro 2022
[renodr] — Atualização para libsoup-3.2.2. Corrige #17031.
[renodr] - Atualização para libadwaita-1.2.0. Corrige 17032.
[renodr] — Atualização para libhandy-1.8.0. Corrige #17033.
[renodr] — Atualização para glib-networking-2.74.0. Corrige #17036.
[ken] - Remenda o módulo Python Requests para usar a mesma variávewl de ambiente que o Pip para acessar certificados do sistema; dessa maneira, remove a dependência desnecessária de Certifi.
11 dezembro 2022
[bdubbs] — Atualização para plasma5-5.26.4. Corrige #16996.
[bdubbs] - Adiciona kuserfeedback-1.2.0 necessitado por plasma.
[bdubbs] - Atualização para kf5-apps-22.12.0, incluindo kate, kwave e falkon. Corrige #17006.
[bdubbs] - Atualização para kf5-5.101, incluindo extra-cmake-modules, oxygen-icons e breeze-icons. Corrige #17021.
9 dezembro 2022
[pierre] — Atualização para uchardet-0.0.8. Corrige #17384.
[pierre] - Atualização para libfontenc-1.1.7, libxkbfile-1.1.2, libxshmfence-1.3.2 e libICE-1.1.1 (Bibliotecas Xorg). Corrige #17383.
[pierre] — Atualização para libXau-1.0.11. Corrige #17382.
[pierre] - Atualização para xkbcomp-1.4.6 (aplicativo Xorg). Corrige #17381.
8 dezembro 2022
[bdubbs] — Atualização para wireshark-4.0.2. Corrige #17380.
[bdubbs] — Atualização para pcre2-10.41. Corrige #17377.
[bdubbs] — Atualização para NetworkManager-1.40.6. Corrige #17364.
[bdubbs] — Atualização para graphviz-7.0.4. Corrige #17370.
[bdubbs] — Atualização para tcsh-6.24.05. Corrige #17369.
[bdubbs] — Atualização para poppler-22.12.0. Corrige #17368.
[bdubbs] — Atualização para SDL2-2.26.1. Corrige #17367.
6 dezembro 2022
[pierre] — Atualização para inkscape-1.2.2. Corrige #17376.
[pierre] — Atualização para icewm-3.2.3. Corrige #17374.
[pierre] — Atualização para xinit-1.4.2. Corrige #17373.
[pierre] - Atualização para xcursorgen-1.0.8, xgamma-1.0.7, xprop-1.2.6, xrandr-1.5.2, xset-1.2.5 e xvinfo-1.1.5 (aplicativos Xorg). Corrige #17372.
[pierre] - Atualização para libICE-1.1.0, libXScrnSaver-1.2.4, libXcomposite-0.4.6, libXdamage-1.1.6, libXres-1.2.2, libXv-1.0.12 e libXxf86dga-1.1.6 (bibliotecas Xorg). Corrige #17371.
5 dezembro 2022
3 dezembro 2022
2 dezembro 2022
[pierre] — Atualização para thunderbird-102.5.1 (Atualização de segurança). Corrige #17360.
1 dezembro 2022
[ken] - Adiciona página explicando como usar os Certificados de AC do sistema com o pip fornecido por Python instalado no LFS. Corrige #17354.
30 novembro 2022
28 novembro 2022
[bdubbs] — Atualização para pycairo-1.23.0. Corrige #17356.
[bdubbs] — Atualização para php-8.1.13. Corrige #17348.
[bdubbs] — Atualização para umockdev-0.17.15. Corrige #17347.
[bdubbs] — Atualização para btrfs-progs-v6.0.2. Corrige #17346.
[pierre] — Atualização para libreoffice-7.4.3.2. Corrige #17350.
[bdubbs] — Atualização para pycryptodome-3.16.0 (módulo Python). Corrige #17355.
[bdubbs] — Atualização para pipewire-0.3.61. Corrige #17351.
[bdubbs] — Atualização para tcsh-6.24.02. Corrige #17345.
[thomas] — Atualização para ruby-3.1.3. Corrige #17349.
27 novembro 2022
[bdubbs] — Atualização para vlc-3.0.18. Corrige #17343.
[bdubbs] — Atualização para newt-0.52.22. Corrige #17339.
[bdubbs] — Atualização para libpng-1.6.39. Corrige #17335.
[bdubbs] — Atualização para SDL2-2.26.0. Corrige #17335.
[bdubbs] — Atualização para qpdf-11.2.0. Corrige #17333.
[bdubbs] — Atualização para mercurial-6.3.1. Corrige #17330.
[bdubbs] — Atualização para graphviz-7.0.3. Corrige #17329.
26 novembro 2022
[bdubbs] — Atualização para xterm-377. Corrige #17353.
[bdubbs] — Atualização para pycairo-1.22.0. Corrige #17352.
[bdubbs] — Atualização para pciutils-3.9.0. Corrige #17342.
[bdubbs] — Atualização para usbutils-015. Corrige #17341.
[bdubbs] — Atualização para IO-Socket-SSL-2.077 (módulo Perl). Corrige #17338.
[bdubbs] — Atualização para wayland-protocols-1.30. Corrige #17336.
[bdubbs] - Atualização para libinput-1.22.0 (controlador Xorg). Corrige #17332.
[bdubbs] - Atualização para libXpm-3.5.14 (biblioteca Xorg). Corrige #17331.
[bdubbs] - Atualização para libXrandr-1.5.3 (biblioteca Xorg). Corrige #17334.
[bdubbs] — Atualização para pango-1.50.12. Corrige #17328.
[bdubbs] — Atualização para mlt-7.12.0. Corrige #17327.
24 novembro 2022
[dj] — Atualização para make-ca-1.11. Corrige #17340.
22 novembro 2022
[pierre] — Atualização para NetworkManager-1.40.4. Corrige #17325.
20 novembro 2022
18 novembro 2022
[bdubbs] — Atualização para bind e bind-utilities-9.18.9. Corrige #17320.
[bdubbs] — Atualização para sqlite-autoconf-3400000 (3.40.0). Corrige #17322.
[bdubbs] — Atualização para xterm-376. Corrige #17323.
[ken] — Atualização para mutt-2.2.9. Corrige #17274.
[pierre] — Atualização para mesa-22.2.4. Corrige #17321.
[pierre] - Atualização para libXft-2.3.7 (biblioteca Xorg). Corrige #17317.
[pierre] — Atualização para LLVM-15.0.5. Corrige #17319.
[pierre] — Atualização para cmake-3.25.0. Corrige #17318.
17 novembro 2022
[renodr] — Atualização para nano-7.0. Corrige #17314.
[renodr] — Atualização para samba-4.17.3 (Atualização de Segurança). Corrige #17316.
[bdubbs] — Atualização para krb5-1.20.1 (Atualização de Segurança). Corrige #17313.
[bdubbs] — Atualização para sysstat-12.7.1. Corrige #17310.
[bdubbs] — Atualização para xfsprogs-6.0.0. Corrige #17309.
[bdubbs] — Atualização para nghttp2-1.51.0. Corrige #17301.
[bdubbs] — Atualização para gegl-0.4.40. Corrige #17298.
[bdubbs] — Atualização para babl-0.1.98. Corrige #17297.
[bdubbs] — Atualização para grantlee-5.3.1. Corrige #17295.
[bdubbs] — Atualização para nss-3.85. Corrige #17294.
[pierre] — Atualização para Mako-1.2.4 (Módulo Python). Corrige #17315.
[pierre] — Atualização para mercurial-6.3.0. Corrige #17312.
16 novembro 2022
[bdubbs] — Atualização para postgresql-15.1. Corrige #17290.
[bdubbs] — Atualização para bluez-5.66. Corrige #17288.
[bdubbs] — Atualização para icewm-3.2.2. Corrige #17281.
[ken] — Atualização para firefox-102.5.0 (Atualização de Segurança). Corrige #17306.
[ken] - Atualiza js102 para 102.5.0 (correção de segurança. Corrige #17308.
[pierre] - Atualização para shadow-4.13. Corrige #17282. Também aumenta o número de voltas de "criptografia". Isso possivelmente exija atualizar os arquivos PAM para mantê-los sincronizados.
[bdubbs] — Atualização para soundtouch-2.3.2. Corrige #17280.
[bdubbs] - Atualização para xlsclients-1.1.5 (Aplicativo Xorg). Corrige #17305.
[bdubbs] - Atualização para xlsatoms-1.1.4 (Aplicativo Xorg). Corrige #17304.
[bdubbs] - Atualização para xkill-1.0.6 (Aplicativo Xorg). Corrige #17303.
[bdubbs] - Atualização para xkbevd-1.1.5 (Aplicativo Xorg). Corrige #17302.
[bdubbs] — Atualização para IO-Socket-SSL-2.076 (Módulo Perl). Corrige #17311.
[pierre] — Atualização para fop-2.8. Corrige #17293.
[pierre] — Atualização para pipewire-0.3.60. Corrige #17292.
[pierre] - Atualização para libX11-1.8.2 (Biblioteca Xorg). Corrige #17291.
[pierre] — Atualização para graphviz-7.0.1. Corrige #17287.
[pierre] — Atualização para LVM2-2.03.17. Corrige #17286.
[pierre] — Atualização para mesa-22.2.3. Corrige #17279.
15 novembro 2022
14 novembro 2022
[renodr] - Adicionado gcr4 em suporte de gnome-shell. Corrige #17084.
[renodr] - Adicionado js102 em suporte de gjs. Arquivado js91. Corrige #16714.
[renodr] — Atualização para gjs-1.74.1. Corrige #17106.
[renodr] - Atualização para network-manager-applet-1.30.0. Corrige 17283.
[renodr] - Atualização para libnma-1.10.4. Corrige 17284.
[renodr] - Atualização para highlight-4.4. Corrige 17299.
[renodr] — Atualização para unrar-6.2.2. Corrige #17300.
[renodr] — Atualização para sysstat-12.6.1 (Atualização de Segurança). Corrige #17289.
[renodr] — Atualização para xfce4-settings-4.16.5 (Atualização de Segurança). Corrige #17296.
10 novembro 2022
[pierre] - Corrige construir aplicativos mozilla e qtwebengine com Python-3.11.
[renodr] — Atualização para php-8.1.12 (Atualização de Segurança). Corrige #17241.
9 novembro 2022
8 novembro 2022
[bdubbs] — Atualização para mupdf-1.21.0. Corrige #17276.
[bdubbs] — Atualização para jasper-4.0.0 (Atualização de Segurança). Corrige #17272.
[bdubbs] — Atualização para btrfs-progs-v6.0.1. Corrige #17271.
[pierre] — Atualização para node.js-18.12.1 (Atualização de Segurança). Corrige #17228.
[bdubbs] — Atualização para sudo-1.9.12p1. Corrige #17270.
[bdubbs] — Atualização para wayland-protocols-1.28. Corrige #17269.
[bdubbs] — Atualização para llvm-15.0.4. Corrige #17264.
[bdubbs] — Atualização para libdrm-2.4.114. Corrige #17267.
[bdubbs] — Atualização para icewm-3.2.0. Corrige #17265.
[bdubbs] — Atualização para xwayland-22.1.5. Corrige #17261.
[bdubbs] — Atualização para mlt-7.10.0. Corrige #17259.
[bdubbs] — Atualização para SDL2-2.24.2. Corrige #17258.
[bdubbs] — Atualização para cmake-3.24.3. Corrige #17257.
[timtas] — Atualização para xfce4-settings-4.16.4. Corrige #17275.
6 novembro 2022
3 novembro 2022
1 novembro 2022
31 outubro 2022
30 outubro 2022
[bdubbs] — Atualização para mpg123-1.31.0. Corrige #17246.
[bdubbs] - Atualização para xsetroot-1.1.3 (aplicativo Xorg). Corrige #17244.
[bdubbs] - Atualização para sessreg-1.1.3 (aplicativo Xorg). Corrige #17248.
[bdubbs] - Atualização para libXinerama-1.1.5 (biblioteca Xorg). Corrige #17243.
[bdubbs] - Atualização para libXext-1.3.5 (biblioteca Xorg). Corrige #17242.
29 outubro 2022
28 outubro 2022
[renodr] — Atualização para samba-4.17.2 (Atualização de Segurança). Corrige #17208.
[renodr] - Remenda libtiff contra várias vulnerabilidades. Corrige #17144.
[bdubbs] — Atualização para taglib-1.13. Corrige #17238.
[bdubbs] — Atualização para xarchiver-0.5.4.20. Corrige #17235.
[bdubbs] — Atualização para gdk-pixbuf-2.42.10. Corrige #17234.
[ken] — Atualização para fetchmail-6.4.34. Corrige #17188.
27 outubro 2022
24 outubro 2022
24 outubro 2022
23 outubro 2022
[bdubbs] — Atualização para thunderbird-102.4.0. Corrige #17209.
[bdubbs] — Atualização para flac-1.4.2. Corrige #17218.
[bdubbs] — Atualização para fontconfig-2.14.1. Corrige #17215.
[bdubbs] — Atualização para Log-Log4perl-1.57 (módulo Perl). Corrige #17216.
[bdubbs] — Atualização para xwayland-22.1.4. Corrige #17214.
[bdubbs] — Atualização para faad2-2.10.1. Corrige #17210.
[bdubbs] — Atualização para NetworkManager-1.40.2. Corrige #17204.
[bdubbs] — Atualização para llvm-15.0.3. Corrige #17154.
[bdubbs] — Atualização para harfbuzz-5.3.1. Corrige #17211.
[bdubbs] — Atualização para mesa-22.2.2. Corrige #17213.
[bdubbs] - Atualização para xcb-util-image-0.4.1, xcb-util-keysyms-0.4.1, xcb-util-renderutil-0.3.10, xcb-util-wm-0.4.2, xcb-util-cursor-0.1.4. Corrige #17206.
[bdubbs] — Atualização para libXrender-0.9.11 (Biblioteca Xorg). Corrige #17217.
[bdubbs] — Atualização para libxshmfence-1.3.1 (Biblioteca Xorg). Corrige #17205.
22 outubro 2022
21 outubro 2022
[thomas] - Atualização para bind-9.18.8, bind-utils-9.18.8. Corrige #17207.
[thomas] — Atualização para rsync-3.2.7. Corrige #17212.
[bdubbs] — Atualização para libqalculate-4.4.0. Corrige #17195.
[bdubbs] — Atualização para libical-3.0.16. Corrige #17194.
[bdubbs] — Atualização para libunistring-1.1. Corrige #17191.
[bdubbs] — Atualização para asciidoctor-2.0.18. Corrige #17187.
[bdubbs] — Atualização para unbound-1.17.0. Corrige #17184.
[bdubbs] — Atualização para nss-3.84. Corrige #17181.
[bdubbs] — Atualização para gnupg-2.3.8. Corrige #17180.
[bdubbs] — Atualização para libsoup-2.74.3. Corrige #17178.
20 outubro 2022
[bdubbs] — Atualização para libreoffice-7.4.2.3. Corrige #17179.
[bdubbs] — Atualização para node.js-16.18.0. Corrige #17176.
[bdubbs] - Atualização para gstreamer-1.20.4 gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav gstreamer-vaapi. Corrige #17175.
[pierre] - Atualização para libxkbfile-1.1.1 (Biblioteca Xorg). Corrige #17198.
[pierre] - Atualização para libpciaccess-0.17 (Biblioteca Xorg). Corrige #17197.
[pierre] - Atualização para libXmu-1.1.4 (Biblioteca Xorg). Corrige #17196.
[pierre] - Atualização para smproxy-1.0.7 (Aplicativo Xorg). Corrige #17189.
[pierre] — Atualização para libxml2-2.10.3 (Atualização de Segurança). Corrige #17185.
[pierre] — Atualização para graphviz-6.0.2. Corrige #17172.
[pierre] — Atualização para libwacom-2.5.0. Corrige #17182.
[pierre] — Atualização para mesa-22.2.1. Corrige #17170.
[pierre] — Atualização para wayland-protocols-1.27. Corrige #17169.
[pierre] — Atualização para harfbuzz-5.3.0. Corrige #17166.
[pierre] - Atualização para libva-2.16.0 (Controlador Xorg). Corrige #17164.
[pierre] — Atualização para freeglut-3.4.0. Corrige #17163.
19 outubro 2022
18 outubro 2022
[bdubbs] — Atualização para thunderbird-102.3.3 (Atualização de segurança). Corrige #17138.
[bdubbs] — Atualização para sqlite-autoconf-3390400 (3.39.4). Corrige #17137.
[bdubbs] — Atualização para php-8.1.11. Corrige #17136.
[ken] — Atualização para firefox-102.4.0 (Atualização de Segurança). Corrige #17192.
17 outubro 2022
15 outubro 2022
[bdubbs] — Atualização para btrfs-progs-v6.0. Corrige #17171.
[bdubbs] — Atualização para libksba-1.6.2 (Correção de segurança). Corrige #17162.
[bdubbs] — Atualização para libgpg-error-1.46. Corrige #17161.
[bdubbs] — Atualização para dbus-1.14.4. Corrige #17156.
[bdubbs] — Atualização para JSON-4.10 (Módulo Perl). Corrige #17165.
[bdubbs] — Atualização para URI-5.16 (Módulo Perl). Corrige #17167.
[bdubbs] — Atualização para HTML-Parser-3.79 (Módulo Perl). Corrige #17177.
14 outubro 2022
12 outubro 2022
[thomas] — Atualização para postfix-3.7.3. Corrige #17160.
11 outubro 2022
9 outubro 2022
[bdubbs] — Atualização para wireshark-4.0.0. Corrige #17152.
5 outubro 2022
[bdubbs] - Atualização para Net-DNS-1.35 (Módulo Perl). Corrige #17153.
[bdubbs] — Atualização para xkeyboard-config-2.37. Corrige #17151.
[bdubbs] — Atualização para SDL2-2.24.1. Corrige #17150.
[bdubbs] — Atualização para openssh-9.1p1 e ssh-askpass-9.1p1. Corrige #17149.
[bdubbs] — Atualização para icewm-3.0.0. Corrige #17148.
[bdubbs] — Atualização para git-2.38.0. Corrige #17147.
4 outubro 2022
1 outubro 2022
29 setembro 2022
[timtas] - Corrige Xfce4 Power Manager Introduction.
[pierre] — Atualização para seamonkey-2.53.14. Corrige #17135.
[pierre] — Atualização para plasma-wayland-protocols-1.9.0. Corrige #17134.
[pierre] — Atualização para highlight-4.3. Corrige #17133.
[pierre] — Atualização para gnutls-3.7.8. Corrige #17132.
[pierre] — Atualização para gspell-1.12.0. Corrige #17131.
27 setembro 2022
26 setembro 2022
25 setembro 2022
24 setembro 2022
[bdubbs] — Atualização para node-16.17.1 (atualização de segurança). Corrige #17119.
[bdubbs] — Atualização para unbound-1.16.3 (atualização de segurança). Corrige #17114.
[bdubbs] — Atualização para bind-9.18.7 (atualização de segurança). Corrige #17109.
[timtas] - Desatualização para mypaint-brushes-1.3.1. Corrige uso do Gimp.
23 setembro 2022
[bdubbs] — Atualização para xapian-core-1.4.21. Corrige #17117.
[bdubbs] — Atualização para flac-1.4.1. Corrige #17116.
[bdubbs] — Atualização para mesa-22.2.0. Corrige #17107.
[bdubbs] — Atualização para balsa-2.6.4. Corrige #17104.
[renodr] — Atualização para libwpe-1.14.0. Corrige #16535.
[renodr] — Atualização para nghttp2-1.50.0. Corrige #17113.
[renodr] — Atualização para Mako-1.2.3 (Módulo Python). Corrige #17118.
[pierre] — Atualização para ghostscript-10.00.0. Corrige #17115.
21 setembro 2022
[renodr] — Atualização para cmake-3.24.2. Corrige #17026.
[renodr] — Atualização para gtkmm-3.24.7. Corrige #17027.
[renodr] — Atualização para libblockdev-2.28. Corrige #17029.
[renodr] — Atualização para xfce4-pulseaudio-plugin-0.4.5. Corrige #17037.
[renodr] — Atualização para graphviz-6.0.1. Corrige #17019.
[renodr] — Atualização para kdsoap-2.1.1. Corrige #17020.
[renodr] — Atualização para neon-0.32.4. Corrige #17022.
[renodr] — Atualização para btrfs-progs-5.19.1. Corrige #17023.
[bdubbs] — Atualização para pangomm-2.46.3. Corrige #17110.
[bdubbs] — Atualização para wpebackend-fdo-1.14.0. Corrige #17103.
[bdubbs] — Atualização para mypaint-brushes-2.0.2. Corrige #17098.
[bdubbs] — Atualização para glibmm-2.66.5. Corrige #17095.
[bdubbs] — Atualização para popt-1.19. Corrige #17055.
[bdubbs] — Atualização para gobject-introspection-1.74.0. Corrige #17065.
[bdubbs] — Atualização para glib-2.74.0. Corrige #17061.
[renodr] — Atualização para nss-3.83. Corrige #17038.
20 setembro 2022
[renodr] — Atualização para WebKitGTK+-2.36.8 (Atualização de Segurança). Corrige #17096.
[pierre] — Atualização para libreoffice-7.4.1.2.. Corrige #17044.
[pierre] — Atualização para gnumeric-1.12.53.. Corrige #17076.
[pierre] — Atualização para goffice-0.10.53.. Corrige #17075.
[pierre] — Atualização para gtk-4.8.1.. Corrige #17052.
[ken] — Atualização para firefox-102.3.0 (Atualização de Segurança). Corrige #17097.
19 setembro 2022
[renodr] — Atualização para qtwebengine-5.15.11 (Atualização de Segurança). Corrige #17028.
[bdubbs] — Atualização para harfbuzz-5.2.0. Corrige #17056.
[bdubbs] — Atualização para libksba-1.6.1. Corrige #17054.
[bdubbs] — Atualização para pango-1.50.10. Corrige #17051.
[bdubbs] — Atualização para pipewire-0.3.58. Corrige #17045.
[bdubbs] — Atualização para acpid-2.0.34. Corrige #17041.
[bdubbs] — Atualização para qpdf-11.1.0. Corrige #17040.
17 setembro 2022
[timtas] — Atualização para libpng-1.6.38. Corrige #17039.
16 setembro 2022
[bdubbs] — Atualização para nspr-4.35. Corrige #17018.
[bdubbs] — Atualização para libgusb-0.4.0. Corrige #17017.
[bdubbs] — Atualização para emacs-28.2. Corrige #17016.
[bdubbs] — Atualização para stunnel-5.66. Corrige #17015.
[renodr] — Atualização para Thunderbird-102.2.2. Corrige #17053.
[renodr] — Atualização para NetworkManager-1.40.0. Corrige #16956.
[renodr] — Atualização para gnome-bluetooth-42.4. Corrige #16997.
[renodr] — Atualização para samba-4.17.0. Corrige #16999.
[renodr] — Atualização para ModemManager-1.18.12. Corrige #17008.
[pierre] - Incondicionalmente use duktape para polkit: adiciona baixa sobrecarga e simplifica as instruções.
15 setembro 2022
[timtas] - Corrige URL quebrada de transferência do duktape.
[timtas] - Adiciona duktape-2.7.0, permite que polkit use duktape em vez de JS. Corrige #17025.
11 setembro 2022
[bdubbs] — Atualização para grantlee-5.3.0. Corrige #17014.
[bdubbs] - Atualização para libXft-2.3.6 (biblioteca xorg). Corrige #17013.
[bdubbs] — Atualização para qpdf-11.0.0. Corrige #17012.
[bdubbs] — Atualização para libnma-1.10.2. Corrige #17007.
[bdubbs] — Atualização para fuse-3.12.0. Corrige #17005.
[bdubbs] — Atualização para php-8.1.10. Corrige #16974.
10 setembro 2022
[pierre] - Habilita pie e ssp por padrão tanto no GCC quanto no LLVM/clang.
[bdubbs] — Atualização para xscreensaver-6.05.1. Corrige #17010.
[bdubbs] — Atualização para flac-1.4.0. Corrige #17011.
[bdubbs] — Atualização para rsync-3.2.6. Corrige #17009.
[bdubbs] — Atualização para gtk4-4.8.0. Corrige #17001.
[bdubbs] — Atualização para wireshark-3.6.8 (Atualização de Segurança). Corrige #17000.
[bdubbs] — Atualização para hdparm-9.65. Corrige #16998.
[bdubbs] — Atualização para plasma-wayland-protocols-1.8.0. Corrige #16995.
[bdubbs] — Atualização para Python-3.10.7 (Atualização de Segurança). Corrige #16994.
[bdubbs] - Adiciona o módulo Python Cython.
9 setembro 2022
[pierre] — Atualização para Qt-5.15.6. Corrige #17002.
6 setembro 2022
6 setembro 2022
[bdubbs] — Atualização para nmap-7.93. Corrige #16975.
[bdubbs] — Atualização para git-2.37.3. Corrige #16967.
[bdubbs] — Atualização para mercurial-6.2.2. Corrige #16973.
[bdubbs] — Atualização para xfce4-pulseaudio-plugin-0.4.4. Corrige #16979.
[bdubbs] — Atualização para xfce4-notifyd-0.6.4. Corrige #16976.
[bdubbs] - Atualização para libXft-2.3.5 (biblioteca xorg). Corrige #16990.
[bdubbs] — Atualização para sqlite-autoconf-3390300 (3.39.3). Corrige #16989.
[bdubbs] — Atualização para ffmpeg-5.1.1. Corrige #16972.
5 setembro 2022
[bdubbs] — Atualização para neon-0.32.3. Corrige #16988.
[bdubbs] — Atualização para libwpe-1.12.3. Corrige #16987.
[bdubbs] — Atualização para cracklib-2.9.8. Corrige #16981.
[bdubbs] — Atualização para libsoup-3.0.8. Corrige #16977.
[bdubbs] - Adiciona --no-user nas instruções de instalação do módulo Python. Corrige #16965.
4 setembro 2022
[pierre] — Atualização para pipewire-0.3.57. Corrige #16984.
[pierre] — Atualização para vala-0.56.3. Corrige #16980.
[pierre] — Atualização para libadwaita-1.1.5. Corrige #16978.
[pierre] — Atualização para libdrm-2.4.113. Corrige #16970.
[pierre] — Atualização para librsvg-2.54.5. Corrige #16953.
[bdubbs] — Atualização para Log-Log4perl-1.56 (Módulo Perl). Corrige #16983.
[bdubbs] — Atualização para IO-Socket-SSL-2.075 (Módulo Perl). Corrige #16982.
[bdubbs] — Atualização para doxygen-1.9.5. Corrige #16955.
[bdubbs] — Atualização para libatomic_ops-7.6.14. Corrige #16952.
3 setembro 2022
[renodr] — Atualização para libtasn1-4.19.0. Corrige #16942.
[renodr] — Atualização para babl-0.1.96. Corrige #16943.
[renodr] — Atualização para fetchmail-6.4.33. Corrige #16961.
[renodr] — Atualização para gc-8.2.2. Corrige #15732.
[renodr] — Atualização para libqalculate-4.3.0. Corrige #16933.
[renodr] — Atualização para nghttp2-1.49.0. Corrige #16935.
[renodr] — Atualização para mozjs-91.13.0. Corrige #16941.
[renodr] - Corrige construção de inkscape com poppler-22.09. Corrige #16985.
[renodr] - Corrige construção de Libreoffice com poppler-22.09. Corrige #16986.
[renodr] — Atualização para thunderbird-102.2.1 (Atualização de Segurança). Corrige #16971.
[renodr] — Atualização para poppler-22.09.0 (Atualização de Segurança). Corrige #16969.
[renodr] — Atualização para curl-7.85.0 (Atualização de Segurança). Corrige #16968.
2 setembro 2022
[bdubbs] — Atualização para libxslt-1.1.37. Corrige #16963.
[bdubbs] — Atualização para libxml2-2.10.2. Corrige #16950.
[bdubbs] — Atualização para libXau-1.0.10. Corrige #16958.
[bdubbs] - Atualização para libfontenc-1.1.6 (Biblioteca Xorg). Corrige #16960.
[bdubbs] - Atualização para libXfont2-2.0.6 (Biblioteca Xorg). Corrige #16959.
[bdubbs] - Atualização para libFS-1.0.9 (Biblioteca Xorg). Corrige #16957.
[bdubbs] — Atualização para Mako-1.2.2 (módulo Python). Corrige #16964.
[bdubbs] — Atualização para PyYAML-6.0 (módulo Python). Corrige #16951.
1 setembro 2022
[timtas] — Atualização para qemu-7.1.0. Corrige #16966.
[bdubbs] - Lançamento do BLFS-11.2.
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 https://www.linuxfromscratch.org/mail.html.
O Projeto BLFS criou um Wiki para usuários(as) comentarem acerca das páginas e das instruções em https://wiki.linuxfromscratch.org/blfs/wiki. Os comentários são bem vindos de todos(as) os(as) usuários(as).
As seguintes são as regras para postagem:
Os(As) usuários(as) precisam se registrarem e se logarem para editar uma página.
As sugestões para mudar o livro deveriam ser feitas criando-se um novo tíquete, não fazendo-se comentários no Wiki.
As perguntas com os seus problemas específicos de instalação deveriam ser feitas assinando-se e escrevendo-se para a Lista de Discussão de Suporte do BLFS em mailto:blfs-support AT linuxfromscratch D0T org.
As discussões acerca das instruções de instalação deveriam ser feitas assinando-se e escrevendo-se para a Lista de Desenvolvimento do BLFS em mailto:blfs-dev AT linuxfromscratch D0T org.
Material inapropriado será removido.
Se você encontrar um problema enquanto usar este livro e o seu problema não estiver listado nas Perguntas Frequentes (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 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.
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 <controlador>
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 <usuário(a)>
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
“Indo
Além do BLFS” está disponível para
ajudar você a verificar.
<pacote>
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 11.3),
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 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.
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.
Bruce Dubbs
Pierre Labastie
DJ Lucas
Ken Moffat
Douglas Reno
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ć
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
Por favor, direcione as suas mensagens de correio eletrônico para uma das listas de discussão do BLFS. Veja-se Listas de discussão para mais informação acerca das listas de discussão disponíveis.
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.
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.
Enquanto você pode manter os arquivos do fonte em qualquer lugar que queira, nós assumimos que você desempacotou o pacote e mudou para o diretório criado pelo processo de desempacotamento (o diretório de 'construção'). Nós assumimos também que você descomprimiu quaisquer remendos exigidos e que eles estão no diretório imediatamente acima do diretório de 'construção'.
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 Makefile
s e código C; porém, se em dúvida,
[então] inicie a partir de uma árvore limpa.
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
.
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
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, você precisa estar apto(a) a
desempacotar remendos que geralmente não estão no formato
.tar
. A melhor maneira de fazer
isso é a de copiar o arquivo do remendo para o ancestral do
diretório da 'construção' e, então, executar um dos seguintes
comandos, dependendo se o arquivo for um arquivo .gz
ou um .bz2
:
gunzip -v nome_remendo.gz bunzip2 -v nome_remendo.bz2
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 <nome_do_arquivo_transferido>
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 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:
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 GnuPG-2.4.0 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-keyarquivo
.sigarquivo
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.
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 <comando>
pelo comando
que você pretende executar.
( <comando>
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
<comando>
seja retornado como o resultado e não o resultado do comando
tee.
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
porém, para o ninja, o número padrão de trabalhos é <N>+2, onde <N> é o número de processadores disponíveis, de forma que usar os comandos acima é preferencialmente para limitar o número de trabalhos (veja-se abaixo para o porque isso poderia ser necessário).
Geralmente o número de processos não deveria exceder o número
de núcleos suportados pela CPU. Para listar os processadores
em seu 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, [então] 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
.
Quando se executar os testes de pacote ou a porção instalar do processo de construção do pacote, nós não recomendamos usar uma opção maior que '-j1', a menos que especificado de outra maneira. Os procedimentos ou verificações da instalação não foram validados usando-se procedimentos paralelos e possivelmente falhem com problemas que são difíceis de se depurar.
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.
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 Makefile
s;
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.
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.
Construir o pacote CUPS é um bom exemplo de como redirecionar um arquivo como entrada gerada para solicitações pode te ajudar a automatizar a construção. Se você executar a suíte de teste, [então] você é solicitado(a) a responder a uma série de perguntas relacionadas ao tipo do teste a executar e se você tem quaisquer aplicativos auxiliares que o teste possa usar. Você pode criar um arquivo com as suas respostas, uma resposta por linha, e usar um comando similar ao mostrado abaixo para automatizar a execução da suíte de teste:
make check < ../cups-1.1.23-testsuite_parms
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.
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 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.
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 | more
Certamente, você será exigido(a) a visualizar a saída gerada
uma página por vez, pois o filtro more 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 | more > 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 | more
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.
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 consegue ser corretamente construído sem a dependência tendo primeiro sido instalada.
Recomendada significa que o BLFS enfaticamente sugere que esse pacote seja instalado primeiro para uma construção limpa e livre de problemas; que não teria problemas seja durante o processo de construção, seja em tempo de execução. As instruções no livro assumem que esses pacotes estejam instalados. Algumas mudanças ou gambiarras possivelmente sejam exigidas se esses pacotes não estiverem instalados.
Opcional significa que esse pacote poderia estar instalado para funcionalidade adicionada. Frequentemente o BLFS descreverá a dependência para explicar a funcionalidade adicionada que resultará.
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).
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.
Existem várias maneiras de se despojar executáveis instalados por um pacote. Elas dependem do sistema de construção usado (veja-se abaixo a seção acerca de sistemas de construção), de modo que somente algumas generalidades podem ser listadas aqui:
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<alguma_coisa>
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.
O utilitário strip muda arquivos no
lugar, 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). O script 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
{ find /usr/lib -type f -name '*.so*' ! -name '*dbg'
find /usr/lib -type f -name '*.a'
find /usr/{bin,sbin,libexec} -type f
} | while read 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
cp --preserve $file ${file}.tmp
strip --strip-unneeded ${file}.tmp
mv ${file}.tmp $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 https://www.technovelty.org/linux/stripping-shared-libraries.html.
Existem, agora, três sistemas de construção em uso comum para converter código fonte C ou C++ em aplicativos ou bibliotecas compilados(as) 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 e CXXFLAGS. 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), [entã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 forçar-se a compilação para uma microarquitetura específica (por exemplo, -march=amdfam10; -march=native) 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 desabilitados em lançamentos usando-se -DNDEBUG. Especificamente, se o Mesa-22.3.5 for construído com essas asserções habilitadas, [então] 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.
Essa combinação frequentemente é descrita como 'CMMI' (configure; make; make install) e é usada aqui também para cobrir os poucos pacotes que tem um script de configuração que não é 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, [então] adicionar 'V=1' à invocação do make possivelmente ajude.
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 largos 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 é configurado e nenhum sinalizador é gerado. Quaisquer CFLAGS ou CXXFLAGS no ambiente serão usados. Se o(a) programador(a) tiver codificado quaisquer asserções de depuração, [então] essas serã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.
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<alguma_opção>=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 largos 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 -DNDEBUG' (porém, ocasionalmente, um pacote forçará -O2 aqui)
Apesar do tipo de construção 'lançamento' estar descrito como habilitante do -DNDEBUG e todas as construções CMake Release passarem isso, tem, até agora, somente sido observado (em construções verbosas) para o Mesa-22.3.5. Isso sugere que somente poderia ser usado quando existirem asserções de depuração presentes.
O sinalizador -DNDEBUG também pode ser fornecido 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'.
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
transferirão conforme necessário. Esses pacotes são
construídos usando-se cargo
--release. Na teoria, você consegue manipular
o RUSTFLAGS para mudar o nível de otimização (padrão é 3,
semelhante a -03; por exemplo, -Copt-level=3
) 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ê encontrar um aplicativo rustc interessante que seja
fornecido apenas como fonte desempacotado, [então] você
deveria, pelo menos, especificar RUSTFLAGS=-Copt-level=2
; do contrário, fará
uma compilação não otimizada, com informação de depuração e
executará muito mais
lento.
Os(As) desenvolvedores(as) do rust parecem presumir que todos
compilarão em uma máquina dedicada a produzir construções, de
forma que, por padrão, todas as CPUs serão usadas. Isso,
frequentemente, pode ser contornado, seja exportando-se
CARGO_BUILD_JOBS=<N>, seja passando-se --jobs <N>
para o cargo. Para compilar o próprio rustc, especificar-se
--jobs <N> em invocações de x.py (junto 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) na maioria das vezes funciona. 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.
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 https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html; e https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html; e info gcc.
Alguns pacotes padronizam para '-O2 -g'; outros para '-O3 -g'; e, se CFLAGS ou CXXFLAGS forem fornecidos, [então] eles poderiam ser adicionados aos padrões do pacote; substituir os padrões do pacote; ou até serem ignorados. Existem detalhes acerca de alguns pacotes de área de trabalho que eram na maioria das vezes atuais em abril de 2019 em https://www.linuxfromscratch.org/~ken/tuning/ - em particular, README.txt, tuning-1-packages-and-notes.txt e tuning-notes-2B.txt. A coisa particular a se lembrar é a de que, se você quiser tentar algum dos mais interessantes sinalizadores, [então] você possivelmente precise forçar construções verbosas para confirmar o que está sendo usado.
Claramente, se você estiver otimizando seu próprio aplicativo, [então] você pode gastar tempo para perfilá-lo e, talvez, re-codificar 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, [então] nem tudo executará em um SandyBridge.
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 do Perl ou do Python; ou pacotes do Qt que usam o qmake, [então], no geral, os CFLAGS e CXXFLAGS usados são aqueles que foram usados por aqueles pacotes 'ancestrais'.
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.
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.
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 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.
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
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-<unidade-systemd>
.
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.
É aconselhável examinar cuidadosamente cada unidade do systemd antes da instalação para determinar se os arquivos instalados atendem às suas necessidades.
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 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 ImageMagick-7.1.0-61, 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 <bdubbs@linuxfromscratch.org>
# 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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/la-files
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 Firefox-102.8.0 e ghostscript-10.00.0 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 libpng-1.6.39, se usada pelo Firefox-102.8.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.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libraries
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, [então] ela aparecerá na página desse pacote. Para as informações mais recentes relativas a problemas relacionados à localidade para pacotes individuais, verifique as Observações de Usuário(a) no Wiki do BLFS.
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 Enscript-1.6.6; para a
opção -input-charset
no Cdrtools-3.02a09 não remendado; e para
os conjuntos de caracteres oferecidos para exibição no menu
do Links-2.28. 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.
Gravidade: Alta para documentos não textuais; baixa para documentos de texto
Alguns aplicativos, nano-7.2 ou 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 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 nano-7.2; ao JOE-4.6; e a todos os reprodutores de mídia, exceto o Audacious-4.2.
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 Wine.
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 GLib-2.74.5, 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 Zip-3.0 e o 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 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 OpenSSH-9.2p1). 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.
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 xine-ui-0.99.14 e a todos os shells.
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 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.
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
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 https://sourceforge.net/directory/;
e procure no "GitHub" por ele em https://github.com/. Também,
procure no "Google" em https://google.com/.
Ocasionalmente, uma busca pelo rpm
em https://rpmfind.net/; ou pelo
deb
em
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 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 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" 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" https://ftp.debian.org/debian/pool
(use a versão do seu 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 logiciário 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 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 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 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 https://mirror.rackspace.com/gentoo-portage/
e 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 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 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" 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".
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
https://anduin.linuxfromscratch.org/BLFS/extras/deb2targz.tar.bz2
e
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 https://lore.kernel.org/all/20021016121842.GA2292@ncsu.edu/2-rpm2cpio 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.
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 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—Os Arquivos de Iniciação do Shell Bash e Os Arquivos vimrc.
Existe um tópico restante: Personalizando o seu Logon com o /etc/issue. Ele não tem muita interação com os outros tópicos neste capítulo.
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.
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 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.
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 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 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 Capítulo 10 do LFS.
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.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/CreatingaCustomBootDevice
Um sistema LFS pode ser usado sem uma área de trabalho gráfica e, a menos ou até que instale o 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.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/aboutconsolefonts
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: ../../../../lfs/view/11.3-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
.
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 coseguem 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 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.
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 ../../../../lfs/view/11.3-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
.
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 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.
O pacote 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 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
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
:
https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.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 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 git-2.39.2 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 01.org; e 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 wifi. Esses dispositivos não são exigidos para o PC inicializar, porém precisam do firmware antes que esses dispositivos possam ser usados.
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: cpio-2.13; git-2.39.2; pciutils-3.9.0; e Wget-1.21.3
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/aboutfirmware
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 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 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.
O primeiro passo é o de obter a versão mais recente do
microcódigo "Intel". Isso precisa ser feito navegando-se
até
https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/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-20230214. 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 https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/index.html.
Para um dispositivo móvel "Icelake" (descrito como "CPU"
"Intel(R) Core(TM) i7-1065G7"), os valores relevantes são
"cpu family 6", "model 126", "stepping 5", de modo que,
nesse caso, a identificação necessária é "06-7e-05". A nota
de lançamento diz que o microcódigo mais recente tem a
versão "0xb8". Se o valor do campo “microcode” em
/proc/cpuinfo
for "0xb8" ou
superior, [então] 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 “Carregamento
antecipado do microcódigo”:
General Setup --->
[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support [CONFIG_BLK_DEV_INITRD]
Processor type and features --->
[*] CPU microcode loading support [CONFIG_MICROCODE]
[*] Intel microcode loading support [CONFIG_MICROCODE_INTEL]
Comece baixando um contêiner do "firmware" para a família da sua "CPU" a partir de 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 https://github.com/AMDESE/amd_ucode_info/blob/master/amd_ucode_info.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 “Carregamento
antecipado do microcódigo”:
General Setup --->
[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support [CONFIG_BLK_DEV_INITRD]
Processor type and features --->
[*] CPU microcode loading support [CONFIG_MICROCODE]
[*] AMD microcode loading support [CONFIG_MICROCODE_AMD]
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 cpio-2.13 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 <MEUCONTEINER> pelo nome do contêiner para a família da sua CPU):
cp -v ../<MEU_CONTẼINER> kernel/x86/microcode/AuthenticAMD.bin
Ou, para uma máquina Intel, copie o blob apropriado usando este comando:
cp -v ../intel-ucode/<XX-YY-ZZ> 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
“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 "Icelake") com carregamento antecipado:
[ 0.000000] microcode: microcode updated early to revision 0xb8, date = 2022-08-31
[ 0.000000] Linux version 6.1.11 (xry111@stargazer) (gcc (GCC) 12.2.0, GNU ld (GNU Binutils) 2.40) #2 SMP PREEMPT_DYNAMIC Tue Feb 14 23:23:31 CST 2023
[ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-6.1.11-lfs-11.3-rc1 root=PARTUUID=<CLASSIFIED>
ro
[ 0.452924] microcode: sig=0x706e5, pf=0x80, revision=0xb8
[ 0.453197] 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.
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 pciutils-3.9.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 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 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 <YOUR_BLOBS> /lib/firmware/radeon
Atualmente existem duas maneiras de instalar esse firmware. No BLFS, na seção 'Configuração do Núcleo para firmware adicional', parte da seção Controlador ATI do Xorg-19.1.0 dá um exemplo de compilar o firmware no núcleo - isso é ligeiramente mais rápido de carregar, porém usa mais memória do núcleo. Aqui nós usaremos o método alternativo de tornar o controlador Radeon um módulo. No seu config do núcleo, configure o seguinte:
Device Drivers --->
Graphics support --->
Direct Rendering Manager --->
[*] Direct Rendering Manager (XFree86 ... support) [CONFIG_DRM]
[M] ATI Radeon [CONFIG_DRM_RADEON]
O carregamento de vários blobs largos a partir de /lib/firmware toma um tempo notável, durante o qual a tela estará sem escrito. Se você não habilitar o logotipo pinguim do framebuffer ou mudar o tamanho do console usando uma fonte maior, [então] provavelmente isso não importa. Se desejado, você pode reduzir ligeiramente o tempo se seguir o método alternativo de especificar 'y' para CONFIG_DRM_RADEON coberto no BLFS no link acima — você precisa especificar cada blob Radeon necessário se fizer isso.
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 pciutils-3.9.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 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 <TEUS_BLOBS> /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.
É recomendado construir o controlador "amdgpu" do núcleo como um módulo. Em seu ".config" do núcleo configure pelo menos as seguintes opções e revise as outras opções "AMDGPU" de acordo com teu "hardware" alvo, por exemplo "Configuração ACP (Coprocessador de Áudio)":
Device Drivers --->
Graphics support --->
Direct Rendering Manager --->
[*] Direct Rendering Manager (XFree86 ... support) [CONFIG_DRM]
[M] AMD GPU [CONFIG_DRM_AMDGPU]
Display Engine Configuration --->
[*] AMD DC - Enable new display engine (NEW) [CONFIG_DRM_AMD_DC]
Conforme escrito acima no final da seção sobre "Firmware para chips de vídeo ATI", carregar grandes "blobs" a partir de "/lib/firmware" pode levar um tempo perceptível durante o qual a tela ficará em branco. Em uma máquina lenta, você pode desejar consultar a parte "Configuração do Núcleo para "firmware" adicional" de Controlador AMDGPU do Xorg-23.0.0 e compilar todos os módulos exigidos internos ao núcleo para reduzir esse tempo, ao custo de usar mais memória do núcleo.
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 https://nouveau.freedesktop.org/wiki/VideoAcceleration/#firmware.
Primeiro, o controlador de núcleo Nvidia precisa ser ativado:
Device Drivers --->
Graphics support --->
Direct Rendering Manager --->
<*> Direct Rendering Manager (XFree86 ... support) [CONFIG_DRM]
<*/M> Nouveau (NVIDIA) cards [CONFIG_DRM_NOUVEAU]
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, [então] certifique-se de ter instalado Python-2.7.18 e execute os seguintes comandos:
wget https://raw.github.com/imirkin/re-vp2/master/extract_firmware.py wget https://us.download.nvidia.com/XFree86/Linux-x86/325.15/NVIDIA-Linux-x86-325.15.run sh NVIDIA-Linux-x86-325.15.run --extract-only python2 extract_firmware.py mkdir -p /lib/firmware/nouveau cp -d nv* vuc-* /lib/firmware/nouveau/
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.fw failed with error -2
[ 7.018036] r8169 0000:01:00.0 eth0: unable to load firmware patch rtl_nic/rtl8168g-2.fw (-2)
Identificar o firmware correto tipicamente exigirá que você
instale o pciutils-3.9.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 seu sistema LFS. Para usar uma conexão sem fios, você precisará usar ferramentas de rede de comunicação, tais como Wireless Tools-29 e wpa_supplicant-2.10.
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 sua 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 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
. O ponto de
acesso enviaria um código de país para a sua NIC sem fios e o
wpa_supplicant-2.10 diria ao núcleo
para carregar a regulação desse país a partir do regulatory.db
; e impô-la.
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.
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.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/aboutdevices
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
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 crus é 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 crus são de propriedade do(a) usuário(a) root e do grupo usb; 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 embarcam regras do udev que mudam as permissões dos dispositivos USB crus 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 seu dispositivo, [então] informe um defeito para ambos, o BLFS (se o pacote estiver lá) e o(a) desenvolvedor(a), e você precisará escrever sua própria regra.
Existe uma situação quando tal controle de acesso refinado com regras do udev pré-geradas não funciona. Nomeadamente, os emuladores de PC, tais como o KVM; o QEMU; e o VirtualBox, usam nós de dispositivo USB crus para apresentar dispositivos USB arbitrários para o sistema operacional convidado (observação: remendos são necessários para a finalidade de fazer com que isso funcione sem o obsoleto ponto de montagem /proc/bus/usb descrito abaixo). Obviamente, os(as) mantenedores(as) desses pacotes não podem saber quais dispositivos USB serão conectados ao sistema operacional convidado. Você pode, ou escrever você mesmo(a) regras do udev separadas para todos os dispositivos USB necessários; ou usar o grupo padrão abrangente "usb", membros do qual podem enviar comandos arbitrários para todos os dispositivos USB.
Antes do Linux-2.6.15, o acesso de dispositivo USB cru era realizado não com nós de dispositivo /dev/bus/usb/BBB/DDD, porém com pseudo arquivos /proc/bus/usb/BBB/DDD. Alguns aplicativos (por exemplo, o VMware Workstation) ainda usam somente essa técnica obsoleta e não conseguem usar os novos nós de dispositivo. Para eles funcionarem, use o grupo "usb", porém lembre-se de que os(as) membros(as) terão acesso irrestrito a todos os dispositivos USB. Para criar a entrada fstab para o obsoleto sistema de arquivos usbfs:
usbfs /proc/bus/usb usbfs devgid=14,devmode=0660 0 0
Adicionar usuários(as) ao grupo "usb" é inerentemente inseguro, já que eles(as) conseguem contornar as restrições de acesso impostas por intermédio dos nós de dispositivo USB específicos do controlador. Por exemplo, eles(as) conseguem ler dados sensíveis a partir de unidades rígidas USB sem estarem no grupo "disk". Evite adicionar usuários(as) a esse grupo, se puder.
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"
A linha acima é usada somente para propósitos descritivos. As regras do udev da escaneadora são colocadas no lugar quando se instalar o SANE-1.0.32.
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
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).
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.
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, Os Arquivos de
Iniciação do Shell Bash e 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 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 <novo(a)_usuário(a)>
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 <nome_usuário(a)>
| 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<GID>
<nome_usuário(a)>
&& useradd -u<UID>
-g<nome_usuário(a)>
<nome_usuário(a)>
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 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 | |
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 |
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.
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 Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/bash-shell-startup-files
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 <jameswrobertson@earthlink.net>
# modificações por Dagmar d'Surreal <rivyqntzne@pbzpnfg.arg>
# 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 aplicativos
# 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
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
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 https://wiki.linuxfromscratch.org/blfs/wiki/bash-shell-startup-files#bash-completions.
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/bashrc.
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
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
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
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
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 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
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 <jameswrobertson@earthlink.net>
# atualização por Bruce Dubbs <bdubbs@linuxfromscratch.org>
# 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 inicializaçã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 iniciados
# 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
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 <jameswrobertson@earthlink.net>
# atualizado por Bruce Dubbs <bdubbs@linuxfromscratch.org>
# 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
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=<ll>
_<CC>
.<charmap>
<@modifiers>
# Fim ~/.profile
EOF
Aqui está um ~/.bashrc
de base.
cat > ~/.bashrc << "EOF"
# Início ~/.bashrc
# Escrito para o Beyond Linux From Scratch
# por James Robertson <jameswrobertson@earthlink.net>
# 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=<ll>
_<CC>
.<charmap>
<@modifiers>
# Fim ~/.bashrc
EOF
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 <jameswrobertson@earthlink.net>
# Itens pessoais a realizar quando do logout.
# Fim ~/.bash_logout
EOF
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 https://www.caliban.org/bash/index.shtml.
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).
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.
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 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 "<n> usuários" onde <n> é 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, etc.
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.
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 é 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 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 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 Segurança do Debian. Os links do Fedora acerca de segurança estão em o wiki do Fedora. Os detalhes dos anúncios de segurança do Linux do "Gentoo" são discutidos em Segurança do Gentoo. Finalmente, os arquivamentos do "Slackware" dos anúncios de segurança estão em Segurança do Slackware.
A fonte mais genérica no idioma inglês é talvez 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 heise.de (alemão); ou o 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 lwn.net/Alerts é irrestrita).
Para alguns pacotes, assinar as listas de 'anúncio' deles fornecerá notícias imediatas das versões mais recentes.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/vulnerabilities
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 aqui.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/lfs-book/make-ca/releases/download/v1.12/make-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)
p11-kit-0.24.1 (exigido em tempo de execução para gerar lojas de certificado a partir de âncoras de confiança)
nss-3.88.1 (para gerar um NSSDB compartilhado)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/make-ca
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 p11-kit-0.24.1.
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
Como o(a) usuário(a) root
,
depois de instalar o p11-kit-0.24.1, baixe o fonte do
certificado e apronte para uso do sistema com o seguinte
comando:
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
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 nss-3.88.1. 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.
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.
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 p11-kit-0.24.1, 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
p11-kit-0.24.1 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 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 Wget-1.21.3 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
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
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 make-ca-1.12 e p11-kit-0.24.1 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
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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/cracklib/cracklib/releases/download/v2.9.8/cracklib-2.9.8.tar.bz2
Soma de verificação MD5 da transferência: a242301bad13421476db8eecbbc9536a
Tamanho da transferência: 600 KB
Espaço em disco estimado exigido: 6,7 MB
Tempo de construção estimado: 0,1 UPC
Lista das palavras recomendadas para países de língua inglesa (tamanho: 6,7 MB; soma de verificação md5: 94e9963e4786294f7fb0f2efd7618551): https://github.com/cracklib/cracklib/releases/download/v2.9.8/cracklib-words-2.9.8.bz2
Existem listas adicionais de palavras disponíveis para download, por exemplo, em 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.
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 .
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/cracklib
Instale 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.8.bz2 \ /usr/share/dict/cracklib-words.bz2 && bunzip2 -v /usr/share/dict/cracklib-words.bz2 && 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
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 Shadow-4.13 se desejar fornecer suporte de senha forte em seu sistema. Se for instalar agora o pacote Linux-PAM-1.5.2, você pode desconsiderar essa observação, pois o Shadow será reinstalado depois da instalação do Linux-PAM.
sed -i '/skipping/d' util/packer.c: Remove um aviso sem significado.
autoreconf -fiv: O script 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.
é usado para determinar se uma senha é forte |
|
é usado para formatar arquivos de texto (minuscula todas as palavras, remove caracteres de controle e ordena as listas) |
|
cria uma base de dados com palavras lidas a partir da entrada gerada padrão |
|
exibe na saída gerada padrão a base de dados especificada |
|
é usado para criar o dicionário CrackLib a partir da(s) lista(s) fornecida(s) de palavras |
|
fornece um método rápido de pesquisa de dicionário para imposição de senha forte |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.kernel.org/pub/linux/utils/cryptsetup/v2.4/cryptsetup-2.4.3.tar.xz
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)
JSON-C-0.16, LVM2-2.03.18 e popt-1.19
libpwquality-1.4.5, argon2, libssh e passwdqc
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/cryptsetup
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) ---> [CONFIG_MD]
<*/M> Device mapper support [CONFIG_BLK_DEV_DM]
<*/M> Crypt target support [CONFIG_DM_CRYPT]
Cryptographic API --->
<*/M> XTS support [CONFIG_CRYPTO_XTS]
<*/M> SHA224 and SHA256 digest algorithm [CONFIG_CRYPTO_SHA256]
<*/M> AES cipher algorithms [CONFIG_CRYPTO_AES]
<*/M> User-space interface for symmetric key cipher algorithms
[CONFIG_CRYPTO_USER_API_SKCIPHER]
For tests:
<*/M> Twofish cipher algorithm [CONFIG_CRYPTO_TWOFISH]
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
--disable-ssh-token
: Essa opção é
exigida se a dependência opcional libssh não estiver
instalada.
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 Perguntas Frequentes do cryptsetup.
é usado para configurar mapeamentos de mapeadores de dispositivos gerenciados pelo dm-crypt |
|
é uma ferramenta para re-encriptação offline de dispositivo LUKS |
|
é uma ferramenta para gerenciar volumes dm-integrity (integridade em nível de bloco) |
|
é 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 |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/cyrusimap/cyrus-sasl/releases/download/cyrus-sasl-2.1.28/cyrus-sasl-2.1.28.tar.gz
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
Linux-PAM-1.5.2, MIT Kerberos V5-1.20.1, MariaDB-10.6.12 ou MySQL, OpenLDAP-2.6.4, PostgreSQL-15.2, sphinx-6.1.3, SQLite-3.40.1, krb4, Dmalloc e Pod::POM::View::Restructured
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/cyrus-sasl
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 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
--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.
/etc/saslauthd.conf
(para
configuração LDAP do saslauthd) e /etc/sasl2/Appname.conf
(onde "Appname" é
o nome definido do aplicativo do aplicativo)
Veja-se 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 file:///usr/share/doc/cyrus-sasl-2.1.28/LDAP_SASLAUTHD para configuração do saslauthd com o OpenLDAP.
Veja-se https://www.cyrusimap.org/sasl/sasl/gssapi.html#gssapi para configurar o saslauthd com Kerberos.
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 blfs-systemd-units-20220720
usando o seguinte comando:
make install-saslauthd
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".
é usado para listar plugins carregáveis SASL e as propriedades deles |
|
é o servidor de autenticação SASL |
|
é usado para listar os(as) usuários(as) na base de
dados de senha SASL |
|
é 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
|
|
é um utilitário de teste para o servidor de autenticação SASL |
|
é uma biblioteca de autenticação de uso geral para aplicativos servidor e cliente |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.gnupg.org/ftp/gcrypt/gnupg/gnupg-2.4.0.tar.bz2
Transferência (FTP): ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-2.4.0.tar.bz2
Soma de verificação MD5 da transferência: 1a9dd55be7a9d0a6ef34ec3ba0d674a5
Tamanho da transferência: 7,3 MB
Espaço em disco estimado exigido: 164 MB (com os testes)
Tempo de construção estimado: 0,5 UPC (usando paralelismo=4; adicionar 0,4 UPC para os testes)
libassuan-2.5.5, libgcrypt-1.10.1, libksba-1.6.3 e npth-1.6
GnuTLS-3.8.0 (exigido para se comunicar com servidores de chave usando o protocolo https ou o hkps); e pinentry-1.2.1 (Exigência em tempo de execução para a maioria das funcionalidades do pacote)
cURL-7.88.1, Fuse-3.13.1, ImageMagick-7.1.0-61 (para o utilitário convert, usado para gerar a documentação), libusb-1.0.26, um MTA, OpenLDAP-2.6.4, SQLite-3.40.1, texlive-20220321 (ou install-tl-unx), fig2dev (para gerar a documentação) e GNU adns
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gnupg2
Instale GnuPG executando os seguintes comandos:
mkdir build && cd build && ../configure --prefix=/usr \ --localstatedir=/var \ --sysconfdir=/etc \ --docdir=/usr/share/doc/gnupg-2.4.0 && 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 texlive-20220321 instalado e você desejar criar a documentação em formatos alternativos, [então] emita os seguintes comandos (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.0/html && install -v -m644 doc/gnupg_nochunks.html \ /usr/share/doc/gnupg-2.4.0/html/gnupg.html && install -v -m644 ../doc/*.texi doc/gnupg.txt \ /usr/share/doc/gnupg-2.4.0 && install -v -m644 doc/gnupg.html/* \ /usr/share/doc/gnupg-2.4.0/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.0
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.0
:
Essa chave muda o diretório padrão da documentação para
/usr/share/doc/gnupg-2.4.0
.
--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.
é usado para criar e povoar os diretórios
|
|
é um script amarrador usado para executar o
gpgconf com o
parâmetro |
|
é uma ferramenta que se encarrega de acessar os servidores de chave OpenPGP |
|
é uma ferramenta para contactar um dirmngr em execução e testar quando um certificado tenha sido revogado |
|
é uma ferramenta para criar, montar ou desmontar um contêiner de sistema de arquivos encriptado (opcional) |
|
é 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 |
|
é uma ferramenta para gerenciar cartões inteligentes e "tokens" |
|
é um utilitário usado para comunicar com um gpg-agent em execução |
|
é 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 |
|
é um utilitário usado para consultar e para
modificar arquivos de configuração automática e
razoavelmente seguramente no diretório home
|
|
é um utilitário atualmente útil somente para
depuração. Execute-o com |
|
executa o aplicativo de esquema dado ou gera um shell interativo |
|
é 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 |
|
divide uma mensagem OpenPGP em pacotes |
|
é uma ferramenta para encriptar ou para assinar arquivos dentro de um arquivamento |
|
é uma versão somente verificação do gpg |
|
é um cliente para o protocolo Web Key Service |
|
fornece um servidor para o protocolo Web Key Service |
|
é usado para listar, exportar e importar dados Keybox |
|
é usado para ouvir um soquete Unix Domain criado por quaisquer das ferramentas GnuPG |
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 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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.gnupg.org/ftp/gcrypt/gnutls/v3.8/gnutls-3.8.0.tar.xz
Transferência (FTP): ftp://ftp.gnupg.org/gcrypt/gnutls/v3.8/gnutls-3.8.0.tar.xz
Soma de verificação MD5 da transferência: 20a662caf20112b6b9ad1f4a64db3a97
Tamanho da transferência: 6,1 MB
Espaço em disco estimado exigido: 165 MB (adicionar 113 MB para os testes)
Tempo de construção estimado: 0,8 UPC (adicione 2,3 UPC para os testes; ambos usando paralelismo=4)
make-ca-1.12, libunistring-1.1, libtasn1-4.19.0 e p11-kit-0.24.1
Brotli-1.0.9, Doxygen-1.9.6, GTK-Doc-1.33.2, libidn-1.41 ou libidn2-2.3.4, libseccomp-2.5.4, Net-tools-2.10 (usado durante a suíte de teste), texlive-20220321 ou install-tl-unx, Unbound-1.17.1 (para construir a biblioteca DANE), Valgrind-3.20.0 (usado durante a suíte de teste), autogen, cmocka e datefudge (usado durante a suíte de teste se a biblioteca DANE for construída) e Trousers (suporte a Trusted Platform Module)
Observe que, se você não instalar o libtasn1-4.19.0, [então] uma versão enviada no tarball GnuTLS será usada em vez.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gnutls
Instale GnuTLS executando os seguintes comandos:
./configure --prefix=/usr \ --docdir=/usr/share/doc/gnutls-3.8.0 \ --with-default-trust-store-pkcs11="pkcs11:" && make
Para testar os resultados, emita: make check.
Agora, como o(a) usuário(a) root
:
make install
--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 p11-kit-0.24.1 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 p11-kit-0.24.1 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 libunistring-1.1.
é usado para gerar certificados X.509, solicitações de certificados e chaves privadas |
|
é uma ferramenta usada para gerar e verificar registros de recursos DNS para o protocolo DANE |
|
é um aplicativo cliente simples para configurar uma conexão TLS com algum outro computador |
|
é um aplicativo cliente simples para configurar uma conexão TLS com algum outro computador e produz resultados de progresso muito detalhados |
|
é um aplicativo servidor simples que escuta as conexões TLS entrantes |
|
é um aplicativo que pode analisar e imprimir informação relativa a solicitações/respostas OCSP, gerar solicitações e verificar respostas |
|
é um aplicativo que permite manusear dados procedentes de cartões inteligentes PKCS #11 e de módulos de segurança |
|
é um aplicativo simples que gera chaves aleatórias para uso com TLS-PSK |
|
é um aplicativo simples que emula os aplicativos nas bibliotecas Stanford SRP (Secure Remote Password) usando o GnuTLS |
|
contém as funções centrais da API e as funções da API de certificado X.509 |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.gnupg.org/ftp/gcrypt/gpgme/gpgme-1.18.0.tar.bz2
Transferência (FTP): ftp://ftp.gnupg.org/gcrypt/gpgme/gpgme-1.18.0.tar.bz2
Soma de verificação MD5 da transferência: 98f25a7e494d294c4b2c1a769113510e
Tamanho da transferência: 1,7 MB
Espaço em disco estimado exigido: 168 MB (Adicione 33 MB para os testes)
Tempo de construção estimado: 0,7 UPC (com todas as vinculações; adicione 0,8 UPC para os testes; tudo com paralelismo=4)
Remendo recomendado (exigido se SWIG estiver instalado): https://www.linuxfromscratch.org/patches/blfs/11.3/gpgme-1.18.0-gpg_error_1_46-1.patch
Doxygen-1.9.6 e Graphviz-7.1.0 (para documentação da API), GnuPG-2.4.0 (exigido se Qt ou SWIG estiverem instalados; usado durante a suíte de teste), Clisp-2.49, Qt-5.15.8 e (ou) SWIG-4.1.1 (para vinculações de idioma)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gpgme
Primeiro, corrija um problema de construção com Python 3.11 instalado:
sed -e 's/3\.9/3.11/' \ -e 's/:3/:4/' \ -i configure
Aplique um remendo para corrigir uma falha de construção com SWIG e libgpg-error-1.46 ou posterior:
patch -Np1 -i ../gpgme-1.18.0-gpg_error_1_46-1.patch
Instale GPGME executando os seguintes comandos:
./configure --prefix=/usr --disable-gpg-test && make
Para testar os resultados, você deveria ter GnuPG-2.4.0 instalado e remover o --disable-gpg-test acima. Emita: make -k check.
Agora, como o(a) usuário(a) root
:
make install
--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
GnuPG-2.4.0. Esse parâmetro não é
necessário se GnuPG-2.4.0 estiver instalado.
gera comandos GPGME no formato JSON |
|
é um servidor assuan que expõe operações GPGME, como impressão de impressões digitais e identificadores de chave com servidores de chaves |
|
contém as funções da API GPGME |
|
contém as funções da API C++ GPGME |
|
contém funções de API para lidar com operações GPG em aplicativos Qt |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.netfilter.org/projects/iptables/files/iptables-1.8.9.tar.xz
Transferência (FTP): ftp://ftp.netfilter.org/pub/iptables/iptables-1.8.9.tar.xz
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
libpcap-1.10.3 (exigido para suporte ao nfsynproxy), bpf-utils (exigido para suporte ao Berkeley Packet Filter), libnfnetlink (exigido para suporte ao connlabel), libnetfilter_conntrack (exigido para suporte ao connlabel) e nftables
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/iptables
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 ---> [CONFIG_NET]
Networking Options --->
[*] Network packet filtering framework (Netfilter) ---> [CONFIG_NETFILTER]
[*] Advanced netfilter configuration [CONFIG_NETFILTER_ADVANCED]
Core Netfilter Configuration --->
<*/M> Netfilter connection tracking support [CONFIG_NF_CONNTRACK]
<*/M> Netfilter Xtables support (required for ip_tables) [CONFIG_NETFILTER_XTABLES]
<*/M> LOG target support [CONFIG_NETFILTER_XT_TARGET_LOG]
IP: Netfilter Configuration --->
<*/M> IP tables support (required for filtering/masq/NAT) [CONFIG_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 Criando um Firewall Pessoal Com o iptables abaixo.
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
--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.
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.
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 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 a respeito de endereços de IP dinâmicos (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 for mesmo reexecutado em tempo real. Nós queremos remover
# todas as regras e cadeias preexistentes 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 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 Criando um BusyBox Com o iptables.
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 firewall"
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úcleo).
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 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 for
# mesmo reexecutado em tempo real. Nós queremos remover todas as regras e
# cadeias preexistentes definidas por usuário(a) antes de implementarmos novas regras.
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.
Este cenário não é muito diferente do 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.
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 “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 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.
Para configurar o firewall iptables na inicialização,
instale a unidade iptables.service
inclusa no pacote
blfs-systemd-units-20220720.
make install-iptables
é usado para configurar, manter e inspecionar as tabelas de regras de filtro de pacote IP no núcleo Linux |
|
é uma maneira mais segura para atualizar o iptables remotamente |
|
é usado para interagir com o iptables usando o conjunto legado de comandos |
|
é usado para restaurar um conjunto de regras legadas do iptables |
|
é usado para salvar um conjunto de regras legadas do iptables |
|
é 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 |
|
é 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 |
|
é usado para converter a saída gerada do
iptables-save
para um formato XML. Usar a folha de estilo
|
|
é um conjunto de comandos para IPv6 que paraleliza os comandos do iptables acima |
|
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 |
|
é um binário que se comporta de acordo com o nome pelo qual ele for chamado |
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.
A palavra firewall pode ter diferentes significados.
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 Criando um Firewall Pessoal Com o iptables.
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 Criando um Roteador de Mascaramento Com o iptables.
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 Criando um BusyBox Com o iptables.
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.
As configurações de exemplo fornecidas para o 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 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.
www.netfilter.org - Página inicial dos projetos netfilter/iptables/nftables
Perguntas Frequentes relacionadas ao Netfilter
Tutoriais relacionados ao Netfilter
Tutoriais do nftables
tldp.org/LDP/nag2/x-087-2-firewall.html
tldp.org/HOWTO/Security-HOWTO.html
tldp.org/HOWTO/Firewall-HOWTO.html
linuxsecurity.com/howtos
www.e-infomax.com/ipmasq
www.circlemud.org/jelson/writings/security/index.htm
insecure.org/reading.html
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.kernel.org/pub/linux/libs/security/linux-privs/libcap2/libcap-2.67.tar.xz
Soma de verificação MD5 da transferência: 06333f4301657298890fd8d6f1fb4793
Tamanho da transferência: 184 KB
Espaço em disco estimado exigido: 2,1 MB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libcap
Se você estiver atualizando o libcap a partir de uma versão anterior, [então] use as instruções na página libcap do LFS para atualizar o libcap. Se Linux-PAM-1.5.2 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
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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/linux-pam/linux-pam/releases/download/v1.5.2/Linux-PAM-1.5.2.tar.xz
Soma de verificação MD5 da transferência: 895e8adfa14af334f679bbeb28503f66
Tamanho da transferência: 966 KB
Espaço em disco estimado exigido: 39 MB (com os testes)
Tempo de construção estimado: 0,4 UPC (com os testes)
Documentação Opcional
Transferência (HTTP): https://github.com/linux-pam/linux-pam/releases/download/v1.5.2/Linux-PAM-1.5.2-docs.tar.xz
Soma de verificação MD5 da transferência: ceb3dc248cb2f49a40904b93cb91db1b
Tamanho da transferência 433 KB
Base de Dados Berkeley-5.3.28, libnsl-2.0.0, libtirpc-1.3.3, libaudit e Prelude
docbook-xml-4.5, docbook-xsl-nons-1.79.2, fop-2.8, libxslt-1.1.37 e ou Lynx-2.8.9rel.1 ou W3m
Shadow-4.13 e Systemd-252 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 libpwquality-1.4.5 para impor senhas fortes.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/linux-pam
Se você baixou a documentação, [então] desempacote o tarball emitindo o seguinte comando.
tar -xf ../Linux-PAM-1.5.2-docs.tar.xz --strip-components=1
Se quiser regenerar a documentação você mesmo(a), [então] corrija o script configure, de forma que detectará o lynx:
sed -e 's/dummy elinks/dummy lynx/' \ -e 's/-no-numbering -no-references/-force-html -nonumbers -stdin/' \ -i configure
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.2 && make
Para testar os resultados, um arquivo de configuração
adequado /etc/pam.d/other
precisa existir.
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
--enable-securedir=/usr/lib/security
:
Essa chave configura o local de instalação para os módulos
PAM.
--disable-regenerate-docu
: se as
dependências necessárias (docbook-xml-4.5, docbook-xsl-nons-1.79.2,
libxslt-1.1.37 e Lynx-2.8.9rel.1 ou
W3m)
estiverem instaladas, [então] as páginas de manual e os
arquivos de documentação html e de texto, serão geradas e
instaladas. Além disso, se fop-2.8 estiver instalado, [então] a
documentação PDF será gerada e instalada. Use essa chave se
não desejar reconstruir a documentação.
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.
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" &&# Início /etc/pam.d/system-account account required pam_unix.so # Fim /etc/pam.d/system-account
EOF cat > /etc/pam.d/system-auth << "EOF" &&# Início /etc/pam.d/system-auth auth required pam_unix.so # Fim /etc/pam.d/system-auth
EOF cat > /etc/pam.d/system-session << "EOF" &&# Início /etc/pam.d/system-session session required pam_unix.so # Fim /etc/pam.d/system-session
EOF cat > /etc/pam.d/system-password << "EOF"# Início /etc/pam.d/system-password # use hash sha512 para encriptação; use sombreamento e tente usar algum # token de autenticação previamente definido (senha escolhida) # configurado por algum módulo anterior. Use o mesmo número de voltas # que o sombreamento. password required pam_unix.so sha512 shadow try_first_pass \ rounds=500000 # Fim /etc/pam.d/system-password
EOF
Se você deseja ativar o suporte a senhas fortes, [então] instale 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 Guia do(a) Administrador(a) do Sistema Linux-PAM é recomendado para informação adicional.
Você deveria agora reinstalar os pacotes Systemd-252 e Shadow-4.13.
exibe e modifica os arquivos de registro de falha de autenticação |
|
é um binário auxiliar que cria diretórios home |
|
é um aplicativo auxiliar usado para configurar um espaço de nome privado para uma sessão de usuário(a) |
|
é um aplicativo auxiliar que transfere hashes de senha de passwd ou shadow para opasswd |
|
é usado para verificar se o carimbo padrão de tempo é válido |
|
é um binário auxiliar que verifica a senha do(a) usuário(a) atual |
|
é um binário auxiliar que atualiza a senha de um(a) determinado(a) usuário(a) |
|
fornece as interfaces entre os aplicativos e os módulos PAM |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/liboauth/liboauth-1.0.3.tar.gz
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
Remendo exigido para uso com o OpenSSL: https://www.linuxfromscratch.org/patches/blfs/11.3/liboauth-1.0.3-openssl-1.1.0-3.patch
nss-3.88.1 e Doxygen-1.9.6 (para construir a documentação)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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 Doxygen-1.9.6), 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
--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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/libpwquality/libpwquality/releases/download/libpwquality-1.4.5/libpwquality-1.4.5.tar.bz2
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--with-python-binary=python3
:
Esse parâmetro dá o local do binário Python. O padrão é python
e exige Python-2.7.18.
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"
# Início /etc/pam.d/system-password
# verifica novas senhas para robustez (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 hash sha512 para encriptação; use sombreamento e use o token de
# autenticação (senha escolhida) configurada pelo pam_pwquality acima
# (ou quaisquer módulos anteriores). Também configure o número de voltas
# de cripta para o valor usado no sombreamento.
password required pam_unix.so sha512 shadow use_authtok \
rounds=500000
# Fim /etc/pam.d/system-password
EOF
é uma ferramenta configurável simples para gerar senhas aleatórias e relativamente fáceis de pronunciar |
|
é uma ferramenta simples para verificar a qualidade de uma senha |
|
contém funções de API para verificar a qualidade da senha |
|
é um módulo Linux PAM usado para realizar verificação da qualidade da senha |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://kerberos.org/dist/krb5/1.20/krb5-1.20.1.tar.gz
Soma de verificação MD5 da transferência: 73f5780e7b587ccd8b8cfc10c965a686
Tamanho da transferência: 8,3 MB
Espaço em disco estimado exigido: 94 MB (adicionar 14 MB para os testes)
Tempo de construção estimado: 0,3 UPC (Usando paralelismo=4; adicione 5,8 UPC para os testes)
Utilitários BIND-9.18.12, GnuPG-2.4.0 (para autenticar o pacote), keyutils-1.6.1, OpenLDAP-2.6.4, Valgrind-3.20.0 (usado durante a suíte de teste), yasm-1.3.0, libedit, cmocka, kdcproxy, pyrad e resolv_wrapper
Algum tipo de recurso de sincronização de tempo em seu sistema (como o ntp-4.2.8p15) é necessário, pois o Kerberos não autenticaria se houvesse uma diferença de horário entre um cliente kerberizado e o servidor KDC.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/mitkrb
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 && sed -i '/t_kadm5.py/d' lib/kadm5/Makefile.in && ./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 como o(a) usuário(a)
root
: make -k -j1 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.
Agora, como o(a) usuário(a) root
:
make install && install -v -dm755 /usr/share/doc/krb5-1.20.1 && cp -vfr ../doc/* /usr/share/doc/krb5-1.20.1
Os dois comandos sed removem os testes que são conhecidos por falharem.
--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.
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 CrackLib-2.9.8.
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 = <EXAMPLE.ORG>
encrypt = true
[realms]
<EXAMPLE.ORG>
= {
kdc = <belgarath.example.org>
admin_server = <belgarath.example.org>
dict_file = /usr/share/dict/words
}
[domain_realm]
.<example.org>
= <EXAMPLE.ORG>
[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 <belgarath>
e
<example.org>
.
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 <EXEMPLO.ORG>
-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.localkadmin.local:
add_policy dict-onlykadmin.local:
addprinc -policy dict-only<nome_login>
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/<belgarath.exemplo.org>
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/<belgarath.exemplo.org>
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 <nome_login>
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
:
ktutilktutil:
rkt /etc/krb5.keytabktutil:
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.
Para informação adicional, consulte a documentação para krb5-1.20.1 na qual as instruções acima são baseadas.
Se você deseja iniciar os serviços Kerberos na inicialização, [então]
instale a unidade krb5.service
incluída no pacote blfs-systemd-units-20220720
usando o seguinte comando:
make install-krb5
é um cliente de teste da API GSS |
|
é um servidor de teste da API GSS |
|
é um utilitário de manipulação da tabela de chaves do dispositivo |
|
é um utilitário usado para fazer modificações na base de dados Kerberos |
|
é 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 |
|
é um servidor para acesso administrativo a uma base de dados Kerberos |
|
permite que um(a) administrador(a) gerencie reinos, serviços Kerberos e políticas de tíquete |
|
é o utilitário de base de dados KDC |
|
remove o conjunto atual de tíquetes |
|
é 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 |
|
lê e exibe os tíquetes atuais no cache de credenciais |
|
é um aplicativo para mudar as senhas do Kerberos 5 |
|
pega uma base de dados principal em um formato especificado e a converte em um fluxo de registros de base de dados |
|
recebe uma base de dados enviada pelo kprop e a grava como uma base de dados local |
|
exibe o conteúdo do registro de atualização da base de dados KDC na saída gerada padrão |
|
fornece informação a respeito do como vincular aplicativos a bibliotecas |
|
é o servidor Kerberos 5 |
|
envia um Informe de Problema (IP) para um sítio central de suporte |
|
é o aplicativo de superusuário(a) que usa o
protocolo Kerberos. Exige um |
|
torna o cache especificado de credenciais o cache primário para a coleção, se uma coleção de cache estiver disponível |
|
é um aplicativo para gerenciar tabelas de chave do Kerberos |
|
imprime os números de versão de chave dos principais do Kerberos |
|
é usado para contactar um servidor de amostra e autenticar-se nele usando tíquetes Kerberos 5 e, em seguida, exibir a resposta do servidor |
|
é um simples aplicativo cliente de amostra baseado em UDP, para demonstração |
|
é um simples aplicativo servidor baseado em UDP, para demonstração |
|
é o servidor de amostra Kerberos 5 |
|
é outro cliente de amostra |
|
é outro servidor de amostra |
|
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 |
|
contém as funções administrativas de autenticação e verificação de senha exigidas pelos aplicativos Kerberos 5 do lado do cliente |
|
contém as funções administrativas de autenticação e verificação de senha exigidas pelos servidores Kerberos 5 |
|
é uma biblioteca de acesso à base de dados de autenticação/autorização Kerberos 5 |
|
contém a biblioteca interna de suporte para a funcionalidade RADIUS |
|
é uma biblioteca Kerberos 5 multifuncional |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.gnu.org/gnu/nettle/nettle-3.8.1.tar.gz
Transferência (FTP): ftp://ftp.gnu.org/gnu/nettle/nettle-3.8.1.tar.gz
Soma de verificação MD5 da transferência: e15c5fd5cc901f5dde6a271d7f2320d1
Tamanho da transferência: 2,3 MB
Espaço em disco estimado exigido: 90 MB (com os testes)
Tempo de construção estimado: 0,1 UPC (com os testes; ambos usando paralelismo=4)
Valgrind-3.20.0 (opcional para os testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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.8.1 && install -v -m644 nettle.html /usr/share/doc/nettle-3.8.1
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
calcula um valor de hash usando um algoritmo especificado |
|
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 |
|
é 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. |
|
converte chaves RSA privadas e públicas do formato PKCS #1 para o formato sexp |
|
converte uma expressão s para uma codificação diferente |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.mozilla.org/pub/security/nss/releases/NSS_3_88_1_RTM/src/nss-3.88.1.tar.gz
Soma de verificação MD5 da transferência: 7ca8ff8ed672d82290c3122f38708579
Tamanho da transferência: 69 MB
Espaço em disco estimado exigido: 297 MB (adicionar 129 MB para os testes)
Tempo de construção estimado: 1,2 UPC (com paralelismo=4; adicione menos que 20 UPC para os testes em ryzens AMD ou ao menos 30 UPC em máquinas Intel)
SQLite-3.40.1 e p11-kit-0.24.1 (tempo de execução)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/nss
Instale NSS executando os seguintes comandos:
patch -Np1 -i ../nss-3.88.1-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 ../
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
no livro LFS.
Os testes tomam um tempo extremamente longo para executar. Se desejado, [então] existe informação no script all.sh relativa à execução de 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 && chmod -v 644 /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
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.
Se p11-kit-0.24.1 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 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
.
é 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 |
|
é usado para determinar as configurações da biblioteca NSS das bibliotecas instaladas NSS |
|
é 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 |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.2p1.tar.gz
Soma de verificação MD5 da transferência: f78b2acac4bb299629a8c58ddc3fac63
Tamanho da transferência: 1,8 MB
Espaço em disco estimado exigido: 44 MB (adicionar 22 MB para os testes)
Tempo de construção estimado: 0,2 UPC (Usando paralelismo=4; executar os testes toma cerca de vinte (20) minutos, independentemente da velocidade do processador)
GDB-13.1 (para os testes), Linux-PAM-1.5.2, um ambiente gráfico, MIT Kerberos V5-1.20.1, Which-2.21 (para os testes), libedit, LibreSSL Portable, OpenSC e libsectok
Net-tools-2.10 e Sysstat-12.7.2
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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 -m700 -d /var/lib/sshd && chown -v root:sys /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
A suíte de teste exige uma cópia instalada do scp para concluir os testes
de multiplexação. Para executar a suíte de teste, primeiro
copie o aplicativo scp para /usr/bin
, certificando-se de produzir uma
cópia de segurança de qualquer cópia existente primeiro.
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.2p1 && install -v -m644 INSTALL LICENCE OVERVIEW README* \ /usr/share/doc/openssh-9.2p1
--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=/usr/bin/xauth
:
Configura o local padrão para o binário xauth para autenticação do
X. Mude o local se o xauth for instalado em um
caminho diferente. 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.
~/.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.pubNOME_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.
Para iniciar o servidor SSH na inicialização do sistema,
instale a unidade sshd.service
incluída no pacote blfs-systemd-units-20220720.
make install-sshd
é um aplicativo de cópia de arquivo que age como rcp, exceto que usa um protocolo encriptado |
|
é um aplicativo do tipo FTP que funciona ao longo dos protocolos SSH1 e SSH2 |
|
é um aplicativo cliente do tipo rlogin/rsh, exceto que usa um protocolo encriptado |
|
é um processo de segundo plano que escuta solicitações de login do ssh |
|
é uma ferramenta que adiciona chaves ao ssh-agent |
|
é um agente de autenticação que consegue armazenar chaves privadas |
|
é um conjunto de comandos sequenciais que habilita logins em máquinas remotas usando chaves locais |
|
é uma ferramenta de geração de chave |
|
é um utilitário para coletar chaves públicas de dispositivo a partir de vários dispositivos |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/p11-glue/p11-kit/releases/download/0.24.1/p11-kit-0.24.1.tar.xz
Soma de verificação MD5 da transferência: 67b2539bdca6b4bedaeecc12864d2796
Tamanho da transferência: 820 KB
Espaço em disco estimado exigido: 44 MB (com os testes)
Tempo de construção estimado: 0,5 UPC (com os testes)
libtasn1-4.19.0 e make-ca-1.12 (tempo de execução)
GTK-Doc-1.33.2, libxslt-1.1.37 e nss-3.88.1 (tempo de execução)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/p11-kit
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 --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
--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 GTK-Doc-1.33.2 e libxslt-1.1.37 e deseja
reconstruir a documentação e gerar páginas de manual .
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
é uma ferramenta de linha de comando que pode ser usada para realizar operações em módulos PKCS#11 configurados no sistema |
|
é uma ferramenta de linha de comando para examinar e modificar o armazenamento de política de confiança compartilhada |
|
é 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 |
|
contém funções usadas para coordenar a inicialização e a finalização de qualquer módulo PKCS#11 |
|
é o módulo proxy PKCS#11 |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://gitlab.freedesktop.org/polkit/polkit/-/archive/122/polkit-122.tar.gz
Soma de verificação MD5 da transferência: bbe3e745fc5bc1a41f1b5044f09a0f26
Tamanho da transferência: 728 KB
Espaço em disco estimado exigido: 7,0 MB (com os testes)
Tempo de construção estimado: 0,3 UPC (com os testes, usando paralelismo=4)
gobject-introspection-1.74.0, libxslt-1.1.37, Linux-PAM-1.5.2
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.
GTK-Doc-1.33.2, JS-102.8.0 (pode ser usado no lugar de duktape) e dbusmock-0.28.7 (para os testes)
Um agente de autenticação polkit para usar o polkit no ambiente gráfico: polkit-kde-agent em Plasma-5.26.5 para KDE, o agente construído em gnome-shell-43.3 para GNOME3, polkit-gnome-0.105 para XFCE e lxpolkit em LXSession-0.5.5 para LXDE
Se libxslt-1.1.37 estiver instalado,
então docbook-xml-4.5 e docbook-xsl-nons-1.79.2 serão
exigidos. Se você tiver instalado libxslt-1.1.37, mas
não deseja instalar nenhum dos pacotes DocBook mencionados,
[então] você precisará usar -Dman=false
nas instruções abaixo.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
Instale Polkit executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr \ --buildtype=release \ -Dman=true \ -Dsession_tracking=libsystemd-login \ -Dtests=true \ -Djs_engine=duktape \ .. && ninja
Para testar os resultados, primeiro certifique-se de que o processo de segundo plano D-Bus do sistema esteja executando e que D-Bus Python-1.3.2 e dbusmock-0.28.7 estejam instalados. Em seguida, execute meson test -t3.
Agora, como o(a) usuário(a) root
:
ninja install
--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=duktape
:
Essa chave permite usar o mecanismo do JavaScript duktape-2.7.0. Substitua por -Djs_engine=mozjs
para usar o mecanismo do
JavaScript JS-102.8.0.
-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.
Se não construiu o Polkit com suporte para Linux PAM, [então] você pode pular esta seção.
Se tiver construído o Polkit com suporte para Linux PAM, [então] você precisa
modificar o arquivo padrão de configuração PAM que foi
instalado por padrão para fazer o Polkit funcionar corretamente com o
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/polkit-1 << "EOF"
# Início /etc/pam.d/polkit-1
auth include system-auth
account include system-account
password include system-password
session include system-session
# Fim /etc/pam.d/polkit-1
EOF
é usado para obter informação relativa às ações registradas do PolicyKit |
|
é usado para verificar se um processo está autorizado para ação |
|
permite que um(a) usuário(a) autorizado(a) execute um comando como outro(a) usuário(a) |
|
é usado para iniciar um agente textual de autenticação para o assunto |
|
fornece o serviço D-Bus do org.freedesktop.PolicyKit1 no barramento de mensagem do sistema |
|
contém as funções de API do agente de autenticação Polkit |
|
contém as funções da API de autorização Polkit |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/polkit-gnome/0.105/polkit-gnome-0.105.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/polkit-gnome/0.105/polkit-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
AccountsService-22.08.8, GTK+-3.24.36 e Polkit-122
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/shadow-maint/shadow/releases/download/4.13/shadow-4.13.tar.xz
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
Linux-PAM-1.5.2 ou CrackLib-2.9.8
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/shadow
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 SHA512@' \ -e 's@#\(SHA_CRYPT_..._ROUNDS 5000\)@\100@' \ -e 's@/var/spool/mail@/var/mail@' \ -e '/PATH=/{s@/sbin:@@;s@/bin:@@}' \ -i etc/login.defs && ./configure --sysconfdir=/etc \ --disable-static \ --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
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 SHA512@' -e 's@#\(SHA_CRYPT_..._ROUNDS
5000\)@\100@' -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 mais seguro 'SHA512' de hash de senhas, que também
permite senhas maiores que oito caracteres. O número de
rodadas também é aumentado para evitar ataques de senha de
força bruta. 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.
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.
/etc/pam.d/*
ou,
alternativamente, /etc/pam.conf
, /etc/login.defs
e /etc/security/*
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 Linux-PAM-1.5.2 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:
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
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:
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 data do login mais recente - Desabilitado por padrão
#session optional pam_lastlog.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
cat > /etc/pam.d/passwd << "EOF"
# Início /etc/pam.d/passwd
password include system-password
# Fim /etc/pam.d/passwd
EOF
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
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
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
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
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.
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
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
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.
Uma lista dos arquivos instalados, juntamente com as descrições curtas deles, pode ser encontrada em ../../../../lfs/view/11.3-systemd/chapter08/shadow.html#contents-shadow.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.2p1.tar.gz
Transferência (FTP): ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.2p1.tar.gz
Soma de verificação MD5 da transferência: f78b2acac4bb299629a8c58ddc3fac63
Tamanho da transferência: 1,8 MB
Espaço em disco estimado exigido: 10 MB
Tempo de construção estimado: menos que 0,1 UPC
GTK+-3.24.36, Sudo-1.9.13p1 (tempo de execução), Bibliotecas do Xorg e um ambiente gráfico (tempo de execução)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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.
Como o(a) usuário(a) root
,
configure Sudo-1.9.13p1 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 <aplicativo> gráfico exigir privilégios administrativos, [então] use sudo -A <aplicativo> a partir de um terminal do X, a partir de um menu do Gerenciador de janelas e(ou) substitua "Exec=<aplicativo> ..." por "Exec=sudo -A <aplicativo> ..." no arquivo <aplicativo>.desktop.
gnome-ssh-askpass3
)
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (FTP): ftp://ftp.stunnel.org/stunnel/archive/5.x/stunnel-5.68.tar.gz
Soma de verificação MD5 da transferência: c5197ffc5424af6063be530634f487e4
Tamanho da transferência: 868 KB
Espaço em disco estimado exigido: 6,9 MB
Tempo de construção estimado: 0,1 UPC
libnsl-2.0.0, netcat (exigido para os testes), tcpwrappers e TOR
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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-----
<muitas linhas encriptadas da chave privada>
-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
<muitas linhas encriptadas do certificado>
-----END CERTIFICATE-----
-----BEGIN DH PARAMETERS-----
<linhas encriptadas dos parâmetros dh>
-----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.68 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
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.
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 chroot.
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:
[<service>
]
accept = <nome_dispositivo:número_porta>
connect = <nome_dispositivo:número_porta>
Para uma explicação completa dos comandos e da sintaxe usados no arquivo de configuração, emita man stunnel.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.sudo.ws/dist/sudo-1.9.13p1.tar.gz
Transferência (FTP): ftp://ftp.sudo.ws/pub/sudo/sudo-1.9.13p1.tar.gz
Soma de verificação MD5 da transferência: ee3c5e27479be258af23af1bb132e1db
Tamanho da transferência: 4,9 MB
Espaço em disco estimado exigido: 50 MB (adicionar 16 MB para os testes)
Tempo de construção estimado: 0,4 UPC (adicionar 0,1 UPC para os testes)
Linux-PAM-1.5.2, MIT Kerberos V5-1.20.1, OpenLDAP-2.6.4, MTA (que fornece um comando sendmail), AFS, FWTK e Opie
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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.13p1 \ --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
--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.
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.
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 configurar o
caminho para o(a) superusuário(a) e permitir que os membros
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
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.
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
converte entre formatos de arquivo sudoers |
|
executa um comando como outro(a) usuário(a)
conforme permitido pelo arquivo de configuração
|
|
é um servidor de registro de Entrada/Saída e de evento do sudo |
|
envia registros de Entrada/Saída do sudo para o servidor de registro |
|
é um link simbólico para sudo que implica
a opção |
|
é usado para reproduzir ou para listar os registros de saída gerada criados pelo sudo |
|
permite uma edição mais segura do arquivo
|
O pacote Tripwire contém aplicativos usados para verificar a integridade dos arquivos em um determinado sistema.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/Tripwire/tripwire-open-source/releases/download/2.4.3.7/tripwire-open-source-2.4.3.7.tar.gz
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)
Um MTA
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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
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<senha_do_sítio>
-l<senha_local>
@' Makefile
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
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.
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.
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/<nome-informe.twr>
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/<nome-informe.twr>
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.
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
é um utilitário de coleta de assinatura que exibe os valores da função hash para os arquivos especificados |
|
é o principal aplicativo de verificação de integridade de arquivo |
|
ferramenta administrativa e utilitária usada para realizar certas funções administrativas relacionadas a arquivos e opções de configuração do Tripwire |
|
imprime a base de dados e arquivos de informe do Tripwire em formato de texto simples |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/felixonmars/volume_key/archive/volume_key-0.3.12.tar.gz
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
cryptsetup-2.4.3, GLib-2.74.5, GnuPG-2.4.0, GPGME-1.18.0 e nss-3.88.1
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/volume_key
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
--without-python
:
Esse parâmetro impede a construção das ligações Python 2, se 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, SWIG-4.1.1 não é
necessário.
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.
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.
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 as Dicas do LFS ou 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 /sbin
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 >> $unsorted
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ópia, 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.bin
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 comando 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
LVM2-2.03.18 e(ou) mdadm-4.2 precisam ser instalados antes de gerar o initramfs, se a partição do sistema os usar.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/initramfs
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 “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-4988408eb0a8 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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v6.1.3.tar.xz
Soma de verificação MD5 da transferência: d5f703b4085dc745003c16d046d32c2b
Tamanho da transferência: 2,2 MB
Espaço em disco estimado exigido: 53 MB (adicionar 8,2 GB para os testes)
Tempo de construção estimado: 0,2 UPC (adicione 5,0 UPC para os testes, porém será mais longo em discos lentos)
asciidoc-10.2.0 (ou asciidoctor-2.0.18) e xmlto-0.0.28 (ambos exigidos para gerar as páginas de manual)
LVM2-2.03.18 (dmsetup é usado em testes), reiserfsprogs-3.6.27 (para os testes) e sphinx-6.1.3 (exigido para construir a documentação),
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/btrfs-progs
Habilite a seguinte opção na configuração do núcleo e recompile o núcleo:
File systems --->
<*/M> Btrfs filesystem support [CONFIG_BTRFS_FS]
Além do acima e das opções exigidas para LVM2-2.03.18 e reiserfsprogs-3.6.27, as seguintes opções precisam ser habilitadas para execução de testes:
File systems --->
[*] Btrfs POSIX Access Control Lists [CONFIG_BTRFS_FS_POSIX_ACL]
[*] ReiserFS extended attributes [CONFIG_REISERFS_FS_XATTR]
[*] ReiserFS POSIX Access Control Lists [CONFIG_REISERFS_FS_POSIX_ACL]
Instale btrfs-progs executando os seguintes comandos:
./configure --prefix=/usr --disable-documentation && make
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 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 ./convert-tests.sh ./misc-tests.sh ./fuzz-tests.sh popd
Se as opções do núcleo mencionadas acima não estiverem habilitadas, [então] alguns testes falharão e impedirão que todos os testes restantes sejam executados, porque a imagem de teste do disco não foi desmontada corretamente.
O teste mkfs "025-zoned-parallel" é conhecido por falhar.
Instale o pacote como o(a) usuário(a) root
:
make install
--disable-documentation
: Essa
opção é necessária se as dependências recomendadas não
estiverem instaladas.
é a interface principal para as operações do sistema de arquivos btrfs |
|
converte de um sistema de arquivos ext2/3/4 ou reiserfs para btrfs |
|
é um filtro para encontrar a raiz do btrfs |
|
mapeia a extensão lógica do btrfs para a extensão física |
|
sobrescreve o superbloco primário com uma cópia da cópia de segurança |
|
ajusta vários parâmetros do sistema de arquivos |
|
não faz nada, mas está presente para consistência com fstab |
|
cria um sistema de arquivos btrfs |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/dosfstools/dosfstools/releases/download/v4.2/dosfstools-4.2.tar.gz
Soma de verificação MD5 da transferência: 49c8e457327dc61efab5b115a27b087a
Tamanho da transferência: 314 KB
Espaço em disco estimado exigido: 3,5 MB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/dosfstools
Habilite a seguinte opção na configuração do núcleo e recompile o núcleo:
File systems --->
<DOS/FAT/EXFAT/NT Filesystems --->
<*/M> MSDOS fs support [CONFIG_MSDOS_FS]
<*/M> VFAT (Windows-95) fs support [CONFIG_VFAT_FS]
Instale dosfstools executando os seguintes comandos:
./configure --prefix=/usr \ --enable-compat-symlinks \ --mandir=/usr/share/man \ --docdir=/usr/share/doc/dosfstools-4.2 && make
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install
--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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/libfuse/libfuse/releases/download/fuse-3.13.1/fuse-3.13.1.tar.xz
Soma de verificação MD5 da transferência: f2830b775bcba2ab9cb94f2619c077a4
Tamanho da transferência: 3,9 MB
Espaço em disco estimado exigido: 102 MB (com os testes e a documentação)
Tempo de construção estimado: 0,1 UPC (adicionar 0,4 UPC para os testes)
Doxygen-1.9.6 (para reconstruir a documentação da API) e pytest-7.2.1 (exigido para testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/fuse
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 [CONFIG_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 [CONFIG_FUSE_FS]
<*/M> Character device in Userspace support [CONFIG_CUSE]
Instale Fuse executando os seguintes comandos:
sed -i '/^udev/,$ s/^/#/' util/meson.build && mkdir build && cd build && meson --prefix=/usr --buildtype=release .. && ninja
A documentação da API está incluída no pacote, mas se você tiver o Doxygen-1.9.6 instalado e quiser reconstruí-la, [então] emita:
pushd .. && doxygen doc/Doxyfile && popd
Para testar os resultados, execute (como o(a) usuário(a)
root
):
python3 -m pytest test/
O módulo Python pytest-7.2.1 é exigido para os testes. Um
teste chamado test_cuse
falhará
se o item de configuração CONFIG_CUSE
não estiver
habilitado quando o núcleo foi construído. Dois testes,
test_ctests.py
e test_examples.py
produzirão um aviso,
porque um módulo obsoleto Python é usado.
Agora, como o(a) usuário(a) root
:
ninja install && chmod u+s /usr/bin/fusermount3 && cd .. && install -v -m755 -d /usr/share/doc/fuse-3.13.1 && install -v -m644 doc/{README.NFS,kernel.txt} \ /usr/share/doc/fuse-3.13.1 && cp -Rv doc/html /usr/share/doc/fuse-3.13.1
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.
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 root.
# 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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://jfs.sourceforge.net/project/pub/jfsutils-1.1.15.tar.gz
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
Remendo necessário para corrigir problemas expostos pelo GCC 10 e posterior: https://www.linuxfromscratch.org/patches/blfs/11.3/jfsutils-1.1.15-gcc10_fix-1.patch
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/jfs
Habilite a seguinte opção na configuração do núcleo e recompile o núcleo:
File systems --->
<*/M> JFS filesystem support [CONFIG_JFS_FS]
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 <sys/types.h>" fscklog/extract.c && sed -i "/ioctl.h/a#include <sys/sysmacros.h>" 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
sed ...: Corrige a construção com a glibc 2.28.
é usado para reproduzir o registro de transações do JFS, verificar um dispositivo formatado do JFS para erros e corrigir quaisquer erros encontrados |
|
é um link rígido para fsck.jfs |
|
constrói um sistema de arquivos JFS |
|
é um link rígido para mkfs.jfs |
|
é um aplicativo que pode ser usado para realizar várias ações de baixo nível em um dispositivo formatado do JFS |
|
extrai um registro de serviço fsck do JFS em um arquivo e(ou) formata e exibe o arquivo extraído |
|
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 |
|
ajusta os parâmetros ajustáveis do sistema de arquivos em sistemas de arquivos JFS |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://sourceware.org/ftp/lvm2/LVM2.2.03.18.tgz
Transferência (FTP): ftp://sourceware.org/pub/lvm2/LVM2.2.03.18.tgz
Soma de verificação MD5 da transferência: cda7b89ae45ddb4a0cee768645ac9757
Tamanho da transferência: 2,6 MB
Espaço em disco estimado exigido: 48 MB (adicione 25 MB para os testes; arquivos transitórios podem crescer até cerca de 800 MB no diretório /tmp durante os testes)
Tempo de construção estimado: 0,1 UPC (usando paralelismo = 4; adicione de 9 a 48 UPC para os testes, dependendo da velocidade do disco)
mdadm-4.2, reiserfsprogs-3.6.27, Valgrind-3.20.0, Which-2.21, xfsprogs-6.1.1 (todos os cinco podem ser usados, porém não são exigidos, para os testes), thin-provisioning-tools e vdo
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/lvm2
Habilite as seguintes opções na configuração do núcleo e recompile o núcleo:
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 --->
[*] Multiple devices driver support (RAID and LVM) ---> [CONFIG_MD]
<*/M> Device mapper support [CONFIG_BLK_DEV_DM]
<*/M> Crypt target support [CONFIG_DM_CRYPT]
<*/M> Snapshot target [CONFIG_DM_SNAPSHOT]
<*/M> Thin provisioning target [CONFIG_DM_THIN_PROVISIONING]
<*/M> Cache target (EXPERIMENTAL) [CONFIG_DM_CACHE]
<*/M> Mirror target [CONFIG_DM_MIRROR]
<*/M> Zero target [CONFIG_DM_ZERO]
<*/M> I/O delaying target [CONFIG_DM_DELAY]
[*] Block devices --->
<*/M> RAM block device support [CONFIG_BLK_DEV_RAM]
Kernel hacking --->
Generic Kernel Debugging Instruments --->
[*] Magic SysRq key [CONFIG_MAGIC_SYSRQ]
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=<nome_do_teste> 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 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).
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
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.
é um utilitário para desativar dispositivos de bloco |
|
(opcional) é o processo de segundo plano de evento do Device Mapper |
|
é uma ferramenta de baixo nível de gerenciamento de volume lógico |
|
é um utilitário usado para redimensionar ou para verificar o sistema de arquivos em um dispositivo |
|
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*) |
|
é uma ferramenta usada para despejar várias informações concernentes ao LVM2 |
|
é usado para importar um VG duplicado (por exemplo, instantâneo de hardware) |
|
contém as funções da API Device Mapper |
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
LVM2-2.03.18 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:
Esses são discos físicos ou partições, como /dev/sda3 ou /dev/sdb.
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.
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
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 (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 “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
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 LVM HOWTO e as páginas de manual do lvm. Um bom e detalhado guia está disponível a partir da RedHat®, embora às vezes ele faça referência a ferramentas proprietárias.
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 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 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.
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.
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.
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 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 parted-3.5, 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.
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,
xfsprogs-6.1.1, 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
.
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 Linux RAID Wiki.
O pacote mdadm contém ferramentas de administração para RAID de software.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.kernel.org/pub/linux/utils/raid/mdadm/mdadm-4.2.tar.xz
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
Um MTA
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/mdadm
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.
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) ---> [CONFIG_MD]
<*> RAID support [CONFIG_BLK_DEV_MD]
[*] Autodetect RAID arrays during kernel boot [CONFIG_MD_AUTODETECT]
<*/M> Linear (append) mode [CONFIG_MD_LINEAR]
<*/M> RAID-0 (striping) mode [CONFIG_MD_RAID0]
<*/M> RAID-1 (mirroring) mode [CONFIG_MD_RAID1]
<*/M> RAID-10 (mirrored striping) mode [CONFIG_MD_RAID10]
<*/M> RAID-4/RAID-5/RAID-6 mode [CONFIG_MD_RAID456]
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
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) .
<test1,test2,...>
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 --->
<*/M> NTFS Read-Write file system support [CONFIG_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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://tuxera.com/opensource/ntfs-3g_ntfsprogs-2022.10.3.tgz
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
fuse 2.x (isso desabilita as montagens do(a) usuário(a))
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/ntfs-3g
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 [CONFIG_FUSE_FS]
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
--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.
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
é semelhante ao ntfs-3g, mas usa a interface de baixo nível Fuse |
|
é um link simbólico para mkntfs |
|
cria um sistema de arquivos NTFS |
|
é um link simbólico para lowntfs-3g |
|
monta um sistema de arquivos NTFS |
|
é um link simbólico para 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 |
|
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 |
|
identifica arquivos em uma região especificada de um volume NTFS |
|
copia um arquivo para um volume NTFS |
|
corrige erros comuns e força o Windows a verificar uma partição NTFS |
|
lista o conteúdo do diretório em um sistema de arquivos NTFS |
|
imprime arquivos e fluxos NTFS na saída gerada padrão |
|
clona um sistema de arquivos NTFS |
|
compara dois sistemas de arquivos NTFS e mostra as diferenças |
|
despeja os atributos de um arquivo |
|
exibe ou muda o rótulo em um sistema de arquivos NTFS |
|
redimensiona um sistema de arquivos NTFS sem perda de dados |
|
recupera um arquivo deletado a partir de um volume NTFS |
|
contém as funções da API do Ntfs-3g |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/gptfdisk/gptfdisk-1.0.9.tar.gz
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)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gptdisk
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
patch -Np1 ...:
Esse remendo modifica o arquivo Makefile
, de forma que ele forneça um alvo
“install”.
O pacote Parted é uma ferramenta de particionamento de disco e de redimensionamento de partição.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.gnu.org/gnu/parted/parted-3.5.tar.xz
Transferência (FTP): ftp://ftp.gnu.org/gnu/parted/parted-3.5.tar.xz
Soma de verificação MD5 da transferência: 336fde60786d5855b3876ee49ef1e6b2
Tamanho da transferência: 1,8 MB
Espaço em disco estimado exigido: 33 MB (adicional 3 MB para os testes e adicional 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)
LVM2-2.03.18 (device-mapper, exigido se construir udisks)
dosfstools-4.2, Pth-2.0.7, texlive-20220321 (ou install-tl-unx) e Digest::CRC (para testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/parted
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 ---> [CONFIG_SCSI_LOW_LEVEL]
<M> SCSI debugging host and device simulator [CONFIG_SCSI_DEBUG]
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 texlive-20220321 instalado e desejar criar documentação em PDF e Postscript, [então] emita os seguintes comandos:
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
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.5/html && install -v -m644 doc/html/* \ /usr/share/doc/parted-3.5/html && install -v -m644 doc/{FAT,API,parted.{txt,html}} \ /usr/share/doc/parted-3.5
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.5
--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.
O pacote reiserfsprogs contém vários utilitários para uso com o sistema de arquivos Reiser.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.kernel.org/pub/linux/kernel/people/jeffm/reiserfsprogs/v3.6.27/reiserfsprogs-3.6.27.tar.xz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/reiser
Habilite a seguinte opção na configuração do núcleo e recompile o núcleo:
File systems --->
<*/M> Reiserfs support [CONFIG_REISERFS_FS]
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
sed ...: Certifique-se de que uma variável seja definida para uso com arquivos recentes "include".
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 |
|
cria um sistema de arquivos ReiserFS |
|
é usado para verificar ou para reparar um sistema de arquivos ReiserFS |
|
é usado para ajustar o diário do ReiserFS. AVISO: Não use esse utilitário sem primeiro ler a página de manual completamente |
|
é usado para redimensionar um sistema de arquivos ReiserFS desmontado |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/smartmontools/smartmontools-7.3.tar.gz
Soma de verificação MD5 da transferência: 7a71d388124e3cd43abf6586a43cb1ff
Tamanho da transferência: 1 MB
Espaço em disco estimado exigido: 30 MB
Tempo de construção estimado: 0,2 UPC
cURL-7.88.1 ou Lynx-2.8.9rel.1 ou Wget-1.21.3 (ferramentas de transferência) e GnuPG-2.4.0 (discos rígidos encriptados)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/smartmontools
Instale smartmontools executando os seguintes comandos:
./configure --prefix=/usr \ --sysconfdir=/etc \ --docdir=/usr/share/doc/smartmontools-7.3 && make
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install
Consulte os comentários embutidos em /etc/smartd.conf
para instruções
detalhadas a respeito de personalizar o processo de segundo
plano smartd.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/libfuse/sshfs/releases/download/sshfs-3.7.3/sshfs-3.7.3.tar.xz
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
Fuse-3.13.1, GLib-2.74.5 e OpenSSH-9.2p1.
docutils-0.19 (exigido para construir a página de manual)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/sshfs
Instale Sshfs executando os seguintes comandos:
mkdir build && cd build && meson --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
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,IdentityFile=/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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/xfsprogs-6.1.1.tar.xz
Soma de verificação MD5 da transferência: 9befb0877b9f874b0ff16bcc1f858985
Tamanho da transferência: 1,3 MB
Espaço em disco estimado exigido: 77 MB
Tempo de construção estimado: 0,3 UPC (Usando paralelismo=4)
ICU-72.1 (para escaneamento de nome Unicode em xfs_scrub)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xfs
Habilite as seguintes opções na configuração do núcleo e recompile o núcleo:
File systems --->
<*/M> XFS filesystem support [CONFIG_XFS_FS]
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.1.1 install && make PKG_DOC_DIR=/usr/share/doc/xfsprogs-6.1.1 install-dev && rm -rfv /usr/lib/libhandle.{a,la}
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.
simplesmente sai com um status zero, pois as partições XFS são verificadas ao tempo da montagem |
|
constrói um sistema de arquivos XFS |
|
muda os parâmetros de um sistema de arquivos XFS |
|
imprime o mapeamento de bloco para um arquivo XFS |
|
copia o conteúdo de um sistema de arquivos XFS para um ou mais destinos em paralelo |
|
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) |
|
é usado para depurar um sistema de arquivos XFS |
|
suspende o acesso a um sistema de arquivos XFS |
|
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) |
|
expande um sistema de arquivos XFS |
|
é equivalente a invocar xfs_growfs, mas especificando que nenhuma mudança no sistema de arquivos é para ser feita |
|
é 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 |
|
imprime o registro de um sistema de arquivos XFS |
|
restaura uma imagem do meta despejo XFS para uma imagem do sistema de arquivos |
|
copia os metadados do sistema de arquivos XFS para um arquivo |
|
cria um arquivo XFS, preenchido com zeros por padrão |
|
gera nomes de caminhos a partir de números de "inode" para um sistema de arquivos XFS |
|
é um utilitário para informar e para editar vários aspectos das cotas do sistema de arquivos |
|
repara sistemas de arquivos XFS corrompidos ou danificados |
|
copia um arquivo para a partição em tempo real em um sistema de arquivos XFS |
|
verifica e repara o conteúdo de um sistema de arquivos XFS montado |
|
limpa todos os sistemas de arquivos XFS montados |
|
informa e controla o uso de espaço livre em um sistema de arquivos XFS |
|
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 |
O pacote efivar fornece ferramentas e bibliotecas para manipular variáveis EFI.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/rhboot/efivar/releases/download/38/efivar-38.tar.bz2
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
Remendo opcional (exigido para sistemas de 32 bits): https://www.linuxfromscratch.org/patches/blfs/11.3/efivar-38-i686-1.patch
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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
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
LIBDIR=/usr/lib
: Essa
opção substitui o diretório padrão da biblioteca do pacote
(/usr/lib64
, que não é usado
pelo LFS).
O pacote efibootmgr fornece ferramentas e bibliotecas para manipular variáveis EFI.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/rhboot/efibootmgr/archive/18/efibootmgr-18.tar.gz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.gnu.org/gnu/grub/grub-2.06.tar.xz
Soma de verificação MD5 da transferência: cf0fd928b1e5479c8108ee52cb114363
Tamanho da transferência: 6,3 MB
Espaço em disco estimado exigido: 137 MB
Tempo de construção estimado: 1,0 UPC (no LFS de 64 bits)
Dados de fonte Unicode usados para exibir o menu do GRUB
Transferência (HTTP): https://unifoundry.com/pub/unifont/unifont-15.0.01/font-builds/unifont-15.0.01.pcf.gz
Soma de verificação MD5 da transferência: c371b9b4a8a51228c468cc7efccec098
Tamanho da transferência: 1,4 MB
GCC (necessário somente se construir no LFS de 32 bits)
Transferência (HTTP): https://ftp.gnu.org/gnu/gcc/gcc-12.2.0/gcc-12.2.0.tar.xz
Soma de verificação MD5 da transferência: 73bafd0af874439dcdb9fc063b6fb069
Tamanho da transferência: 81 MB
efibootmgr-18 (tempo de execução) e FreeType-2.13.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/grub-efi
Primeiro, instale os dados da fonte como o(a) usuário(a)
root
:
mkdir -pv /usr/share/fonts/unifont && gunzip -c ../unifont-15.0.01.pcf.gz > /usr/share/fonts/unifont/unifont.pcf
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-12.2.0.tar.xz
mkdir gcc-12.2.0/build
pushd gcc-12.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
--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.
Se a dependência recomendada FreeType-2.13.0 não estiver instalada, [então] é possível omitir essa opção e construir o GRUB. No entanto, se o grub-mkfont não fosse construído ou os dados da fonte Unicode não estivessem disponíveis ao tempo que o GRUB for construído, [então] 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 e o estágio inicial da inicialização do núcleo será em “modo cego” — você não consegue ver nenhuma mensagem do núcleo antes que o controlador da placa gráfica seja inicializado. Será muito difícil diagnosticar alguns problemas de inicialização, especialmente se o controlador gráfico for construído como módulo.
--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 dos firmwares 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.
Usar o GRUB para tornar o sistema LFS inicializável na plataforma UEFI será discutido em Usando o GRUB para Configurar o Processo de Inicialização com UEFI.
Veja-se a página para o GRUB no livro LFS.
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.
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 dosfstools-4.2
primeiro, então, como o(a) usuário(a) root
:
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/sdxWelcome to fdisk (util-linux 2.38.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help):
tPartition number (1-9, default 9):
1Partition type or alias (type L to list all):
uefiChanged type of partition 'Linux filesystem' to 'EFI System'. Command (m for help):
wThe partition table has been altered. Calling ioctl() to re-read partition table. 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:
mkdir -pv /mnt/rescue && mount -v -t vfat /dev/sdx1 /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.
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 [CONFIG_EFI]
[*] EFI stub support [CONFIG_EFI_STUB]
Enable the block layer --->
Partition Types --->
[*] Advanced partition selection [CONFIG_PARTITION_ADVANCED]
[*] EFI GUID Partition support [CONFIG_EFI_PARTITION]
Device Drivers --->
Firmware Drivers --->
[*] Mark VGA/VBE/EFI FB as generic system framebuffer [CONFIG_SYSFB_SIMPLEFB]
Graphics support --->
<*> Direct Rendering Manager [CONFIG_DRM]
[*] Enable legacy fbdev support for your modesetting driver [CONFIG_DRM_FBDEV_EMULATION]
<*> Simple framebuffer driver [CONFIG_DRM_SIMPLEDRM]
Frame buffer Devices --->
<*> Support for frame buffer devices ---> [CONFIG_FB]
Console display driver support --->
[*] Framebuffer Console support [CONFIG_FRAMEBUFFER_CONSOLE]
File systems --->
<DOS/FAT/EXFAT/NT Filesystems --->
<*/M> VFAT (Windows-95) fs support [CONFIG_VFAT_FS]
Pseudo filesystems --->
<*/M> EFI Variable filesystem [CONFIG_EFIVAR_FS]
O significado das opções de configuração:
CONFIG_EFI_STUB
Em sistemas EFI, o GRUB inicializa o núcleo Linux invocando o firmware EFI para carregá-lo como um aplicativo EFI. Portanto, a raiz EFI é necessária para amarrar o núcleo como um aplicativo EFI.
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 kernel, a menos que um initramfs seja usado.
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, [então] a ESP possivelmente não exista.
Nesse caso, 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.
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):
mkdir -pv /boot/efi && mount -v -t vfat /dev/sda1 /boot/efi
Adicione uma entrada para a ESP em /etc/fstab
, de forma que ela será montada
automaticamente durante a inicialização do sistema:
cat >> /etc/fstab << EOF
/dev/sda1 /boot/efi vfat defaults 0 1
EOF
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:
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.
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”.
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/firmware/efi/efivars
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.
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.
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.
Gere o /boot/grub/grub.cfg
para
configurar o menu de inicialização do GRUB:
cat > /boot/grub/grub.cfg << EOF
# Início /boot/grub/grub.cfg
set default=0
set timeout=5
insmod part_gpt
insmod ext2
set root=(hd0,2)
if loadfont /boot/grub/fonts/unicode.pf2; then
set gfxmode=auto
insmod all_video
terminal_output gfxterm
fi
menuentry "GNU/Linux, Linux 6.1.11-lfs-11.3" {
linux /boot/vmlinuz-6.1.11-lfs-11.3 root=/dev/sda2 ro
}
menuentry "Configuração do Firmware" {
fwsetup
}
EOF
(hd0,2)
, sda2
e 6.1.11-lfs-11.3
precisam corresponder à sua
configuração.
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”).
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.
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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.bennewitz.com/bluefish/stable/source/bluefish-2.2.12.tar.bz2
Soma de verificação MD5 da transferência: 33dd8262c4d8a564a517f8c98c0cce19
Tamanho da transferência: 4,0 MB
Espaço em disco estimado exigido: 69 MB
Tempo de construção estimado: 0,4 UPC
GTK+-2.24.33 ou GTK+-3.24.36 (se ambos estiverem instados, [então] configure, por padrão, usa GTK+ 3)
desktop-file-utils-0.26 (para atualizar a base de dados da área de trabalho)
enchant-2.3.3 (para verificação ortográfica), Gucharmap-15.0.2, PCRE-8.45 e Jing
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/bluefish
Instale Bluefish executando os seguintes comandos:
./configure --prefix=/usr --docdir=/usr/share/doc/bluefish-2.2.12 && make
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install
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 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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.gnu.org/gnu/ed/ed-1.19.tar.lz
Transferência (FTP): 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
libarchive-3.6.2 (para bsdtar)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.gnu.org/gnu/emacs/emacs-28.2.tar.xz
Transferência (FTP): ftp://ftp.gnu.org/gnu/emacs/emacs-28.2.tar.xz
Soma de verificação MD5 da transferência: cb799cdfc3092272ff6d35223fc6bfef
Tamanho da transferência: 46 MB
Espaço em disco estimado exigido: 466 MB
Tempo de construção estimado: 0,5 UPC (Usando paralelismo=4)
HarfBuzz-7.0.0, giflib-5.2.1, GnuTLS-3.8.0, jansson-2.14 e libtiff-4.5.0
um ambiente gráfico, alsa-lib-1.2.8, Cairo-1.17.6, dbus-1.14.6, GConf-3.2.6, gobject-introspection-1.74.0, gsettings-desktop-schemas-43.0, GPM-1.20.7, GTK+-2.24.33 ou GTK+-3.24.36, ImageMagick-7.1.0-61, Little CMS-2.14, libjpeg-turbo-2.1.5.1, libpng-1.6.39, librsvg-2.54.5, libxml2-2.10.3, MIT Kerberos V5-1.20.1, Valgrind-3.20.0, intlfonts, libungif, libotf e m17n-lib - para exibir corretamente scripts complexos, tais como o Indic e o Khmer, e também para scripts que exigem suporte a modelagem árabe (Arabic e Farsi), mailutils e libXaw3d
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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/28.2
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 GTK+-2.24.33
ou GTK+-3.24.36 instalado e emitir o
seguinte comando como o(a) usuário(a) root
:
gtk-update-icon-cache -qtf /usr/share/icons/hicolor
--with-imagemagick
: Use isso se
você tiver instalado o ImageMagick-7.1.0-61 e
desejar vincular a ele.
--with-gif=no
: Use isso se você
não tiver instalado giflib-5.2.1 ou libungif.
--with-tiff=no
: Use isso se você
não tiver instalado libtiff-4.5.0.
--with-gnutls=no
: Use isso se
você não tiver instalado GnuTLS-3.8.0.
--without-harfbuzz
: Use isso se
você não tiver instalado o HarfBuzz-7.0.0.
--with-json=no
: Use isso se você
não tiver instalado jansson-2.14.
cria arquivos de base de dados arquivo de marca de referência cruzada para código-fonte |
|
permite navegar pelas hierarquias de classe C++ a partir de dentro do emacs |
|
é um editor |
|
anexa uma sessão do emacs a uma instância do emacsserver já em execução |
|
é outro aplicativo para gerar arquivos de marca de referência cruzada de código-fonte |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gedit/44/gedit-44.2.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gedit/44/gedit-44.2.tar.xz
Soma de verificação MD5 da transferência: fc257c0bce2ee900208032913f94053f
Tamanho da transferência: 2,6 MB
Espaço em disco estimado exigido: 66 MB (com os testes)
Tempo de construção estimado: 0,5 UPC (usando paralelismo = 4; com os testes)
git-2.39.2, gsettings-desktop-schemas-43.0, gtksourceview4-4.8.4, itstool-2.0.7, libpeas-1.34.0 e tepl-6.4.0
gspell-1.12.0, Gvfs-1.50.3 (tempo de execução), ISO Codes-4.12.0 e PyGObject-3.42.2 (módulo Python 3)
GTK-Doc-1.33.2, Vala-0.56.4 e zeitgeist
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gedit
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
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
--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 desabilita a geração da documentação da API. Omita essa
chave se você tiver GTK-Doc-1.33.2 instalado e desejar gerar
a documentação da API.
JOE (Joe's Own Editor) é um pequeno editor de texto capaz de emular WordStar, Pico e Emacs.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/joe-editor/joe-4.6.tar.gz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
é um link simbólico para joe usado para iniciar o modo de emulação Emacs |
|
é um pequeno editor de texto capaz de emular WordStar, Pico e Emacs |
|
é um link simbólico para joe usado para iniciar o modo de emulação Pico |
|
é um link simbólico para joe usado para iniciar o modo de emulação do WordStar |
|
é um link simbólico para joe que restringe o JOE a editar somente os arquivos que estejam especificados na linha de comando |
|
é 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) |
|
é um aplicativo usado pelo joe para gerar o arquivo de índice termcap (veja-se /usr/share/doc/joe-4.6/util/README) |
|
é 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) |
O pacote Kate contém um avançado editor gráfico de texto baseado em KF5.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.kde.org/stable/release-service/22.12.2/src/kate-22.12.2.tar.xz
Soma de verificação MD5 da transferência: 10b1d9b7061da8f6042d6ecb62a43a37
Tamanho da transferência: 7,5 MB
Espaço em disco estimado exigido: 119 MB
Tempo de construção estimado: 1,1 UPC (usando paralelismo = 4)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/kate5
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
Mousepad é um editor simples de texto GTK+ 3 para o ambiente de área de trabalho Xfce.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.xfce.org/src/apps/mousepad/0.5/mousepad-0.5.10.tar.bz2
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
DConf-0.40.0 (tempo de execução) e dbus-glib-0.112
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--enable-keyfile-settings
: Use
a estrutura de retaguarda do arquivo de chaves GSettings em
vez do padrão DConf-0.40.0.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.nano-editor.org/dist/v7/nano-7.2.tar.xz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--enable-utf8
: Essa
chave habilita o suporte Unicode no Nano.
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.
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.
A versão do vim muda diariamente. Para obter a versão mais recente, acesse https://github.com/vim/vim/releases.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://anduin.linuxfromscratch.org/BLFS/vim/vim-9.0.1273.tar.xz
Soma de verificação MD5 da transferência: 9c80755d2d95ec4ef713f66e57671797
Tamanho da transferência: 11 MB
Espaço em disco estimado exigido: 166 MB (adicionar 67 MB para os testes)
Tempo de construção estimado: 0,4 UPC (com paralelismo=4; adicione 7,7 UPC para os testes)
um ambiente gráfico e GTK+-3.24.36
GPM-1.20.7, Lua-5.4.4, rsync-3.2.7 e Ruby-3.2.1
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/vim
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:
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
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'.
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.1273
, tornando-o
consistente com o local da documentação para outros pacotes:
ln -snfv ../vim/vim90/doc /usr/share/doc/vim-9.0.1273
Se você deseja atualizar os arquivos de tempo de execução, [então] emita o seguinte comando (exige 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.1273" -c ":q"
--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.
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: 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.1273 emita o seguinte comando:
:help version-9.0.1273
Para informação adicional a respeito do como configurar os arquivos de configuração do Vim, veja-se Os Arquivos vimrc e https://vim.fandom.com/wiki/Example_vimrc.
Uma lista dos arquivos reinstalados, juntamente com as descrições curtas deles, pode ser encontrada nas Instruções de Instalação do Vim do LFS.
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 é 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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): http://gondor.apana.org.au/~herbert/dash/files/dash-0.5.12.tar.gz
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
libedit (biblioteca do editor de linha de comando)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
:
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
--bindir=/bin
: Esse
parâmetro coloca o binário dash no sistema de arquivos
raiz.
--with-libedit
: Para compilar
Dash com suporte a libedit.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://astron.com/pub/tcsh/tcsh-6.24.07.tar.gz
Transferência (FTP): ftp://ftp.astron.com/pub/tcsh/tcsh-6.24.07.tar.gz
Soma de verificação MD5 da transferência: 5a0dfa0874f2dee24e0b36b3ed41d3a2
Tamanho da transferência: 928 KB
Espaço em disco estimado exigido: 11 MB (com os testes)
Tempo de construção estimado: 0,2 UPC (com os testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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.
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)
.
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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.zsh.org/pub/zsh-5.9.tar.xz
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)
Documentação Opcional: 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
Quando existe um lançamento novo do zsh, os arquivos antigos mostrados acima são movidos para um novo diretório do servidor: https://www.zsh.org/pub/old/ .
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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 texlive-20220321 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
--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.
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
<nome-de-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.
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 é 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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.qemu.org/qemu-7.2.0.tar.xz
Soma de verificação MD5: 7630d6a9eba7ab2bcb9979d6d24c2697
Tamanho da transferência: 117 MB
Espaço em disco estimado exigido: 2,1 GB
Tempo de construção estimado: 1,3 UPC (adicione 2,0 UPC para os testes, ambos usando paralelismo=4)
GLib-2.74.5 e um ambiente gráfico
alsa-lib-1.2.8, Libslirp-4.7.0 e SDL2-2.26.3
Dependendo do sistema de som, vários pacotes em ALSA-1.2.7, Python-3.11.2, PulseAudio-16.1, BlueZ-5.66, cURL-7.88.1, Cyrus SASL-2.1.28, GnuTLS-3.8.0, GTK+-2.24.33, GTK+-3.24.36, libusb-1.0.26, libgcrypt-1.10.1, libssh2-1.10.0, LZO-2.10, Nettle-3.8.1, Mesa-22.3.5, SDL-1.2.15, VTE-0.70.3 ou Vte-0.28.2 e libcacard
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 Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/qemu
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.
Habilite as seguintes opções na configuração do núcleo e recompile o núcleo, se necessário:
[*] Virtualization: ---> [CONFIG_VIRTUALIZATION]
<*/M> Kernel-based Virtual Machine (KVM) support [CONFIG_KVM]
<*/M> KVM for Intel (and compatible) processors support [CONFIG_KVM_INTEL]
<*/M> KVM for AMD processors support [CONFIG_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 bridge-utils-1.7.1 está instalado e se as seguintes opções na configuração do núcleo estão habilitadas:
[*] Networking support ---> [CONFIG_NET]
Networking options --->
<*/M> 802.1d Ethernet Bridging [CONFIG_BRIDGE]
Device Drivers --->
[*] Network device support ---> [CONFIG_NETDEVICES]
<*/M> Universal TUN/TAP device driver support [CONFIG_TUN]
Como o(a) usuário(a) root
,
adicione quaisquer usuários(as) que possam usar o dispositivo
KVM a esse grupo:
usermod -a -G kvm <nome_de_usuário(a)>
Instale qemu executando os seguintes comandos:
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 \ --docdir=/usr/share/doc/qemu-7.2.0 && unset QEMU_ARCH && make
qemu usa ninja como um subprocesso ao construir. Para executar os testes, emita: ninja test.
Agora, como o(a) usuário(a) root
:
make install
Você também precisará adicionar uma regra do Udev para que o
dispositivo KVM obtenha as permissões corretas. Como o(a)
usuário(a) root
, emita:
cat > /lib/udev/rules.d/65-kvm.rules << "EOF"
KERNEL=="kvm", GROUP="kvm", MODE="0660"
EOF
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:
chgrp kvm /usr/libexec/qemu-bridge-helper && chmod 4750 /usr/libexec/qemu-bridge-helper
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
--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.
--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
.
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-7.2.0/qemu-doc.html
.
É 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.
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.
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.
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.
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"
-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 <N>
:
habilita o multiprocessamento simétrico com <N> CPUs.
-cpu <model>
:
simula a CPU <model>. A lista dos modelos suportados
pode ser obtida com -cpu help
.
-drive
file=<nome_do_arquivo>
: define um disco
virtual cuja imagem está armazenada em <nome_de_arquivo>
.
-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=<netid>
: define uma placa de
rede de comunicação conectada ao dispositivo de rede de
comunicação com id <netid>.
-netdev
user,id=<netid>
: 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
<modelo>
: define o modelo da placa de som.
A lista pode ser obtida com -soundhw
help
.
-vga <tipo>
:
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 <tipo>
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 <nome>
:
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.
-pflash
/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=<nome_do_arquivo>,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.
Possivelmente aconteça que a janela de convidado exibida pelo qemu não corresponda à capacidade total da placa emulada VGA. Por exemplo, a placa vmware é compatível com 1600x900, mas somente 1024x768 é exibido por padrão. Uma configuração adequada do Xorg no convidado permite usar o tamanho completo (observe que o controlador de vídeo do Xorg a ser usado é o Controlador VMware do Xorg-13.4.0):
cat > /usr/share/X11/xorg.conf.d/20-vmware.conf << "EOF"
Section "Monitor"
Identifier "Monitor0"
# cvt 1600 900
# 1600x900 59.95 Hz (CVT 1.44M9) hsync: 55.99 kHz; pclk: 118.25 MHz
Modeline "1600x900" 118.25 1600 1696 1856 2112 900 903 908 934 -hsync +vsync
Option "PreferredMode" "1600x900"
HorizSync 1-200
VertRefresh 1-200
EndSection
Section "Device"
Identifier "Adaptador VMware SVGA II"
Option "Monitor" "default"
Driver "vmware"
EndSection
Section "Screen"
Identifier "Tela Padrão"
Device "Adaptador VMware SVGA II"
Monitor "Monitor0"
SubSection "Display"
Depth 24
Modes "1600x900" "1440x900" "1366x768" "1280x720" "800x480"
EndSubSection
EndSection
EOF
Novos tamanhos estarão disponíveis além dos nativos. Você precisa reiniciar o X para a finalidade de ter os novos tamanhos disponíveis.
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,...
.
Converte arquivos do formato elf para dmp |
|
é uma ferramenta de teste para o gerador EDID do qemu |
|
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 |
|
fornece comandos para gerenciar imagens de disco do QEMU |
|
é 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 |
|
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 |
|
exporta imagens de disco do Qemu usando o protocolo QEMU Disk Network Block Device (NBD) |
|
Implementa o auxiliar de reserva persistente para o QEMU |
|
permite modificar imagens de disco usando o QEMU Monitor Protocol (QMP) sem executar uma "VM" |
|
é o emulador PC System do QEMU |
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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.apache.org/dist/apr/apr-1.7.2.tar.bz2
Transferência (FTP): ftp://ftp.mirrorservice.org/sites/ftp.apache.org/apr/apr-1.7.2.tar.bz2
Soma de verificação MD5 da transferência: 9a00835e4da8c215348e263b550fc130
Tamanho da transferência: 870 KB
Espaço em disco estimado exigido: 12 MB (4 MB adicionais para os testes)
Tempo de construção estimado: 0,2 UPC (adicionar 1,7 UPC para os testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/apr
Corrija um problema ao verificar um local em um modelo de script:
sed -e '/^case "$0"/s;$0;$(readlink -f $0);' \ -i apr-config.in
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
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.apache.org/dist/apr/apr-util-1.6.3.tar.bz2
Transferência (FTP): 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)
Base de Dados Berkeley-5.3.28, FreeTDS, MariaDB-10.6.12 ou MySQL, OpenLDAP-2.6.4, PostgreSQL-15.2, SQLite-3.40.1 e unixODBC-2.3.11
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--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 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 OpenLDAP-2.6.4, [então] use essa chave
para compilar o plugin apr_ldap.so
.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.gnu.org/gnu/aspell/aspell-0.60.8.tar.gz
Transferência (FTP): 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
Você precisará baixar pelo menos um dicionário. O link abaixo te levará a uma página contendo links para dicionários em muitos idiomas.
Dicionários do Aspell: https://ftp.gnu.org/gnu/aspell/dict
Which-2.21 (para os dicionários)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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/
ln -svfn aspell-0.60 /usr/lib/aspell: Esse comando é útil para configuração de outros aplicativos, como enchant-2.3.3.
é 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 |
|
é um amarrador em torno de aspell para invocá-lo no modo compatível com ispell |
|
é um amarrador em torno de aspell para invocá-lo no modo compatível com spell |
|
importa dicionários pessoais antigos para Aspell |
|
descomprime um arquivo prezip para a saída gerada padrão |
|
descomprime um arquivo prezip |
|
é um compressor de prefixo delta, usado para comprimir listas de palavras classificadas ou outros arquivos de texto semelhantes |
|
é chamado pelos vários scripts amarradores para realizar a atual compressão e descompressão |
|
exibe informação a respeito da instalação do
|
|
é um script para ajudar a usar Aspell como substituto de ispell |
|
comprime ou descomprime listas de palavras classificadas para uso com o verificador ortográfico Aspell |
|
contém funções da API de verificação ortográfica |
|
é uma interface para a biblioteca |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://boostorg.jfrog.io/artifactory/main/release/1.81.0/source/boost_1_81_0.tar.bz2
Soma de verificação MD5 da transferência: 3276c0637d1be8687740c550237ef999
Tamanho da transferência: 113 MB
Espaço em disco estimado exigido: 1,1 GB (195 MB instalado)
Tempo de construção estimado: 1,4 UPC (Usando paralelismo=4; adicionar 1,2 UPC para os testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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 LibreOffice-7.5.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, <N>
representa o número
de trabalhos. Instale o Boost executando os seguintes comandos:
./bootstrap.sh --prefix=/usr --with-python=python3 &&
./b2 stage -j<N>
threading=multi link=shared
Para executar o teste de regressão do Boost.Build, emita pushd tools/build/test; python3 test_all.py; popd. Com python-3.10.x, todos os 168 testes deveriam passar. Com Python-3.11.2, 20 testes falham por razões indeterminadas.
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.
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
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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/google/brotli/archive/v1.0.9/brotli-1.0.9.tar.gz
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 vinculações python3)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/brotli
Primeiro, corrija um problema nos arquivos pkg-config:
sed -i 's@-R..libdir.@@' scripts/*.pc.in
Instale 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
CLucene é uma versão C++ do Lucene, um mecanismo de pesquisa de texto de alto desempenho.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/clucene/clucene-core-2.3.3.4.tar.gz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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 <ctime>' 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
-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.
O pacote D-Bus GLib contém interfaces GLib para a API D-Bus.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-0.112.tar.gz
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)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/dbus-glib
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
--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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/google/double-conversion/archive/v3.2.1/double-conversion-3.2.1.tar.gz
Soma de verificação MD5 da transferência: ccdcf76f6df822fb5488425e85707e55
Tamanho da transferência: 6,7 MB
Espaço em disco estimado exigido: 55 MB (com os testes)
Tempo de construção estimado: 0,1 UPC (com os testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
-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.
duktape é um mecanismo embutível Javascript, com foco em portabilidade e pegada compacta.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://duktape.org/duktape-2.7.0.tar.xz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/AbiWord/enchant/releases/download/v2.3.3/enchant-2.3.3.tar.gz
Soma de verificação MD5 da transferência: 9b8519d43a711dae47b47a82fe78b194
Tamanho da transferência: 968 KB
Espaço em disco estimado exigido: 6,9 MB (adicionar 77 MB para os testes)
Tempo de construção estimado: 0,2 UPC (adicionar 0,8 UPC para os testes)
dbus-glib-0.112, Doxygen-1.9.6, Hspell, Hunspell, Nuspell, Voikko e unittest-cpp (exigido para os testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/enchant
Instale enchant executando os seguintes comandos:
./configure --prefix=/usr --disable-static && 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
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
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 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".
Exempi é uma implementação do XMP (Extensible Metadata Platform da Adobe).
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://libopenraw.freedesktop.org/download/exempi-2.6.3.tar.xz
Soma de verificação MD5 da transferência: 27a7d9566d2335785c03ce9e66096f2a
Tamanho da transferência: 2,7 MB
Espaço em disco estimado exigido: 288 MB (adicionar 241 MB para os testes)
Tempo de construção estimado: 0,4 UPC (usando paralelismo=4; adicionar 1,9 UPC para os testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.fftw.org/fftw-3.3.10.tar.gz
Transferência (FTP): 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)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/fftw
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
--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 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 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
.
é 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 |
|
é 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 |
|
é a biblioteca Fast Fourier Transform |
|
é a biblioteca encadeada Fast Fourier Transform |
|
é a biblioteca Fast Fourier Transform de precisão simples, descrita como “float” por razões históricas |
|
é a biblioteca encadeada de precisão simples Fast Fourier Transform |
|
é a biblioteca longa dupla Fast Fourier Transform |
|
é a biblioteca encadeada longa dupla Fast Fourier Transform |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/glib/2.74/glib-2.74.5.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/glib/2.74/glib-2.74.5.tar.xz
Soma de verificação MD5 da transferência: 7561501d9f63f3418ddb23d2903cc968
Tamanho da transferência: 5,0 MB
Espaço em disco estimado exigido: 122 MB (adicionar 8 MB para os testes)
Tempo de construção estimado: 0,5 UPC (adicionar 0,4 UPC para os testes; ambos usando paralelismo=4)
dbus-1.14.6 (para alguns testes), Fuse-3.13.1 e bindfs (ambos necessários para um teste), GDB-13.1 (para vinculações), docbook-xml-4.5, docbook-xsl-nons-1.79.2, GTK-Doc-1.33.2 (para construir a documentação da API), glib-networking-2.74.0 (para alguns testes, porém isso é uma dependência circular) e sysprof-3.46.0
gobject-introspection-1.74.0 (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 shared-mime-info-2.2 e desktop-file-utils-0.26,
respectivamente. Esses dois utilitários também são
necessários para alguns testes.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/glib2
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
GTK+-3.24.36, 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-2.74.5-skip_warnings-1.patch
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 --prefix=/usr \ --buildtype=release \ -Dman=true \ .. && ninja
Se libxslt-1.1.37 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.74.5 && cp -r ../docs/reference/{gio,glib,gobject} /usr/share/doc/glib-2.74.5
Você deveria agora instalar desktop-file-utils-0.26 e shared-mime-info-2.2 e proceder à execução da suíte de teste.
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:glib / error
é conhecido por falhar.
--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.
pode ser usado para iniciar aplicativos e para enviar mensagens para instâncias já em execução de outros aplicativos |
|
é uma ferramenta simples usada para trabalhar com objetos D-Bus |
|
é usado para gerar código e (ou) documentação para uma ou mais interfaces D-Bus |
|
é um utilitário que torna muitos recursos do GIO disponíveis a partir da linha de comando |
|
é usado para criar um arquivo |
|
é 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 |
|
é usado para compilar todos os arquivos de esquema
XML do GSettings em um diretório para um arquivo
binário com o nome |
|
é um utilitário de geração de código marechal C para encerramentos GLib |
|
é uma variante do utilitário de internacionalização gettext |
|
é um utilitário de geração de descrição de enumeração em linguagem C |
|
é um pequeno utilitário que desenha uma árvore de tipos |
|
oferece uma interface simples de linha de comando para GResource |
|
oferece uma interface simples de linha de comando para GSettings |
|
é um utilitário de execução de teste |
|
é um utilitário de formatação de informe de teste |
|
contém bibliotecas centrais de baixo nível para o kit de ferramentas GIMP |
O pacote GLibmm é um conjunto de ligações C++ para a GLib.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/glibmm/2.66/glibmm-2.66.5.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/glibmm/2.66/glibmm-2.66.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)
GLib-2.74.5 e libsigc++-2.12.0
Doxygen-1.9.6, glib-networking-2.74.0 (para os testes), GnuTLS-3.8.0 (para os testes), libxslt-1.1.37 e mm-common
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/glibmm
Instale GLibmm executando os seguintes comandos:
mkdir bld && cd bld && meson --prefix=/usr --buildtype=release .. && ninja
Para testar os resultados, emita: ninja test.
Agora, como o(a) usuário(a) root
:
ninja install
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 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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gmime/3.2/gmime-3.2.7.tar.xz
Transferência (FTP): 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)
GLib-2.74.5 e libgpg-error-1.46
gobject-introspection-1.74.0 e libidn2-2.3.4
DocBook-utils-0.6.14, GPGME-1.18.0, GTK-Doc-1.33.2, libnsl-2.0.0, Vala-0.56.4 e Gtk# (exige Mono)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gobject-introspection/1.74/gobject-introspection-1.74.0.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gobject-introspection/1.74/gobject-introspection-1.74.0.tar.xz
Soma de verificação MD5 da transferência: ed4e290c5ca8737a62c9a7f5347ae10d
Tamanho da transferência: 1,0 MB
Espaço em disco estimado exigido: 42 MB (com os testes)
Tempo de construção estimado: 0,2 UPC (Com os testes; ambos usando paralelismo=4)
Cairo-1.17.6 (exigido para os testes), Gjs-1.74.1 (para satisfazer um teste), GTK-Doc-1.33.2, Mako-1.2.4 e Markdown-3.4.1
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gobject-introspection
Instale o GObject Introspection executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release .. && ninja
Para testar os resultados, emita: ninja test.
Agora, como o(a) usuário(a) root
:
ninja install
--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 Mako-1.2.4 e Markdown-3.4.1
instalados para a finalidade de instalar esse utilitário.
cria ou extrai dados de anotação a partir de bibliotecas de tipo do GI |
|
converte um ou mais arquivos GIR em uma ou mais bibliotecas de tipo |
|
gera arquivos Mallard que podem ser visualizados com yelp ou renderizados para HTML com yelp-build originários das ferramentas yelp |
|
é um utilitário que dá informação a respeito de uma biblioteca de tipo do GI |
|
é um gerador GIR que usa a API do repositório |
|
é uma ferramenta que gera arquivos XML do GIR analisando cabeçalhos e analisando bibliotecas baseadas em GObject |
|
fornece uma API para acessar os metadados da biblioteca de tipo |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.gnu.org/gnu/gsl/gsl-2.7.1.tar.gz
Transferência (FTP): 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)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gsl
Instale Gsl executando os seguintes comandos:
./configure --prefix=/usr --disable-static && make
Se você tiver sphinx_rtd_theme-1.2.0 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
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
é um script de shell para obter o número da versão e sinalizadores do compilador da biblioteca Gsl instalada |
|
é um aplicativo de demonstração para a GNU Scientific Library que calcula um histograma a partir de dados obtidos a partir do stdin |
|
é um aplicativo de demonstração para a GNU Scientific Library que gera amostras aleatórias a partir de várias distribuições |
|
contém funções que implementam uma interface C para subaplicativos básicos de álgebra linear |
|
contém funções que fornecem uma coleção de rotinas numéricas para computação científica |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gspell/1.12/gspell-1.12.0.tar.xz
Soma de verificação MD5 da transferência: f8e39fc95d3f0651e943b5ccb95694b7
Tamanho da transferência: 423 KB
Espaço em disco estimado exigido: 13 MB (com os testes)
Tempo de construção estimado: 0,2 UPC (com os testes)
enchant-2.3.3, ICU-72.1 e GTK+-3.24.36
gobject-introspection-1.74.0, GTK-Doc-1.33.2, Vala-0.56.4 e Valgrind-3.20.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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 Hunspell não estiver instalado.
Agora, como o(a) usuário(a) root
:
make install
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.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/unicode-org/icu/releases/download/release-72-1/icu4c-72_1-src.tgz
Soma de verificação MD5 da transferência: 4de6484a6c460d3d1468a6fe50369439
Tamanho da transferência: 25 MB
Espaço em disco estimado exigido: 337 MB (adicionar 41 MB para os testes)
Tempo de construção estimado: 0,6 UPC (usando paralelismo=4; adicione 1,6 UPC para os testes)
LLVM-15.0.7 (com o Clang) e Doxygen-1.9.6 (para a documentação)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/icu
Esse pacote se expande para o diretório icu
.
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
desmonta um pacote de recursos |
|
converte caracteres escapados “\u” em caracteres Unicode |
|
compila arquivos-fonte do ICU de regras de iteração de quebra em arquivos de dados binários |
|
gera C ou código de montagem específico da plataforma a partir de um arquivo de dados do ICU |
|
lê em Unicode definições confundíveis de caracteres e escreve os dados binários |
|
gera um arquivo de dados do ICU mapeável em memória |
|
compila o arquivo de apelidos do conversor |
|
compila listas de palavras em dicionários de tentativas de sequências de caracteres do ICU |
|
constrói arquivos de dados binários com dados de normalização Unicode |
|
compila um pacote de recursos |
|
compila dados StringPrep a partir de arquivos filtrados RFC 3454 |
|
gera saída das opções de construção do ICU |
|
gera saída da informação de configuração relativa ao ICU atual |
|
extrai ou modifica um arquivamento ".dat" do ICU |
|
compila uma tabela de conversor |
|
empacota dados para uso pelo ICU |
|
converte dados a partir de um codificador para outro |
|
é a biblioteca de dados |
|
é a biblioteca de internacionalização ("i18n") |
|
é a biblioteca de Entrada/Saída do ICU ("stdio" Unicode) |
|
é a biblioteca de teste |
|
é a biblioteca do utilitário da ferramenta |
|
é a biblioteca comum |
Esse pacote é um analisador simples de arquivo ".INI" escrito em C.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/benhoyt/inih/archive/r56/inih-r56.tar.gz
Soma de verificação MD5 da transferência: e27e394554d9f339b728035a5766d8f3
Tamanho da transferência: 20 KB
Espaço em disco estimado exigido: 704 KB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/inih
Instale inih executando os seguintes comandos:
mkdir build && cd build && meson --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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/intel/gmmlib/archive/refs/tags/intel-gmmlib-22.3.4.tar.gz
Soma de verificação MD5 da transferência: 098f47e5010fe280776c29635bde4536
Tamanho da transferência: 59 MB
Espaço em disco estimado exigido: 59 MB
Tempo de construção estimado: 0,7 UPC
O tarball intel-gmmlib-22.3.4.tar.gz
extrairá para
o diretório gmmlib-intel-gmmlib-22.3.4
.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/intel-gmmlib
Instale Intel-gmmlib executando os seguintes comandos:
mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DBUILD_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
O pacote Jansson contém uma biblioteca usada para codificar, decodificar e manipular dados JSON.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/akheron/jansson/releases/download/v2.14/jansson-2.14.tar.bz2
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 os testes)
Tempo de construção estimado: 0,1 UPC (com os testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.mozilla.org/pub/firefox/releases/102.8.0esr/source/firefox-102.8.0esr.source.tar.xz
Soma de verificação MD5 da transferência: 2f65e84943e97f6d56d7b07aa1ded135
Tamanho da transferência: 457 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,8 UPC (com paralelismo=4)
ICU-72.1, rustc-1.67.1 e Which-2.21
LLVM-15.0.7 (com o Clang, exigido para sistemas de 32 bits sem recursos "SSE2")
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/js102
Ao contrário da maioria dos outros pacotes no BLFS, as
instruções abaixo exigem que você descompacte firefox-102.8.0esr.tar.xz
e mude para a
pasta firefox-102.8.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 permitida
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:
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.
Primeiro remova um sinalizador obsoleto no código "Python", que foi removido no "python-3.11":
grep -rl \"rU\" | xargs sed -i 's/"rU"/"r"/'
Em seguida execute:
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".
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
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.
: 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.
CC=gcc
CXX=g++
: 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.
CXXFLAGS="-msse2
-mfpmath=sse"
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://s3.amazonaws.com/json-c_releases/releases/json-c-0.16.tar.gz
Soma de verificação MD5 da transferência: 8110782cb2a996da5517f1f27a4bed8e
Tamanho da transferência: 344 KB
Espaço em disco estimado exigido: 7,7 MB
Tempo de construção estimado: 0,2 UPC (com os testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
Para testar os resultados, emita: make test.
Agora, como o(a) usuário(a) root
:
make install
-DCMAKE_BUILD_TYPE=Release
:
Essa chave é usada para aplicar um nível mais alto de
otimização à compilação.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/json-glib/1.6/json-glib-1.6.6.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/json-glib/1.6/json-glib-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)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/json-glib
Instale o JSON GLib executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release .. && ninja
Para testar os resultados, emita: ninja test.
Agora, como o(a) usuário(a) root
:
ninja install
--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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://people.redhat.com/~dhowells/keyutils/keyutils-1.6.1.tar.bz2
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)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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.
controla o recurso de gerenciamento de chave com uma variedade de subcomandos |
|
é 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 |
|
é 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 |
|
contém a instanciação da API da biblioteca "keyutils" |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://pagure.io/libaio/archive/libaio-0.3.113/libaio-0.3.113.tar.gz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
Se você deseja executar a suíte de teste, {então] corrija um problema com Glibc-2.34 ou posterior:
sed 's/-Werror//' -i harness/Makefile
Para testar os resultados, emita: make partcheck.
Agora, instale o pacote como o(a) usuário(a) root
:
make install
A biblioteca libarchive fornece interface única para leitura/gravação de vários formatos de compressão.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/libarchive/libarchive/releases/download/v3.6.2/libarchive-3.6.2.tar.xz
Soma de verificação MD5 da transferência: 72cbb3c085624c825f627bfc8f52ce53
Tamanho da transferência: 4,9 MB
Espaço em disco estimado exigido: 41 MB (adicionar 29 MB para os testes)
Tempo de construção estimado: 0,3 UPC (adicionar 0,7 UPC para os testes)
libxml2-2.10.3, LZO-2.10 e Nettle-3.8.1
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
Remova uma entrada inválida em /usr/lib/pkgconfig/libarchive.pc
:
sed -i "s/iconv //" /usr/lib/pkgconfig/libarchive.pc
--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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.gnupg.org/ftp/gcrypt/libassuan/libassuan-2.5.5.tar.bz2
Transferência (FTP): ftp://ftp.gnupg.org/gcrypt/libassuan/libassuan-2.5.5.tar.bz2
Soma de verificação MD5 da transferência: 7194453152bb67e3d45da698762b5d6f
Tamanho da transferência: 559 KB
Espaço em disco estimado exigido: 7,4 MB (com os testes; adicionar 3,4 MB para a documentação)
Tempo de construção estimado: 0,1 UPC (com os testes e a documentação)
texlive-20220321 (ou install-tl-unx)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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 texlive-20220321 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.5/html && install -v -m644 doc/assuan.html/* \ /usr/share/doc/libassuan-2.5.5/html && install -v -m644 doc/assuan_nochunks.html \ /usr/share/doc/libassuan-2.5.5 && install -v -m644 doc/assuan.{txt,texi} \ /usr/share/doc/libassuan-2.5.5
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.5
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://0pointer.de/public/libatasmart-0.19.tar.xz
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 Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/ivmai/libatomic_ops/releases/download/v7.6.14/libatomic_ops-7.6.14.tar.gz
Soma de verificação MD5 da transferência: ee8251f5091b7938d18be4dda843a515
Tamanho da transferência: 492 KB
Espaço em disco estimado exigido: 6,3 MB (com os testes)
Tempo de construção estimado: 0,1 UPC (com os testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libatomic_ops
Instale libatomic_ops executando os seguintes comandos:
./configure --prefix=/usr \ --enable-shared \ --disable-static \ --docdir=/usr/share/doc/libatomic_ops-7.6.14 && make
Para verificar os resultados, emita make check.
Agora, como o(a) usuário(a) root
:
make install
--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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/storaged-project/libblockdev/releases/download/2.28-1/libblockdev-2.28.tar.gz
Soma de verificação MD5 da transferência: 6476e5967753ee03d8e65f4d7837a4b6
Tamanho da transferência: 908 KB
Espaço em disco estimado exigido: 14 MB
Tempo de construção estimado: 0,2 UPC
gobject-introspection-1.74.0, libbytesize-2.7, libyaml-0.2.5, parted-3.5 e volume_key-0.3.12
btrfs-progs-6.1.3, GTK-Doc-1.33.2, mdadm-4.2, dmraid, bcachefs e ndctl
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libblockdev
Instale libblockdev executando os seguintes comandos:
./configure --prefix=/usr \ --sysconfdir=/etc \ --with-python3 \ --without-gtk-doc \ --without-nvdimm \ --without-dm && make
Esse pacote não vem com uma suíte de teste funcional.
Agora, como o(a) usuário(a) root
:
make install
O pacote libbytesize é uma biblioteca que facilita as operações comuns com tamanhos em bytes.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/storaged-project/libbytesize/releases/download/2.7/libbytesize-2.7.tar.gz
Soma de verificação MD5 da transferência: c3f5b9bfbf67020c8b42225093321e23
Tamanho da transferência: 435 KB
Espaço em disco estimado exigido: 3,7 MB
Tempo de construção estimado: menos que 0,1 UPC (incluindo os testes)
GTK-Doc-1.33.2, pocketlint (módulo Python para um teste) e polib (módulo Python para um teste)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/libcloudproviders/0.3/libcloudproviders-0.3.1.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/libcloudproviders/0.3/libcloudproviders-0.3.1.tar.xz
Soma de verificação MD5 da transferência: f4c782e044760830515ab9b886791a95
Tamanho da transferência: 24 KB
Espaço em disco estimado exigido: 1,8 MB
Tempo de construção estimado: menos que 0,1 UPC
gobject-introspection-1.74.0 e Vala-0.56.4
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libcloudproviders
Instale libcloudproviders executando os seguintes comandos:
mkdir build && cd build && meson --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
--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 GTK-Doc-1.33.2 instalado e desejar gerar
a documentação da API.
O pacote libdaemon é uma biblioteca C leve que facilita a escrita de processos de segundo plano UNIX.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://0pointer.de/lennart/projects/libdaemon/libdaemon-0.14.tar.gz
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
Doxygen-1.9.6 e Lynx-2.8.9rel.1
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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/html && install -v -m644 doc/reference/man/man3/* /usr/share/man/man3
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.10.1.tar.bz2
Transferência (FTP): ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.10.1.tar.bz2
Soma de verificação MD5 da transferência: 8fadbe1fddafa341dce5ef3869f70e25
Tamanho da transferência: 3,6 MB
Espaço em disco estimado exigido: 130 MB (com os testes e a documentação PDF)
Tempo de construção estimado: 0,4 UPC (com a documentação; adicionar 0,5 UPC para os testes)
Pth-2.0.7 e texlive-20220321 (ou install-tl-unx)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
Os comandos acima constroem a documentação nos formatos HTML e texto simples. Se desejar construir formatos alternativos da documentação, [então] você precisa do texlive-20220321 (ou do install-tl-unx). Emita o seguinte comando:
make -C doc pdf
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.1 && install -v -m644 README doc/{README.apichanges,fips*,libgcrypt*} \ /usr/share/doc/libgcrypt-1.10.1 && install -v -dm755 /usr/share/doc/libgcrypt-1.10.1/html && install -v -m644 doc/gcrypt.html/* \ /usr/share/doc/libgcrypt-1.10.1/html && install -v -m644 doc/gcrypt_nochunks.html \ /usr/share/doc/libgcrypt-1.10.1 && install -v -m644 doc/gcrypt.{txt,texi} \ /usr/share/doc/libgcrypt-1.10.1
Se você construiu formatos alternativos da documentação,
[então] instale-os emitindo o seguinte comando como o(a)
usuário(a) root
:
install -v -m644 doc/gcrypt.{pdf,ps,dvi} \ /usr/share/doc/libgcrypt-1.10.1
--with-capabilities
: Essa opção
habilita o suporte a "libcap2". Observe que isso quebra o
cryptsetup-2.4.3
é uma ferramenta de depuração para expressões "S" |
|
é uma implementação autônoma HMAC-SHA-256 usada para calcular um código de autenticação HMAC-SHA-256 |
|
determina os sinalizadores de compilação e do
vinculador que deveriam ser usados para compilar e
vincular aplicativos que usam |
|
é uma calculadora RPN (Reverse Polish Notation) |
|
contém as funções criptográficas da API |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.46.tar.bz2
Transferência (FTP): ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-1.46.tar.bz2
Soma de verificação MD5 da transferência: db41efe5aba3baad6cf266fea720095d
Tamanho da transferência: 992 KB
Espaço em disco estimado exigido: 11 MB (com os testes)
Tempo de construção estimado: 0,1 UPC (com os testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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.46/README
O pacote libgrss contém uma biblioteca projetada para manipular feeds RSS e Atom.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/libgrss/0.7/libgrss-0.7.0.tar.xz
Transferência (FTP): 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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/libgsf/1.14/libgsf-1.14.50.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/libgsf/1.14/libgsf-1.14.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)
gdk-pixbuf-2.42.10 (Para construir gsf-office-thumbnailer)
gobject-introspection-1.74.0 e GTK-Doc-1.33.2
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--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.
é um utilitário simples de arquivamento, um pouco semelhante ao tar(1) |
|
é usado internamente por aplicativos GNOME, como Nautilus, para gerar miniaturas de vários tipos de arquivos de aplicativos de escritório |
|
é usado para extrair macros do Visual Basic for Applications a partir de arquivos |
|
contém as funções da API libgsf |
O pacote libgudev contém ligações GObject para a libudev.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/libgudev/237/libgudev-237.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/libgudev/237/libgudev-237.tar.xz
Soma de verificação MD5 da transferência: a7783083cd74957d3a727ddc4737ee84
Tamanho da transferência: 32 KB
Espaço em disco estimado exigido: 1,8 MB
Tempo de construção estimado: menos que 0,1 UPC
gobject-introspection-1.74.0 (para gir-data, necessário para o GNOME), GTK-Doc-1.33.2 e umockdev-0.17.16 (para testar)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libgudev
Instale libgudev executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release .. && ninja
Para testar os resultados, emita: ninja test.
Agora, como o(a) usuário(a) root
:
ninja install
--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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/hughsie/libgusb/releases/download/0.4.5/libgusb-0.4.5.tar.xz
Soma de verificação MD5 da transferência: 6b8dfb57b2828562ed007fc84ab6af67
Tamanho da transferência: 52 KB
Espaço em disco estimado exigido: 2,6 MB (com os testes)
Tempo de construção estimado: menos que 0,1 UPC (com os testes)
JSON-GLib-1.6.6 e libusb-1.0.26
gobject-introspection-1.74.0,
umockdev-0.17.16, usbutils-015 (para
o arquivo de dados usb.ids
, o
qual também é exigido para os testes) e Vala-0.56.4
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libgusb
Instale libgusb executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release -Ddocs=false .. && ninja
Se você tiver o 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.5'/" -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
--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 "Gi-DocGen-2023.1" instalado. Se
tiver "Gi-DocGen-2023.1" instalado e você
desejar reconstruir e instalar a documentação da "API",
[então] um comando "meson
configure" reconfigurará essa opção.
O pacote libical contém uma implementação dos protocolos e formatos de dados "iCalendar".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/libical/libical/releases/download/v3.0.16/libical-3.0.16.tar.gz
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)
gobject-introspection-1.74.0 e Vala-0.56.4 (ambos exigidos pelo GNOME)
Base de Dados Berkeley-5.3.28, Doxygen-1.9.6 (para a documentação da API), Graphviz-7.1.0 (para a documentação da API), GTK-Doc-1.33.2 (para a documentação da API), ICU-72.1 e PyGObject-3.42.2 (para alguns testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libical
Instale libical executando os seguintes comandos:
Esse pacote ocasionalmente possivelmente falhe ao construir com múltiplos processadores. Veja-se 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 Doxygen-1.9.6, Graphviz-7.1.0 e
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
-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
Vala-0.56.4.
-DUSE_BUILTIN_TZDATA=yes
: Essa
chave é usada para a finalidade de construir usando seus
próprios dados de fuso horário.
contém as funções da API da libical |
|
contém as ligações C++ da libical |
|
contém as ligações "glib" da libical |
|
é uma biblioteca que te permite armazenar os dados do componente "iCal" no disco em uma variedade de maneiras |
|
contém as ligações C++ da libicalss |
|
é uma interface C de "vCard"/"vCalendar" |
libidn é um pacote projetado para manuseio de sequência internacionalizada de caracteres baseado nas especificações Stringprep, Punycode e 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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.gnu.org/gnu/libidn/libidn-1.41.tar.gz
Transferência (FTP): 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)
Pth-2.0.7, Emacs-28.2, GTK-Doc-1.33.2, OpenJDK-19.0.2, Valgrind-3.20.0 e Mono
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--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
OpenJDK-19.0.2 precisa estar instalado
para usar essa opção.
é uma interface de linha de comando para a biblioteca de nomes internacionalizados de domínio |
|
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 é 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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.gnu.org/gnu/libidn/libidn2-2.3.4.tar.gz
Transferência (FTP): 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)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--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.
libiodbc é uma API para bases de dados compatíveis com ODBC.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/iodbc/libiodbc-3.52.15.tar.gz
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
GTK+-2.24.33 (para criar a ferramenta GUI de administração)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.gnupg.org/ftp/gcrypt/libksba/libksba-1.6.3.tar.bz2
Transferência (FTP): ftp://ftp.gnupg.org/gcrypt/libksba/libksba-1.6.3.tar.bz2
Soma de verificação MD5 da transferência: 65683abfe7175e3cb19fb6f40175fea8
Tamanho da transferência: 653 KB
Espaço em disco estimado exigido: 10 MB (com os testes)
Tempo de construção estimado: 0,1 UPC (com os testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 adequadamente usando uma plataforma LFS 11.3.
Depois de atualizar esse pacote a partir de liblinear-1.96 ou anterior, você precisa reinstalar o Nmap-7.93, para a finalidade de vincular à nova biblioteca.
Transferência (HTTP): https://github.com/cjlin1/liblinear/archive/v245/liblinear-245.tar.gz
Soma de verificação MD5 da transferência: 6838c3414b9b685c12395f0b74806934
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.freedesktop.org/software/libmbim/libmbim-1.26.4.tar.xz
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)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.debian.org/debian/pool/main/libp/libpaper/libpaper_1.1.24+nmu5.tar.gz
Soma de verificação MD5 da transferência: 38bc55688c0fc5544edaa5a951a45fbd
Tamanho da transferência: 48 KB
Espaço em disco estimado exigido: 3,5 MB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libpaper
Instale libpaper executando os seguintes comandos:
autoreconf -fi && ./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 && mkdir -vp /etc/libpaper.d
O diretório /etc/libpaper.d contém scripts a serem executados depois que o tamanho do papel tenha sido mudado. Esse pacote não coloca scripts aqui, mas outros pacotes possivelmente. Se o pacote "fcron" não tiver sido instalado, [então] crie o script run-parts conforme mostrado na seção Informações de Configuração do "Fcron".
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
mkdir -pv /etc/libpaper.d: libpaper espera que os pacotes instalem arquivos nesse diretório.
Crie /etc/papersize
para
configurar o tamanho de papel padrão do sistema. Emita o
seguinte comando como o(a) usuário(a) root
para configurar isso como 'A4'
(libpaper prefere a forma minúscula). Você possivelmente
queira usar um tamanho diferente, tal como "carta".
cat > /etc/papersize << "EOF"
a4
EOF
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/flatpak/libportal/releases/download/0.6/libportal-0.6.tar.xz
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
GTK+-3.24.36, GTK-4.8.3 e Qt-5.15.8
Gi-DocGen-2023.1 e Vala-0.56.4
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libportal
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 --prefix=/usr --buildtype=release -Ddocs=false .. && ninja
Se você tiver 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
--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 "Gi-DocGen-2023.1" instalado. Se
tiver "Gi-DocGen-2023.1" instalado e você
desejar reconstruir e instalar a documentação da "API",
[então] 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.
fornece APIs assíncronas no estilo GIO para a maioria dos portais Flatpak |
|
fornece funções específicas do GTK+-3 para interagir com os portais Flatpak. |
|
fornece funções específicas do GTK-4 para interagir com portais Flatpak. |
|
fornece funções específicas do Qt5 para interagir com portais Flatpak. |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): http://dist.schmorp.de/libptytty/libptytty-2.0.tar.gz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
O pacote libqalculate contém uma biblioteca que fornece funções para uma calculadora multi propósito.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/Qalculate/libqalculate/releases/download/v4.5.1/libqalculate-4.5.1.tar.gz
Soma de verificação MD5 da transferência: 4b8b37f7acfb24e9e8019e8a56d9dc48
Tamanho da transferência: 2,5 MB
Espaço em disco estimado exigido: 135 MB (com os testes)
Tempo de construção estimado: 0,9 UPC (Usando paralelismo=4; com os testes)
cURL-7.88.1, ICU-72.1 e libxml2-2.10.3
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libqalculate
Instale libqalculate executando os seguintes comandos:
./configure --prefix=/usr \ --disable-static \ --docdir=/usr/share/doc/libqalculate-4.5.1 && make
Para testar os resultados, emita: make check.
Agora, como o(a) usuário(a) root
:
make install
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.freedesktop.org/software/libqmi/libqmi-1.30.8.tar.xz
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)
gobject-introspection-1.74.0 e libmbim-1.26.4
GTK-Doc-1.33.2, help2man e libqrtr-glib
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--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.
é um utilitário usado para controlar dispositivos QMI |
|
é um utilitário usado para realizar atualizações de firmware em dispositivos QMI |
|
é um utilitário usado para gerenciamento simples de rede de comunicação de dispositivos QMI |
|
contém funções de API para comunicação com modems WWAN e dispositivos que falam o protocolo Qualcomm MSM Interface (QMI) |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/seccomp/libseccomp/releases/download/v2.5.4/libseccomp-2.5.4.tar.gz
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)
Which-2.21 (necessitado para os testes), Valgrind-3.20.0 e LCOV
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
O pacote libsigc++ implementa um sistema de retorno de chamada seguro para C++ padrão.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/libsigc++/2.12/libsigc++-2.12.0.tar.xz
Transferência (FTP): 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)
DocBook-utils-0.6.14, docbook-xml-5.0, Doxygen-1.9.6 e mm-common
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
-Dbuild-documentation=true
: Use
essa chave se Doxygen-1.9.6 estiver instalado e você
desejar construir e instalar a documentação da API.
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.gnu.org/gnu/libsigsegv/libsigsegv-2.14.tar.gz
Transferência (FTP): 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)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--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.
O pacote Libssh2 é uma biblioteca C do lado do cliente que implementa o protocolo "SSH2".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.libssh2.org/download/libssh2-1.10.0.tar.gz
Soma de verificação MD5 da transferência: f604ba083fad23bf715a9ecccc9f57f4
Tamanho da transferência: 944 KB
Espaço em disco estimado exigido: 13 MB (com os testes)
Tempo de construção estimado: 0,2 UPC (com os testes)
GnuPG-2.4.0, libgcrypt-1.10.1 e OpenSSH-9.2p1 (todos três são exigidos para a suíte de teste)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libssh2
Aplique um remendo para corrigir a incompatibilidade com lançamentos recentes do "OpenSSH":
patch -Np1 -i ../libssh2-1.10.0-upstream_fix-1.patch
Instale libssh2 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
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.mirrorservice.org/sites/ftp.i-scream.org/pub/i-scream/libstatgrab/libstatgrab-0.92.1.tar.gz
Transferência (FTP): ftp://www.mirrorservice.org/sites/ftp.i-scream.org/pub/i-scream/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)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
é uma ferramenta baseada em "curses" para visualizar estatísticas do sistema |
|
é uma interface estilo "sysctl" para estatísticas do sistema |
|
gera configuração MRTG |
|
gera uma página de índice XHTML a partir de arquivos de configuração MRTG ou da entrada gerada padrão |
|
contém as funções da API da libstatgrab |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.gnu.org/gnu/libtasn1/libtasn1-4.19.0.tar.gz
Transferência (FTP): 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)
GTK-Doc-1.33.2 e Valgrind-3.20.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--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.
O pacote libunique contém uma biblioteca para escrever aplicativos de instância única.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/libunique/1.1/libunique-1.1.6.tar.bz2
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/libunique/1.1/libunique-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
GTK+-2.24.33, também GTK-Doc-1.33.2 (para "autoreconf")
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.gnu.org/gnu/libunistring/libunistring-1.1.tar.xz
Transferência (FTP): 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)
texlive-20220321 (ou install-tl-unx) (para reconstruir a documentação)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.savannah.nongnu.org/releases/libunwind/libunwind-1.6.2.tar.gz
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)
texlive-20220321 (para "latex2man")
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://lttng.org/files/urcu/userspace-rcu-0.14.0.tar.bz2
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)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
O pacote libusb contém uma biblioteca usada por alguns aplicativos para acesso a dispositivos USB.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/libusb/libusb/releases/download/v1.0.26/libusb-1.0.26.tar.bz2
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 ---> [CONFIG_USB_SUPPORT]
<*/M> Support for Host-side USB [CONFIG_USB]
(Select any USB hardware device drivers you may need on the same page)
Para mais detalhes a respeito do como configurar dispositivos USB, veja-se “Consequências do Dispositivo USB”.
O pacote libuv é uma biblioteca de suporte multiplataforma com foco em Entrada/Saída assíncrona.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://dist.libuv.org/dist/v1.44.2/libuv-v1.44.2.tar.gz
Soma de verificação MD5 da transferência: 0addbddcb1098e2c1c99f03f0108e1e7
Tamanho da transferência: 1,2 MB
Espaço em disco estimado exigido: 14 MB (adicionar 13 MB para os testes)
Tempo de construção estimado: 0,1 UPC (adicionar 0,5 UPC para os testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libuv
Instale libuv executando os seguintes comandos:
O comando sh autogen.sh abaixo falha se a variável de ambiente "ACLOCAL" estiver configurada conforme especificado em 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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://xkbcommon.org/download/libxkbcommon-1.5.0.tar.xz
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)
xkeyboard-config-2.38 (tempo de execução)
libxcb-1.15, Wayland-1.21.0 e wayland-protocols-1.31
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libxkbcommon
Instale libxkbcommon executando os seguintes comandos:
mkdir build && cd build && meson --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
--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
Doxygen-1.9.6 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.
O pacote libxml2 contém bibliotecas e utilitários usados para analisar arquivos "XML".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/libxml2/2.10/libxml2-2.10.3.tar.xz
Soma de verificação MD5 da transferência: f9edac7fac232b3657a003fd9a5bbe42
Tamanho da transferência: 2,5 MB
Espaço em disco estimado exigido: 105 MB (com os testes)
Tempo de construção estimado: 0,4 UPC (Usando paralelismo=4; com os testes)
Suíte de Teste Opcional: https://www.w3.org/XML/Test/xmlts20130923.tar.gz - Isso habilita make check para se fazer uma testagem completa.
ICU-72.1 (veja-se abaixo) e Valgrind-3.20.0 (possivelmente seja usado nos testes)
O antigo módulo Python2
pode ser construído depois que libxml2.so
tiver sido instalada; veja-se
Módulo
"python2" libxml2-2.10.3.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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.3 && 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 Valgrind-3.20.0 estiver instalado e você desejar verificar vazamentos de memória, [então] substitua check por check-valgrind.
Os testes usam 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
--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 ICU-72.1, para melhor suporte a Unicode.
determina os sinalizadores de compilação e
vinculador que deveriam ser usados para compilar e
vincular aplicativos que usam a |
|
é usado para monitorar e manipular catálogos "XML" e "SGML" |
|
analisa arquivos "XML" e gera informes (baseados nas opções) para detectar erros na codificação "XML" |
|
fornece funções para aplicativos para analisar arquivos que usam o formato "XML" |
O pacote libxslt contém
bibliotecas "XSLT" usadas para estender as bibliotecas
libxml2
para suportar arquivos
"XSLT".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/libxslt/1.1/libxslt-1.1.37.tar.xz
Soma de verificação MD5 da transferência: 84e86fc8a1b7495674016e05e4c5da44
Tamanho da transferência: 1,5 MB
Espaço em disco estimado exigido: 35 MB (com os testes)
Tempo de construção estimado: 0,2 UPC (com os testes)
docbook-xml-4.5 e docbook-xsl-nons-1.79.2
Embora não seja uma dependência direta, muitos aplicativos que usam a libxslt esperam que docbook-xml-4.5 e docbook-xsl-nons-1.79.2 estejam presentes.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libxslt
Instale libxslt executando os seguintes comandos:
./configure --prefix=/usr \ --disable-static \ --docdir=/usr/share/doc/libxslt-1.1.37 \ PYTHON=/usr/bin/python3 && make
Para testar os resultados, emita: make check.
Agora, como o(a) usuário(a) root
:
make install
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
é usado para descobrir o pré-processador, ligando e compilando sinalizadores necessários para usar as bibliotecas libxslt em aplicativos de terceiros |
|
é usado para aplicar folhas de estilo "XSLT" a documentos "XML" |
|
é usado para fornecer extensões para funções "XSLT" |
|
fornece extensões para as bibliotecas |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/linuxwacom/libwacom/releases/download/libwacom-2.6.0/libwacom-2.6.0.tar.xz
Soma de verificação MD5 da transferência: a1efa7b814dbf8165874668b2900cc58
Tamanho da transferência: 108 KB
Espaço em disco estimado exigido: 5,0 MB (com os testes)
Tempo de construção estimado: menos que 0,1 UPC (com os testes)
Doxygen-1.9.6, git-2.39.2, librsvg-2.54.5, Valgrind-3.20.0 (opcional para alguns testes), pytest-7.2.1 com python-libevdev e pyudev
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libwacom
Instale libwacom executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release -Dtests=disabled .. && ninja
Para testar os resultados, emita: ninja test. Para executar testes adicionais, instale pytest-7.2.1, "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
--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 pytest-7.2.1 e outros dois módulos Python
além do escopo do BLFS para funcionar adequadamente.
lista todos os dispositivos tablet que sejam suportados pela "libwacom" |
|
lista dispositivos tablet que estejam conectados ao sistema |
|
lista os IDs da caneta do tablet |
|
atualiza o sistema de acordo com o conjunto atual de arquivos de dados do tablet |
|
contém funções usadas para acessar informações da "Wacom" |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://wpewebkit.org/releases/libwpe-1.14.1.tar.xz
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
libxkbcommon-1.5.0 e Mesa-22.3.5
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libwpe
Instale libwpe executando os seguintes comandos:
mkdir build && cd build && meson --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
--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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/yaml/libyaml/releases/download/0.2.5/yaml-0.2.5.tar.gz
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)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.oberhumer.com/opensource/lzo/download/lzo-2.10.tar.gz
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)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://bitmath.org/code/mtdev/mtdev-1.1.6.tar.bz2
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
Node.js é um tempo de execução JavaScript construído sobre o mecanismo "JavaScript V8" do Chrome.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://nodejs.org/dist/v18.14.1/node-v18.14.1.tar.xz
Soma de verificação MD5 da transferência: 09aaaa219c453d6d5307641cc41b76e1
Tamanho da transferência: 40 MB
Espaço em disco estimado exigido: 962 MB (adicionar 34 MB para os testes)
Tempo de construção estimado: 15 UPC (adicionar 4,2 UPC para os testes: ambos usando paralelismo=4 e 4 CPUs online, partes dos testes usarão todas as CPUs online)
c-ares-1.19.0, ICU-72.1, libuv-1.44.2 e nghttp2-1.52.0
http-parser e npm (uma cópia interna do npm será instalada se não presente)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/nodejs
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. Um teste é conhecido por falhar.
Agora, como o(a) usuário(a) root
:
make install && ln -sf node /usr/share/doc/node-18.14.1
--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.
é uma ferramenta experimental para ajudar com o gerenciamento de versões de gerenciadores de pacotes. |
|
é o tempo de execução do JavaScript do lado do servidor |
|
é o gerenciador de pacotes Node.js |
|
|
é a raiz de instalação para executáveis e bibliotecas "Node.js" |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.gnupg.org/ftp/gcrypt/npth/npth-1.6.tar.bz2
Transferência (FTP): 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)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
é 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" |
|
contém as funções de API usadas pela biblioteca "New Portable Threads" |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.mozilla.org/pub/nspr/releases/v4.35/src/nspr-4.35.tar.gz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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 Usuário(a) para "nss" em https://wiki.linuxfromscratch.org/blfs/wiki/nss
Agora, como o(a) usuário(a) root
:
make install
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.
fornece opções de compilador e vinculador para outros pacotes que usem a NSPR |
|
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 |
|
contém funções que implementam muitos dos recursos oferecidos pela "libnspr4" |
|
contém funções que fornecem estruturas de dados |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://sourceforge.net/projects/pcre/files/pcre/8.45/pcre-8.45.tar.bz2
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)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--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 GLib-2.74.5.
--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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.42/pcre2-10.42.tar.bz2
Soma de verificação MD5 da transferência: a8e9ab2935d428a4807461f183034abe
Tamanho da transferência: 1,7 MB
Espaço em disco estimado exigido: 19 MB (com os testes)
Tempo de construção estimado: 0,4 UPC (com os testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): http://ftp.rpm.org/popt/releases/popt-1.x/popt-1.19.tar.gz
Transferência (FTP): ftp://ftp.rpm.org/pub/rpm/popt/releases/popt-1.x/popt-1.19.tar.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)
Doxygen-1.9.6 (para gerar documentação)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/popt
Instale popt executando os seguintes comandos:
./configure --prefix=/usr --disable-static && make
Se você tiver Doxygen-1.9.6 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
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.gnu.org/gnu/pth/pth-2.0.7.tar.gz
Transferência (FTP): 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
GCC-12.2.0 (para gfortran) e libnsl-2.0.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/pth
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
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
.
é 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) |
|
contém as funções de API usadas pela GNU Portable Threads Library |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.kde.org/stable/qca/2.3.5/qca-2.3.5.tar.xz
Soma de verificação MD5 da transferência: 64a8c4c30a42740fca1f9a6937d3fbae
Tamanho da transferência: 724 KB
Espaço em disco estimado exigido: 42 MB
Tempo de construção estimado: 0,5 UPC (usando paralelismo=4; adicionar 0,1 UPC para os testes)
make-ca-1.12, CMake-3.25.2, Qt-5.15.8 e Which-2.21
Cyrus SASL-2.1.28, GnuPG-2.4.0, libgcrypt-1.10.1, libgpg-error-1.46, nss-3.88.1, NSPR-4.35, p11-kit-0.24.1, Doxygen-1.9.6, Which-2.21 e Botan
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
-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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.samba.org/ftp/talloc/talloc-2.4.0.tar.gz
Soma de verificação MD5 da transferência: 02fb35ead70f73af2518234ef3cb1073
Tamanho da transferência: 660 KB
Espaço em disco estimado exigido: 11 MB (com os testes)
Tempo de construção estimado: 0,3 UPC (com os testes)
docbook-xml-4.5, docbook-xsl-nons-1.79.2 e libxslt-1.1.37 (para gerar páginas de manual), GDB-13.1, git-2.39.2, libnsl-2.0.0, libtirpc-1.3.3, Valgrind-3.20.0 e xfsprogs-6.1.1
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://telepathy.freedesktop.org/releases/telepathy-glib/telepathy-glib-0.24.2.tar.gz
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
dbus-glib-0.112 e libxslt-1.1.37
gobject-introspection-1.74.0 e Vala-0.56.4
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--enable-vala-bindings
: Essa
chave habilita a construção das ligações "Vala". Remova-a se
você não tiver Vala-0.56.4 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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.freedesktop.org/software/uchardet/releases/uchardet-0.0.8.tar.xz
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)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
-DBUILD_STATIC=OFF
:
Essa chave desabilita a construção da versão estática da
biblioteca.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/martinpitt/umockdev/releases/download/0.17.16/umockdev-0.17.16.tar.xz
Soma de verificação MD5 da transferência: 7f504b350a804f14dd18c6d607206b59
Tamanho da transferência: 480 KB
Espaço em disco estimado exigido: 6,7 MB (com os testes)
Tempo de construção estimado: 0,2 UPC (com os testes)
libgudev-237, libpcap-1.10.3 e Vala-0.56.4
GTK-Doc-1.33.2 e libgphoto2 (opcional para os testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/umockdev
Instale Umockdev executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release .. && ninja
Para testar os resultados, emita: PATH=$PATH:/usr/sbin ninja
test. A adição ao PATH
é necessária se você usar os scripts
iniciais em Os Arquivos de
Iniciação do Shell Bash, porque alguns testes precisam
executar udevadm. Um teste precisa
ser executado em uma sessão do X.
Agora, como o(a) usuário(a) root
:
ninja install
-Dgtk_doc=true
: Use essa chave se
você tiver GTK-Doc-1.33.2 instalado e desejar
reconstruir e instalar a documentação da API.
registra dispositivos Linux e os ancestrais deles a partir de sysfs/udev ou registra ioctls para um dispositivo |
|
executa um aplicativo sob um equipamento do umockdev usado para testar novas máquinas |
|
agrupa um aplicativo em torno de |
|
fornece funções de API que permitem simular dispositivos de hardware para teste de unidade |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://gitlab.freedesktop.org/wayland/wayland/-/releases/1.21.0/downloads/wayland-1.21.0.tar.xz
Soma de verificação MD5 da transferência: f2653a2293bcd882d756c6a83d278903
Tamanho da transferência: 224 KB
Espaço em disco estimado exigido: 6,2 MB (com os testes)
Tempo de construção estimado: 0,1 UPC (com os testes)
Doxygen-1.9.6, Graphviz-7.1.0 e xmlto-0.0.28 (para construir a documentação da API) e docbook-xml-4.5, docbook-xsl-nons-1.79.2 e libxslt-1.1.37 (para construir as páginas de manual)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/wayland
Instale Wayland executando os seguintes comandos:
mkdir build && cd build && meson --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
-Ddocumentation=false
: Essa
chave é usada para desabilitar a construção da documentação
da API. Remova-a se tiver instalado as dependências
opcionais.
é uma ferramenta para gerar métodos de proxy em wayland-client-protocol.h e wayland-server-protocol.h |
|
contém funções de API para escrever aplicativos Wayland |
|
contém funções de API para gerenciar cursores em aplicativos Wayland |
|
contém funções de API para lidar com chamadas OpenGL em aplicativos Wayland |
|
contém funções de API para escrever compositores Wayland |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/1.31/downloads/wayland-protocols-1.31.tar.xz
Soma de verificação MD5 da transferência: 1584de13eb30a4d1f2cd06c08ee24354
Tamanho da transferência: 84 KB
Espaço em disco estimado exigido: 7,8 MB (com os testes)
Tempo de construção estimado: menos que 0,1 UPC (com os testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/wayland-protocols
Instale Wayland-protocols executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release && ninja
Para testar os resultados, emita: ninja test.
Agora, como o(a) usuário(a) root
:
ninja install
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://wpewebkit.org/releases/wpebackend-fdo-1.14.0.tar.xz
Soma de verificação MD5 da transferência: ea62dfa9ecb366598a837d7446ed48ac
Tamanho da transferência: 44 KB
Espaço em disco estimado exigido: 1,6 MB
Tempo de construção estimado: 0,1 UPC
libepoxy-1.5.10, libwpe-1.14.1 e wayland-protocols-1.31
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/wpebackend-fdo
Instale wpebackend-fdo executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release .. ninja
Agora, como o(a) usuário(a) root
:
ninja install
--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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.abisource.com/downloads/wv/1.2.9/wv-1.2.9.tar.gz
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
libgsf-1.14.50 e libpng-1.6.39
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
Xapian é uma biblioteca de mecanismo de pesquisa de fonte aberto.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://oligarchy.co.uk/xapian/1.4.22/xapian-core-1.4.22.tar.xz
Soma de verificação MD5 da transferência: 18412be5f8b62044f139937c3d7069d7
Tamanho da transferência: 2,9 MB
Espaço em disco estimado exigido: 147 MB (adicionar 154 MB para os testes)
Tempo de construção estimado: 0,5 UPC (usando paralelismo=4; adicionar 12 UPC para os testes)
Valgrind-3.20.0 (para os testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xapian
Instale Xapian executando os seguintes comandos:
./configure --prefix=/usr \ --disable-static \ --docdir=/usr/share/doc/xapian-core-1.4.22 && make
Para executar a suíte de teste, emita: make check.
Agora, como o(a) usuário(a) root
:
make install
realiza uma cópia documento a documento de uma ou mais bases de dados Xapian |
|
é uma ferramenta de linha de comando para pesquisar ao longo de uma base de dados |
|
é um aplicativo simples de exemplo que demonstra a expansão da consulta |
|
indexa cada parágrafo de um arquivo de texto como um documento Xapian |
|
é um utilitário simples de pesquisa de linha de comando |
|
verifica a consistência de uma base de dados ou de uma tabela |
|
compacta uma base de dados ou mescla e compacta várias bases de dados |
|
relata informação a respeito do xapian instalado |
|
inspeciona o conteúdo de uma base de dados Xapian |
|
lê e grava metadados de usuário(a) |
|
inspeciona o conteúdo de uma tabela de pederneira para desenvolvimento ou depuração |
|
é um servidor remoto para uso com ProgClient |
|
replica uma base de dados a partir de um servidor mestre para uma cópia local |
|
atende a solicitações de replicação de base de dados originárias de clientes |
|
é o processo de segundo plano do TCP para uso com a estrutura remota de retaguarda do Xapian |
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 é uma biblioteca para renderizar qualquer gráfico em arte ASCII.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/aa-project/aalib-1.4rc5.tar.gz
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
Bibliotecas do Xorg, Fontes Legadas do "Xorg" (tempo de execução), slang-2.3.3 e GPM-1.20.7
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
é uma demonstração do AAlib, renderizando um fogo animado em arte ASCII |
|
fornece informações para suas configurações atuais relacionadas a AAlib |
|
fornece informações de configuração para AAlib |
|
salva uma fonte em um arquivo |
|
mostra as habilidades de AAlib em um pequeno teste |
|
é 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 |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gimp.org/pub/babl/0.1/babl-0.1.98.tar.xz
Soma de verificação MD5 da transferência: 0fd5f826e2ef14de04d978c203a3fe28
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)
gobject-introspection-1.74.0 e librsvg-2.54.5
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/babl
Instale Babl executando os seguintes comandos:
mkdir bld && cd bld && meson --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/graphics
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).
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/Exiv2/exiv2/releases/download/v0.27.6/exiv2-0.27.6-Source.tar.gz
Soma de verificação MD5 da transferência: 837a469b0957df8b657151ffb9449771
Tamanho da transferência: 31 MB
Espaço em disco estimado exigido: 78 MB
Tempo de construção estimado: 0,2 UPC (Usando paralelismo=4)
Doxygen-1.9.6, Graphviz-7.1.0 e libxslt-1.1.37
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
-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.
O pacote FreeType2 contém uma biblioteca que permite que os aplicativos renderizem corretamente as fontes TrueType.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/freetype/freetype-2.13.0.tar.xz
Soma de verificação MD5 da transferência: fe73327ebbf0b629f3ad24be656d59de
Tamanho da transferência: 2,4 MB
Espaço em disco estimado exigido: 48 MB (com documentação adicional)
Tempo de construção estimado: 0,2 UPC (com documentação adicional)
Documentação Adicional
Transferência (HTTP): https://downloads.sourceforge.net/freetype/freetype-doc-2.13.0.tar.xz
Soma de verificação MD5 da transferência: 139f7e7690469da503d40ba4ce59a9fa
Tamanho da transferência: 2,0 MB
HarfBuzz-7.0.0 (primeiro, instale sem ele, depois de instalado, reinstale FreeType-2.13.0), libpng-1.6.39 e Which-2.21
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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.0.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
:
install -v -m755 -d /usr/share/doc/freetype-2.13.0 && cp -v -R docs/* /usr/share/doc/freetype-2.13.0 && rm -v /usr/share/doc/freetype-2.13.0/freetype-config.1
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 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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.freedesktop.org/software/fontconfig/release/fontconfig-2.14.2.tar.xz
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)
cURL-7.88.1 e UnZip-6.0 (ambos usados por alguns testes para baixar e extrair arquivos de teste), JSON-C-0.16, DocBook-utils-0.6.14 e libxml2-2.10.3, texlive-20220321 (ou install-tl-unx)
Se tiver DocBook Utils
instalado e remover o parâmetro --disable-docs
do comando
configure
abaixo, [então] você precisa ter SGMLSpm-1.1 e
texlive-20220321 instalado
também, ou a construção do Fontconfig falhará.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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-devel && install -v -m644 doc/*.{pdf,sgml,txt,html} \ /usr/share/doc/fontconfig-2.14.2
--disable-docs
: Essa
chave evita construir a documentação (o tarball de lançamento
inclui a documentação pré-gerada).
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 file:///usr/share/doc/fontconfig-2.14.2/fontconfig-user.html.
é usado para criar caches de informações de fonte |
|
é usado para ler caches de informações de fonte |
|
mostra as informações dos arquivos do conjunto de regras no sistema |
|
é usado para criar listas de fontes |
|
é usado para corresponder às fontes disponíveis ou encontrar fontes que correspondam a um determinado padrão |
|
é usado para analisar o padrão (padrão vazio por padrão) e mostrar o resultado analisado |
|
é usado para consultar arquivos de fontes e imprimir padrões resultantes |
|
é usado para escanear arquivos e diretórios de fontes e imprimir padrões resultantes |
|
é usado para validar arquivos de fontes |
|
contém funções usadas pelos aplicativos Fontconfig e também por outros aplicativos para configurar ou personalizar o acesso à fonte |
O pacote FriBidi é uma implementação do Algoritmo Bidirecional Unicode (BIDI). Isso é útil para suportar os alfabetos árabe e hebraico em outros pacotes.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/fribidi/fribidi/releases/download/v1.0.12/fribidi-1.0.12.tar.xz
Soma de verificação MD5 da transferência: 21185b398635a7fc0d3ff0a7578c4791
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)
c2man (para construir páginas de manual)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/fribidi
Instale FriBidi executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release .. && ninja
Para testar os resultados, emita: ninja test.
Agora, como o(a) usuário(a) root
:
ninja install
--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.
é uma interface de linha de comando para a
biblioteca |
|
contém funções usadas para implementar o Algoritmo Bidirecional Unicode |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gimp.org/pub/gegl/0.4/gegl-0.4.40.tar.xz
Soma de verificação MD5 da transferência: fe182967ce4b678d8b45500c416555c5
Tamanho da transferência: 5,5 MB
Espaço em disco estimado exigido: 115 MB (Adicionar 7 MB para os testes)
Tempo de construção estimado: 0,9 UPC (Usando paralelismo=4; adicionar 0,2 para os testes)
babl-0.1.98, JSON-GLib-1.6.6, libjpeg-turbo-2.1.5.1 e libpng-1.6.39
gobject-introspection-1.74.0, Graphviz-7.1.0, Pygments-2.14.0 e PyGObject-3.42.2
asciidoc-10.2.0, Cairo-1.17.6, Exiv2-0.27.6, FFmpeg-5.1.2, gdk-pixbuf-2.42.10, gexiv2-0.14.0, GTK-Doc-1.33.2, JasPer-4.0.0, Little CMS-2.14, libraw-0.21.1, librsvg-2.54.5, libtiff-4.5.0, libwebp-1.3.0, Pango-1.50.12, Poppler-23.02.0, Ruby-3.2.1, SDL2-2.26.3, v4l-utils-1.22.1, Vala-0.56.4, libspiro-20220722, lensfun, libumfpack, LuaJIT, OpenCL (para os testes), MRG e OpenEXR
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
Se "LibRaw-0.21.0" ou superior estiver instalado, [então] a compilação falhará devido a uma mudança na ABI. Corrija o problema emitindo:
sed -e '/shot_select/s/params/raw&/' \ -i operations/external/raw-load.c
Instale gegl executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release .. && ninja
Para executar os testes, digite: ninja test. Isso não deveria indicar falhas, mas pulará muitos testes, dependendo das dependências opcionais instaladas no sistema.
Agora, como o(a) usuário(a) root
:
ninja install
-Ddocs=true
: Construa e instale a
documentação (exige GTK-Doc-1.33.2).
é uma ferramenta de linha de comando para trabalhar com o modelo de dados "XML" |
|
é uma ferramenta simples de detecção de diferença de imagem para uso em testes de regressão |
|
fornece infraestrutura para fazer edição de imagem não destrutiva em cache baseada em demanda em "buffers" maiores que a RAM |
|
é a biblioteca "GEGL" de deformação de imagem de N pontos |
|
é a biblioteca "GEGL Seamless Cloning" |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://sourceforge.net/projects/giflib/files/giflib-5.2.1.tar.gz
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)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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.
converte imagens salvas como "GIF" em imagens "RGB" de 24 bits |
|
despeja dados "GIF" em um formato textual ou os entulha em um "GIF" |
|
modifica mapas de cores de imagens "GIF" |
|
tenta desajeitadamente corrigir imagens truncadas "GIF" |
|
imprime (somente texto) informações gerais a respeito de um arquivo "GIF" |
|
é uma ferramenta de transformação "GIF" |
|
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" |
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/g-truc/glm/archive/0.9.9.8/glm-0.9.9.8.tar.gz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/GLM
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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/silnrsi/graphite/releases/download/1.3.14/graphite2-1.3.14.tgz
Soma de verificação MD5 da transferência: 1bccb985a7da01092bfb53bb5041e836
Tamanho da transferência: 6,3 MB
Espaço em disco estimado exigido: 28 MB (com os testes)
Tempo de construção estimado: 0,2 UPC (com os testes)
FreeType-2.13.0, silgraphite para construir a ferramenta de teste e avaliação comparativa comparerender e, se isso estiver presente, e HarfBuzz-7.0.0 para adicionar mais funcionalidade para ele (essa é uma dependência circular; você precisaria primeiro construir graphite2 sem harfbuzz).
Para construir a documentação: asciidoc-10.2.0, Doxygen-1.9.6, texlive-20220321 (ou install-tl-unx) e dblatex (para documentos "PDF")
Para executar a suíte de teste, você precisará de FontTools (módulo Python 3), caso contrário, os testes "cmp" falham.
Você precisará de pelo menos uma fonte grafite adequada para que o pacote seja útil.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/graphite2
Alguns testes falham se o 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.
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
-DCMAKE_VERBOSE_MAKEFILE=ON
: Essa
chave liga o modo detalhado de construção.
O pacote HarfBuzz contém um mecanismo de modelagem de texto "OpenType".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/harfbuzz/harfbuzz/releases/download/7.0.0/harfbuzz-7.0.0.tar.xz
Soma de verificação MD5 da transferência: 5c7a6750760e4d6c098436a43542a7d0
Tamanho da transferência: 18 MB
Espaço em disco estimado exigido: 144 MB (com os testes)
Tempo de construção estimado: 0,6 UPC (Usando paralelismo=4; com os testes)
gobject-introspection-1.74.0 (exigido, se construindo o "GNOME"), GLib-2.74.5 (exigido para o "Pango"), Graphite2-1.3.14 (exigido para construir texlive-20220321 ou o LibreOffice-7.5.0.3 com "harfbuzz" do sistema), ICU-72.1 e FreeType-2.13.0 (depois de HarfBuzz-7.0.0 ser instalado, reinstale FreeType-2.13.0)
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), git-2.39.2, GTK-Doc-1.33.2, FontTools (módulo Python 3, para a suíte de teste) e ragel
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.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/harfbuzz
Instale HarfBuzz executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr \ --buildtype=release \ -Dgraphite2=enabled && ninja
Para testar os resultados, emita: ninja test.
Agora, como o(a) usuário(a) root
:
ninja install
--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 texlive-20220321 ou o LibreOffice-7.5.0.3 com "harfbuzz" do
sistema.
-Ddocs=disabled
: Se GTK-Doc-1.33.2 estiver instalado,
[então] a documentação é construída e instalada. Essa chave
impede isso.
é usado para coletar informações a respeito das fontes instaladas no sistema |
|
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." |
|
é usado para a conversão de sequências de caracteres de texto em glifos posicionados |
|
é usado para criar subconjuntos de fontes e exibir texto usando-os |
|
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." |
|
é a biblioteca de modelagem de texto "HarfBuzz" |
|
fornece integração "Cairo" para a biblioteca de modelagem de texto "Harfbuzz" |
|
fornece integração "GObject" para a biblioteca de modelagem de texto "HarfBuzz" |
|
fornece integração "ICU" para a biblioteca de modelagem de texto "HarfBuzz" |
|
fornece funções de API para realizar operações de subconjunto em arquivos de fonte |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/jasper-software/jasper/archive/version-4.0.0/jasper-4.0.0.tar.gz
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)
Freeglut-3.4.0 (necessário para jiv), Doxygen-1.9.6 (necessário para gerar documentação html) e texlive-20220321 ( necessário para regerar a documentação em pdf)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/jasper
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
-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 texlive-20220321 estiver
instalado.
A biblioteca Little CMS é usada por outros aplicativos para fornecer recursos de gerenciamento de cores.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/lcms/lcms-1.19.tar.gz
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
libtiff-4.5.0, libjpeg-turbo-2.1.5.1 e Python-2.7.18 (com SWIG-4.1.1 também)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/lcms
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
--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.
gera "CRD" ou "CSA" PostScript a partir de perfis "ICC" |
|
vincula dois ou mais perfis em um perfil único de ligação de dispositivo |
|
é uma calculadora de conversão de espaço de cores |
|
é um aplicador de perfil "ICC" para arquivos "JPEG" |
|
é um aplicador de perfil "ICC" para arquivos "TIFF" |
|
é um utilitário de comparação "TIFF" |
|
mostra a mídia branca dos perfis, identificando o "locus" do corpo negro |
|
é usado pelos aplicativos lcms assim como outros aplicativos para fornecer recursos de gerenciamento de cores |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/mm2/Little-CMS/releases/download/lcms2.14/lcms2-2.14.tar.gz
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)
libjpeg-turbo-2.1.5.1 e libtiff-4.5.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/lcms2
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
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
é o aplicador de perfil "ICC" do "Little CMS" para "JPEG" |
|
é o gerador de ligação de dispositivo "ICC" do "Little CMS" |
|
é o gerador de "ICC PostScript" do "Little CMS" |
|
é o gerador de "ICC tiff" do "Little CMS" |
|
é a calculadora de conversão "ColorSpace" do "Little CMS" |
|
contém funções que implementam a API do "lcms2" |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/libexif/libexif/releases/download/v0.6.24/libexif-0.6.24.tar.bz2
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
Doxygen-1.9.6 e Graphviz-7.1.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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.
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
O pacote libgxps fornece uma interface para manipular documentos "XPS".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/libgxps/0.3/libgxps-0.3.2.tar.xz
Transferência (FTP): 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
GTK+-3.24.36, Little CMS-2.14, libarchive-3.6.2, libjpeg-turbo-2.1.5.1, libtiff-4.5.0 e libxslt-1.1.37
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libgxps
Instale Libgxps executando os seguintes comandos:
mkdir build && cd build && meson --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
--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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/libjpeg-turbo/libjpeg-turbo-2.1.5.1.tar.gz
Soma de verificação MD5 da transferência: aed60d4d776dd5cf00b5a01c609d50f7
Tamanho da transferência: 2,2 MB
Espaço em disco estimado exigido: 17 MB (adicionar 17 MB para os testes)
Tempo de construção estimado: 0,1 UPC (usando paralelismo=4; adicionar 0,2 UPC para os testes)
NASM-2.16.01 ou yasm-1.3.0 (para construir o pacote com rotina otimizada "assembly")
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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-2.1.5.1 \ -DCMAKE_INSTALL_DEFAULT_LIBDIR=lib \ .. && make
Para testar os resultados, emita: make test.
Agora, como o(a) usuário(a) root
:
make install
-DWITH_JPEG8=ON
: Essa chave
habilita a compatibilidade com libjpeg versão 8.
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" |
|
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" |
|
é usado para transformação sem perdas de arquivos "JPEG" |
|
exibe comentários de texto a partir de um arquivo "JPEG" |
|
é usado para avaliar comparativamente o desempenho da "libjpeg-turbo" |
|
insere comentários de texto em um arquivo "JPEG" |
|
contém funções usadas para ler e gravar imagens "JPEG" |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/libmng/libmng-2.0.3.tar.xz
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
libjpeg-turbo-2.1.5.1 e Little CMS-2.14
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/mypaint/libmypaint/releases/download/v1.6.1/libmypaint-1.6.1.tar.xz
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)
GLib-2.74.5 e gobject-introspection-1.74.0
Doxygen-1.9.6 (para criar documentos "XML"), gegl (somente versões 0.3) e gperftools
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/libpng/libpng-1.6.39.tar.xz
Soma de verificação MD5 da transferência: aa1ae92e172417039bda072b702f6326
Tamanho da transferência: 1000 KB
Espaço em disco estimado exigido: 15 MB (com os testes)
Tempo de construção estimado: 0,1 UPC (adicionar 0,5 UPC para os testes)
Remendo recomendado para incluir a funcionalidade de "png" animado em libpng (exigido para usar a libpng do sistema no Firefox, Seamonkey e Thunderbird): https://downloads.sourceforge.net/sourceforge/libpng-apng/libpng-1.6.39-apng.patch.gz
Soma de verificação MD5 do remendo: cd63b667723d6cc75e95eca3224f33f7
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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.39 && cp -v README libpng-manual.txt /usr/share/doc/libpng-1.6.39
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
testa, otimiza e, opcionalmente, corrige o cabeçalho "zlib" em arquivos "PNG". Opcionalmente, ao corrigir, retira pedaços auxiliares do arquivo |
|
corrige arquivos "PNG" que tem um campo incorreto de comprimento nos blocos "iTXt" |
|
é um script de shell que fornece informações de configuração para aplicativos querendo usar a libpng |
|
contém rotinas usadas para criar e manipular arquivos gráficos no formato "PNG" |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.libraw.org/data/LibRaw-0.21.1.tar.gz
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)
libjpeg-turbo-2.1.5.1, JasPer-4.0.0 e Little CMS-2.14
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--enable-jpeg
: Essa
chave habilita o suporte para "jpeg". Remova se você não
tiver libjpeg-turbo-2.1.5.1 instalada.
--enable-jasper
: Essa
chave habilita o suporte para "jasper". Remova se você não
tiver JasPer-4.0.0 instalado.
--enable-lcms
: Essa
chave habilita o suporte para "Little CMS2". Remova se você
não tiver Little CMS-2.14 instalado.
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
Todos os aplicativos instalados são exemplos de uso da "libraw".
gera quatro arquivos "TIFF" a partir de dados "RAW", um arquivo por canal |
|
emula "dcraw -h" (veja-se a página de manual do DCRAW) |
|
emula "dcraw [-4] [-6] [-e]" (veja-se a página de manual do DCRAW) |
|
cria oito renderizações a partir de um arquivo de origem. O primeiro e o quarto deveriam ser idênticos |
|
emula chamada a "dcraw [-D] [-T] [-v] [-e] [-4]" (veja-se a página de manual do DCRAW) |
|
é um emulador "dcraw" quase completo (veja-se a página de manual do DCRAW) |
|
emula chamada a "dcraw -h [-w] [-a] [-v]" (veja-se a página de manual do DCRAW) |
|
cria oito renderizações a partir de um arquivo de origem. O primeiro e o quarto deveriam ser idênticos |
|
emula chamada a "dcraw -i [-v]" (veja-se a página de manual do DCRAW) |
|
gera imagem bruta não processada: com pixels mascarados e sem subtração de preto |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/librsvg/2.54/librsvg-2.54.5.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/librsvg/2.54/librsvg-2.54.5.tar.xz
Soma de verificação MD5 da transferência: eb56ffb37a7db48491177eb9bd135cb5
Tamanho da transferência: 21 MB
Espaço em disco estimado exigido: 1 GB (24 MB instalado), adicionar 240 MB para os testes
Tempo de construção estimado: 1,7 UPC (Usando paralelismo=4), adicionar 1,1 UPC para os testes
Cairo-1.17.6, gdk-pixbuf-2.42.10, Pango-1.50.12 e rustc-1.67.1
gobject-introspection-1.74.0 e Vala-0.56.4
docutils-0.19 (para páginas de manual), Gi-DocGen-2023.1 (para documentação) e Fontes do Xorg (para testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/librsvg
Instale librsvg executando os seguintes comandos:
./configure --prefix=/usr \ --enable-vala \ --disable-static \ --docdir=/usr/share/doc/librsvg-2.54.5 && make
Para testar os resultados, emita: make -k check. Durante o teste, alguns binários são reconstruídos com um nível diferente de depuração, de forma que você deveria executar make novamente depois que os testes estiverem completos para garantir que tudo esteja pronto para ser instalado.
Agora, como o(a) usuário(a) root
:
make install
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
--enable-vala
: Essa
chave habilita a construção das ligações "Vala". Remova essa
chave se você não tiver Vala-0.56.4 instalado.
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
--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 Gi-DocGen-2023.1 (apesar do nome da
opção) estiver disponível.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/fontforge/libspiro/releases/download/20220722/libspiro-dist-20220722.tar.gz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.osgeo.org/libtiff/tiff-4.5.0.tar.gz
Soma de verificação MD5 da transferência: db9e220a1971acc64487f1d51a20dcaa
Tamanho da transferência: 3,7 MB
Espaço em disco estimado exigido: 59 MB (com os testes)
Tempo de construção estimado: 0,2 UPC (com os testes)
Freeglut-3.4.0 (exigido para tiffgt), libjpeg-turbo-2.1.5.1, sphinx-6.1.3, libwebp-1.3.0, JBIG-KIT e LERC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libtiff
Instale libtiff executando os seguintes comandos:
mkdir -p libtiff-build && cd libtiff-build && cmake -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/libtiff-4.5.0 \ -DCMAKE_INSTALL_PREFIX=/usr -G Ninja .. && ninja
Para testar os resultados, emita: ninja test.
Agora, como o(a) usuário(a) root
:
ninja install
converte um fac-símile "TIFF" em arquivo comprimido "PostScript" |
|
cria um arquivo de fax "TIFF" Classe F a partir de dados brutos de fax |
|
converte uma imagem "TIFF" colorida da paleta em uma imagem completa colorida |
|
cria um arquivo "TIFF" a partir de um arquivo de imagem "PPM" |
|
converte uma sequência bruta de bytes em "TIFF" |
|
converte uma imagem colorida "TIFF" em tons de cinza |
|
converte uma imagem "TIFF" em um documento "PDF" |
|
converte uma imagem "TIFF" em um arquivo "PostScript" |
|
converte uma ampla variedade de imagens "TIFF" em uma imagem "RGBA TIFF" |
|
compara dois arquivos "TIFF" |
|
copia (e possivelmente converte) um arquivo "TIFF" |
|
seleciona, copia, recorta, converte, extrai e(ou) processa um ou mais arquivos "TIFF" |
|
converte uma imagem em tons de cinza em dois níveis usando pontilhamento |
|
imprime informações literais a respeito de arquivos "TIFF" |
|
exibe uma imagem armazenada em um arquivo "TIFF" |
|
imprime informações relativas a arquivos "TIFF" |
|
aplica o algoritmo de corte mediano aos dados em um arquivo "TIFF" |
|
configura o valor de um cabeçalho "TIFF" para um valor especificado |
|
divide um "TIFF" de várias imagens em arquivos "TIFF" de imagem única |
|
contém as funções de API usadas pelos aplicativos libtiff assim como outros aplicativos para ler e gravar arquivos "TIFF" |
|
contém as funções da API C++ usadas pelos aplicativos para ler e gravar arquivos "TIFF" |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): http://downloads.webmproject.org/releases/webp/libwebp-1.3.0.tar.gz
Soma de verificação MD5 da transferência: 994cf2efb664ef5140fa0b56b83fa721
Tamanho da transferência: 4,0 MB
Espaço em disco estimado exigido: 43 MB
Tempo de construção estimado: 0,3 UPC
libjpeg-turbo-2.1.5.1, libpng-1.6.39, libtiff-4.5.0 e SDL-1.2.15 (para Aceleração "3D" melhorada)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--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.
comprime uma imagem usando o formato "WebP" |
|
descomprime arquivos "WebP" em imagens "PNG", "PAM", "PPM" ou "PGM" |
|
converte uma imagem "GIF" em uma imagem "WebP" |
|
cria um arquivo animado "WebP" a partir de uma sequência de imagens de entrada |
|
descomprime um arquivo "WebP" e o exibe em uma janela |
|
imprime a estrutura de nível "cunk" dos arquivos "WebP" junto com a realização de verificações básicas de integridade |
|
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" |
|
contém as funções de API para codificação e decodificação "WebP" |
O pacote mypaint-brushes contém pincéis usados por pacotes que usam a "libmypaint".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/mypaint/mypaint-brushes/releases/download/v1.3.1/mypaint-brushes-1.3.1.tar.xz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://releases.pagure.org/newt/newt-0.52.23.tar.gz
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
GPM-1.20.7 (tempo de execução)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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".
O pacote opencv contém bibliotecas gráficas voltadas principalmente para visão computacional em tempo real.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/opencv/opencv/archive/4.7.0/opencv-4.7.0.tar.gz
Soma de verificação MD5 da transferência: 13e13244cb0cc6ec4f01eacd38d05d17
Tamanho da transferência: 87 MB
Espaço em disco estimado exigido: 675 MB
Tempo de construção estimado: 3,3 UPC (usando paralelismo = 4)
Módulos adicionais opcionais: https://github.com/opencv/opencv_contrib/archive/4.7.0/opencv_contrib-4.7.0.tar.gz
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.
FFmpeg-5.1.2, gst-plugins-base-1.22.0, GTK+-3.24.36, JasPer-4.0.0, libexif-0.6.24, libjpeg-turbo-2.1.5.1, libpng-1.6.39, libtiff-4.5.0, libwebp-1.3.0, v4l-utils-1.22.1 e xine-lib-1.2.13
apache-ant-1.10.13, Doxygen-1.9.6, Java-19.0.2, Python-2.7.18, blas, Cuda, Eigen, OpenEXR, GDAL, lapack, libdc1394, NumPy, Threading Building Blocks (TBB) e VTK - The Visualization Toolkit,
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/opencv
Se você baixou os módulos opcionais, [então] desempacote-os agora:
tar -xf ../opencv_contrib-4.7.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
-DWITH_XINE=ON
: Essa
opção instrui o procedimento "make" a usar 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.7.0/modules
:
instrui o sistema de construção a construir módulos
adicionais.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/uclouvain/openjpeg/archive/v2.5.0/openjpeg-2.5.0.tar.gz
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
Little CMS-2.14, libpng-1.6.39, libtiff-4.5.0 e Doxygen-1.9.6 (para construir a documentação da API)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/openjpeg2
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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cairographics.org/releases/pixman-0.42.2.tar.gz
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)
GTK+-2.24.33 e libpng-1.6.39 (para testes e demonstrações)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/pixman
Instale Pixman executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release && ninja
Para testar os resultados, emita: ninja test.
Agora, como o(a) usuário(a) root
:
ninja install
--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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://poppler.freedesktop.org/poppler-23.02.0.tar.xz
Soma de verificação MD5 da transferência: ce7eef12c40dcd78998a43422c2c71ef
Tamanho da transferência: 1,8 MB
Espaço em disco estimado exigido: 89 MB (com a biblioteca “Qt5” e os testes)
Tempo de construção estimado: 0,6 UPC (com paralelismo=4, biblioteca “Qt5” e os testes)
Dados de Codificação Poppler
Transferência (HTTP): 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.
CMake-3.25.2, Fontconfig-2.14.2 e gobject-introspection-1.74.0
Boost-1.81.0, Cairo-1.17.6, Little CMS-2.14, libjpeg-turbo-2.1.5.1, libpng-1.6.39, nss-3.88.1 e OpenJPEG-2.5.0
cURL-7.88.1, gdk-pixbuf-2.42.10, git-2.39.2 (para transferir arquivos de teste), GTK-Doc-1.33.2, GTK+-3.24.36, libtiff-4.5.0, Qt-5.15.8 (exigido para suporte PDF no Okular-22.12.2) e Qt-6.1 ou posterior.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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.02.0 && cp -vr ../glib/reference/html /usr/share/doc/poppler-23.02.0
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
-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".
adiciona um novo arquivo incorporado a um arquivo "PDF" existente |
|
lista ou extrai arquivos incorporados a partir de arquivos "PDF" |
|
lista as fontes usadas em um arquivo "PDF" junto com várias informações para cada fonte |
|
salva imagens a partir de um arquivo "PDF" como arquivos "PPM", "PBM" ou "JPEG" |
|
imprime o conteúdo do dicionário 'Info' (mais algumas outras informações úteis) a partir de um arquivo "PDF" |
|
extrai páginas únicas a partir de um arquivo "PDF" |
|
verifica as assinaturas digitais em um documento "PDF" |
|
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" |
|
converte um arquivo "PDF" para "HTML" |
|
converte arquivos "PDF" para os formatos "PBM", "PGM" e "PPM" |
|
converte arquivos "PDF" para o formato "Postscript" |
|
converte arquivos "PDF" em texto plano |
|
mescla vários arquivos "PDF", na ordem da ocorrência deles na linha de comando, em um arquivo de saída "PDF" |
|
contém as funções da "API" para renderizar arquivos "PDF" |
|
é uma estrutura de retaguarda "C++" para renderizar arquivos "PDF" |
|
é uma biblioteca invólucro usada para interfacear as funções de renderização de "PDF" com GTK+ |
|
é uma biblioteca invólucro usada para interfacear as funções de renderização de "PDF" com Qt5 |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/potrace/potrace-1.16.tar.gz
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)
LLVM-15.0.7 (incluindo clang)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/qpdf/qpdf/releases/download/v11.2.0/qpdf-11.2.0.tar.gz
Soma de verificação MD5 da transferência: 8fa1fc5d8b99e41c4f9d0760d6733756
Tamanho da transferência: 18 MB
Espaço em disco estimado exigido: 249 MB (adicionar 2 MB para os testes)
Tempo de construção estimado: 0,5 UPC (usando paralelismo=4; adicionar 0,5 UPC para testes)
fop-2.8, GnuTLS-3.8.0 e sphinx-6.1.3
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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.2.0 \ .. && make
Para testar os resultados, emita: ctest.
Agora, como o(a) usuário(a) root
:
make install
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://fukuchi.org/works/qrencode/qrencode-4.1.1.tar.bz2
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
Doxygen-1.9.6 para gerar documentação e SDL2-2.26.3 para os testes
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/qrencode
Instale libqrencode executando os seguintes comandos:
./configure --prefix=/usr && make
Se instalou Doxygen-1.9.6, [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.
--with-tests
: Essa opção permite
construir os aplicativos de teste. Exige SDL2-2.26.3.
--without-tools
: Essa opção evita
construir o executável qrencode, removendo a
necessidade da libpng-1.6.39.
SassC é um invólucro em torno da "libsass", uma linguagem de pré-processador "CSS".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/sass/sassc/archive/3.6.2/sassc-3.6.2.tar.gz
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ência (HTTP): https://github.com/sass/libsass/archive/3.6.5/libsass-3.6.5.tar.gz
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)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/google/woff2/archive/v1.0.2/woff2-1.0.2.tar.gz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/asciidoctor/asciidoctor/archive/v2.0.18/asciidoctor-2.0.18.tar.gz
Soma de verificação MD5 da transferência: 30a020f2db5f29a90bd2249bf3ad1f08
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/asciidoctor
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.18.gem && install -vm644 man/asciidoctor.1 /usr/share/man/man1
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/bogofilter/bogofilter-1.2.5.tar.xz
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
lmdb-0.9.29, SQLite-3.40.1, xmlto-0.0.28, QDBM e TokyoCabinet
Se você não instalar o pacote Gsl-2.7.1 recomendado, então uma versão enviada estaticamente vinculada será usada.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/bogofilter
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
--with-database=
: Essa chave te
permite mudar a base de dados padrão de "db" para "qdbm",
"sqlite3" ou "tokyocabinet".
cria um diretório de trabalho do "bogofilter" mais compacto com um ciclo de despejo/carga |
|
copia um diretório de trabalho do "bogofilter" para outro diretório |
|
agrupa um diretório de trabalho do "bogofilter" no formato "tar" e o copia para a saída padrão |
|
é um filtro de "spam" "bayesiano" rápido |
|
é usado para separar mensagens em "tokens" e para testar novas versões do código "lexer.l" |
|
tenta encontrar configurações ideais de parâmetros para o "bogofilter" |
|
atualiza a base de dados do "bogofilter" para a versão atual |
|
despeja, carrega e mantém arquivos de base de dados do "bogofilter" |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://anduin.linuxfromscratch.org/BLFS/compface/compface-1.5.2.tar.gz
Transferência (FTP): 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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
é um filtro para gerar representações altamente comprimidas de arquivos de imagem de face 48x48x1 |
|
é um filtro inverso que realiza uma transformação inversa sem perda de dados |
|
é um script para gerar "xfaces" |
|
permite que os algoritmos de compressão e descompressão sejam usados em outros aplicativos, tais como "MTAs" |
O pacote Desktop File Utils contém utilitários de linha de comando para trabalhar com 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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.freedesktop.org/software/desktop-file-utils/releases/desktop-file-utils-0.26.tar.xz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/desktop-file-utils
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
Instale Desktop File Utils executando os seguintes comandos:
mkdir build && cd build && meson --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
--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.
A especificação 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
é usado para modificar uma entrada existente do arquivo da área de trabalho |
|
é 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" |
|
é usado para verificar a integridade de um arquivo da área de trabalho |
|
é usado para atualizar a base de dados de aplicativos de tipos "MIME" |
O pacote dos2unix contém um conversor de formato de texto de qualquer para qualquer.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/dos2unix/dos2unix-7.4.4.tar.gz
Soma de verificação MD5 da transferência: 6ac049a4eb878bbc57019f731a28f7b5
Tamanho da transferência: 896 KB
Espaço em disco estimado exigido: 8,1 MB (com os testes)
Tempo de construção estimado: menos que 0,1 UPC (com os testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
converte arquivos de texto plano no formato "DOS" para o formato "Unix" |
|
converte arquivos de texto plano no formato "Mac" para o formato "Unix" |
|
converte arquivos de texto plano no formato "Unix" para o formato "DOS" |
|
converte arquivos de texto plano no formato "Unix" para o formato "Mac" |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://gitlab.com/graphviz/graphviz/-/archive/7.1.0/graphviz-7.1.0.tar.bz2
Soma de verificação MD5 da transferência: 495f7da354be58309d91a2e0d377ae3b
Tamanho da transferência: 26 MB
Espaço em disco estimado exigido: 193 MB
Tempo de construção estimado: 0,6 UPC (usando paralelismo = 4)
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 ImageMagick-7.1.0-61. 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.
Pango-1.50.12, com Cairo-1.17.6, Bibliotecas do Xorg, Fontconfig-2.14.2 e libpng-1.6.39, 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 gegl-0.4.40
Adicionar GTK+-2.24.33 com libjpeg-turbo-2.1.5.1 adiciona suporte para formatos "JPEG", "BMP", "TIF" e "ICO" e permite exibir a imagem em uma janela "GTK+"
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 libwebp-1.3.0 (o suporte a "WebP" é considerado experimental), DevIL, libLASi e glitz
libgs.so
originária de
ghostscript-10.00.0, librsvg-2.54.5 e Poppler-23.02.0
Freeglut-3.4.0 (com libglade-2.6.4, GtkGLExt e libGTS, para construir o visualizador de gráfico grande smyrna, que é considerado experimental) e Qt-5.15.8 (para construir o editor gráfico gvedit).
SWIG-4.1.1 (SWIG precisa estar instalado ou nenhuma ligação será construída), GCC-12.2.0 (para o compilador "go"), Guile-3.0.9, OpenJDK-19.0.2, Lua-5.4.4, PHP-8.2.3, Ruby-3.2.1, Tk-8.6.13, Io, Mono, OCaml e R
Criterion (estrutura essencial de suporte para os testes) e Electric Fence
ghostscript-10.00.0 (para o comando ps2pdf)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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-7.1.0
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
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 OpenJDK-19.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 libwebp-1.3.0 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.
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 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
.
é 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 |
|
decompõe gráficos nos componentes bi-conectados deles, imprimindo os componentes na saída padrão |
|
decompõe gráficos nos componentes conectados deles, imprimindo os componentes na saída padrão |
|
desenha gráficos usando um esquema circular |
|
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 |
|
(precisa de GD Library) gera uma imagem onde cada pixel é a diferença entre o pixel correspondente em cada uma das duas imagens de origem |
|
lê um fluxo de gráficos e para cada um calcula a distância de cada nó a partir do nó de origem |
|
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 |
|
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 |
|
realiza a coloração de arestas para eliminar a ambiguidade dos cruzamentos de arestas |
|
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" |
|
é 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 |
|
converte um gráfico especificado no formato "GML" em um gráfico no formato "GV" (anteriormente "DOT") |
|
converte um gráfico especificado no formato "GRAPHML" em um gráfico no formato "GV" (anteriormente "DOT") |
|
converte um gráfico especificado no formato "GV" para um gráfico no formato "GML" |
|
converte um gráfico especificado no formato "GV" para um gráfico no formato "GXL" |
|
é 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 |
|
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 |
|
gera uma variedade de gráficos abstratos simples e estruturados regularmente |
|
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" |
|
é uma linha tubular para executar o "gvmap" |
|
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 |
|
é 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 |
|
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 |
|
converte entre gráficos representados em "GXL" e na linguagem "GV" |
|
converte uma matriz esparsa do formato "Matrix Market" em um gráfico no formato "GV" (anteriormente "DOT") |
|
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 |
|
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 |
|
desenha gráficos agrupados. Toma qualquer gráfico no formato "DOT" como entrada |
|
desenha gráficos agrupados usando um esquema quadrado de mapa de árvore. Toma qualquer gráfico no formato "DOT" como entrada |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
é 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 |
|
é 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 |
|
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 |
|
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 |
|
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 |
|
contém funções para encontrar o caminho mais curto entre dois pontos em um polígono simples |
|
fornece suporte para analisar e desanalisar operações gráficas especificadas pela linguagem "xdot" |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gtk-doc/1.33/gtk-doc-1.33.2.tar.xz
Transferência (FTP): 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)
docbook-xml-4.5, docbook-xsl-nons-1.79.2, itstool-2.0.7 e libxslt-1.1.37
Pygments-2.14.0 em tempo de execução
Para testes: dblatex ou fop-2.8 (suporte a "PDF" "XML"), GLib-2.74.5, Which-2.21 e módulos "Python" lxml-4.9.2, parameterized e yelp-tools
Os módulos opcionais "Python" acima podem ser facilmente instalados com o comando pip3.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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.
Highlight é um utilitário que converte o código-fonte em texto formatado com realce de sintaxe.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): http://www.andre-simon.de/zip/highlight-4.4.tar.bz2
Soma de verificação MD5 da transferência: e61056f9cfe5f865ea7f87c74f05d22f
Tamanho da transferência: 1,4 MB
Espaço em disco estimado exigido: 31 MB (com a "GUI")
Tempo de construção estimado: 0,3 UPC (Usando paralelismo=4; com a "GUI")
Qt-5.15.8 (para construir a estrutura de interação direta "GUI")
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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.4/ 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.4/ install
Para instalar o aplicativo "GUI", execute o seguinte comando
como o(a) usuário(a) root
:
make install-gui
doc_dir=/usr/share/doc/highlight-4.4/
:
instala a documentação do "highlight" em um diretório
versionado. Esse comando também é necessário para
make gui, pois
o valor dele seria rigidamente codificado no executável
"GUI". Observe que a "/" à direita é necessária.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/ibus/ibus/releases/download/1.5.27/ibus-1.5.27.tar.gz
Soma de verificação MD5 da transferência: 3590d33fbd84e041acb75fcee818b504
Tamanho da transferência: 3,6 MB
Espaço em disco estimado exigido: 66 MB (adicionar 3 MB para os testes)
Tempo de construção estimado: 0,2 UPC (Usando paralelismo=4; adicionar 0,6 UPC para os testes)
Base de dados de caracteres "Unicode": https://www.unicode.org/Public/zipped/15.0.0/UCD.zip
DConf-0.40.0, ISO Codes-4.12.0 e Vala-0.56.4
gobject-introspection-1.74.0, GTK+-2.24.33 e libnotify-0.8.1
GTK+-3.24.36 (para construir o módulo "IM" para "it"), GTK-4.8.3 (para construir o módulo "IM" para "it"), D-Bus Python-1.3.2 e PyGObject-3.42.2 (ambos para construir a biblioteca de suporte a "Python"), GTK-Doc-1.33.2 e libxkbcommon-1.5.0, Wayland-1.21.0 (ambos para construir os aplicativos de suporte a "Wayland") e EmojiOne
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 de área de trabalho baseado em "Wayland". O teste chamado "xkb-latin-layouts" é conhecido por falhar com um lançamento recente do "xkeyboard-config". O teste chamado "test-override-ibus.py" é conhecido por falhar se a biblioteca de suporte do "Python" estiver habilitada.
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}
--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.
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".
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.imagemagick.org/archive/releases/ImageMagick-7.1.0-61.tar.xz
Soma de verificação MD5 da transferência: f9973657738b5c970325e97f198b9977
Tamanho da transferência: 9,9 MB
Espaço em disco estimado exigido: 192 MB (com as dependências típicas; adicionar 20 MB para as verificações)
Tempo de construção estimado: 0,8 UPC (com as dependências típicas; adicionar 1,9 UPC para as verificações, ambos usando paralelismo=4)
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: ftp://ftp.osuosl.org/pub/blfs/conglomeration/ImageMagick/.
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 https://imagemagick.org/script/install-source.php.
"Clang" originário de LLVM-15.0.7, Cups-2.4.2, cURL-7.88.1, FFmpeg-5.1.2, fftw-3.3.10, p7zip-17.04 ("LZMA"), SANE-1.0.32, Wget-1.21.3, xdg-utils-1.1.3, xterm-379, Dmalloc, Electric Fence e PGP ou GnuPG-2.4.0 (você terá que fazer alguns ajustes para usar o GnuPG), Profiles
JasPer-4.0.0, Little CMS-1.19 ou Little CMS-2.14, libgxps-0.3.2, libjpeg-turbo-2.1.5.1, libpng-1.6.39, libraw-0.21.1 ("RAW_R"), librsvg-2.54.5, libtiff-4.5.0, libwebp-1.3.0, OpenJPEG-2.5.0, Pango-1.50.12, DjVuLibre, FlashPIX ("libfpx"), FLIF, JBIG-KIT, libheif com libde265 (ambos necessários se converter imagens "heic" do "macOS"), libjxl, libraqm, Liquid Rescale, OpenEXR e RALCGM (ou ralcgm)
Fontes "Dejavu", ghostscript-10.00.0, Gimp-2.10.32, Graphviz-7.1.0, Inkscape-1.2.2, Blender, corefonts, GhostPCL, Gnuplot, POV-Ray e Radiance
Enscript-1.6.6, Potrace-1.16, texlive-20220321 (ou install-tl-unx) AutoTrace, Utilitários de linha de comando GeoExpress, também conhecidos como utilitários MrSID (pacote binário), hp2xx, libwmf, UniConvertor, ufraw (para arquivos "dng"; veja-se https://imagemagick.org/script/formats.php para algumas chaves especiais) e Utah Raster Toolkit (ou URT-3.1b)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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.0 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 ghostscript-10.00.0 - esse teste, e um outro, pode falhar, mas toda a validação ainda pode passar.
--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.
<Algum/Diretório>
--with-dejavu-font-dir=
:
Essa opção especifica o diretório onde as fontes "DejaVu"
estão instaladas.
<Algum/Diretório>
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.
anima uma sequência de imagens |
|
compara uma imagem com uma imagem reconstruída |
|
compõe várias imagens na imagem base fornecida |
|
processa um script "MSL" para criar uma imagem |
|
converte imagem(ns) de um formato para outro |
|
exibe uma imagem |
|
descreve o formato e as características de um arquivo de imagem |
|
captura uma janela do X |
|
converter entre formatos de imagem, bem como redimensionar uma imagem, desfocar, cortar, remover manchas, pontilhar, desenhar, virar, juntar, re-amostrar e muito mais |
|
mostra informações a respeito das versões instaladas das bibliotecas ImageMagick |
|
transforma uma imagem |
|
compõe várias imagens em uma nova imagem |
|
transmite um ou mais componentes de pixel de uma imagem ou parte da imagem para sua escolha de formatos de armazenamento |
|
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 |
|
fornece a API C para ImageMagick |
|
é a API C recomendada para ImageMagick. Ao contrário da API MagickCore, ela usa somente alguns tipos opacos |
|
fornece a API C++ para ImageMagick |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.debian.org/debian/pool/main/i/iso-codes/iso-codes_4.12.0.orig.tar.xz
Soma de verificação MD5 da transferência: bd6212559888336ad78ca6975541568a
Tamanho da transferência: 3,7 MB
Espaço em disco estimado exigido: 93 MB
Tempo de construção estimado: 0,1 UPC (com os testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/iso-codes
O diretório é chamado iso-codes-4.12.0.
Instale ISO Codes executando os seguintes comandos:
./configure --prefix=/usr && make
Para testar os resultados, emita: make check.
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
O pacote lsof é útil para listar arquivos abertos para um dado aplicativo ou processo em execução.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/lsof-org/lsof/releases/download/4.95.0/lsof_4.95.0.linux.tar.bz2
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)
Nmap-7.93
(com um link simbólico nc apontando para
ncat em
/usr/bin
; usado em testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/lsof
Para executar os testes, a seguinte opção deveria estar habilitada na configuração do núcleo:
General setup --->
[*] POSIX Message Queues [CONFIG_POSIX_MQUEUE]
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 Nmap-7.93 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
./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.
"mandoc" é um utilitário para formatar páginas de manual.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://mandoc.bsd.lv/snapshots/mandoc-1.14.6.tar.gz
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)
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
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 Ä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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.gnupg.org/ftp/gcrypt/pinentry/pinentry-1.2.1.tar.bz2
Transferência (FTP): 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
libassuan-2.5.5 e libgpg-error-1.46
Emacs-28.2, FLTK-1.3.8, Gcr-3.41.1, GTK+-2.24.33, libsecret-0.20.5, Qt-5.15.8 e efl
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/pinentry
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
--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".
é um link simbólico para o aplicativo padrão PIN-Entry |
|
é um aplicativo auxiliar Ncurses do PIN-Entry baseado em texto |
|
é uma versão Emacs do aplicativo auxiliar do PIN-Entry |
|
é um aplicativo auxiliar FLTK do PIN-Entry |
|
é um aplicativo auxiliar GNOME-3 do PIN-Entry |
|
é um aplicativo auxiliar GTK+2 do PIN-Entry |
|
é um aplicativo auxiliar Qt4 ou 5 do PIN-Entry |
|
é um aplicativo auxiliar tty do PIN-Entry |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.tuxfamily.org/librep/rep-gtk/rep-gtk_0.90.8.3.tar.xz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.gnu.org/gnu/screen/screen-4.9.0.tar.gz
Transferência (FTP): ftp://ftp.gnu.org/gnu/screen/screen-4.9.0.tar.gz
Soma de verificação MD5 da transferência: b1ef8ed89134d335e614016634982b6d
Tamanho da transferência: 780 KB
Espaço em disco estimado exigido: 7,8 MB
Tempo de construção estimado: 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--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".
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://gitlab.freedesktop.org/xdg/shared-mime-info/-/archive/2.2/shared-mime-info-2.2.tar.gz
Soma de verificação MD5 da transferência: 06cb9e92e4211dc53fd52b7bfd586c78
Tamanho da transferência: 6,7 MB
Espaço em disco estimado exigido: 24 MB (com os testes)
Tempo de construção estimado: menos que 0,1 UPC (com os testes)
Transferência opcional, exigida para executar a suíte de teste: https://anduin.linuxfromscratch.org/BLFS/xdgmime/xdgmime.tar.xz
Soma de verificação MD5 de "xdgmime": 7dfb4446705d345d3acd672024049e86
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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 --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
--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".
O pacote Sharutils contém utilitários que conseguem criar arquivamentos "shell".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.gnu.org/gnu/sharutils/sharutils-4.15.2.tar.xz
Transferência (FTP): 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)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
cria "arquivamentos shell" (ou arquivos "shar") que estão em formato de texto e conseguem ser enviados por correio |
|
desempacota um arquivo "shar" |
|
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" |
|
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 é 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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://telepathy.freedesktop.org/releases/telepathy-mission-control/telepathy-mission-control-5.16.6.tar.gz
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
D-Bus Python-1.3.2 (para os testes “torcidos”), GTK-Doc-1.33.2, UPower-1.90.0 e Twisted (para os testes “torcidos”)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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.
é uma ferramenta de linha de comando usada para manipular contas do "Mission Control" |
|
espera por um nome de barramento "D-Bus" que será fornecido automaticamente pela sessão da área de trabalho |
|
é 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 |
|
contém as funções de "API" de "plugin" do Telepathy Mission Control |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/htacg/tidy-html5/archive/5.8.0/tidy-html5-5.8.0.tar.gz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/tidy
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
-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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.gnu.org/gnu/time/time-1.9.tar.gz
Transferência (FTP): 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)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://mama.indstate.edu/users/ice/tree/src/tree-2.1.0.tgz
Soma de verificação MD5 da transferência: 50aa5cdb28df6340ef67a3a3ec953ffc
Tamanho da transferência: 60 KB
Espaço em disco estimado exigido: 524 KB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/lurcher/unixODBC/releases/download/2.3.11/unixODBC-2.3.11.tar.gz
Transferência (FTP): ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-2.3.11.tar.gz
Soma de verificação MD5 da transferência: 0ff1fdbcb4c3c7dc2357f3fd6ba09169
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)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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.11 && cp -v -R doc/* /usr/share/doc/unixODBC-2.3.11
--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.
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.11
, 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 http://www.unixodbc.org/ tem
informações muito boas.
é um utilitário usado para verificar uma biblioteca compartilhada para ver se ela pode ser carregada e se um dado símbolo existe nela |
|
é 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 |
|
fornece a mesma funcionalidade que o aplicativo isql |
|
é usado para descobrir detalhes a respeito da instalação do pacote unixODBC |
|
é um utilitário criado para instalar escritores de
script/"RPM". É uma interface de linha de comando
para funcionalidade chave na biblioteca
|
|
é um utilitário que tenta verificar se um controlador "ODBC" foi construído com tipos "SQLLEN" de 32 bits ou 64 bits |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://user-dirs.freedesktop.org/releases/xdg-user-dirs-0.18.tar.gz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xdg-user-dirs
Instale xdg-user-dirs executando 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
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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.freedesktop.org/software/accountsservice/accountsservice-22.08.8.tar.xz
Soma de verificação MD5 da transferência: 6dae0b50b48abe61296c8ecf90068c1f
Tamanho da transferência: 100 KB
Espaço em disco estimado exigido: 7,3 MB
Tempo de construção estimado: menos que 0,1 UPC
gobject-introspection-1.74.0 e Systemd-252
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/accountsservice
Instale AccountsService executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr \ --buildtype=release \ -Dadmin_group=adm \ .. && ninja
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
ninja install
--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 criar a documentação da "API" da interface "D-Bus".
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
/usr/libexec
)
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).
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/acpid2/acpid-2.0.34.tar.xz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 seguinte breve exemplo suspenderá o sistema quando a tampa do "laptop" for fechada (exige pm-utils-1.4.1):
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/sbin/pm-suspend
EOF chmod +x /etc/acpi/lid.sh
Infelizmente, nem todos os computadores rotulam os eventos
"ACPI" da mesma maneira. Para determinar como seus 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.
Para iniciar o processo de segundo plano acpid na inicialização,
instale a unidade do "systemd" a partir do pacote blfs-systemd-units-20220720
executando o seguinte comando como o(a) usuário(a)
root
:
make install-acpid
Esse pacote usa ativação baseada em soquete e será iniciado quando algo precisar. Nenhum arquivo de unidade independente é fornecido para esse pacote.
é um aplicativo que escuta eventos "ACPI" e executa as regras que correspondem ao evento recebido |
|
é uma ferramenta simples que se conecta ao acpid e escuta os eventos |
|
é 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 |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://anduin.linuxfromscratch.org/BLFS/at/at_3.2.5.orig.tar.gz
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
Um MTA
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
/etc/at.allow
e /etc/at.deny
determinam quem consegue
submeter tarefas via "at" ou "batch".
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"
# Início /etc/pam.d/atd
auth required pam_unix.so
account required pam_unix.so
password required pam_unix.so
session required pam_unix.so
# Fim /etc/pam.d/atd
EOF
enfileira, examina ou deleta tarefas para execução posterior |
|
é o processo de segundo plano que executa tarefas enfileiradas para execução posterior |
|
lista as tarefas pendentes do(a) usuário(a), ou todas as tarefas, se superusuário(a) |
|
deleta tarefas, identificadas pelo número da tarefa delas |
|
executa tarefas enfileiradas para execução posterior |
|
é um script que executa comandos quando os níveis de carga do sistema permitem |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.kernel.org/pub/linux/daemons/autofs/v5/autofs-5.1.8.tar.xz
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
libtirpc-1.3.3 e rpcsvc-proto-1.4.3
nfs-utils-2.6.2, libnsl-2.0.0, libxml2-2.10.3, MIT Kerberos V5-1.20.1, OpenLDAP-2.6.4 (somente o cliente) e Cyrus SASL-2.1.28
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/autofs
Verifique se o suporte de núcleo "automounter" foi habilitado:
File systems --->
<*/M> Kernel automounter support (supports v3, v4, and v5) [CONFIG_AUTOFS_FS]
Opcionalmente, habilite as seguintes opções na configuração do núcleo:
File systems --->
[*] Network File Systems ---> [CONFIG_NETWORK_FILESYSTEMS]
<*/M> NFS client support [CONFIG_NFS_FS]
<*/M> SMB3 and CIFS support (advanced network filesystem) [CONFIG_CIFS]
Recompile e instale o novo núcleo, se necessário.
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
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
--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 MIT Kerberos
V5-1.20.1.
/etc/sysconfig/autofs.conf
,
/etc/autofs/auto.master
,
/etc/autofs/auto.misc
e
/etc/autofs/auto.net
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.
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 AUTOFS HOWTO, disponíveis.
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
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.
O pacote BlueZ contém a pilha de protocolos "Bluetooth" para Linux.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.kernel.org/pub/linux/bluetooth/bluez-5.66.tar.xz
Soma de verificação MD5 da transferência: 3f9496fedf878fba985e56713ed7752e
Tamanho da transferência: 2,2 MB
Espaço em disco estimado exigido: 149 MB (com os testes)
Tempo de construção estimado: 0,4 UPC (usando paralelismo = 4; com os testes)
dbus-1.14.6, GLib-2.74.5 e libical-3.0.16
docutils-0.19 (para gerar páginas de manual)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/bluez
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 --->
[ /*] Configure standard kernel features (expert users) [CONFIG_EXPERT]
(Note: if CONFIG_EXPERT is disabled, the following options will be
hidden and enabled implicitly. We DO NOT recommend to enable
CONFIG_EXPERT unless you are really an expert user.)
[*] Enable timerfd() system call [CONFIG_TIMERFD]
[*] Enable eventfd() system call [CONFIG_EVENTFD]
[*] Networking support ---> [CONFIG_NET]
<*/M> Bluetooth subsystem support ---> [CONFIG_BT]
<*/M> RFCOMM protocol support [CONFIG_BT_RFCOMM]
[*] RFCOMM TTY support [CONFIG_BT_RFCOMM_TTY]
<*/M> BNEP protocol support [CONFIG_BT_BNEP]
[*] Multicast filter support [CONFIG_BT_BNEP_MC_FILTER]
[*] Protocol filter support [CONFIG_BT_BNEP_PROTO_FILTER]
<*/M> HIDP protocol support [CONFIG_BT_HIDP]
Bluetooth device drivers --->
(Select the appropriate drivers for your Bluetooth hardware)
<*/M> RF switch subsystem support ---- [CONFIG_RFKILL]
-*- Cryptographic API --->
Crypto core or helper --- >
<*/M> User-space cryptographic algorithm configuration [CONFIG_CRYPTO_USER]
Block ciphers --->
<*/M> AES (Advanced Encryption Standard) [CONFIG_CRYPTO_AES]
AEAD (authenticated encryption with associated data) ciphers --->
<*/M> CCM (Counter with Cipher Block Chaining-MAC) [CONFIG_CRYPTO_CCM]
Hashes, digests, and MACs --->
<*/M> CMAC (Cipher-based MAC) [CONFIG_CRYPTO_CMAC]
Userspace interface --->
<*/M> Hash algorithms [CONFIG_CRYPTO_USER_API_HASH]
<*/M> Symmetric key cipher algorithms [CONFIG_CRYPTO_USER_API_SKCIPHER]
<*/M> AEAD cipher algorithms [CONFIG_CRYPTO_USER_API_AEAD]
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.66 && install -v -m644 doc/*.txt /usr/share/doc/bluez-5.66
--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 docutils-0.19 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.
/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
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
Systemd iniciará o processo de segundo plano "Bluetooth" somente quando um dispositivo "bluetooth" for detectado no sistema.
é um utilitário de configuração do "Bluemoon" |
|
é o aplicativo interativo de controle do "Bluetooth" |
|
é o processo de segundo plano "Bluetooth" |
|
fornece acesso à infraestrutura do monitor do subsistema "Bluetooth" para leitura de rastreamentos "HCI" |
|
é usado para converter um arquivo necessário para dispositivos "Broadcom" para o formato "hcd" ("Broadcom bluetooth firmware") |
|
é usado para enviar uma solicitação de eco "L2CAP" para o endereço "MAC" do "Bluetooth" fornecido em notação hexadecimal com pontos |
|
é um aplicativo de teste "L2CAP" |
|
é usado para testar as comunicações "RFCOMM" na pilha "Bluetooth" |
|
contém as funções de "API" do BlueZ 4 |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/containers/bubblewrap/releases/download/v0.7.0/bubblewrap-0.7.0.tar.xz
Soma de verificação MD5 da transferência: 37892167cbc3bd2a54b396033892e2ae
Tamanho da transferência: 148 KB
Espaço em disco estimado exigido: 3,1 MB (com os testes)
Tempo de construção estimado: menos que 0,1 UPC (com os testes)
libxslt-1.1.37 (para gerar páginas de manual) e libseccomp-2.5.4 (construído com ligações "python", para testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/bubblewrap
Instale Bubblewrap executando os seguintes comandos:
mkdir build && cd build && meson --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 ninja test
Agora, como o(a) usuário(a) root
:
ninja install
--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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.freedesktop.org/software/colord/releases/colord-1.4.6.tar.xz
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)
dbus-1.14.6, GLib-2.74.5, Little CMS-2.14, Polkit-122 e SQLite-3.40.1
gobject-introspection-1.74.0, libgudev-237, libgusb-0.4.5, Systemd-252 e Vala-0.56.4
gnome-desktop-43.2 e colord-gtk-0.3.0 (para construir as ferramentas de exemplo), DocBook-utils-0.6.14, GTK-Doc-1.33.2, libxslt-1.1.37, SANE-1.0.32, ArgyllCMS e Bash Completion
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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/colord -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 --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.
--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 Vala-0.56.4
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 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 GTK-Doc-1.33.2 disponível.
-Dman=false
: Essa
chave desabilita a construção de páginas de manual. Omita se
você tiver 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.
é a "Color Manager Profile Creation Tool" |
|
é uma ferramenta usada para corrigir metadados em perfis "ICC" |
|
despeja o conteúdo de um perfil "ICC" como texto legível por humanos |
|
é a "Color Manager Testing Tool" |
|
é um aplicativo em modo texto que te permite interagir com o "colord" na linha de comando |
|
contém as funções da "API" do Colord |
|
contém funções de API herdadas para compatibilidade com aplicativos mais antigos |
|
contém funções internas de "API" para os aplicativos incluídos com o Colord |
|
contém um colorímetro simples de hardware de exibição |
O pacote cpio contém ferramentas para arquivamento.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.gnu.org/gnu/cpio/cpio-2.13.tar.bz2
Transferência (FTP): ftp://ftp.gnu.org/gnu/cpio/cpio-2.13.tar.bz2
Soma de verificação MD5 da transferência: f3438e672e3fa273a7dc26339dd1eed6
Tamanho da transferência: 1,3 MB
Espaço em disco estimado exigido: 17 MB (com testes e documentos)
Tempo de construção estimado: 0,3 UPC (com testes e documentos)
texlive-20220321 (ou install-tl-unx)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/cpio
Primeiro, corrija um problema de construção ao usar o "GCC-10" e superior:
sed -i '/The name/,+2 d' src/global.c
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 texlive-20220321 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.13/html && install -v -m644 doc/html/* \ /usr/share/doc/cpio-2.13/html && install -v -m644 doc/cpio.{html,txt} \ /usr/share/doc/cpio-2.13
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.13
--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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.freedesktop.org/software/cups-pk-helper/releases/cups-pk-helper-0.2.7.tar.xz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/cups-pk-helper
Instale cups-pk-helper executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr .. && ninja
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
ninja install
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://dbus.freedesktop.org/releases/dbus/dbus-1.14.6.tar.xz
Soma de verificação MD5 da transferência: e809d7aa905ad82adeaf1d59db5445b1
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,7 UPC para os testes)
Bibliotecas do Xorg (para o aplicativo dbus-launch)
Para os testes: D-Bus Python-1.3.2, PyGObject-3.42.2 e Valgrind-3.20.0; para documentação: Doxygen-1.9.6, xmlto-0.0.28, Ducktype e Yelp Tools
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/dbus
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.6 \ --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
Os testes "dbus" não podem ser executados até que D-Bus Python-1.3.2 e PyGObject-3.42.2 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.
--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.
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 algum pacote instalar um arquivo .service
do D-Bus fora do diretório padrão
/usr/share/dbus-1/services
,
[então] esse diretório deveria ser adicionado à
configuração local da sessão. Por exemplo, /usr/local/share/dbus-1/services
pode ser
adicionado realizando os seguintes comandos como o(a)
usuário(a) root
:
cat > /etc/dbus-1/session-local.conf << "EOF"
<!DOCTYPE busconfig PUBLIC
"-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
<!-- Search for .service files in /usr/local -->
<servicedir>/usr/local/share/dbus-1/services</servicedir>
</busconfig>
EOF
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
Uma lista dos arquivos instalados, juntamente com as descrições curtas deles, pode ser encontrada em ../../../../lfs/view/11.3-systemd/chapter08/dbus.html#contents-dbus.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): http://fcron.free.fr/archives/fcron-3.2.1.src.tar.gz
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
Um MTA, editor de texto (o padrão é vi originário do pacote Vim-9.0.1273), Linux-PAM-1.5.2 e DocBook-utils-0.6.14
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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.
--without-sendmail
:
Por padrão, Fcron tentará
usar o comando sendmail originário de um
pacote 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.
</caminho/para/comando
"MTA">
--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.
</caminho/para/editor>
--with-dsssl-dir=
:
Possivelmente seja usado se você tiver DocBook-utils-0.6.14 instalado.
Atualmente, as folhas de estilo "dsssl" estão localizadas em
</caminho/para/folhas_de_estilo_dsssl>
/usr/share/sgml/docbook/dsssl-stylesheets-1.79
.
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.
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 <diretório>"
exit 1
fi
if [ ! -d $1 ]; then
echo "Não é um diretório: $1"
echo "Uso: run-parts <diretório>"
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
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
é o processo de segundo plano de agendamento |
|
é uma ferramenta de usuário(a) destinada a interagir com um processo de segundo plano fcron em execução |
|
instrui o fcron a reler as tabelas do Fcron |
|
é um aplicativo usado para instalar, editar, listar e remover as tabelas usadas pelo fcron |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://anduin.linuxfromscratch.org/BLFS/gpm/gpm-1.20.7.tar.bz2
Transferência (FTP): 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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/GPM
Habilite a seguinte opção na configuração do núcleo e recompile o núcleo se necessário:
Device Drivers --->
Input device support ---> [CONFIG_INPUT]
<*/M> Mouse interface [CONFIG_INPUT_MOUSEDEV]
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
./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.
Para iniciar o processo de segundo plano gpm na inicialização,
instale a unidade do "systemd" a partir do pacote blfs-systemd-units-20220720
executando o seguinte comando como o(a) usuário(a)
root
:
make install-gpm
/etc/gpm-root.conf
e
~/.gpm-root
: Os arquivos de
configuração gpm-root padrão e de
usuário(a) individual.
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 <lista de parâmetros>
EOF
é um mecanismo de segurança usado para desabilitar o "buffer" de colagem |
|
é um aplicativo simples que informa os botões do mouse sendo pressionados e liberados |
|
é um aplicativo simples que informa as coordenadas do mouse |
|
é usado para informar as versões da biblioteca GPM e do servidor |
|
é um utilitário de recortar e colar e servidor de mouse para consoles virtuais |
|
é um manuseador padrão para gpm. É usado para desenhar menus na janela raiz |
|
é 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 |
|
é um aplicativo para informar eventos de mouse |
|
é uma ferramenta para determinar o tipo de mouse e o dispositivo ao qual está conectado |
|
contém as funções da "API" para acessar o processo de segundo plano GPM |
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 adequadamente usando uma plataforma LFS 11.3.
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.
Transferência (HTTP): https://downloads.sourceforge.net/hdparm/hdparm-9.65.tar.gz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
O pacote LSB-Tools inclui ferramentas para conformidade com "Linux Standards Base" (LSB).
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/lfs-book/LSB-Tools/releases/download/v0.10/LSB-Tools-0.10.tar.gz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
A configuração para esse pacote foi feita no
LFS e no
Systemd. O arquivo /etc/lsb-release
já deveria existir.
Certifique-se de que a entrada "DISTRIB_CODENAME" tenha sido
configurada adequadamente.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/lm-sensors/lm-sensors/archive/V3-6-0/lm-sensors-3-6-0.tar.gz
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
RRDtool (exigido para construir o aplicativo sensord) e dmidecode (tempo de execução)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/lm_sensors
Acertar a configuração do seu núcleo é um processo iterativo que possivelmente exija que você recompile o seu núcleo algumas vezes. A maneira mais simples de fazer isso é a de começar habilitando os módulos e depois compilar tudo o que possivelmente seja necessário para o "Lm Sensors" como um módulo:
[*] Enable loadable module support ---> [CONFIG_MODULES]
Device Drivers --->
[*] PCI support ---> [CONFIG_PCI]
I2C support --->
<*/M> I2C device interface [CONFIG_I2C_CHARDEV]
I2C Hardware Bus support --->
<M> (configure all of them as modules)
<*/M> Hardware Monitoring support ---> [CONFIG_HWMON]
<M> (configure all of them as modules)
Recompile seu núcleo e reinicialize no novo núcleo. Não se esqueça de make modules_install. Voltaremos ao núcleo na seção "Configurando" abaixo.
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
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 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.
Para descobrir quais sensores de hardware seu sistema tem,
emita o seguinte comando como o(a) usuário(a) root
:
sensors-detect
Os módulos apropriados deveriam ter sido carregados e um resumo ser exibido no final. Agora você sabe o que é necessário e pode recompilar seu núcleo para habilitar apenas as opções que necessitar (ou seja, não habilite os módulos que não consegue usar).
é 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 |
|
é 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) |
|
é um pequeno aplicativo auxiliar para configurar registros visíveis por meio do barramento "ISA" |
|
testa as saídas geradas de modulação por largura de pulso ("PWM") dos sensores e configura o controle do ventilador |
|
imprime as leituras atuais de todos os "chips" sensores |
|
é um script Perl para converter arquivos de configuração de versão 2 do lm-sensors para funcionar com a versão 3 |
|
é 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 |
|
(opcional) é um processo de segundo plano que consegue ser usado para registrar periodicamente as leituras do sensor |
|
contém as funções da "API" do lm_sensors |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/logrotate/logrotate/releases/download/3.21.0/logrotate-3.21.0.tar.xz
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)
Um MTA (tempo de execução)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): http://ftp.midnight-commander.org/mc-4.8.29.tar.xz
Transferência (FTP): ftp://ftp.osuosl.org/pub/midnightcommander/mc-4.8.29.tar.xz
Soma de verificação MD5 da transferência: 7f9339b6b2167a7920ac29e133b9c594
Tamanho da transferência: 2,3 MB
Espaço em disco estimado exigido: 67 MB (adicionar 86 MB para os testes)
Tempo de construção estimado: 0,3 UPC (usando paralelismo=4; adicionar 0,2 UPC para os testes)
Doxygen-1.9.6, GPM-1.20.7, libssh2-1.10.0, Ruby-3.2.1, Samba-4.17.5, UnZip-6.0, um ambiente gráfico e Zip-3.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.freedesktop.org/software/ModemManager/ModemManager-1.18.12.tar.xz
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)
gobject-introspection-1.74.0, libmbim-1.26.4, libqmi-1.30.8, Polkit-122 e Vala-0.56.4
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/notification-daemon/3.20/notification-daemon-3.20.0.tar.xz
Transferência (FTP): 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
GTK+-3.24.36 e libcanberra-0.30 (Construído com suporte a GTK+-3.24.36).
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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 xfce4-notifyd-0.8.1.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/p7zip-project/p7zip/archive/v17.04/p7zip-17.04.tar.gz
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)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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/Common/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
Se usar técnicas "DESTDIR", [então] use "DEST_DIR" invés.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): http://www.mirbsd.org/MirOS/dist/mir/cpio/paxmirabilis-20201030.tgz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/pax
Instale o "pax" executando os seguintes comandos:.
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
:
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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://mj.ucw.cz/download/linux/pci/pciutils-3.9.0.tar.gz
Soma de verificação MD5 da transferência: 357496ae1652aac66cad0d2de2d831d0
Tamanho da transferência: 888 KB
Espaço em disco estimado exigido: 5,5 MB
Tempo de construção estimado: menos que 0,1 UPC
cURL-7.88.1, Wget-1.21.3 ou Lynx-2.8.9rel.1 (para o script "update-pciids" funcionar corretamente).
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/pciutils
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
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
.
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 Which-2.21
para encontrar o cURL-7.88.1, Lynx-2.8.9rel.1 ou o Wget-1.21.3 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
é um utilitário para exibir informações relativas a todos os barramentos "PCI" no sistema e todos os dispositivos conectados a eles |
|
é um utilitário para consultar e configurar dispositivos "PCI" |
|
busca a versão atual da lista de "IDs" de "PCI". |
|
é uma biblioteca que permite que aplicativos acessem o subsistema "PCI" |
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.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://pm-utils.freedesktop.org/releases/pm-utils-1.4.1.tar.gz
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
xmlto-0.0.28 (para gerar páginas de manual)
Hdparm-9.65, Wireless Tools-29, ethtool e vbetool
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/pm-utils
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 [CONFIG_SUSPEND]
<*> Hibernation (aka 'suspend to disk') [CONFIG_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/<partição_de_troca>" 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.
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 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
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=
(por
exemplo, partição_de_troca
resume=/dev/sda1
) à
linha do núcleo no arquivo de configuração /boot/grub/grub.cfg
.
é um script que determina se o sistema está funcionando com eletricidade "CA" (em vez de uma bateria) |
|
é 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) |
|
é um script que verifica se os recursos de gerenciamento de eletricidade, como suspensão e hibernação, são suportados |
|
é um script que coloca o computador no modo de economia de eletricidade (baixo consumo de eletricidade) |
|
é 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") |
|
é 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 é 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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.librdf.org/source/raptor2-2.0.15.tar.gz
Soma de verificação MD5 da transferência: a39f6c07ddb20d7dd2ff1f95fa21e2cd
Tamanho da transferência: 1,9 MB
Espaço em disco estimado exigido: 28 MB (1 MB adicionais para os testes)
Tempo de construção estimado: 0,2 UPC (0,5 UPC adicionais para os testes)
GTK-Doc-1.33.2, ICU-72.1 e libyajl
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/raptor
Primeiro, aplique um remendo que corrige alguns problemas de segurança:
patch -Np1 -i ../raptor-2.0.15-security_fixes-1.patch
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
--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 ICU-72.1 e desejar construir o
Raptor com suporte a ele.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.librdf.org/source/rasqal-0.9.33.tar.gz
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)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.librdf.org/source/redland-1.0.17.tar.gz
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
Base de Dados Berkeley-5.3.28, libiodbc-3.52.15, SQLite-3.40.1, MariaDB-10.6.12 ou MySQL, PostgreSQL-15.2, virtuoso e 3store
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://sg.danny.cz/sg/p/sg3_utils-1.47.tar.xz
Soma de verificação MD5 da transferência: c9e95d3b0e106514aefaae17f58a30f9
Tamanho da transferência: 1,0 MB
Espaço em disco estimado exigido: 21 MB
Tempo de construção estimado: 0,2 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
adiciona ou remove dispositivos "SCSI" sem precisar reinicializar |
|
acessa informações de nível de registro "SCSI" do Linux |
|
verifica o suporte do dispositivo "SCSI" para comandos obrigatórios |
|
faz o comando "SCSI READ CAPACITY" em discos |
|
faz o "SCSI TEST UNIT READY" em dispositivos |
|
verifica o suporte de tradução "SCSI" para "ATA" (SAT) do dispositivo |
|
inicia um ou mais discos "SCSI" |
|
interrompe um ou mais discos "SCSI" |
|
busca a temperatura de um dispositivo "SCSI" |
|
realiza um comando "SCSI BACKGROUND CONTROL" em um dispositivo para realizar "operações avançadas em segundo plano" |
|
envia o comando "SCSI COMPARE AND WRITE" para o dispositivo |
|
envia o comando "SCSI RECEIVE COPY RESULTS" (relacionado ao "XCOPY") |
|
copia dados de e para arquivos e dispositivos. Especializado para dispositivos que entendem o conjunto de comandos "SCSI" |
|
pega dados de detecção "SCSI" em binário ou como uma sequência de bytes hexadecimais "ASCII" e os decodifica |
|
muda a titularidade de propriedade de um "LUN" de outro processador de serviço para este |
|
formata ou redimensiona um disco "SCSI" (talvez mude o tamanho de bloco dele) |
|
envia um comando "SCSI GET CONFIGURATION" ("MMC-4 +") |
|
envia um comando "SCSI GET PHYSICAL ELEMENT STATUS" para um dispositivo |
|
envia o comando "SCSI GET LBA STATUS" |
|
envia um comando "SCSI REPORT" ou "SET IDENTIFYING INFORMATION" |
|
acessa informações da página de modo para um dispositivo "SCSI" (ou "ATAPI") |
|
envia um comando "SCSI INQUIRY" ou "ATA IDENTIFY (PACKET) DEVICE" e gera a resposta |
|
acessa páginas de registro com o comando "SCSI LOG SENSE" |
|
envia o comando "SCSI REPORT LUNS" |
|
exibe o mapeamento entre o "sg" do Linux e outros dispositivos "SCSI" |
|
mapeia um arquivo especial para um dispositivo "SCSI" genérico (sg) (ou vice-versa) |
|
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" |
|
lê páginas de modo com o comando "SCSI MODE SENSE" |
|
informa informações relativas a comandos suportados "SCSI" ou funções de gerenciamento de tarefas |
|
copia dados de e para arquivos e dispositivos. Especializado para dispositivos que entendem o conjunto de comandos "SCSI" |
|
envia um comando "SCSI PERSISTENT RESERVE (IN ou OUT)" para manipular registros e reservas |
|
envia um comando "SCSI PREVENT ALLOW MEDIUM REMOVAL" |
|
envia um comando "SCSI" arbitrário para um dispositivo |
|
lê dados usando o comando "SCSI READ BUFFER" |
|
exibe ou modifica a página do controlador redundante "RDAC" |
|
lê blocos de dados continuamente a partir do mesmo deslocamento |
|
realiza um comando "SCSI READ ATTRIBUTE" em um dispositivo |
|
envia um comando "SCSI READ BLOCK LIMITS" |
|
envia um comando "SCSI READ BUFFER" |
|
envia um comando "SCSI READ CAPACITY" |
|
envia um comando "SCSI READ LONG" |
|
envia um comando "SCSI REASSIGN BLOCKS" |
|
envia um comando "SCSI REPORT REFERRALS" |
|
envia um comando "SCSI REPORT PROVISIONING INITIALIZATION PATTERN" |
|
envia um comando "SCSI REPORT ZONES" |
|
envia um ou mais comandos "SCSI REQUEST SENSE" |
|
envia uma redefinição de dispositivo, destino, barramento ou anfitrião "SCSI"; ou verifica o estado de redefinição |
|
envia um comando "SCSI RESET WRITE POINTER" |
|
envia um comando "SCSI READ MEDIA SERIAL NUMBER" |
|
envia um comando "SCSI REPORT TARGET PORT GROUPS" |
|
busca informações de situação a partir de um dispositivo "SCSI" "Accessed Fault-Tolerant Enclosure" ("SAF-TE") |
|
envia um comando "SCSI SANITIZE" |
|
envia um comando "ATA IDENTIFY (PACKET) DEVICE" por meio de uma camada de tradução "SCSI" para "ATA" ("SAT") |
|
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" |
|
envia um comando "ATA READ LOG EXT" por meio de uma camada de tradução "SCSI" para "ATA" ("SAT") |
|
envia um comando "ATA SET FEATURES" por meio de uma camada de tradução "SCSI" para "ATA" ("SAT") |
|
faz uma varredura de dispositivos "sg" (ou dados dispositivos "SCSI"/"ATAPI"/"ATA") e imprime os resultados |
|
realiza um comando "SCSI SEEK" ou "PRE-FETCH" em um dispositivo e o cache dele |
|
realiza um comando "SCSI SEND DIAGNOSTIC" |
|
envia controles e busca a situação atual a partir de um dispositivo "SCSI Enclosure Services" ("SES") |
|
envia microcódigo para um gabinete "SCSI" |
|
envia um comando "SCSI START STOP UNIT" para iniciar, parar, carregar ou ejetar o meio |
|
envia um comando "SCSI SET TARGET PORT GROUPS" |
|
realiza um comando "SCSI STREAM CONTROL" ou "GET STREAM STATUS" em um dispositivo para abrir ou fechar um fluxo de Entrada/Saída |
|
envia um comando "SCSI" para sincronizar o cache |
|
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 |
|
informa ou configura o carimbo de tempo em um dispositivo "SCSI" |
|
envia um ou mais comandos "SCSI TEST UNIT READY" |
|
envia um comando "SCSI UNMAP" |
|
invoca comando(s) "SCSI VERIFY" em um dispositivo de bloco |
|
busca páginas de dados vitais do produto ("VPD") usando um comando "SCSI INQUIRY" |
|
envia um comando "SCSI WRITE BUFFER" |
|
envia um comando "SCSI WRITE LONG" |
|
envia um comando "SCSI WRITE SAME" |
|
envia um comando "SCSI WRITE AND VERIFY" |
|
realiza comandos "SCSI WRITE" em um dispositivo |
|
escreve páginas de modo |
|
copia dados de e para arquivos e dispositivos usando "SCSI EXTENDED COPY" ("XCOPY") |
|
realiza comandos "SCSI ZONE" em um dispositivo, tais como "OPEN", "CLOSE", "FINISH" ou "SEQUENTIALIZE" |
|
contém as funções de "API" do sg3_utils |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): http://sebastien.godard.pagesperso-orange.fr/sysstat-12.7.2.tar.xz
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
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 Fcron-3.2.1.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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-collect.service && install -v -m644 cron/sysstat-collect.timer /usr/lib/systemd/system/sysstat-collect.timer && install -v -m644 cron/sysstat-summary.service /usr/lib/systemd/system/sysstat-summary.service && install -v -m644 cron/sysstat-summary.timer /usr/lib/systemd/system/sysstat-summary.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
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
.
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.
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".
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
exibe estatísticas relativas a operações de leitura e escrita em sistemas de arquivos "CIFS" |
|
informa estatísticas de "CPU" e estatísticas de entrada/saída para dispositivos e partições |
|
escreve atividades para cada processador disponível |
|
é usado para monitorar tarefas individuais atualmente sendo gerenciadas pelo núcleo Linux |
|
é 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 |
|
é usado para exibir o conteúdo dos contadores de atividades cumulativas eleitos no sistema operacional |
|
é usado para monitorar a atividade de unidades de fita conectadas a um sistema |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/systemd/systemd/archive/v252/systemd-252.tar.gz
Soma de verificação MD5 da transferência: b9456750a212dd54d81caeb3c38134b6
Tamanho da transferência: 11 MB
Espaço em disco estimado exigido: 307 MB (com os testes)
Tempo de construção estimado: 2,8 UPC (com os testes)
btrfs-progs-6.1.3, cURL-7.88.1, cryptsetup-2.4.3, git-2.39.2, GnuTLS-3.8.0, iptables-1.8.9, libgcrypt-1.10.1, libidn2-2.3.4, libpwquality-1.4.5, libseccomp-2.5.4, libxkbcommon-1.5.0, make-ca-1.12, p11-kit-0.24.1, pcre2-10.42, qemu-7.2.0, qrencode-4.1.1, rsync-3.2.7, sphinx-6.1.3, Valgrind-3.20.0, zsh-5.9 (para as completações do "zsh"), gnu-efi, kexec-tools, libbpf, libdw, libfido2, libmicrohttpd, lz4, quota-tools e tpm2-tss
docbook-xml-4.5, docbook-xsl-nons-1.79.2, libxslt-1.1.37 e lxml-4.9.2 (para construir o índice das páginas de manual do "systemd")
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/systemd
Primeiro, corrija um problema de segurança no "systemd-coredump":
patch -Np1 -i ../systemd-252-security_fix-1.patch
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 --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 \ -Ddocdir=/usr/share/doc/systemd-252 \ .. && ninja
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: PATH+=:/usr/sbin ninja test.
Agora, como o(a) usuário(a) root
:
ninja install
--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 cryptsetup-2.4.3 e libpwquality-1.4.5 instalados e, em
seguida, mude "false" para "true" no comando "meson" acima.
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
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.
Uma lista dos arquivos instalados, juntamente com as descrições curtas deles, pode ser encontrada em ../../../../lfs/view/11.3-systemd/chapter08/systemd.html#contents-systemd.
Listados abaixo estão os aplicativos recém-instalados, juntamente com descrições curtas.
é 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 |
|
É usado para registrar ou remover um sistema da criptografia completa do disco, bem como configurar e consultar chaves privadas e chaves de recuperação |
|
inspeciona usuários(as), grupos e associações de grupos |
|
é um módulo "PAM" usado para registrar sessões de usuário(a) com o gerenciador de "login" do systemd, systemd-logind |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/storaged-project/udisks/releases/download/udisks-2.9.4/udisks-2.9.4.tar.bz2
Soma de verificação MD5 da transferência: 576e057d2654894fab58f0393d105b7b
Tamanho da transferência: 1,6 MB
Espaço em disco estimado exigido: 52 MB (com os testes)
Tempo de construção estimado: 0,3 UPC (com os testes)
libatasmart-0.19, libblockdev-2.28, libgudev-237, libxslt-1.1.37 e Polkit-122
btrfs-progs-6.1.3, dosfstools-4.2, gptfdisk-1.0.9, mdadm-4.2 e xfsprogs-6.1.1
D-Bus Python-1.3.2 (para os testes de integração), GTK-Doc-1.33.2, LVM2-2.03.18, PyGObject-3.42.2 (para os testes de integração), exFAT e libiscsi
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/udisks2
Instale UDisks executando os seguintes comandos:
./configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --disable-static && 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
--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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.rarlab.com/rar/unrarsrc-6.2.6.tar.gz
Soma de verificação MD5 da transferência: 6c68f2bbcd9f06f9d37801ad4256e680
Tamanho da transferência: 244 KB
Espaço em disco estimado exigido: 2,3 MB
Tempo de construção estimado: 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/unrar
Esse pacote extrai o "tarball" para o diretório não
versionado unrar
e não para o
diretório esperado unrar-6.2.6
.
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
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 adequadamente usando uma plataforma LFS 11.3.
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 O Aplicativo Assume a Codificação da página Problemas Relacionados à Localidade.
Transferência (HTTP): https://downloads.sourceforge.net/infozip/unzip60.tar.gz
Transferência (FTP): ftp://ftp.info-zip.org/pub/infozip/src/unzip60.tgz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/unzip
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 WinZip enquanto executa o emulador de "Windows" Wine.
2) Use bsdtar -xf oriundo de libarchive-3.6.2 para descompactar o arquivamento "ZIP". Em seguida, corrija os danos causados aos nomes dos arquivos usando a ferramenta convmv (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 \
</caminho/para/arquivos/descomprimidos>
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
make -f unix/Makefile generic: Esse alvo começa executando um script de configuração (ao contrário dos alvos mais antigos, como "linux" e "linux_noasm") que 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 os quais sejam maiores que 2 GB quando extraídos.
permite que a saída gerada dos comandos unzip seja redirecionada |
|
lista, testa ou extrai arquivos a partir de um
arquivamento |
|
é um toco auto-extraível que pode ser preposto a um
arquivamento |
|
pesquisa arquivos em um arquivamento |
|
produz informações técnicas relativas aos arquivos
em um arquivamento |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://gitlab.freedesktop.org/upower/upower/-/archive/v1.90.0/upower-v1.90.0.tar.bz2
Soma de verificação MD5 da transferência: 4fba71838a9ba0db6f140418eddbe2b7
Tamanho da transferência: 128 KB
Espaço em disco estimado exigido: 4,9 MB (adicionar 1,3 MB para os testes)
Tempo de construção estimado: menos que 0,1 UPC (usando paralelismo=4, adicionar 0,6 UPC para os testes)
libgudev-237, libusb-1.0.26 e Polkit-122
GTK-Doc-1.33.2, libxslt-1.1.37, docbook-xsl-nons-1.79.2, PyGObject-3.42.2, dbusmock-0.28.7, umockdev-0.17.16 (para parte da suíte de teste) e libimobiledevice
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/upower
Habilite as seguintes opções na configuração do núcleo e recompile o núcleo, se necessário:
General Setup --->
[*] Namespaces support ---> [CONFIG_NAMESPACES]
[*] User namespace [CONFIG_USER_NS]
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 --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".
Agora, como o(a) usuário(a) root
:
ninja install
-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
libxslt-1.1.37 e docbook-xsl-nons-1.79.2
instalados e desejar construir as páginas de manual.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/gregkh/usbutils/archive/v015/usbutils-015.tar.gz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/usbutils
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 Wget-1.21.3, 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.
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/usb.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
é 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) |
|
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) |
|
é 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 |
|
é usado para despejar descritores de informes e fluxos a partir de interfaces "HID" (dispositivo de interface humana) de dispositivos "USB" |
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.
A primeira opção é a de instalar o atual pacote GNU which.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.gnu.org/gnu/which/which-2.21.tar.gz
Transferência (FTP): 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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/infozip/zip30.tar.gz
Transferência (FTP): 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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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.
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 é uma versão antiga do Autoconf . Essa versão antiga aceita chaves que não são válidas em versões mais recentes. Agora que o firefox começou a usar o python2 para configuração, essa versão antiga é exigida mesmo se os arquivos de configuração não tenham sido mudados.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.gnu.org/gnu/autoconf/autoconf-2.13.tar.gz
Transferência (FTP): 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)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/autoconf213
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
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.
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 |
|
é uma ferramenta para criar arquivos de modelo de declarações C #define para o "configure" usar |
|
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 |
|
Pode ser usado como uma etapa preliminar na criação
de um arquivo |
|
Modifica um arquivo |
|
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 pode ser usado para gerar ligações C para código Rust.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/eqrion/cbindgen/archive/v0.24.3/cbindgen-0.24.3.tar.gz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/cbindgen
Conforme com a maioria dos pacotes Rust, isso precisa de uma conexão de rede de comunicação para verificar as versões atuais das caixas de carga necessárias e para baixá-las, caso ainda não estejam presentes.
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/
GNU Clisp é uma implementação "Common Lisp" que inclui um interpretador, compilador, depurador e muitas extensões.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.gnu.org/gnu/clisp/latest/clisp-2.49.tar.bz2
Transferência (FTP): 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)
Remendo opcional: https://www.linuxfromscratch.org/patches/blfs/11.3/clisp-2.49-readline7_fixes-1.patch (exigido se construir contra a "libffcall")
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/clisp
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
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.
/usr/lib/clisp-2.49/base/
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cmake.org/files/v3.25/cmake-3.25.2.tar.gz
Soma de verificação MD5da transferência: 24cde56ea2dc5e22d7f5d1abc7a82258
Tamanho da transferência: 10 MB
Espaço em disco estimado exigido: 354 MB (adicionar 1,1 GB para os testes)
Tempo de construção estimado: 1,6 UPC (adicionar 3,2 UPC para os testes, ambos usando paralelismo=4)
cURL-7.88.1, libarchive-3.6.2, libuv-1.44.2 e nghttp2-1.52.0
GCC-12.2.0 (para "gfortran"), git-2.39.2 (para uso durante testes), Mercurial-6.3.2 (para uso durante testes), Qt-5.15.8 (para a "GUI" baseada em "Qt"), sphinx-6.1.3 (para construir documentos), Subversion-1.14.2 (para testagem) e rhash
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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-librhash \ --docdir=/share/doc/cmake-3.25.2 && make
Para testar os resultados, emita: LC_ALL=en_US.UTF-8 bin/ctest -j<N>
-O
cmake-3.25.2-test.log, onde <N>
é 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. Um teste, "BundleUtilities", é conhecido por falhar.
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
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
:
Essa chave remove 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
dependência recomendada não estiver instalada. Uma versão
empacotada da dependência será usada em lugar dele.
--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.
é uma estrutura de interação direta com o(a) usuário(a) baseada em "curses" para cmake |
|
é o gerador de "makefile" |
|
(opcional) é a estrutura de interação direta com o(a) usuário(a) baseada em Qt para o cmake |
|
é o aplicativo de empacotamento CMake |
|
é um utilitário de teste para árvores de construção geradas pelo "cmake" |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://doxygen.nl/files/doxygen-1.9.6.src.tar.gz
Soma de verificação MD5 da transferência: 5f7ab15c8298d013c5ef205a4febc7b4
Tamanho da transferência: 5,1 MB
Espaço em disco estimado exigido: 217 MB (com os testes)
Tempo de construção estimado: 1,4 UPC (usando paralelismo = 4; com os testes)
Graphviz-7.1.0, ghostscript-10.00.0, libxml2-2.10.3 (exigido para os testes), LLVM-15.0.7 (com "clang"), Python-2.7.18, Qt-5.15.8 (para "doxywizard"), texlive-20220321 (ou install-tl-unx), xapian-1.4.22 (para "doxyindexer") e javacc
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/doxygen
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.
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.6 -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 ....
-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".
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 Python-2.7.18 instalado. Se precisar de fórmulas para criar documentação em "PDF", então você precisa ter o texlive-20220321 instalado. Se precisar de fórmulas para converter arquivos "PostScript" para "bitmaps", então você precisa ter o ghostscript-10.00.0 instalado.
é 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 |
|
é uma estrutura "GUI" de interação direta com o(a) usuário(a) para configurar e executar doxygen |
|
gera um índice de pesquisa chamado |
|
é um aplicativo "CGI" para pesquisar os dados indexados por doxyindexer |
O pacote GCC contém a coleção de compiladores "GNU". Esta página descreve a instalação de compiladores para as seguintes linguagens: "C", "C++", "Fortran", "Objective C", "Objective C++" e "Go". Como "C" e "C++" são instalados no LFS, esta página é tanto para atualizar "C" e "C++" quanto para instalar compiladores adicionais.
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 é
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 adequadamente usando uma plataforma LFS 11.3.
Se você estiver atualizando o GCC a partir de qualquer outra versão anterior ao 12.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.
Alguns cabeçalhos do sistema precisam ser corrigidos para
serem usados com o "GCC". Isso é feito durante a instalação
do "GCC", e os cabeçalhos “corrigidos” são instalados em
/usr/lib/gcc/<trio da
máquina>/<GCC version>/include-fixed
. Isso
é inofensivo se o "GCC" for construído durante o estágio
LFS. Mas se você reinstalar o "GCC" no BLFS, [então] alguns
dos pacotes do BLFS possivelmente sejam “corrigidos”. Se
um desses pacotes for reinstalado posteriormente, [então]
os cabeçalhos “corrigidos” não serão atualizados, o
que possivelmente leve a incompatibilidades de versões.
Caso isso aconteça, os cabeçalhos “corrigidos”
precisam ser atualizados executando (como root
): /usr/libexec/gcc/x86_64-pc
-linux-gnu/12.2.0/install-tools/mkheaders .
O trio da máquina possivelmente seja diferente em um
sistema de 32 bits.
Transferência (HTTP): https://ftp.gnu.org/gnu/gcc/gcc-12.2.0/gcc-12.2.0.tar.xz
Transferência (FTP): ftp://ftp.gnu.org/gnu/gcc/gcc-12.2.0/gcc-12.2.0.tar.xz
Soma de verificação MD5 da transferência: 73bafd0af874439dcdb9fc063b6fb069
Tamanho da transferência: 81 MB
Espaço em disco estimado exigido: 10,5 GB (2,4 GB instalado com todas as linguagens listadas; adicionar 1,3 GB para os testes)
Tempo de construção estimado: 32 UPC (adicionar 66 UPC para os testes; ambos com paralelismo=4)
GDB-13.1, Valgrind-3.20.0 (para os testes) e ISL (para habilitar a otimização "graphite")
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gcc
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 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 (../../../../lfs/view/11.3-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 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 \ --enable-languages=c,c++,fortran,go,objc,obj-c++ && make
Se você tiver instalado pacotes adicionais, como Valgrind e GDB, [então] 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-12.2.0", cerca de sessenta (60) "FAIL" ocorrem no conjunto “guality”, bem como falhas diversas em todo o resto da suíte de teste, quinze dos quais já estão presentes nos testes "GCC" do LFS. Se todos os compiladores acima forem construídos, [então] existirão em torno de oitenta (80) falhas inesperadas em mais que quatrocentos e oitenta e dois mil (482.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/12.2.0/include{,-fixed}
Alguns pacotes esperam encontrar o pré-processador "C" em
/lib
ou possivelmente se
refiram ao compilador "C" sob o nome cc. Os seguintes vinculos
simbólicos não são necessários se você tiver seguido as
instruções do LFS, pois eles já foram criados. Se você não os
tiver em seu sistema, [então] emita como o(a) usuário(a)
root
:
ln -v -sf ../usr/bin/cpp /lib && ln -v -sf gcc /usr/bin/cc && install -v -dm755 /usr/lib/bfd-plugins && ln -sfv ../../libexec/gcc/$(gcc -dumpmachine)/12.2.0/liblto_plugin.so /usr/lib/bfd-plugins/
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 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. 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++
:
Esse comando identifica quais linguagens construir. Você
possivelmente modifique esse comando para remover linguagens
indesejadas. Outras linguagens podem ser adicionadas,
incluindo "ADA", "D", "BRIG" (adicionar brig
à lista de linguagens
habilitadas), um formato binário para "Heterogeneous System
Architecture Intermediate Language" ("HSAIL") e "JIT"
(adicionar jit
à
lista de linguagens habilitadas), uma biblioteca que pode ser
vinculada a interpretadores que desejam gerar código de
máquina “em
voo” em tempo de execução. Eles não foram
testados pelos(as) desenvolvedores(as) do BLFS.
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
.
Alguns nomes e descrições de aplicativos e bibliotecas não estão listados aqui, mas podem ser encontrados na seção do LFS para "GCC", já que foram inicialmente instalados durante a construção do LFS.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/ivmai/bdwgc/releases/download/v8.2.2/gc-8.2.2.tar.gz
Soma de verificação MD5 da transferência: 787177b1b15aa19ffa0d61d8f508b69d
Tamanho da transferência: 1,1 MB
Espaço em disco estimado exigido: 11 MB (com os testes)
Tempo de construção estimado: 0,3 UPC (com os testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gc
Instale GC executando os seguintes comandos:
./configure --prefix=/usr \ --enable-cplusplus \ --disable-static \ --docdir=/usr/share/doc/gc-8.2.2 && 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
--docdir=/usr/share/doc/gc-8.2.2
:
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.
contém uma biblioteca de sequências de caracteres baseada em árvore |
|
contém uma interface "C" para o coletor conservador de lixo, projetada principalmente para substituir a função "malloc" da "C" |
|
contém uma interface "C++" para o coletor conservador de lixo |
|
contém uma interface "C++" para lançar alocações incorretas |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.gnu.org/gnu/gdb/gdb-13.1.tar.xz
Transferência (FTP): ftp://ftp.gnu.org/gnu/gdb/gdb-13.1.tar.xz
Soma de verificação MD5 da transferência: 4aaad768ff2585464173c091947287ec
Tamanho da transferência: 23 MB
Espaço em disco estimado exigido: 1,1 GB (adicionar 406 MB para documentos; adicionar 373 MB para os testes)
Tempo de construção estimado: 2,1 UPC (Usando paralelismo=4; adicionar 0,5 UPC para documentos; adicionar 20 UPC para os testes)
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)
Doxygen-1.9.6, GCC-12.2.0 ("ada", "gfortran" e "go" são usadas para testes), Guile-3.0.9, Python-2.7.18, rustc-1.67.1 (usado para alguns testes), Valgrind-3.20.0 e SystemTap (tempo de execução, usado para testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gdb
Instale 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 Doxygen-1.9.6, 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 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 trinta e três (33) falhas inesperadas em mais de cento e seis mil (106.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
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.1 && rm -rf gdb/doc/doxy/xml && cp -Rv gdb/doc/doxy /usr/share/doc/gdb-13.1
--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 o GDB a
usar o "Python" 3. Remova essa chave se você instalou o
Python-2.7.18 e deseja usá-lo em vez do
"Python" 3.
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 Mercurial-6.3.2, Bazaar, Subversion-1.14.2, CVS, Perforce e Team Foundation Server.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.kernel.org/pub/software/scm/git/git-2.39.2.tar.xz
Soma de verificação MD5 da transferência: 32d34dc65ae0955cc68c7152b5ca8b13
Tamanho da transferência: 6,8 MB
Espaço em disco estimado exigido: 392 MB (com a documentação baixada; adicionar 18 MB para construir a documentação)
Tempo de construção estimado: 0,3 UPC (com paralelismo=4; adicionar 0,4 UPC para construir a documentação e 1,6 UPC (dependente da velocidade do disco) para testes, ambos com paralelismo=4)
https://www.kernel.org/pub/software/scm/git/git-manpages-2.39.2.tar.xz (não necessário se você tiver instalado asciidoc-10.2.0, xmlto-0.0.28 e preferir reconstrui-las)
https://www.kernel.org/pub/software/scm/git/git-htmldocs-2.39.2.tar.xz e outros documentos (não necessários se você tiver instalado asciidoc-10.2.0 e desejar reconstruir a documentação).
cURL-7.88.1 (necessário para usar Git por meio de "HTTP", "HTTPS", "FTP" or "FTPS")
GnuPG-2.4.0 (tempo de execução,
possivelmente seja usado para assinar "commits" ou "tags" do
Git ou para verificar as
assinaturas deles), OpenSSH-9.2p1 (tempo de execução,
necessário para usar Git por
meio de "SSH"), pcre2-10.42 (ou o obsoleto PCRE-8.45), em ambos os
casos configurados com --enable-jit
, Subversion-1.14.2
com ligações "Perl" (tempo de execução, para git svn), Tk-8.6.13 ("gitk", um
visualizador simples de repositórios do Git, usa Tk em tempo de execução), Valgrind-3.20.0, Authen::SASL e
MIME::Base64
(ambos em tempo de execução, para git send-email) e IO-Socket-SSL-2.081 (tempo de
execução, para git
send-email se conectar a um servidor "SMTP"
com encriptação "SSL")
xmlto-0.0.28 e asciidoc-10.2.0 , e também dblatex (para a versão "PDF" do manual de usuário(a)) e docbook2x para criar páginas "info"
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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 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 asciidoc-10.2.0 e 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 test. Se executada como um(a) usuário(a) normal, [então] zero (0) testes deveriam ser informados como falhos no resumo final.
Agora, como o(a) usuário(a) root
:
make perllibdir=/usr/lib/perl5/5.36/site_perl install
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.39.2 install-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.39.2.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.39.2 && tar -xf ../git-htmldocs-2.39.2.tar.xz \ -C /usr/share/doc/git-2.39.2 --no-same-owner --no-overwrite-dir && find /usr/share/doc/git-2.39.2 -type d -exec chmod 755 {} \; && find /usr/share/doc/git-2.39.2 -type f -exec chmod 644 {} \;
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.39.2/man-pages/{html,text} && mv /usr/share/doc/git-2.39.2/{git*.txt,man-pages/text} && mv /usr/share/doc/git-2.39.2/{git*.,index.,man-pages/}html && mkdir -vp /usr/share/doc/git-2.39.2/technical/{html,text} && mv /usr/share/doc/git-2.39.2/technical/{*.txt,text} && mv /usr/share/doc/git-2.39.2/technical/{*.,}html && mkdir -vp /usr/share/doc/git-2.39.2/howto/{html,text} && mv /usr/share/doc/git-2.39.2/howto/{*.txt,text} && mv /usr/share/doc/git-2.39.2/howto/{*.,}html && sed -i '/^<a href=/s|howto/|&html/|' /usr/share/doc/git-2.39.2/howto-index.html && sed -i '/^\* link:/s|howto/|&html/|' /usr/share/doc/git-2.39.2/howto-index.txt
--with-gitconfig=/etc/gitconfig
:
Isso configura /etc/gitconfig
como o arquivo que armazena as configurações padrão do
Git abrangente a todo o
sistema.
--with-python=python3
: Use esta
chave para usar Python 3, em
vez do Python 2 com "EOL".
"Python" é usado para a interface git p4 para repositórios
"Perforce" e também usado em alguns testes.
--with-libpcre2
: Use essa chave
se PCRE2 estiver instalado e
tiver sido construído com o "JIT" não padrão habilitado.
--with-libpcre1
: Como uma
alternativa ao "PCRE2", use essa chave se o obsoleto
PCRE estiver instalado e
tiver sido construído com o "JIT" não padrão habilitado.
tar -xf
../git-manpages-2.39.2.tar.gz -C /usr/share/man
--no-same-owner: Isso descompacta
git-manpages-2.39.2.tar.gz
. A
opção -C
faz com que o "tar" mude
o diretório para /usr/share/man
antes de começar a descomprimir os documentos. A opção
--no-same-owner
impede que o
"tar" preserve os detalhes de usuário(a) e de grupo dos
arquivos. Isso é útil porque esse(a) usuário(a) ou grupo
possivelmente não exista em seu sistema; isso poderia
(potencialmente) ser um risco de segurança.
mv /usr/share/doc/git-2.39.2 ...: Esses comandos movem alguns dos arquivos para subpastas para tornar mais fácil a ordenação ao longo dos documentos e achar o que você está procurando.
find ... chmod ...: Esses comandos corrigem as permissões no arquivo "tar" da documentação enviada.
é o rastreador estúpido de conteúdo |
|
é um emulador de servidor "CVS" para Git |
|
é um navegador gráfico de repositório Git (precisa de Tk-8.6.13) |
|
é invocado por git send-pack e atualiza o repositório com as informações fornecidas a partir do terminal remoto |
|
é um shell de login para contas "SSH" para fornecer acesso restrito ao "Git" |
|
é invocado por git archive --remote e envia um arquivamento gerado para a outra extremidade por meio do protocolo "git" |
|
é invocado por git fetch-pack; ele descobre quais objetos estão ausentes no outro lado e os envia depois de empacotar |
|
é uma ferramenta de gerenciamento de repositórios que otimiza o "Git" para uso em grandes repositórios |
Esta seção descreverá como configurar, administrar e proteger um servidor git. Git tem muitas opções disponíveis. Para documentação mais detalhada, veja-se https://git-scm.com/book/en/v2.
As instruções a seguir instalarão um servidor git. Ele será configurado para usar OpenSSH como método de acesso remoto seguro.
A configuração do servidor consiste nas seguintes etapas:
Você precisará ser o(a) usuário(a) root
para a parte inicial da
configuração. Crie o(a) usuário(a) e grupo git
e defina um resumo de senha
inutilizável com os seguintes comandos:
groupadd -g 58 git && useradd -c "Proprietário(a) do git" -d /home/git -m -g git -s /usr/bin/git-shell -u 58 git && sed -i '/^git:/s/^git:[^:]:/git:NP:/' /etc/shadow
Colocar um resumo de senha inutilizável (substituindo
!
por NP
) desbloqueia a conta, mas ela não pode
ser usada para se conectar via autenticação de senha. Isso
é exigido pelo sshd para
funcionar corretamente. Em seguida, crie alguns arquivos e
diretórios no diretório "home" do(a) usuário(a) git,
permitindo acesso ao repositório "git" usando chaves "ssh".
install -o git -g git -dm0700 /home/git/.ssh && install -o git -g git -m0600 /dev/null /home/git/.ssh/authorized_keys
Para qualquer desenvolvedor(a) que devesse ter acesso ao
repositório, adicione a chave pública "ssh" dele/dela em
/home/git/.ssh/authorized_keys
. Primeiro,
acrescente algumas opções para evitar que os(as)
usuários(as) usem a conexão com o "git" para encaminhamento
de porta para outras máquinas que o servidor "git" possa
alcançar.
echo -n "no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty " >> /home/git/.ssh/authorized_keys && cat <chave-ssh-usuário(a)> >> /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
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
):
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 .
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 <<EOF [user] name = <nome-usuário(a)> email = <endereço-correio-eletrônico-usuário(a)> EOF
Na máquina do(a) desenvolvedor(a), configure alguns arquivos para serem enviados ao repositório como conteúdo inicial:
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 <<EOF Este é o arquivo 'LEIAME' EOF git add LEIAME git commit -m 'Criação inicial do LEIAME' git push --set-upstream origin trunk
O conteúdo inicial agora é enviado ao servidor e fica
disponível para outros(as) usuários(as). Na máquina atual,
o argumento --set-upstream origin
trunk
agora não é mais necessário, pois o
repositório local agora está conectado ao repositório
remoto. Envios subsequentes podem ser realizados como
git push
Outros(as) desenvolvedores(as) agora podem clonar o repositório e fazer modificações no conteúdo (desde que as chaves "ssh" deles(as) tenham sido instaladas):
git clone git@gitserver:/srv/git/projeto1.git cd projeto1 vi LEIAME git commit -am 'Correção para o arquivo LEIAME' git push
Essa é uma configuração de servidor muito básica baseada
no acesso OpenSSH.
Todos(as) os(as) desenvolvedores(as) estão usando o(a)
usuário(a) git
para
realizar ações no repositório e as mudanças que os(as)
usuários(as) estão "comitando" podem ser distinguidas
como o nome de usuário(a) local (veja-se ~/.gitconfig
) sendo registrado nos
conjuntos de mudanças.
O acesso é restrito pelas chaves públicas adicionadas ao
arquivo authorized_keys
do
"git" e não existe opção para o público exportar/clonar o
repositório. Para habilitar isso, continue com a etapa
quatro (4) para configurar o servidor "git" para acesso
público somente leitura.
Na "URL" usada para clonar o projeto, o caminho absoluto
(aqui /srv/git/projeto1.git
)
tem de ser especificado, pois o repositório não está no
diretório "home" do "git", mas em /srv/git
. Para eliminar a necessidade de
expor a estrutura de instalação do servidor, um link
simbólico pode ser adicionado no diretório "home" do "git"
para cada projeto, como isto:
ln -svf /srv/git/projeto1.git /home/git/
Agora, o repositório pode ser clonado usando
git clone git@gitserver:projeto1.git
A configuração descrita acima torna um repositório disponível para usuários(as) autenticados(as) (via fornecimento do arquivo de chave pública "ssh"). Também existe uma maneira simples de publicar o repositório para usuários(as) não autenticados(as) — certamente, sem acesso de escrita.
A combinação do acesso via "ssh" (para usuários(as) autenticados(as)) e a exportação de repositórios para usuários(as) não autenticados(as) via processo de segundo plano é, na maioria dos casos, suficiente para um sítio de desenvolvimento.
O processo de segundo plano estará alcançável na porta
9418
por padrão.
Certifique-se de que a configuração do seu "firewall"
permite acesso a essa porta.
Para iniciar o servidor em tempo de inicialização, instale
a unidade git-daemon.service
a partir do pacote blfs-systemd-units-20220720:
make install-git-daemon
Para a finalidade de permitir que o git exporte um repositório, um arquivo
chamado git-daemon-export-ok
é necessário em cada diretório de repositório no servidor.
O arquivo não necessita de conteúdo; apenas a existência
dele habilita; a ausência dele desabilita a exportação
daquele repositório.
touch /srv/git/projeto1.git/git-daemon-export-ok
Junto com a unidade git-daemon.service
, um arquivo de
configuração chamado /etc/default/git-daemon
foi instalado.
Revise esse arquivo de configuração para corresponder às
suas necessidades.
Existem somente três opções a configurar no arquivo de configuração:
GIT_BASE_DIR=<nome-diretório>
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=<nome-diretório>
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=<opções>
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=<número da
porta>
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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.gnu.org/gnu/guile/guile-3.0.9.tar.xz
Transferência (FTP): 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)
Emacs-28.2 e GDB-13.1 (dependências somente em tempo de execução).
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
é um interpretador "Scheme" independente para Guile |
|
é 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 |
|
é um script para analisar declarações em seu código C para funções visíveis C do Scheme |
|
é 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 |
|
é um vínculo simbólico para guild |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.tuxfamily.org/librep/librep_0.92.7.tar.xz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.7/llvm-15.0.7.src.tar.xz
Soma de verificação MD5 da transferência: c77db4c71e1eb267358204dffe2c6e10
Tamanho da transferência: 50 MB
Espaço em disco estimado exigido: 2,7 GB (848 MB instalado; adicionar 18,3 GB para os testes e 308 MB para a documentação)
Tempo de construção estimado: 24 UPC (Usando paralelismo=4; adicionar 22 UPC para os testes)
módulos "Cmake" para o "LLVM"
Transferência: https://anduin.linuxfromscratch.org/BLFS/llvm/llvm-cmake-15.0.7.src.tar.xz
Soma de verificação MD5 da transferência: c3647d253f67ce255e1aba014e528f5b
Tamanho da transferência: 6,8 KB
Clang
Transferência: https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.7/clang-15.0.7.src.tar.xz
Soma de verificação MD5 da transferência: a6d0141e50b48f5e60c682277dac83b4
Tamanho da transferência: 18 MB
Remendo habilitante do SSP por padrão no "clang": https://www.linuxfromscratch.org/patches/blfs/11.3/clang-15.0.7-enable_default_ssp-1.patch
Compiler RT
Transferência: https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.7/compiler-rt-15.0.7.src.tar.xz
Soma de verificação MD5 da transferência: 12e6777354f0121cbe73ef13342a9302
Tamanho da transferência: 2,3 MB
Doxygen-1.9.6, git-2.39.2, Graphviz-7.1.0, libxml2-2.10.3, Pygments-2.14.0, rsync-3.2.7 (para testes), recommonmark-0.7.1 (para construir documentação), texlive-20220321 (ou install-tl-unx), Valgrind-3.20.0, PyYAML-6.0, Zip-3.0, OCaml, psutil (para testes) e Z3
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/llvm
A partir da versão 15.0.0, um "tarball" adicional
llvm-cmake-15.0.7.src.tar.xz
é
necessário. O(A) desenvolvedor(a) espera que ele seja
extraído no mesmo nível do "tarball" llvm-15.0.7.src.tar.xz
e que o diretório
extraído seja renomeado para cmake
. Extraia-o e modifique o sistema de
construção para evitar criar um diretório fora da hierarquia
llvm-15.0.7.src
:
tar -xf ../llvm-cmake-15.0.7.src.tar.xz && sed '/LLVM_COMMON_CMAKE_UTILS/s@../cmake@cmake-15.0.7.src@' \ -i CMakeLists.txt
Instale o clang na árvore do fonte executando os seguintes comandos:
tar -xf ../clang-15.0.7.src.tar.xz -C tools && mv tools/clang-15.0.7.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-15.0.7.src.tar.xz -C projects && mv projects/compiler-rt-15.0.7.src projects/compiler-rt
Existem muitos scripts "Python" nesse pacote que usam /usr/bin/env python para acessar o "Python" do sistema, que no LFS é Python-3.11.2. Use o seguinte comando para corrigir esses scripts:
grep -rl '#!.*python' | xargs sed -i '1s/python$/python3/'
Se você tiver baixado o clang, [então] aplique o seguinte remendo para habilitar SSP por padrão em aplicativos compilados.
patch -Np2 -d tools/clang <../clang-15.0.7-enable_default_ssp-1.patch
Instale 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 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
Para testar os resultados, emita: ninja check-all. Os testes
são construídos com todos os núcleos disponíveis, porém executados
ussndo o número de processadores online. (A diferença é a de que os
núcleos disponíveis podem ser limitados usando o taskset; mas, colocá-los
"offline" exige ecoar zero (0) para /sys/devices/system/cpu/cpu<N>/online
pelo(a) usuário(a) root
e
torná-los temporáriamente inutilizáveis por todas as tarefas
na máquina). Observe que quatro testes de mais que sessenta e
quatro mil e setecentos (64.700) são conhecidos por falharem:
DataFlowSanitizer-x86_64 ::
custom.cpp
, DataFlowSanitizer-x86_64 ::
origin_unaligned_memtrans.c
, DataFlowSanitizer-x86_64 ::
release_shadow_space.c
, LLVM ::
tools/llvm-libtool-darwin/L-and-l.test
,
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-15.0.7 && mv -v /usr/share/doc/LLVM/llvm /usr/share/doc/llvm-15.0.7 && 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-15.0.7 && mv -v /usr/share/doc/LLVM/clang /usr/share/doc/llvm-15.0.7 && rmdir -v --ignore-fail-on-non-empty /usr/share/doc/LLVM
-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 v4l-utils-1.22.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-15.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
Mesa-22.3.5.
-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 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 Doxygen-1.9.6. Você deveria executar
make
doxygen-html depois e instalar a documentação
gerada manualmente.
é uma ferramenta de análise estática |
|
é a ferramenta automática de redução de casos de teste |
|
é usado para testar a "API" da "libclang" e demonstrar o uso dela |
|
é o compilador "C", "C++" e "Objective-C" do Clang |
|
é uma ferramenta para realizar análise estática de código e exibir "Abstract Syntax Trees" ("AST") |
|
é uma ferramenta para coletar o nome do "USR" e o local de definições externas em um arquivo de fonte |
|
é uma ferramenta para formatar código "C"/"C++"/"Java"/"JavaScript"/"Objective-C"/"Protobuf" |
|
é um utilitário envólucro sobre o vinculador de dispositivo |
|
é uma ferramenta de envólucro sobre o aplicativo "nvlink" |
|
é uma ferramenta para agrupar/desagrupar arquivos descarregados "OpenMP" associados a um arquivo fonte comum |
|
é 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 |
|
é uma ferramenta para criar "bitcode" de envólucro para binários de descarregamento alvo |
|
é uma ferramenta de refatoração baseada em "Clang" para "C", "C++" e "Objective-C" |
|
é uma ferramenta para renomear símbolos em aplicativos "C"/"C++" |
|
é uma ferramenta para escanear dependências em um arquivo fonte |
|
é uma combinação de ferramentas para lidar com diagnósticos em "clang" |
|
é 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. |
|
é uma ferramenta usada para manipular arquivos de símbolos de depuração "DWARF" arquivados, compatível com o comando dsymutil do "Darwin" |
|
executa "clang-format" em remendos gerados pelo "git" (exige git-2.39.2) |
|
é uma ferramenta "Python" para despejar e construir mapas de cabeçalho |
|
é o compilador estático LLVM |
|
é usado para executar aplicativos diretamente a partir do "bitcode" do LLVM |
|
é uma ferramenta usada para converter endereços em nomes de arquivos e números de linha |
|
é o arquivador do LLVM |
|
é o montador do LLVM |
|
é o analizador de "bitcode" do LLVM |
|
remove o "bitcode" de "LLVM" de um objeto |
|
é uma ferramenta para concatenar módulos "llvm" |
|
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 |
|
Imprime as opções de compilação do LLVM |
|
é usado para emitir informações de cobertura |
|
é um desmontador de "bytecode" |
|
é uma ferramenta para converter arquivos de recursos da Microsoft em "COFF" |
|
é usado como um Despejador de Dados de "ABI" da "C++" |
|
é usado para desmontar símbolos "C++" no código "llvm" |
|
é usado para remapear símbolos mutilados da "C++" |
|
é um serviço que fornece informações de depuração por meio de uma "API" "HTTP" para analisar binários despojados |
|
é uma interface para o processo de segundo plano llvm-debuginfod para achar artefatos "debuginfod" |
|
é o 'diff' estrutural do LLVM |
|
é o desmontador do LLVM |
|
imprime o conteúdo das seções "DWARF" em arquivos objeto |
|
é uma ferramenta para copiar e manipular informações de depuração |
|
mescla arquivos divididos "DWARF" |
|
é usado para ler informações relativas a uma "ABI" de um binário "ELF" |
|
é 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 |
|
é usado para extrair uma função a partir de um módulo do LLVM |
|
é 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" |
|
é usado para mesclar "stubs" de interface com arquivos de objeto |
|
é usado para reescrever comandos de carregamento no formato binário "MachO" |
|
é usado para analisar arquivos de objetos relocáveis para tornar o conteúdo deles executável em um processo alvo |
|
fornece funcionalidade básica da "libtool" em sistemas baseados em "Darwin". Isso é útil principalmente se você estiver gerando binários para sistemas "macOS" |
|
é o vinculador do LLVM |
|
é usado para criar binários universais a partir de arquivos "MachO" |
|
é o vinculador "Link Time Optimization" ("LTO") do LLVM |
|
é um equipamento de teste para a interface "LTO" baseada em resolução |
|
é um montador/desmontador de código de máquina autônomo |
|
é uma ferramenta de análise de desempenho para medir estaticamente o desempenho do código de máquina |
|
é um área de recreação para código de máquina fornecido pelo "LLVM" |
|
é uma ferramenta para extrair um módulo a partir de arquivos "bitcode" multimódulos |
|
é uma ferramenta para gerar arquivos e catálogos assinados a partir de um manifesto de montagem lado a lado (usado para "SDK" da Microsoft) |
|
é usado para listar o "bitcode" do LLVM e a tabela de símbolos do arquivo objeto |
|
é a versão do "LLVM" de uma ferramenta "objcopy" |
|
é um despejador de arquivo objeto do LLVM |
|
é uma ferramenta para gerar um informe de otimização a partir de arquivos de registro de otimização "YAML" |
|
é um despejador "Program Database" ("PDB"). "PDB" é um formato da Microsoft |
|
é uma pequena ferramenta para manipular e imprimir arquivos de dados de perfil |
|
gera informações de perfil "SPGO" do "LLVM" |
|
é usado para gerar um índice para um arquivamento do LLVM |
|
é uma ferramenta independente de plataforma para compilar scripts de recursos em arquivos de recursos de binários |
|
exibe informações específicas de formato de baixo nível relativas a arquivos de objeto |
|
é usado para reduzir automaticamente os casos de teste ao executar uma suíte de teste |
|
informa a diferença na contagem de instruções e nas observações do tamanho da pilha entre dois arquivos de observações |
|
é a ferramenta "MC-JIT" do LLVM |
|
é o despejador de tamanho de objeto do LLVM |
|
é o divisor de módulo do LLVM |
|
é usado para gerar arquivos aleatórios |
|
imprime sequências de caracteres encontradas em um binário (arquivo objeto, executável ou biblioteca de arquivamento) |
|
converte endereços em locais de código-fonte |
|
é a descrição alvo do LLVM para o gerador de código "C++" |
|
é o verificador "TargetLibraryInfo" versus "SDK" do LLVM |
|
é uma ferramenta para desmantelar nomes |
|
é uma implementação do sistema de rastreamento de chamadas de função "XRay" do Google |
|
gera uma base de dados de comandos de construção para um projeto |
|
é o otimizador do LLVM |
|
é a ferramenta de processamento de cobertura de higienizador |
|
é a ferramenta de processamento de estatísticas de higienizador |
|
é um script Perl que invoca o analisador estático Clang |
|
é um script Python que invoca o analisador estático Clang |
|
é um visualizador dos resultados do analisador estático Clang |
|
divide um arquivo de entrada em múltiplas partes separadas por expressão regular |
|
é a ferramenta do LLVM para verificar a ordem da lista de uso |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.lua.org/ftp/lua-5.4.4.tar.gz
Soma de verificação MD5 da transferência: bd8ce7069ff99a400efd14cf339a727b
Tamanho da transferência: 356 KB
Espaço em disco estimado exigido: 5,8 MB (com os testes Básicos)
Tempo de construção estimado: menos que 0,1 UPC (com os testes Básicos)
Remendo exigido: https://www.linuxfromscratch.org/patches/blfs/11.3/lua-5.4.4-shared_library-2.patch
Transferência da Suíte Opcional de Teste (HTTP): https://www.lua.org/tests/lua-5.4.4-tests.tar.gz
Soma de verificação "MD5" da transferência da Suíte Opcional de Teste: 0e28a9b48b3596d6b12989d04ae403c4
Tamanho da transferência da Suíte Opcional de Teste: 132 KB
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/lua
Alguns pacotes verificam o arquivo pkg-config para Lua, o qual é criado com:
cat > lua.pc << "EOF"
V=5.4
R=5.4.4
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.4-shared_library-2.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.4" \ install && mkdir -pv /usr/share/doc/lua-5.4.4 && cp -v doc/*.{html,css,gif,png} /usr/share/doc/lua-5.4.4 && 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.4-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".
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 da Lua necessária somente para compatibilidade com outros aplicativos como Wireshark-4.0.3.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.lua.org/ftp/lua-5.2.4.tar.gz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/lua
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/* /
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".
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.mercurial-scm.org/release/mercurial-6.3.2.tar.gz
Soma de verificação MD5 da transferência: 37f5c2c5efee02fe25a0f344b2e3ca72
Tamanho da transferência: 7,7 MB
Espaço em disco estimado exigido: 79 MB (com os documentos, adicionar 892 MB para os testes)
Tempo de construção estimado: 0,3 UPC (com os documentos, adicionar 6,2 UPC para os testes usando "-j4")
docutils-0.19 (exigido para construir a
documentação), git-2.39.2, GPGME-1.18.0 (com ligações
"Python"), OpenSSH-9.2p1 (tempo de execução, para
acessar repositórios "ssh://..."), Pygments-2.14.0,
rustc-1.67.1 (veja-se rust/README.rst
e rust/rhg/README.md
), Subversion-1.14.2
(com ligações "Python"), Bazaar, CVS, pyflakes,
pyOpenSSL e
re2
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/mercurial
Construa Mercurial emitindo o seguinte comando:
make build
Para construir a documentação (exige docutils-0.19), emita:
make doc
Para executar a suíte de teste, emita:
TESTFLAGS="-j<N>
--tmpdir tmp --blacklist blacklists/fsmonitor --blacklist blacklists/linux-vfat" make check
onde <N>
é um
número inteiro entre um e o número de (camadas X do
processador), inclusive. Vários testes (cerca de vinte (20))
falham porque algumas mensagens de erro foram mudadas em
"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 script 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 = <nome_usuário(a)> <usuário(a)@correio>
EOF
onde você precisa substituir <nome_usuário(a)> e <seu@correio-eletrônico> (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.
/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 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
NASM ("Netwide Assembler") é um montador "80x86" projetado para portabilidade e modularidade. Inclui também um desmontador.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.nasm.us/pub/nasm/releasebuilds/2.16.01/nasm-2.16.01.tar.xz
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
Documentação opcional: https://www.nasm.us/pub/nasm/releasebuilds/2.16.01/nasm-2.16.01-xdoc.tar.xz
asciidoc-10.2.0 e xmlto-0.0.28
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/NixOS/patchelf/releases/download/0.17.2/patchelf-0.17.2.tar.gz
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)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 (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 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.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/perl-modules
O módulo "Archive::Zip" permite que um aplicativo "Perl" crie, manipule, leia e escreva arquivamentos "Zip".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/P/PH/PHRED/Archive-Zip-1.68.tar.gz
Soma de verificação MD5 da transferência: a33993309322164867c99e04a4000ee3
UnZip-6.0 (com o remendo dele)
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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/V/VP/VPIT/autovivification-0.18.tar.gz
Soma de verificação MD5 da transferência: 8dec994e1e7d368e055f21a5777385a0
O módulo "Business::ISBN" é para trabalhar com números internacionais padrão de livros.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/B/BD/BDFOY/Business-ISBN-3.007.tar.gz
Soma de verificação MD5 da transferência: 6270020dc5a2e3ae7264ef4e4d4fb344
O módulo "Business::ISMN" é para trabalhar com números internacionais padrão de músicas.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/B/BD/BDFOY/Business-ISMN-1.202.tar.gz
Soma de verificação MD5 da transferência: 7a32381ddbf1cf58f260c3bcb3016bc3
O módulo "Business::ISSN" é para trabalhar com números internacionais padrão de série.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/B/BD/BDFOY/Business-ISSN-1.005.tar.gz
Soma de verificação MD5 da transferência: f46bf5585d6c3aa9fb32127edb13151a
"Class::Accessor" gera acessadores/mutadores para sua classe.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/K/KA/KASEI/Class-Accessor-0.51.tar.gz
Soma de verificação MD5 da transferência: 1f1e5990f87cad7659b292fed7dc0407
O módulo "Data::Compare" compara duas estruturas de dados perl.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/D/DC/DCANTRELL/Data-Compare-1.27.tar.gz
Soma de verificação MD5 da transferência: 53e821a62222e151a5ccab3c8a8e416f
"Data::Dump" fornece uma impressão bonita de estruturas de dados.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/G/GA/GARU/Data-Dump-1.25.tar.gz
Soma de verificação MD5 da transferência: 9bd7131ef0441e1e0e001bf85e9fae31
"Data::Uniqid" fornece três rotinas simples para gerar "IDs" exclusivos.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/M/MW/MWX/Data-Uniqid-0.12.tar.gz
Soma de verificação MD5 da transferência: 6bab3b5da09fedfdf60ce2629a7367db
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" implementa o Calendário Juliano.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): 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
"DateTime::Format::Builder" criou classes e objetos do analisador "DateTime".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): 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
"Encode::EUCJPASCII" fornece um mapeamento "eucJP-open" ("Extended Unix Code", japonês).
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/N/NE/NEZUMI/Encode-EUCJPASCII-0.03.tar.gz
Soma de verificação MD5 da transferência: 5daa65f55b7c2050bb0713d9e95f239d
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/A/AU/AUDREYT/Encode-HanExtra-0.23.tar.gz
Soma de verificação MD5 da transferência: e1d3bc32c1c8ee304235a06fbcd5d5a4
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
O módulo "Encode::JIS2K" fornece codificações "JIS X 0212" (também conhecidas como "JIS 2000").
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/D/DA/DANKOGAI/Encode-JIS2K-0.03.tar.gz
Soma de verificação MD5 da transferência: 60539471aa408a2b793cd45a6ce651db
"File::Slurper" é um módulo simples, sensato e eficiente para sorver um arquivo.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/L/LE/LEONT/File-Slurper-0.014.tar.gz
Soma de verificação MD5 da transferência: d43bc5f069035eff3b6b7c418b4cedc4
"File::Which" fornece uma implementação portável do utilitário 'which'.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/P/PL/PLICEASE/File-Which-1.27.tar.gz
Soma de verificação MD5 da transferência: d5c9154262b93398f0750ec364207639
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/O/OA/OALDERS/HTML-Parser-3.81.tar.gz
Soma de verificação MD5 da transferência: b9f5dd3b14632f7a60541a2b61389c06
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).
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/O/OA/OALDERS/HTTP-Daemon-6.15.tar.gz
Soma de verificação MD5 da transferência: 9047f5e656cb99a7dee29f3359535ded
"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".
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/S/SU/SULLR/IO-Socket-SSL-2.081.tar.gz
Soma de verificação MD5 da transferência: 980e8e6816fadd86e875550b1d6ab0a2
make-ca-1.12 e Net-SSLeay-1.92
URI-5.17 (para acessar nomes internacionais de domínio)
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
"IO::String" - Emula interface de arquivo para sequências internas de caracteres.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/G/GA/GAAS/IO-String-1.08.tar.gz
Soma de verificação MD5 da transferência: 250e5424f290299fc3d6b5d1e9da3835
"IPC::Run3" é usado para executar um subprocesso com redirecionamento de entrada/saída.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/R/RJ/RJBS/IPC-Run3-0.048.tar.gz
Soma de verificação MD5 da transferência: 5a8cec571c51a118b265cf6e24e55761
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/I/IS/ISHIGAKI/JSON-4.10.tar.gz
Soma de verificação MD5 da transferência: a709b32e194d0eb38f788cb49f422c4e
"Lingua::Translit" e o aplicativo translit transliteram texto entre sistemas de escrita.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/A/AL/ALINKE/Lingua-Translit-0.29.tar.gz
Soma de verificação MD5 da transferência: 605a82f06b05fef4fc18bf069b1be511
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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/O/OA/OALDERS/libwww-perl-6.67.tar.gz
Soma de verificação MD5 da transferência: ff7621d0350da3052f24db9a74692672
File-Listing-6.15, HTTP-Cookies-6.10, HTTP-Daemon-6.15, HTTP-Negotiate-6.01, HTML-Parser-3.81, Net-HTTP-6.22, Try-Tiny-0.31 e WWW-RobotRules-6.02
Test-Fatal-0.017, Test-Needs-0.002010 e Test-RequiresInternet-0.05
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 LWP-Protocol-https-6.10.
O módulo "List::Allutils" combina "List::Util" e "List::MoreUtils" em um pacote pequeno.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/D/DR/DROLSKY/List-AllUtils-0.19.tar.gz
Soma de verificação MD5 da transferência: 86469b1f6819ba181a8471eb932965f2
"List::MoreUtils" fornece o que falta em "List::Util".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/R/RE/REHSACK/List-MoreUtils-0.430.tar.gz
Soma de verificação MD5 da transferência: daccd6310021231b827dcc943ff1c6b7
"Log::Log4perl" fornece uma implementação "Log4j" para perl.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/E/ET/ETJ/Log-Log4perl-1.57.tar.gz
Soma de verificação MD5 da transferência: acbe29cbaf03f4478a13579a275b0011
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::Protocol::https" fornece suporte "HTTPS" para "LWP::UserAgent" (ou seja, libwww-perl-6.67). 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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/O/OA/OALDERS/LWP-Protocol-https-6.10.tar.gz
Soma de verificação MD5 da transferência: cf64e4bc57a9266ac4343cdf0808c5c8
IO-Socket-SSL-2.081, libwww-perl-6.67 e make-ca-1.12 com /etc/pki/tls/certs/ca-bundle.crt
.
Primeiro, aplique um remendo para usar os certificados do sistema (usar a instalação automatizada do "CPAN" usará Mozilla::CA que, geralmente, não está atualizado e não usa certificados locais).
patch -Np1 -i ../LWP-Protocol-https-6.10-system_certs-2.patch
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" permite módulos "Perl" serem construídos sem um comando make estar presente.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/L/LE/LEONT/Module-Build-0.4232.tar.gz
Soma de verificação MD5 da transferência: 144885f1cbaf9420017bbed696ec6b83
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
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/N/NL/NLNETLABS/Net-DNS-1.36.tar.gz
Soma de verificação MD5 da transferência: b70b74481908d995f57569ab7cfe6432
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/J/JT/JTBRAUN/Parse-RecDescent-1.967015.tar.gz
Soma de verificação MD5 da transferência: 7a36d45d62a9b68603edcdbd276006cc
"Parse::Yapp" é uma extensão "Perl" para gerar e usar analisadores "LALR".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/W/WB/WBRASWELL/Parse-Yapp-1.21.tar.gz
Soma de verificação MD5 da transferência: 69584d5b0f0304bb2a23cffcd982c5de
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
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): 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
"Regexp::Common" fornece expressões regulares comumente solicitadas.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/A/AB/ABIGAIL/Regexp-Common-2017060201.tar.gz
Soma de verificação MD5 da transferência: b1bb40759b84154990f36a160160fb94
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/R/RA/RAAB/SGMLSpm-1.1.tar.gz
Soma de verificação MD5 da transferência: 746c74ae969992cedb1a2879b4168090
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
é um processador "SGML" |
|
é um vínculo simbólico usado durante a instalação de DocBook-utils-0.6.14 |
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/S/SA/SALVA/Sort-Key-1.33.tar.gz
Soma de verificação MD5 da transferência: a37ab0da0cfdc26e57b4c79e39f6d98f
"Test::Command" testa a situação de saída, "STDOUT" ou "STDERR", de um comando externo.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/D/DA/DANBOO/Test-Command-0.11.tar.gz
Soma de verificação MD5 da transferência: 9ab83c4695961dbe92cd86efe08f0634
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/D/DC/DCANTRELL/Test-Differences-0.69.tar.gz
Soma de verificação MD5 da transferência: 53aa66b927e7ffe612118bec05f8343d
"Text::BibTeX" fornece uma interface para ler e analisar arquivos BibTeX.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/A/AM/AMBS/Text-BibTeX-0.89.tar.gz
Soma de verificação MD5 da transferência: 67fa6d9c03c659627d9fd58bb380c1fe
Esse módulo é construído usando Build.PL
:
perl Build.PL && ./Build && ./Build test
Agora, como o(a) usuário(a) root
:
./Build install
realiza análise léxica em um arquivo "BibTeX" |
|
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 |
|
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 |
|
é uma biblioteca para analisar e processar arquivos de dados "BibTeX" |
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/I/IS/ISHIGAKI/Text-CSV-2.02.tar.gz
Soma de verificação MD5 da transferência: b25b9c6bb45c128484393efe082a8791
Text-CSV_XS-1.49 (exigido por biber-2.18)
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/S/SY/SYP/Text-Roman-3.5.tar.gz
Soma de verificação MD5 da transferência: 1f6b09c0cc1f4425b565ff787a39fd83
"Unicode::Collate" fornece um algoritmo de agrupamento "Unicode".
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 biber-2.18 e você não precisa reinstalar esse módulo.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/S/SA/SADAHIRO/Unicode-Collate-1.31.tar.gz
Soma de verificação MD5 da transferência: ee4d960d057c5e5b02ebb49d0286db8f
"Unicode::LineBreak" fornece um algoritmo de quebra de linha "Unicode" "UAX #14".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/N/NE/NEZUMI/Unicode-LineBreak-2019.001.tar.gz
Soma de verificação MD5 da transferência: 003d6da7a13700e069afed9238c864b9
MIME-Charset-1.013.1, também Wget-1.21.3 (para baixar dois arquivos a partir de "unicode.org" na suíte de teste)
libthai (para quebrar palavras tailandesas em segmentos)
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/O/OA/OALDERS/URI-5.17.tar.gz
Soma de verificação MD5 da transferência: 63675c429cfb1df73d7d21a9302e1000
Test-Fatal-0.017, Test-Needs-0.002010 e Test-Warnings-0.031
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): 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
"XML-LibXSLT" fornece uma interface para libxslt-1.1.37
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/S/SH/SHLOMIF/XML-LibXSLT-2.002001.tar.gz
Soma de verificação MD5 da transferência: b47ac3a69b58fa43386c4f39be5d7bd5
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/G/GR/GRANTM/XML-Simple-2.25.tar.gz
Soma de verificação MD5 da transferência: bb841dce889a26c89a1c2739970e9fbc
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),
"XML::Writer" fornece uma extensão Perl para escrever documentos "XML".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cpan.org/authors/id/J/JO/JOSEPHW/XML-Writer-0.900.tar.gz
Soma de verificação MD5 da transferência: 2457214360cefda445742a608dd6195e
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 Sudo-1.9.13p1 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 <Módulo::Nome>
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 <Módulo1::Nome> <Módulo2::Nome>
Revise a página de manual cpan.1
para parâmetros adicionais que
você consegue passar para cpan na linha de comando.
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
.
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.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/perl-modules
"Algorithm::Diff" calcula diferenças "inteligentes" entre dois arquivos ou listas.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/R/RJ/RJBS//Algorithm-Diff-1.201.tar.gz
Soma de verificação MD5 da transferência: 2eaae910f5220261ee2bbdfc4a8df2c2
"Alien::Build" fornece ferramentas para construir dependências externas (não "CPAN") para "CPAN".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/Alien-Build-2.77.tar.gz
Soma de verificação MD5 da transferência: 65dab78e4dbde17fef13667d3be60ae0
Capture-Tiny-0.48, File-Which-1.27, FFI-CheckLib-0.31 e File-chdir-0.1011
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/Alien-Build-Plugin-Download-GitLab-0.01.tar.gz
Soma de verificação MD5 da transferência: ad1d815262ad7dd98b0a9b35ba2f05ef
"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 libxml2-2.10.3 instalado.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/Alien-Libxml2-0.19.tar.gz
Soma de verificação MD5 da transferência: 54ef82ddf7641279a72f216e405f9a5e
Alien-Build-Plugin-Download-GitLab-0.01, libxml2-2.10.3, Path-Tiny-0.144
"B::COW" fornece ajudantes adicionais para o módulo central "B" verificar "Copy On Write".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/A/AT/ATOOMIC/B-COW-0.007.tar.gz
Soma de verificação MD5 da transferência: 7afc46f19e6f906e2ba5769b21fca5ff
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/E/ET/ETHER/B-Hooks-EndOfScope-0.26.tar.gz
Soma de verificação MD5: 6e1a5334ccc7809aa7cc82dbfa1affc7
Module-Implementation-0.09, Sub-Exporter-Progressive-0.001013 e Variable-Magic-0.63
"Business-ISBN-Data" é um pacote de dados para "Business::ISBN".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/B/BD/BDFOY/Business-ISBN-Data-20210112.006.tar.gz
Soma de verificação MD5 da transferência: a3c6d1ff77eb33d63a35f1a1564530b8
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/Capture-Tiny-0.48.tar.gz
Soma de verificação MD5 da transferência: f5d24083ad270f8326dd659dd83eeb54
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): 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
"Class::Inspector" te permite obter informações acerca de uma classe carregada.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/Class-Inspector-1.36.tar.gz
Soma de verificação MD5 da transferência: 084c3aeec023639d21ecbaf7d4460b21
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/S/SH/SHAY/Class-Singleton-1.6.tar.gz
Soma de verificação MD5 da transferência: d9c84a7b8d1c490c38e88ed1f9faae47
"Classe:Tiny" oferece um conjunto de ferramentas minimalistas de construção de classes.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/Class-Tiny-1.008.tar.gz
Soma de verificação MD5 da transferência: e3ccfae5f64d443e7e1110be964d7202
"Clone" copia recursivamente tipos de dados "Perl".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/G/GA/GARU/Clone-0.46.tar.gz
Soma de verificação MD5 da transferência: cafa8984a2c2e005e54b27dd1e3f0afe
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/A/AM/AMBS/Config-AutoConf-0.320.tar.gz
Soma de verificação MD5 da transferência: 71664b2864232e265179ac29298e0916
"CPAN::Meta::Check" verifica se os requisitos descritos em um objeto "CPAN::Meta" estão presentes.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/L/LE/LEONT/CPAN-Meta-Check-0.017.tar.gz
Soma de verificação MD5 da transferência: e0117bc582058abed184f6d9b23c445e
"DateTime" é um objeto de data e hora para "Perl".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/DateTime-1.59.tar.gz
Soma de verificação MD5 da transferência: d6d73ba9ff03e00c83610a995fadc481
DateTime-Locale-1.37, DateTime-TimeZone-2.57
CPAN-Meta-Check-0.017, Test-Fatal-0.017, Test-Warnings-0.031 e Test-Without-Module-0.21
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/DateTime-Format-Strptime-1.79.tar.gz
Soma de verificação MD5 da transferência: 441cfec62b0b8a1b4c05cbe5ef73fbf4
"DateTime::Locale" fornece suporte a localização para DateTime-1.59.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/DateTime-Locale-1.37.tar.gz
Soma de verificação MD5 da transferência: 3b0ce0ebf768960fd5d08300557176e7
Dist-CheckConflicts-0.11, File-ShareDir-1.118, namespace-autoclean-0.29 e Params-ValidationCompiler-0.31
CPAN-Meta-Check-0.017, IPC-System-Simple-1.30 e Test-File-ShareDir-1.001002
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/DateTime-TimeZone-2.57.tar.gz
Soma de verificação MD5 da transferência: 1da2beb4ae09e225dd0057dc438a276d
Class-Singleton-1.6, Module-Runtime-0.016 e Params-ValidationCompiler-0.31, também
Ambos Test-Fatal-0.017 e Test-Requires-0.11, mas somente se uma cópia de DateTime-1.59 (para o qual esse é uma dependência) já tiver sido instalado
"Devel::StackTrace" fornece um objeto que representa um rastreamento de pilha.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/Devel-StackTrace-2.04.tar.gz
Soma de verificação MD5 da transferência: a5b09f7be7f2b10b525a9740676906d8
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/D/DO/DOY/Dist-CheckConflicts-0.11.tar.gz
Soma de verificação MD5 da transferência: c8725a92b9169708b0f63036812070f2
"Encode::Locale" determina a codificação de localidade.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/G/GA/GAAS/Encode-Locale-1.05.tar.gz
Soma de verificação MD5 da transferência: fcfdb8e4ee34bcf62aed429b4a23db27
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/D/DO/DOY/Eval-Closure-0.14.tar.gz
Soma de verificação MD5 da transferência: ceeb1fc579ac9af981fa6b600538c285
"Exception::Class" permite que você declare classes reais de exceção em Perl.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/Exception-Class-1.45.tar.gz
Soma de verificação MD5 da transferência: 1e564d20b374a99fdf660ba3f36b0098
"Exporter::Tiny" é um exportador com os recursos do "Sub::Exporter", mas somente com dependências centrais.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/T/TO/TOBYINK/Exporter-Tiny-1.006000.tar.gz
Soma de verificação MD5 da transferência: 2d555e289eac6450052e8683c292cbf7
"ExtUtils::LibBuilder" é uma ferramenta para construir bibliotecas "C".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/A/AM/AMBS/ExtUtils-LibBuilder-0.08.tar.gz
Soma de verificação MD5 da transferência: 8ffe9e9a3c2f916f40dc4f6aed237d33
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/FFI-CheckLib-0.31.tar.gz
Soma de verificação MD5 da transferência: ffc8e61bb686dd631bed3ddf102af41c
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/File-chdir-0.1011.tar.gz
Soma de verificação MD5 da transferência: 932090f6c5f602301ae66c259de23ebb
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/D/DM/DMUEY/File-Copy-Recursive-0.45.tar.gz
Soma de verificação MD5 da transferência: e5eee1a3f8ae3aebbac063ea54870e54
Path-Tiny-0.144, Test-Deep-1.204, Test-Fatal-0.017, Test-File-1.993 e Test-Warnings-0.031
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/R/RC/RCLAMP/File-Find-Rule-0.34.tar.gz
Soma de verificação MD5 da transferência: a7aa9ad4d8ee87b2a77b8e3722768712
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::Listing" analisa uma listagem de diretórios.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/File-Listing-6.15.tar.gz
Soma de verificação MD5 da transferência: 8ba34641a6c5a2ec1b0bf7064f68c535
"File::ShareDir" permite que você acesse arquivos de dados que tenham sido instalados por "File::ShareDir::Install".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/R/RE/REHSACK/File-ShareDir-1.118.tar.gz
Soma de verificação MD5 da transferência: 0084f730f4e3d4d89703d92b3ea82f54
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): 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
"HTML::Tagset" fornece várias tabelas de dados úteis na análise de "HTML".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/P/PE/PETDANCE/HTML-Tagset-3.20.tar.gz
Soma de verificação MD5 da transferência: d2bfa18fe1904df7f683e96611e87437
"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 libwww-perl-6.67) conhece.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/O/OA/OALDERS/HTTP-Cookies-6.10.tar.gz
Soma de verificação MD5 da transferência: b4d7804231b1dfd10999d42283e0cf06
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/O/OA/OALDERS/HTTP-Date-6.05.tar.gz
Soma de verificação MD5 da transferência: 2ecbb3aedf6aef062605191813ca3027
TimeDate-2.33 (para permitir que reconheça zonas diferentes de "GMT" e numéricas)
"HTTP::Message" fornece uma classe base para objetos de mensagem de estilo "HTTP".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/O/OA/OALDERS/HTTP-Message-6.44.tar.gz
Soma de verificação MD5 da transferência: 926a077669a7828c5ca39b5cf7735625
Clone-0.46, Encode-Locale-1.05, HTTP-Date-6.05, IO-HTML-1.004, LWP-MediaTypes-6.04 e URI-5.17
"HTTP::Negotiate" fornece uma implementação completa do algoritmo de negociação de conteúdo "HTTP".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/G/GA/GAAS/HTTP-Negotiate-6.01.tar.gz
Soma de verificação MD5 da transferência: 1236195250e264d7436e7bb02031671b
O "Importer" fornece uma interface alternativa, mas compatível, para módulos que exportam símbolos.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/E/EX/EXODIST/Importer-0.026.tar.gz
Soma de verificação MD5 da transferência: 3f09930b82cadfe26d0ce2fb1338aa1b
"IO::HTML" abre um arquivo "HTML" com detecção automática de conjunto de caracteres.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/C/CJ/CJM/IO-HTML-1.004.tar.gz
Soma de verificação MD5 da transferência: 04bbe363686fd19bfb4cc0ed775e3d03
"IPC::System::Simple" elimina o trabalho árduo de chamar comandos externos e produzir diagnósticos detalhados.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): 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
"List::MoreUtils::XS" é uma estrutura compilada de retaguarda para "List::MoreUtils"
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/R/RE/REHSACK/List-MoreUtils-XS-0.430.tar.gz
Soma de verificação MD5 da transferência: e77113e55b046906aecfb4ddb4f0c662
"List::SomeUtils" fornece o que falta em "List::Util".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/List-SomeUtils-0.59.tar.gz
Soma de verificação MD5 da transferência: 333b4adb2907deff2be8da5899881453
"List::SomeUtils::XS" é uma implementação "XS" ("eXternal Subroutine") (mais rápida) para "List::SomeUtils".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/List-SomeUtils-XS-0.58.tar.gz
Soma de verificação MD5 da transferência: 396eabe83a75fcb8d7542d95812469d1
"List::UtilsBy" fornece uma série de funções utilitárias de lista de ordem superior.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/P/PE/PEVANS/List-UtilsBy-0.12.tar.gz
Soma de verificação MD5 da transferência: 54a8c7092bc02f29ea6c5ae215eea385
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/O/OA/OALDERS/LWP-MediaTypes-6.04.tar.gz
Soma de verificação MD5 da transferência: 84b799a90c0d2ce52897a7cb4c0478d0
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): 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
Encode-EUCJPASCII-0.03, Encode-HanExtra-0.23 e Encode-JIS2K-0.03 (porque todos são exigidos por biber-2.18)
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
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/Module-Implementation-0.09.tar.gz
Soma de verificação MD5 da transferência: 52e3fe0ca6b1eff0488d59b7aacc0667
Module-Runtime-0.016, Try-Tiny-0.31
"Module::Pluggable" fornece uma maneira de ter "plugins" para o seu módulo.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/S/SI/SIMONW/Module-Pluggable-5.2.tar.gz
Soma de verificação MD5 da transferência: 87ce2971662efd0b69a81bb4dc9ea76c
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/Z/ZE/ZEFRAM/Module-Runtime-0.016.tar.gz
Soma de verificação MD5 da transferência: d3d47222fa2e3dfcb4526f6cc8437b20
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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/H/HA/HAARG/MRO-Compat-0.15.tar.gz
Soma de verificação MD5 da transferência: f644dafe901214cedfa7ed8b43b56df1
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/E/ET/ETHER/namespace-autoclean-0.29.tar.gz
Soma de verificação MD5 da transferência: 39b38c776cd1f0ee03cc70781a2f2798
namespace-clean-0.27, Sub-Identify-0.14
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/R/RI/RIBASUSHI/namespace-clean-0.27.tar.gz
Soma de verificação MD5 da transferência: cba97f39ef7e594bd8489b4fdcddb662
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/O/OA/OALDERS/Net-HTTP-6.22.tar.gz
Soma de verificação MD5 da transferência: 1d46019fb8559070a5ec1d838b690657
"Net::SSLeay" é uma extensão "PERL" para usar "OpenSSL".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/C/CH/CHRISN/Net-SSLeay-1.92.tar.gz
Soma de verificação MD5 da transferência: 9e928bc6f430a874a1a2185f84a0ae88
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
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/R/RC/RCLAMP/Number-Compare-0.03.tar.gz
Soma de verificação MD5 da transferência: ded4085a8fc96328742785574ca65208
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/E/ET/ETHER/Package-Stash-0.40.tar.gz
Soma de verificação MD5 da transferência: 7a2922941cc2aad6a52642e4fb13d07b
Dist-CheckConflicts-0.11, Module-Implementation-0.09
CPAN-Meta-Check-0.017, Test-Fatal-0.017, Test-Needs-0.002010
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/Params-Validate-1.31.tar.gz
Soma de verificação MD5 da transferência: ef5f57387c2c9032b59fb23023cf5b25
Module-Build-0.4232, Module-Implementation-0.09
"Params::ValidationCompiler" constrói um validador de parâmetro de sub-rotina otimizado.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/Params-ValidationCompiler-0.31.tar.gz
Soma de verificação MD5 da transferência: 15528055f3f53c8cfebbee1f928dec07
Exception-Class-1.45, Specio-0.48
"Path::Tiny" fornece um pequeno utilitário rápido para trabalhar com caminhos de arquivos.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/Path-Tiny-0.144.tar.gz
Soma de verificação MD5 da transferência: 7b2fc4f5edfd29b88d2cc3b96830e7d1
"Role::Tiny" é uma ferramenta minimalista de composição de papéis.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/H/HA/HAARG/Role-Tiny-2.002004.tar.gz
Soma de verificação MD5 da transferência: 9ee45591befa3d0b1094ac75d282b6ba
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/C/CH/CHOCOLATE/Scope-Guard-0.21.tar.gz
Soma de verificação MD5 da transferência: be57b915d23ddac7677ef2ad9e52b92a
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/Specio-0.48.tar.gz
Soma de verificação MD5 da transferência: 96cf1ae4e2e205986e03672071116b16
Devel-StackTrace-2.04, Eval-Closure-0.14, Module-Runtime-0.016, Role-Tiny-2.002004, Sub-Quote-2.006008 e Try-Tiny-0.31
MRO-Compat-0.15, Test-Fatal-0.017 e Test-Needs-0.002010
namespace-autoclean-0.29 (para a suíte de teste)
"Sub::Exporter::Progressive" é um envólucro para "Sub::Exporter".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/F/FR/FREW/Sub-Exporter-Progressive-0.001013.tar.gz
Soma de verificação MD5 da transferência: 72cf6acdd2a0a8b105821a4db98e4ebe
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/R/RG/RGARCIA/Sub-Identify-0.14.tar.gz
Soma de verificação MD5 da transferência: 014f19e72698b6a2cbcb54adc9691825
"Sub::Info" é uma ferramenta para inspecionar sub-rotinas.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/E/EX/EXODIST/Sub-Info-0.002.tar.gz
Soma de verificação MD5 da transferência: 335345b534fc0539c894050f7814cbda
"Sub::Quote" fornece maneiras de gerar sub-rotinas a partir de sequências de caracteres.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/H/HA/HAARG/Sub-Quote-2.006008.tar.gz
Soma de verificação MD5 da transferência: f19c60039ba87f69f7f9357fc0a03e07
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/Sub-Uplevel-0.2800.tar.gz
Soma de verificação MD5 da transferência: 6c6a174861fd160e8d5871a86df00baf
"SUPER" fornece métodos mais fáceis para despachar o controle para a superclasse (ao subclassificar uma classe).
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/C/CH/CHROMATIC/SUPER-1.20190531.tar.gz
Soma de verificação MD5 da transferência: defb371225f8ef1581d8c8fcc6077b46
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/E/EX/EXODIST/Term-Table-0.016.tar.gz
Soma de verificação MD5 da transferência: ef0c76824c57eaa7796558060067bb49
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/R/RJ/RJBS/Test-Deep-1.204.tar.gz
Soma de verificação MD5 da transferência: fcff296434cd92538ae9de9d1744705f
"Test::Exception" fornece métodos convenientes para testar código baseado em exceções.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/E/EX/EXODIST/Test-Exception-0.43.tar.gz
Soma de verificação MD5 da transferência: 572d355026fb0b87fc2b8c64b83cada0
O módulo "Test::Fatal" fornece ajudantes simples para testar código que lança exceções.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/R/RJ/RJBS/Test-Fatal-0.017.tar.gz
Soma de verificação MD5 da transferência: 2f160c31e1848536e3b82112d573bb76
"Test::File" fornece uma coleção de utilitários de teste para atributos de arquivo.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/B/BD/BDFOY/Test-File-1.993.tar.gz
Soma de verificação MD5 da transferência: dccb988191187261ce3a2a10af939625
"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 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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/K/KE/KENTNL/Test-File-ShareDir-1.001002.tar.gz
Soma de verificação MD5 da transferência: ec31466aa44c1cd56c6cb51d7ec3a5de
Class-Tiny-1.008, File-Copy-Recursive-0.45, File-ShareDir-1.118, Path-Tiny-0.144 e Scope-Guard-0.21
"Test::LeakTrace" rastreia vazamentos de memória.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/L/LE/LEEJO/Test-LeakTrace-0.17.tar.gz
Soma de verificação MD5 da transferência: afdb2cc6be0807cb635fb601a004d522
"Test::MockModule" te permite redefinir temporariamente sub-rotinas em outros pacotes para os propósitos de teste de unidade.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/G/GF/GFRANKS/Test-MockModule-v0.176.0.tar.gz
Soma de verificação MD5 da transferência: f36bd9aee0349430c434dc1d06b03589
Module-Build-0.4232, SUPER-1.20190531
"Test::Needs" pula os testes se um módulo solicitado não estiver presente.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/H/HA/HAARG/Test-Needs-0.002010.tar.gz
Soma de verificação MD5 da transferência: 2b3d10946001561297624e7668f09c26
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/T/TO/TOKUHIROM/Test-Requires-0.11.tar.gz
Soma de verificação MD5 da transferência: 999d6c4e46ea7baae7a5113292e02ed8
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/M/MA/MALLEN/Test-RequiresInternet-0.05.tar.gz
Soma de verificação MD5 da transferência: 0ba9f1cff4cf90ed2618c2eddfd525d8
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/M/MA/MARKF/Test-utf8-1.02.tar.gz
Soma de verificação MD5 da transferência: 71d187539c76ac1ed9a0242ff208796d
"Test::Warnings" testa para avisos e a falta deles.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/E/ET/ETHER/Test-Warnings-0.031.tar.gz
Soma de verificação MD5 da transferência: f608f7011b0bb8f27d3a27e646a52f60
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): 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
"Test2::Plugin::NoWarnings" causa testes falhem se existir algum aviso durante a execução deles.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/Test2-Plugin-NoWarnings-0.09.tar.gz
Soma de verificação MD5 da transferência: efcddec6cda66260ae14206e28f7feeb
"Test2::Suite" é uma distribuição com um rico conjunto de ferramentas construídas sobre a estrutura "Test2".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/E/EX/EXODIST/Test2-Suite-0.000145.tar.gz
Soma de verificação MD5 da transferência: 5fcc87c264a1e93fe7cb0879a0abae15
Module-Pluggable-5.2, Scope-Guard-0.21, Sub-Info-0.002 e Term-Table-0.016
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/H/HM/HMBRAND/Text-CSV_XS-1.49.tgz
Soma de verificação MD5 da transferência: 479d31e37a1282966d3bd47506fb2dcd
"Text::Diff" realiza diferenças em arquivos e conjuntos de registros.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/N/NE/NEILB/Text-Diff-1.45.tar.gz
Soma de verificação MD5 da transferência: edf57b6189f7651a6be454062a4e6d9c
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/R/RC/RCLAMP/Text-Glob-0.11.tar.gz
Soma de verificação MD5 da transferência: d001559c504a2625dd117bd1558f07f7
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/B/BD/BDFOY/Tie-Cycle-1.227.tar.gz
Soma de verificação MD5 da transferência: 3d5004bd8e6f41345091a697673879b7
"TimeDate" fornece diversas rotinas de manipulação de fuso horário.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/A/AT/ATOOMIC/TimeDate-2.33.tar.gz
Soma de verificação MD5 da transferência: 5e5afe22c8d417417283d1f7f4572a57
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/E/ET/ETHER/Try-Tiny-0.31.tar.gz
Soma de verificação MD5 da transferência: 993a29ee8a03c9bd9c2f7c53d1082a03
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/V/VP/VPIT/Variable-Magic-0.63.tar.gz
Soma de verificação MD5 da transferência: ceb039e74253232bc5bdfb391ed5d6f5
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/G/GA/GAAS/WWW-RobotRules-6.02.tar.gz
Soma de verificação MD5 da transferência: b7186e8b8b3701e70c22abf430742403
libwww-perl-6.67 (instale esse módulo primeiro e instale-o mais tarde)
"XML::LibXML" é uma ligação "Perl" para libxml2-2.10.3.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/XML-LibXML-2.0208.tar.gz
Soma de verificação MD5 da transferência: 4cda143b948e1550c7fba4a1133cc6ad
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-1.12.tar.gz
Soma de verificação MD5 da transferência: a8916c6d095bcf073e1108af02e78c97
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cpan.metacpan.org/authors/id/G/GR/GRANTM/XML-SAX-1.02.tar.gz
Soma de verificação MD5 da transferência: b62e3754523695c7f5bbcafa3676a38d
libxml2-2.10.3, XML-NamespaceSupport-1.12 e XML-SAX-Base-1.09
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
Esse módulo tem uma tarefa muito simples - ser uma classe base para controladores e filtros "PerlSAX".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): 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
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 adequadamente usando uma plataforma LFS 11.3.
Download (HTTP): https://www.php.net/distributions/php-8.2.3.tar.xz
Download MD5 sum: cb768cf744184e64d48b15305c437336
Download size: 11 MB
Estimated disk space required: 673 MB (com a documentação)
Estimated build time: 1,7 UPC (com paralelismo=4; adicionar 1,6 UPC para os testes)
Optional pre-built documentation (single file html): https://www.php.net/distributions/manual/php_manual_en.html.gz
Optional pre-built documentation (chunked html): https://www.php.net/distributions/manual/php_manual_en.tar.gz. Note that the documentation can be found in languages other than English at https://www.php.net/download-docs.php
Apache-2.4.55 and libxml2-2.10.3
Aspell-0.60.8, enchant-2.3.3, libxslt-1.1.37, an MTA (that provides a sendmail command), pcre2-10.42, Pth-2.0.7, AppArmor, Dmalloc, Net-SNMP, oniguruma, OSSP mm, re2c, and XMLRPC-EPI
FreeType-2.13.0, libexif-0.6.24, libjpeg-turbo-2.1.5.1, libpng-1.6.39, libtiff-4.5.0, libwebp-1.3.0, um ambiente gráfico, FDF Toolkit, GD, and t1lib
cURL-7.88.1, tidy-html5-5.8.0, Caudium, Hyperwave, Roxen WebServer, and WDDX
Base de Dados Berkeley-5.3.28 (Note that PHP does not officially support versions above 5.3), libiodbc-3.52.15, lmdb-0.9.29, MariaDB-10.6.12 or MySQL, OpenLDAP-2.6.4, PostgreSQL-15.2, SQLite-3.40.1, unixODBC-2.3.11, Adabas, Birdstep, cdb, DBMaker, Empress, FrontBase, IBM DB2, Mini SQL, Monetra, and QDBM
PHP also provides support for many commercial database tools such as Oracle, SAP and ODBC Router.
Cyrus SASL-2.1.28, MIT Kerberos V5-1.20.1, libmcrypt, and mhash
User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/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.
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 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 https://anduin.linuxfromscratch.org/BLFS/files/php_configure.txt.
If, for whatever reason, you don't have libxml2-2.10.3
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.3 && install -v -m644 CODING_STANDARDS* EXTENSIONS NEWS README* UPGRADING* \ /usr/share/doc/php-8.2.3
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.3 && gunzip -v /usr/share/doc/php-8.2.3/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.3 --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
--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.
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.
To start the php-fpm daemon at boot,
install the systemd unit from the blfs-systemd-units-20220720
package by running the following command as the
root
user:
make install-php-fpm
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.
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tar.xz
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)
Remendo exigido: https://www.linuxfromscratch.org/patches/blfs/11.3/Python-2.7.18-security_fixes-1.patch
Documentação Opcional "HTML": https://www.python.org/ftp/python/doc/2.7.18/python-2.7.18-docs-html.tar.bz2
SQLite-3.40.1 (Para um módulo adicional)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/Python
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 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 {} \;
--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.
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
é 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 |
|
é a ferramenta de documentação do "Python" |
|
é uma linguagem de programação interpretada, interativa e orientada a objetos |
|
é um nome específico de versão para o aplicativo "python" |
|
é um "proxy" "SMTP" implementado em "Python" |
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.
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 adequadamente usando uma plataforma LFS 11.3.
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 "gobject-introspection-1.74.0", "opencv-4.7.0", "Graphviz-7.1.0" (se o "swig" estiver instalado).
Antes de atualizar, você pode obter uma lista completa dos módulos instalados com "pip3 list".
O módulo "wheel" e "meson" oriundos do LFS também terão de ser reinstalados: https://www.linuxfromscratch.org/lfs/view/development/chapter08/wheel.html e https://www.linuxfromscratch.org/lfs/view/development/chapter08/meson.html.
Em sistemas "systemd", também é necessário reinstalar os módulos "MarkupSafe" e "Jinja2" oriundos do LFS: https://www.linuxfromscratch.org/lfs/view/systemd/chapter08/markupsafe.html e https://www.linuxfromscratch.org/lfs/view/systemd/chapter08/jinja2.html.
Transferência (HTTP): https://www.python.org/ftp/python/3.11.2/Python-3.11.2.tar.xz
Soma de verificação MD5 da transferência: a957cffb58a89303b62124896881950b
Tamanho da transferência: 19 MB
Espaço em disco estimado exigido: 283 MB (adicionar 897 MB para os testes)
Tempo de construção estimado: 2,2 UPC (adicionar 3,4 UPC para os testes; ambos usando paralelismo=4)
Transferência (HTTP): https://www.python.org/ftp/python/doc/3.11.2/python-3.11.2-docs-html.tar.bz2
Soma de verificação MD5 da transferência: eb4132c780b60b5782a4f66b29b08d5c
SQLite-3.40.1 (exigido se construir "Firefox" ou "Thunderbird")
BlueZ-5.66, GDB-13.1 (exigido para alguns testes), Valgrind-3.20.0 e libmpdec
Base de Dados Berkeley-5.3.28, libnsl-2.0.0 e Tk-8.6.13
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/Python3
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.2/html tar --strip-components=1 \ --no-same-owner \ --no-same-permissions \ -C /usr/share/doc/python-3.11.2/html \ -xvf ../python-3.11.2-docs-html.tar.bz2
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-<arch>-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.
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.2 /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
é 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 |
|
é a ferramenta de documentação do "Python" |
|
é uma linguagem de programação interpretada, interativa e orientada a objetos |
|
é um nome específico de versão para o aplicativo "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.
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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/a/asciidoc/asciidoc-10.2.0.tar.gz
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
docbook-xsl-nons-1.79.2, fop-2.8, libxslt-1.1.37, Lynx-2.8.9rel.1, dblatex e W3m
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
-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".
CSSSelect fornece seletores "CSS" para "Python".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/c/cssselect/cssselect-1.2.0.tar.gz
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
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.
-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".
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://anduin.linuxfromscratch.org/BLFS/CacheControl/CacheControl-0.12.11.tar.gz
Soma de verificação MD5 da transferência: d4393117a879bf1b4e2c01e9c5a285a5
Tamanho da transferência: 17 KB
Espaço em disco estimado exigido: 468 KB
Tempo de construção estimado: menos que 0,1 UPC
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.
-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".
O pacote Cython fornece um compilador para escrever extensões "C" para a linguagem "Python".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/cython/cython/releases/download/0.29.33/Cython-0.29.33.tar.gz
Soma de verificação MD5 da transferência: bd42c555cb2298b8a94fa8de7ee679ba
Tamanho da transferência: 2,0 MB
Espaço em disco estimado exigido: 66 MB
Tempo de construção estimado: 0,5 UPC
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
-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".
é o depurador “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++” |
|
é 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 é 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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/martinpitt/python-dbusmock/releases/download/0.28.7/python-dbusmock-0.28.7.tar.gz
Soma de verificação MD5 da transferência: 7a605e4e1555e5b2fac18570422555e4
Tamanho da transferência: 92 KB
Espaço em disco estimado exigido: 1,0 MB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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-dbusmock
-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".
"D-Bus Python" fornece ligações "Python" para a interface "API" "D-Bus".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://dbus.freedesktop.org/releases/dbus-python/dbus-python-1.3.2.tar.gz
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
dbus-1.14.6, GLib-2.74.5, meson_python-0.12.0 e patchelf-0.17.2
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/dbus-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
-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".
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/docutils/docutils-0.19.tar.gz
Soma de verificação MD5 da transferência: 0afa992a6e93db892107c3f087d0d9df
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 Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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__
-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".
converte documentos em vários formatos |
|
gera documentos "(X)HTML" a partir de fontes independentes "reStructuredText" |
|
gera documentos "(X)HTML" a partir de fontes independentes "reStructuredText" |
|
gera documentos "HTML5" a partir de fontes independentes "reStructuredText" |
|
gera documentos "LaTeX" a partir de fontes independentes "reStructuredText" |
|
gera documentos manuais simples "Unix" a partir de fontes independentes "reStructuredText" |
|
gera documentos "OpenDocument/OpenOffice/ODF" a partir de fontes independentes "reStructuredText" |
|
Corrige um "styles.odt" gerado por processador de texto para uso do "odtwriter" |
|
gera pseudo "XML" a partir de fontes independentes "reStructuredText" (para fins de teste) |
|
gera apresentação de slides "(X)HTML" "S5" a partir de fontes independentes "reStructuredText" |
|
gera documentos "LaTeX" a partir de fontes independentes "reStructuredText" para compilação com as variantes "TeX" compatíveis com "Unicode" "XeLaTeX" ou "LuaLaTeX" |
|
gera "XML" nativo do "Docutils" a partir de fontes independentes "reStructuredText" |
|
gera "(X)HTML" a partir de arquivos "PEP" no formato "reStructuredText" |
O pacote "Doxypypy" é um filtro "doxygen" para "Python".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/d/doxypypy/doxypypy-0.8.8.7.tar.gz
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
chardet-5.1.0 e Doxygen-1.9.6 (em tempo de execução)
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.
-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".
O pacote "Doxyqml" permite usar "Doxygen" para documentar classes "QML".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/d/doxyqml/doxyqml-0.5.2.tar.gz
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)
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.
-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".
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/g/gi-docgen/gi-docgen-2023.1.tar.gz
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)
Markdown-3.4.1, Pygments-2.14.0 e typogrify-2.0.7
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".
-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".
Essas instruções fornecem as ligações "Python2" para a "libxml2": as ligações "Python3" são construídas como parte de libxml2-2.10.3 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 libxml2-2.10.3 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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/libxml2/2.10/libxml2-2.10.3.tar.xz
Soma de verificação MD5 da transferência: f9edac7fac232b3657a003fd9a5bbe42
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
libxml2-2.10.3 e Python-2.7.18
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
"lxml" fornece ligações "Python" para libxslt-1.1.37 e libxml2-2.10.3.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/l/lxml/lxml-4.9.2.tar.gz
Soma de verificação MD5 da transferência: aa84a7ce47581b43cb827145340505c6
Tamanho da transferência: 3,5 MB
Espaço em disco estimado exigido: 109 MB
Tempo de construção estimado: 0,9 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
-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".
"Mako" é um módulo "Python" que implementa modelos hiper-rápidos e leves para a plataforma "Python".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/M/Mako/Mako-1.2.4.tar.gz
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)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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".
-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".
"NumPy" é o pacote fundamental para computação científica com "Python".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/n/numpy/numpy-1.24.2.tar.gz
Soma de verificação MD5 da transferência: c4212a8da1ecf17ece37e2afd0319806
Tamanho da transferência: 1,2 MB
Espaço em disco estimado exigido: 159 MB (adicionar 89 MB para os testes)
Tempo de construção estimado: 1,1 UPC (1,9 UPC para os testes)
fortran oriundo do GCC-12.2.0, lapack e cblas, openblas
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
-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".
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/p/packaging/packaging-23.0.tar.gz
Soma de verificação MD5 da transferência: 5c7b22d9258e8132c16cee4f230d8252
Tamanho da transferência: 123 KB
Espaço em disco estimado exigido: 2,9 MB (adicionar 28 MB para os testes)
Tempo de construção estimado: menos que 0,1 UPC (0,2 UPC para os testes)
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 "pytest-7.2.1" 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
-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".
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): 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)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
O pacote "PyAtSpi2" contém ligações "Python" para os componentes centrais da Acessibilidade do "GNOME".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/pyatspi/2.46/pyatspi-2.46.0.tar.xz
Transferência (FTP): 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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
Essa versão do "PyCairo" fornece ligações "Python2" para "Cairo".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/pygobject/pycairo/releases/download/v1.18.2/pycairo-1.18.2.tar.gz
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
Hypothesis (para testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/pycairo
Essa versão do "PyCairo" é mantida somente para pacotes, como "Gimp-2.10.32", 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
"PyCairo" fornece ligações "Python" para "Cairo".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/pygobject/pycairo/releases/download/v1.23.0/pycairo-1.23.0.tar.gz
Soma de verificação MD5 da transferência: 7a3729d21659098e1b9a411b62e88966
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
Hypothesis e pytest-7.2.1 (para testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/pycairo
A versão atual do "pycairo" não mais constrói o módulo "Python2". Se você precisar desse módulo para pacotes como "Gimp-2.10.32", [então] use "PyCairo-1.18.2"
Instale "PyCairo" para "Python3" executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release .. && ninja
Para executar os testes, esse pacote exige o módulo opcional "pytest". Se ele estiver instalado, [então] execute os testes executando "ninja test". O teste "test_surface.py" tem uma falha.
Agora, como o(a) usuário(a) "root
":
ninja install
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/Legrandin/pycryptodome/archive/v3.17.0/pycryptodome-3.17.0.tar.gz
Soma de verificação MD5 da transferência: 0a6e509d91843c49ab1bc09d573e1959
Tamanho da transferência: 16 MB
Espaço em disco estimado exigido: 54 MB
Tempo de construção estimado: 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
-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".
"Pygments" é um realçador geral de sintaxe escrito em "Python", para mais de trezentas (300) linguagens.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/P/Pygments/Pygments-2.14.0.tar.gz
Soma de verificação MD5 da transferência: 447be4afb076c8325a7dc659aff5b931
Tamanho da transferência: 4,2 MB
Espaço em disco estimado exigido: 51 MB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
-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".
"PyGObject-2.28.7" fornece ligações "Python 2" para a classe "GObject" originária da "GLib".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/pygobject/2.28/pygobject-2.28.7.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/pygobject/2.28/pygobject-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
GLib-2.74.5, PyCairo-1.18.2 e Python-2.7.18
gobject-introspection-1.74.0 e libxslt-1.1.37 (para construir a documentação)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/pygobject2
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
--disable-introspection
: Omita
essa chave se você tiver instalado "gobject-introspection-1.74.0".
Observe que ela conflita com "PyGObject-3.42.2".
--disable-docs
: Essa opção
desabilita a reconstrução da documentação "HTML" se
"libxslt-1.1.37" estiver instalado.
"PyGObject3" fornece ligações "Python" para a classe "GObject" originária da "GLib".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/pygobject/3.42/pygobject-3.42.2.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/pygobject/3.42/pygobject-3.42.2.tar.xz
Soma de verificação MD5 da transferência: c5b31bb58156661c0954f1dbfc950fc9
Tamanho da transferência: 548 KB
Espaço em disco estimado exigido: 8,0 MB (adicionar 2,5 MB para os testes)
Tempo de construção estimado: 0,1 UPC (com os testes)
gobject-introspection-1.74.0 e PyCairo-1.23.0 (módulo "Python 3")
GTK-4.8.3, pep8, pyflakes e pytest-7.2.1
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/pygobject3
Primeiro, remova um teste defeituoso:
mv -v tests/test_gdbus.py{,.nouse}
Instale "pygobject3" executando os seguintes comandos:
mkdir build && cd build && meson --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 "GTK-4.8.3" não estiver instalado.
Agora, como o(a) usuário(a) "root
":
ninja install
--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.
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/pygtk/2.24/pygtk-2.24.0.tar.bz2
Transferência (FTP): 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
PyGObject-2.28.7 e Python-2.7.18
PyCairo-1.18.2 e Pango-1.50.12
PyCairo-1.18.2 e GTK+-2.24.33.
PyCairo-1.18.2 e libglade-2.6.4.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--enable-docs
: Essa
opção habilita reconstruir a documentação "HTML" se
"libxslt-1.1.37" estiver instalado.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/p/pyparsing/pyparsing-3.0.9.tar.gz
Soma de verificação MD5 da transferência: fadc2f3bf5872bf6310576a86c3566e0
Tamanho da transferência: 1,9 MB
Espaço em disco estimado exigido: 8,7 MB (adicionar 26 MB para os testes)
Tempo de construção estimado: menos que 0,1 UPC (0,3 UPC para os testes)
railroad-diagrams (também necessário para os testes)
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 "pytest-7.2.1" 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
-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".
O módulo "pySerial" encapsula o acesso à porta serial.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/p/pyserial/pyserial-3.5.tar.gz
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
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".
-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".
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/p/pytest/pytest-7.2.1.tar.gz
Soma de verificação MD5 da transferência: 366a4047534ef0485f700c20bb574f67
Tamanho da transferência: 1,2 MB
Espaço em disco estimado exigido: 10 MB (adicionar 31 MB para os testes)
Tempo de construção estimado: menos que 0,1 UPC (1,1 UPC para os testes)
attrs-22.2.0, iniconfig-2.0.0, packaging-23.0, pluggy-1.0.0 e py-1.11.0
Pygments-2.14.0, requests-2.28.2, argcomplete, hypothesis, mock, nose e xmlschema
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
-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".
"PyXDG" é uma biblioteca "Python" para acessar os padrões do "freedesktop.org".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/b0/25/7998cd2dec731acbd438fbf91bc619603fc5188de0a9a17699a781840452/pyxdg-0.28.tar.gz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
-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".
"PyYAML" é um módulo "Python" que implementa o analisador e emissor "YAML" de próxima geração.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/P/PyYAML/PyYAML-6.0.tar.gz
Soma de verificação MD5 da transferência: 1d19c798f25e58e3e582f0f8c977dbb8
Tamanho da transferência: 124 KB
Espaço em disco estimado exigido: 3,3 MB
Tempo de construção estimado: menos que 0,1 UPC
cython-0.29.33 e libyaml-0.2.5
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
-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".
"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 MyST-Parser. Infelizmente, LLVM-15.0.7 ainda depende desse módulo.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/r/recommonmark/recommonmark-0.7.1.tar.gz
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)
commonmark-0.9.1 e sphinx-6.1.3
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 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)'
-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".
gera um documento "HTML" a partir de fontes "markdown" |
|
gera um documento "LaTeX" a partir de fontes "markdown" |
|
gera uma página de manual a partir de fontes "markdown" |
|
gera um documento pseudo "XML" a partir de fontes "markdown" |
|
gera um documento "XeTeX" a partir de fontes "markdown" |
|
gera um documento "XML" a partir de fontes "markdown" |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/r/requests/requests-2.28.2.tar.gz
Soma de verificação MD5 da transferência: 09b752e0b0a672d805ae54455c128d42
Tamanho da transferência: 106 KB
Espaço em disco estimado exigido: 1,4 MB (adicionar 129 MB para os testes)
Tempo de construção estimado: menos que 0,1 UPC (0,8 UPC para os testes)
charset-normalizer-3.0.1, idna-3.4 e urllib3-1.26.14
make-ca-1.12, com p11-kit-0.24.1 (ambos necessários para usar os certificados "https:" do sistema, removendo uma dependência desnecessária relativa ao módulo "Certifi").
PySocks (também necessário para testagem)
pytest-7.2.1, Flask<2, httpbin, MarkupSafe<2.1, pytest-mock, pytest-httpbin, sphinx<5, trustme e Werkzeug<2
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.28.2-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 "pytest-7.2.1" 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
Veja-se "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.
-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".
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/scour-project/scour/archive/v0.38.2/scour-0.38.2.tar.gz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
-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".
"Six" é uma biblioteca de compatibilidade "Python" 2 a 3.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/s/six/six-1.16.0.tar.gz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
-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".
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/sphinx-doc/sphinx/archive/v6.1.3/sphinx-6.1.3.tar.gz
Soma de verificação MD5 da transferência: 18b07621d19d4b2cffd58d7a6ac5bed3
Tamanho da transferência: 6,4 MB
Espaço em disco estimado exigido: 43 MB (adicionar 35 MB para os testes)
Tempo de construção estimado: menos que 0,1 UPC (1,1 UPC para os testes)
alabaster-0.7.13, Babel-2.11.0, docutils-0.19, imagesize-1.4.1, packaging-23.0, Pygments-2.14.0, requests-2.28.2, snowballstemmer-2.2.0, sphinxcontrib-applehelp-1.0.3, sphinxcontrib-devhelp-1.0.2, sphinxcontrib-htmlhelp-2.0.0, sphinxcontrib-jsmath-1.0.1, sphinxcontrib-qthelp-1.0.3 e sphinxcontrib-serializinghtml-1.1.5
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 "cython-0.29.33" e "pytest-7.2.1" 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 && python3 /usr/bin/pytest deactivate
Um teste, "tests/test_config.py::test_needs_sphinx", é conhecido por falhar.
-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".
cria um arquivo "reST" a partir de módulos e pacotes "Python" |
|
gera "ReStructuredText" a partir de diretivas especiais contidas em determinados arquivos de entrada |
|
gera documentação em vários formatos a partir de arquivos fonte "ReStructuredText" |
|
gera os arquivos exigidos para um projeto "Sphinx" |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/s/sphinx_rtd_theme/sphinx_rtd_theme-1.2.0.tar.gz
Soma de verificação MD5 da transferência: e05658f53b4274bbe0756671bc188181
Tamanho da transferência: 2,7 MB
Espaço em disco estimado exigido: 14 MB (adicionar 25 MB para os testes)
Tempo de construção estimado: menos que 0,1 UPC (com os testes)
sphinx-6.1.3 e sphinxcontrib-jquery-2.0.0
Corrija uma versão errada para uma lista de dependências:
sed -e s/0.19/0.20/ \ -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_theme
Supondo que "pytest-7.2.1" 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".
-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".
Os módulos "Python" listados em "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.
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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/a/alabaster/alabaster-0.7.13.tar.gz
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
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
-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".
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/a/attrs/attrs-22.2.0.tar.gz
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)
pytest-7.2.1, coverage[toml], hypothesis, Pympler, mypy, pytest-mypy-plugins, zope.interface e cloudpickle
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
-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".
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/B/Babel/Babel-2.11.0.tar.gz
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)
pytest-7.2.1, Python-3.11.2 (com o módulo "sqlite"), freezegun==0.3.12 e pytest-cov
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 "pytest-7.2.1" 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
-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".
"Chardet" é um detector universal de codificação de caracteres.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/c/chardet/chardet-5.1.0.tar.gz
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)
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".
-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".
A biblioteca "charset-normalizer" ajuda a ler texto originário de uma codificação de caracteres desconhecida.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/c/charset-normalizer/charset-normalizer-3.0.1.tar.gz
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)
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-normalizer
Supondo que "pytest-7.2.1" 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
-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".
"Commonmark" analisador "Python" para a especificação "CommonMark Markdown".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/c/commonmark/commonmark-0.9.1.tar.gz
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)
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 "pytest-7.2.1" 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
-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".
Editables é uma biblioteca "Python" para criar “rodas editáveis”.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/e/editables/editables-0.3.tar.gz
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
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
-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".
O módulo "Flit_core" é o componente chave do sistema "Flit", que fornece uma maneira simples de colocar pacotes e módulos "Python" no "PyPi".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/f/flit_core/flit_core-3.8.0.tar.gz
Soma de verificação MD5 da transferência: 7c41da13273f7787709a24f74e0f5a99
Tamanho da transferência: 40 KB
Espaço em disco estimado exigido: 1,7 MB (adicionar 25 MB para os testes)
Tempo de construção estimado: menos que 0,1 UPC (com os testes)
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 flit_core
Supondo que "pytest-7.2.1" 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 testpath && python3 /usr/bin/pytest deactivate
-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".
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/h/hatchling/hatchling-1.12.2.tar.gz
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
editables-0.3, packaging-23.0, pathspec-0.10.3 e pluggy-1.0.0
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
-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".
"Hatch_vcs" é um "plugin" do "Hatch" para versionamento com diversos " VCS ".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/h/hatch-vcs/hatch_vcs-0.3.0.tar.gz
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)
hatchling-1.12.2 e setuptools_scm-7.1.0
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 falha.
-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".
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/i/idna/idna-3.4.tar.gz
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)
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".
-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".
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/i/imagesize/imagesize-1.4.1.tar.gz
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)
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
Para testar a instalação, execute "pytest".
-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".
Iniconfig é um módulo analisador de arquivo "INI" pequeno e simples.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/i/iniconfig/iniconfig-2.0.0.tar.gz
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
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
-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".
"Markdown" é um analisador "Python" para a especificação "Markdown" de John Gruber.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/M/Markdown/Markdown-3.4.1.tar.gz
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)
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 "pytest-7.2.1" e "PyYAML-6.0" 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
-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".
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/m/meson_python/meson_python-0.12.0.tar.gz
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
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
-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".
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/m/msgpack/msgpack-1.0.4.tar.gz
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
cython-0.29.33 e setuptools_scm-7.1.0
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".
-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".
"Pathspec" é uma biblioteca de utilitários para correspondência de padrões de caminhos de arquivos.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/p/pathspec/pathspec-0.10.3.tar.gz
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)
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".
-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".
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/p/pluggy/pluggy-1.0.0.tar.gz
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)
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 "pytest-7.2.1" 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
-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".
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/p/py/py-1.11.0.tar.gz
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
Construa o módulo:
pip3 wheel -w dist --no-build-isolation --no-deps $PWD
Agora, como o(a) usuário(a) "root
":
Devido à descontinuação desse pacote, a suíte de teste não é mantida e não pode ser executada.
pip3 install --no-index --find-links dist --no-cache-dir --no-user py
-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".
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/p/pyproject-metadata/pyproject-metadata-0.7.0.tar.gz
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
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-metadata
-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".
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/p/pytz/pytz-2022.7.1.tar.gz
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)
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.
-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".
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/s/setuptools_scm/setuptools_scm-7.1.0.tar.gz
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)
packaging-23.0 e typing_extensions-4.4.0
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_scm
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.
-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".
"Smartypants" traduz caracteres de pontuação "ASCII" simples em entidades "HTML" de pontuação tipográfica “inteligente”.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/leohemsted/smartypants.py/archive/v2.0.1/smartypants-2.0.1.tar.gz
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
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
-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".
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". Portanto, uma busca por "connected" também encontraria documentos que tenham somente as outras formas.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/s/snowballstemmer/snowballstemmer-2.2.0.tar.gz
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
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 snowballstemmer
-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".
O pacote "Sphinxcontrib-applehelp" é uma extensão "Sphinx" que produz livros de ajuda da "Apple".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/s/sphinxcontrib-applehelp/sphinxcontrib.applehelp-1.0.3.tar.gz
Soma de verificação MD5 da transferência: 3300454be23f6aa880eae08d2e1eee94
Tamanho da transferência: 20 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)
pytest-7.2.1 e sphinx-6.1.3 (dependência circular)
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.
-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".
O pacote "Sphinxcontrib-devhelp" é uma extensão "Sphinx" que produz documentos Devhelp.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/s/sphinxcontrib-devhelp/sphinxcontrib-devhelp-1.0.2.tar.gz
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)
pytest-7.2.1 e sphinx-6.1.3 (dependência circular)
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".
-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".
O pacote "Sphinxcontrib-htmlhelp" é uma extensão "Sphinx" que renderiza arquivos de ajuda "HTML".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/s/sphinxcontrib-htmlhelp/sphinxcontrib-htmlhelp-2.0.0.tar.gz
Soma de verificação MD5 da transferência: 70765b55395a3c20233631802902c840
Tamanho da transferência: 27 KB
Espaço em disco estimado exigido: 3,1 MB (adicionar 26 MB para os testes)
Tempo de construção estimado: menos que 0,1 UPC (com os testes)
pytest-7.2.1, sphinx-6.1.3 (dependência circular) e html5lib
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 "pytest-7.2.1" 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 && sed -i 's/text()/read_&/' tests/test_htmlhelp.py && python3 /usr/bin/pytest deactivate
o comando "sed ..." é necessário devido a uma mudança na "API" "Sphinx" para versões superiores a 5.0.
-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".
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/s/sphinxcontrib-jquery/sphinxcontrib-jquery-2.0.0.tar.gz
Soma de verificação MD5 da transferência: 9ac903391167c33761baa58278546dd4
Tamanho da transferência: 2,6 KB
Espaço em disco estimado exigido: 176 KB
Tempo de construção estimado: menos que 0,1 UPC
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
-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".
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/s/sphinxcontrib-jsmath/sphinxcontrib-jsmath-1.0.1.tar.gz
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)
pytest-7.2.1 e sphinx-6.1.3 (dependência circular)
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.
-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".
O pacote "Sphinxcontrib-qthelp" é uma extensão "Sphinx" que produz documentos "QtHelp".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/s/sphinxcontrib-qthelp/sphinxcontrib-qthelp-1.0.3.tar.gz
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)
pytest-7.2.1 e sphinx-6.1.3 (dependência circular)
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.
-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".
O pacote "Sphinxcontrib-serializinghtml" é uma extensão "Sphinx" que produz arquivos "HTML" “serializados” ("json" e "pickle").
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/s/sphinxcontrib-serializinghtml/sphinxcontrib-serializinghtml-1.1.5.tar.gz
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)
pytest-7.2.1 e sphinx-6.1.3 (dependência circular)
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".
-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".
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/t/typing_extensions/typing_extensions-4.4.0.tar.gz
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
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_extensions
-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".
"Typogrify" fornece filtros para aprimorar a tipografia da "web", incluindo suporte para modelos "Django" e "Jinja".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/t/typogrify/typogrify-2.0.7.tar.gz
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
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
-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".
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.pythonhosted.org/packages/source/u/urllib3/urllib3-1.26.14.tar.gz
Soma de verificação MD5 da transferência: 7e018ce0f7cddc0560fd4541b5febf06
Tamanho da transferência: 294 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 (0,7 UPC para os testes)
pytest-7.2.1, mock, PySocks, pytest-freezegun, pytest-timeout, python-dateutil, tornado e trustme
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
Supondo que "pytest-7.2.1" 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 \ pytest-freezegun && python3 /usr/bin/pytest deactivate
Uns poucos erros são conhecidos por ocorrerem.
-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".
Last updated on
O pacote "Ruby" contém o ambiente de desenvolvimento "Ruby". Isso é útil para "scripts" orientados a objetos.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.1.tar.xz
Soma de verificação MD5 da transferência: 23617540ad13c57ed8dd9d4ed32192a5
Tamanho da transferência: 14 MB
Espaço em disco estimado exigido: 461 MB (adicionar 1,3 GB para os documentos da "API" "C")
Tempo de construção estimado: 1,4 UPC (usando paralelismo=4; adicionar 5,0 UPC para os testes; adicionar 0,8 UPC para os documentos da "API" "C")
Base de Dados Berkeley-5.3.28, Doxygen-1.9.6, Graphviz-7.1.0, rustc-1.67.1, Tk-8.6.13, Valgrind-3.20.0 e DTrace
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/ruby
Instale "Ruby" executando o seguinte comando:
./configure --prefix=/usr \ --enable-shared \ --without-valgrind \ --docdir=/usr/share/doc/ruby-3.2.1 && make
Opcionalmente, construa os documentos da "API" "C" executando os seguintes comandos:
make capi
Para testar os resultados, emita: "make 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 tem um componente gravá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.
Agora, como o(a) usuário(a) "root
":
make install
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.
--enable-shared
: Essa
chave habilita construir a biblioteca compartilhada
"libruby
".
--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".
--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.
cria pacotes de "Ruby Gems" |
|
gerencia as dependências de um aplicativo durante todo o ciclo de vida dele |
|
é 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" |
|
é o comando para "RubyGems", que é um sofisticado gerenciador de pacotes para "Ruby". Isso é semelhante ao comando "pip" do "Python" |
|
é a interface interativa para "Ruby" |
|
é um utilitário de construção semelhante ao "make" para "Ruby" |
|
é um depurador interativo para "Ruby" |
|
gera documentação "Ruby" |
|
exibe documentação a partir de uma base de dados relacionada a classes, módulos e métodos "Ruby" |
|
é uma linguagem de "script" interpretada para programação orientada a objetos rápida e fácil |
|
contém as funções da "API" exigidas pelo "Ruby" |
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.
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.67.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
<N>
" (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=<N>
". 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-
" (com
"x
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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://static.rust-lang.org/dist/rustc-1.67.1-src.tar.xz
Soma de verificação MD5 da transferência: e5e47e53c52574ce89ea200e52819f81
Tamanho da transferência: 136 MB
Espaço em disco estimado exigido: 8,5 GB (501 MB instalado); adicionar 7,5 GB se executar os testes
Tempo de construção estimado: 13 UPC (incluindo o tempo de transferência; adicionar 16 UPC para os testes, ambos usando paralelismo=4)
cURL-7.88.1, libssh2-1.10.0 e LLVM-15.0.7 (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)
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.
"GDB-13.1" (usado pela suíte de teste se estiver presente) e "libgit2"
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/rust
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, [então] 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.67.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.67.1 && ln -svfn rustc-1.67.1 /opt/rustc
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", "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ável.
vendor = true
[install]
prefix = "/opt/rustc-1.67.1"
docdir = "share/doc/rustc-1.67.1"
[rust]
channel = "stable"
description = "para BLFS 11.3"
# BLFS costumava não instalar o executável "FileCheck" originário do "LLVM",
# de forma que desabilitava os testes "codegen". Os testes "assembly" dependem de "FileCheck"
# e não podem ser facilmente desabilitados, de forma que eles falharão de qualquer 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 ser
# 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 ser
# 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
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:
python3 ./x.py test --verbose --no-fail-fast | tee rustc-testlog
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.
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 estiver na casa de um dígito, [então] 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 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:
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
ln -svfn rustc-1.67.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", "rustfmt"]: se as ferramentas não forem especificadas, [então] a ausência de Miri agora causa falha na instalação. Mas Miri não é construído no canal estável. Algumas das outras ferramentas são improváveis de serem úteis, a menos que se usem analisadores (antigos) de código ou se edite a biblioteca padrão. Esse conjunto corresponde àquelas originárias do perfil 'default' no comando binário rustup que são recomendadas para a maioria dos usuários, exceto que a documentação foi desabilitada no início da seção '[build]'.
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 seja 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.
--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.
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
fornece verificações "lint" para um pacote "cargo" |
|
formata todos os arquivos "bin" e "lib" da caixa atual usando "Rustfmt" |
|
é o Gerenciador de Pacote para "Rust" |
|
fornece verificações "lint" para "Rust" |
|
é um "script" envólucro para "gdb", extraindo
módulos de impressão bonita do "Python" instalados
em " |
|
é 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 |
|
é um "script" envólucro para "LLDB" (o depurador "LLVM") que extrai os módulos de impressão bonita do "Python" |
|
é o compilador "rust" |
|
gera documentação a partir do código fonte "rust" |
|
formata código "rust" |
|
é a biblioteca padrão do "Rust", a fundação do logiciário portável "Rust" |
"SCons" é uma ferramenta para construir logiciário (e outros arquivos) implementada em "Python".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/scons/SCons-4.4.0.tar.gz
Soma de verificação MD5 da transferência: 056b141b420583e8faef8b1c64bc43cf
Tamanho da transferência: 3,0 MB
Espaço em disco estimado exigido: 23 MB
Tempo de construção estimado: menos que 0,1 UPC
docbook-xsl-nons-1.79.2 e libxslt-1.1.37
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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.4.0-py3.11.egg/*.1 \ /usr/share/man/man1
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.jedsoft.org/releases/slang/slang-2.3.3.tar.bz2
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)
libpng-1.6.39, PCRE-8.45 e Oniguruma
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/slang
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 && chmod -v 755 /usr/lib/slang/v2/modules/*.so
--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.
"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 Executando um Servidor "Subversion".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.apache.org/dist/subversion/subversion-1.14.2.tar.bz2
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)
Apr-Util-1.6.3 e SQLite-3.40.1
Serf-1.3.9 (para manusear "URLs" "http://" e "https://")
Apache-2.4.55, Boost-1.81.0, Cyrus SASL-2.1.28, dbus-1.14.6, Doxygen-1.9.6 (para gerar documentação "HTML"), gnome-keyring-42.1, libsecret-0.20.5, Py3c-1.4 (para as ligações "Python" e testes), Python-2.7.18 (com suporte "sqlite" para os testes), Ruby-3.2.1, SWIG-4.1.1 (para construir ligações "Perl", "Python" e "Ruby"), LZ4 e UTF8proc
Um de OpenJDK-19.0.2, Dante ou Jikes; JUnit 4 (para testar as ligações "Java") e apache-ant-1.10.13.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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 "Doxygen-1.9.6" 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=<caminho para o jar
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 "apache-ant-1.10.13" 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".
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
--with-apache-libexecdir
: Se o
"Apache-2.4.55" 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=<local do arquivo "jar"
do "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".
/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
".
é um aplicativo cliente de linha de comando usado para acessar repositórios do "Subversion" |
|
é uma ferramenta para criar, ajustar ou reparar um repositório "Subversion" |
|
é uma ferramenta de avaliação comparativa |
|
é um aplicativo para filtrar fluxos de formato de arquivo de despejo do repositório "Subversion" |
|
é a ferramenta de manipulação de repositório "FSFS" ("FileSystem sobre o FileSystem" - implementação do sistema de arquivos do "Subversion") |
|
é uma ferramenta para inspecionar um repositório "Subversion" |
|
é um cliente de comando de múltiplas "URLs" para o "Subversion" |
|
é uma ferramenta para despejar ou carregar um repositório remoto do "Subversion" |
|
é um aplicativo servidor independente personalizado, capaz de executar como um processo de segundo plano ou invocado por "SSH" |
|
é uma ferramenta de sincronização de repositório "Subversion" |
|
é usado para informar o número da versão e o estado de uma cópia funcional do repositório "Subversion" |
|
são as bibliotecas de suporte usadas pelos aplicativos do "Subversion" |
|
é 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 |
|
é 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 |
Esta seção descreverá como configurar, administrar e proteger 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:
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 svn
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}
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.
Existem várias maneiras de configurar um repositório "Subversion". Recomenda-se dar uma olhada no capítulo correspondente do 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." \
</caminho/para/árvore/fonte>
\
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 <nome_usuário(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/
Você possivelmente precise sair e entrar novamente para
atualizar tuas titularidades de membros(as) de grupo.
"su <nome_de_usuário(a)>
"
também deveria funcionar.
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 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".
Para iniciar o servidor durante a inicialização, instale a
unidade "svnserve.service
" a
partir do pacote "blfs-systemd-units-20220720":
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 ("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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/swig/swig-4.1.1.tar.gz
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)
"Boost-1.81.0" para testes e quaisquer das linguagens mencionadas na introdução, como dependências de tempo de execução
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--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-<linguagem>
:
permite desabilitar a construção de testes e exemplos para
<linguagem>, mas todas as capacidades de linguagens do
"SWIG" são sempre
construídas.
O pacote "sysprof" contém um perfilador estatístico e abrangente a todo o sistema para "Linux".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/sysprof/3.46/sysprof-3.46.0.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/sysprof/3.46/sysprof-3.46.0.tar.xz
Soma de verificação MD5 da transferência: af4e88af759419ad19b196d1166de485
Tamanho da transferência: 508 KB
Espaço em disco estimado exigido: 48 MB
Tempo de construção estimado: 0,1 UPC (usando paralelismo = 4)
desktop-file-utils-0.26, GTK-4.8.3, itstool-2.0.7, JSON-GLib-1.6.6, libadwaita-1.2.2, libdazzle-3.44.0, libunwind-1.6.2
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/sysprof
Instale "Sysprof" executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr .. && ninja
Para testar os resultados, emita: "ninja test".
Agora, como o(a) usuário(a) "root
":
ninja install
é uma interface gráfica para "sysprof" |
|
é usado para perfilar aplicativos em contêineres |
|
é uma interface de linha de comando para "sysprof" |
|
fornece funções de "API" para perfilamento de processos executando em um sistema |
|
fornece um gancho usado para capturar estatísticas a partir de um processo |
|
fornece funções de "API" para capturar estatísticas de memória |
|
fornece funções de "API" para rastrear a velocidade de um processo em execução |
|
fornece funções de "API" para a "GUI" do "sysprof" |
O pacote "Tk" contém um kit de ferramentas "GUI" "TCL".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/tcl/tk8.6.13-src.tar.gz
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)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
$([ $(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.
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/vala/0.56/vala-0.56.4.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/vala/0.56/vala-0.56.4.tar.xz
Soma de verificação MD5 da transferência: dbb3d5b4616211e68093676099d44d56
Tamanho da transferência: 3,8 MB
Espaço em disco estimado exigido: 195 MB (adicionar 18 MB para os testes)
Tempo de construção estimado: 0,5 UPC (usando paralelismo=4; adicionar 1,7 UPC para os testes)
Graphviz-7.1.0 (exigido para "valadoc")
dbus-1.14.6 (exigido para os testes), libxslt-1.1.37 (exigido para gerar a documentação), help2man, jing e weasyprint
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--disable-valadoc
: Essa opção é
exigida se "Graphviz-7.1.0" não estiver instalado.
é um compilador que traduz o código-fonte "Vala" em arquivos fonte e de cabeçalho "C" |
|
é um gerador de documentação para gerar documentação de "API" a partir do código-fonte "Vala" baseado na "libvala" |
|
gera um arquivo "GI" para pacotes baseados em "GObject" e "GLib" |
|
é um utilitário que gera arquivos "API" "Vala" ("VAPI") a partir de arquivos "GI" |
|
contém as funções da "API" "Vala" |
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://sourceware.org/pub/valgrind/valgrind-3.20.0.tar.bz2
Transferência (FTP): ftp://sourceware.org/pub/valgrind/valgrind-3.20.0.tar.bz2
Soma de verificação MD5 da transferência: e3ca8e03c6c527e80e7da5135a1b6beb
Tamanho da transferência: 16 MB
Espaço em disco estimado exigido: 381 MB (adicionar 66 MB para os testes)
Tempo de construção estimado: 0,5 UPC (Usando paralelismo=4; adicionar 8,1 UPC para os testes)
GDB-13.1 (para os testes), LLVM-15.0.7 (com "Clang") e Which-2.21 (para os testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/valgrind
Instale "Valgrind" executando os seguintes comandos:
sed -i 's|/doc/valgrind||' docs/Makefile.in && ./configure --prefix=/usr \ --datadir=/usr/share/doc/valgrind-3.20.0 && make
Para testar os resultados, emita: "make regtest". Os testes
possivelmente travem para sempre se "GDB-13.1" 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
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
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.
é um aplicativo para depuração e perfilamento de executáveis "Linux" |
|
pega um arquivo de saída produzido pela ferramenta "Callgrind" do "Valgrind" e imprime as informações em um formato de fácil leitura |
|
controla aplicativos sendo executados pela ferramenta "Callgrind" do "Valgrind" |
|
é uma ferramenta de pós-processamento para a ferramenta "Cachegrind" do "Valgrind" |
|
compara dois arquivos de saída gerada do "Cachegrind" |
|
mescla vários arquivos de saída gerada do "Cachegrind" em um |
|
pega um arquivo de saída produzido pela ferramenta "Massif" do "Valgrind" e imprime as informações em um formato de fácil leitura |
|
é um servidor que lê informações de depuração oriundas de objetos armazenados em uma máquina diferente |
|
escuta em um soquete os comentários do "Valgrind" |
|
é um intermediário entre "Valgrind" e "GDB" ou um "shell" |
"Yasm" é uma reescrita completa do montador "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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
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)
Python-2.7.18 e cython-0.29.33
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/yasm
Instale "yasm" executando os seguintes comandos:
sed -i 's#) ytasm.*#)#' Makefile.in && ./configure --prefix=/usr && make
Para testar os resultados, emita: "make check".
Agora, como o(a) usuário(a) "root
":
make install
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".
é 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" |
|
fornece todas as funcionalidades centrais do "yasm", para manipular instruções de máquina e construções de arquivos de objetos |
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
".
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 adequadamente usando uma plataforma LFS 11.3.
Transferência do binário (x86): https://anduin.linuxfromscratch.org/BLFS/OpenJDK/OpenJDK-19.0.2/OpenJDK-19.0.2+7-i686-bin.tar.xz
Soma de verificação MD5 da transferência: e5a9566e3d3a667b9098908b72855da8
Tamanho da transferência (binário): 159 MB
Espaço em disco estimado exigido: 307 MB
Transferência do binário (x86_64): https://anduin.linuxfromscratch.org/BLFS/OpenJDK/OpenJDK-19.0.2/OpenJDK-19.0.2+7-x86_64-bin.tar.xz
Soma de verificação MD5 da transferência: 1fccb8cd903f395ba1a80c678ba2a2e0
Tamanho da transferência (binário): 160 MB
Espaço em disco estimado exigido: 324 MB
alsa-lib-1.2.8, Cups-2.4.2, giflib-5.2.1 e Bibliotecas do Xorg
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-19.0.2-bin && mv -v * /opt/OpenJDK-19.0.2-bin && chown -R root:root /opt/OpenJDK-19.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-19.0.2-bin /opt/jdk
Agora você pode prosseguir para "Configurando o ambiente JAVA", onde as instruções assumem que o link acima existe.
"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 adequadamente usando uma plataforma LFS 11.3.
"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 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.
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 Java-19.0.2 nem a "JVM" construída com as instruções abaixo foram testadas contra o 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 aqui.
Transferência (HTTP): https://github.com/openjdk/jdk19u/archive/jdk-19.0.2-ga.tar.gz
Soma de verificação MD5 da transferência: 2c5489f4830bce40240dc4f76f890156
Tamanho da Transferência: 103 MB
Espaço em disco estimado exigido: 5,1 GB (adicionar 595 MB para os testes)
Tempo de construção estimado: 3,8 UPC com quatro (04) tarefas (adicionar 41 UPC para os testes com quatro (04) tarefas)
Equipamento opcional de teste
https://anduin.linuxfromscratch.org/BLFS/OpenJDK/OpenJDK-19.0.2/jtreg-6.1+1.tar.gz
Soma de verificação MD5 da transferência: 49e6bfa2506e96f461a01f9421a0961c
Tamanho da Transferência: 8,0 MB
Um binário existente (Java-19.0.2 ou uma versão construída anterior desse pacote. As instruções abaixo assumem que você está usando Configurando o ambiente JAVA), alsa-lib-1.2.8, cpio-2.13, Cups-2.4.2, UnZip-6.0, Which-2.21, Bibliotecas do Xorg e Zip-3.0
make-ca-1.12, giflib-5.2.1, Little CMS-2.14, libjpeg-turbo-2.1.5.1, libpng-1.6.39 e Wget-1.21.3
git-2.39.2, Graphviz-7.1.0, Mercurial-6.3.2, pandoc e pigz
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/openjdk
Se você baixou o equipamento opcional de teste, desempacote-o agora:
tar -xf ../jtreg-6.1+1.tar.gz
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-jtreg=$PWD/jtreg \ --with-lcms=system \ --with-libjpeg=system \ --with-libpng=system \ --with-zlib=system \ --with-version-build="7" \ --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):
<X>
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-19.0.2+7 && cp -Rv build/*/images/jdk/* /opt/jdk-19.0.2+7 && chown -R root:root /opt/jdk-19.0.2+7 && 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
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-19.0.2+7 /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 19.0.2 Tempo de Execução Comment=OpenJDK Java 19.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 19.0.2 Console Comment=OpenJDK Java 19.0.2 Console Keywords=java;console;monitoramento Exec=/opt/jdk/bin/jconsole Terminal=false Type=Application Icon=java Categories=Application;System;
EOF
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
"<X>
-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,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
".
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 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.
Se você executou as instruções na página "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.
combina múltiplos arquivos em um arquivamento "jar" |
|
assina arquivos "jar" e verifica as assinaturas e a integridade de um arquivo "jar" assinado |
|
inicia um aplicativo "Java" iniciando um ambiente em tempo de execução "Java", carregando uma classe especificada e invocando o método principal dela |
|
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 |
|
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 |
|
desmonta um arquivo de classe "Java" |
|
é um utilitário para enviar solicitações de comando de diagnóstico para uma "Java Virtual Machine" em execução |
|
é uma ferramenta gráfica de console para monitorar e gerenciar aplicativos "Java" e máquinas virtuais locais e remotas |
|
é um depurador simples de linha de comando para classes "Java" |
|
escaneia arquivos de classe ou "jar" em busca de usos de elementos obsoletos de "API" |
|
mostra as dependências de nível de pacote ou de nível de classe de arquivos de classe "Java" |
|
é uma ferramenta para trabalhar com arquivos “Flight Recorder” |
|
é uma ferramenta para analisar o conteúdo de um despejo central originário de uma "Java Virtual Machine" ("JVM") quebrada |
|
é usado para listar, extrair, verificar ou obter informações relativas a módulos no formato "jimage" |
|
imprime informações de configuração "Java" para um determinado processo "Java", arquivo central ou servidor remoto de depuração |
|
é usado para montar e otimizar um conjunto de módulos e as dependências deles em uma imagem personalizada em tempo de execução |
|
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 |
|
cria arquivos "JMOD" e lista o conteúdo dos arquivos existentes "JMOD" |
|
gera pacotes e imagens de aplicativos "Java" |
|
lista as "JVMs" instrumentadas no sistema alvo |
|
é um "shell" de "script" de linha de comando |
|
é uma ferramenta interativa para aprender a linguagem de programação "Java" e "prototipar" código "Java" |
|
imprime rastreamentos de pilha "Java" de camadas "Java" para um determinado processo "Java", arquivo central ou um servidor remoto de depuração |
|
exibe estatísticas de desempenho para uma "JVM" instrumentada |
|
é um aplicativo de servidor "RMI" que monitora a criação e o encerramento de "JVMs" instrumentadas |
|
fornece um servidor mínimo "HTTP", projetado para ser usado para prototipagem, testagem e depuração |
|
é um utilitário de gerenciamento de chaves e certificados |
|
cria e inicia um registro de objeto remoto na porta especificada no dispositivo atual |
|
retorna o "serialVersionUID" para uma ou mais classes em um formato adequado para cópia em uma classe em evolução |
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 "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 em, 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
unset AUTO_CLASSPATH_DIR dir jar
# Termina /etc/profile.d/openjdk.sh
EOF
Se "Sudo-1.9.13p1" 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
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
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 "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".
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.apache.org/dist/ant/source/apache-ant-1.10.13-src.tar.xz
Soma de verificação MD5 da transferência: 4cf5c6728612f4787eda265b0a2d266b
Tamanho da transferência: 3,7 MB
Espaço em disco estimado exigido: 242 MB
Tempo de construção estimado: 0,3 UPC (excluindo o tempo de transferência)
Uma "JDK" ("Binário "Java"" ou "OpenJDK-19.0.2") e "GLib-2.74.5"
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/apache-ant
Construa uma versão limitada de instruções de autoaprimoramento do "Apache Ant" usando o seguinte comando:
./bootstrap.sh
Agora corrija um problema quando o próximo comando tentar baixar um arquivo a partir de um sítio problemático:
sed -e 's|ftp.software.ibm.com|anduin.linuxfromscratch.org|' \ -e 's|software/awdtools/netrexx|BLFS/apache-ant|' \ -i fetch.xml
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.13 dist
Instale, como o(a) usuário(a) "root
":
cp -rv ant-1.10.13 /opt/ && chown -R root:root /opt/ant-1.10.13 && ln -sfv ant-1.10.13 /opt/ant
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.13 dist: Esse comando constrói, testa e, então, instala o pacote em um diretório temporário.
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 "Os Arquivos de Iniciação do Shell Bash".
ant*.jar
" e bibliotecas dependentes em
"$ANT_HOME
/lib
"
é uma ferramenta de construção baseada em "Java" usada por muitos pacotes em vez do aplicativo convencional "make" |
|
é um "script" de suporte usado para iniciar "scripts" de construção do "ant" em um dado diretório |
|
é um "script" "Perl" que fornece funcionalidade semelhante oferecida pelo "script" "antRun" |
|
é um conjunto de comandos "Perl" que permite ao "Bash" completar uma linha de comando do "ant" |
|
é um conjunto envólucro de comandos "Perl" usado para invocar o "ant" |
|
é um conjunto envólucro de comandos "Python" usado para invocar o "ant" |
|
arquivos são as bibliotecas de classes "Java" do "Apache Ant" |
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.
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
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 "NetworkManager-1.42.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" é 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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://roy.marples.name/downloads/dhcpcd/dhcpcd-9.4.1.tar.xz
Soma de verificação MD5 da transferência: 2b2f46648bc96979f96127f0e0e07d9b
Tamanho da transferência: 251 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)
LLVM-15.0.7 (com "Clang"), ntp-4.2.8p15, chronyd e ypbind
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/dhcpcd
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
Corrija um erro de tempo de execução causado por uma mudança na "glibc-2.36":
sed '/Deny everything else/i SECCOMP_ALLOW(__NR_getrandom),' \ -i src/privsep-linux.c
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
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
--libexecdir=/usr/lib/dhcpcd
:
Configura um local mais adequado para bibliotecas internas do
"dhcpcd".
--dbdir=/var/lib/dhcpcd
: O
"/var/db
" padrão não é
compatível com a "FHS"
--runstatedir=/run
: O
"/var/run
" padrão é um link
simbólico para "/run
".
--with-hook=...
: Opcionalmente,
você pode instalar mais ganchos, por exemplo, para instalar
alguns arquivos de configuração como "ntp.conf
". O conjunto de ganchos está no
diretório "dhcpcd-hooks
" na
árvore de construção.
--disable-privsep
:
Não use a separação de privilégios, que é o padrão.
--privsepuser=dhcpcd
:
Use esse(a) usuário(a) sem privilégios em uma configuração de
separação de privilégios.
--with-hook=...
: Opcionalmente,
você pode instalar mais ganchos, por exemplo, para instalar
alguns arquivos de configuração como "ntp.conf
". O conjunto de ganchos está no
diretório "dhcpcd-hooks
" na
árvore de construçã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
"blfs-systemd-units-20220720"
executando o seguinte comando como o(a) usuário(a)
"root
":
make install-dhcpcd
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 "/lib/dhcpcd/dhcpcd-hooks
". Configure o
"dhcpcd"
removendo ou adicionando ganchos de/para esse diretório.
A execução de ganchos consegue ser desabilitada usando-se
a opção de linha de comando "--nohook
" ("-C
") ou pela opção "nohook
" no arquivo "/etc/dhcpcd.conf
".
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.
O pacote "ISC DHCP" contém os aplicativos cliente e servidor para "DHCP". "dhclient" (o cliente) é usado para conectar-se a uma rede de intercomunicação que usa "DHCP" para atribuir endereços de rede de intercomunicação. "dhcpd" (o servidor) é usado para atribuir endereços de rede de intercomunicação em redes de intercomunicação privadas.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.isc.org/isc/dhcp/4.4.3-P1/dhcp-4.4.3-P1.tar.gz
Transferência (FTP): ftp://ftp.isc.org/isc/dhcp/4.4.3-P1/dhcp-4.4.3-P1.tar.gz
Soma de verificação MD5 da transferência: 36c6ca77212373b0cff478ae9e5d32af
Tamanho da transferência: 9,6 MB
Espaço em disco estimado exigido: 199 MB
Tempo de construção estimado: 0,7 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/dhcp
Você precisa ter suporte para "Packet Socket". O suporte "IPv6" é opcional.
[*] Networking support ---> [CONFIG_NET]
Networking options --->
<*> Packet socket [CONFIG_PACKET]
<*> The IPv6 Protocol ---> [CONFIG_IPV6]
Esse pacote não suporta construção paralela.
Tenha cuidado com as instruções abaixo. As aspas simples e duplas são importantes porque as variáveis definidas são usadas literalmente no código.
Instale "ISC DHCP" executando os seguintes comandos:
( export CFLAGS="${CFLAGS:--g -O2} -Wall -fno-strict-aliasing \ -D_PATH_DHCLIENT_SCRIPT='\"/usr/sbin/dhclient-script\"' \ -D_PATH_DHCPD_CONF='\"/etc/dhcp/dhcpd.conf\"' \ -D_PATH_DHCLIENT_CONF='\"/etc/dhcp/dhclient.conf\"'" && ./configure --prefix=/usr \ --sysconfdir=/etc/dhcp \ --localstatedir=/var \ --with-srv-lease-file=/var/lib/dhcpd/dhcpd.leases \ --with-srv6-lease-file=/var/lib/dhcpd/dhcpd6.leases \ --with-cli-lease-file=/var/lib/dhclient/dhclient.leases \ --with-cli6-lease-file=/var/lib/dhclient/dhclient6.leases ) && make -j1
Esse pacote não vem com uma suíte de teste.
Se você deseja instalar somente o cliente "ISC DHCP", [então] emita os seguintes
comandos como o(a) usuário(a) "root
":
make -C client install && install -v -m755 client/scripts/linux /usr/sbin/dhclient-script
Pule para "“Configuração do Cliente”" para a finalidade de configurar o cliente
Se você deseja instalar somente o servidor "ISC DHCP", [então] emita o seguinte
comando como o(a) usuário(a) "root
":
make -C server install
Pule para "“Configuração do Servidor”" para a finalidade de configurar o servidor.
Alternativamente, você consegue instalar o pacote inteiro,
que inclui o cliente, servidor, retransmissão, bibliotecas
estáticas e cabeçalhos de desenvolvimento executando os
seguintes comandos como o(a) usuário(a) "root
":
make install && install -v -m755 client/scripts/linux /usr/sbin/dhclient-script
Crie um "/etc/dhcp/dhclient.conf
" básico
executando o seguinte comando como o(a) usuário(a)
"root
":
install -vdm755 /etc/dhcp &&
cat > /etc/dhcp/dhclient.conf << "EOF"
# Inicia /etc/dhcp/dhclient.conf
#
# Um dhclient.conf(5) básico
#prepend domain-name-servers 127.0.0.1;
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, domain-search, host-name,
netbios-name-servers, netbios-scope, interface-mtu,
ntp-servers;
require subnet-mask, domain-name-servers;
#timeout 60;
#retry 60;
#reboot 10;
#select-timeout 5;
#initial-interval 2;
# Termina /etc/dhcp/dhclient.conf
EOF
Veja-se "man 5 dhclient.conf" para opções adicionais.
Agora crie o diretório "/var/lib/dhclient
" que conterá concessões
do cliente "DHCP" executando o seguinte comando como o(a)
usuário(a) "root
":
install -v -dm 755 /var/lib/dhclient
Se você deseja
configurar interfaces de rede de intercomunicação na
inicialização usando o "dhclient", [então] você
precisa instalar a unidade "dhclient@.service
" incluída no pacote
"blfs-systemd-units-20220720"
executando o seguinte comando como o(a) usuário(a)
"root
":
make install-dhclient
Certifique-se de desabilitar o serviço "systemd-networkd" ou configurá-lo para não gerenciar as interfaces que você quer gerenciar com o "dhclient".
Neste ponto você consegue testar se o "dhclient" está se
comportando conforme esperado executando o seguinte comando
como o(a) usuário(a) "root
":
systemctl start dhclient@eth0
Para iniciar o "dhclient" 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 dhclient@eth0
Substitua "eth0
"
pelo nome real da interface.
Observe que você só precisa do servidor "DHCP" se quiser emitir endereços "LAN" pela sua rede de intercomunicação. O cliente "DHCP" não precisa do servidor para a finalidade de funcionar corretamente.
Comece criando "/etc/dhcp/dhcpd.conf
" executando o
seguinte comando como o(a) usuário(a) "root
":
cat > /etc/dhcp/dhcpd.conf << "EOF"
# Inicia /etc/dhcp/dhcpd.conf
#
# Um dhcpd.conf(5) de exemplo
# Use isto para habilitar/desabilitar globalmente atualizações dinâmicas de DNS.
ddns-update-style none;
# Definições de opções comuns a todas as redes de intercomunicação suportadas...
option domain-name "exemplo.org";
option domain-name-servers ns1.exemplo.org, ns2.exemplo.org;
default-lease-time 600;
max-lease-time 7200;
# Esta é uma declaração de sub-rede muito básica.
subnet 10.254.239.0 netmask 255.255.255.224 {
range 10.254.239.10 10.254.239.20;
option routers rtr-239-0-1.exemplo.org, rtr-239-0-2.exemplo.org;
}
# Termina /etc/dhcp/dhcpd.conf
EOF
Ajuste o arquivo para atender às suas necessidades. Veja-se "man 5 dhcpd.conf" para opções adicionais.
Agora crie o diretório "/var/lib/dhcpd/dhcpd.leases
" que conterá
concessões do servidor "DHCP" executando os seguintes
comandos como o(a) usuário(a) "root
":
install -v -dm 755 /var/lib/dhcpd && touch /var/lib/dhcpd/dhcpd.leases
Se você deseja iniciar o servidor "DHCP" na inicialização,
[então] instale a unidade
"dhcpd.service
"
incluída no pacote "" "blfs-systemd-units-20220720":
make install-dhcpd
Você precisará editar o "/etc/default/dhcpd
" para a
finalidade de configurar a interface na qual o
"dhcpd"
atenderá as solicitações "DHCP".
é a implementação do cliente "DHCP" |
|
é usado pelo "dhclient" para (re)configurar interfaces. Ele pode fazer mudanças extras invocando "dhclient-{entry,exit}-hooks" personalizados |
|
implementa solicitações de "Dynamic Host Configuration Protocol" ("DHCP") e "Internet Bootstrap Protocol" ("BOOTP") para endereços de rede de intercomunicação |
|
fornece um meio de aceitar solicitações "DHCP" e "BOOTP" em uma sub-rede sem um servidor "DHCP" e retransmiti-las para um servidor "DHCP" em outra sub-rede |
|
fornece uma maneira interativa de conectar, consultar e possivelmente mudar o estado do servidor "ISC DHCP" via "OMAPI", a "Object Management API" |
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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.kernel.org/pub/linux/utils/net/bridge-utils/bridge-utils-1.7.1.tar.xz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/bridge
Habilite as seguintes opes na configuração do núcleo e recompile o núcleo, se necessário:
[*] Networking support ---> [CONFIG_NET]
Networking options --->
<*/M> 802.1d Ethernet Bridging [CONFIG_BRIDGE]
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
O pacote "cifs-utils" fornece um meio para montar compartilhamentos "SMB"/"CIFS" em um sistema Linux.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.samba.org/ftp/linux-cifs/cifs-utils/cifs-utils-7.0.tar.bz2
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
Talloc-2.4.0 (exigido se "krb" estiver instalado), MIT Kerberos V5-1.20.1
docutils-0.19 (para criar as páginas de manual), keyutils-1.6.1 (exigido para construir o módulo "PAM"), Linux-PAM-1.5.2, Samba-4.17.5 e libcap-2.67 com PAM ou libcap-ng
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/cifsutils
Habilite as seguintes opções na configuração do núcleo e recompile o núcleo, se necessário:
File systems --->
[*] Network File Systems ---> [CONFIG_NETWORK_FILESYSTEMS]
<*/M> SMB3 and CIFS support (advanced network filesystem) [CONFIG_CIFS]
Dependendo da configuração do teu servidor, opções adicionais do núcleo possivelmente sejam exigidas.
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
--disable-pam
: Não
construa suporte "PAM". Remova-a e use "--with-pamdir
" (veja-se abaixo), se
"Linux-PAM-1.5.2" estiver instalado e
você desejar suporte "PAM".
--with-pamdir=/usr/lib/security
:
Instale o módulo "PAM" em "/usr/lib/security
".
é 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 |
|
é 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 |
|
é 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) |
|
é 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") |
|
monta um sistema de arquivos "CIFS" do Linux. Geralmente é invocado indiretamente pelo comando "mount(8)" ao usar a opção "-t cifs" |
|
monta um sistema de arquivos baseado em "SMB3". Geralmente é invocado indiretamente pelo comando "mount(8)" ao usar a opção "-t smb3" |
|
destina-se a alterar uma "ACL" de um descritor de segurança para um objeto do sistema de arquivos |
|
exibe informações de cota para um sistema de arquivos "SMB" |
|
exibe informações de arquivos específicas de "SMB", como descritores de segurança e cotas |
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.kernel.org/pub/software/network/iw/iw-5.19.tar.xz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/iw
Para usar o "iw", o núcleo precisa ter os controladores apropriados e outros suportes disponíveis. O barramento apropriado também precisa estar disponível. Para "laptops" mais antigos, o barramento "PCMCIA" ("CONFIG_PCCARD") precisa ser construído. Em alguns casos, esse suporte de barramento também precisará ser construído para placas "iw" embutidas. O suporte apropriado de ponte também precisa ser construído. Para muitos "laptops" modernos, a ponte de dispositivo "CardBus" ("CONFIG_YENTA") será necessária.
Além do barramento, o controlador real para a placa sem fios específica também precisa estar disponível. Existem muitas placas sem fios e nem todas funcionam com o Linux. O primeiro lugar para procurar por suporte de placa é o núcleo. Os controladores estão localizados em "Device Drivers" → "Network Device Support" → "Wireless LAN" ("non-hamradio"). Existem também controladores externos disponíveis para algumas placas muito comuns. Para mais informações, consulte as notas de usuário(a).
Depois que os controladores corretos estiverem carregados, a
interface aparecerá em "/proc/net/wireless
".
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
sed ...: Instale páginas de manual descompactadas de acordo com outras páginas de manual.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (FTP): 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
LLVM-15.0.7 (com "Clang", usado por padrão se instalado)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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
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.
/etc/ncftp.*
e ~/.ncftp/*
; especialmente /etc/ncftp.prefs_v3
e ~/.ncftp/prefs_v3
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
".
é um aplicativo de navegador para "File Transfer Protocol" |
|
é um processador de tarefa "FTP" em lote individual |
|
é o editor de marcadores do "NcFTP" (baseado em "NCurses") |
|
é um aplicativo de transferência de arquivos da Internet para conjuntos de comandos sequenciais usados para recuperar arquivos |
|
é um aplicativo de transferência de arquivos da Internet para conjuntos de comandos sequenciais usados para listar arquivos |
|
é um aplicativo de transferência de arquivos da Internet para conjuntos de comandos sequenciais usados para transferir arquivos |
|
é um processo de segundo plano global de processador de tarefas "FTP" em lote |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/project/net-tools/net-tools-2.10.tar.xz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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.
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/* /
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.
é usado para manipular o "cache" "ARP" do núcleo, geralmente para adicionar ou deletar uma entrada, ou para despejar todo o "cache" |
|
adiciona, deleta e mostra os endereços "multicast" de uma interface |
|
adiciona, muda, deleta e mostra os túneis de uma interface |
|
verifica ou configura o situação de uma unidade "Media Independent Interface" ("MII") de uma interface de rede de intercomunicação |
|
nomeia interfaces de rede baseado em endereços "MAC" |
|
é usado para informar conexões de rede, tabelas de roteamento e estatísticas de interface |
|
é usado para ajustar os parâmetros do dispositivo "PLIP", para melhorar o desempenho dele |
|
é usado para manipular a tabela "RARP" do núcleo |
|
é usado para manipular a tabela de roteamento "IP" |
|
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 |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.kernel.org/pub/linux/utils/nfs-utils/2.6.2/nfs-utils-2.6.2.tar.xz
Soma de verificação MD5 da transferência: 0961dc4777363b88f10305fc4957449f
Tamanho da transferência: 700 KB
Espaço em disco estimado exigido: 17 MB
Tempo de construção estimado: 0,2 UPC
libtirpc-1.3.3 e rpcsvc-proto-1.4.3
Cyrus SASL-2.1.28 (para autenticação "SASL"), LVM2-2.03.18 ("libdevmapper" para suporte "NFSv4"), libnsl-2.0.0 (para suporte ao cliente "NIS"), OpenLDAP-2.6.4 (para autenticação "LDAP"), SQLite-3.40.1, MIT Kerberos V5-1.20.1 ou libgssapi e librpcsecgss (para suporte de segurança "GSS" e "RPC") e libcap-2.67 com PAM
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/nfs-utils
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 ---> [CONFIG_NETWORK_FILESYSTEMS]
<*/M> NFS client support [CONFIG_NFS_FS]
<*/M> NFS server support [CONFIG_NFSD]
Selecione as sub opções apropriadas que aparecem quando as opções acima são selecionadas.
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.
Instale o "NFS Utilities" executando os seguintes comandos:
./configure --prefix=/usr \ --sysconfdir=/etc \ --sbindir=/usr/sbin \ --disable-nfsv4 \ --disable-gss && make
Esse pacote não vem com uma suíte de teste funcional.
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
--disable-gss
:
Desabilita o suporte para "GSS" do "RPCSEC" (Segurança
"RPC").
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.
"/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 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
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.
Instale as unidades de servidor NFSv4 inclusas no pacote blfs-systemd-units-20220720 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.
"/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
":
<nome-servidor>
:/home /home nfs rw,_netdev 0 0<nome-servidor>
:/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.
As seguintes unidades do "systemd" não são necessárias se as unidades "nfs-server" estiverem instaladas.
Instale as unidades inclusas no pacote "" "blfs-systemd-units-20220720" para iniciar os serviços do cliente na inicialização.
make install-nfs-client
mantém uma lista de sistemas de arquivos "NFS" exportados |
|
exibe estatísticas "NFS" por montagem do cliente |
|
é usado para montar um compartilhamento de rede de intercomunicação usando "NFS" |
|
é usado para montar um compartilhamento de rede de intercomunicação usando "NFSv4" |
|
pode ser usado para testar e recuperar definições de configuração a partir de uma variedade de arquivos de configuração "nfs-utils" |
|
imprime informações relativas a clientes "NFS" |
|
informa estatísticas de entrada/saída para sistemas de arquivos de rede de intercomunicação |
|
exibe estatísticas mantidas a respeito da atividade "NFS" do cliente e do servidor |
|
implementa o protocolo de montagem "NFS" em um servidor "NFS" |
|
implementa a parte de nível de usuário(a) do serviço "NFS" no servidor |
|
é usado pelo serviço de bloqueio de arquivos "NFS". Execute em ambos os lados, cliente e servidor, quando desejar o bloqueio de arquivos habilitado |
|
configura ou limpa os sinalizadores de depuração do "NFS" do cliente e do servidor do núcleo |
|
exibe informações de montagem para um servidor "NFS" |
|
é usado para enviar mensagens de reinicialização do "Network Status Monitor" |
|
é 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 |
|
é usado para desmontar um compartilhamento de rede de intercomunicação usando "NFS" |
|
é usado para desmontar um compartilhamento de rede de intercomunicação usando "NFSv4" |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-4.2.8p15.tar.gz
Soma de verificação MD5 da transferência: e1e6b23d2fc75cced41801dbcd6c2561
Tamanho da transferência: 6,7 MB
Espaço em disco estimado exigido: 108 MB (com os testes)
Tempo de construção estimado: 0,4 UPC (Usando paralelismo=4; com os testes)
libcap-2.67 com PAM, libevent-2.1.12, libedit e libopts originário do AutoGen
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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.8p15 && make
A suíte de teste desse pacote está quebrada com o "GCC" 10 ou posterior.
Agora, como o(a) usuário(a) "root
":
make install && install -v -o ntp -g ntp -d /var/lib/ntp
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.
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 https://www.ntp.org/ e 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 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
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 ""
"blfs-systemd-units-20220720".
make install-ntpd
Se você preferir executar o "ntpd" periodicamente,
[então] adicione o seguinte comando ao "crontab
" do(a) "root
":
ntpd -q
calcula o valor ideal para o "tick" dado o arquivo de mudança gradual do "NTP" |
|
gera arquivos de dados criptográficos usados pelos esquemas de autenticação e identificação "NTPv4" |
|
é útil ao tempo da inicialização, para atrasar a sequência de inicialização até que o "ntpd" tenha configurado a hora |
|
é 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" |
|
é um aplicativo cliente que configura a data e a hora baseado na resposta originária de um servidor "NTP". Esse comando está obsoleto |
|
é usado para consultar o processo de segundo plano "ntp" sobre o estado atual dele e para solicitar mudanças nesse estado |
|
é um aplicativo utilitário usado para monitorar operações "ntpd" e determinar o desempenho |
|
lê e exibe variáveis do núcleo relacionadas à hora |
|
rastreia uma cadeia de servidores "NTP" até a fonte primária |
|
é um cliente "Simple Network Time Protocol" ("SNTP") |
|
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 |
|
é um conjunto de comandos sequenciais para verificar e, se necessário, atualizar o arquivo de definição de segundos bissextos |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/rpcbind/rpcbind-1.2.6.tar.bz2
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--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
".
é 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 |
|
faz uma chamada "RPC" para um servidor "RPC" e informa dados de acordo com as opções solicitadas |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.samba.org/ftp/rsync/src/rsync-3.2.7.tar.gz
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)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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 "Doxygen-1.9.6" 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
--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 xxhash.
--without-included-zlib
: Essa
chave habilita a compilação com a biblioteca "zlib" instalada
no sistema.
Para acesso de cliente a arquivos remotos, você possivelmente precise instalar o pacote "OpenSSH-9.2p1" 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 https://rsync.samba.org/documentation.html.
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
"" "blfs-systemd-units-20220720".
make install-rsyncd
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.
é 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 |
|
é um conjunto de comandos sequenciais auxiliares usado ao conectar-se a um processo de segundo plano "rsync" que tenha suporte "SSL" integrado |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.samba.org/pub/samba/stable/samba-4.17.5.tar.gz
Soma de verificação MD5 da transferência: 8e1d89cad4de151a6de83ff1eac359a1
Tamanho da transferência: 29 MB
Espaço em disco estimado exigido: 715 MB (adicionar 30 MB para teste rápido)
Tempo de construção estimado: 2,2 UPC (usando paralelismo=4; adicionar 0,3 UPC para teste rápido)
GnuTLS-3.8.0, jansson-2.14, JSON-4.10, libtirpc-1.3.3, lmdb-0.9.29 e rpcsvc-proto-1.4.3
Fuse-3.13.1, GPGME-1.18.0, ICU-72.1, libtasn1-4.19.0, libxslt-1.1.37 (para documentação), Linux-PAM-1.5.2, Parse-Yapp-1.21 e OpenLDAP-2.6.4
Avahi-0.8, BIND-9.18.12, Cups-2.4.2, Cyrus SASL-2.1.28, GDB-13.1, git-2.39.2, GnuPG-2.4.0 (exigido para "ADS" e a suíte de teste), libaio-0.3.113, libarchive-3.6.2, libcap-2.67 com PAM, libgcrypt-1.10.1, libnsl-2.0.0, libunwind-1.6.2, MIT Kerberos V5-1.20.1, nss-3.88.1, popt-1.19, Talloc-2.4.0 (incluso), Vala-0.56.4, Valgrind-3.20.0 (opcionalmente usado pela suíte de teste), xfsprogs-6.1.1, cmocka, cryptography, ctdb (incluso), cwrap, dnspython, FAM, Gamin, GlusterFS, Heimdal (incluso), iso8601, ldb (incluso), M2Crypto (exigido para "ADS"), OpenAFS, pyasn1, PyGPGME (recomendado para "ADS"), tevent (incluso), tdb (incluso) e tracker-2
Instale na ordem listada: six-1.16.0, pytest-7.2.1, argparse, extras, hypothesis, coverage, pytest-cov, doctools, unittest2, testtools, fixtures, python-mimeparse, contextlib2, traceback2, linecache2, testscenarios, testresources, virtualenv, pbr e python-subunit
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/samba4
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 \ CPPFLAGS="-I/usr/include/tirpc" \ LDFLAGS="-ltirpc" \ ./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
".
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.LDAP && install -v -m644 examples/LDAP/samba* \ /etc/openldap/schema && install -v -m755 examples/LDAP/{get*,ol*} \ /etc/openldap/schema
--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
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.
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
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".
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).
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.
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
".
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.
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
".
Para iniciar os processos de segundo plano do
"Samba" na
inicialização, instale as unidades do "systemd" a partir
do pacote "blfs-systemd-units-20220720"
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 "blfs-systemd-units-20220720"
executando o seguinte comando como o(a) usuário(a)
"root
":
make install-winbindd
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.
é o comando "dd" para "SMB" |
|
é usado para ler e manipular bases de dados "TDB"/"CTDB" usando a interface "dbwrap" |
|
despeja o conteúdo de arquivos de catálogo do "MS" |
|
é 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 " |
|
é usado para executar operações genéricas aleatórias "SMB" contra dois servidores "SMB" e mostrar as diferenças de comportamento |
|
é um utilitário de linha de comando para adicionar registros a uma base de dados "LDB" |
|
é um utilitário de linha de comando para deletar registros de base de dados "LDB" |
|
permite que você edite bases de dados "LDB" usando teu editor preferido |
|
permite que você modifique registros em uma base de dados "LDB" |
|
permite que você renomeie bases de dados "LDB" |
|
pesquisa em uma base de dados "LDB" por registros que correspondam a uma expressão especificada |
|
é usado para encontrar diferenças no bloqueio entre dois servidores "SMB" |
|
é usado para encontrar diferenças na correspondência de curingas entre a implementação do Samba e aquela de um servidor remoto |
|
executa pesquisas "Spotlight" em um servidor "SMB" |
|
é usado para renomear recursivamente atributos estendidos |
|
é um analisador e despejador de pacotes "DCE"/"RPC" |
|
é uma ferramenta para administração de servidores "Samba" e "CIFS" remotos, semelhante ao utilitário "net" para "DOS"/"Windows" |
|
é o servidor de nomes "NetBIOS" do "Samba" |
|
é usado para consultar nomes "NetBIOS" e mapeá-los para endereços "IP" |
|
é uma ferramenta para permitir acesso externo à função de autenticação "NTLM" do "Winbind" |
|
converte esquemas "LDAP" em "LDIF" compatível com "LDB" |
|
é uma ferramenta usada para gerenciar a base de dados "SAM" |
|
é um utilitário que informa e muda "SIDs" em arquivos de registro do "Windows" |
|
é um aplicativo "Diff" para arquivos de registro do "Windows" |
|
aplica remendos de registro aos arquivos de registro |
|
é um navegador de arquivos de registro do "Windows" usando "Readline" |
|
é um visualizador de registro em modo texto |
|
é usado para executar funções "MS-RPC" do lado do cliente |
|
permite que você edite "Group Policy Objects" ("GPOs") da Microsoft |
|
é uma ferramenta baseada em "ncurses" para gerenciar o registro do Samba |
|
é a principal ferramenta de administração do Samba |
|
manipula permissões de compartilhamento de "ACL" em compartilhamentos de arquivos "SMB" |
|
é usado para manipular listas de controle de acesso do "Windows NT" |
|
é um utilitário de acesso "SMB"/"CIFS", semelhante ao "FTP" |
|
é usado para controlar a execução dos processos de segundo plano "smbd", "nmbd" e "winbindd" |
|
é usado para manipular cotas do "Windows NT" em compartilhamentos de arquivos "SMB" |
|
é o principal processo de segundo plano do "Samba" o qual fornece serviços "SMB"/"CIFS" aos clientes |
|
é 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 |
|
muda uma senha do "Samba" de um usuário |
|
envia uma trabalho de impressão para uma impressora "SMB" |
|
informa as conexões atuais do "Samba" |
|
é 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 |
|
é uma suíte de teste que executa vários testes em um servidor "SMB" |
|
é um navegador de rede de intercomunicação "SMB" baseado em texto |
|
é uma ferramenta para produzir cópia de segurança
ou para validar a integridade de arquivos
" |
|
é uma ferramenta usada para imprimir o conteúdo de
um arquivo " |
|
é uma ferramenta para criar um arquivo
" |
|
é uma ferramenta que permite a manipulação simples de base de dados a partir da linha de comando |
|
verifica um arquivo " |
|
consulta um processo de segundo "winbindd" em execução |
|
resolve nomes a partir de servidores "Windows NT" |
|
fornece funções da "API" "Name Service Switch" para resolver nomes a partir de servidores "NT" |
|
fornece funções de "API" para implementação do Samba do "Windows Internet Naming Service" |
|
fornece funções de "API" para as ferramentas de administração usadas para servidores Samba e "CIFS" remotos |
|
fornece funções de "API" para as ferramentas de cliente "SMB" do Samba |
|
fornece funções de "API" para serviços de cliente de domínio do "Windows" |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.gnu.org/gnu/wget/wget-1.21.3.tar.gz
Transferência (FTP): ftp://ftp.gnu.org/gnu/wget/wget-1.21.3.tar.gz
Soma de verificação MD5 da transferência: e89496b15f8bf039d723926fae4d91f5
Tamanho da transferência: 4,8 MB
Espaço em disco estimado exigido: 40 MB (adicionar 26 MB para os testes)
Tempo de construção estimado: 0,3 UPC (adicionar 0,2 UPC para os testes)
make-ca-1.12 (tempo de execução)
GnuTLS-3.8.0, HTTP-Daemon-6.15 (para a suíte de teste), IO-Socket-SSL-2.081 (para a suíte de teste), libidn2-2.3.4, libpsl-0.21.2, PCRE-8.45 ou pcre2-10.42 e Valgrind-3.20.0 (para a suíte de teste)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--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
"GnuTLS-3.8.0".
--enable-valgrind-tests
: Isso
permite que os testes sejam executados sob o "Valgrind".
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://hewlettpackard.github.io/wireless-tools/wireless_tools.29.tar.gz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/WirelessTools
Para usar "Wireless Tools", o núcleo precisa ter os controladores apropriados e outros suportes disponíveis. O barramento apropriado também precisa estar disponível. Para muitos "laptops", o barramento "PCMCIA" ("CONFIG_PCCARD") precisa ser construído. Em alguns casos, esse suporte de barramento também precisa ser construído para placas sem fios incorporadas. O suporte de ponte apropriado também precisa ser construído. Para muitos "laptops" modernos, a ponte de dispositivo "CardBus" ("CONFIG_YENTA") será necessária.
Além do barramento, o controlador real para a placa sem fios específica também precisa estar disponível. Existem muitas placas sem fios e nem todas funcionam com o Linux. O primeiro lugar para procurar suporte de placa é o núcleo. Os controladores estão localizados em Device Drivers → Network Device Support → Wireless LAN (non-hamradio). Existem também controladores externos disponíveis para algumas placas muito comuns. Para mais informações, consulte as notas de usuário(a).
Depois que os controladores corretos estiverem carregados, a
interface aparecerá em "/proc/net/wireless
".
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
INSTALL_MAN=/usr/share/man:
Instala as páginas de manual em "/usr/share/man
" em vez de "/usr/man
".
renomeia interfaces de rede de intercomunicação baseado em vários critérios estáticos |
|
configura uma interface de rede de intercomunicação sem fio |
|
exibe eventos sem fio gerados por controladores e mudanças de configuração |
|
informa "ESSID", "NWID" ou endereço "AP"/"Cell" de redes de intercomunicação sem fio |
|
obtém informações sem fio detalhadas a partir de uma interface sem fio |
|
configura parâmetros opcionais (privados) de uma interface de rede de intercomunicação sem fio |
|
obtém estatísticas sem fio a partir de um nó específico |
|
contém funções exigidas pelos aplicativos sem fio e fornece uma "API" para outros aplicativos |
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://w1.fi/releases/wpa_supplicant-2.10.tar.gz
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)
desktop-file-utils-0.26 (para executar update-desktop-database) e libnl-3.7.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/wpa_supplicant
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 ---> [CONFIG_NET]
[*] Wireless ---> [CONFIG_WIRELESS]
<*/M> cfg80211 - wireless configuration API [CONFIG_CFG80211]
[*] cfg80211 wireless extensions compatibility [CONFIG_CFG80211_WEXT]
<*/M> Generic IEEE 802.11 Networking Stack (mac80211) [CONFIG_MAC80211]
Device Drivers --->
[*] Network device support ---> [CONFIG_NETDEVICES]
[*] Wireless LAN ---> [CONFIG_WLAN]
Abra o submenu e selecione as opções que suportam o teu hardware: "lspci" oriundo de "pciutils-3.9.0" pode ser usado para visualizar a configuração do teu hardware.
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 "NetworkManager-1.42.0", [então] certifique-se de ter instalado o "dbus-1.14.6" e o "libxml2-2.10.3" 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
cd wpa_supplicant && make BINDIR=/usr/sbin LIBDIR=/usr/lib
Se você tiver instalado o "Qt-5.15.8" e desejar construir o aplicativo "GUI" do "WPA Supplicant", [então] execute os seguintes comandos:
O seguinte nome de diretório é rotulado como "qt4", mas é compatível com o "Qt-5.15.8".
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/man8/
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/
Você precisará reiniciar o processo de segundo plano "D-Bus" do sistema antes que possa usar a interface "WPA Supplicant" do "D-Bus".
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 desktop-file-utils-0.26
instalado e emitir o seguinte comando como o(a) usuário(a)
root
:
update-desktop-database -q
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-
".
"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) "wifi0
.confroot
":
install -v -dm755 /etc/wpa_supplicant && wpa_passphraseSSID
SENHA_SECRETA
> /etc/wpa_supplicant/wpa_supplicant-wifi0
.conf
"/etc/wpa_supplicant/wpa_supplicant-
"
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.
wifi0
.conf
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-
".
Substitua "Algum-SSID" pelo "SSID" do ponto de
acesso/roteador.
wifi0
.conf
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=<grupo privilegiado> update_config=1
Substitua o <grupo privilegiado> 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.
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 Configuração Geral de Rede de Intercomunicação no LFS.
é um aplicativo gráfico de estrutura de interação direta com o(a) usuário(a) para interagir com o "wpa_supplicant" |
|
é um processo de segundo plano que consegue se conectar a um ponto de acesso sem fio protegido por senha |
|
pega um "SSID" e uma senha e gera uma configuração simples que o "wpa_supplicant" consiga entender |
|
é uma interface de linha de comando usada para controlar um processo de segundo plano "wpa_supplicant" em execução |
Este capítulo contém algumas ferramentas que serão úteis quando a rede de intercomunicação precisar de investigação.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/basicnetworkingutilities
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/lathiat/avahi/releases/download/v0.8/avahi-0.8.tar.gz
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
gobject-introspection-1.74.0, GTK+-2.24.33, GTK+-3.24.36, libdaemon-0.14, libglade-2.6.4 e Qt-5.15.8
D-Bus Python-1.3.2, libevent-2.1.12, PyGTK-2.24.0, Doxygen-1.9.6 e xmltoman (para gerar documentação)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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-daemon -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
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
--disable-libevent
:
Esse parâmetro desabilita o uso da "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".
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
é um processo de segundo plano de configuração de endereço de rede de intercomunicação "IPv4LL" |
|
procura serviços "mDNS"/"DNS-SD" usando o processo de segundo plano "Avahi" |
|
procura serviços "mDNS"/"DNS-SD" usando o processo de segundo plano "Avahi" |
|
é o processo de segundo plano "mDNS"/"DNS-SD" "Avahi" |
|
procura serviços "mDNS"/"DNS-SD" usando o processo de segundo plano "Avahi" |
|
é um servidor "DNS" "Unicast" originário do processo de segundo plano de configuração "mDNS"/"DNS-SD" |
|
registra um serviço "mDNS"/"DNS-SD" ou mapeamento de nome de dispositivo ou de endereço usando o processo de segundo plano "Avahi" |
|
registra um serviço "mDNS"/"DNS-SD" ou mapeamento de nome de dispositivo ou de endereço usando o processo de segundo plano "Avahi" |
|
registra um serviço "mDNS"/"DNS-SD" ou mapeamento de nome de dispositivo ou de endereço usando o processo de segundo plano "Avahi" |
|
resolve um ou mais nomes de dispositivo "mDNS"/"DNS" para endereços "IP" (e vice-versa) usando o processo de segundo plano "Avahi" |
|
resolve um ou mais nomes de dispositivo "mDNS"/"DNS" para endereços "IP" (e vice-versa) usando o processo de segundo plano "Avahi" |
|
resolve um ou mais nomes de dispositivo "mDNS"/"DNS" para endereços "IP" (e vice-versa) usando o processo de segundo plano "Avahi" |
|
muda o nome "mDNS" do dispositivo |
|
procura servidores "SSH" na rede de intercomunicação local |
|
procura servidores "VNC" na rede de intercomunicação local |
"Utilitários BIND" não é um pacote separado; é uma coleção de aplicativos do lado cliente que estão inclusos no "BIND-9.18.12". 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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.isc.org/isc/bind9/9.18.12/bind-9.18.12.tar.xz
Transferência (FTP): ftp://ftp.isc.org/isc/bind9/9.18.12/bind-9.18.12.tar.xz
Soma de verificação MD5 da transferência: 101a5d919a8d7da1ae98f36e36d1dc9f
Tamanho da transferência: 5,2 MB
Espaço em disco estimado exigido: 107 MB
Tempo de construção estimado: 0,2 UPC
libcap-2.67 com PAM, libxml2-2.10.3 e sphinx-6.1.3
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/bind-utils
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
--disable-doh
: Use essa opção se
você não tiver instalado o "nghttp2-1.52.0" 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 "sphinx-6.1.3" 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.
Vejam-se as descrições do aplicativo na seção "BIND-9.18.12".
"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 adequadamente usando uma plataforma LFS 11.3.
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".
Transferência (HTTP): https://download.gnome.org/sources/NetworkManager/1.42/NetworkManager-1.42.0.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/NetworkManager/1.42/NetworkManager-1.42.0.tar.xz
Soma de verificação MD5 da transferência: cfe8c33493d8d2a9d97415a7042a6fe2
Tamanho da transferência: 6,4 MB
Espaço em disco estimado exigido: 278 MB (com os testes e documentação)
Tempo de construção estimado: 0,8 UPC (com os testes, usando paralelismo=4)
cURL-7.88.1, DHCP-4.4.3-P1 (somente o cliente), gobject-introspection-1.74.0, iptables-1.8.9, newt-0.52.23 (para nmtui), nss-3.88.1, Polkit-122, PyGObject-3.42.2, Systemd-252, UPower-1.90.0, Vala-0.56.4 e wpa_supplicant-2.10 (tempo de execução, construído com suporte ao "D-Bus")
BlueZ-5.66, D-Bus Python-1.3.2 (para a suíte de teste), GnuTLS-3.8.0 (usado se nss-3.88.1 não for encontrado), GTK-Doc-1.33.2, libpsl-0.21.2, Qt-5.15.8 (para exemplos), ModemManager-1.18.12, Valgrind-3.20.0, dnsmasq, firewalld, libaudit, libteam, mobile-broadband-provider-info, PPP e RP-PPPoE
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/NetworkManager
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---> [CONFIG_NET]
Networking options--->
[*] TCP/IP networking [CONFIG_INET]
<*/M> IP: tunelling [CONFIG_NET_IPIP]
<*/M> IP: GRE demultiplexer [CONFIG_NET_IPGRE_DEMUX]
<*/M> IP: GRE tunnels over IP [CONFIG_NET_IPGRE]
<*> The IPv6 protocol ---> [CONFIG_IPV6]
<*/M> IPv6: IPv6-in-IPv4 tunnel (SIT driver) [CONFIG_IPV6_SIT]
<*/M> IPv6: GRE tunnel [CONFIG_IPV6_GRE]
[*] IPv6: Multiple Routing Tables [CONFIG_IPV6_MULTIPLE_TABLES]
[*] MPTCP: Multipath TCP [CONFIG_MPTCP]
[*] MPTCP: IPv6 support for Multipath TCP [CONFIG_MPTCP_IPV6]
<*/M> 802.1Q/802.1ad VLAN Support [CONFIG_VLAN_8021Q]
[*] QoS and/or fair queueing ---> [CONFIG_NET_SCHED]
<*/M> Stochastic Fairness Queueing (SFQ) [CONFIG_NET_SCH_SFQ]
<*/M> Token Bucket Filter (TBF) [CONFIG_NET_SCH_TBF]
<*/M> Fair Queue Controlled Delay AQM (FQ_CODEL) [CONFIG_NET_SCH_FQ_CODEL]
<*/M> Ingress/classifier-action Qdisc [CONFIG_NET_SCH_INGRESS]
Device Drivers --->
[*] Network device support ---> [CONFIG_NETDEVICES]
[*] Network core driver support [CONFIG_NET_CORE]
<*> Bonding driver support [CONFIG_BONDING]
<*> Dummy net driver support [CONFIG_DUMMY]
<*> Ethernet team driver support ---> [CONFIG_NET_TEAM]
<*> MAC-VLAN support [CONFIG_MACVLAN]
<*> MAC-VLAN based tap driver [CONFIG_MACVTAP]
<*> IP-VLAN support [CONFIG_IPVLAN]
<*> Virtual eXtensible Local Area Network (VXLAN) [CONFIG_VXLAN]
<*> Virtual ethernet pair device [CONFIG_VETH]
<*> Virtual Routing and Forwarding (Lite) [CONFIG_VRF]
Se "Qt-5.15.8" 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.42.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
Ainda caso você não tenha 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.42.0
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
"GTK-Doc-1.33.2" estiver instalado.
-Dnmtui=true
: Esse
parâmetro habilita construir o "nmtui".
-Dlibpsl=false
e
-Dovs=false
: Essas
chaves desabilitam a construção com as respectivas
bibliotecas. Remova se você tiver as bibliotecas necessárias
instaladas.
-Dmodem_manager=false
: Essa
chave é exigida se o "ModemManager" não estiver instalado.
Omita 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
: Esse
parâmetro desabilita o suporte "PPP" no "NetworkManager".
-Dlibaudit=no
e
-Dselinux=false
:
"libaudit" e "SELinux" não são usados no BLFS.
-Dqt=false
:
desabilita os exemplos "QT".
Omita se você tiver o "QT"
disponível e desejar instalar os exemplos.
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 "dhclient" ou "internal"):
cat > /etc/NetworkManager/conf.d/dhcp.conf << "EOF"[main] dhcp=
dhclient
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<nome_usuário(a)>
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.isInGroup("netdev")) { return polkit.Result.YES; } });
EOF
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
:
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
é uma ferramenta de linha de comando para controlar o "NetworkManager" e obter a situação dele |
|
é um utilitário para determinar se você está online |
|
é uma interface interativa de usuário(a) baseada em "Ncurses" para o "nmcli" |
|
é uma interface interativa de usuário(a) baseada em "Ncurses" para ativar/desativar conexões |
|
é uma interface interativa de usuário(a) baseada em "Ncurses" para editar conexões |
|
é uma interface interativa de usuário(a) baseada em "Ncurses" para editar o nome do dispositivo |
|
é o processo de segundo plano de gerenciamento de rede de intercomunicação |
|
contém funções usadas pelo "NetworkManager" |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/network-manager-applet/1.30/network-manager-applet-1.30.0.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/network-manager-applet/1.30/network-manager-applet-1.30.0.tar.xz
Soma de verificação MD5 da transferência: 1ad82752f1590dd356afda8a451910f2
Tamanho da transferência: 1,8 MB
Espaço em disco estimado exigido: 39 MB (com os testes)
Tempo de construção estimado: 0,2 UPC (com os testes)
GTK+-3.24.36, libnma-1.10.6 e libsecret-0.20.5
gobject-introspection-1.74.0 e ModemManager-1.18.12
Como esse pacote usa "Polkit-122" para autorização, um "Agente de Autenticação do Polkit" deveria estar em execução quando a funcionalidade desse pacote for usada.
gnome-bluetooth-42.5 e libindicator
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/network-manager-applet
Instale o "NetworkManager Applet" executando os seguintes comandos:
mkdir build && cd build && meson --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
-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
"ModemManager-1.18.12" instalado.
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://nmap.org/dist/nmap-7.93.tar.bz2
Soma de verificação MD5 da transferência: 9027eac4b8ca57574012cb061ba9ce4d
Tamanho da transferência: 10 MB
Espaço em disco estimado exigido: 141 MB (adicionar 22 MB para os testes)
Tempo de construção estimado: 0,3 UPC (Usando paralelismo=4; adicionar 0,2 UPC para os testes)
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).
libpcap-1.10.3, Lua-5.4.4, PCRE-8.45 e liblinear-245
PyGTK-2.24.0 (exigido para o zenmap), Python-2.7.18 (exigido para o ndiff) e libssh2-1.10.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
é um utilitário para ler e escrever dados entre redes de intercomunicação a partir da linha de comando |
|
é uma ferramenta para auxiliar na comparação de varreduras do "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" |
|
é 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 |
|
é um conjunto de comandos sequenciais "Python" para desinstalar o "ndiff" |
|
é um conjunto de comandos sequenciais "Python" para desinstalar o "zenmap" |
|
é um visualizador gráfico, baseado em "Python", de estrutura de interação direta com o(a) usuário(a) do "nmap" |
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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/traceroute/traceroute-2.1.2.tar.gz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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.
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 |
|
é equivalente a "traceroute -6" |
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/rfc1036/whois/archive/v5.4.3/whois-5.4.3.tar.gz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
":
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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.wireshark.org/download/src/all-versions/wireshark-4.0.3.tar.xz
Soma de verificação MD5 da transferência: 11a7302d65b1ff26f92148f3014eaf5b
Tamanho da transferência: 39 MB
Espaço em disco estimado exigido: 680 MB (com todas as dependências opcionais disponíveis no livro BLFS)
Tempo de construção estimado: 1,9 UPC (com paralelismo=4 e todas as dependências opcionais disponíveis no livro BLFS)
Documentação Adicional: https://www.wireshark.org/download/docs/ (contém links para vários documentos em uma variedade de formatos)
CMake-3.25.2, GLib-2.74.5, libgcrypt-1.10.1 e Qt-5.15.8
libpcap-1.10.3 (exigido para capturar dados)
asciidoctor-2.0.18, Brotli-1.0.9, c-ares-1.19.0, Doxygen-1.9.6, git-2.39.2, GnuTLS-3.8.0, libnl-3.7.0, libxslt-1.1.37, libxml2-2.10.3, Lua-5.2.4, MIT Kerberos V5-1.20.1, nghttp2-1.52.0, SBC-2.0, Speex-1.2.1, BCG729, libilbc, libsmi, lz4, libssh, MaxMindDB, Minizip, Snappy e Spandsp
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/wireshark
O núcleo precisa ter o protocolo "Packet" habilitado para o "Wireshark" capturar pacotes ativos a partir da rede de intercomunicação:
[*] Networking support ---> [CONFIG_NET]
Networking options --->
<*/M> Packet socket [CONFIG_PACKET]
Se construído como um módulo, [então] o nome é "af_packet.ko
".
"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.3 \ -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.3 && install -v -m644 ../README.linux ../doc/README.* ../doc/randpkt.txt \ /usr/share/doc/wireshark-4.0.3 && pushd /usr/share/doc/wireshark-4.0.3 && 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 <Downloaded_Files>
\
/usr/share/doc/wireshark-4.0.3
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 <nome_usuário(a)>
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.
/etc/wireshark.conf
e
~/.config/wireshark/*
(a
menos que já exista ~/.wireshark/*
no sistema)
Embora os parâmetros padrão de configuração sejam muito sensatos, consulte a seção de configuração do 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".
Se você quiser ver os pacotes, [então] certifique-se de não filtrá-los com o "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".
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" |
|
imprime os tipos de arquivos dos arquivos de captura |
|
é 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 |
|
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 |
|
é 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
" |
|
combina vários arquivos salvos de captura em um arquivo de saída gerada |
|
cria arquivos de captura de pacotes aleatórios |
|
despeja e analisa dados brutos da "libpcap" |
|
reordena os carimbos de tempo dos quadros do arquivo de entrada gerada em um arquivo de saída gerada |
|
é um processo de segundo plano que escuta em soquetes "UNIX" |
|
lê um despejo hexadecimal "ASCII" e escreve os dados descritos em um arquivo de captura estilo "libpcap" |
|
é 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 |
|
é 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 |
|
contém funções usadas pelos aplicativos "Wireshark" para realizar filtragem e captura de pacotes |
|
é uma biblioteca sendo desenvolvida como uma
substituta futura para a " |
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" é uma biblioteca "C" para solicitações "DNS" assíncronas.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://c-ares.haxx.se/download/c-ares-1.19.0.tar.gz
Soma de verificação MD5 da transferência: 2668790bc92603e292d0fbcb25ded39c
Tamanho da transferência: 1,5 MB
Espaço em disco estimado exigido: 11 MB
Tempo de construção estimado: menos que 0,1 UPC
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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://curl.se/download/curl-7.88.1.tar.xz
Soma de verificação MD5 da transferência: 8bea0c58428578f397471fe209fad6ab
Tamanho da transferência: 2,5 MB
Espaço em disco estimado exigido: 150 MB (adicionar 23 MB para os testes)
Tempo de construção estimado: 0,2 UPC (com paralelismo=4; adicionar 16 UPC para os testes)
make-ca-1.12 (tempo de execução)
Brotli-1.0.9, c-ares-1.19.0, GnuTLS-3.8.0, libidn2-2.3.4, libpsl-0.21.2, libssh2-1.10.0, MIT Kerberos V5-1.20.1, nghttp2-1.52.0, OpenLDAP-2.6.4, Samba-4.17.5, gsasl, impacket, libmetalink, librtmp, ngtcp2, quiche e SPNEGO
stunnel-5.68 (para os testes HTTPS e FTPS) e Valgrind-3.20.0 (isso atrasará os testes e possivelmente cause falhas.)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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". Se o Samba estiver instalado, os testes relacionados 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 \) -exec rm {} \; && install -v -d -m755 /usr/share/doc/curl-7.88.1 && cp -v -R docs/* /usr/share/doc/curl-7.88.1
Testes simples para o novo "curl" instalado:
"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
dos arquivos baixados, etc. Um arquivo tem a hora para cada
ação registrada.
--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.
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://gitlab.freedesktop.org/geoclue/geoclue/-/archive/2.7.0/geoclue-2.7.0.tar.bz2
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
JSON-GLib-1.6.6 e libsoup-3.2.2
ModemManager-1.18.12, Vala-0.56.4 e Avahi-0.8
GTK-Doc-1.33.2 e libnotify-0.8.1
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/geoclue2
Instale o "GeoClue" executando os seguintes comandos:
mkdir build && cd build && meson --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
--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".
O pacote "GLib Networking" contém módulos "gio" relacionados à rede de intercomunicação para o "GLib".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/glib-networking/2.74/glib-networking-2.74.0.tar.xz
Soma de verificação MD5 da transferência: 7fc6ca153af0833fdf5c65044a3f7c42
Tamanho da transferência: 272 Kb
Espaço em disco estimado exigido: 8,9 MB (com os testes)
Tempo de construção estimado: 0,1 UPC (com os testes)
gsettings-desktop-schemas-43.0 (para os aplicativos usantes desse pacote usarem as configurações de servidor "proxy" no "GNOME") e make-ca-1.12
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/glib-networking
Instale o "GLib Networking" executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr \ --buildtype=release && ninja
Para testar os resultados, emita: "ninja test". Um teste
chamado "connection-gnutls-tls1.2
" é conhecido por
falhar com o "GnuTLS" 3.7.8 ou posterior.
Agora, como o(a) usuário(a) "root
":
ninja install
--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.
/usr/lib/gio/modules
")
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/KDAB/KDSoap/releases/download/kdsoap-2.1.1/kdsoap-2.1.1.tar.gz
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)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.nlnetlabs.nl/downloads/ldns/ldns-1.8.3.tar.gz
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)
make-ca-1.12 e libpcap-1.10.3 (para aplicativos de exemplo), Python-2.7.18 e SWIG-4.1.1 (para ligações "Python") e Doxygen-1.9.6 (para documentação "HTML")
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/ldns
Instale o "ldns" executando os seguintes comandos:
./configure --prefix=/usr \ --sysconfdir=/etc \ --disable-static \ --with-drill && make
Se você tiver o "Doxygen-1.9.6" 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
--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".
é uma ferramenta como o "dig" oriunda de "Utilitários BIND-9.18.12" projetada para obter todo tipo de informação do "DNS" |
|
mostra sinalizadores de compilador e vinculador para uso do "ldns" |
|
fornece as funções da "API" do "ldns" para aplicativos |
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz
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)
Doxygen-1.9.6 (para a documentação da "API")
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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 "Doxygen-1.9.6" 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".
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
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://netfilter.org/projects/libmnl/files/libmnl-1.0.5.tar.bz2
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/thom311/libnl/releases/download/libnl3_7_0/libnl-3.7.0.tar.gz
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 (HTTP): https://github.com/thom311/libnl/releases/download/libnl3_7_0/libnl-doc-3.7.0.tar.gz
Soma de verificação MD5 da transferência: 15f55a421a16ff4084c4a1af085c19b8
Tamanho da transferência: 13 MB
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--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.
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 |
|
adiciona, atualiza ou substitui Classes de Tráfego |
|
deleta Classes de Tráfego |
|
é usado para resolver nomes de "qdisc"/classe para valores "classid" e vice-versa |
|
lista Classes de Tráfego |
|
adiciona um classificador |
|
deleta um classificador |
|
lista classificadores |
|
despeja atributos de link |
|
permite a consulta de definições de localização de pacotes |
|
adiciona disciplinas de filas ("qdiscs") no núcleo |
|
deleta disciplinas de filas ("qdiscs") no núcleo |
|
lista disciplinas de filas ("qdiscs") no núcleo |
|
Essas bibliotecas contêm funções de "API" usadas para acessar interfaces "Netlink" no núcleo Linux |
O pacote "libnma" contém uma implementação das funções "GUI" do "NetworkManager".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/libnma/1.10/libnma-1.10.6.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/libnma/1.10/libnma-1.10.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)
Gcr-3.41.1, GTK+-3.24.36, ISO Codes-4.12.0 e NetworkManager-1.42.0
mobile-broadband-provider-info
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libnma
Instale o "libnma" executando os seguintes comandos:
mkdir build && cd build && meson --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
--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 "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 "gnome-control-center-43.4.1"
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".
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/thkukuk/libnsl/releases/download/v2.0.0/libnsl-2.0.0.tar.xz
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
rpcsvc-proto-1.4.3 e libtirpc-1.3.3
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.tcpdump.org/release/libpcap-1.10.3.tar.gz
Soma de verificação MD5 da transferência: c42fde2eb75a5075f19116f8c9768573
Tamanho da transferência: 932 KB
Espaço em disco estimado exigido: 11 MB
Tempo de construção estimado: menos que 0,1 UPC
BlueZ-5.66, libnl-3.7.0, libusb-1.0.26, distribuição de logiciário para o DAG e a gama de placas passivas de monitoramento de atividade de rede de intercomunicação Septel.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/rockdaboot/libpsl/releases/download/0.21.2/libpsl-0.21.2.tar.gz
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)
GTK-Doc-1.33.2 (para a documentação) e Valgrind-3.20.0 (para os testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libpsl
Instale o "libpsl" executando os seguintes comandos:
sed -i 's/env python/&3/' src/psl-make-dafsa && ./configure --prefix=/usr --disable-static PYTHON=python3 && make
Para testar os resultados, emita: "make check".
Agora, como o(a) usuário(a) "root
":
make install
sed -i ...: Esse comando força o uso do "Python 3" em um utilitário.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): http://libndp.org/files/libndp-1.8.tar.gz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://gitlab.freedesktop.org/slirp/libslirp/-/archive/v4.7.0/libslirp-v4.7.0.tar.bz2
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/libsoup/2.74/libsoup-2.74.3.tar.xz
Transferência (FTP): 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)
glib-networking-2.74.0, libpsl-0.21.2, libxml2-2.10.3 e SQLite-3.40.1
gobject-introspection-1.74.0 e Vala-0.56.4
Apache-2.4.55 (exigido para executar a suíte de teste), Brotli-1.0.9, cURL-7.88.1 (exigido para executar a suíte de teste), sysprof-3.46.0 (para perfilamento), MIT Kerberos V5-1.20.1 (exigido para executar a suíte de teste), GTK-Doc-1.33.2, PHP-8.2.3 compilado com suporte "XMLRPC-EPI" (usado somente para os testes de regressão "XMLRPC") e Samba-4.17.5 ("ntlm_auth" é exigido para executar a suíte de teste)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libsoup
Instale o "libsoup" executando os seguintes comandos:
mkdir build && cd build && meson --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
--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 "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
"sysprof-3.46.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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/libsoup/3.2/libsoup-3.2.2.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/libsoup/3.2/libsoup-3.2.2.tar.xz
Soma de verificação MD5 da transferência: 33902089d52f862d6b39680dd4c4e3aa
Tamanho da transferência: 1,5 MB
Espaço em disco estimado exigido: 24 MB (com os testes)
Tempo de construção estimado: 0,3 UPC (Usando paralelismo=4; com os testes)
glib-networking-2.74.0, libpsl-0.21.2, libxml2-2.10.3, nghttp2-1.52.0 e SQLite-3.40.1
gobject-introspection-1.74.0 e Vala-0.56.4
Apache-2.4.55 (exigido para executar a suíte de teste), Brotli-1.0.9, cURL-7.88.1 (exigido para executar a suíte de teste), Gi-DocGen-2023.1, MIT Kerberos V5-1.20.1 (exigido para executar a suíte de teste), PHP-8.2.3 compilado com suporte "XMLRPC-EPI" (usado somente para os testes de regressão "XMLRPC"), Samba-4.17.5 ("ntlm_auth" é exigido para executar a suíte de teste) e sysprof-3.46.0 (para perfilamento)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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 --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
--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 "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 "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
"sysprof-3.46.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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/libtirpc/libtirpc-1.3.3.tar.bz2
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
MIT Kerberos V5-1.20.1 para a "GSSAPI"
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libtirpc
Se atualizar esse pacote, [então] você também precisará atualizar qualquer versão existente de "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
--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
"MIT Kerberos V5-1.20.1") e
desejar usá-la.
"neon" é uma biblioteca cliente "HTTP" e "WebDAV", com uma interface "C".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://notroj.github.io/neon/neon-0.32.5.tar.gz
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)
GnuTLS-3.8.0, libxml2-2.10.3, MIT Kerberos V5-1.20.1, nss-3.88.1 (para alguns testes), xmlto-0.0.28 (para regenerar a documentação), libproxy e PaKChoiS
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--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.
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/nghttp2/nghttp2/releases/download/v1.52.0/nghttp2-1.52.0.tar.xz
Soma de verificação MD5 da transferência: 30cab20160abb7981c713544d31e2d60
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
Os seguintes são usados somente se construir o pacote completo em vez de somente as bibliotecas principais: Boost-1.81.0, c-ares-1.19.0, cython-0.29.33, jansson-2.14, libevent-2.1.12, sphinx-6.1.3, jemalloc, libev, mruby e Spdylay.
"CUnit" é exigido se você desejar executar a suíte de teste.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/nghttp2
Instale o "nghttp2" executando os seguintes comandos:
./configure --prefix=/usr \ --disable-static \ --enable-lib-only \ --docdir=/usr/share/doc/nghttp2-1.52.0 && 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
--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".
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 "libtirpc-1.3.3", junto com o aplicativo "rpcgen".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/thkukuk/rpcsvc-proto/releases/download/v1.4.3/rpcsvc-proto-1.4.3.tar.xz
Soma de verificação MD5 da transferência: 5cc9a871db85e34ab68a9cecfb448a97
Tamanho da transferência: 168 KB
Espaço em disco estimado exigido: 2,1 MB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.apache.org/dist/serf/serf-1.3.9.tar.bz2
Soma de verificação MD5 da transferência: 370a6340ff20366ab088012cd13f2b57
Tamanho da transferência: 144 KB
Espaço em disco estimado exigido: 3,2 MB
Tempo de construção estimado: menos que 0,1 UPC
MIT Kerberos V5-1.20.1, para a "GSSAPI"
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/serf
Primeiro, corrija um problema que causa problemas de compilação em outros pacotes ao usar o "OpenSSL-3":
patch -Np1 -i ../serf-1.3.9-openssl3_fixes-1.patch
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 && sed -i "/ print/{s/print/print(/; s/$/)/}" SConstruct && sed -i "/get_contents()/s/,/.decode()&/" 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
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. O quarto comando corrige mudanças no "scons-3.x". O último comando permite usar o "Python 3".
GSSAPI=/usr
: Use essa chave se
você tiver instalado uma biblioteca "GSSAPI" e quiser que o
"serf" a use.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://tecnocode.co.uk/downloads/uhttpmock/uhttpmock-0.5.3.tar.xz
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)
gobject-introspection-1.74.0 e Vala-0.56.4
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--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.
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" é 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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): http://links.twibright.com/download/links-2.28.tar.bz2
Soma de verificação MD5 da transferência: 915c45777f0c9d8e6ec85438cbd7d3df
Tamanho da transferência: 6,2 MB
Espaço em disco estimado exigido: 35 MB
Tempo de construção estimado: 0,3 UPC
O modo gráfico exige pelo menos um de GPM-1.20.7 (suporte de mouse para ser usado com um console baseado em "framebuffer"), SVGAlib, DirectFB e um ambiente gráfico
Para decodificar vários formatos de imagem, o "Links" consegue utilizar "libpng-1.6.39", "libjpeg-turbo-2.1.5.1", "librsvg-2.54.5" e "libtiff-4.5.0"
Para descomprimir páginas da "web" que estejam comprimidas com o "Brotli", o "Links" consegue utilizar o "Brotli-1.0.9"
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/LinksBrowser
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.28 && install -v -m644 doc/links_cal/* KEYS BRAILLE_HOWTO \ /usr/share/doc/links-2.28
--enable-graphics
: Essa chave
habilita o suporte para modo gráfico.
"Lynx" é um navegador da "web" baseado em texto.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://invisible-mirror.net/archives/lynx/tarballs/lynx2.8.9rel.1.tar.bz2
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
GnuTLS-3.8.0 (experimental, para substituir o "OpenSSL"), Zip-3.0, UnZip-6.0, um MTA (que forneça um comando "sendmail") e Sharutils-4.15.2 (para o aplicativo "uudecode")
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--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.
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"
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 "Vim-9.0.1273", 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
".
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").
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/fetchmail/fetchmail-6.4.36.tar.xz
Soma de verificação MD5 da transferência: 8bfdc96f0241f328b17ef04666b2f155
Tamanho da transferência: 1,1 MB
Espaço em disco estimado exigido: 12 MB incluindo os testes
Tempo de construção estimado: 0,1 UPC incluindo os testes
um "MDA" local (Procmail-3.22)
MIT Kerberos V5-1.20.1 e libgssapi
Python-3.11.2, construído depois do Tk-8.6.13, com o pacote "py-future"
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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.
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ê precisará 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 "postmaster"
set postmaster <nome_usuário(a)>
poll SERVERNAME :
user <nome_usuário(a)_isp>
pass <senha>
;
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".
quando executado como um(a) usuário(a), isso
carregará " |
|
destina-se a te ajudar a configurar e editar um
arquivo de configuração " |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_12.5.orig.tar.gz
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
nss-3.88.1, MIT Kerberos V5-1.20.1 (para autenticação "IMAP" "GSSAPI") e um MTA
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/mailx
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@<openssl@<openssl-1.0/openssl@' \ -i openssl.c fio.c makeconfig && make -j1 LDFLAGS+="-L /usr/lib/openssl/" \ SENDMAIL=/usr/sbin/sendmail
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) "root
":
make PREFIX=/usr UCBINSTALL=/usr/bin/install install && ln -v -sf mailx /usr/bin/mail && ln -v -sf mailx /usr/bin/nail && install -v -m755 -d /usr/share/doc/heirloom-mailx-12.5 && install -v -m644 README /usr/share/doc/heirloom-mailx-12.5
make SENDMAIL=/usr/sbin/sendmail: Isso muda o caminho padrão do "MTA" de "/usr/lib/sendmail".
make PREFIX=/usr
UCBINSTALL=/usr/bin/install install: Isso
muda o caminho padrão da instalação de "/usr/local
" e o caminho padrão do comando
"install" de
"/usr/ucb
".
Para exibir mensagens, o "mailx" usa um aplicativo paginador.
Como o padrão "pg" não está disponível
em um sistema LFS, é exigido especificar qual paginador é
para usar. Por padrão, existe o "more" e o mais
confortável "less" instalados. Se a
variável "PAGER" não estiver configurada em "/etc/profile
" ou "~/.bash_profile
", ou se deveria ser outro
paginador apenas para leitura de mensagens, [então] ela
pode ser configurada abrangente a todo o sistema em
"/etc/nail.rc
":
echo "set PAGER=<more|less>
" >> /etc/nail.rc
ou individualmente para o(a) usuário(a) atual em
"~/.mailrc
":
echo "set PAGER=<more|less>
" >> ~/.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=<vim|nano|...>
" >> /etc/nail.rc
Dependendo de qual tipo de "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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://bitbucket.org/mutt/mutt/downloads/mutt-2.2.9.tar.gz
Transferência (FTP): ftp://ftp.mutt.org/pub/mutt/mutt-2.2.9.tar.gz
Soma de verificação MD5 da transferência: 14cbaec4cc88ad8147fbe6df8a2d48fd
Tamanho da transferência: 5,3 MB
Espaço em disco estimado exigido: 48 MB
Tempo de construção estimado: 0,3 UPC
Lynx-2.8.9rel.1 ou Links-2.28 (ou W3m ou ELinks) - por favor, leia-se a Observação.
Aspell-0.60.8, Cyrus SASL-2.1.28, DocBook-utils-0.6.14, GDB-13.1, GnuPG-2.4.0, GnuTLS-3.8.0, GPGME-1.18.0, libidn-1.41, MIT Kerberos V5-1.20.1, um MTA (que forneça um comando sendmail), slang-2.3.3, SQLite-3.40.1, libgssapi, Mixmaster, QDBM ou Tokyo Cabinet
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/mutt
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 "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.9 \ --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
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.
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
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 "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".
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.9/samples/gpg.rc >> ~/.muttrc
é um conjunto de comandos sequenciais que mostra onde informar defeitos |
|
é um "Mail User Agent" ("MUA") que te habilita ler, escrever e deletar teu mensagem eletrônica |
|
implementa o bloqueio de arquivo de "spool" de mensagem |
|
é um conjunto de comandos sequenciais idêntico ao "flea" |
|
prepara uma linha de comando para os utilitários do "GnuPG-2.4.0" |
|
é um despejador de chaveiro para o "PGP". Não é necessário para o "GnuPG-2.4.0" |
|
gerencia um armazenamento de chaves para certificados "S/MIME" |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.osuosl.org/pub/blfs/conglomeration/procmail/procmail-3.22.tar.gz
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
Um "MTA" que instale "sendmail"
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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.
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 https://pm-doc.sourceforge.net/.
é um filtro que consegue ser usado para formatar mensagens no formato "mailbox" |
|
é um utilitário que consegue bloquear um arquivo para uso único interativamente ou em um conjunto de comandos sequenciais |
|
imprime um informe resumido das mensagens que tenham sido filtradas pelo "procmail" desde a última vez que o "mailstat" foi executado |
|
é um processador autônomo de mensagem. Desempenha todas as funções de um "Mail Delivery Agent" ("MDA") |
Balsa-2.6.4 é um cliente de mensagem baseado em "GTK2".
SeaMonkey-2.53.15 inclui um cliente de mensagem e um leitor de notícias na instalação dele.
Thunderbird-102.8.0 é um cliente de mensagem/notícias baseado na base do código do "Mozilla".
Os servidores principais são os aplicativos que fornecem conteúdo ou serviços para os(as) usuários(as) ou outros aplicativos.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.apache.org/dist/httpd/httpd-2.4.55.tar.bz2
Soma de verificação MD5 da transferência: b6a8b9d8741db43cf5b4dd8e9bdb0ce7
Tamanho da transferência: 7,1 MB
Espaço em disco estimado exigido: 87 MB
Tempo de construção estimado: 0,3 UPC (Usando paralelismo=4)
Brotli-1.0.9, Base de Dados Berkeley-5.3.28, Doxygen-1.9.6, libxml2-2.10.3, Lua-5.4.4, Lynx-2.8.9rel.1 ou Links-2.28 ou ELinks, nghttp2-1.52.0, OpenLDAP-2.6.4 (Apr-Util-1.6.3 precisa ser instalado com suporte a "ldap"), rsync-3.2.7 e Distcache
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/apache
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.55-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
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
".
Veja-se 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".
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
"" "blfs-systemd-units-20220720":
make install-httpd
é uma ferramenta para avaliar comparativamente o teu servidor de "HTTP" "Apache" |
|
é 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" |
|
é uma ferramenta para construir e instalar módulos de extensão para o servidor de "HTTP" "Apache" |
|
é 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 |
|
é 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" |
|
é uma ferramenta para iniciar um aplicativo "FastCGI" |
|
é usado para limpar o "cache" do disco |
|
é usado para manipular as bases de dados de senha "DBM" |
|
é 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" |
|
é 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" |
|
é o aplicativo servidor de "HTTP" "Apache" |
|
é usado para gerar arquivos "DBM" a partir de texto, para uso no "RewriteMap" |
|
é um aplicativo de pós-processamento para resolver endereços "IP" nos arquivos de registro de acesso do "Apache" |
|
é um aplicativo simples para uso em conjunto com o recurso de arquivo de registro canalizado do "Apache" |
|
permite que os(as) usuários(as) executem aplicativos "CGI" e "SSI" como um(a) usuário(a) diferente |
O pacote BIND fornece um servidor DNS e utilitários clientes. Se você estiver interessado(a) somente nos utilitários, [então] consulte Utilitários BIND-9.18.12.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.isc.org/isc/bind9/9.18.12/bind-9.18.12.tar.xz
Transferência (FTP): ftp://ftp.isc.org/isc/bind9/9.18.12/bind-9.18.12.tar.xz
Soma de verificação MD5 da transferência: 101a5d919a8d7da1ae98f36e36d1dc9f
Tamanho da transferência: 5,2 MB
Espaço em disco estimado exigido: 143 MB (26 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)
JSON-C-0.16 e libcap-2.67 com PAM
cURL-7.88.1, libidn2-2.3.4, libxml2-2.10.3, lmdb-0.9.29, MIT Kerberos V5-1.20.1, pytest-7.2.1, sphinx-6.1.3 (exigido para construir a documentação), cmocka, geoip, w3m
Base de Dados Berkeley-5.3.28, MariaDB-10.6.12 ou MySQL, OpenLDAP-2.6.4, PostgreSQL-15.2 e unixODBC-2.3.11
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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:
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 "Net-DNS-1.36" não estiver instalado. 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
--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 bind-dlz.sourceforge.net.
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
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 porque 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
Complete 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 depuraçã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árias
// 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árias
// 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:
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 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:
Substitua <teudomínio.com>
pelo teu próprio nome de domínio válido.
cp /etc/resolv.conf /etc/resolv.conf.bak &&
cat > /etc/resolv.conf << "EOF"
search <teudomínio.com>
nameserver 127.0.0.1
EOF
Configure as permissões relativas à jaula "chroot" com o seguinte comando:
chown -R named:named /srv/named
Para iniciar o servidor "DNS" na inicialização, instale
a unidade "named.service
" inclusa no pacote
"" "blfs-systemd-units-20220720":
make install-named
Agora inicie o "BIND" com o seguinte comando:
systemctl start named
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.
A documentação "MRA" (não confunda com a arquitetura do processador) está incluída no pacote fonte. A documentação está no formato ".rst", o que significa que ela pode ser convertida em formatos legíveis por humanos se o "sphinx-6.1.3" estiver instalado.
Quando o "BIND" for configurado, especialmente quando for operar em um cenário da vida real, é altamente recomendado consultar a documentação "MRA". 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 https://downloads.isc.org/isc/bind9/9.18.12/doc/arm/.
traduz endereços "IP" para os nomes "ARPA" correspondentes |
|
gera uma chave para uso pelo "nsupdate" e pelo "named" |
|
é uma nova ferramenta de depuração que é uma sucessora do "dig" |
|
interroga servidores "DNS" |
|
muda os registros "DS" para uma zona filha baseado em "CDS"/"CDNSKEY" |
|
é uma ferramenta de verificação de consistência de delegação "DNSSEC" |
|
verifica se as chaves "DNSSEC" para uma dada zona ou conjunto de zonas tem metadados de hora configurados corretamente para garantir que não existam lapsos futuros na cobertura "DNSSEC" |
|
gera o Registro de Recurso ("RR") do "Delegation Signer" ("DS") |
|
lê um registro público "DNSKEY" e gera um par de arquivos ".key"/".private" |
|
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" |
|
é um gerador de chaves para "DNS" seguro |
|
garante a cobertura correta "DNSKEY" baseada em uma política definida |
|
configura o bit "REVOKED" em uma chave "DNSSEC" |
|
configura os metadados de hora da chave para uma chave "DNSSEC" |
|
gera versões assinadas de arquivos de zona |
|
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 |
|
é um utilitário para pesquisas de "DNS" |
|
é uma versão do "dig" que permite múltiplas consultas ao mesmo tempo |
|
é o processo de segundo plano do servidor de nomes |
|
verifica a sintaxe dos arquivos " |
|
verifica a validade do arquivo de zona |
|
é semelhante ao "named-checkzone", mas sempre despeja o conteúdo da zona em um arquivo especificado em um formato especificado |
|
imprime o diário da zona em formato legível por humanos(as) |
|
lê um registro individual de recurso "DNS" a partir da entrada padrão e verifica se ele está sintaticamente correto |
|
converte uma base de dados "NZD" para o formato de texto "NZF" |
|
gera um resumo "NSEC3" baseado em um conjunto de parâmetros "NSEC3" |
|
é um aplicativo usado para consultar servidores de nomes de domínio da Internet |
|
é usado para submeter solicitações de atualização de "DNS" |
|
controla a operação do "BIND" |
|
gera arquivos " |
|
é um link simbólico para o "ddns-confgen" |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/proftpd/proftpd/archive/v1.3.8/proftpd-1.3.8.tar.gz
Transferência (FTP): 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
libcap-2.67 com PAM, libssh2-1.10.0, Linux-PAM-1.5.2, MariaDB-10.6.12 ou MySQL, PCRE-8.45, PostgreSQL-15.2 e Net::SSH2
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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.
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.
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.
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 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âneas,
# [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 permita
# 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") no
# diretório inicial dele(a), descomente esta linha.
#DefaultRoot ~
# Normalmente, os arquivos deveriam ser sobrescrevíveis.
<Directory /*>
AllowOverwrite on
</Directory>
# Uma configuração básica anônima, sem diretórios de "upload".
<Anonymous ~proftpd>
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.
<Limit WRITE>
DenyAll
</Limit>
</Anonymous>
EOF
Instale a unidade "proftpd.service
" inclusa no pacote
"" "blfs-systemd-units-20220720":
make install-proftpd
é o processo de segundo plano de "FTP" |
|
mostra o número atual de conexões |
|
é usado para controlar o processo de segundo plano "proftpd" enquanto ele está em execução |
|
é um conjunto de comandos sequenciais "Perl" projetado para criar e gerenciar "AuthUserFiles" e "AuthGroupFiles" no formato correto para o "proftpd" |
|
é um conjunto de comandos sequenciais "Perl" para envio de mensagens eletrônicas baseado no "TransferLog" do "proftpd" |
|
é 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" |
|
fornece uma maneira de limpar o arquivo do placar sob demanda |
|
desliga todos os servidores "proftpd" em uma dada hora |
|
exibe a situação de execução relativa às conexões |
|
mostra informações atuais do processo para cada sessão |
|
é 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 |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://security.appspot.com/downloads/vsftpd-3.0.5.tar.gz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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 vsftpd && 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
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
").
"/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
".
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
O processo de segundo plano "vsftpd" usa "seccomp" para
melhorar a segurança por padrão. Mas é conhecido por fazer
com que o "vsftpd" não consiga lidar com o comando
"LIST
" do "ftp" com versões
recentes do núcleo. Anexe uma linha a "/etc/vsftpd.conf
" (como o(a) usuário(a)
"root
") para desabilitar o
"seccomp" e solucionar esse problema:
cat >> /etc/vsftpd.conf << "EOF"
seccomp_sandbox=NO
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
Instale a unidade "vsftpd.service
" inclusa no pacote
"" "blfs-systemd-units-20220720":
make install-vsftpd
"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").
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.dovecot.org/releases/2.3/dovecot-2.3.20.tar.gz
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
CLucene-2.3.3.4, ICU-72.1, libcap-2.67 com PAM, Linux-PAM-1.5.2, Lua-5.4.4, MariaDB-10.6.12 ou MySQL, OpenLDAP-2.6.4, PostgreSQL-15.2, SQLite-3.40.1, Valgrind-3.20.0, xfsprogs-6.1.1, Cassandra, lz4, stemmer e libsodium
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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.
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 intercomunicaçã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 https://wiki2.dovecot.org/ se planeja usar o "Dovecot" em um ambiente de produção.
/usr/lib/dovecot
"
é a ferramenta de administração do "Dovecot" |
|
é o utilitário de despejo da configuração do "Dovecot" |
|
é o servidor "IMAP" e "POP" |
|
imprime informações do sistema que são úteis para os(as) desenvolvedores(as) do "Dovecot" ao submeter informes de defeitos |
|
é o utilitário de sincronização de caixa de mensagem do "Dovecot" |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.exim.org/pub/exim/exim4/exim-4.96.tar.xz
Transferência (FTP): 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
Formatos adicionais da documentação (documentos baseados em texto são enviados com os fontes) podem ser baixados seguindo-se os links mostrados em https://exim.org/docs.html.
TDB (alternativa ao GDBM, construído no LFS), Cyrus SASL-2.1.28, libidn-1.41, Linux-PAM-1.5.2, MariaDB-10.6.12 ou MySQL, OpenLDAP-2.6.4, GnuTLS-3.8.0, PostgreSQL-15.2, SQLite-3.40.1, um ambiente gráfico, Heimdal GSSAPI e OpenDMARC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 "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.
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
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
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 https://exim.org/exim-html-4.96/doc/html/spec_html/ch04. html#SECTdb.
Para funcionalidade "SSL", vejam-se as instruções em https://exim.org/exim-html-4.96/doc/html/spec_html/ch04.html#SECTinctlsssl e https://exim.org/exim-html-4.96/doc/html/spec_html/ch42.html.
Para a funcionalidade "tcpwrappers", vejam-se as instruções em https://exim.org/exim-html-4.96/doc/html/spec_html/ch04.html#SECID27.
Para informações relativas a adicionar mecanismos de autenticação para a construção, vejam-se os capítulos 33—41 de 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 https://exim.org/exim-html-4.96/doc/html/spec_html/ch11.html#SECTexpcond.
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 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
https://exim.org/exim-html-4.96/doc/html/spec_html/ch05.html#id2525974
.
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
https://exim.org/exim-html-4.96/doc/html/spec_html/ch-log_files.html.
Muitas informações também podem ser encontradas na Wiki do Exim.
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
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.
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
Para iniciar automaticamente o "exim" na inicialização,
instale a unidade "exim.service
" inclusa no pacote ""
"blfs-systemd-units-20220720":
make install-exim
circula arquivos de registro do "Exim" |
|
pesquisa arquivos de registro do "Exim" |
|
é um link simbólico para o processo de segundo plano "MTA" "exim-4.96-2" |
|
é o processo de segundo plano do agente de transporte de mensagens "Exim" |
|
declara se um dado endereço de destinatário a partir de um dado dispositivo é aceitável ou não |
|
cria e reconstrói bases de dados do "Exim" |
|
escreve o conteúdo das bases de dados do "Exim" na saída gerada padrão |
|
modifica dados em bases de dados do "Exim" |
|
tranca um arquivo de caixa de mensagens |
|
remove registros antigos de bases de dados do "Exim" |
|
gera estatísticas de mensagens a partir de arquivos de registro do "Exim" |
|
consulta tempos de re tentativa do dispositivo remoto |
|
seleciona mensagens baseadas em vários critérios |
|
é um utilitário para listagem seletiva de filas |
|
produz um resumo das mensagens na fila de mensagens |
|
consulta executando processos "Exim" |
|
é 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 |
|
é 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" |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ghostarchive.org/postfix/postfix-release/official/postfix-3.7.4.tar.gz
Transferência (FTP): ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-3.7.4.tar.gz
Soma de verificação MD5 da transferência: 2442d1e53d58e61842d99fb5978fec4a
Tamanho da transferência: 4,6 MB
Espaço em disco estimado exigido: 148 MB
Tempo de construção estimado: 0,2 UPC (Usando paralelismo=4)
Base de Dados Berkeley-5.3.28, Cyrus SASL-2.1.28 e libnsl-2.0.0
ICU-72.1 para suporte a Internacionalização de Endereços de Correio Eletrônico ("SMTPUTF8"), MariaDB-10.6.12 ou MySQL, OpenLDAP-2.6.4, PCRE-8.45, PostgreSQL-15.2, SQLite-3.40.1 e CDB ou TinyCDB
Observe que "SQLite", "MySQL", "PostgreSQL" e "CDB" são úteis somente se existir uma necessidade conhecida deles.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/postfix
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/postfix -g postfix \ -s /bin/false -u 32 postfix && chown -v postfix:postfix /var/mail
Os arquivos "README" são formatados para serem lidos com um paginador como "Less" ou "More". Se você quiser usar um editor de texto, [então] torne-os legíveis com o seguinte "sed":
sed -i 's/.\x08//g' README_FILES/*
O "Makefile
" examina o núcleo
em execução para decidir como configurar várias coisas. Ele
não reconhece o "Linux-6" e falha em fazer as definições.
Depois que isso for corrigido, a construção fará referência
à versão recém-definida em um cabeçalho, o que também
quebra a construção. Corrija ambos com os seguintes
comandos:
sed -i 's/Linux..345/&6/' makedefs && sed -i 's/LINUX2/LINUX6/' src/util/sys_defs.h
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.
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".
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'
Para usar o "OpenLDAP" com o "Postfix", use os seguintes argumentos:
CCARGS='-DNO_NIS -DHAS_LDAP'
AUXLIBS='-lldap -llber'
Para usar o "Sqlite" com o "Postfix", use os seguintes argumentos:
CCARGS='-DNO_NIS -DHAS_SQLITE'
AUXLIBS='-lsqlite3 -lpthread'
Para usar o "MySQL" com o "Postfix", use os seguintes argumentos:
CCARGS='-DNO_NIS -DHAS_MYSQL -I/usr/include/mysql'
AUXLIBS='-lmysqlclient -lz -lm'
Para usar o "PostgreSQL" com o "Postfix", use os seguintes argumentos:
CCARGS='-DNO_NIS -DHAS_PGSQL -I/usr/include/postgresql'
AUXLIBS='-lpq -lz -lm'
Para usar o "CDB" ou o "TinyCDB" com o "Postfix", use os seguintes argumentos:
CCARGS='-DNO_NIS -DHAS_CDB'
AUXLIBS='</caminho/para/CDB>
/libcdb.a'
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.7.4/html \ readme_directory=/usr/share/doc/postfix-3.7.4/readme
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.
Crie (ou anexe a um existente) "/etc/aliases
" com o seguinte comando.
Mude "<LOGIN>
" 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: <LOGIN>
# 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.
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.
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
Para automatizar a execução do "Postfix" na inicialização,
instale a unidade "postfix.service
" inclusa no pacote
"" "blfs-systemd-units-20220720":
make install-postfix
Um link simbólico para " |
|
Um link simbólico para " |
|
é um utilitário para manutenção de base de dados de apelidos do "Postfix" |
|
Imprime o conteúdo dos arquivos originários da fila do "Postfix" em formato legível por humanos(as) |
|
Exibe ou muda o valor dos parâmetros de configuração do "Postfix" |
|
Cria um arquivo no diretório "maildrop" e copia a entrada gerada padrão dele para o arquivo |
|
é o aplicativo de controle do "Postfix" |
|
Envia solicitações para o serviço especificado por intermédio de um canal local de transporte |
|
Tranca uma pasta de mensagens para uso exclusivo e executa comandos passados para ela |
|
Uma interface de registro compatível com o "Postfix" para uso, por exemplo, em conjuntos de comandos sequenciais de "shell" |
|
Cria ou consulta uma ou mais tabelas de pesquisa do "Postfix" ou atualiza uma existente |
|
é 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 |
|
A interface de usuário(a) do "Postfix" para gerenciamento de filas |
|
A interface de usuário(a) do "Postfix" para gerenciamento de filas de superusuário(a) |
|
é a interface de compatibilidade do "Postfix" com o "Sendmail" |
O pacote "sendmail" contém um "Mail Transport Agent" ("MTA").
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.sendmail.org/sendmail.8.17.1.tar.gz
Transferência (FTP): ftp://ftp.sendmail.org/pub/sendmail/sendmail.8.17.1.tar.gz
Soma de verificação MD5 da transferência: cd3c3f7b2db60c362f07eecbebd99bf4
Tamanho da transferência: 2,2 MB
Espaço em disco estimado exigido: 20 MB
Tempo de construção estimado: 0,2 UPC
OpenLDAP-2.6.4 (cliente)
ghostscript-10.00.0 (para criar a documentação em "PDF"), Procmail-3.22 (a configuração proposta abaixo exige que o "procmail" esteja presente em tempo de execução) e nph
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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.1/{cf,sendmail} && install -v -m644 CACerts FAQ KNOWNBUGS LICENSE PGPKEYS README RELEASE_NOTES \ /usr/share/doc/sendmail-8.17.1 && install -v -m644 sendmail/{README,SECURITY,TRACEFLAGS,TUNING} \ /usr/share/doc/sendmail-8.17.1/sendmail && install -v -m644 cf/README /usr/share/doc/sendmail-8.17.1/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:
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.1 && install -v -m644 op.ps op.txt op.pdf /usr/share/doc/sendmail-8.17.1 && cd ../..
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
"Makefile
s". 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.
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
".
Para automatizar a execução do "sendmail" na inicialização, instale
a unidade "sendmail.service
" inclusa no
pacote "" "blfs-systemd-units-20220720":
make install-sendmail
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.
consulta e edita arquivos de mapas do "sendmail" |
|
imprime a situação do dispositivo persistente do "sendmail" |
|
exibe estatísticas do "sendmail" |
|
imprime um resumo das mensagens de correio de saída aguardando entrega |
|
cria arquivos de mapa do "sendmail" |
|
reconstrói " |
|
exibe os apelidos atuais do "sendmail" |
|
faz com que o "sendmail" limpe (purgue) todas as informações dele de situação do dispositivo |
|
é o agente de transporte de mensagens "sendmail" |
|
é um "shell" restrito para o "sendmail" |
|
é uma respostador automático de mensagens eletrônicas |
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.
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 120 (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] FATAL: database files are incompatible with server Oct 26 17:11:53 SRVNAME postgres[17338]: 2021-10-26 17:11:53.420 CDT [17338] DETAIL: 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.
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.
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.
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.
Documentação do(a) desenvolvedor(a) para Cópia de Segurança/Restauração: https://www.postgresql.org/docs/current/backup.html
Documentação do(a) desenvolvedor(a) para Cópia de Segurança/Restauração: https://mariadb.com/kb/en/backup-and-restore-overview/
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": https://www.sqlite.org/cli.html
Documentação de chamadas da "API" de cópia de segurança: 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: https://database.guide/backup-sqlite-database/
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
".
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://anduin.linuxfromscratch.org/BLFS/bdb/db-5.3.28.tar.gz
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
libnsl-2.0.0 e Sharutils-4.15.2 (para o comando "uudecode")
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/db
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
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 atualmente está
quebrado com "Java-7.x".
imprime os nomes dos caminhos dos arquivos de registro que não mais estão em uso |
|
é um processo de segundo plano usado para monitorar e verificar registros de bases de dados |
|
é usado para abortar solicitações de tranca quando trancas mortas são detectadas |
|
converte arquivos de base de dados em um formato de arquivo simples legível pelo "db_load" |
|
cria instantâneos de "cópia de segurança a quente" ou "failover a quente" de bases de dados "Berkeley DB" |
|
é usado para criar arquivos de base de dados a partir de arquivos simples criados com o "db_dump" |
|
verifica os arquivos de registro de uma base de dados |
|
converte arquivos de registro da base de dados em texto legível por humanos(as) |
|
é usado para restaurar uma base de dados para um estado consistente depois de uma falha |
|
é um processo de segundo plano que fornece serviços de replicação/"HA" em um ambiente transacional |
|
exibe estatísticas do ambiente de base de dados |
|
analisa os dados em uma base de dados "btree" e sugere um tamanho de página que provavelmente proporcionará uma operação ideal |
|
é usado para atualizar arquivos de base de dados para uma versão mais recente da "Berkeley DB" |
|
é usado para executar verificações de consistência em arquivos de bases de dados |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/LMDB/lmdb/archive/LMDB_0.9.29.tar.gz
Soma de verificação MD5 da transferência: 84cc7cac4bf15486536560f171297a49
Tamanho da transferência: 144 KB
Espaço em disco estimado exigido: 6,1 MB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/lmdb
Esse pacote extrai para "lmdb-LMDB_0.9.29".
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
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.
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.mariadb.org/interstitial/mariadb-10.6.12/source/mariadb-10.6.12.tar.gz
Transferência (FTP): ftp://mirrors.fe.up.pt/pub/mariadb/mariadb-10.6.12/source/mariadb-10.6.12.tar.gz
Soma de verificação MD5 da transferência: 70b118a5a82846fe64adbf99d766d3e9
Tamanho da transferência: 91 MB
Espaço em disco estimado exigido: 2,3 GB (659 MB instalado)
Tempo de construção estimado: 7,9 UPC (com paralelismo=4, adicionar 0,4 UPC para os testes)
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.
Boost-1.81.0, libaio-0.3.113, libxml2-2.10.3, Linux-PAM-1.5.2, MIT Kerberos V5-1.20.1, pcre2-10.42, Ruby-3.2.1, sphinx-6.1.3, unixODBC-2.3.11, Valgrind-3.20.0, Groonga, KyTea, Judy, lz4, MeCab, MessagePack, mruby, MyRocks, Snappy e ZeroMQ
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/mariadb
"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.6.12 \ -DINSTALL_DOCREADMEDIR=share/doc/mariadb-10.6.12 \ -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.
Um conjunto mais extenso de testes pode ser executado com o seguinte:
pushd mysql-test
./mtr --parallel <N>
--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
-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.
Existem numerosas opções disponíveis para o "cmake". Verifique a saída gerada do "cmake . -LH" para opções adicionais de personalizaçã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
Instale a unidade "mysqld.service
" inclusa no pacote
"" "blfs-systemd-units-20220720"
como o(a) usuário(a) "root
"
para iniciar o servidor "MariaDB" durante a inicialização do
sistema.
make install-mysqld
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
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.
é usado para verificar, reparar, otimizar, classificar e obter informações relativas a tabelas "Aria" |
|
é uma ferramenta para despejar o conteúdo das páginas de registro do "Aria" |
|
exibe informações de índice de texto completo |
|
é uma ferramenta para gerar tabelas "Aria" comprimidas e somente leitura |
|
exibe o conteúdo do arquivo de registro do "Aria" |
|
copia uma tabela "Aria" de e para "AWS S3" |
|
inicializa um novo agrupamento "Galera" |
|
recupera dados a partir de um agrupamento "Galera" |
|
imprime somas de verificação para arquivos "InnoDB" |
|
é uma ferramenta de fonte aberto de cópia de segurança para "InnoDB" e "XtraDB" |
|
é um "shell" simples "SQL" com recursos de edição de linha de entrada |
|
é o processo de segundo plano do servidor "MySQL" |
|
verifica os privilégios de acesso para uma combinação de nome de dispositivo, nome de usuário(a) e base de dados |
|
é um cliente para realizar operações administrativas |
|
lê arquivos binários de registro |
|
realiza manutenção de tabelas: verifica, repara, otimiza ou analisa tabelas |
|
é usado para testar aspectos da "API" do cliente "MySQL" que não podem ser testados usando o "mysqltest" e a linguagem de teste dele |
|
é uma ferramenta para testar a "API" do cliente para o servidor incorporado |
|
converte conjuntos de caracteres para uso com "MariaDB" |
|
converte as tabelas em uma base de dados para usar um mecanismo específico de armazenamento |
|
foi projetado para gerenciar vários processos "mysqld" que escutam conexões em diferentes arquivos de soquete "Unix" e portas "TCP"/"IP" |
|
é a maneira recomendada de iniciar um servidor "mysqld" em "Unix" e "NetWare" |
|
é um aplicativo de cópia de segurança |
|
analisa arquivos de registro de consulta lenta do "MySQL" e imprime um resumo do conteúdo deles |
|
é um cliente "MySQL" vinculado estaticamente à "libmariadbd" |
|
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" |
|
converte as extensões dos arquivos de tabela "MyISAM" (ou "ISAM") para as formas canônicas delas |
|
trava a tabela, libera a tabela e então realiza uma cópia da base de dados |
|
lê uma variedade de formatos de dados e insere os dados em uma base de dados |
|
inicializa o diretório de dados "MySQL" e cria as tabelas de sistema que ele contém, se elas não existirem |
|
é a ferramenta "RocksDB" |
|
é um utilitário que habilita os(as) administradores(as) "MySQL" a gerenciar quais "plugins" um servidor "MySQL" carrega |
|
é uma ferramenta para melhorar a segurança da instalação do "MySQL" |
|
gera uma unidade do "systemd" baseada nas configurações atuais do "mariadb" |
|
configura permissões nas tabelas de concessão do "MySQL" |
|
mostra a estrutura de uma base de dados "MariaDB" |
|
é um aplicativo de diagnóstico projetado para emular a carga do cliente para um servidor "MySQL" e informar o tempo de cada estágio |
|
executa um caso de teste em um servidor "MySQL" e, opcionalmente, compara a saída gerada com um arquivo de resultado |
|
é semelhante ao comando "mysqltest", mas é construído com suporte para o servidor incorporado "libmysqld" |
|
carrega as tabelas de fuso horário na base de dados "mysql" |
|
examina todas as tabelas em todas as bases de dados em busca de incompatibilidades com a versão atual do Servidor "MySQL" |
|
sinaliza um processo para terminar e espera que o processo saia |
|
obtém sinalizadores do compilador para usar o "Connector/C" do "MariaDB" |
|
é um utilitário para enviar cópias de segurança "InnoDB" e "XTraDB" por meio de um fluxo |
|
é uma ferramenta para converter aplicativos "mSQL" para uso com "MySQL" |
|
exibe as opções a partir de grupos de opções de arquivos de opções |
|
exibe informações relativas a índices "FULLTEXT" em tabelas "MyISAM" |
|
obtém informações relativas às tabelas da tua base de dados ou as verifica, repara ou otimiza |
|
exibe o conteúdo do arquivo de registro do "MyISAM" |
|
é uma ferramenta para comprimir tabelas "MyISAM" |
|
fornece informações úteis para compilar o teu cliente "MySQL" e conectá-lo ao "MySQL" |
|
é uma ferramenta baseada em console para monitorar as camadas e o desempenho geral de um servidor "MySQL" |
|
é um utilitário que exibe descrições de códigos de erro do sistema ou do mecanismo de armazenamento |
|
é uma extensão "MariaDB"/"MySQL" para o padrão "SQL" |
|
resolve um despejo numérico de pilha em símbolos |
|
é um utilitário para resolver endereços "IP" em nomes de dispositivo e vice-versa |
|
despeja o conteúdo dos arquivos "sst" (o formato usado pelo "RocksDB") |
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.postgresql.org/pub/source/v15.2/postgresql-15.2.tar.bz2
Soma de verificação MD5 da transferência: 968418dbdd700caaccfeabcee7516496
Tamanho da transferência: 21,6 MB
Espaço em disco estimado exigido: 209 MB (adicionar 42 MB para os testes)
Tempo de construção estimado: 0,6 UPC (com paralelismo=4, adicionar 0,1 UPC para os testes)
ICU-72.1, libxml2-2.10.3, libxslt-1.1.37, OpenLDAP-2.6.4, Linux-PAM-1.5.2, MIT Kerberos V5-1.20.1 e Bonjour
fop-2.8, docbook-4.5-dtd, docbook-dsssl-1.79, DocBook-utils-0.6.14, OpenJade-1.3.2 e SGMLSpm-1.1
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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_manual.h && ./configure --prefix=/usr \ --enable-thread-safety \ --docdir=/usr/share/doc/postgresql-15.2 && 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/<NOME-SUB-DIRETÓRIO>
"
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".
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: 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/<NOME-SUB-DIRETÓRIO>
install
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'
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.
$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.2/html/index.html
.
Instale a unidade "postgresql.service
" inclusa no
pacote "" "blfs-systemd-units-20220720":
make install-postgresql
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 &'
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"
é um utilitário para reagrupar tabelas em uma base de dados "PostgreSQL" |
|
cria uma nova base de dados "PostgreSQL" |
|
define uma nova conta de usuário(a) "PostgreSQL" |
|
remove uma base de dados "PostgreSQL" |
|
remove uma conta de usuário(a) "PostgreSQL" |
|
é o pré processador incorporado "SQL" |
|
cria um novo agrupamento de bases de dados |
|
resolve "OIDs" ("Object IDs") e nós de arquivo em um diretório de dados do "PostgreSQL" |
|
verifica se existe corrupção em uma ou mais bases de dados "PostgreSQL" |
|
limpa arquivos de arquivamento "write-ahead log" ("WAL") do "PostgreSQL" |
|
faz cópias básicas de segurança de um agrupamento do PostgreSQL em execução |
|
habilita, desabilita ou verifica somas de verificação de dados em um agrupamento de bases de dados do "PostgreSQL" |
|
recupera informações de versão do "PostgreSQL" |
|
retorna informações inicializadas durante o "initdb", como a versão do catálogo e a localidade do servidor |
|
controla a parada e inicialização do servidor de base de dados |
|
despeja dados e metadados da base de dados em conjuntos de comandos sequenciais que são usados para recriar a base de dados |
|
chama recursivamente "pg_dump" para cada base de dados em um agrupamento |
|
verifica a situação da conexão de um servidor "PostgreSQL" |
|
é usado para transmitir "write-ahead logs" a partir de um servidor "PostgreSQL" |
|
controla fluxos de decodificação lógica do "PostgreSQL" |
|
reconfigura o "write-ahead log" e outras informações de controle de um agrupamento de bases de dados "PostgreSQL" |
|
cria bases de dados a partir de arquivos de despejo criados pelo "pg_dump" |
|
sincroniza um diretório de dados do "PostgreSQL" com outro diretório de dados que foi bifurcado a partir do primeiro |
|
suporta a criação de um servidor de espera quente do "PostgreSQL" |
|
determina o método "wal_sync" mais rápido para o "PostgreSQL" |
|
mede a sobrecarga de tempo |
|
atualiza uma instância do servidor "PostgreSQL" |
|
verifica a integridade de uma cópia básica de segurança de um agrupamento do "PostgreSQL" |
|
exibe uma renderização legível por humanos(as) do "write-ahead log" de um agrupamento de bases de dados do "PostgreSQL" |
|
executa um teste de avaliação comparativa no "PostgreSQL" |
|
é 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 "Pgtcl" esteja instalado |
|
é um conjunto de comandos sequenciais de suporte usado para listar os módulos em uma tabela "PL"/"Tcl". O comando exige que o pacote "Pgtcl" esteja instalado |
|
é um conjunto de comandos sequenciais de suporte usado para carregar um módulo em uma tabela "PL"/"Tcl". O comando exige que o pacote "Pgtcl" esteja instalado |
|
é o servidor de base de dados "PostgreSQL" |
|
(descontinuado, um link simbólico para postgres) é um processo multiusuário(a) de segundo plano de base de dados |
|
é um "shell" de base de dados baseado em console |
|
é um utilitário para reconstruir índices em uma base de dados |
|
compacta bases de dados e gera estatísticas para o analisador de consultas |
|
remove objetos grandes órfãos a partir de uma base de dados do "PostgreSQL" |
|
contém funções para suportar "SQL" incorporado em aplicativos "C" |
|
é a biblioteca de compatibilidade "ecpg" |
|
é o subsistema específico da porta da estrutura de retaguarda do "Postgres" |
|
contém funções para lidar com tipos de dados "Postgres" |
|
é a "API" do(a) programador(a) "C" para "Postgres" |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://sqlite.org/2022/sqlite-autoconf-3400100.tar.gz
Soma de verificação MD5 da transferência: 42175b1a1d23529cb133bbd2b5900afd
Tamanho da transferência: 3,0 MB
Espaço em disco estimado exigido: 78 MB
Tempo de construção estimado: 0,3 UPC (Usando paralelismo=4)
Documentação Opcional
Transferência (HTTP): https://sqlite.org/2022/sqlite-doc-3400100.zip
Soma de verificação MD5 da transferência: f4cc9073ea45b01f62b9652e5e28a383
Tamanho da transferência: 11 MB
libedit e UnZip-6.0 (exigido para deszipar a documentação)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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-3400100.zip
Instale o "SQLite" executando os seguintes comandos:
./configure --prefix=/usr \ --disable-static \ --enable-fts5 \ CPPFLAGS="-DSQLITE_ENABLE_FTS3=1 \ -DSQLITE_ENABLE_FTS4=1 \ -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.40.1 && cp -v -R sqlite-doc-3400100/* /usr/share/doc/sqlite-3.40.1
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
--enable-fts5
: Essa
chave habilita o suporte para a versão cinco da extensão
completa de pesquisa de texto.
CPPFLAGS="-DSQLITE_ENABLE_FTS3=1
-DSQLITE_ENABLE_FTS3_TOKENIZER=1 -DSQLITE_ENABLE_FTS4=1
-DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE
-DSQLITE_ENABLE_UNLOCK_NOTIFY=1
-DSQLITE_ENABLE_DBSTAT_VTAB=1"
: Aplicativos como
o "SeaMonkey" exigem que
essas opções estejam ativadas. A única maneira de fazer isso
é a de incluí-las na "CFLAGS
" ou
na "CPPFLAGS
". Nós usamos a
última, de forma que o valor padrão (ou qualquer valor
configurado pelo(a) usuário(a)) de CFLAGS
não seja afetado. Para mais informações
relativas ao que pode ser especificado, veja-se https://www.sqlite.org/compile.html.
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.
O pacote "OpenLDAP" fornece uma implementação de fonte aberto do "Lightweight Directory Access Protocol".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.6.4.tgz
Transferência (FTP): ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.6.4.tgz
Soma de verificação MD5 da transferência: fee2b0dca212b41c87976d0414f30f12
Tamanho da transferência: 6,2 MB
Espaço em disco estimado exigido: 58 MB (cliente e servidor)
Tempo de construção estimado: 0,4 UPC (cliente), 1,1 UPC (servidor)
GnuTLS-3.8.0, Pth-2.0.7, unixODBC-2.3.11, MariaDB-10.6.12 ou PostgreSQL-15.2 ou MySQL, OpenSLP, WiredTiger e Base de Dados Berkeley-5.3.28 (para "slapd", porém descontinuado)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/openldap
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.4-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.4-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 parecem ser frágeis. Erros possivelmente causem os testes abortar antes de finalizar, aparentemente devido a problemas de temporização. Os testes duram cerca de sessenta e cinco (65) minutos e são independentes do processador. 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.4 && cp -vfr doc/{drafts,rfc,guide} \ /usr/share/doc/openldap-2.6.4
--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
"OpenSLP".
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.
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
".
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").
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 "Guia do(a)
Administrador(a) do OpenLDAP 2.6" (também
instalado localmente em "/usr/share/doc/openldap-2.6.4/guide/admin
").
Documentes localizados em https://www.openldap.org/pub/.
Para automatizar a inicialização do servidor do "LDAP" na
inicialização do sistema, instale a
unidade "slapd.service
"
inclusa no pacote "" "blfs-systemd-units-20220720"
usando o seguinte comando:
make install-slapd
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.
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
abre uma conexão com um servidor do "LDAP", vincula e adiciona entradas |
|
abre uma conexão com um servidor do "LDAP", vincula e realiza uma comparação usando parâmetros especificados |
|
abre uma conexão com um servidor do "LDAP", vincula e deleta uma ou mais entradas |
|
emite a operação estendida do "LDAP" especificada por "oid" ou uma das palavras-chave especiais" whoami", "cancel" ou "refresh" |
|
abre uma conexão com um servidor do "LDAP", vincula e modifica entradas |
|
abre uma conexão com um servidor do "LDAP", vincula e modifica o "RDN" das entradas |
|
é uma ferramenta usada para configurar a senha de um(a) usuário(a) do "LDAP" |
|
abre uma conexão com um servidor do "LDAP", vincula e realiza uma pesquisa usando parâmetros especificados |
|
é um comando que permite ou compor ou decompor "URIs" do "LDAP" |
|
verifica credenciais de "LDAP" |
|
abre uma conexão com um servidor do "LDAP", vincula e exibe informações "whoami" |
|
é 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 |
|
é usado para adicionar entradas especificadas no "LDAP Directory Interchange Format" ("LDIF") a uma base de dados do "LDAP" |
|
é usado para verificar o comportamento do "slapd" no mapeamento de identidades para fins de autenticação e autorização, conforme especificado no "slapd.conf" |
|
é usado para gerar uma saída "LDIF" do "LDAP" baseada no conteúdo de uma base de dados do "slapd" |
|
é o servidor autônomo do "LDAP" |
|
verifica uma lista de "DNs" representados por sequências de caracteres baseadas na sintaxe do esquema |
|
é usado para regenerar índices do "slapd" baseados no conteúdo atual de uma base de dados |
|
modifica entradas em uma base de dados do "slapd" |
|
é um utilitário de senha "OpenLDAP" |
|
é usado para verificar a conformidade do esquema do conteúdo de uma base de dados do "slapd" |
|
verifica a sanidade do arquivo " |
|
é 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 |
|
suporta os aplicativos do "LDAP" e fornece funcionalidade para outros aplicativos que interajam com o "LDAP" |
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://nlnetlabs.nl/downloads/unbound/unbound-1.17.1.tar.gz
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)
libevent-2.1.12, Nettle-3.8.1, Python-2.7.18, sphinx-6.1.3 (para a documentação das ligações "Python"), SWIG-4.1.1 (para as ligações "Python"), Doxygen-1.9.6 (para a documentação "HTML") e dnstap
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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 "Doxygen-1.9.6" 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
--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".
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
Se você estiver usando um cliente "DHCP" para conectar-se a
uma rede de intercomunicação, [então] o "/etc/resolv.conf
" será sobrescrito pelos
valores fornecidos pelo servidor "DHCP". Você pode
substituir isso, por exemplo, no "DHCP-4.4.3-P1",
executando o seguinte comando como o(a) usuário(a)
"root
":
sed -i '/request /i\supersede domain-name-servers 127.0.0.1;' \ /etc/dhcp/dhclient.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
Se você quiser que o servidor "Unbound" inicie automaticamente quando
o sistema for inicializado, [então] instale a unidade "unbound.service
" inclusa no pacote
"" "blfs-systemd-units-20220720":
make install-unbound
é um processo de segundo plano de resolvedor "DNS" |
|
executa a configuração ou atualização da âncora de confiança raiz para validação "DNSSEC" |
|
verifica o arquivo de configuração do "unbound" para sintaxe e outros erros |
|
realiza administração remota no resolvedor "DNS" "unbound" |
|
gera um certificado autoassinado e chaves privadas para o servidor e cliente |
|
é um utilitário de pesquisa "DNS" semelhante ao "host" originário do "Utilitários BIND-9.18.12" |
|
fornece as funções da "API" do "Unbound" para aplicativos |
Este capítulo contém instruções para construir e configurar um ambiente gráfico de usuário(a).
Por um longo tempo o único ambiente gráfico usável com o GNU/Linux foi o "Sistema 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 ser difícil acessar a aceleração moderna de hardware, de forma que outras abordagens foram desenvolvidas. Dois novos sistemas estão disponíveis: "Wayland" e "Vulkan". O primeiro é um substituto mais simples do "X", mais fácil de desenvolver e manter, usando a estrutura essencial de suporte "OpenGL". Os principais ambientes de área de trabalho, "GNOME" e "KDE", foram portados para ele. O último permite acesso direto ao hardware gráfico por intermédio de uma interface portável. Ele é mais recente e ainda não está incluído no BLFS.
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.
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 Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/Xorg7
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 "Wget-1.21.3" é 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 nesta página e 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.
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 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 "Sudo-1.9.13p1". É
recomendado que você use a opção de configuração ":NOPASSWD
" para o(a) usuário(a)
que irá construir os pacotes do "Xorg".
As instruções a seguir assumem que os arquivos de inicialização do "shell" tenham sido configurados conforme descrito em "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="<PREFIXO>
"
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 --disable-static"
export XORG_PREFIX XORG_CONFIG
EOF
chmod 644 /etc/profile.d/xorg.sh
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 "Sudo-1.9.13p1", [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 tiver decidido usar o prefixo padrão "/usr
", [então] você precisa omitir o
restante desta página e continuar em "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_PATH
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
O pacote "util-macros" contém as macros do "m4" usadas por todos os pacotes do "Xorg".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.x.org/pub/individual/util/util-macros-1.20.0.tar.xz
Transferência (FTP): 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
Ambiente de construção do "Xorg" (deveria estar configurado para as seguintes instruções funcionarem)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
$XORG_PREFIX
/share/pkgconfig e
$XORG_PREFIX
/share/util-macros
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://xorg.freedesktop.org/archive/individual/proto/xorgproto-2022.2.tar.xz
Soma de verificação MD5 da transferência: 3fdb11d75f7023db273f7b3e34b58338
Tamanho da transferência: 740 KB
Espaço em disco estimado exigido: 8,5 MB
Tempo de construção estimado: menos que 0,1 UPC
fop-2.8, libxslt-1.1.37, xmlto-0.0.28 e asciidoc-10.2.0 (para construir documentação adicional)
Existe uma dependência recíproca com o "fop-2.8". Se desejar construir a documentação, [então] você precisará reinstalar os Cabeçalhos de Protocolo depois da instalação estar completa e o "fop-2.8" ter sido instalado.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/Xorg7ProtocolHeaders
Instale o "xorgproto" executando os seguintes comandos:
mkdir build && cd build && meson --prefix=$XORG_PREFIX -Dlegacy=true .. && 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{,-2022.2}
-Dlegacy=true
:
Instala cabeçalhos legados necessários para aplicativos
antigos (como o "LessTif").
$XORG_PREFIX
/include/GL, $XORG_PREFIX
/include/X11 e $XORG_PREFIX
/share/doc/xorgproto-2022.2
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.x.org/pub/individual/lib/libXau-1.0.11.tar.xz
Transferência (FTP): 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)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.x.org/pub/individual/lib/libXdmcp-1.1.4.tar.xz
Transferência (FTP): 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)
xmlto-0.0.28, fop-2.8, libxslt-1.1.37 e Xorg-SGML-doctools (para a documentação)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://xorg.freedesktop.org/archive/individual/proto/xcb-proto-1.15.2.tar.xz
Soma de verificação MD5 da transferência: d2251b01927c2fbe92dc540f9536b430
Tamanho da transferência: 145 KB
Espaço em disco estimado exigido: 2,3 MB
Tempo de construção estimado: menos que 0,1 UPC
Ambiente de construção do "Xorg" (necessário para as instruções abaixo)
libxml2-2.10.3 (exigido para executar os testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
$XORG_PREFIX
/share/xcb e $XORG_PREFIX
/lib/python3.11/site-packages/xcbgen
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://xorg.freedesktop.org/archive/individual/lib/libxcb-1.15.tar.xz
Soma de verificação MD5 da transferência: 39c0fc337e738ad6c908e7cce90957d0
Tamanho da transferência: 440 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")
libXau-1.0.11 e xcb-proto-1.15.2
Doxygen-1.9.6 (para gerar a documentação da "API") e libxslt-1.1.37
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libxcb
Instale o "libxcb" executando os seguintes comandos:
PYTHON=python3 \ ./configure $XORG_CONFIG \ --without-doxygen \ --docdir='${datadir}'/doc/libxcb-1.15 && make
Para testar os resultados, emita: "make check".
Agora, como o(a) usuário(a) "root
":
make install
PYTHON=python3
: Essa
variável força a configuração a usar "python3" em vez de
"python2". O conjunto de comandos sequenciais de configuração
para esse pacote será automaticamente padronizado para
"python2" se esse estiver presente.
--without-doxygen
:
Não use "doxygen" para gerar documentação da "API" (padrão:
automático). Sem ele, se o "Doxygen-1.9.6" estiver instalado,
[então] a documentação da "API" será gerada e instalada.
$XORG_PREFIX
/include/xcb e $XORG_PREFIX
/share/doc/libxcb-1.15
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.x.org/pub/individual/lib/
Transferência (FTP): 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
Fontconfig-2.14.2 e libxcb-1.15
asciidoc-10.2.0, xmlto-0.0.28 com um ou mais do seguinte: fop-2.8, Links-2.28, Lynx-2.8.9rel.1, ncompress (para alguns testes) e W3m (para gerar documentação adicional "PDF" ou texto para o pacote "libXfont").
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/Xorg7Libraries
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"
ce2fb8100c6647ee81451ebe388b17ad xtrans-1.4.0.tar.bz2
e932752126240f0846b35eef6b1f2c3d libX11-1.8.4.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
b122ff9a7ec70c94dbbfd814899fffa5 libXt-1.2.1.tar.bz2
ed52d396115fbc4d05300762aab79685 libXmu-1.1.4.tar.xz
b3c58c94e284fd6940d3615e660a0007 libXpm-3.5.15.tar.xz
c1ce21c296bbf3da3e30cf651649563e libXaw-1.0.14.tar.bz2
86f182f487f4f54684ef6b142096bb0f libXfixes-6.0.0.tar.bz2
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
69dc24ba444a0f6bd99423dbf8fd0260 libXft-2.3.7.tar.xz
74055672a111a98ce2841d2ec4057b05 libXi-1,8.tar.bz2
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
d2f1f0ec68ac3932dd7f1d9aa0a7a11c libdmx-1.1.4.tar.bz2
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 "wget", 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
Ao instalar-se múltiplos pacotes em um "script", 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:
Executar o "script" inteiro como o(a) usuário(a) "root" (não recomendado).
Usar o comando "sudo" oriundo do pacote Sudo-1.9.13p1.
Usar su -c "argumentos do comando" (aspas exigidas) o qual solicitará a senha do(a) "root" para cada interação do "loop".
Uma maneira de se lidar com essa situação é a de criar uma função curta do "bash" que seleciona automaticamente o método apropriado. Tão logo o comando seja configurado no ambiente, ele não precisa ser novamente configurado.
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]* ) sed -i '/TestAll.*TRUE/s|^|//|' test/TestAllFiles.h ./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
sed ... test/TestAllFiles.h: Corrija um arquivo de teste para funcionar sem o aplicativo opcional "compress".
--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 "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 "fop-2.8" para gerar
documentação em "PDF" (somente para o pacote "libXfont").
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
$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.4,
$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
verifica o formato de um arquivo "XPM" |
|
mostra um arquivo "XPM" e(ou) converte arquivos "XPM" 1 ou 2 em "XPM" 3 |
|
é a biblioteca de extensão "Distributed Multihead X" ("DMX") do Sistema de Janelas "X" |
|
é a biblioteca de codificação de fontes "X11" |
|
é a interface da biblioteca para o Servidor de Fontes do "X" |
|
é a Biblioteca de Intercâmbio "Inter Client" do "X" |
|
é a biblioteca genérica Acesso "PCI" para o "X" |
|
é a Biblioteca de Gerenciamento de Sessões do "X" |
|
é a biblioteca "Xlib" |
|
é a Biblioteca de Pequenas Engenhocas "Athena" do "X", versão 6 |
|
é a Biblioteca de Pequenas Engenhocas "Athena" do "X", versão 7 |
|
são links simbólicos para a atual Biblioteca de Pequenas Engenhocas "Athena" do "X", versão 7 |
|
é a Biblioteca Composta do "X" |
|
é a biblioteca de gerenciamento de Cursor do "X" |
|
é a Biblioteca Danos do "X" |
|
é a Biblioteca de Extensão Misc do "X" |
|
fornece versões aumentadas de solicitações de protocolo principais |
|
é a biblioteca de fontes do "X" |
|
é a biblioteca de interface "FreeType" do "X" |
|
é a Biblioteca "Xinerama" |
|
é a Biblioteca de Extensão de Entrada do "X" |
|
é a Biblioteca "xkbfile" |
|
é a biblioteca de interface do "X" para utilitários diversos não partes do padrão "Xlib" |
|
é a Biblioteca "Mini Xmu" |
|
é a Biblioteca "Pixmap" do "X" |
|
é a biblioteca de extensões "Resize", "Rotate" e "Reflection" do "X" |
|
é a Biblioteca de Renderização do "X" |
|
é a biblioteca cliente de extensão "X-Resource" |
|
expõe uma "API" de eventos no topo de "futexes" do Linux |
|
é a biblioteca cliente da extensão Protetor de Tela "X11" |
|
é a Biblioteca Kit de Ferramentas do "X" |
|
é a Biblioteca "Xtst" |
|
é a Biblioteca de Compensação de Movimento de Vídeo do "X" |
|
é o Envólucro "XvMC" incluindo a extensão "VLD" não padrão |
|
é a biblioteca de extensão de vídeo do Sistema de Janelas "X" |
|
é a biblioteca cliente para a extensão "DGA" do "XFree86" |
|
é a biblioteca cliente para a extensão "VidMode" do "XFree86" do "X" |
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.x.org/pub/individual/lib/libxcvt-0.1.2.tar.xz
Transferência (FTP): 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
Ambiente de construção do "Xorg" (deveria estar configurado para as seguintes instruções funcionarem)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libxcvt
Instale o "libxcvt" executando os seguintes comandos:
mkdir build && cd build && meson --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
--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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://xcb.freedesktop.org/dist/xcb-util-0.4.1.tar.xz
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
Doxygen-1.9.6 (para documentação)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
O pacote "xcb-util-image" fornece extensões adicionais para a biblioteca "XCB".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://xcb.freedesktop.org/dist/xcb-util-image-0.4.1.tar.xz
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
Doxygen-1.9.6 (para documentação)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://xcb.freedesktop.org/dist/xcb-util-keysyms-0.4.1.tar.xz
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
Doxygen-1.9.6 (para gerar documentação)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
O pacote "xcb-util-renderutil" fornece extensões adicionais para a biblioteca "XCB".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://xcb.freedesktop.org/dist/xcb-util-renderutil-0.3.10.tar.xz
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
Doxygen-1.9.6 (para documentação)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://xcb.freedesktop.org/dist/xcb-util-wm-0.4.2.tar.xz
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
Doxygen-1.9.6 (para documentação)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://xcb.freedesktop.org/dist/xcb-util-cursor-0.1.4.tar.xz
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
xcb-util-image-0.4.1 e xcb-util-renderutil-0.3.10
Doxygen-1.9.6 (para documentação)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
"Mesa" é uma biblioteca gráfica "3D" compatível com "OpenGL".
"Mesa" é atualizada relativamente muitas vezes. Você possivelmente queira usar a versão 22.3.x do "Mesa" mais recente disponível.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://mesa.freedesktop.org/archive/mesa-22.3.5.tar.xz
Transferência (FTP): ftp://ftp.freedesktop.org/pub/mesa/mesa-22.3.5.tar.xz
Soma de verificação MD5 da transferência: fdb35ae46968ce517702037710db6a3f
Tamanho da transferência: 17 MB
Espaço em disco estimado exigido: 369 MB (com os documentos, adicionar 203 MB para os testes)
Tempo de construção estimado: 2,2 UPC (Usando paralelismo=4; com os documentos, adicionar 0,6 UPC para os testes)
Remendo recomendado: https://www.linuxfromscratch.org/patches/blfs/11.3/mesa-22.3.5-add_xdemos-1.patch (instala dois (02) aplicativos de demonstração para testagem da "Mesa" - não necessário se você instalar o pacote "mesa-demos")
Bibliotecas do Xorg, libdrm-2.4.115 e Mako-1.2.4
libva-2.17.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"), libvdpau-1.5 (para construir os controladores "VDPAU"), LLVM-15.0.7 (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 https://docs.mesa3d.org/systems.html para mais informações) e wayland-protocols-1.31 (exigido para o "Plasma-5.26.5", "GNOME", e recomendado para o "GTK+-3.24.36")
libgcrypt-1.10.1, libunwind-1.6.2, lm-sensors-3-6-0 , Nettle-3.8.1, Valgrind-3.20.0, mesa-demos (fornece mais que trezentos (300) demonstrativos extra para testar Mesa; isso inclui os mesmos aplicativos adicionados pelo remendo acima), Camada de Integração Bellagio OpenMAX (para plataformas móveis), glslang (para os controladores "vulkan"), libtizonia e libvulkan
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/mesalib
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-22.3.5-add_xdemos-1.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".
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-22.3.5 && cp -rfv ../docs/* /usr/share/doc/mesa-22.3.5
--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="..."
: Esse
parâmetro controla quais controladores "Gallium3D" deveriam
ser construídos.
-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 a
dependência opcional "glslang
".
Portanto é melhor passar uma lista vazia, para a finalidade
de eliminar a necessidade dessa dependência. De qualquer
forma, nada no BLFS usa "Vulkan".
-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".
é uma demonstração "GL" útil para solucionar problemas gráficos |
|
é um aplicativo de diagnóstico que exibe informações relativas ao hardware gráfico e bibliotecas "GL" instaladas |
|
fornece uma interface gráfica de plataforma nativa conforme definido pela especificação "EGL-1.4" |
|
é a biblioteca "Graphics Buffer Manager" do "Mesa" |
|
é a biblioteca "OpenGL ES 1.1" do "Mesa" |
|
é a biblioteca "OpenGL ES 2.0" do "Mesa" |
|
é a principal biblioteca "OpenGL" do "Mesa" |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.x.org/pub/individual/data/xbitmaps-1.1.2.tar.bz2
Transferência (FTP): ftp://ftp.x.org/pub/individual/data/xbitmaps-1.1.2.tar.bz2
Soma de verificação MD5 da transferência: cedeef095918aca86da79a2934e03daf
Tamanho da transferência: 126 KB
Espaço em disco estimado exigido: 1,6 MB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
$XORG_PREFIX
/include/X11/bitmaps
Os aplicativos do "Xorg" fornecem os aplicativos esperados disponíveis em implementações anteriores do Janelas "X".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.x.org/pub/individual/app/
Transferência (FTP): 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)
libpng-1.6.39, Mesa-22.3.5, xbitmaps-1.1.2 e xcb-util-0.4.1
Linux-PAM-1.5.2 e ambos cairo-5c e Nickle (somente se você desejar tentar executar o não documentado conjunto de comandos sequenciais xkeyhost).
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/Xorg7Applications
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
2f72c7170cdbadc8ef786b2f9cfd4a69 setxkbmap-1.3.3.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
f67116760888f2e06486ee3d179875d2 xdpyinfo-1.3.3.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
ac6b7432726008b2f50eba82b0e2dbe4 xinput-1.6.3.tar.bz2
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
85f04a810e2fb6b41ab872b421dce1b1 xrdb-1.2.1.tar.bz2
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
f783a209f2e3fa13253cedb65eaf9cdb xwd-1.0.8.tar.bz2
26d46f7ef0588d3392da3ad5802be420 xwininfo-1.1.5.tar.bz2
5ff5dc120e8e927dc3c331c7fee33fc3 xwud-1.0.6.tar.xz
EOF
Para transferir os arquivos necessários usando o "wget", 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
Ao instalar-se múltiplos pacotes em um "script", 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:
Executar o "script" inteiro como o(a) usuário(a) "root" (não recomendado).
Usar o comando "sudo" oriundo do pacote Sudo-1.9.13p1.
Usar su -c "argumentos do comando" (aspas exigidas) o qual solicitará a senha do(a) "root" para cada interação do "loop".
Uma maneira de se lidar com essa situação é a de criar uma função curta do "bash" que seleciona automaticamente o método apropriado. Tão logo o comando seja configurado no ambiente, ele não precisa ser novamente configurado.
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
é o utilitário "ICE" de arquivo de autoridade |
|
fornece suporte local e "ISO 2022" para terminais "Unicode" |
|
cria um índice de arquivos de fontes do "X" em um diretório |
|
cria um índice de arquivos de fontes escaláveis para o "X" |
|
gerencia entradas "utmp"/"wtmp" para clientes não "init" |
|
configura o teclado usando a Extensão de Teclado do "X" |
|
é o "Proxy" do Gerenciador de Sessão |
|
é um aplicativo de teste de desempenho do servidor "X11" |
|
é um aplicativo de comparação de desempenho do servidor "X11" |
|
é o utilitário de arquivo de autoridade do "X" |
|
ajusta o brilho da luz de fundo usando a extensão "RandR" |
|
é o utilitário "Device Color Characterization" para o Sistema de Gerenciamento de Cores do "X" |
|
cria um arquivo de cursor "X" a partir de uma coleção de imagens "PNG" |
|
despeja uma janela do "X" diretamente em uma impressora |
|
é um utilitário de exibição de informações para o "X" |
|
consulta informações de configuração de controladores "DRI" |
|
imprime o conteúdo de eventos do "X" |
|
altera a correção gama de um monitor por intermédio do servidor "X" |
|
é um aplicativo de controle de acesso ao servidor para o "X" |
|
é um utilitário para configurar e testar dispositivos de entrada do "X" |
|
é um aplicativo utilitário "XKB" que gera um evento de campainha |
|
compila uma descrição do teclado do "XKB" |
|
é o processo de segundo plano de eventos do "XKB" |
|
mostra a situação do "XKB" dos "LEDs" do teclado |
|
monitora teclas modificadoras e "LEDs" |
|
mata um cliente por recurso dele do "X" |
|
lista átomos internos definidos no servidor |
|
lista aplicativos cliente em execução em um "display" |
|
exibe uma mensagem ou consulta em uma janela |
|
é um utilitário para modificar mapas de teclado e mapeamentos de botões de ponteiro no "X" |
|
imprime um despejo da janela do "X" |
|
é um exibidor de propriedades para o "X" |
|
é uma interface primitiva de linha de comando para a extensão "RandR" |
|
é o utilitário de base de dados de recursos do servidor "X" |
|
atualiza toda ou parte de uma tela do "X" |
|
é o utilitário de preferência do(a) usuário(a) para o "X" |
|
é o utilitário de configuração de parâmetros da janela raiz para o "X" |
|
imprime informações do adaptador de extensão "X-Video" |
|
despeja uma imagem de uma janela do "X" |
|
é um utilitário de informações de janela para o "X" |
|
é um exibidor de imagens para o "X" |
O pacote "xcursor-themes" contém os temas de cursor animados "redglass" e "whiteglass".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.x.org/pub/individual/data/xcursor-themes-1.0.6.tar.bz2
Transferência (FTP): ftp://ftp.x.org/pub/individual/data/xcursor-themes-1.0.6.tar.bz2
Soma de verificação MD5 da transferência: aea14eabf40528ec4db18f1cfcf5c458
Tamanho da transferência: 2,3 MB
Espaço em disco estimado exigido: 15 MB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xcursor-themes
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
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 "“Fontes TTF e OTF”".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.x.org/pub/individual/font/
Transferência (FTP): 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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/Xorg7Fonts
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
c2bcfdc52b8b6462228342cedae2fed9 encodings-1.0.6.tar.xz
0497de0176a0dfa5fac2b0552a4cf380 font-alias-1.0.4.tar.bz2
fcf24554c348df3c689b91596d7f9971 font-adobe-utopia-type1-1.0.4.tar.bz2
e8ca58ea0d3726b94fe9f2c17344be60 font-bh-ttf-1.0.3.tar.bz2
53ed9a42388b7ebb689bdfc374f96a22 font-bh-type1-1.0.3.tar.bz2
bfb2593d2102585f45daa960f43cb3c4 font-ibm-type1-1.0.3.tar.bz2
4ee18ab6c1edf636b8e75b73e6037371 font-misc-ethiopic-1.0.4.tar.bz2
3eeb3fb44690b477d510bbd8f86cf5aa font-xfree86-type1-1.0.4.tar.bz2
EOF
Para transferir os arquivos necessários usando o "wget", 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
Ao instalar-se múltiplos pacotes em um "script", 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:
Executar o "script" inteiro como o(a) usuário(a) "root" (não recomendado).
Usar o comando "sudo" oriundo do pacote Sudo-1.9.13p1.
Usar su -c "argumentos do comando" (aspas exigidas) o qual solicitará a senha do(a) "root" para cada interação do "loop".
Uma maneira de se lidar com essa situação é a de criar uma função curta do "bash" que seleciona automaticamente o método apropriado. Tão logo o comando seja configurado no ambiente, ele não precisa ser novamente configurado.
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
$XORG_PREFIX
/share/fonts
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.x.org/pub/individual/data/xkeyboard-config/xkeyboard-config-2.38.tar.xz
Transferência (FTP): ftp://ftp.x.org/pub/individual/data/xkeyboard-config/xkeyboard-config-2.38.tar.xz
Soma de verificação MD5 da transferência: c89fb974e8f1ba14c64d1bcf3a0f8d11
Tamanho da transferência: 868 KB
Espaço em disco estimado exigido: 15 MB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xkeyboard-config
Instale o "XKeyboardConfig" executando os seguintes comandos:
mkdir build && cd build && meson --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
--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.
$XORG_PREFIX
/share/X11/xkb
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.x.org/pub/individual/xserver/xwayland-22.1.8.tar.xz
Transferência (FTP): ftp://ftp.x.org/pub/individual/xserver/xwayland-22.1.8.tar.xz
Soma de verificação MD5 da transferência: 96879f938a91b0441ea784220159d843
Tamanho da transferência: 1,2 MB
Espaço em disco estimado exigido: 76 MB (adicionar 358 MB para os testes)
Tempo de construção estimado: 0,2 UPC (com paralelismo=4; adicionar 1,0 UPC para os testes, não incluindo o tempo de clonagem)
libxcvt-0.1.2, Pixman-0.42.2, wayland-protocols-1.31 e Fontes do Xorg (somente "font-util")
libepoxy-1.5.10, libtirpc-1.3.3 e Mesa-22.3.5
git-2.39.2 (para transferir os pacotes necessários para os testes), libgcrypt-1.10.1, Nettle-3.8.1, xmlto-0.0.28, Fontes Legadas do "Xorg" (somente bdftopcf, para construir as fontes exigidas para os testes), rendercheck (para os testes) e weston (para os testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xwayland
Instale o "xwayland" executando os seguintes comandos:
sed -i '/install_man/,$d' meson.build && mkdir build && cd build && meson --prefix=$XORG_PREFIX \ --buildtype=release \ -Dxkb_output_dir=/var/lib/xkb \ .. && ninja
Construir a estrutura de teste precisa de algum trabalho. Primeiro, 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 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 "Xorg-Server-21.1.7" 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
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 "Xorg-Server-21.1.7". Remova esse comando se o "Xorg-Server-21.1.7" 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.
O Servidor "Xorg" é o núcleo do Sistema de Janelas "X".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.x.org/pub/individual/xserver/xorg-server-21.1.7.tar.xz
Transferência (FTP): ftp://ftp.x.org/pub/individual/xserver/xorg-server-21.1.7.tar.xz
Soma de verificação MD5 da transferência: 277a842f1e223820a31a9bd7887d2aab
Tamanho da transferência: 4,8 MB
Espaço em disco estimado exigido: 187 MB (com os testes)
Tempo de construção estimado: 0,4 UPC (usando paralelismo = 4; com os testes)
libxcvt-0.1.2, Pixman-0.42.2, Fontes do Xorg (somente "font-util") e, ao tempo da execução, xkeyboard-config-2.38
libepoxy-1.5.10 (necessário para o glamor), libtirpc-1.3.3, Systemd-252 e "Libinput" do "Xorg"-1.2.1 (tempo de execução)
acpid-2.0.34 (tempo de execução), Doxygen-1.9.6 (para construir a documentação da "API"), fop-2.8 (para construir a documentação), libunwind-1.6.2, Nettle-3.8.1, libgcrypt-1.10.1, xcb-util-keysyms-0.4.1, xcb-util-image-0.4.1, xcb-util-renderutil-0.3.10, xcb-util-wm-0.4.2 (todos quatro para construir o "Xephyr"), xmlto-0.0.28 (para construir a documentação), xkeyboard-config-2.38 (para testes), rendercheck (para testes) e xorg-sgml-doctools (para construir a documentação)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/Xorg7Server
Instale o servidor executando os seguintes comandos:
mkdir build && cd build && meson --prefix=$XORG_PREFIX \ --localstatedir=/var \ -Dsuid_wrapper=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
-Dsuid_wrapper=true
:
Constrói o involucrador "suid-root" para suporte de
controlador legado 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.
modesetting_drv.so
"
calcula linhas do modo "GTF" do "VESA" |
|
é um link simbólico para o "Xorg" |
|
é um servidor aninhado "X" que suporta extensões modernas "X" |
|
é um servidor aninhado "X" |
|
é o Servidor "X11R7" "X" |
|
é o servidor virtual de "framebuffer" "X" para o X Versão 11 |
|
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 |
A página "Controladores do "Xorg"" contém as instruções para construir controladores do "Xorg" que são necessários para a finalidade de que o Servidor "Xorg" aproveite as vantagens do "hardware" no qual está em execução. Pelo menos uma entrada e um controlador de vídeo são exigidos para o Servidor "Xorg" iniciar.
Em máquinas que usam "KMS", o controlador "modesetting" é fornecido pelo "xorg-server" e pode ser usado no lugar do controlador de vídeo para o "hardware" específico, mas com desempenho reduzido. Também pode ser usado (sem aceleração de "hardware") em máquinas virtuais executando sob o "qemu".
Se você não tiver certeza qual "hardware" de vídeo você tem, [então] você pode usar o "lspci" originário de "pciutils-3.9.0" para descobrir qual "hardware" de vídeo você tem e então olhar as descrições dos pacotes para a finalidade de descobrir qual controlador você precisa.
Além dos controladores listados abaixo, existem vários outros controladores para hardware muito antigo que ainda podem ser relevantes. As versões mais recentes desses controladores podem ser baixadas a partir de " https://www.x.org/archive/individual/driver". Instruções para construir esses controladores agora mantidos intermitentemente podem ser encontradas em uma versão anterior do BLFS: "https://www.linuxfromscratch.org/blfs/view/7.6/x/x7driver.html"
O pacote libevdev contém funções comuns para controladores de entrada do Xorg.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.freedesktop.org/software/libevdev/libevdev-1.13.0.tar.xz
Soma de verificação MD5 da transferência: 5b15b4cf97c4f9f1393e499526a57665
Tamanho da transferência: 444 KB
Espaço em disco estimado exigido: 6,3 MB (com os testes)
Tempo de construção estimado: 0,2 UPC (com os testes)
Doxygen-1.9.6 e Valgrind-3.20.0 (opcional para testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libevdev
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, ...) [CONFIG_INPUT]
<*> Event interface [CONFIG_INPUT_EVDEV]
[*] Miscellaneous devices ---> [CONFIG_INPUT_MISC]
<*/m> User level driver support [CONFIG_INPUT_UINPUT]
O último item não é estritamente exigido para o libevdev. Se for compilado como um módulo, não será carregado automaticamente. É necessário para cobertura completa do teste.
Instale o libevdev executando os seguintes comandos:
mkdir build && cd build && meson --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
é uma ferramenta para mudar algumas propriedades de dispositivo do núcleo |
|
é uma ferramenta para estimar a resolução de um mouse |
|
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 |
|
é uma biblioteca de funções de entrada do controlador 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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.x.org/pub/individual/driver/xf86-input-evdev-2.10.6.tar.bz2
Transferência (FTP): 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
libevdev-1.13.0, mtdev-1.1.6 e Xorg-Server-21.1.7
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xorg-evdev-driver
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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://gitlab.freedesktop.org/libinput/libinput/-/archive/1.22.1/libinput-1.22.1.tar.gz
Soma de verificação MD5 da transferência: d164313f9a92162df7af3505b6915c76
Tamanho da transferência: 967 KB
Espaço em disco estimado exigido: 13 MB (adicionar 22 MB para documentação e 9,6 MB para testes)
Tempo de construção estimado: 0,1 UPC (adicionar 0,1 UPC para documentação e 4,7 UPC para testes)
Valgrind-3.20.0 (para executar os testes), GTK+-3.24.36 (para construir o visualizador de eventos da GUI), libunwind-1.6.2 (exigido para testes), libwacom-2.6.0, sphinx-6.1.3 (exigido para construir documentação) e pyparsing-3.0.9 (para um teste não root)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libinput
Embora libinput funcione com a mesma configuração de núcleo
usada por libevdev-1.13.0, a extenso suíte de
teste exige a presença de /dev/uinput
(assim como ambos Valgrind-3.20.0 e 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 --->
Miscellaneous Devices --->
<*/M> User level driver support [CONFIG_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
suíte de teste 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
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.22.1/html && cp -rv Documentation/* /usr/share/doc/libinput-1.22.1/html
--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
GTK+-3.24.36 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 pyparsing-3.0.9 não estiver
instalado.
-Dlibwacom=false
:
Remova essa opção se você tiver libwacom-2.6.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 Doxygen-1.9.6 e Graphviz-7.1.0
instalados.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.x.org/pub/individual/driver/xf86-input-libinput-1.2.1.tar.xz
Transferência (FTP): ftp://ftp.x.org/pub/individual/driver/xf86-input-libinput-1.2.1.tar.xz
Soma de verificação MD5 da transferência: c6e942a1d639ebe2621905cc84eb26b9
Tamanho da transferência: 308 KB
Espaço em disco estimado exigido: 3,6 MB (com os testes)
Tempo de construção estimado: menos que 0,1 UPC (com testes)
libinput-1.22.1 e Xorg-Server-21.1.7
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xorg-libinput-driver
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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.x.org/pub/individual/driver/xf86-input-synaptics-1.9.2.tar.xz
Transferência (FTP): 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
libevdev-1.13.0 e Xorg-Server-21.1.7
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xorg-synaptics-driver
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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/linuxwacom/xf86-input-wacom/releases/download/xf86-input-wacom-1.1.0/xf86-input-wacom-1.1.0.tar.bz2
Soma de verificação MD5 da transferência: 2339215dc92b7cbbcbd7cceabc4f384f
Tamanho da transferência: 632 KB
Espaço em disco estimado exigido: 8,8 MB (com os testes)
Tempo de construção estimado: 0,2 UPC (com os testes)
Doxygen-1.9.6 e Graphviz-7.1.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xorg-wacom-driver
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 support --->
-*- HID bus support [CONFIG_HID]
Special HID drivers --->
<*/M> Wacom Intuos/Graphire tablet support (USB) [CONFIG_HID_WACOM]
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
O pacote Controlador "AMDGPU" do "Xorg" contém o Controlador de Vídeo "X.Org" para placas de vídeo "Radeon" da "AMD" mais recentes e "CPUs" da "AMD" mais recentes com gráficos integrados ("APUs"). Isso inclui placas de vídeo começando com "Volcanic Islands". Também pode ser usado para "Southern Islands" e "Sea Islands" se o suporte experimental foi habilitado no núcleo.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Para a Renderização Direta funcionar, você precisa
habilitar o controlador "radeonsi Gallium" ao tempo da
construção do "Mesa-22.3.5". Além disso, todas as
placas e "APUs" mais recentes exigem que o "Firmware"
esteja disponível quando o controlador do núcleo for
carregado. Se você não tiver seguido as instruções na
parte "Firmware" para Placas de Vídeo de "Acerca de Firmware", que
forneceu esse "firmware" em "/lib/firmware
" para uma construção
modular, [então] o "firmware" pode ser obtido a partir de
"https://anduin.linuxfromscratch.org/BLFS/linux-firmware/"
- veja-se “Configuração
do Núcleo para “firmware” adicional” abaixo
para "firmware" adicional.
Transferência (HTTP): https://www.x.org/pub/individual/driver/xf86-video-amdgpu-23.0.0.tar.xz
Transferência (FTP): ftp://ftp.x.org/pub/individual/driver/xf86-video-amdgpu-23.0.0.tar.xz
Soma de verificação MD5 da transferência: 8a58421b3215769f0bfce855301f7964
Tamanho da transferência: 376 KB
Espaço em disco estimado exigido: 6,0 MB
Tempo de construção estimado: menos que 0,1 UPC
Xorg-Server-21.1.7 (precisa ser construído com "glamour" habilitado)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xorg-amdgpu-driver
Habilite as seguintes opções na configuração do núcleo e recompile o núcleo, se necessário:
Device Drivers --->
Graphics support --->
<*> Direct Rendering Manager (XFree86 ... support) ---> [CONFIG_DRM]
<*/M> AMD GPU [CONFIG_DRM_AMDGPU]
< /*> Enable amdgpu support for SI parts [CONFIG_DRM_AMDGPU_SI]
< /*> Enable amdgpu support for CIK parts [CONFIG_DRM_AMDGPU_CIK]
As últimas duas opções habilitam o suporte experimental para as "GPUs" "Southern Islands" e "Sea Islands" da "AMD", de forma que possam ser usadas com esse controlador. Observe que o suporte está marcado como experimental e desabilitado por padrão. O "Controlador ATI do Xorg-19.1.0" deveria ser usado para essas "GPUs".
Se você precisar adicionar "firmware", [então] instale o(s)
arquivo(s) e então aponte para ele(s) na configuração do
núcleo e recompile o núcleo se necessário. Para descobrir
qual "firmware" você precisa, consulte o "Anel
decodificador para nomes de engenharia versus nomes de
mercadologia". Baixe qualquer "firmware" para a tua
placa com o nome: "
",
etc. Abaixo está um exemplo para a "GPU" "Radeon R7 M340",
cujo codinome é "Iceland/Topaz", junto com uma placa de
rede de intercomunicação que também exige o "firmware":
<NOME_ENGENHARIA>
_rlc.bin
CONFIG_EXTRA_FIRMWARE="amdgpu/topaz_ce.bin amdgpu/topaz_k_smc.bin amdgpu/topaz_mc.bin
amdgpu/topaz_me.bin amdgpu/topaz_mec2.bin amdgpu/topaz_mec.bin
amdgpu/topaz_pfp.bin amdgpu/topaz_rlc.bin amdgpu/topaz_sdma1.bin
amdgpu/topaz_sdma.bin amdgpu/topaz_smc.bin rtl_nic/rtl8168e-3.fw"
CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware"
CONFIG_EXTRA_FIRMWARE deveria estar todos em uma linha. É mostrado acima como múltiplas linhas somente para apresentação.
Você pode verificar a saída gerada do "dmesg" depois da inicialização para ver qual "firmware" está ausente.
Alternativamente, se você mudar "CONFIG_DRM_AMDGPU" para "=m" no ".config" do teu núcleo Linux, [então] o "firmware" consegue ser carregado automaticamente a partir de "/lib/firmware/amdgpu/" quando instalar o módulo. Isso oferece uma pequena economia de espaço, mas também significa que a tela ficará em branco por mais tempo antes que o "framebuffer" apareça. As distribuições adotam essa abordagem porque não é prático especificar todos os "firmwares" possíveis e o núcleo seria excessivamente grande.
Instale o Controlador "AMDGPU" 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
O pacote "Controlador ATI do Xorg" contém o Controlador de Vídeo "X.Org" para placas de vídeo "ATI Radeon", incluindo todos os "chipsets", desde "R100" até os "chipsets" "Volcanic Islands".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Para Renderização Direta funcionar com placas "Radeon"
mais recentes ("chipsets" "R300" e posteriores), você
precisa habilitar os controladores "Gallium" "r300",
"r600" e "radeonsi" em tempo da construção do Mesa-22.3.5.
Além disso, algumas placas exigem que o "Firmware" esteja
disponível quando o controlador do núcleo for carregado.
Nesse caso, se você não tiver seguido as instruções na
parte "Firmware" para Placas de Vídeo de Acerca de Firmware que forneceu
esse "firmware" em /lib/firmware
para uma construção
modular, [então] o "firmware" pode ser obtido a partir de
https://anduin.linuxfromscratch.org/BLFS/linux-firmware/
- veja-se “Configuração
do Núcleo para “firmware” adicional” abaixo
para "firmware" adicional.
Transferência (HTTP): https://www.x.org/pub/individual/driver/xf86-video-ati-19.1.0.tar.bz2
Transferência (FTP): ftp://ftp.x.org/pub/individual/driver/xf86-video-ati-19.1.0.tar.bz2
Soma de verificação MD5 da transferência: 6e49d3c2839582af415ceded76e626e6
Tamanho da transferência: 884 KB
Espaço em disco estimado exigido: 21 MB
Tempo de construção estimado: 0,2 UPC
Xorg-Server-21.1.7 (recomendado para ser construído com o "glamour" habilitado)
"Glamour" é exigido para "GPUs" "Southern Islands", "Sea Islands" ou "Volcanic Islands" e usado por padrão em todas as outras "GPUs" "Radeon" "R600" ou posteriores. Para ver quais "GPUs" estão nessas categorias, leia-se o Anel decodificador para nomes de engenharia versus nomes de mercadologia.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xorg-ati-driver
Habilite as seguintes opções na configuração do núcleo e recompile o núcleo, se necessário:
Device Drivers --->
Graphics support --->
<*> Direct Rendering Manager (XFree86 ... support) ---> [CONFIG_DRM]
<*> ATI Radeon [CONFIG_DRM_RADEON]
Se você precisar adicionar "firmware", [então] instale o(s)
arquivo(s) e então aponte para ele(s) na configuração do
núcleo e recompile o núcleo se necessário. Para descobrir
qual "firmware" você precisa, consulte o
Anel decodificador para nomes de engenharia versus nomes de
mercadologia. Baixe algum "firmware" para a tua placa
que seja nomeada como:
,
etc. Observe que para a família "R600" e "R700",
"<NOME_ENGENHARIA>
_rlc.binR600_rlc.bin
" e
"R700_rlc.bin
" genéricos são
necessários além do "firmware" específico do modelo,
enquanto para gerações posteriores você precisa do
"BTC_rlc.bin
" além do
"firmware" específico do modelo. Abaixo está um exemplo de
uma "Radeon HD6470" que é uma "GPU" "Northern Islands",
além de um "chip" de rede de intercomunicação "RTL" que
também solicita "firmware" extra:
CONFIG_EXTRA_FIRMWARE="radeon/BTC_rlc.bin radeon/CAICOS_mc.bin radeon/CAICOS_me.bin
radeon/CAICOS_pfp.bin radeon/CAICOS_smc.bin rtl_nic/rtl8168e-3.fw"
CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware"
"CONFIG_EXTRA_FIRMWARE" deveriam estar todos em uma linha. Eles estão mostrados acima como duas linhas somente para apresentação.
Você pode verificar a saída gerada do "dmesg" depois da inicialização para ver qual "firmware" está ausente.
Alternativamente, se você mudar "CONFIG_DRM_RADEON" para "=m" em teu ".config", [então] o "firmware" poderá ser carregado automaticamente a partir de "/lib/firmware/radeon" quando instalar o módulo. Isso oferece uma pequena economia de espaço, mas também significa que a tela ficará em branco por mais tempo antes que o "framebuffer" apareça. As distribuições adotam essa abordagem porque não é prático especificar todos os "firmwares" possíveis e o núcleo seria excessivamente grande.
Primeiro, aplique um remendo incluindo correções para regressões de desempenho conhecidas e problemas futuros com o "Xorg-Server".
patch -Np1 -i ../xf86-video-ati-19.1.0-upstream_fixes-1.patch
Instale o "Controlador "ATI" 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
é um controlador involucrador para placas de vídeo "ATI" que detecta automaticamente o hardware de vídeo "ATI" e carrega o controlador "radeon", "mach64" ou "r128" dependendo de qual placa de vídeo estiver em uso |
|
é um controlador de vídeo do "Xorg" para placas de vídeo baseadas em "ATI" "Radeon" |
O pacote Controlador "Fbdev" do "Xorg" contém o Controlador de Vídeo "X.Org" para dispositivos "framebuffer". Esse controlador frequentemente é usado como controlador substituto se os controladores "VESA" e específicos do "hardware" falharem ao carregar ou não estiverem presentes. Se esse controlador não estiver instalado, [então] o Servidor "Xorg" imprimirá um aviso na inicialização, mas poderá ser ignorado com segurança se o controlador específico do "hardware" funcionar bem.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.x.org/pub/individual/driver/xf86-video-fbdev-0.5.0.tar.bz2
Transferência (FTP): ftp://ftp.x.org/pub/individual/driver/xf86-video-fbdev-0.5.0.tar.bz2
Soma de verificação MD5 da transferência: f07475655376be5a124d8187aacd87b6
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xorg-fbdev-driver
Instale o Controlador "Fbdev" 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
O pacote Controlador Intel do "Xorg" contém o Controlador de Vídeo "X.Org" para "chips" de vídeo integrados Intel, incluindo processadores gráficos "8xx", "9xx", "Gxx", "Qxx", "HD", "Iris" e "Iris Pro".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Esse controlador é para "GPU" integrada Intel e uma versão de desenvolvimento é necessária para funcionar adequadamente com o "hardware" mais recente. Essa versão já tem um ano e tem alguns problemas. Diz-se que o controlador “Kernel Modes Setting (KMS)” enviado junto com o Servidor "Xorg" fornece melhores resultados.
Transferência (HTTP): https://anduin.linuxfromscratch.org/BLFS/xf86-video-intel/xf86-video-intel-20230223.tar.xz
Transferência (FTP): ftp://anduin.linuxfromscratch.org/BLFS/xf86-video-intel/xf86-video-intel-20230223.tar.xz
Soma de verificação MD5 da transferência: 875adabe0d053856b43bbdd77e728cc7
Tamanho da transferência: 948 KB
Espaço em disco estimado exigido: 72 MB
Tempo de construção estimado: 0,6 UPC
xcb-util-0.4.1 e Xorg-Server-21.1.7
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xorg-intel-driver
Habilite as seguintes opções na configuração do núcleo. Recompile o núcleo se necessário:
Device Drivers --->
Graphics support --->
<*> Direct Rendering Manager (XFree86 ... support) ---> [CONFIG_DRM]
<*> Intel 8xx/9xx/G3x/G4x/HD Graphics [CONFIG_DRM_I915]
Instale o Controlador Intel do "Xorg" executando os seguintes comandos:
./autogen.sh $XORG_CONFIG \ --enable-kms-only \ --enable-uxa \ --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 && mv -v /usr/share/man/man4/intel-virtual-output.4 \ /usr/share/man/man1/intel-virtual-output.1 && sed -i '/\.TH/s/4/1/' /usr/share/man/man1/intel-virtual-output.1
O código "SandyBridge New Acceleration" ("SNA") destina-se a substituir o antigo "UMA Acceleration Architecture" ("UXA"), mas ele é um grande corpo de código e possivelmente cause problemas. Entretanto, a versão do código no sistema de controle de versão listado acima foi testada com êxito com ambos os recursos "SNA" e "UXA".
Para contornar esse problema, bem como habilitar o suporte
para o "UXA", é necessário forçar que o "UXA" seja usado
criando-se um arquivo de configuração. Se esse problema se
aplicar a você, [então] crie o seguinte arquivo como o(a)
usuário(a) "root
" e
modifique-o conforme necessário:
cat >> /etc/X11/xorg.conf.d/20-intel.conf << "EOF"
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
#Option "DRI" "2" # DRI3 é o padrão
#Option "AccelMethod" "sna" # padrão
#Option "AccelMethod" "uxa" # substituto
EndSection
EOF
--enable-kms-only
:
Essa chave omite o código "User Mode Setting" ("UMS").
--enable-uxa
: Essa
chave permite que o antigo código "UXA" seja compilado além
do padrão "SNA".
O pacote Controlador "Nouveau" do "Xorg" contém o Controlador de Vídeo "X.Org" para Placas "NVidia", incluindo os "chipsets" "RIVA TNT", "RIVA TNT2", "GeForce 256", "QUADRO", "GeForce2", "QUADRO2", "GeForce3", "QUADRO DDC", "nForce", "nForce2", "GeForce4", "QUADRO4", "GeForce FX", "QUADRO FX", "GeForce 6XXX" e "GeForce 7xxx".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.x.org/pub/individual/driver/xf86-video-nouveau-1.0.17.tar.bz2
Transferência (FTP): ftp://ftp.x.org/pub/individual/driver/xf86-video-nouveau-1.0.17.tar.bz2
Soma de verificação MD5 da transferência: b08633be9af9ee819077c278dfc55648
Tamanho da transferência: 620 KB
Espaço em disco estimado exigido: 14 MB
Tempo de construção estimado: 0,1 UPC
Xorg-Server-21.1.7 (recomendado para ser construído com o "glamour" habilitado)
As novas "GPUs" “Maxwell” e “Pascal” exigem o "Glamor" para serem construídas com o servidor "Xorg".
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xorg-nouveau-driver
Habilite as seguintes opções na configuração do núcleo e recompile o núcleo, se necessário:
Device Drivers --->
Graphics support --->
<*> Direct Rendering Manager (XFree86 ... support) ---> [CONFIG_DRM]
<*> Nouveau (NVIDIA) cards [CONFIG_DRM_NOUVEAU]
[*] Support for backlight control [CONFIG_DRM_NOUVEAU_BACKLIGHT]
Por favor, certifique-se de ter instalado o "Mesa-22.3.5" com o remendo de correções "nouveau" antes de continuar.
Primeiro, corrija o Controlador "Nouveau" do "Xorg" para construir com o Servidor "Xorg" mais recente:
grep -rl slave | xargs sed -i s/slave/secondary/
Instale o Controlador "Nouveau" 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
O pacote Controlador "VMware" do "Xorg" contém o Controlador de Vídeo "X.Org" para placas de vídeo virtuais "VMware SVGA".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.x.org/pub/individual/driver/xf86-video-vmware-13.4.0.tar.xz
Transferência (FTP): ftp://ftp.x.org/pub/individual/driver/xf86-video-vmware-13.4.0.tar.xz
Soma de verificação MD5 da transferência: 8c9ec4decaa262eb33a474219232bb1b
Tamanho da transferência: 408 KB
Espaço em disco estimado exigido: 12 MB
Tempo de construção estimado: 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xorg-vmware-driver
Habilite as seguintes opções na configuração do núcleo e recompile o núcleo, se necessário:
Device Drivers --->
Graphics support --->
<*> Direct Rendering Manager (XFree86 ... support) ---> [CONFIG_DRM]
<*> DRM driver for VMware Virtual GPU [CONFIG_DRM_VMWGFX]
[*] Enable framebuffer console under vmwgfx by default [CONFIG_DRM_VMWGFX_FBCON]
Instale o Controlador "VMware" 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
O pacote intel-media-driver fornece um controlador VA API para GPUs Intel fornecidas com CPUs Broadwell e superiores. Isso inclui suporte para uma variedade de codificadores.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/intel/media-driver/archive/refs/tags/intel-media-23.1.2.tar.gz
Soma de verificação MD5 da transferência: b0c480cbab8b37c4e14698d29e6cb2f2
Tamanho da transferência: 27 MB
Espaço em disco estimado exigido: 2,4 GB (361 MB instalado)
Tempo de construção estimado: 9,5 UPC (com paralelismo=4)
O tarball intel-media-23.1.2.tar.gz
extrairá para
o diretório media-driver-intel-media-23.1.2
.
CMake-3.25.2, Intel-gmmlib-22.3.4 e libva-2.17.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/intel-media-driver
Este pacote leva muito tempo para construir porque compila código específico para cada geração individual de GPUs Intel e para uma variedade de codificadores de mídia.
Instale o intel-media-driver executando os seguintes comandos:
mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DINSTALL_DRIVER_SYSCONF=OFF \ -DBUILD_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
O pacote libva contém uma biblioteca que fornece acesso ao processamento de vídeo acelerado por hardware, usando hardware para acelerar o processamento de vídeo para a finalidade de descarregar a Unidade Central de Processamento (CPU) para decodificar e codificar vídeo digital comprimido. A interface de decodificação/codificação de vídeo VA API é independente de plataforma e sistema de janelas, voltada para Direct Rendering Infrastructure (DRI) no Sistema de Janelas X, no entanto, também pode ser usada potencialmente com framebuffer direto e subsistemas gráficos para saída de vídeo. O processamento acelerado inclui suporte para decodificação de vídeo, codificação de vídeo, combinação de sub imagem e renderização.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/intel/libva/releases/download/2.17.0/libva-2.17.0.tar.bz2
Soma de verificação MD5 da transferência: 727e7c76102b926c8411b8468fd194f5
Tamanho da transferência: 495 KB
Espaço em disco estimado exigido: 9,5 MB
Tempo de construção estimado: menos que 0,1 UPC
Transferência do Controlador Intel (HTTP): https://github.com/intel/intel-vaapi-driver/releases/download/2.4.1/intel-vaapi-driver-2.4.1.tar.bz2
Soma de verificação MD5 da Transferência do Controlador Intel: 073fce0f409559109ad2dd0a6531055d
Tamanho da Transferência do Controlador Intel: 2,8 MB
Espaço em disco estimado exigido: 97 MB
Tempo de construção estimado: 0,3 UPC
Doxygen-1.9.6, Wayland-1.21.0 e intel-gpu-tools
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libva
Instale o libva 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
O intel-vaapi-driver foi projetado especificamente para placas de vídeo baseadas em uma GPU Intel. Desempacote o tarball intel-vaapi:
tar -xvf ../intel-vaapi-driver-2.4.1.tar.bz2 && cd intel-vaapi-driver-2.4.1
Instale o controlador 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
O pacote libvdpau contém uma biblioteca que implementa a biblioteca VDPAU.
Video Decode and Presentation API for Unix (VDPAU) é uma biblioteca de fonte aberto (libvdpau) e API originalmente projetada pela Nvidia para a série GeForce 8 e hardware de GPU posterior dela direcionado ao Sistema de Janelas X. Essa API da VDPAU permite que aplicativos de vídeo transfiram partes do processo de decodificação de vídeo e pós-processamento de vídeo para o hardware de vídeo da GPU.
Atualmente, as partes capazes de serem transferidas pela VDPAU para a GPU são compensação de movimento (mo comp), transformação discreta inversa de cosseno (iDCT), Decodificação de Comprimento Variável (VLD) e desbloqueio para vídeos codificados em MPEG-1, MPEG-2, MPEG-4 ASP (MPEG-4 Parte 2), H.264/MPEG-4 AVC e VC-1, WMV3/WMV9. Quais codificadores específicos desses podem ser transferidos para a GPU depende da versão do hardware da GPU; especificamente, para também decodificar os formatos MPEG-4 ASP (MPEG-4 Parte 2), Xvid/OpenDivX (DivX 4) e DivX 5, um hardware de GPU da série GeForce 200M (2xxM) (a décima primeira geração de unidades de processamento gráfico GeForce da Nvidia) ou mais recente é exigido.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://gitlab.freedesktop.org/vdpau/libvdpau/-/archive/1.5/libvdpau-1.5.tar.bz2
Soma de verificação MD5 da transferência: 148a192110e7a49d62c0bf9ef916c099
Tamanho da transferência: 140 KB
Espaço em disco estimado exigido: 4,6 MB (com os testes)
Tempo de construção estimado: menos que 0,1 UPC (com testes)
Doxygen-1.9.6, Graphviz-7.1.0 e texlive-20220321 ou install-tl-unx
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libvdpau
Instale o libvdpau executando os seguintes comandos:
mkdir build && cd build && meson --prefix=$XORG_PREFIX .. && ninja
Para testar os resultados, emita: ninja test. Existe somente um teste para esse pacote, dlclose, e ele é conhecido por falhar em alguns sistemas.
Agora, como o(a) usuário(a) root
:
ninja install
Se doxygen estiver
presente ao tempo da construção, coloque a documentação em
um diretório versionado, como o(a) usuário(a) root
:
[ -e $XORG_PREFIX/share/doc/libvdpau ] && mv -v $XORG_PREFIX/share/doc/libvdpau{,1.5}
O pacote libvdpau-va-gl contém uma biblioteca que implementa a biblioteca VDPAU. Libvdpau_va_gl usa OpenGL, nos bastidores, para acelerar o desenho e o dimensionamento e a VA-API (se disponível) para acelerar a decodificação de vídeo. Por enquanto, a VA-API está disponível em alguns chips Intel e em alguns adaptadores de vídeo AMD com a ajuda do controlador libvdpau.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência do Controlador Libvdpau-va-gl (HTTP): https://github.com/i-rinat/libvdpau-va-gl/archive/v0.4.0/libvdpau-va-gl-0.4.0.tar.gz
Soma de verificação MD5 da Transferência do Controlador Libvdpau-va-gl: 638244652a702d0262039890904f37ce
Tamanho da Transferência do Controlador Libvdpau-va-gl: 120 KB
Espaço em disco estimado exigido: 3,4 MB
Tempo de construção estimado: menos que 0,1 UPC
CMake-3.25.2, libvdpau-1.5 e libva-2.17.0
Doxygen-1.9.6, Graphviz-7.1.0 e texlive-20220321 ou install-tl-unx
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libvdpau
Instale o libvdpau-va-gl executando os seguintes comandos:
mkdir build && cd build && cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$XORG_PREFIX .. && make
Para testar os resultados, emita: make check. Os testes precisam ser executados a partir de um ambiente Xorg.
Agora, como o(a) usuário(a) root
:
make install
Para permitir que libvdpau encontre libvdpau-va-gl,
configure uma variável de ambiente. Como o(a) usuário(a)
root
:
echo "export VDPAU_DRIVER=va_gl" >> /etc/profile.d/xorg.sh
O pacote "twm" contém um gerenciador de janelas extremamente mínimo.
Esse pacote é fornecido para testagem da instalação completada do "Xorg".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.x.org/pub/individual/app/twm-1.0.12.tar.xz
Transferência (FTP): 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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
sed -i -e '/^rcdir =/s...: Esse comando garante que o arquivo de configuração do "twm" seja instalado no local apropriado.
"xterm" é um emulador de terminal para o Sistema de Janelas "X".
Esse pacote é fornecido para testagem da instalação completada do "Xorg".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://invisible-mirror.net/archives/xterm/xterm-379.tgz
Soma de verificação MD5 da transferência: 5e98e6c74f344b211918bf75d0827831
Tamanho da transferência: 1,5 MB
Espaço em disco estimado exigido: 18 MB
Tempo de construção estimado: 0,2 UPC
Uma fonte mono espaçada "TTF" ou "OTF", como "Fontes "Dejavu""
Emacs-28.2, PCRE-8.45 ou pcre2-10.42, Valgrind-3.20.0 e man2html
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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/
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".
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
é um conjunto de comandos sequenciais involucrador para configurar o "xterm" com uma localidade "KOI8-R" |
|
imprime um comando de "shell" para configurar as variáveis de ambiente "TERM" e "TERMCAP" para indicar o tamanho atual da janela do "xterm" |
|
é um conjunto de comandos sequenciais involucrador que modifica a localidade atual para usar "UTF-8" e inicia o "xterm" com as configurações adequadas |
|
é um emulador de terminal para o Sistema de Janelas "X" |
O pacote "xclock" contém um aplicativo simples de relógio que é usado na configuração padrão do "xinit".
Esse pacote é fornecido para testagem da instalação completada do "Xorg".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.x.org/pub/individual/app/xclock-1.1.1.tar.xz
Transferência (FTP): 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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
O pacote "xinit" contém um conjunto usável de comandos sequenciais para iniciar o "xserver".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.x.org/pub/individual/app/xinit-1.4.2.tar.xz
Transferência (FTP): 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
twm-1.0.12, xclock-1.1.1 e xterm-379 (usado no arquivo
padrão "xinitrc
")
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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
".
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.
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".
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 "Fontes Legadas do "Xorg"".
Geralmente, não existe configuração específica exigida para o "Xorg", mas a personalização é possível. Para detalhes, veja-se "“Configurando Dispositivos do “Xorg””" abaixo.
"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 "Xorg-Server-21.1.7" com o
"bit" "suid") para declarações como:
(II) intel(0): direct rendering: DRI2 Enabled
ou
(II) NOUVEAU(0): Loaded DRI module
A configuração da "DRI" possivelmente seja diferente se você estiver usando controladores alternativos, como aqueles oriundos da "NVIDIA" ou da "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 "Mesa-22.3.5". A partir de um terminal do "X", execute "glxinfo" e procure pela frase:
nome da tela: :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 "LLVM-15.0.7" 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.
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, [então] ele estará localizado no diretório
"$HOME/.local/share/xorg/
". Se
o "Xorg" for iniciado por um gerenciador de exibição (por
exemplo, "lightdm-1.32.0", "lxdm-0.5.3" ou "GDM-43.0") ou se
"$XORG_PREFIX/libexec /Xorg
"
tiver o "bit" "suid" configurado, [então] ele estará
localizado no diretório "/var/log/
".
Ao olhar para o "Xorg.0.log", verifique entradas como ("EE") ou ("WW"). Abaixo estão algumas entradas comuns:
Esse aviso ocorre porque o "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 "acpid-2.0.34" para habilitar ações como reconhecer quando a tampa está fechada.
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 somente uma
placa de vídeo no sistema, [então] ele pode ser seguramente
ignorado. Se desejado, [então] 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 <usuário(a) executando o Xorg>
Esse erro, acompanhado por "(EE) AIGLX error: unable to load driver i965", ocorre em alguns sistemas com dispositivos gráficos baseados em Intel. Isso é causado por uma incompatibilidade entre o "Xorg-Server-21.1.7" e o "Mesa-22.3.5" atuais. O "Xorg" não mais usa o controlador "i965" e usa os controladores Mesa "crocus" ou "iris", conforme indicado pelo comando "xdriinfo". Ele pode seguramente ser ignorado.
Se desejado, [então] esse aviso pode ser removido
comentando-se as linhas 330-331 e 337-338 ("LogMessage") do
"glx/glxdricommon.c
" no pacote
"Xorg-Server-21.1.7".
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:Intel
Provider 1: id: 0x56 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 6 outputs: 1 associated providers: 1 name:radeon
Para a finalidade de poder executar um aplicativo "GLX" em uma "GPU" discreta, você precisará executar o seguinte comando, onde <provider> é a placa discreta mais poderosa e <sink> é o cartão que tem uma tela conectada:
xrandr --setprovideroffloadsink <provider> <sink>
Com controladores do "Xorg" mais recentes, como "modesetting" ou "intel", que são compatíveis 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.
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.
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").
Novamente, com o "Xorg" moderno, pouca ou nenhuma
configuração adicional é necessária. Se devesse precisar de
opções extras passadas para o teu controlador de vídeo, por
exemplo, você poderia usar algo como o seguinte (novamente,
executado como o(a) usuário(a) "root
"):
cat > /etc/X11/xorg.conf.d/videocard-0.conf << "EOF"
Section "Device"
Identifier "Videocard0"
Driver "radeon"
VendorName "Fornecedor da placa de vídeo"
BoardName "ATI Radeon 7500"
Option "NoAccel" "true"
EndSection
EOF
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
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.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/Fontconfig
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 "rxvt-unicode-9.31", que consegue usar
fontes listadas em "~/.Xresources
" e o "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, [então] ele será ignorado e as
informações serão obtidas a partir das próprias fontes (isso
pode levar alguns segundos se você instalou muitas fontes).
Se você tiver instalado o "Xorg" em qualquer prefixo diferente de
"/usr
", {então} 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.
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' : informará 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 concorde que a fonte suporte o teu idioma).
fc-match -a 'Tipo' | less : fornecerá 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 "Pango-1.50.12" e o "ImageMagick-7.1.0-61" - ele invocará "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 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 (suavização, etc.)
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/
".
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.
Mas, 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), [então] 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, [então] será mapeada como "Serif" ou
"Monospace" ou "Sans"; caso contrário, [então] será
considerada "Sans". Então "50-latin.conf
" fornece listas ordenadas de
substitutas - as "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, os iguais delas.
Desde "fontconfig-2.12.5", também existe correspondência genérica de família para algumas fontes "emoji" e matemáticas; 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 "Eu olhei fixamente para o "fontconfig"" para os detalhes longos.
É 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 novamente o "startx" de forma que todos os aplicativos usem as novas configurações. E, se você usa "Gnome" ou "KDE", [então] 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"
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<match target="font" >
<!-- autohint era o antigo prompt automático quando as dicas eram protegidas
por patente, de forma que desligue-o para garantir que qualquer informação de
dicas na própria fonte seja usada; esse é o padrão -->
<edit mode="assign" name="autohint"> <bool>false</bool></edit>
<!-- a dica está habilitada por padrão -->
<edit mode="assign" name="hinting"> <bool>true</bool></edit>
<!-- para o "lcdfilter", veja-se https://www.spasche.net/files/lcdfiltering/ -->
<edit mode="assign" name="lcdfilter"> <const>lcddefault</const></edit>
<!-- opções para estilo de dica:
hintfull: é presumido fornecer uma fonte nítida que se alinhe bem à
grade de células de caracteres, mas ao custo do formato adequado dela.
hintmedium: mal documentado, talvez um sinônimo para "hintfull".
"hintslight" é o padrão: - presumido ser mais confuso, mas mantém a forma.
hintnone: parece desligar a dica.
As variações são marginais e os resultados variam com diferentes fontes -->
<edit mode="assign" name="hintstyle"> <const>hintslight</const></edit>
<!-- a suavização está ligada por padrão e realmente ajuda para caracteres fracos
e também para fontes "xft": fontes usadas em "rxvt-unicode" -->
<edit mode="assign" name="antialias"> <bool>true</bool></edit>
<!-- subpixels são usualmente "rgb"; veja-se
http://www.lagom.nl/lcd-test/subpixel.php -->
<edit mode="assign" name="rgba"> <const>rgb</const></edit>
<!-- agradecimentos ao "wiki" da "Arch" pelos links "lcd" e subpixel -->
</match>
</fontconfig>
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 "2016-09/00128", particularmente o "2016-09/00137", e a solução preferida do postador original em "2016-09/00147". Existem outros exemplos em ""Fontconfig" no "wiki" do "Arch"" e ""Fontconfig" no "wiki" do "Gentoo"".
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 "bitmap",
[então] 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"
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<!-- Rejeita fontes de "bitmap" -->
<selectfont>
<rejectfont>
<pattern>
<patelt name="scalable"><bool>false</bool></patelt>
</pattern>
</rejectfont>
</selectfont>
</fontconfig>
EOF
Normalmente, as fontes do sistema e as fontes do(a)
usuário(a) são instaladas em diretórios abaixo dos locais
especificados em "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
"texlive-20220321" coloca muitas
fontes em "/opt/texlive/2022/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:
Existem centenas de arquivos, o que dificulta a seleção da fonte.
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.
Várias fontes tem vários tamanhos e nomes curtos impenetráveis, o que torna ainda mais difícil selecionar a fonte correta.
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 "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"
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<dir>/opt/texlive/2022/texmf-dist/fonts/opentype/arkandis/berenisadf</dir>
<dir>/opt/texlive/2022/texmf-dist/fonts/truetype/paratype</dir>
</fontconfig>
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.
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.
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 "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
"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, [então] 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.
Como um exemplo, se por algum motivo você desejou usar a fonte "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 "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"
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<!-- prefira a "Nimbus Roman No9 L" para "Times New Roman", bem como para "Times";
sem isso, "Tinos" e "Liberation Serif" tem precedência para "Times New Roman" antes
que o "fontconfig" volte para o que corresponde a "Times" -->
<alias binding="same">
<family>Times New Roman</family>
<accept>
<family>Nimbus Roman No9 L</family>
</accept>
</alias>
</fontconfig>
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/
".
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:
Se uma fonte "Serif" for especificada, [então] ela preferirá as variantes "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.
Ela prefere as "Fontes IPAex" do japonês se elas tiverem sido instaladas (embora a "VL Gothic" terá precedência para a "Sans" (japonês) se ela também tiver sido instalada.
Como a "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 "Fontes coreanas".
As fontes "Monospace" são forçadas para as fontes preferidas "Sans". Se o texto estiver em coreano, então a "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"
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<alias>
<family>serif</family>
<prefer>
<family>AR PL UMing</family>
<family>IPAexMincho</family>
<!-- "WenQuanYi" é preferida como "Serif" em "65-nonlatin.conf";
substitua isso, de forma que uma fonte real coreana possa ser usada para "Serif" -->
<family>UnBatang</family>
</prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer>
<family>WenQuanYi Zen Hei</family>
<family>VL Gothic</family>
<family>IPAexGothic</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>VL Gothic</family>
<family>IPAexGothic</family>
<family>WenQuanYi Zen Hei</family>
</prefer>
</alias>
</fontconfig>
EOF
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
<famílias> em <apelido> 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 arquivos antigos de configuração podem ser
corrigidos se você desejar usá-los. O exemplo a seguir é a
primeira parte do "64-arphic-uming.conf
" originário de
"UMing" -
existem muitos outros itens semelhantes que também precisam
de mudanças:
<match target="pattern">
<test qual="any" name="lang" compare="contains">
<string>zh-cn</string>
<string>zh-sg</string>
</test>
<test qual="any" name="family">
<string>serif</string>
</test>
<edit name="family" mode="prepend" binding="strong">
<string>AR PL UMing CN</string>
</edit>
</match>
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 todo o bloco 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á:
<match target="pattern">
<test qual="any" name="lang" compare="contains">
<string>zh-cn</string>
</test>
<test qual="any" name="family">
<string>serif</string>
</test>
<edit name="family" mode="prepend" binding="strong">
<string>AR PL UMing CN</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="lang" compare="contains">
<string>zh-sg</string>
</test>
<test qual="any" name="family">
<string>serif</string>
</test>
<edit name="family" mode="prepend" binding="strong">
<string>AR PL UMing CN</string>
</edit>
</match>
As entradas do blog de "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.
"Arch" tem muitas informações no "wiki" dela em "font_configuration".
"Gentoo" tem algumas informações no "wiki" dela em "Fontconfig", embora muitos detalhes (o que habilitar e "Infinality") sejam específicos para "Gentoo".
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 preferir as versões com dicas, se 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, portanto economizando espaço em disco. Trate-as exatamente da mesma maneira que os arquivos "TTF" ou "OTF" individuais.
Se uma fonte fornecer ambos os formatos "TTF" e "OTF", [então] prefira o formato "OTF" no Linux; ela possivelmente forneça mais recursos para aplicativos que saibam como usá-las (como o "xelatex").
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 e se os "caches" dele
forem mais antigos que trinta (30) segundos. Mas se você
adicionar uma fonte e quiser usá-la imediatamente, então
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 "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 "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 "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 "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 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 "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 estranhos diretórios __MACOSX/. Além disso, muitas fontes são fornecidas com permissões que não permitem que "outros(as)" as leiam - se uma fonte é para ser instalada para uso abrangente a todo o sistema, [então] quaisquer diretórios precisam estar no modo 755 e todos os arquivos no modo 644, de forma que mude-os se necessário. Se você se esquecer, [então] 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.
Como um exemplo de instalação de fontes, considere a
instalação das "Fontes "Dejavu"". Nesse pacote
específico, os arquivos "TTF" estão em um subdiretório. A
partir do diretório do fonte desempacotado, 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) "TTF" ou "OTF" completo(s). A menos que você pretenda modificar a fonte e tenha as ferramentas corretas (às vezes "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") - úteis se você executar um servidor "web" e desejar usar essa fonte nele, mas não é útil para áreas de trabalho.
Para fornecer maior cobertura "Unicode", recomendamos instalar algumas das fontes a seguir, dependendo de quais sites 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 trata de problemas relacionados ao "CJK".
É altamente recomendável instalar as "Fontes "Dejavu"".
"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" e depois devolvê-lo a eles(as).
Fontes Cantarell – A família de fontes "Cantarell" fornece uma "Serif" contemporânea "Sans" "Humanist". Ela é particularmente otimizada para legibilidade em tamanhos pequenos e é a família de fontes preferida para a interface de usuário(a) "GNOME-3".
Por favor, esteja ciente de que a versão atual inclui um arquivo "Variable Font" ("VF") que pode fornecer todas as fontes individuais (também fornecidas), mas quebra o "xelatex" se ele for encontrado pelo "fontconfig". As fontes individuais funcionam bem.
"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" e então devolvê-lo a eles(as).
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 – 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 é metricamente compatível com "MS Georgia" e o "fontconfig" irá usá-la se alguma vez a Geórgia for solicitada, mas não instalada.
As 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", "Times Roman", embora para essas últimas possa preferir uma fonte diferente (vejam-se os exemplos nos "PDFs" "Substitutes" em zarniwhoop.uk).
Muitas pessoas acharão as fontes "Liberation" úteis para páginas onde uma dessas fontes for solicitada.
As Fontes Centrais 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 "libarchive-3.6.2". 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 especificadas 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", [então] você pode usar as fontes livres "Liberation" (acima) e, da mesma forma, consegue substituir a "Georgia" pela "Gelasio".
Embora muitas postagens antigas recomendem a instalação dessas fontes para uma saída gerada 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 gratuitamente. Mas, se você não as tiver instaladas, [então] poderá encontrar equivalentes métricas ("Carlito", "Caladea") acima.
As fontes Noto ("No Tofu", ou seja, evitando caixas com pontos [dígitos hexadecimais] quando um glifo não puder ser encontrado) é um conjunto de fontes que visa a cobrir cada glifo em "Unicode", não importa quão obscuro. Essas fontes, ou pelo menos as fontes "Sans Serif", são usadas pelo "KF5" (inicialmente somente para aplicações "GTK"). Se quiser cobrir idiomas históricos, [então] você pode baixar todas as fontes clicando no link no topo dessa página.
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 das fontes "CJK", veja-se "Noto Sans CJK" abaixo. 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".
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 como fontes separadas (e para o Árabe não existe um nome especificamente "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.
Quando o "KDE Frameworks 5" foi lançado pela primeira vez, ele usava as fontes Oxygen que foram projetadas para uso integrado com a área de trabalho "KDE". Essas fontes não mais são mantidas ativamente, de forma que o "KDE" tomou a decisão de mudar para as "Fontes Noto", mas, no momento, elas ainda são exigidas pelo "startkde".
Originalmente essas fontes eram fornecidas somente como
fonte, necessitando do "CMake-3.25.2" e do "FontForge-20230101" para criar os
arquivos "TTF". Mas, por um tempo, o fonte também incluiu o
"TTF" preparado. A única característica incomum é a de que
cada arquivo "TTF" fica no próprio subdiretório dele
(oxygen-fonts/{*-?00}/
) com o
fonte em subdiretórios adicionais. Você poderia simplesmente
instalar o "tarball" inteiro, se preferir, embora isso
desperdice espaço.
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 "gsettings-desktop-schemas-43.0". O lançamento "GitHub" "source-code-pro" contém "OTF" (preferida) e "TTF", bem como o fonte e as fontes "WOFF".
Para usar isso em terminais, você provavelmente deseja somente a fonte "Regular".
Existe também uma versão "TTF" disso mais antiga disponível a partir de fontes do Google, mas tem uma cobertura muito limitada (adequada para a maioria dos idiomas Europeus que usam o alfabeto latino).
Conforme indicado anteriormente, o uso de uma combinação de Chinês, Japonês e Coreano 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, por padrão, o "fontconfig" prefere o Chinês ao Japonês. Ajustar isso é abordado em 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 ("PRC") ou Tradicional (Taiwan)) ou em 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 CJK HK" e "WenQuanYi Zen Hei" parecem cobrir o uso em Hong Kong (o "fontconfig" discorda a respeito da "Noto Sans CJK HK").
Os glifos "Han" tem largura dupla; outros glifos na mesma fonte possivelmente sejam mais estreitos. Para o conteúdo "CJK" deles, todas essas fontes podem ser consideradas mono espaçadas (ou seja, largura fixa).
Se tudo o que você deseja fazer é estar apto(a) a renderizar glifos "CJK", [então] instalar "WenQuanYi ZenHei" possivelmente seja um bom lugar para começar, se você ainda não tiver uma preferência.
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".
Noto Sans CJK – conjuntos "Sans-Serif" de todas as fontes "CJK" em um "ttc" – conforme o link diz, você consegue escolher instalar o "TTC" e cobrir todos os idiomas em todos os pesos em um arquivo de 110MB ou pode baixar sub conjuntos. Existem também versões mono espaçadas.
Uma cópia da versão 1.4.2 do 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.
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 "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 "Editando
Arquivos de Configuração no Estilo Antigo".
WenQuanYi Zen Hei fornece uma fonte "Sans-Serif" que cobre todos os scripts "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 (o "sharp" contém "bitmaps", o "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, [então] a fonte principal proveniente desse pacote é uma boa fonte para usar.
Em Japonês, as fontes góticas são "Sans", "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 "Noto Sans CJK".
As fontes IPAex são a versão atual das fontes "IPA". Use o 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" somente conhece as fontes "IPAfonts" mais antigas e a fonte "IPA Mona" bifurcada (que não está facilmente disponível e que aparentemente não atende às diretrizes de Software Livre do Debian). Portanto, se você instalar as fontes "IPAex", [então] você possivelmente deseje torná-las conhecidas para o "fontconfig"; veja-se "Prefira fontes escolhidas "CJK"" para uma maneira possível de fazer isso.
As fontes Kochi Substitute foram as primeiras fontes japonesas verdadeiramente livres (as fontes "Kochi" anteriores foram supostamente plagiadas de uma fonte comercial).
A fonte "VL Gothic" é uma fonte japonesa moderna em duas variantes com espaçamento monotônico ou proporcional para caracteres não japoneses.
Em Coreano, "Batang" ou "Myeongjo" (o nome mais antigo) são "Serif", "Dotum" ou "Gothic" são as principais fontes "Sans". O BLFS recomendava anteriormente as fontes "Baekmuk", mas as fontes "Nanum" e "Un" agora são preferidas ao "Baekmuk" pelo "fontconfig" devido a solicitações de usuários(as).
Um lugar conveniente para ver exemplos dessas e de muitas
outras fontes Coreanas é "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 "Noto Sans CJK" (todas as variantes abrangem "Hangul") ou "WenQuanYi ZenHei".
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.
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 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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.x.org/pub/individual/
Transferência (FTP): 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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/Xorg7Legacy
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"
2a455d3c02390597feb9cefb3fe97a45 app/ bdftopcf-1.1.tar.bz2
1347c3031b74c9e91dc4dfa53b12f143 font/ font-adobe-100dpi-1.0.3.tar.bz2
6c9f26c92393c0756f3e8d614713495b font/ font-adobe-75dpi-1.0.3.tar.bz2
cb7b57d7800fd9e28ec35d85761ed278 font/ font-jis-misc-1.0.3.tar.bz2
0571bf77f8fab465a5454569d9989506 font/ font-daewoo-misc-1.0.3.tar.bz2
a2401caccbdcf5698e001784dbd43f1a font/ font-isas-misc-1.0.3.tar.bz2
c88eb44b3b903d79fb44b860a213e623 font/ font-misc-misc-1.1.2.tar.bz2
EOF
Para transferir os arquivos necessários usando o "wget", 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
Ao instalar-se múltiplos pacotes em um "script", 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:
Executar o "script" inteiro como o(a) usuário(a) "root" (não recomendado).
Usar o comando "sudo" oriundo do pacote Sudo-1.9.13p1.
Usar su -c "argumentos do comando" (aspas exigidas) o qual solicitará a senha do(a) "root" para cada interação do "loop".
Uma maneira de se lidar com essa situação é a de criar uma função curta do "bash" que seleciona automaticamente o método apropriado. Tão logo o comando seja configurado no ambiente, ele não precisa ser novamente configurado.
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.bz2} 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
$XORG_PREFIX
/share/fonts/100dpi,
$XORG_PREFIX
/share/fonts/75dpi,
$XORG_PREFIX
/share/fonts/misc
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.
O pacote "Amtk" contém uma substituição básica do "GTKUIManager" baseada no "GAction".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/amtk/5.6/amtk-5.6.1.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/amtk/5.6/amtk-5.6.1.tar.xz
Soma de verificação MD5 da transferência: 26edf5c301e66a02f0ea7829855807f5
Tamanho da transferência: 60 KB
Espaço em disco estimado exigido: 3,1 MB
Tempo de construção estimado: 0,1 UPC
GTK-Doc-1.33.2 (para documentação) e Valgrind-3.20.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/amtk
Instale o "Amtk" executando os seguintes comandos:
mkdir amtk-build && cd amtk-build && meson --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
--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 que o sistema de construção gere e instale a
documentação da "API". Omita essa chave se você tiver o
"GTK-Doc-1.33.2" instalado e desejar
gerar e instalar a documentação da "API".
"Atkmm" é a interface oficial C++ da biblioteca do kit de ferramentas de acessibilidade "ATK".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/atkmm/2.28/atkmm-2.28.3.tar.xz
Transferência (FTP): 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
at-spi2-core-2.46.0 e GLibmm-2.66.5
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/atkmm
Instale o "Atkmm" executando os seguintes comandos:
mkdir build && cd build && meson --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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/at-spi2-core/2.46/at-spi2-core-2.46.0.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/at-spi2-core/2.46/at-spi2-core-2.46.0.tar.xz
Soma de verificação MD5 da transferência: 16e85a40442d80be960b4e1e3992fd5b
Tamanho da transferência: 528 KB
Espaço em disco estimado exigido: 20 MB (com os testes)
Tempo de construção estimado: 0,2 UPC (com os testes)
dbus-1.14.6, GLib-2.74.5, gsettings-desktop-schemas-43.0 (tempo de execução) e Bibliotecas do Xorg
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/at-spi2-core
Instale o "At-Spi2 Core" executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release .. && ninja
Um endereço de barramento de sessão, normalmente disponível em um terminal do "Xorg", é necessário para executar os testes. 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: "ninja test".
Agora, como o(a) usuário(a) "root
":
ninja install
--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.
"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 transformação afim (escala, rotação, cisalhamento, etc.).
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/cairo/1.17/cairo-1.17.6.tar.xz
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)
Fontconfig-2.14.2, GLib-2.74.5 (exigido para a maioria das "GUIs") e Bibliotecas do Xorg
Cogl-1.22.8, ghostscript-10.00.0, GTK+-3.24.36 e GTK+-2.24.33, GTK-Doc-1.33.2, libdrm-2.4.115, librsvg-2.54.5, libxml2-2.10.3, LZO-2.10, Mesa-22.3.5, Poppler-23.02.0, Qt-5.15.8, Valgrind-3.20.0, DirectFB, jbig2dec, libspectre, Skia e Qt4.
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".
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--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.
gera um registro de todas as chamadas feitas por um aplicativo para o "Cairo" |
|
contém as funções gráficas "2D" exigidas para renderizar para os vários alvos de saída gerada |
|
contém funções que integram o "Cairo" com o sistema de tipos "GObject" do "Glib" |
|
contém as funções do interpretador de conjunto de comandos sequenciais para executar e manipular os rastreamentos de execução do "Cairo" |
O pacote "libcairomm-1.0" fornece uma interface "C++" para o "Cairo".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.cairographics.org/releases/cairomm-1.14.0.tar.xz
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)
Cairo-1.17.6 e libsigc++-2.12.0
Boost-1.81.0 (para testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/cairomm-1.0
Instale o "Cairomm-1.0" executando os seguintes comandos:
mkdir bld && cd bld && meson --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
-Dbuild-tests=true
:
Essa chave é para construir os testes de unidade. Remova se
você não tiver instalado o "Boost-1.81.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.
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/cogl/1.22/cogl-1.22.8.tar.xz
Transferência (FTP): 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)
Cairo-1.17.6, gdk-pixbuf-2.42.10, GLU-9.0.2, Mesa-22.3.5, Pango-1.50.12 e Wayland-1.21.0
gst-plugins-base-1.22.0, GTK-Doc-1.33.2, SDL-1.2.15 e SDL2-2.26.3
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/cogl
Instale o "Cogl" executando os seguintes comandos:
Esse pacote ocasionalmente possivelmente falhe ao construir com múltiplos processadores. Veja-se 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
Para testar os resultados, emita: "make check". Os testes deveriam ser executados a partir de um terminal do "X" sobre o 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
--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.
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 adequadamente usando uma plataforma LFS 11.3.
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 Verificando a instalação do "DRI".
Transferência (HTTP): https://download.gnome.org/sources/clutter/1.26/clutter-1.26.4.tar.xz
Transferência (FTP): 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)
at-spi2-core-2.46.0, Cogl-1.22.8 e JSON-GLib-1.6.6
gobject-introspection-1.74.0, GTK+-3.24.36, libgudev-237, libinput-1.22.1, libxkbcommon-1.5.0 e Wayland-1.21.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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, [então] emita: "make -j1 -k check". Você precisa estar em um "xterm" ou similar, pois ele abre algumas janelas.
Agora, como o(a) usuário(a) "root
":
make install
--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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/clutter-gst/3.0/clutter-gst-3.0.27.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/clutter-gst/3.0/clutter-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
Clutter-1.26.4, gst-plugins-base-1.22.0 e libgudev-237
gobject-introspection-1.74.0 e gst-plugins-bad-1.22.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
O pacote "Clutter Gtk" é uma biblioteca que fornece facilidades para integrar o "Clutter" em aplicações "GTK+".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/clutter-gtk/1.8/clutter-gtk-1.8.4.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/clutter-gtk/1.8/clutter-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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--enable-gtk-doc
: Use esse
parâmetro se GTK-Doc estiver
instalado e você desejar reconstruir e instalar a
documentação da API.
O pacote "Colord GTK" contém ligações "GTK+" para o "Colord".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.freedesktop.org/software/colord/releases/colord-gtk-0.3.0.tar.xz
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
gobject-introspection-1.74.0, GTK+-2.24.33, GTK-4.8.3 e Vala-0.56.4
DocBook-utils-0.6.14 e GTK-Doc-1.33.2
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/colord-gtk
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 --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
--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 "Vala-0.56.4" 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
"GTK-4.8.3" 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.
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://fltk.org/pub/fltk/1.3.8/fltk-1.3.8-source.tar.gz
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)
hicolor-icon-theme-0.17, libjpeg-turbo-2.1.5.1 e libpng-1.6.39
alsa-lib-1.2.8, desktop-file-utils-0.26, Doxygen-1.9.6, GLU-9.0.2, Mesa-22.3.5 e texlive-20220321 (ou install-tl-unx)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/fltk
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
sed ...
documentation/Makefile: Evite instalar
páginas em "/usr/share/man/cat*
".
é um jogo de eliminação de blocos baseado em "FLTK" |
|
é uma versão baseada em "FLTK" do jogo de damas |
|
é 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 |
|
é um projetista interativo de "GUI" para "FLTK" |
|
é uma implementação do popular jogo "Sudoku" |
|
contém funções que fornecem uma "API" para implementar interfaces gráficas de usuário(a) |
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/freeglut/freeglut-3.4.0.tar.gz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
-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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gdk-pixbuf/2.42/gdk-pixbuf-2.42.10.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gdk-pixbuf/2.42/gdk-pixbuf-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)
GLib-2.74.5, libjpeg-turbo-2.1.5.1, libpng-1.6.39 e shared-mime-info-2.2
docutils-0.19, librsvg-2.54.5 (dependência de tempo de execução, necessária para carregar ícones simbólicos) e libtiff-4.5.0
Gi-DocGen-2023.1 (para gerar documentação)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gdk-pixbuf
Instale o "Gdk Pixbuf" executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release --wrap-mode=nofallback .. && ninja
Se você tiver o "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
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
--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 "docutils-0.19".
é um pequeno utilitário que gera código "C" contendo imagens; usado para compilar imagens diretamente em aplicativos |
|
é uma ferramenta usada para converter "GdkPixbuf" em "GdkPixdata" |
|
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 |
|
cria miniaturas de imagens para uso em outros aplicativos |
|
contém funções usadas para carregar e renderizar imagens |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gdk-pixbuf-xlib/2.40/gdk-pixbuf-xlib-2.40.2.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gdk-pixbuf-xlib/2.40/gdk-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
gdk-pixbuf-2.42.10 e Bibliotecas do Xorg
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gdk-pixbuf-xlib
Instale o "gdk-pixbuf-xlib" executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr .. && ninja
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) "root
":
ninja install
-Dgtk_doc=true
: Use essa opção se
o "GTK-Doc-1.33.2" estiver instalado e você
desejar reconstruir e instalar a documentação da "API".
"GLEW" é a Biblioteca "OpenGL Extension Wrangler".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/glew/glew-2.2.0.tgz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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.
Esse pacote fornece a biblioteca "OpenGL Utility" do Mesa.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (FTP): ftp://ftp.freedesktop.org/pub/mesa/glu/glu-9.0.2.tar.xz
Soma de verificação MD5 da transferência: 2b0f13fa5b949bfb3a995927c6e35125
Tamanho da transferência: 428 KB
Espaço em disco estimado exigido: 9,2 MB
Tempo de construção estimado: 0,2 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/glu
Instale o "GLU" executando os seguintes comandos:
mkdir build && cd build && meson --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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/goffice/0.10/goffice-0.10.55.tar.xz
Transferência (FTP): 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)
GTK+-3.24.36, libgsf-1.14.50, librsvg-2.54.5, libxslt-1.1.37 e Which-2.21
gobject-introspection-1.74.0, ghostscript-10.00.0, gsettings-desktop-schemas-43.0, GTK-Doc-1.33.2, Lasem e libspectre
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/goffice010
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
--enable-gtk-doc
: Use esse
parâmetro se GTK-Doc estiver
instalado e você desejar reconstruir e instalar a
documentação da API.
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/steveire/grantlee/releases/download/v5.3.1/grantlee-5.3.1.tar.gz
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)
Doxygen-1.9.6 (para documentação)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
O pacote "Graphene" fornece uma fina camada de tipos para bibliotecas de gráficos.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/graphene/1.10/graphene-1.10.8.tar.xz
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)
GLib-2.74.5 e gobject-introspection-1.74.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/graphene
Instale o "Graphene" executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release .. && ninja
Para testar os resultados, emita: "ninja test".
Agora, como o(a) usuário(a) "root
":
ninja install
--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 "GTK-Doc-1.33.2" instalado e desejar
gerar a documentação da "API".
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gtk+/2.24/gtk+-2.24.33.tar.xz
Transferência (FTP): 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)
at-spi2-core-2.46.0, gdk-pixbuf-2.42.10 e Pango-1.50.12
Cups-2.4.2, DocBook-utils-0.6.14, gnome-themes-extra-3.28 (tempo de execução, para os temas "Adwaita" e "HighContrast"), gobject-introspection-1.74.0 e GTK-Doc-1.33.2
Se o "gobject-introspection-1.74.0" foi instalado depois do "at-spi2-core-2.46.0", "gdk-pixbuf-2.42.10" e (ou) "Pango-1.50.12", [então] esses pacotes terão que ser reconstruídos antes que esse pacote possa ser construído.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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
sed -i 's#l
\(gtk-.*\).sgml#& -o \1#'
docs/{faq,tutorial}/Makefile.in: Se você
tiver o "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 "Makefile
s". Esse "sed" corrige os
"Makefile
s".
--enable-gtk-doc
: Use esse
parâmetro se GTK-Doc estiver
instalado e você desejar reconstruir e instalar a
documentação da API.
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 "gnome-themes-extra-3.28" ou
"GTK Engines-2.20.2"), ou um tema
de ícone do "GTK+" (como
"adwaita-icon-theme-43"),
[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 "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
"LXAppearance-0.6.3" é um aplicativo "GTK+ 2" que pode ajudar a escolher os temas que você gosta.
converte arquivos "glade" em arquivos "XML" que podem ser carregados com "GtkBuilder" |
|
demonstra a funcionalidade do "GTK+ 2" e fornece código para os exemplos |
|
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 |
|
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" |
|
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 |
|
contém funções que fornecem uma "API" para implementar interfaces gráficas de usuário(a) |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gtk+/3.24/gtk+-3.24.36.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gtk+/3.24/gtk+-3.24.36.tar.xz
Soma de verificação MD5 da transferência: fd4571a112ffaa2fbbb9d25de8f5b6c0
Tamanho da transferência: 12 MB
Espaço em disco estimado exigido: 290 MB (adicionar 3 MB para os testes)
Tempo de construção estimado: 0,9 UPC (usando paralelismo=4, adicionar 0,5 UPC para testes)
at-spi2-core-2.46.0, gdk-pixbuf-2.42.10, libepoxy-1.5.10 e Pango-1.50.12
adwaita-icon-theme-43 (padrão para algumas chaves de configuração do gtk+3, também necessário para testes), docbook-xsl-nons-1.79.2 (para gerar páginas de manual), hicolor-icon-theme-0.17 (necessário para testes), ISO Codes-4.12.0, libxkbcommon-1.5.0, libxslt-1.1.37 (para gerar páginas de manual), sassc-3.6.2, Wayland-1.21.0 e wayland-protocols-1.31
colord-1.4.6, Cups-2.4.2, GTK-Doc-1.33.2, PyAtSpi2-2.46.0 (para testes), Tracker-3.4.2 e PAPI
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gtk3
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 "ninja test". Dois testes possivelmente falhem porque a configuração do tempo limite é muito curta.
Agora, como o(a) usuário(a) "root
":
ninja install
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
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
-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 "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
"Tracker-3.4.2".
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
"oxygen-icons5-5.103.0") e (ou)
uma fonte ("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 Configurações: Manual de referência do GTK+ 3. Existem muitos mais temas disponíveis em 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
fornece suporte para exibição de aplicativos "GTK+ 3" em um navegador da "web", usando "HTML5" e soquetes da "web" |
|
é um aplicativo simples que demonstra algumas das tarefas que conseguem ser feitas com o "GTK+ 3" |
|
é um aplicativo simples do "GTK+ 3" |
|
é 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 |
|
é um aplicativo para visualizar temas e pequenas engenhocas do "GTK+ 3" |
|
realiza várias operações sobre arquivos ".ui" do "GtkBuilder" |
|
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 |
|
inicia um aplicativo usando o nome dado. O nome
deveria corresponder ao nome do arquivo de área de
trabalho do aplicativo, conforme residindo em
" |
|
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 |
|
fornece uma listagem completa de todas as configurações relacionadas ao "GTK+ 3" |
|
é um utilitário de "cache" de temas de ícones que cria arquivos de "cache" compatíveis com "mmap" para temas de ícones |
|
contém funções que implementam as interfaces de acessibilidade definidas pelo Kit de Ferramentas de Acessibilidade do "GNOME" |
|
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 |
|
contém funções que fornecem uma "API" para implementar interfaces gráficas de usuário(a) |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gtk/4.8/gtk-4.8.3.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gtk/4.8/gtk-4.8.3.tar.xz
Soma de verificação MD5 da transferência: d735b9c2a534f034553e2e27bc5af994
Tamanho da transferência: 19 MB
Espaço em disco estimado exigido: 484 MB (adicionar 12 MB para os testes)
Tempo de construção estimado: 1,1 UPC (usando paralelismo=4, adicionar 0,3 UPC para testes)
FriBidi-1.0.12, gdk-pixbuf-2.42.10, graphene-1.10.8, ISO Codes-4.12.0, libepoxy-1.5.10, libxkbcommon-1.5.0, Pango-1.50.12, PyGObject-3.42.2 e wayland-protocols-1.31
adwaita-icon-theme-43 (padrão para algumas chaves de configurações do gtk4), gst-plugins-bad-1.22.0, gst-plugins-good-1.22.0 (tempo de execução, construído com libvpx-1.13.0), hicolor-icon-theme-0.17 (necessário para testes e para padrões) e librsvg-2.54.5
colord-1.4.6, Cups-2.4.2, docutils-0.19, FFmpeg-5.1.2 (construído com libvpx-1.13.0), Gi-DocGen-2023.1, Highlight-4.4 (tempo de execução, somente usado pelo "gtk4-demo" para realçamento de sintaxe do código fonte de demonstração), libcloudproviders-0.3.1, sassc-3.6.2, Tracker-3.4.2 e vulkan
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gtk4
Instale o "GTK 4" executando os seguintes comandos:
mkdir build && cd build && meson setup --prefix=/usr \ --buildtype=release \ -Dbroadway-backend=true \ .. && ninja
Se você tiver o "Gi-DocGen-2023.1" instalado e desejar construir a documentação da "API" para esse pacote, [então] emita:
sed "s@'doc'@& / 'gtk-4.8.3'@" -i ../docs/reference/meson.build && meson configure -Dgtk_doc=true && ninja
Para executar os testes, emita: "meson test --setup x11". Se você estiver em uma sessão do "Wayland", [então] substitua "x11" por "wayland". Uns poucos testes possivelmente falhem.
Agora, como o(a) usuário(a) "root
":
ninja install
--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".
-Dcloudproviders=enabled
: Use
essa chave se você tiver o "libcloudproviders-0.3.1"
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 "sysprof-3.46.0" instalado e desejar
habilitar o suporte de rastreamento para aplicativos baseados
em "GTK4".
-Dtracker=enabled
: Use essa chave
se você tiver o "Tracker-3.4.2" instalado e desejar usar a
funcionalidade de pesquisa ao executar um seletor de
arquivos.
-Dcolord=enabled
: Use essa chave
se você tiver o "colord-1.4.6" instalado e desejar usar o
"colord" com a estrutura de retaguarda de impressão do
"CUPS".
-Dgtk_doc=true
: Permite construir
esse pacote sem "Gi-DocGen-2023.1" instalado. Se tiver
"Gi-DocGen-2023.1" instalado e você
desejar reconstruir e instalar a documentação da "API",
[então] um comando "meson
configure" reconfigurará essa opção.
-Dman-pages=true
: Use essa chave
se você tiver o "docutils-0.19" instalado e desejar gerar
as páginas de manual.
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 "oxygen-icons5-5.103.0") e
(ou) uma fonte ("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 Configurações: Manual de Referência do GTK 4.
fornece suporte para exibição de aplicativos "GTK 4" em um navegador da "web" usando "HTML5" e soquetes da "web" |
|
realiza várias operações sobre arquivos ".ui" do "GtkBuilder" |
|
é um aplicativo simples que demonstra algumas das tarefas que conseguem ser feitas com o "GTK 4" |
|
é um aplicativo simples "GTK 4" que é útil para testagem |
|
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 |
|
é 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 |
|
inicia um aplicativo usando o nome dado. O nome
deveria corresponder ao nome do arquivo ".desktop"
do aplicativo (como visto em " |
|
é 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" |
|
é um aplicativo simples para demonstrar impressão usando aplicativos "GTK 4" |
|
fornece uma listagem completa de todas as configurações relacionadas ao "GTK 4" |
|
é um utilitário de "cache" de temas de ícones que cria arquivos de "cache" compatíveis com "mmap" para temas de ícones |
|
é um aplicativo para visualizar temas e pequenas engenhocas do "GTK 4" |
|
contém funções que fornecem uma "API" para implementar interfaces gráficas de usuário(a) |
O pacote "GTK Engines" contém oito temas/mecanismos e dois motores adicionais para o "GTK2".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gtk-engines/2.20/gtk-engines-2.20.2.tar.bz2
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gtk-engines/2.20/gtk-engines-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
Lua-5.4.4 e Which-2.21 (exigido para a suíte de teste)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gtk-engines
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
--enable-lua --with-system-lua
:
Use essas chaves se você instalou o "Lua" e quer construir o mecanismo de
temas do "Lua".
O pacote "Gtkmm" fornece uma interface "C++" para o "GTK+ 3".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gtkmm/3.24/gtkmm-3.24.7.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gtkmm/3.24/gtkmm-3.24.7.tar.xz
Soma de verificação MD5 da transferência: 9576353c26db5e273a074264b68ad6cf
Tamanho da transferência: 14 MB
Espaço em disco estimado exigido: 238 MB (com os testes)
Tempo de construção estimado: 1,3 UPC (Usando paralelismo=4; com testes)
Atkmm-2.28.3, GTK+-3.24.36 e Pangomm-2.46.3
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gtkmm3
Instale o "Gtkmm" executando os seguintes comandos:
mkdir gtkmm3-build && cd gtkmm3-build && meson --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.7
-Dbuild-documentation=true
: Se
você tiver instalado o "Doxygen-1.9.6", [então] essa
definição construirá e instalará a documentação.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gtk-vnc/1.3/gtk-vnc-1.3.1.tar.xz
Transferência (FTP): 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
GnuTLS-3.8.0, GTK+-3.24.36 e libgcrypt-1.10.1
gobject-introspection-1.74.0 e Vala-0.56.4
Cyrus SASL-2.1.28 e PulseAudio-16.1
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gtk-vnc
Instale o "Gtk VNC" executando os seguintes comandos:
mkdir build && cd build && meson --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
-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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gtksourceview/3.24/gtksourceview-3.24.11.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gtksourceview/3.24/gtksourceview-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)
Vala-0.56.4, Valgrind-3.20.0, GTK-Doc-1.33.2, itstool-2.0.7, fop-2.8 (ou dblatex) e Glade
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--enable-gtk-doc
: Use esse
parâmetro se GTK-Doc estiver
instalado e você desejar reconstruir e instalar a
documentação da API.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gtksourceview/4.8/gtksourceview-4.8.4.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gtksourceview/4.8/gtksourceview-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)
gobject-introspection-1.74.0 e libxml2-2.10.3
Vala-0.56.4, Valgrind-3.20.0, GTK-Doc-1.33.2, itstool-2.0.7, fop-2.8 (ou dblatex) e Glade
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gtksourceview4
Instale o "GtkSourceView" executando os seguintes comandos:
mkdir build && cd build && meson --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
-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".
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gtksourceview/5.6/gtksourceview-5.6.2.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gtksourceview/5.6/gtksourceview-5.6.2.tar.xz
Soma de verificação MD5 da transferência: 7ed8742eae6c1932b478014f891a2b97
Tamanho da transferência: 1,2 MB
Espaço em disco estimado exigido: 46 MB
Tempo de construção estimado: 0,2 UPC (com testes; ambos usando paralelismo=4)
gobject-introspection-1.74.0 e libxml2-2.10.3
GTK-Doc-1.33.2, sysprof-3.46.0, Vala-0.56.4 e Valgrind-3.20.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gtksourceview5
Instale o "GtkSourceView" executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release .. && ninja
Para testar os resultados, emita: "ninja test".
Agora, como o(a) usuário(a) "root
":
ninja install
-Dgtk_doc=true
: Use essa chave se
você tiver o "GTK-Doc-1.33.2" instalado e desejar
gerar a documentação da "API".
-Dsysprof=true
: Use essa chave se
você tiver o "sysprof-3.46.0" instalado e desejar
construir com suporte ao perfilador "sysprof".
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/enlightenment/imlib2-1.9.1.tar.xz
Soma de verificação MD5 da transferência: 596fd0664538adb7867aa609fb718147
Tamanho da transferência: 796 KB
Espaço em disco estimado exigido: 14 MB
Tempo de construção estimado: 0,2 UPC
Doxygen-1.9.6 (para documentação da "API"), libpng-1.6.39, libjpeg-turbo-2.1.5.1, libtiff-4.5.0, x265-20230215 e libid3tag
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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.9.1/html && install -v -m644 doc/html/* /usr/share/doc/imlib2-1.9.1/html
--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 "Doxygen-1.9.6"
precisa estar instalado.
é testar a função "bumpmap" da "imlib2" |
|
é testar a função de espaço de cores da "imlib2" |
|
é testar a função "poly" da "imlib2" |
|
converte imagens entre formatos |
|
tira capturas de tela |
|
é um teste de aplicativo da "imlib2" |
|
é um teste de aplicativo da "imlib2" |
|
exibe arquivos de imagem |
|
fornece as funções para aplicativos lidarem com vários formatos de dados de imagem |
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/ksnip/kColorPicker/archive/refs/tags/v0.2.0/kColorPicker-0.2.0.tar.gz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
"kImageAnnotator" é uma ferramenta para anotar imagens.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/ksnip/kImageAnnotator/archive/refs/tags/v0.6.0/kImageAnnotator-0.6.0.tar.gz
Soma de verificação MD5 da transferência: 129cf1fa60991091da91ef18cc587b65
Tamanho da transferência: 252 KB
Espaço em disco estimado exigido: 30 MB
Tempo de construção estimado: 0,4 UPC (Usando paralelismo=4)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
O pacote "keybinder" contém uma biblioteca de utilitários registrando atalhos globais de teclado do "X".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/kupferlauncher/keybinder/releases/download/v0.3.1/keybinder-0.3.1.tar.gz
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
gobject-introspection-1.74.0 e PyGTK-2.24.0
GTK-Doc-1.33.2 e Lua-5.4.4 (atualmente quebrado porque uma versão mais antiga do "Lua" é exigida)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--disable-lua
: Use
essa chave para desabilitar vinculações do "Lua-5.4.4" (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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/kupferlauncher/keybinder/releases/download/keybinder-3.0-v0.3.2/keybinder-3.0-0.3.2.tar.gz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--enable-gtk-doc
: Use esse
parâmetro se GTK-Doc estiver
instalado e você desejar reconstruir e instalar a
documentação da API.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/libadwaita/1.2/libadwaita-1.2.2.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/libadwaita/1.2/libadwaita-1.2.2.tar.xz
Soma de verificação MD5 da transferência: 3dcba7daa73ee80dd0a64f5affb993d9
Tamanho da transferência: 1,9 MB
Espaço em disco estimado exigido: 38 MB (com os testes)
Tempo de construção estimado: 0,3 UPC (com paralelismo=4; com testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libadwaita
Instale o "libadwaita" executando os seguintes comandos:
mkdir build && cd build && meson setup --prefix=/usr --buildtype=release .. && ninja
Se você tiver o "Gi-DocGen-2023.1" instalado e desejar construir a documentação da "API" para esse pacote, [então] emita:
sed "s/apiversion/'1.2.2'/" -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
--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.
"libdazzle" é uma biblioteca complementar ao "GObject" e "GTK+" que adiciona "APIs" para efeitos especiais de gráfico.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/libdazzle/3.44/libdazzle-3.44.0.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/libdazzle/3.44/libdazzle-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)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libdazzle
Instale o "libdazzle" executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release .. && ninja
Para testar os resultados, emita: "ninja test".
Agora, como o(a) usuário(a) "root
":
ninja install
--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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/libhandy/1.8/libhandy-1.8.1.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/libhandy/1.8/libhandy-1.8.1.tar.xz
Soma de verificação MD5 da transferência: 7c4fa050670914189c61b40ef604695d
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)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libhandy1
Instale o "libhandy" executando os seguintes comandos:
mkdir build && cd build && meson --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
--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 "GTK-Doc-1.33.2" instalado e desejar
instalar a documentação.
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://dri.freedesktop.org/libdrm/libdrm-2.4.115.tar.xz
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
Bibliotecas do Xorg (para suporte à "API" do "KMS" da "Intel" exigido pelo "Mesa")
Cairo-1.17.6 (para testes), CMake-3.25.2 (poderia ser usado para encontrar dependências sem arquivos do "pkgconfig"), docbook-xml-4.5, docbook-xsl-nons-1.79.2, docutils-0.19 e libxslt-1.1.37 (para construir páginas de manual), libatomic_ops-7.6.14 (exigido por arquiteturas sem operações atômicas nativas), Valgrind-3.20.0 e CUnit (para testes de "AMDGPU")
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--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".
contém as funções específicas do "Direct Rendering Manager" do "AMDGPU" |
|
contém as funções específicas do "Direct Rendering Manager" da "Intel" |
|
contém as funções específicas do "Direct Rendering Manager" de fonte aberto da "nVidia" ("Nouveau") |
|
contém as funções específicas do "Direct Rendering Manager" da "Radeon" da "AMD" |
|
contém as funções da "API" do "Direct Rendering Manager" |
"libepoxy" é uma biblioteca para lidar com o gerenciamento de ponteiros de função do "OpenGL".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/libepoxy/1.5/libepoxy-1.5.10.tar.xz
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)
Doxygen-1.9.6 (para documentação)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libepoxy
Instale o "libepoxy" executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release .. && ninja
Para testar os resultados, emita: "ninja test".
Agora, como o(a) usuário(a) "root
":
ninja install
--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
"Doxygen-1.9.6" instalado, [então]
adicione essa opção para gerar documentação adicional.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/libglade/2.6/libglade-2.6.4.tar.bz2
Transferência (FTP): 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
Python-2.7.18 e GTK-Doc-1.33.2
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/libnotify/0.8/libnotify-0.8.1.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/libnotify/0.8/libnotify-0.8.1.tar.xz
Soma de verificação MD5 da transferência: 1495f279b255b4493ac3588559823158
Tamanho da transferência: 104 KB
Espaço em disco estimado exigido: 2,5 MB
Tempo de construção estimado: 0,1 UPC
notification-daemon-3.20.0 ou xfce4-notifyd-0.8.1
"GNOME Shell" e "KDE KWin" fornecem os próprios processos de segundo plano de notificação deles.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libnotify
Instale o "libnotify" executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr \ --buildtype=release \ -Dgtk_doc=false \ -Dman=false .. && ninja
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) "root
":
ninja install && mv -v /usr/share/doc/libnotify{,-0.8.1}
--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 esse parâmetro se o "GTK-Doc" estiver instalado e você
desejar reconstruir e instalar a documentação da "API".
O pacote "libxklavier" contém uma biblioteca de utilitários para o teclado do "X".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://people.freedesktop.org/~svu/libxklavier-5.4.tar.bz2
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
GLib-2.74.5, ISO Codes-4.12.0, libxml2-2.10.3 e Bibliotecas do Xorg
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--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.
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/pango/1.50/pango-1.50.12.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/pango/1.50/pango-1.50.12.tar.xz
Soma de verificação MD5 da transferência: fd4b0b23915d6a0255317f811bea4215
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)
Fontconfig-2.14.2 (precisa ser construído com o "FreeType-2.13.0" usando o "HarfBuzz-7.0.0"), FriBidi-1.0.12 e GLib-2.74.5
Cairo-1.17.6, gobject-introspection-1.74.0 (exigido se construir o "GNOME") e Bibliotecas do Xorg
Fontes Cantarell (para testes), sysprof-3.46.0, Gi-DocGen-2023.1 (para gerar documentação), help2man e libthai
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/pango
Instale o "Pango" executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release --wrap-mode=nofallback .. && ninja
Se você tiver o "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.12'@" -i ../docs/meson.build && meson configure -Dgtk_doc=true && ninja
Para testar os resultados, emita: "ninja test". Dois testes,
"test-font
" e "test-layout
" são conhecidos por falharem.
Agora, como o(a) usuário(a) "root
":
ninja install
--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 "gobject-introspection-1.74.0".
--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.
exibe uma lista de fontes que o "Pango" pode usar e que estão atualmente instaladas no sistema |
|
mostra a segmentação de texto conforme determinado pelo "Pango". |
|
renderiza um dado arquivo de texto por intermédio do "Pango" para fins de visualização |
|
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 |
O pacote "Pangomm" fornece uma interface "C++" para o "Pango".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/pangomm/2.46/pangomm-2.46.3.tar.xz
Transferência (FTP): 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
libcairomm-1.14.0, GLibmm-2.66.5 e Pango-1.50.12
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/pangomm
Instale o "Pangomm" executando os seguintes comandos:
mkdir build && cd build && meson --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
"Qt5" é uma estrutura de aplicação multiplataforma que é amplamente usada para desenvolver logiciário 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. Um(a) dos(as) principais usuários(as) do "Qt" é o "KDE Frameworks 5 (KF5)".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.qt.io/archive/qt/5.15/5.15.8/single/qt-everywhere-opensource-src-5.15.8.tar.xz
Soma de verificação MD5 da transferência: 86b7b496735df3973a390b0d515c1a0f
Tamanho da transferência: 629 MB
Espaço em disco estimado exigido: 15 GB (258 MB instalado)
Tempo de construção estimado: 29 UPC (usando paralelismo = 4)
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: https://www.linuxfromscratch.org/patches/blfs/11.3/qt-everywhere-opensource-src-5.15.8-kf5-1.patch
Detalhes da curadoria do "KDE" podem ser encontrados em https://dot.kde.org/2021/04/06/announcing-kdes-qt-5-patch-collection e https://community.kde.org/Qt5PatchCollection.
alsa-lib-1.2.8, make-ca-1.12, Cups-2.4.2, double-conversion-3.2.1, GLib-2.74.5, gst-plugins-base-1.22.0 (estrutura de retaguarda "QtMultimedia"), HarfBuzz-7.0.0, ICU-72.1, JasPer-4.0.0, libjpeg-turbo-2.1.5.1, libmng-2.0.3, libpng-1.6.39, libtiff-4.5.0, libwebp-1.3.0, libxkbcommon-1.5.0, Mesa-22.3.5, mtdev-1.1.6, pcre2-10.42, SQLite-3.40.1, Wayland-1.21.0 (O "Mesa" precisa ser construído com a estrutura de retaguarda "EGL" do "Wayland"), xcb-util-image-0.4.1, xcb-util-keysyms-0.4.1, xcb-util-renderutil-0.3.10 e xcb-util-wm-0.4.2
BlueZ-5.66 (para o "sdpscanner" e, em tempo de execução, para o módulo "QtConnectivity"), ibus-1.5.27, libinput-1.22.1, MariaDB-10.6.12 ou MySQL, pciutils-3.9.0, PostgreSQL-15.2, PulseAudio-16.1, SDL2-2.26.3, unixODBC-2.3.11, assimp, Flite, Firebird, FreeTDS, libproxy, OpenAL, speech-dispatcher, tslib e Vulkan
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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.8
". 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.8 ln -sfnv qt-5.15.8 /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.
Se o "qca-2.3.5" tiver sido instalado e você estiver reinstalando ou atualizando esse pacote, então o "qca" precisará ser reinstalado.
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.
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.
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.
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.8-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
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 "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
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 "qtwebengine-5.15.12" separadamente.
-system-harfbuzz
:
Essa chave habilita o uso da versão do sistema do
"Harfbuzz".
Se o "Sudo-1.9.13p1" 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
", [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
pathappend $QT5DIR/bin
# Termina /etc/profile.d/qt5.sh
EOF
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
é uma ferramenta para apresentação de documentação "on-line" |
|
é 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" |
|
é 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 |
|
é 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 |
|
é um conjunto de comandos sequenciais para substituir todas as inclusões de estilo do "Qt 4" pelas inclusões do "Qt 5" |
|
é 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 |
|
fornece suporte para tradução de aplicativos para idiomas locais |
|
é 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 |
|
extrai informações do projeto a partir de projetos "qmake" e as passa para o "lrelease" |
|
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" |
|
lê um arquivo de projeto do "Qt" e passa as informações coletadas para o "lupdate" |
|
exibe informações a respeito de arquivos de malha do "qtquick-3d" |
|
gera código de suporte de meta objeto do "Qt" |
|
é um ampliador de área de trabalho e conforme você move o mouse pela tela ele mostrará o conteúdo ampliado na janela dele |
|
processa e converte arquivos de ajuda do "Qt" |
|
pega um arquivo de fonte do "C++" e gera uma definição "XML" do "D-Bus" da interface |
|
lista serviços disponíveis, caminhos de objetos, métodos, sinais e propriedades de objetos em um barramento |
|
é um navegador gráfico do "D-Bus" |
|
é uma ferramenta que pode ser usada para analisar descrições de interfaces e produzir código estático representando essas interfaces, |
|
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" |
|
é uma ferramenta usada por Desenvolvedores(as) do "Qt" para gerar documentação para projetos de logiciário |
|
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" |
|
é uma ferramenta usada para gerar um arquivo comprimido de ajuda do "Qt" |
|
é uma ferramenta usada para gerar código a partir de especificações gramaticais |
|
usa informações armazenadas em arquivos de projeto para determinar o que deveria constar nos arquivos "make" que ele gera |
|
executa um arquivo "QML" |
|
suporta a criação de arquivos de "cache" em tempo de construção |
|
é uma ferramenta usada para definir as curvas de atenuação usando um editor interativo de curva |
|
formata arquivos "QML" de acordo com as convenções de codificação "QML" |
|
é uma ferramenta usada para importar arquivos "QML" a partir de um diretório |
|
é um verificador de sintaxe para arquivos "QML" |
|
remove comentários e caracteres de esquema de um arquivo "QML" |
|
é uma ferramenta para criar um arquivo "qmltypes" |
|
é uma ferramenta usada para analisar aplicativos "QML" |
|
é uma ferramenta que monitora arquivos "QML" e "JavaScript" no disco e atualiza o aplicativo ao vivo com quaisquer mudanças |
|
é um utilitário que carrega e exibe documentos "QML" mesmo antes da aplicação estar completa |
|
é uma ferramenta usada para fazer testes |
|
converte um arquivo "input.scxml" em um arquivo de cabeçalho e "cpp" |
|
processa arquivos "qt_attribution.json" em fontes do "Qt" |
|
é uma ferramenta para noticiar informações de diagnóstico a respeito do "Qt" e ambiente dele |
|
é uma ferramenta para consultar informações de caminho do "Qt" |
|
despeja metadados a respeito dos "plugins" do "Qt" em formato "JSON" |
|
converte arquivos de especificações do "Wayland" em cabeçalhos "C++" e código necessário para o "QtWayland" |
|
converte arquivos de especificações do "Vulkan" em cabeçalhos e código "C++" |
|
é um compilador de recursos usado em conjunto com o projetista |
|
é o "Replica Compiler", que gera arquivos de cabeçalho "QObject" baseados em um arquivo de definição de "API" |
|
realiza uma varredura do "Session Description Protocol" em um dispositivo remoto, usando o servidor "SDP" representado pelo dispositivo local "Bluetooth" |
|
é um conjunto de comandos sequenciais para criar os cabeçalhos de encaminhamento nos diretórios de inclusão. É uma ferramenta interna de desenvolvimento |
|
é um gerador de rastreamento para o "LTTng" ou o "ETW" |
|
é um compilador "Qt" de interface de usuário(a) |
|
fornece suporte para validação de esquemas "XPath", "XQuery", "XSLT" e "XML" |
|
é uma ferramenta usada para validar documentos "XML" |
"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".
"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 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 adequadamente usando uma plataforma LFS 11.3.
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) núcleos e trinta e dois (32) GB de memória.
Para contornar isso, vejam-se as Explicações do Comando abaixo.
Se estiver atualizando e tiver instalado uma versão mais recente do "ICU-72.1" desde a última instalação do "Qt-5.15.8", [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).
Transferência (HTTP): https://anduin.linuxfromscratch.org/BLFS/qtwebengine/qtwebengine-5.15.12.tar.xz
Soma de verificação MD5 da transferência: a874390e7987ae5613f4650aab5681e8
Tamanho da transferência: 307 MB
Espaço em disco estimado exigido: 5,1 GB (152 MB instalado)
Tempo de construção estimado: 79 UPC (em uma máquina rápida, Usando paralelismo=4)
nodejs-18.14.1, nss-3.88.1, pciutils-3.9.0 e Qt-5.15.8
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 alsa-lib-1.2.8 ou PulseAudio-16.1 (ou ambos), FFmpeg-5.1.2, ICU-72.1 (construído antes do libxml2-2.10.3) , libwebp-1.3.0, libxslt-1.1.37 e Opus-1.3.1
libevent-2.1.12, MIT Kerberos V5-1.20.1, pipewire-0.3.66, Poppler-23.02.0, jsoncpp, libsrtp, snappy
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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.12-build_fixes-1.patch
Aplique um remendo que resolva problemas ao construir com o "ffmpeg-5":
patch -Np1 -i ../qtwebengine-5.15.12-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.8" usando um "sed":
sed -e '/^MODULE_VERSION/s/5.*/5.15.8/' -i .qmake.conf
Agora, certifique-se de que os cabeçalhos locais estejam disponíveis quando não construir como parte do "Qt-5.15.8" 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' {} \;
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 "MIT Kerberos V5-1.20.1" 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.
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.
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 --->
[ ] User namespace [CONFIG_USER_NS]
[*] PID namespace [CONFIG_PID_NS]
converte dicionários do "hunspell" (" |
|
é 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) |
|
fornece tipos "QML" para renderizar conteúdo da web dentro de um aplicativo "QML" |
|
fornece "API" pública compartilhada por "QtWebEngine" e "QtWebEngineWidgets" |
|
fornece um mecanismo de navegador da "web", bem como classes "C++" para renderizar e interagir com o conteúdo da "web" |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.freedesktop.org/software/startup-notification/releases/startup-notification-0.12.tar.gz
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
Bibliotecas do Xorg e xcb-util-0.4.1
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/tepl/6.4/tepl-6.4.0.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/tepl/6.4/tepl-6.4.0.tar.xz
Soma de verificação MD5 da transferência: 3554454f0b74b5f5584011c46fd35396
Tamanho da transferência: 164 KB
Espaço em disco estimado exigido: 14 MB (com os testes)
Tempo de construção estimado: 0,3 UPC (com os testes)
amtk-5.6.1, gtksourceview4-4.8.4, ICU-72.1 e uchardet-0.0.8
GTK-Doc-1.33.2 (para documentação) e Valgrind-3.20.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--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 "GTK-Doc-1.33.2" instalado e desejar
construir a documentação da "API".
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://webkitgtk.org/releases/webkitgtk-2.38.5.tar.xz
Soma de verificação MD5 da transferência: de05d314a3ecb5fb3835e4d84f8f466d
Tamanho da transferência: 31 MB
Espaço em disco estimado exigido: 1,1 GB (174 MB instalado)
Tempo de construção estimado: 34 UPC (usando paralelismo = 4)
Cairo-1.17.6, CMake-3.25.2, gst-plugins-base-1.22.0, gst-plugins-bad-1.22.0, GTK+-3.24.36, ICU-72.1, Little CMS-2.14, libgudev-237, libsecret-0.20.5, libsoup-3.2.2, libtasn1-4.19.0, libwebp-1.3.0, Mesa-22.3.5, OpenJPEG-2.5.0, Ruby-3.2.1, SQLite-3.40.1, Which-2.21 e wpebackend-fdo-1.14.0
enchant-2.3.3, GeoClue-2.7.0, gobject-introspection-1.74.0 e hicolor-icon-theme-0.17
bubblewrap-0.7.0, Gi-DocGen-2023.1, GTK-4.8.3, HarfBuzz-7.0.0, Wayland-1.21.0, WOFF2-1.0.2, ccache, Hyphen, libavif, libmanette e xdg-dbus-proxy
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/webkitgtk
Instale o "WebKitGTK" executando 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_WPE_RENDERER=ON \ -DENABLE_BUBBLEWRAP_SANDBOX=OFF \ -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
"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
-DUSE_LIBHYPHEN=OFF
:
Essa chave desabilita a implementação padrão de hifenização
automática. Você precisa instalar o "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 "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 "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).
-DENABLE_BUBBLEWRAP_SANDBOX=OFF
:
Remova essa chave se os pacotes opcionais "bubblewrap-0.7.0" e "xdg-dbus-proxy"
estiverem instalados.
-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 "GeoClue-2.7.0".
-DUSE_WOFF2=ON
: Use essa chave se
o pacote opcional "WOFF2-1.0.2" estiver instalado. Isso
adiciona suporte adicional para fontes.
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", "KDE", "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" é 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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gdm/43/gdm-43.0.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gdm/43/gdm-43.0.tar.xz
Soma de verificação MD5 da transferência: d9ca2abdf2359d0420dc71a1bd1d7530
Tamanho da transferência: 812 KB
Espaço em disco estimado exigido: 33 MB
Tempo de construção estimado: 0,3 UPC
AccountsService-22.08.8, GTK+-3.24.36, ISO Codes-4.12.0, itstool-2.0.7, libcanberra-0.30, libdaemon-0.14 e Linux-PAM-1.5.2
gnome-session-43.0, gnome-shell-43.3 e Systemd-252
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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 --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
--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".
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".
O pacote "lightdm" contém um gerenciador de exibição leve baseado em no "GTK".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/CanonicalLtd/lightdm/releases/download/1.32.0/lightdm-1.32.0.tar.xz
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
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 https://en.wikipedia.org/wiki/LightDM.
Transferência (HTTP): https://github.com/Xubuntu/lightdm-gtk-greeter/releases/download/lightdm-gtk-greeter-2.0.8/lightdm-gtk-greeter-2.0.8.tar.gz
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
Exo-4.18.0 (para o saudador), libgcrypt-1.10.1, itstool-2.0.7, Linux-PAM-1.5.2 e Xorg-Server-21.1.7 (tempo de execução)
gobject-introspection-1.74.0, libxklavier-5.4 e Vala-0.56.4
AccountsService-22.08.8 (tempo de execução), at-spi2-core-2.46.0, GTK-Doc-1.33.2, Qt-5.15.8, libido e libindicator
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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
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.
Instale a unidade "lightdm.service
" incluída no pacote
"blfs-systemd-units-20220720":
make install-lightdm
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.
O "LXDM" é um Gerenciador de Tela leve para a área de trabalho do "LXDE". Ele também pode ser usado como uma alternativa a outros Gerenciadores de Tela como o "GDM" do "GNOME" ou o "LightDM".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
O gerenciador de tela "lxdm" não suporta gerenciadores de janela baseados em "wayland", como o "plasma-wayland" ou "gnome-wayland".
Transferência (HTTP): https://downloads.sourceforge.net/lxdm/lxdm-0.5.3.tar.xz
Soma de verificação MD5 da transferência: 061caae432634e6db38bbdc84bc6ffa0
Tamanho da transferência: 236 KB
Espaço em disco estimado exigido: 5,6 MB
Tempo de construção estimado: menos que 0,1 UPC
GTK+-2.24.33, ISO Codes-4.12.0 e librsvg-2.54.5 (tempo de execução, para plano de fundo do tema padrão)
LXSession-0.5.5 (para o lxpolkit) ou polkit-gnome-0.105
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/lxdm
Primeiro, algumas correções.
cat > pam/lxdm << "EOF"
# Inicia /etc/pam.d/lxdm
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/lxdm
EOF
sed -i 's:sysconfig/i18n:profile.d/i18n.sh:g' data/lxdm.in &&
sed -i 's:/etc/xprofile:/etc/profile:g' data/Xsession &&
sed -e 's/^bg/#&/' \
-e '/reset=1/ s/# //' \
-e 's/logou$/logout/' \
-e "/arg=/a arg=$XORG_PREFIX/bin/X" \
-i data/lxdm.conf.in
Instale o "LXDM" executando os seguintes comandos:
./configure --prefix=/usr \ --sysconfdir=/etc \ --with-pam \ --with-systemdsystemunitdir=/lib/systemd/system && make
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) "root
":
make install
cat > pam/lxdm <<
"EOF" ...: Substitua o "/etc/pam.d/lxdm
" padrão por outro
apropriado para o BLFS.
sed -i ...
data/lxdm.conf.in: Modificações na
configuração padrão: (1) corrigir o plano de fundo para o
padrão; (2) reiniciar o "X" quando a sessão for fechada; (3)
erro de digitação; e (4) incluir "XORG_PREFIX
", que pode ser diferente de
"/usr
".
sed -i ...
data/Xsession: Carregar "/etc/profile
", em vez de outro arquivo, de
acordo com o padrão do BLFS.
sed -i ... data/lxdm.in: Corrija a localidade do saudador para especificação do BLFS.
--with-pam
: Esse
parâmetro habilita o uso da autenticação "PAM".
Para iniciar o "LXDM" na
inicialização, execute o seguinte comando como o(a)
usuário(a) "root
":
systemctl enable lxdm
O arquivo de configuração do processo de segundo plano do
"LXDM" ("/etc/lxdm/lxdm.conf
") especifica opções
que incluem "numlock" "on"/"off", imagem de plano de fundo
("bg"), sessão, etc. Você consegue configurar uma sessão
padrão descomentando a linha: "session=/usr/bin/startlxde"
e substituindo "startlxde" pela sessão da
tua escolha. Para o "GNOME",
"session=/usr/bin/gnome-session". Para o "OPENBOX",
"session=/usr/bin/openbox-session" e para o "XFCE", "session=/usr/bin/startxfce4".
Também é possível configurar a sessão preferida por usuário(a) editando o arquivo "~/.dmrc" para cada usuário(a) e adicionando:
[Desktop]
Session=xfce
Você pode substituir o rosto fictício padrão na tela de
saudação por outra imagem representando teu(ua) usuário(a).
Para isso, copie ou simbolicamente vincule a imagem
desejada para o teu diretório inicial com o nome
".face
".
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) é 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.
O pacote "Fluxbox" contém um gerenciador de janelas.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/fluxbox/fluxbox-1.3.7.tar.xz
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
dbus-1.14.6 (tempo de execução), FriBidi-1.0.12 e imlib2-1.9.1 (se você desejar usar outros formatos de imagem além do "XPM")
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 "GDM-43.0" ou o "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 "GDM-43.0" ou o "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 <opções_de_usuário(a)>
;
então emita:
cd ~/.fluxbox &&
fluxbox-generate_menu <opções_de_usuário(a)>
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 "<tema>
" para o nome
do tema desejado e mude "</caminho/para/atraente/imagem.ext>
"
para apontar para a imagem atual que você deseja usar, onde
"ext
" precisa ser
“xpm”, se o "imlib2-1.9.1" não
estiver instalado para permitir outros formatos de imagem.
cp -r /usr/share/fluxbox/styles/<tema> ~/.fluxbox/theme && sed -i 's,\(session.styleFile:\).*,\1 ~/.fluxbox/theme,' ~/.fluxbox/init && [ -f ~/.fluxbox/theme ] && echo "background.pixmap: </caminho/para/atraente/imagem.ext>" >> ~/.fluxbox/theme || [ -d ~/.fluxbox/theme ] && echo "background.pixmap: </caminho/para/atraente/imagem.ext>" >> ~/.fluxbox/theme/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.
é um gerenciador de janelas para o "X11" baseado no "Blackbox" 0.61.0 |
|
é um utilitário que configura a imagem de plano de fundo. Ele exige um dos seguintes em tempo de execução: "Esetroot", "wmsetbg", "feh", "hsetroot", "chbg", "display", "qiv", "xv", "xsri", "xli" ou "xsetbg". Também exige "which" se o "Esetroot" for encontrado |
|
é um utilitário para mudar a aparência da janela raiz baseado no aplicativo "bsetroot" do "Blackbox" |
|
é um utilitário que gera um menu escaneando a tua
" |
|
é um conjunto de comandos sequenciais de inicialização de sessão que permite a execução de comandos antes do início do "fluxbox" |
|
exibe uma janela de diálogo de execução |
|
fornece acesso de linha de comando aos comandos chave do "Fluxbox" |
|
use para gerenciar arquivos de configuração (recarregar, atualizar, testar) |
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/ice-wm/icewm/archive/3.3.1/icewm-3.3.1.tar.gz
Soma de verificação MD5 da transferência: 2fe3d2ebbe34ebbd4d091555f1c96ed3
Tamanho da transferência: 2,3 MB
Espaço em disco estimado exigido: 46 MB
Tempo de construção estimado: 0,3 UPC
CMake-3.25.2, um ambiente gráfico e gdk-pixbuf-xlib-2.40.2
asciidoc-10.2.0 (para regerar a documentação "HTML"), FriBidi-1.0.12 (para idiomas escritos da direita para a esquerda), imlib2-1.9.1, librsvg-2.54.5, libao-1.2.0, libsndfile-1.2.0 e alsa-lib-1.2.8 (para o aplicativo experimental "icesound")
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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.3.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
-DENABLE_LTO=ON
: Essa
opção habilita "Link Time Optimization" e é exigida para esse
pacote.
"~/.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
".
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 "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
Existem vários atalhos de teclado no "IceWM":
Ctrl + Alt + FN
: vai para o
"tty
".
N
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.
é usado para exibir o manual "HTML" |
|
é um gerenciador de janelas de linha de comando que
pode ser usado em " |
|
reproduz arquivos de áudio em eventos de "GUI" gerados pelo "IceWM" |
|
é o gerenciador de janelas |
|
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" |
|
é um aplicativo auxiliar usado para gerenciar configurações de múltiplas telas |
|
executa "icewmbg", "icewm", "icewmtray", "startup", "shutdown" (ou seja, conjuntos de comandos sequenciais de inicialização e desligamento são executados se instalados) |
|
é um conjunto de comandos sequenciais para configurar o gerenciador de janelas "GNOME" como "icewm" usando o "gconftool" |
|
é usado para configurar o plano de fundo, de acordo
com as diversas configurações de " |
|
é usado internamente para fornecer dicas para o(a) usuário(a) |
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): 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
um ambiente gráfico e Pango-1.50.12 (compilado com suporte para "libXft")
dbus-1.14.6 (tempo de execução), imlib2-1.9.1 (para habilitar ícones no menu do botão direito), ImageMagick-7.1.0-61 (para mostrar os planos de fundo da área de trabalho conforme visto na seção Informações de Configuração abaixo), PyXDG-0.28, startup-notification-0.12 e librsvg-2.54.5
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/openbox
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
--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.
/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
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 "Obmenu" (exige
"pyxml" e
"PyGTK-2.24.0").
Para ter ícones em teu menu do botão direito, é exigido
instalar o "imlib2-1.9.1" antes de instalar o
"Openbox". Para configurar
um ícone para uma entrada no menu, edite "~/.config/openbox/menu.xml
" e adicione um
ícone à marca <item>, assim:
<item label="Mplayer" icon="/usr/share/pixmaps/mplayer.png">
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.*##'
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 "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 "Numlockx" e adicione-o ao teu "xinitrc". Outra aplicação útil é o "dbus-1.14.6":
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
é uma ferramenta de linha de comando para enviar sinais para o "GDM" |
|
é um utilitário de linha de comando para invocar a caixa de diálogo/menu de execução do "Gnome Panel" |
|
é 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 |
|
é um gerenciador de janelas compatível com padrões e altamente configurável |
|
é um conjunto de comandos sequenciais para iniciar
uma sessão do "Gnome" com o "Openbox" como teu gerenciador
de janelas a partir de teu " |
|
é um conjunto de comandos sequenciais para iniciar
uma sessão do "KDE" com o "Openbox" como teu gerenciador
de janelas a partir de teu " |
|
é um conjunto de comandos sequenciais para iniciar
uma sessão do "Openbox" a partir de teu
" |
|
contém as funções usadas pelo "Openbox" para renderização de temas |
|
é a biblioteca do kit de ferramentas do "Openbox" |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.tuxfamily.org/sawfish/sawfish_1.13.0.tar.xz
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
gdk-pixbuf-xlib-2.40.2, rep-gtk-0.90.8.3 e Which-2.21
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 "lxdm-0.5.3".
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 "FAQ do sawfish".
é o gerenciador de janelas extensível que usa uma linguagem de conjunto de comandos sequenciais baseada em "Lisp" |
|
é a janela "sobre" do "sawfish" |
|
permite que você se conecte a um processo gerenciador de janelas e avalie formulários arbitrários "Lisp" |
|
é o gerenciador de configuração do "sawfish" |
|
é um conjunto de comandos sequenciais para executar o "KDE4" usando o "sawfish" |
|
é um conjunto de comandos sequenciais para executar o "Plasma 5" usando o "sawfish" |
|
é um conjunto de comandos sequenciais para executar o "mate" usando o "sawfish" |
|
é um conjunto de comandos sequenciais para executar o "Lumina" usando o "sawfish" |
|
é um conjunto de comandos sequenciais para executar o "xfce" usando o "sawfish" |
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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/adwaita-icon-theme/43/adwaita-icon-theme-43.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/adwaita-icon-theme/43/adwaita-icon-theme-43.tar.xz
Soma de verificação MD5 da transferência: 5c5d8a655651e8700ce539191729d351
Tamanho da transferência: 10 MB
Espaço em disco estimado exigido: 114 MB
Tempo de construção estimado: 0,2 UPC (Usando paralelismo=4)
git-2.39.2, GTK+-2.24.33 ou GTK+-3.24.36 (se presente, [então] o "librsvg-2.54.5" também é exigido; e "gtk-update-icon-cache" e "gtk-encode-symbolic-svg" são executados depois da instalação), Inkscape-1.2.2 e Ferramentas de Ícone
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/adwaita-icon-theme
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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.kde.org/stable/frameworks/5.103/breeze-icons-5.103.0.tar.xz
Soma de verificação MD5 da transferência: 60d0eadf3f9c87ee652e024d9623c551
Tamanho da transferência: 2,1 MB
Espaço em disco estimado exigido: 261 MB
Tempo de construção estimado: 0,1 UPC
extra-cmake-modules-5.103.0 e Qt-5.15.8
KDE Frameworks-5.103.0, libxml2-2.10.3 e lxml-4.9.2
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/breeze-icons
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
-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 "KDE
Frameworks-5.103.0".
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gnome-icon-theme/3.12/gnome-icon-theme-3.12.0.tar.xz
Transferência (FTP): 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
GTK+-3.24.36 ou GTK+-2.24.33, hicolor-icon-theme-0.17 e icon-naming-utils-0.8.90
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gnome-icon-theme
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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gnome-icon-theme-extras/3.12/gnome-icon-theme-extras-3.12.0.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-icon-theme-extras/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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gnome-icon-theme-extras
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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gnome-icon-theme-symbolic/3.12/gnome-icon-theme-symbolic-3.12.0.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-icon-theme-symbolic/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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gnome-icon-theme-symbolic
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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gnome-themes-extra/3.28/gnome-themes-extra-3.28.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-themes-extra/3.28/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
GTK+-2.24.33 ou GTK+-3.24.36 com librsvg-2.54.5 ou ambos
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gnome-themes-extra
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
--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".
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://icon-theme.freedesktop.org/releases/hicolor-icon-theme-0.17.tar.xz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 Especificação de Nomenclatura de Ícones.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): http://tango.freedesktop.org/releases/icon-naming-utils-0.8.90.tar.bz2
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/lxde/lxde-icon-theme-0.5.1.tar.xz
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
GTK+-2.24.33 ou GTK+-3.24.36 (para o comando "gtk-update-icon-cache")
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/lxde-icon-theme
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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.kde.org/stable/frameworks/5.103/oxygen-icons5-5.103.0.tar.xz
Soma de verificação MD5 da transferência: 951ccb7eb477b299712d16cc3eac354b
Tamanho da transferência: 228 MB
Espaço em disco estimado exigido: 452 MB
Tempo de construção estimado: menos que 0,1 UPC
extra-cmake-modules-5.103.0 e Qt-5.15.8
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 https://kde.org/.
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 https://kde.org/.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.kde.org/stable/frameworks/5.103/extra-cmake-modules-5.103.0.tar.xz
Soma de verificação MD5 da transferência: ac7d7a883f8ecd2dab262a284981ad64
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
sphinx-6.1.3 (para construir documentação) e PyQt (suporte experimental para construir ligações "Python" do "KDE")
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/extra-cmake-modules
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.
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
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.
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.kde.org/stable/phonon/4.11.1/phonon-4.11.1.tar.xz
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)
CMake-3.25.2, extra-cmake-modules-5.103.0, GLib-2.74.5 e Qt-5.15.8
Pelo menos um de "phonon-backend-gstreamer-4.10.0" ou "phonon-backend-vlc-0.11.3" precisa ser instalado posteriormente para operação multimídia no "KDE".
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
-DCMAKE_BUILD_TYPE=Release
:
Essa chave é usada para aplicar um nível mais alto de
otimização à compilação.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.kde.org/stable/phonon/phonon-backend-gstreamer/4.10.0/phonon-backend-gstreamer-4.10.0.tar.xz
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)
gstreamer-1.22.0, libxml2-2.10.3 e phonon-4.11.1
gst-plugins-base-1.22.0 (necessário para saída para o "ALSA"), gst-plugins-good-1.22.0 (necessário para saída para o "PulseAudio"), gst-plugins-bad-1.22.0 (necessário para suporte a "AAC"/"M4A") e gst-plugins-ugly-1.22.0 (necessário para suporte a "MP3")
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
-DCMAKE_BUILD_TYPE=Release
:
Essa chave é usada para aplicar um nível mais alto de
otimização à compilação.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.kde.org/stable/phonon/phonon-backend-vlc/0.11.3/phonon-backend-vlc-0.11.3.tar.xz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
-DCMAKE_BUILD_TYPE=Release
:
Essa chave é usada para aplicar um nível mais alto de
otimização à compilação.
"Polkit-Qt" fornece uma "API" para "PolicyKit" no ambiente "Qt".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.kde.org/stable/polkit-qt-1/polkit-qt-1-0.114.0.tar.xz
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
CMake-3.25.2, Polkit-122 e Qt-5.15.8
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
-DCMAKE_BUILD_TYPE=Release
:
Essa chave é usada para aplicar um nível mais alto de
otimização à compilação.
Essa biblioteca fornece uma implementação "Qt" da especificação "DBusMenu" que expõe menus via "DBus".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://launchpad.net/ubuntu/+archive/primary/+files/libdbusmenu-qt_0.9.3+16.04.20160218.orig.tar.gz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
-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.
Esse pacote fornece um conjunto personalizado de definições de protocolo para o "KDE".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.kde.org/stable/plasma-wayland-protocols/plasma-wayland-protocols-1.10.0.tar.xz
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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.kde.org/stable/kuserfeedback/kuserfeedback-1.2.0.tar.xz
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)
extra-cmake-modules-5.103.0 e Qt-5.15.8
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
O "KF5" pode ser instalado em "/usr
" ou "/opt/kf5
". Os(As) editores(as) do BLFS
recomendam o último no ambiente do BLFS.
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
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 "Sudo-1.9.13p1" 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
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 # Termina /etc/profile.d/kf5.sh
EOF cat >> /etc/profile.d/qt5.sh << "EOF"# Inicia mudanças do 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 do 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 "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
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.103.0
". Depois de instalar o
"KDE Frameworks", você
pode renomear o diretório e criar um link simbólico:
mv /opt/kf5{,-5.103.0} ln -sfv kf5-5.103.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.
"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 adequadamente usando uma plataforma LFS 11.3.
As instruções abaixo constroem todos os pacotes do "KDE Frameworks" em uma etapa, usando um conjunto de comandos sequenciais do "Bash".
Transferência (HTTP): https://download.kde.org/stable/frameworks/5.103
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 (247 MB instalado)
Tempo de construção estimado: 14 UPC (usando paralelismo = 4)
Boost-1.81.0, extra-cmake-modules-5.103.0, docbook-xml-4.5, docbook-xsl-nons-1.79.2, giflib-5.2.1, libepoxy-1.5.10, libgcrypt-1.10.1, libical-3.0.16, libjpeg-turbo-2.1.5.1, libpng-1.6.39, libxslt-1.1.37, lmdb-0.9.29, qca-2.3.5, qrencode-4.1.1, phonon-4.11.1, plasma-wayland-protocols-1.10.0, shared-mime-info-2.2, URI-5.17 e Wget-1.21.3 (exigido para baixar os pacotes)
Aspell-0.60.8 (estrutura de retaguarda de Dicionário para o "Sonnet"), Avahi-0.8 (estrutura de retaguarda "DNS-SD" para o "KDNSSD"), libdbusmenu-qt-0.9.3+16.04.20160218 (construído com "qt5"), NetworkManager-1.42.0 (necessário para construir o "NetworkManager-Qt"), PCRE-8.45 e polkit-qt-0.114.0 (estrutura de retaguarda de Autenticação para o "KAuth")
Além disso, as instruções abaixo pressupõem que o ambiente tenha sido configurado conforme descrito na Introdução ao "KF5".
BlueZ-5.66 (necessário para construir o "Bluez-Qt"), ModemManager-1.18.12 (necessário para construir o "ModemManager-Qt"), Datamatrix (considerado recomendado para o "Prison" pelo(a) desenvolvedor(a))
Doxygen-1.9.6 (tempo de execução), doxypypy-0.8.8.7, doxyqml-0.5.2, PyYAML-6.0 e requests-2.28.2
UDisks-2.9.4, UPower-1.90.0 e media-player-info (tempo de execução)
GPGME-1.18.0, construído com ligações "C++" (o que é o padrão).
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/kf5
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.103/
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
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.103.0.md5 << "EOF"
0a7b74df0877363cd2316c906e0694d5 attica-5.103.0.tar.xz
#ac7d7a883f8ecd2dab262a284981ad64 extra-cmake-modules-5.103.0.tar.xz
8588714c201f53bb20bc102a18c4f532 kapidox-5.103.0.tar.xz
59595c4bec0668230f4946db7214b52b karchive-5.103.0.tar.xz
05e65495011a67947dfb2069fb3d535a kcodecs-5.103.0.tar.xz
a8347f5ca9166c92617f83214beb652e kconfig-5.103.0.tar.xz
2ab7a86490e7fbfd343d025186f216b0 kcoreaddons-5.103.0.tar.xz
4427e875afe3cd04b5715ec3bda26095 kdbusaddons-5.103.0.tar.xz
46fc8742d1ba4240c8552ac0d63faefc kdnssd-5.103.0.tar.xz
1b0bc7da24e0475f105bad5d3c9bc465 kguiaddons-5.103.0.tar.xz
107b2cb6129ae111430659f9c55c6d6f ki18n-5.103.0.tar.xz
d4f38229dd9d49a043ab630eb9a9a302 kidletime-5.103.0.tar.xz
d3b193a9d8c6f93186cf7ac8c888a3db kimageformats-5.103.0.tar.xz
0f8cd4d3717ede9c56bce44ae095af67 kitemmodels-5.103.0.tar.xz
14f36528bb5441a692c7a97afaa2400c kitemviews-5.103.0.tar.xz
763886cdcf3447e447a9418a0b5c867a kplotting-5.103.0.tar.xz
a4e41e13aff26d5010d3a97852fb8342 kwidgetsaddons-5.103.0.tar.xz
8bf107f2ab437d4bbfdbe51ecbde43ae kwindowsystem-5.103.0.tar.xz
2dff80cd51ffedcbd8626c533083f656 networkmanager-qt-5.103.0.tar.xz
65d98a483c5d3cbf5c8806c61e0241a9 solid-5.103.0.tar.xz
791b983979fe0c370429f35c62c2165b sonnet-5.103.0.tar.xz
f6322ae074c4acdbc6e0396a93ce1eaa threadweaver-5.103.0.tar.xz
6d28e58c5f1683063ad03dff6019cad3 kauth-5.103.0.tar.xz
a5b50adcd5ab994a2c9f51b745982672 kcompletion-5.103.0.tar.xz
50ed3e4f8f7534df5c57abda5c47559b kcrash-5.103.0.tar.xz
283cdd8aba82a3f3c30fd5be85ed88b7 kdoctools-5.103.0.tar.xz
5a919ad09e721cfc2f631955b9ada6ae kpty-5.103.0.tar.xz
8dd1fa39b1eca8563e6fb71a3bb2008e kunitconversion-5.103.0.tar.xz
6a5b65a200747ac103f67ae903783757 kconfigwidgets-5.103.0.tar.xz
5e13babdfe4d58802331bdd21c469c55 kservice-5.103.0.tar.xz
99a74ee689e17751283a5af3194d7a55 kglobalaccel-5.103.0.tar.xz
e0efb5adb522325ebce49225584d16c7 kpackage-5.103.0.tar.xz
fed250966122f46b339ed5de4ca459a2 kdesu-5.103.0.tar.xz
e04acd0fc6e2702aa7c16b219603cdfa kemoticons-5.103.0.tar.xz
bf0a9ec942b90a10386296ff716131dc kiconthemes-5.103.0.tar.xz
1a7b5a3f3726b4cde11cb51b7c4d0f1e kjobwidgets-5.103.0.tar.xz
a243f74fcae890ef7fbe4184a2cf7e05 knotifications-5.103.0.tar.xz
f644d4c8d27b67a3677fa23da532c514 ktextwidgets-5.103.0.tar.xz
9503487754af910a9e92f281d656acaa kxmlgui-5.103.0.tar.xz
437e063410b1e740137d5e35c290a23e kbookmarks-5.103.0.tar.xz
2d61f4f1421e025280438e0e1aa9f5e3 kwallet-5.103.0.tar.xz
bf91ba7c557268d302075b1d631e380c kded-5.103.0.tar.xz
79dfc2d0657721dfb08991881dbde8a7 kio-5.103.0.tar.xz
ec12c7e1218f15c8b5a71277e83036e5 kdeclarative-5.103.0.tar.xz
da08e26fda501c382c1f2a5b40e6485d kcmutils-5.103.0.tar.xz
bab6ca86a6d23f887536c080afa45a0c kirigami2-5.103.0.tar.xz
c1398c8db035d559d07ce898a7219acc syndication-5.103.0.tar.xz
1a405c48d435139c9e727bf124e5f038 knewstuff-5.103.0.tar.xz
829ac5e9cabd62189cd76ed3c894c707 frameworkintegration-5.103.0.tar.xz
43bb956b064091dff8f45a6840f53303 kinit-5.103.0.tar.xz
b25162d470f74445ca56128cac45e947 kparts-5.103.0.tar.xz
239889fc943eff526988f7c2720287d5 kactivities-5.103.0.tar.xz
#2b4832c41d364558e6d9b7065f0c4f39 kdewebkit-5.103.0.tar.xz
2126884ac8f908c4f8419675bd93e0c8 syntax-highlighting-5.103.0.tar.xz
fac3a6fc429a035979721b7424d05510 ktexteditor-5.103.0.tar.xz
f5707c6f02628db06093590de71cd321 kdesignerplugin-5.103.0.tar.xz
461d95ec8fa798c571321535f09b4c0f kwayland-5.103.0.tar.xz
05213caf6c79942d888a8b12cea44329 plasma-framework-5.103.0.tar.xz
#51ad29be12b17417f384d67f76a5d1bd modemmanager-qt-5.103.0.tar.xz
a1088a560a040c2dcfd554954a95069e kpeople-5.103.0.tar.xz
a7dc8537a1ff824dac365eb14102d2c8 kxmlrpcclient-5.103.0.tar.xz
c637be6d9858f5ac7409f1b8fc726b45 bluez-qt-5.103.0.tar.xz
3bbbd6892b1abdfa1d4b0834e0846fea kfilemetadata-5.103.0.tar.xz
4fec6b1553930567e729f1d65b941562 baloo-5.103.0.tar.xz
#60d0eadf3f9c87ee652e024d9623c551 breeze-icons-5.103.0.tar.xz
#951ccb7eb477b299712d16cc3eac354b oxygen-icons5-5.103.0.tar.xz
34b4591e9df8d79c63d2a6eca5bcfe05 kactivities-stats-5.103.0.tar.xz
10447582aa0666d05d62431704f19b1c krunner-5.103.0.tar.xz
ea4d0179cc74415c7a6d76f09209222e prison-5.103.0.tar.xz
c5c910fd595bfd611ac8c4bda27ef652 qqc2-desktop-style-5.103.0.tar.xz
5b31937451c3300d4fc9d18d778e24a7 kjs-5.103.0.tar.xz
ca4de0327db13b3429ba9f3b721b4589 kdelibs4support-5.103.0.tar.xz
1263327a22ed1140b1029ad1b32c8531 khtml-5.103.0.tar.xz
01de79fa8e6e362c9af069fc29105d49 kjsembed-5.103.0.tar.xz
f0433658ef15bf36535565568269a118 kmediaplayer-5.103.0.tar.xz
8cea7e16ca6642b82d92de3d1ed4357f kross-5.103.0.tar.xz
a70e20a82b9a92207907ed5a1f18ee44 kholidays-5.103.0.tar.xz
7b2ca5d2533594bb6183ff3557519b61 purpose-5.103.0.tar.xz
1b6f998185b59a55e0af5ff04ef8e039 kcalendarcore-5.103.0.tar.xz
e42e4b12faf2bec456780e1c67e4c79c kcontacts-5.103.0.tar.xz
4a42631cfabeefeb6b6c1eef4bc210bc kquickcharts-5.103.0.tar.xz
262cb6025c5f7d344463d6eea69b1ef3 knotifyconfig-5.103.0.tar.xz
4b3c77407fbfafaaf6cbdfa7d1340942 kdav-5.103.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 Introdução ao KDE. Os pacotes de ícones são abordados separadamente em "breeze-icons-5.103.0" e "oxygen-icons5-5.103.0". O pacote "modemmanager-qt" pode ser construído se a dependência opcional dele tiver sido instalada. O "kdewebkit" pode ser construído se o pacote externo "QtWebkit" tiver sido construído.
Ao instalar-se múltiplos pacotes em um "script", 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:
Executar o "script" inteiro como o(a) usuário(a) "root" (não recomendado).
Usar o comando "sudo" oriundo do pacote Sudo-1.9.13p1.
Usar su -c "argumentos do comando" (aspas exigidas) o qual solicitará a senha do(a) "root" para cada interação do "loop".
Uma maneira de se lidar com essa situação é a de criar uma função curta do "bash" que seleciona automaticamente o método apropriado. Tão logo o comando seja configurado no ambiente, ele não precisa ser novamente configurado.
as_root() { if [ $EUID = 0 ]; then $* elif [ -x /usr/bin/sudo ]; then sudo $* else su -c \\"$*\\" fi } export -f as_root
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|^.*/||') # Remove diretório packagedir=$(echo $pkg|sed 's|\.tar.*||') # Diretório do pacote name=$(echo $pkg|sed 's|-5.*$||') # Isolar o nome do 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.103.0.md5 exit
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.103.0 ln -sfvn kf5-5.103.0 /opt/kf5
-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.
é uma ferramenta para verificar erros de sintaxe em arquivos "XML" "DocBook" do "KDE" |
|
é uma ferramenta para gerar um diagrama de dependências |
|
é uma ferramenta para gerar um diagrama de dependências para todos as estruturas essenciais de suporte de uma vez |
|
é uma ferramenta para preparar arquivos de ponto |
|
é uma ferramenta para converter um arquivo ".desktop" em um arquivo ".json" |
|
reconstrói o "cache" de configuração do sistema de arquivos da área de trabalho "KService" |
|
é 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" |
|
consolida vários pequenos serviços em um processo |
|
é um iniciador de processos mais ou menos semelhante ao famoso "init" usado para inicializar o "UNIX" |
|
é um aplicativo de linha de comando usado para recuperar informações a respeito da instalação do "KDE" ou caminhos de usuário(a) |
|
executa conjuntos de comandos sequenciais "kross" escritos em "Javascript", "Python", "Ruby", "Java" e "Falcon" do "KDE" |
|
gera "plugins" de pequena engenhoca para o "Qt(TM) Designer" |
|
é um processo de segundo plano usado para registrar as combinações de teclas e para ser notificado(a) quando a ação for deflagrada |
|
é o mecanismo "ECMAScript"/"JavaScript" do "KDE" |
|
é uma ferramenta para iniciar conjuntos de comandos sequenciais "KJSEmbed" a partir da linha de comando |
|
é um console para o "kjs5" |
|
é uma ferramenta de linha de comando para iniciar o aplicativo "QML" "kpackage" |
|
é uma ferramenta de linha de comando do "kpackage" |
|
é uma ferramenta de linha de comando para recuperar valores a partir dos arquivos de configuração do "KDE" |
|
inicia aplicativos via "kdeinit" |
|
é um serviço de "telnet" |
|
é um aplicativo auxiliar para lidar com a lixeira do "KDE" |
|
é o processo de segundo plano do gerenciador de carteira |
|
é uma ferramenta de linha de comando para escrever valores nos arquivos de configuração do "KDE" |
|
converte arquivos "DocBook" para "HTML" |
|
é uma ferramenta para instalar, listar e remover pacotes "Plasma" |
|
é um conjunto de comandos sequenciais para extrair o texto a partir de um arquivo de dicas |
|
é uma ferramenta de linha de comando para investigar dispositivos disponíveis |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.kde.org/stable/release-service/22.12.2/src/ark-22.12.2.tar.xz
Soma de verificação MD5 da transferência: eae848028bd866b6d1243a3d5c02d0e6
Tamanho da transferência: 2,7 MB
Espaço em disco estimado exigido: 32 MB
Tempo de construção estimado: 0,3 UPC (usando paralelismo = 4)
KDE Frameworks-5.103.0 e libarchive-3.6.2
cpio-2.13, p7zip-17.04, UnRar-6.2.6, UnZip-6.0 e Zip-3.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/ark5
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
O pacote "Kdenlive" é um editor de vídeos baseado em "KF5".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.kde.org/stable/release-service/22.12.2/src/kdenlive-22.12.2.tar.xz
Soma de verificação MD5 da transferência: a5707d892c5f95b01654659fbcd9ff15
Tamanho da transferência: 12 MB
Espaço em disco estimado exigido: 189 MB
Tempo de construção estimado: 1,4 UPC (usando paralelismo = 4)
KDE Frameworks-5.103.0, mlt-7.12.0 e v4l-utils-1.22.1 (tempo de execução)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/kdenlive5
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
O pacote "KMix" contém um aplicativo Misturador de Som baseado em "KF5".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.kde.org/stable/release-service/22.12.2/src/kmix-22.12.2.tar.xz
Soma de verificação MD5 da transferência: 9d5afe601502c550fa511c4fc720687a
Tamanho da transferência: 1,1 MB
Espaço em disco estimado exigido: 18 MB
Tempo de construção estimado: 0,2 UPC (usando paralelismo = 4)
libcanberra-0.30 e PulseAudio-16.1
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/kmix5
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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.kde.org/stable/release-service/22.12.2/src/kio-extras-22.12.2.tar.xz
Soma de verificação MD5 da transferência: 4ab09e03d99bb37dce0bf4f5ecef044b
Tamanho da transferência: 1,3 MB
Espaço em disco estimado exigido: 48 MB
Tempo de construção estimado: 0,4 UPC (usando paralelismo = 4)
kdsoap-2.1.1 e KDE Frameworks-5.103.0
libtirpc-1.3.3, Samba-4.17.5, taglib-1.13, libmtp, libssh e OpenEXR
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
"Khelpcenter" é um aplicativo para mostrar a documentação dos Aplicativos do "KDE".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.kde.org/stable/release-service/22.12.2/src/khelpcenter-22.12.2.tar.xz
Soma de verificação MD5 da transferência: 00b782b956a70551f42444c19dedbb03
Tamanho da transferência: 4,2 MB
Espaço em disco estimado exigido: 29 MB
Tempo de construção estimado: 0,2 UPC (usando paralelismo = 4)
grantlee-5.3.1, KDE Frameworks-5.103.0, libxml2-2.10.3 e xapian-1.4.22
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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/applications/ && rm -rv $KF5_PREFIX/share/kde4
O pacote "Konsole" é um emulador de terminal baseado em "KF5".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.kde.org/stable/release-service/22.12.2/src/konsole-22.12.2.tar.xz
Soma de verificação MD5 da transferência: 9b37ed2fbf91f0e6106a31e368d16c4f
Tamanho da transferência: 1,7 MB
Espaço em disco estimado exigido: 52 MB
Tempo de construção estimado: 0,5 UPC (usando paralelismo=4)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/konsole5
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-22.12.2-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
"Libkexiv2" é um invólucro do "KDE" em torno da biblioteca "Exiv2" para manipular metadados de imagens.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.kde.org/stable/release-service/22.12.2/src/libkexiv2-22.12.2.tar.xz
Soma de verificação MD5 da transferência: b15b6d3181847482dab6723dfc76b0bb
Tamanho da transferência: 60 KB
Espaço em disco estimado exigido: 3,2 MB
Tempo de construção estimado: 0,2 UPC
KDE Frameworks-5.103.0 e Exiv2-0.27.6
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
"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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.kde.org/stable/release-service/22.12.2/src/okular-22.12.2.tar.xz
Soma de verificação MD5 da transferência: 5c711ce5c783fc8ba3905d98aacec38d
Tamanho da transferência: 8,0 MB
Espaço em disco estimado exigido: 82 MB
Tempo de construção estimado: 0,7 UPC (usando paralelismo = 4)
libkexiv2-22.12.2, libtiff-4.5.0 e Poppler-23.02.0 (construído com "Qt5", exigido para suporte de "PDF")
qca-2.3.5, discount, DjVuLibre, kpimtextedit, libspectre (para suporte a "PostScript"), libchm, libepub e Mobipocket
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/okular5
Instale o "Okular" executando os seguintes comandos:
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
"Libkdcraw" é um invólucro do "KDE" em torno da biblioteca "libraw-0.21.1" para manipular metadados de imagens.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.kde.org/stable/release-service/22.12.2/src/libkdcraw-22.12.2.tar.xz
Soma de verificação MD5 da transferência: 813bb19da81369a38e0f0c348bd4a2a9
Tamanho da transferência: 40 KB
Espaço em disco estimado exigido: 1,5 MB
Tempo de construção estimado: menos que 0,1 UPC
KDE Frameworks-5.103.0 e libraw-0.21.1
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
"Gwenview" é um visualizador de imagens rápido e fácil de usar para o "KDE".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.kde.org/stable/release-service/22.12.2/src/gwenview-22.12.2.tar.xz
Soma de verificação MD5 da transferência: 08f84c2bdfffe46f06032fe39fb38128
Tamanho da transferência: 6,6 MB
Espaço em disco estimado exigido: 50 MB
Tempo de construção estimado: 0,5 UPC (usando paralelismo = 4)
Exiv2-0.27.6, kimageannotator-0.6.0, KDE Frameworks-5.103.0 e Little CMS-2.14
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.kde.org/stable/release-service/22.12.2/src/libkcddb-22.12.2.tar.xz
Soma de verificação MD5 da transferência: 006cf72e9796d508af04bea33107a5d1
Tamanho da transferência: 448 KB
Espaço em disco estimado exigido: 10 MB
Tempo de construção estimado: 0,1 UPC (Usando paralelismo=4)
KDE Frameworks-5.103.0 e libmusicbrainz-5.1.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 "RMLCopyDVD".
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.kde.org/stable/release-service/22.12.2/src/k3b-22.12.2.tar.xz
Soma de verificação MD5 da transferência: 0e5e372b771e532cdec00abfecbf2dba
Tamanho da transferência: 10 MB
Espaço em disco estimado exigido: 125 MB
Tempo de construção estimado: 1,0 UPC (usando paralelismo = 4)
KDE Frameworks-5.103.0, libkcddb-22.12.2, libsamplerate-0.2.2 e shared-mime-info-2.2
A unidade de "CD"/"DVD" é detectada em tempo de execução usando o "UDisks-2.9.4", que precisa, por esse motivo, ser instalado antes de executar o "k3b".
libburn-1.5.4, libdvdread-6.1.3 e taglib-1.13
Existem aplicativos provenientes de três pacotes que o "k3b" procurará em tempo de execução: "Cdrtools-3.02a09" (exigido para queimar mídia de "CD-ROM"), "dvd+rw-tools-7.1" (exigido para queimar ou formatar mídia "DVD") e "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.
FLAC-1.4.2, LAME-3.100, libmad-0.15.1b, libsndfile-1.2.0, libvorbis-1.3.7, libmusicbrainz-2.1.5 e Musepack (libmpcdec)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 https://download.kde.org/stable/release-service/22.12.2/src.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/Further_KDE_Packages
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".
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
"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.
"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 adequadamente usando uma plataforma LFS 11.3.
As instruções abaixo constroem todos os pacotes do "Plasma" 5 em uma etapa usando um conjunto de comandos sequenciais do "Bash".
Transferência (HTTP): https://download.kde.org/stable/plasma/5.26.5
Soma de verificação MD5 da transferência: Veja-se Abaixo
Tamanho da transferência: 192 MB
Espaço em disco estimado exigido: 1,7 GB (419 MB instalado)
Tempo de construção estimado: 18 UPC (usando paralelismo = 4)
GTK+-2.24.33, GTK+-3.24.36, KDE Frameworks-5.103.0, kuserfeedback-1.2.0, libpwquality-1.4.5, libqalculate-4.5.1, libxkbcommon-1.5.0, Mesa-22.3.5 construído com Wayland-1.21.0, NetworkManager-1.42.0, pipewire-0.3.66, PulseAudio-16.1, qca-2.3.5, sassc-3.6.2, taglib-1.13 e xcb-util-cursor-0.1.4
fftw-3.3.10, gsettings-desktop-schemas-43.0, libdbusmenu-qt-0.9.3+16.04.20160218, libcanberra-0.30, libinput-1.22.1, libpcap-1.10.3, Linux-PAM-1.5.2, lm-sensors-3-6-0, oxygen-icons5-5.103.0 e pciutils-3.9.0
AccountsService-22.08.8, smartmontools-7.3 e Xwayland-22.1.8
GLU-9.0.2, ibus-1.5.27, qtwebengine-5.15.12, Controlador Synaptics do Xorg-1.9.2, appstream-qt, KDevPlatform, libgps, libhybris, libraw1394, mockcpp, packagekit-qt, Qalculate, Qapt, SCIM e socat (para o "pam_kwallet")
"qtwebengine-5.15.12" é exigido para o "aura-browser", que ainda está em estágio de desenvolvimento beta. Também é opcional para dois outros pacotes: "libksysguard" e "kdeplasma-addons". Se o "QtWebEngine" for instalado posteriormente, [então] 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 Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/kf5
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.26.5/
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
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.26.5.md5 << "EOF"
e436a039ec6b0016e5f52a71a5086ad8 kdecoration-5.26.5.tar.xz
ec10440342d3b227499b61bbf86c04ab libkscreen-5.26.5.tar.xz
a7a235a4d105eaa37c9c9923f34b7019 libksysguard-5.26.5.tar.xz
65c2bc9680f8830b1fdfc231a2923fe7 breeze-5.26.5.tar.xz
b43a9abaa1dbf083fbac92febf06ee62 breeze-gtk-5.26.5.tar.xz
2a5c3f9ddb0dd1394574c85237c6a99d layer-shell-qt-5.26.5.tar.xz
fbf3d2ff3dcfe2eb6770f18f0784b693 kscreenlocker-5.26.5.tar.xz
44db61e1b0c27d951cfc0dd45fa19947 oxygen-5.26.5.tar.xz
4a04fbf14eee03b81a5f95701758dadc kinfocenter-5.26.5.tar.xz
6b2566e536949698fcb43ecb1cb331c8 kwin-5.26.5.tar.xz
9b5ddbc03683da742ac0c03c821d9084 plasma-workspace-5.26.5.tar.xz
4c118121937c0c92ab9630b28be83aab plasma-disks-5.26.5.tar.xz
3440d7a273988cddb711ddd864ae85d7 bluedevil-5.26.5.tar.xz
75f668ce669e853565c375937ca6db3b kde-gtk-config-5.26.5.tar.xz
6e8673a19904011d79d9b8fd69890443 khotkeys-5.26.5.tar.xz
7425d8cd9889bdb327b8a8b339274aa5 kmenuedit-5.26.5.tar.xz
6f600d487eda8fd2cddf3e13c322ce78 kscreen-5.26.5.tar.xz
def2d41c607309fdb622b270833b6078 kwallet-pam-5.26.5.tar.xz
ce7b641d174973be3b944f9279609eaf kwayland-integration-5.26.5.tar.xz
eb2171403b7fbae6b257404f58fea865 kwrited-5.26.5.tar.xz
fc04856efefea7eba22064e7afdbddf7 milou-5.26.5.tar.xz
adb5371f4383332da2d7bdc643d1ba3d plasma-nm-5.26.5.tar.xz
8a277824eec12d339b9b0cec40e141da plasma-pa-5.26.5.tar.xz
5112039742fa249c6272196fd2ea9b8c plasma-workspace-wallpapers-5.26.5.tar.xz
1319507df888d5d1d1584487c72bb41c polkit-kde-agent-1-5.26.5.tar.xz
1636fa123a48123922c6bd9114601188 powerdevil-5.26.5.tar.xz
9c85a12b5fc4593ee3c9c3602b7c1fd7 plasma-desktop-5.26.5.tar.xz
297ae0e3b025e2d8a9a6b4301aed97b3 kgamma5-5.26.5.tar.xz
b34c0f8e8f00c881fa6636941a646cdf ksshaskpass-5.26.5.tar.xz
#5310bb325acaacddd75cfcc9beb720ae plasma-sdk-5.26.5.tar.xz
579e478775361bbb3499e1ec5b5011a1 sddm-kcm-5.26.5.tar.xz
4c5d0fd055f04e9104de1039fb3d19e4 discover-5.26.5.tar.xz
#4eddbae9f9e4add3637dd9fd99290047 breeze-grub-5.26.5.tar.xz
#ddbea7d8d6c6bc3953039075628de7ee breeze-plymouth-5.26.5.tar.xz
7a85cf42b67ac38e490f0749cd25496e kactivitymanagerd-5.26.5.tar.xz
235d1c02582787ff5dd825fae434e6f9 plasma-integration-5.26.5.tar.xz
a97a00137fcd4e446cbf849983bd1e64 plasma-tests-5.26.5.tar.xz
#d16a86f8aee8e7f0da084535cdccca7f plymouth-kcm-5.26.5.tar.xz
49abaee061653e65afe9ba509c6aef41 xdg-desktop-portal-kde-5.26.5.tar.xz
8ea7332f06db75e41357cfe49d893042 drkonqi-5.26.5.tar.xz
e147fcf2d2cfc030c3a5e12373e8dc29 plasma-vault-5.26.5.tar.xz
a17305d04e3f43cd2c63870e58aa1002 plasma-browser-integration-5.26.5.tar.xz
d7bf771ac16efb7b8c3c4e6a34193002 kde-cli-tools-5.26.5.tar.xz
5c9d258caff107e2d668308fbdc1b88a systemsettings-5.26.5.tar.xz
fb368c5c4ac28061a706c3558e4c4b66 plasma-thunderbolt-5.26.5.tar.xz
#ebe05c7b3b95d0dca235830ab17b8d57 plasma-nano-5.26.5.tar.xz
#cb64c2c61676c499f1807184928083c7 plasma-mobile-5.26.5.tar.xz
0ac0a579b57b76e664d172845ae06a07 plasma-firewall-5.26.5.tar.xz
d5c8bac2d756982328cd541649a7002b plasma-systemmonitor-5.26.5.tar.xz
17608c1fb4b6503193a5769f35c7f9e5 qqc2-breeze-style-5.26.5.tar.xz
146cef26a5a9b3c82d46cabd6842a07c ksystemstats-5.26.5.tar.xz
6943aba014019057384b47339bb8ed0a oxygen-sounds-5.26.5.tar.xz
#7CF5ED434a6d21fd8458f89207986b9a aura-browser-5.26.5.tar.xz
fc695034a7236fb6eab8a324216bc710 kdeplasma-addons-5.26.5.tar.xz
71fce4036d0f6a6fdc9bf5db3d47b9c9 kpipewire-5.26.5.tar.xz
26e7ae5887a56e971d2510262f9e0b55 plank-player-5.26.5.tar.xz
116e7d1a64ee17d5a31aed066709725a plasma-bigscreen-5.26.5.tar.xz
d55d570e84840440f89233c8915e5872 plasma-remotecontrollers-5.26.5.tar.xz
EOF
Os pacotes "breeze-grub", "breeze-plymouth" e "plymouth-kcm" acima são todos para suporte personalizado do "Plymouth", que foi projetado para ser executado em um disco "RAM" inicial durante a inicialização (veja-se “A respeito do initramfs”). O pacote "plasma-sdk" é opcional e usado para desenvolvimento de logiciário. O pacote "plasma-nano" é usado para sistemas embarcados e o "plasma-mobile" fornece funcionalidade de telefone para o "Plasma". O pacote "aura-browser" ainda está sob desenvolvimento beta e exige o "qtwebengine-5.15.12".
Ao instalar-se múltiplos pacotes em um "script", 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:
Executar o "script" inteiro como o(a) usuário(a) "root" (não recomendado).
Usar o comando "sudo" oriundo do pacote Sudo-1.9.13p1.
Usar su -c "argumentos do comando" (aspas exigidas) o qual solicitará a senha do(a) "root" para cada interação do "loop".
Uma maneira de se lidar com essa situação é a de criar uma função curta do "bash" que seleciona automaticamente o método apropriado. Tão logo o comando seja configurado no ambiente, ele não precisa ser novamente configurado.
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.26.5.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
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
Você consegue iniciar o "Plasma5" a partir de um "TTY", usando o "xinit-1.4.2".
Para iniciar o "Plasma 5" usando o "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").
O objetivo desta seção é o construir uma área de trabalho do "GNOME".
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gcr/3.41/gcr-3.41.1.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gcr/3.41/gcr-3.41.1.tar.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)
GLib-2.74.5, libgcrypt-1.10.1 e p11-kit-0.24.1
GnuPG-2.4.0, gobject-introspection-1.74.0, GTK+-3.24.36, libsecret-0.20.5, libxslt-1.1.37 e Vala-0.56.4
Gi-DocGen-2023.1 e Valgrind-3.20.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gcr
Instale o Gcr executando os seguintes comandos:
sed -i 's:"/desktop:"/org:' schema/*.xml && mkdir build && cd build && meson --prefix=/usr --buildtype=release -Dgtk_doc=false .. && ninja
Se você tiver o 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
--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 GTK+-3.24.36. Observe que o
gcr-viewer não será
instalado se isso for passado para o meson.
-Dgtk_doc=true
: Permite construir
esse pacote sem "Gi-DocGen-2023.1" instalado. Se tiver
"Gi-DocGen-2023.1" instalado e você
desejar reconstruir e instalar a documentação da "API",
[então] um comando "meson
configure" reconfigurará essa opção.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gcr/4.0/gcr-4.0.0.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gcr/4.0/gcr-4.0.0.tar.xz
Soma de verificação MD5 da transferência: 836cd6d1cf57b2e0e9df40f6980fdb99
Tamanho da transferência: 700 KB
Espaço em disco estimado exigido: 25 MB (com os testes)
Tempo de construção estimado: 0,2 UPC (com testes; ambos usando paralelismo=4)
GLib-2.74.5, libgcrypt-1.10.1 e p11-kit-0.24.1
GnuPG-2.4.0, gobject-introspection-1.74.0, GTK-4.8.3, libsecret-0.20.5, libxslt-1.1.37 e Vala-0.56.4
Gi-DocGen-2023.1 e Valgrind-3.20.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gcr
Ambos, gcr-3 e gcr-4, são co instaláveis. Essa versão do pacote é usada para suportar aplicativos GTK-4, como o gnome-shell-43.3.
Instale o Gcr executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release -Dgtk_doc=false .. && ninja
Se você tiver o Gi-DocGen-2023.1 instalado e desejar construir a documentação da API para esse pacote, emita:
sed -e "/install_dir/s@,\$@ / 'gcr-4.0.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
--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 GTK-4.8.3. Observe que o gcr-viewer não será instalado se isso
for passado para o meson.
-Dgtk_doc=true
: Permite construir
esse pacote sem "Gi-DocGen-2023.1" instalado. Se tiver
"Gi-DocGen-2023.1" instalado e você
desejar reconstruir e instalar a documentação da "API",
[então] um comando "meson
configure" reconfigurará essa opção.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gsettings-desktop-schemas/43/gsettings-desktop-schemas-43.0.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gsettings-desktop-schemas/43/gsettings-desktop-schemas-43.0.tar.xz
Soma de verificação MD5 da transferência: 38f3f153be78402cbd18e3d4b44ba0fa
Tamanho da transferência: 720 KB
Espaço em disco estimado exigido: 20 MB
Tempo de construção estimado: menos que 0,1 UPC
GLib-2.74.5 e gobject-introspection-1.74.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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 --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
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
sed ... schemas/*.in: Esse comando corrige algumas entradas obsoletas nos modelos de esquema.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/libsecret/0.20/libsecret-0.20.5.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/libsecret/0.20/libsecret-0.20.5.tar.xz
Soma de verificação MD5 da transferência: 5c9e5a011852c82fa9ed9e61ba91efb5
Tamanho da transferência: 184 KB
Espaço em disco estimado exigido: 11 MB (com os testes)
Tempo de construção estimado: 0,3 UPC (com os testes)
gobject-introspection-1.74.0, libgcrypt-1.10.1 e Vala-0.56.4
Gi-DocGen-2023.1 e docbook-xml-4.5, docbook-xsl-nons-1.79.2, libxslt-1.1.37 (para construir páginas de manual) e Valgrind-3.20.0 (pode ser usado em testes)
D-Bus Python-1.3.2, Gjs-1.74.1, PyGObject-3.42.2 (módulo do Python 3) e tpm2-tss
Qualquer pacote que exija a libsecret espera que o GNOME Keyring esteja presente em tempo de execução.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libsecret
Instale o libsecret executando os seguintes comandos:
mkdir bld && cd bld && meson --prefix=/usr --buildtype=release -Dgtk_doc=false .. && ninja
Se você tiver o 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.
Se o gi-docgen estiver instalado e o -Dgtk_doc=false
tiver sido removido, como
o(a) usuário(a) root
, emita o
seguinte comando para corrigir o nome do diretório de
documentação instalado:
mv -v /usr/share/doc/libsecret-{1,0.20.5}
--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 "Gi-DocGen-2023.1"
instalado. Se tiver "Gi-DocGen-2023.1" instalado e você
desejar reconstruir e instalar a documentação da "API",
[então] um comando "meson
configure" reconfigurará essa opção.
-Dmanpage=false
: Use essa chave
se você não tiver instalado os pacotes libxslt-1.1.37 e
DocBook.
-Dgcrypt=false
: Use essa chave se
você não tiver instalado a dependência recomendada da
libgcrypt-1.10.1.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/rest/0.9/rest-0.9.1.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/rest/0.9/rest-0.9.1.tar.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)
JSON-GLib-1.6.6, libsoup-3.2.2 e make-ca-1.12
Gi-DocGen-2023.1, libadwaita-1.2.2 e gtksourceview5-5.6.2 (para construir a demonstração) e Vala-0.56.4
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/rest
Instale o rest executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr \ --buildtype=release \ -Dexamples=false \ -Dgtk_doc=false .. && ninja
Se você tiver o 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
--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 "Gi-DocGen-2023.1"
instalado. Se tiver "Gi-DocGen-2023.1" instalado e você
desejar reconstruir e instalar a documentação da "API",
[então] um comando "meson
configure" reconfigurará essa opção.
-Dexamples=false
:
Remova essa opção se libadwaita-1.2.2 e gtksourceview5-5.6.2 estiverem
instalados e você desejar construir o aplicativo de
demonstração fornecido por esse pacote.
-Dvapi=true
: Use essa chave se
Vala-0.56.4 estiver instalado e você
desejar construir as ligações Vala fornecidas por esse
pacote.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/totem-pl-parser/3.26/totem-pl-parser-3.26.6.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/totem-pl-parser/3.26/totem-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)
gobject-introspection-1.74.0, libarchive-3.6.2 e libgcrypt-1.10.1
CMake-3.25.2, GTK-Doc-1.33.2, Gvfs-1.50.3 (para alguns testes), LCOV e libquvi >= 0.9.1 e libquvi-scripts - se eles estiverem instalados, então lua-socket (git) é necessário para os testes
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/totem-pl-parser
Instale o Totem PL Parser executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release .. && ninja
Para testar os resultados, emita: ninja test.
Agora, como o(a) usuário(a) root
:
ninja install
--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.
O pacote VTE contém uma implementação de arquivo termcap para emuladores de terminal.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://gitlab.gnome.org/GNOME/vte/-/archive/0.70.3/vte-0.70.3.tar.gz
Soma de verificação MD5 da transferência: 86d2b49dcb1d05b489d228892b49c28a
Tamanho da transferência: 616 KB
Espaço em disco estimado exigido: 14 MB (com os testes)
Tempo de construção estimado: 0,4 UPC (usando paralelismo = 4; com os testes)
GTK+-3.24.36, libxml2-2.10.3 e pcre2-10.42
ICU-72.1, GnuTLS-3.8.0, gobject-introspection-1.74.0 e Vala-0.56.4
FriBidi-1.0.12, Gi-DocGen-2023.1 e GTK-4.8.3
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/vte
Instale o VTE executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release -Dfribidi=false .. && ninja
Se você tiver o Gi-DocGen-2023.1 instalado e desejar construir a documentação da API para esse pacote, emita:
sed -e "/docdir =/s@\$@/ 'vte-0.70.3'@" \ -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.*
--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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/yelp-xsl/42/yelp-xsl-42.1.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/yelp-xsl/42/yelp-xsl-42.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
libxslt-1.1.37 e itstool-2.0.7
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/GConf/3.2/GConf-3.2.6.tar.xz
Transferência (FTP): 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
dbus-glib-0.112 e libxml2-2.10.3
gobject-introspection-1.74.0, GTK+-3.24.36 e Polkit-122
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--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.
/usr/lib/gio/modules
)
mescla uma hierarquia de sistema de arquivos XML |
|
é uma ferramenta de linha de comando usada para manipular a base de dados do GConf |
|
lê valores da base de dados de usuários(as) do GConf e os armazena em GSettings |
|
converte entre os formatos de arquivo de esquema GConf e GSettings |
|
fornece as funções necessárias para manter a base de dados de configuração |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/geocode-glib/3.26/geocode-glib-3.26.4.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/geocode-glib/3.26/geocode-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)
JSON-GLib-1.6.6 e libsoup-3.2.2
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/geocode-glib
Instale o Geocode GLib executando os seguintes comandos:
mkdir build && cd build && meson --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
--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 GTK-Doc-1.33.2. Remova
esse parâmetro se o 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.
Gjs é um conjunto de ligações Javascript para GNOME.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gjs/1.74/gjs-1.74.1.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gjs/1.74/gjs-1.74.1.tar.xz
Soma de verificação MD5 da transferência: f82d0acac0c750ce5298a2d4789af401
Tamanho da transferência: 624 KB
Espaço em disco estimado exigido: 239 MB (com os testes)
Tempo de construção estimado: 1,1 UPC (com os testes)
Cairo-1.17.6, dbus-1.14.6, gobject-introspection-1.74.0 e JS-102.8.0
sysprof-3.46.0, Valgrind-3.20.0 (para testes), DTrace, LCOV e Systemtap
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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. Os testes GTK e Cairo falharão se não executarem em uma sessão do Xorg. Quatro testes são conhecidos por atingirem o tempo limite.
Agora, como o(a) usuário(a) root
:
ninja install
--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 sysprof-3.46.0 estiver instalado.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gnome-autoar/0.4/gnome-autoar-0.4.3.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-autoar/0.4/gnome-autoar-0.4.3.tar.xz
Soma de verificação MD5 da transferência: fa664dd9735297c517d6aa9417b3d3e8
Tamanho da transferência: 52 KB
Espaço em disco estimado exigido: 2,8 MB
Tempo de construção estimado: 0,1 UPC
libarchive-3.6.2 e GTK+-3.24.36
GTK-Doc-1.33.2 (para construir documentação)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gnome-autoar
Instale o gnome-autoar executando os seguintes comandos:
mkdir build && cd build && meson --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
--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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gnome-desktop/43/gnome-desktop-43.2.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-desktop/43/gnome-desktop-43.2.tar.xz
Soma de verificação MD5 da transferência: 67633ecdb274f8a58e072c0134a47d25
Tamanho da transferência: 748 KB
Espaço em disco estimado exigido: 24 MB
Tempo de construção estimado: 0,2 UPC
gsettings-desktop-schemas-43.0, GTK+-3.24.36, GTK-4.8.3, ISO Codes-4.12.0, itstool-2.0.7, libseccomp-2.5.4, libxml2-2.10.3 e xkeyboard-config-2.38
bubblewrap-0.7.0 (necessário para miniaturizadores no Nautilus) e gobject-introspection-1.74.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gnome-desktop
Instale o GNOME Desktop executando os seguintes comandos:
mkdir build && cd build && meson --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
--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.
O pacote GNOME Menus contém
uma implementação do rascunho 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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gnome-menus/3.36/gnome-menus-3.36.0.tar.xz
Transferência (FTP): 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
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
O pacote GNOME Video Effects contém uma coleção de efeitos GStreamer.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gnome-video-effects/0.5/gnome-video-effects-0.5.0.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-video-effects/0.5/gnome-video-effects-0.5.0.tar.xz
Soma de verificação MD5 da transferência: 0c81bfafa7fc5c88cb0834d0026ad001
Tamanho da transferência: 84 KB
Espaço em disco estimado exigido: 1,5 MB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gnome-video-effects
Instale o GNOME Video Effects executando os seguintes comandos:
mkdir build && cd build && meson --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
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gnome-online-accounts/3.46/gnome-online-accounts-3.46.0.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-online-accounts/3.46/gnome-online-accounts-3.46.0.tar.xz
Soma de verificação MD5 da transferência: 018a7d08ec2522e472c44da2e24f3429
Tamanho da transferência: 372 KB
Espaço em disco estimado exigido: 16 MB
Tempo de construção estimado: 0,2 UPC
Gcr-3.41.1, JSON-GLib-1.6.6, rest-0.9.1, Vala-0.56.4 e WebKitGTK-2.38.5
GTK-Doc-1.33.2, MIT Kerberos V5-1.20.1 e Valgrind-3.20.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gnome-online-accounts
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 https://www.chromium.org/developers/how-tos/api-keys.
Instale o GNOME Online Accounts executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr \ --buildtype=release \ -Dkerberos=false \ -Dgoogle_client_secret=5ntt6GbbkjnTVXx-MSxbmx5e \ -Dgoogle_client_id=595013732528-llk8trb03f0ldpqq6nprjp1s79596646.apps.googleusercontent.com && ninja
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
ninja install
--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 GTK-Doc-1.33.2 instalado e desejar gerar
a documentação da API.
-Dkerberos=true
: Use essa chave
se você tiver instalado o MIT Kerberos V5-1.20.1 e
deseja usá-lo com o GNOME Online
Accounts.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/grilo/0.3/grilo-0.3.15.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/grilo/0.3/grilo-0.3.15.tar.xz
Soma de verificação MD5 da transferência: df4e68e2bba461f0aed61874d8e4e05a
Tamanho da transferência: 236 KB
Espaço em disco estimado exigido: 16 MB (com os testes)
Tempo de construção estimado: 0,5 UPC (com os testes)
gobject-introspection-1.74.0, GTK+-3.24.36, libsoup-3.2.2, totem-pl-parser-3.26.6 e Vala-0.56.4
DocBook-utils-0.6.14, liboauth-1.0.3 e GTK-Doc-1.33.2
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/grilo
Instale o Grilo executando os seguintes comandos:
mkdir build && cd build && meson --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
--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
GTK-Doc-1.33.2 instalado e desejar gerar
documentação, remova essa opção.
é um aplicativo simples de recreio que você consegue usar para testar a estrutura essencial de suporte e plugins dela |
|
é uma ferramenta que imprime informações a respeito das fontes disponíveis Grilo |
|
é uma ferramenta para executar operações Grilo a partir da linha de comando |
|
fornece a estrutura essencial de suporte Grilo |
|
fornece ajudantes de rede de intercomunicação Grilo para plug-ins |
|
fornece funções de manuseio de lista de reprodução |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/libchamplain/0.12/libchamplain-0.12.21.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/libchamplain/0.12/libchamplain-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
clutter-gtk-1.8.4, GTK+-3.24.36, libsoup-3.2.2 e SQLite-3.40.1
gobject-introspection-1.74.0 e Vala-0.56.4
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libchamplain
Instale o libchamplain executando os seguintes comandos:
mkdir build && cd build && meson --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
--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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/libgdata/0.18/libgdata-0.18.1.tar.xz
Transferência (FTP): 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)
libsoup-2.74.3, gnome-online-accounts-3.46.0, GTK+-3.24.36, JSON-GLib-1.6.6 e Vala-0.56.4
Gcr-3.41.1 e gobject-introspection-1.74.0
GTK-Doc-1.33.2 (para documentação), liboauth-1.0.3 (para suporte a OAuth v1) e uhttpmock-0.5.3 (exigido para testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libgdata
Instale o libgdata executando os seguintes comandos:
mkdir build && cd build && meson --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 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
--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 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 liboauth-1.0.3 instalado para a
finalidade de habilitar essa opção.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/libgee/0.20/libgee-0.20.6.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/libgee/0.20/libgee-0.20.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)
gobject-introspection-1.74.0 e Vala-0.56.4
Vala-0.56.4 (com Valadoc) e LCOV
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
O pacote libgtop contém as principais bibliotecas do GNOME.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/libgtop/2.40/libgtop-2.40.0.tar.xz
Transferência (FTP): 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
GLib-2.74.5 e Bibliotecas do Xorg
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
--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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/libgweather/4.2/libgweather-4.2.0.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/libgweather/4.2/libgweather-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)
geocode-glib-3.26.4, GTK+-3.24.36, libsoup-3.2.2 e PyGObject-3.42.2
gobject-introspection-1.74.0, libxml2-2.10.3 e Vala-0.56.4
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),
LLVM-15.0.7 (para formato clang) e
pylint
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libgweather
Instale o libgweather executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release -Dgtk_doc=false .. && ninja
Se você tiver o 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.
--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 "Gi-DocGen-2023.1"
instalado. Se tiver "Gi-DocGen-2023.1" instalado e você
desejar reconstruir e instalar a documentação da "API",
[então] um comando "meson
configure" reconfigurará essa opção.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/libpeas/1.34/libpeas-1.34.0.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/libpeas/1.34/libpeas-1.34.0.tar.xz
Soma de verificação MD5 da transferência: 8f71eec16b5c5da2a6ee37ecc5491eb9
Tamanho da transferência: 192 KB
Espaço em disco estimado exigido: 9,4 MB (com os testes)
Tempo de construção estimado: 0,2 UPC (com os testes)
gobject-introspection-1.74.0 e GTK+-3.24.36
libxml2-2.10.3 e PyGObject-3.42.2
Gi-DocGen-2023.1, Glade, embed, LGI (para ligações LUA, construído com LUA-5.1), com ou luajit ou LUA-5.1
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libpeas
Instale o libpeas executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release --wrap-mode=nofallback .. && ninja
Se você tiver o Gi-DocGen-2023.1 instalado e desejar construir a documentação da API para esse pacote, emita:
sed "/docs_dir =/s@\$@/ 'libpeas-1.34.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
--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.
O pacote libshumate contém uma pequena engenhoca GTK-4 para exibir mapas.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/libshumate/1.0/libshumate-1.0.3.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/libshumate/1.0/libshumate-1.0.3.tar.xz
Soma de verificação MD5 da transferência: 965866eb1b2d0237d71294c68bf8ae05
Tamanho da transferência: 112 KB
Espaço em disco estimado exigido: 5,3 MB
Tempo de construção estimado: 0,1 UPC
Gi-DocGen-2023.1 e GTK-Doc-1.33.2
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libshumate
Instale o libshumate executando os seguintes comandos:
mkdir build && cd build && meson --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
--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 desabilita a geração de documentação. Remova isso se
você tiver GTK-Doc-1.33.2 e Gi-DocGen-2023.1
instalados e desejar gerar a documentação da API.
O pacote libwnck contém o Window Navigator Construction Kit.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/libwnck/43/libwnck-43.0.tar.xz
Transferência (FTP): 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
gobject-introspection-1.74.0 e startup-notification-0.12
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libwnck
Instale o libwnck executando os seguintes comandos:
mkdir build && cd build && meson --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
--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.
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/evolution-data-server/3.46/evolution-data-server-3.46.4.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/evolution-data-server/3.46/evolution-data-server-3.46.4.tar.xz
Soma de verificação MD5 da transferência: 45a022d2460ca032581909eb09b308ec
Tamanho da transferência: 4,7 MB
Espaço em disco estimado exigido: 244 MB (com os testes)
Tempo de construção estimado: 0,6 UPC (usando paralelismo=4, adicionar 0,2 UPC para testes)
libical-3.0.16, libsecret-0.20.5, nss-3.88.1 e SQLite-3.40.1
gnome-online-accounts-3.46.0, gobject-introspection-1.74.0, GTK+-3.24.36, ICU-72.1, libcanberra-0.30, libgweather-4.2.0, Vala-0.56.4 e WebKitGTK-2.38.5
Base de Dados Berkeley-5.3.28, GTK-Doc-1.33.2, MIT Kerberos V5-1.20.1, um MTA (que forneça um comando sendmail), OpenLDAP-2.6.4 e libphonenumber
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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 \ -DENABLE_OAUTH2_WEBKITGTK4=OFF \ .. && make
Agora, como o(a) usuário(a) root
:
make install
Para testar os resultados, emita: make test.
-DENABLE_VALA_BINDINGS=ON
: Essa
chave permite construir as ligações Vala. Remova se você não
tiver Vala-0.56.4 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 Base de
Dados Berkeley-5.3.28. Esse pacote somente usa Base
de Dados Berkeley-5.3.28 para importar dados originários
de lançamentos muito desatualizados. SQLite-3.40.1 é usado
para operação normal.
-DENABLE_OAUTH2_WEBKITGTK4=OFF
:
Essa chave contorna um problema em que a versão gtk-4 do
WebKit seria necessária para mostrar solicitações de login do
OAuth2.
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.
é a biblioteca de manuseio de mensagens MIME do Evolution |
|
é a biblioteca de utilitários para estruturas de retaguarda do Evolution Data Server |
|
é a biblioteca cliente para catálogos de endereços do Evolution |
|
é a biblioteca cliente para contatos do Evolution |
|
é a biblioteca cliente para calendários do Evolution |
|
é a biblioteca de estrutura de retaguarda para catálogos de endereços do Evolution |
|
é a biblioteca de estrutura de retaguarda para calendários do Evolution |
|
é a biblioteca de utilitários para o Evolution Data Server |
|
é a biblioteca de utilitários de GUI para o Evolution Data Server |
|
é a biblioteca de utilitários de GUI baseada em GTK-4 para o Evolution Data Server |
|
é a biblioteca de utilitários de teste de servidor para o Evolution Data Server |
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/tracker/3.4/tracker-3.4.2.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/tracker/3.4/tracker-3.4.2.tar.xz
Soma de verificação MD5 da transferência: 161d074eeae05dffc77911f12cf5ec14
Tamanho da transferência: 1,8 MB
Espaço em disco estimado exigido: 34 MB (com os testes)
Tempo de construção estimado: 0,3 UPC (com os testes)
JSON-GLib-1.6.6, libseccomp-2.5.4 e Vala-0.56.4
gobject-introspection-1.74.0, ICU-72.1, libsoup-3.2.2, PyGObject-3.42.2, SQLite-3.40.1 e tracker-miners-3.4.3 (tempo de execução)
asciidoc-10.2.0, GTK-Doc-1.33.2, libsoup-2.74.3, bash-completion e libstemmer
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/tracker3
Instale o Tracker executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr \ --buildtype=release \ -Ddocs=false \ -Dman=false .. && ninja
Para testar os resultados, emita: ninja test. Os testes deveriam ser executados a partir de uma sessão gráfica.
Agora, como o(a) usuário(a) root
:
ninja install
--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
: Essa
chave impede que o processo de construção gere documentação
da API. Omita essa chave se você tiver o GTK-Doc-1.33.2
instalado e desejar gerar e instalar a documentação da API.
-Dman=false
: Essa
chave evita que o processo de construção gere páginas de
manual. Omita essa chave se você tiver o asciidoc-10.2.0
instalado e desejar gerar e instalar as páginas de manual.
O pacote Tracker-miners contém um conjunto de extratores de dados para o Tracker.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/tracker-miners/3.4/tracker-miners-3.4.3.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/tracker-miners/3.4/tracker-miners-3.4.3.tar.xz
Soma de verificação MD5 da transferência: 12978674553320dc90c283dbd2605b1d
Tamanho da transferência: 6,9 MB
Espaço em disco estimado exigido: 31 MB (com os testes)
Tempo de construção estimado: 0,4 UPC (com paralelismo=4; adicionar 1,0 UPC para testes, dependente da velocidade do disco)
gst-plugins-base-1.22.0, Tracker-3.4.2, Exempi-2.6.3 e gexiv2-0.14.0
giflib-5.2.1, gst-plugins-base-1.22.0, gst-plugins-good-1.22.0 (tempo de execução), gst-libav-1.22.0 (tempo de execução), ICU-72.1, libexif-0.6.24, libgrss-0.7.0, libgxps-0.3.2, libseccomp-2.5.4 e Poppler-23.02.0
asciidoc-10.2.0, CMake-3.25.2, DConf-0.40.0, FFmpeg-5.1.2, libgsf-1.14.50, taglib-1.13, totem-pl-parser-3.26.6, UPower-1.90.0, libcue, libitpcdata, libosinfo e gupnp
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/tracker-miners
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 --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
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
--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 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.
O pacote gsound contém uma pequena biblioteca para reproduzir sons do sistema.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gsound/1.0/gsound-1.0.3.tar.xz
Transferência (FTP): 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
gobject-introspection-1.74.0 e Vala-0.56.4
GTK-Doc-1.33.2 (para gerar documentação)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gsound
Instale o gsound executando os seguintes comandos:
mkdir build && cd build && meson --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
--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.
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 GLib-2.74.5 fornece funcionalidade semelhante na linha de comando.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/dconf/0.40/dconf-0.40.0.tar.xz
Transferência (FTP): 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ência (HTTP): https://download.gnome.org/sources/dconf-editor/43/dconf-editor-43.0.tar.xz
Transferência (FTP): 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
dbus-1.14.6, GLib-2.74.5, GTK+-3.24.36 (para o editor), libhandy-1.8.1 (para o editor) e libxml2-2.10.3 (para o editor)
GTK-Doc-1.33.2 e bash-completion
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/dconf
Instale o DConf executando os seguintes comandos:
mkdir build && cd build && meson --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 --prefix=/usr --buildtype=release .. && ninja
Como o(a) usuário(a) root
:
ninja install
--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.
/usr/lib/gio/modules
)
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gnome-backgrounds/43/gnome-backgrounds-43.1.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-backgrounds/43/gnome-backgrounds-43.1.tar.xz
Soma de verificação MD5 da transferência: cf42304d1fa64b4cce8c8c64e98ae5bb
Tamanho da transferência: 32 MB
Espaço em disco estimado exigido: 63 MB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gnome-backgrounds
Instale o GNOME Backgrounds executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr ..
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
ninja install
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 adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gvfs/1.50/gvfs-1.50.3.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gvfs/1.50/gvfs-1.50.3.tar.xz
Soma de verificação MD5 da transferência: 052ef17215d1ff52640713297d4d4f5e
Tamanho da transferência: 1,2 MB
Espaço em disco estimado exigido: 33 MB
Tempo de construção estimado: 0,1 UPC (usando paralelismo = 4)
dbus-1.14.6, GLib-2.74.5, libusb-1.0.26 e libsecret-0.20.5
Gcr-3.41.1, GTK+-3.24.36, libcdio-2.1.0, libgdata-0.18.1, libgudev-237, libsoup-3.2.2, Systemd-252 e UDisks-2.9.4
Apache-2.4.55, Avahi-0.8, BlueZ-5.66, Fuse-3.13.1, gnome-online-accounts-3.46.0, GTK-Doc-1.33.2, libarchive-3.6.2, libgcrypt-1.10.1, libxml2-2.10.3, libxslt-1.1.37, OpenSSH-9.2p1, Samba-4.17.5, libbluray, libgphoto2, libimobiledevice, libmtp, libnfs e Twisted
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/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
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
ninja install
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
--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<option>=false
: Essas
chaves são exigidas se a dependência correspondente não
estiver instalada. Remova aquelas onde você tiver instalado o
aplicativo correspondente e desejar usá-lo com o Gvfs. A opção dnssd exige avahi e,
ambos, goa e google exigem GNOME Online Accounts. A opção
google também exige libgdata.
-Dcdda=false
: Essa chave é
exigida se a libcdio não estiver instalada. A estrutura de
retaguarda cdda é inútil em máquinas sem uma unidade de
CDROM/DVD.
gexiv2 é um envolucrador baseado em GObject em torno da biblioteca Exiv2.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gexiv2/0.14/gexiv2-0.14.0.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gexiv2/0.14/gexiv2-0.14.0.tar.xz
Soma de verificação MD5 da transferência: b4b1ac55bf9d32fb36a35eb346e1728e
Tamanho da transferência: 380 KB
Espaço em disco estimado exigido: 3,4 MB
Tempo de construção estimado: 0,1 UPC
GTK-Doc-1.33.2 (para documentação)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gexiv2
Instale o gexiv2 executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release .. && ninja
Para testar os resultados, execute ninja test.
Como o(a) usuário(a) root
:
ninja install
--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.
O pacote Nautilus contém o gerenciador de arquivos do GNOME.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/nautilus/43/nautilus-43.2.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/nautilus/43/nautilus-43.2.tar.xz
Soma de verificação MD5 da transferência: c563e92d7904b2f2b5777105f865163f
Tamanho da transferência: 3,0 MB
Espaço em disco estimado exigido: 110 MB (com os testes)
Tempo de construção estimado: 0,7 UPC (com testes, ambos usando paralelismo=4)
bubblewrap-0.7.0, gexiv2-0.14.0, gnome-autoar-0.4.3, gnome-desktop-43.2, libadwaita-1.2.2, libcloudproviders-0.3.1, libnotify-0.8.1, libportal-0.6, libseccomp-2.5.4 e Tracker-3.4.2
desktop-file-utils-0.26, Exempi-2.6.3, gobject-introspection-1.74.0, gst-plugins-base-1.22.0 e libexif-0.6.24
adwaita-icon-theme-43 e Gvfs-1.50.3 (Para plugagem a quente e montagem de dispositivos funcionem)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/nautilus
Corrija o local para instalar a documentação da API:
sed "/docdir =/s@\$@ / 'nautilus-43.2'@" -i meson.build
Instale o Nautilus executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr \ --buildtype=release \ -Dselinux=false \ -Dpackagekit=false \ .. && ninja
Para testar os resultados, emita: ninja test. Os testes precisam ser executados em um ambiente gráfico. Um teste é conhecido por falhar se o tracker-miners-3.4.3 não estiver instalado.
Agora, como o(a) usuário(a) root
:
ninja install
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
--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.
-Dselinux=false
: Essa
chave desabilita o uso do selinux que não é suportado pelo
BLFS.
-Dpackagekit=false
:
Essa chave desabilita o uso do PackageKit que não é adequado
para o BLFS.
O pacote GNOME Bluetooth contém ferramentas para gerenciar e manipular dispositivos Bluetooth usando a Área de Trabalho do GNOME.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gnome-bluetooth/42/gnome-bluetooth-42.5.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-bluetooth/42/gnome-bluetooth-42.5.tar.xz
Soma de verificação MD5 da transferência: 686d360ba843521db42da02a552b045f
Tamanho da transferência: 300 KB
Espaço em disco estimado exigido: 14 MB (com os testes)
Tempo de construção estimado: 0,1 UPC (Usando paralelismo=4, com testes)
GTK-4.8.3, gsound-1.0.3, itstool-2.0.7, libnotify-0.8.1 e UPower-1.90.0
gobject-introspection-1.74.0 e libadwaita-1.2.2
GTK-Doc-1.33.2 e dbusmock-0.28.7
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gnome-bluetooth
Instale o GNOME Bluetooth executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release .. && ninja
Para testar os resultados, emita: ninja test.
Agora, como o(a) usuário(a) root
:
ninja install
--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.
O pacote GNOME Keyring contém um processo de segundo plano que mantém senhas e outros segredos para usuários(as).
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gnome-keyring/42/gnome-keyring-42.1.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-keyring/42/gnome-keyring-42.1.tar.xz
Soma de verificação MD5 da transferência: 8728a6d344f29c545d9d31cb5c708f14
Tamanho da transferência: 1,3 MB
Espaço em disco estimado exigido: 116 MB
Tempo de construção estimado: 0,2 UPC (Usando paralelismo=4; adicionar 0,3 UPC para testes)
Linux-PAM-1.5.2, libxslt-1.1.37 e OpenSSH-9.2p1
LCOV, libcap-ng, GnuPG-2.4.0 e Valgrind-3.20.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gnome-keyring
Instale o GNOME Keyring executando os seguintes comandos:
sed -i 's:"/desktop:"/org:' schema/*.xml && ./configure --prefix=/usr \ --sysconfdir=/etc && make
Um endereço de barramento de sessão é necessário para executar os testes. Para testar os resultados, emita: make check.
Agora, como o(a) usuário(a) root
:
make install
sed ... schema/*.xml: Esse comando corrige uma entrada obsoleta no modelo de esquema.
O GNOME Settings Daemon é responsável por configurar vários parâmetros de uma Sessão do GNOME e dos aplicativos que executam sob ela.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gnome-settings-daemon/43/gnome-settings-daemon-43.0.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-settings-daemon/43/gnome-settings-daemon-43.0.tar.xz
Soma de verificação MD5 da transferência: eea402f0a87aea7f4d8428af3917fb0c
Tamanho da transferência: 1,4 MB
Espaço em disco estimado exigido: 45 MB
Tempo de construção estimado: 0,1 UPC (Usando paralelismo=4)
alsa-lib-1.2.8, colord-1.4.6, Fontconfig-2.14.2, Gcr-4.0.0, GeoClue-2.7.0, geocode-glib-3.26.4, gnome-desktop-43.2, Little CMS-2.14, libcanberra-0.30, libgweather-4.2.0, libnotify-0.8.1, libwacom-2.6.0, PulseAudio-16.1, Systemd-252 e UPower-1.90.0
ALSA-1.2.7, Cups-2.4.2, NetworkManager-1.42.0, nss-3.88.1 e Wayland-1.21.0
As dependências recomendadas não são estritamente exigidas para esse pacote construir e funcionar, mas você possivelmente não obtenha os resultados esperados em tempo de execução se não as instalar.
gnome-session-43.0, Mutter-43.3, dbusmock-0.28.7, umockdev-0.17.16 e Xvfb (para testes, originário de Xorg-Server-21.1.7 ou Xwayland-22.1.8)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gnome-settings-daemon
Instale o Gnome Settings Daemon executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release .. && ninja
Para verificar os resultados, execute: ninja test. Observe que você precisa ter o python-dbusmock instalado para a finalidade de que os testes completem com sucesso. Alguns testes possivelmente falhem dependendo do sistema init em uso.
Agora, como o(a) usuário(a) root
:
ninja install
--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.
O pacote GNOME Control Center contém o gerenciador de configurações do GNOME.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gnome-control-center/43/gnome-control-center-43.4.1.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-control-center/43/gnome-control-center-43.4.1.tar.xz
Soma de verificação MD5 da transferência: 820ce9df303b8beeb7257457cdca16b0
Tamanho da transferência: 5,5 MB
Espaço em disco estimado exigido: 145 MB (com os testes)
Tempo de construção estimado: 0,6 UPC (Usando paralelismo=4; com testes)
AccountsService-22.08.8, colord-gtk-0.3.0, gnome-online-accounts-3.46.0, gnome-settings-daemon-43.0, gsound-1.0.3, libgtop-2.40.0, libpwquality-1.4.5, MIT Kerberos V5-1.20.1, shared-mime-info-2.2 e UDisks-2.9.4
Cups-2.4.2 e Samba-4.17.5 (para o Painel de Impressoras), gnome-bluetooth-42.5, ibus-1.5.27, libadwaita-1.2.2 e ModemManager-1.18.12 e libnma-1.10.6 (para o Painel de Rede de Intercomunicação)
Xvfb (originário de Xorg-Server-21.1.7 ou Xwayland-22.1.8) e dbusmock-0.28.7 (ambos para testes)
cups-pk-helper-0.2.7 (painel de impressoras), gnome-color-manager-3.36.0 (painel de cores), gnome-shell-43.3 (painel Aplicativos) e sound-theme-freedesktop-0.8 (Efeitos Sonoros Adicionais no painel Som)
As dependências recomendadas não são estritamente exigidas para esse pacote construir e funcionar, mas você possivelmente não obtenha os resultados esperados em tempo de execução se não as instalar.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gnome-control-center
Se atualizar a partir do gnome-control-center-41 ou
anterior, remova um arquivo da área de trabalho que
resultaria em entradas duplicadas de menu. Como o(a)
usuário(a) root
:
rm -f /usr/share/applications/gnome-control-center.desktop
Instale o GNOME Control Center executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release .. && ninja
Para testar os resultados, emita: GTK_A11Y=none ninja test. Observe que você precisa ter o módulo python-dbusmock instalado para a finalidade de que os testes completem com sucesso.
Agora, como o(a) usuário(a) root
:
ninja install
--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.
-Dibus=false
: Use essa chave se
você não tiver instalado a dependência recomendada do
IBus.
Mutter é o gerenciador de janelas para o GNOME. Ele não é invocado diretamente, mas a partir da Sessão GNOME (em uma máquina com um controlador de vídeo acelerado por hardware).
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/mutter/43/mutter-43.3.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/mutter/43/mutter-43.3.tar.xz
Soma de verificação MD5 da transferência: aba8f5170a27fe7d24f07a3b2fdf2725
Tamanho da transferência: 2,7 MB
Espaço em disco estimado exigido: 151 MB (sem testes)
Tempo de construção estimado: 0,6 UPC (Usando paralelismo=4, adicionar 1,0 UPC para testes)
gnome-settings-daemon-43.0, graphene-1.10.8, libxcvt-0.1.2, libxkbcommon-1.5.0 e pipewire-0.3.66
desktop-file-utils-0.26, gobject-introspection-1.74.0, startup-notification-0.12 e sysprof-3.46.0
libinput-1.22.1, Wayland-1.21.0, wayland-protocols-1.31 e Xwayland-22.1.8. Adicionalmente, GTK+-3.24.36 precisa ser construído com suporte a Wayland.
dbusmock-0.28.7 (exigido para testes), Xorg-Server-21.1.7 (para sessões X11)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/mutter
Instale o Mutter executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=debugoptimized -Dtests=false .. && ninja
A suíte de teste exige que funções de depuração estejam
habilitadas na construção e um aplicativo externo chamado
xvfb-run. Se
desejar executar os testes, você deveria baixá-lo e
instalá-lo antes de executar o meson. Você pode obtê-lo a
partir de xvfb-run
e instalá-lo com permissões executáveis em /usr/bin
. xvfb-run precisa de
Xvfb em tempo
de execução, e Xvfb pode ser instalado a
partir de Xorg-Server-21.1.7 ou Xwayland-22.1.8. Você também deveria
substituir -Dtests=false
no comando
meson por
-Dtests=true
. A suíte
de teste exige que o esquema mutter esteja instalado no
sistema, de forma que é melhor executar os testes depois de
instalar o pacote.
Você também pode testar funções básicas do Mutter seguindo “Iniciando o Mutter”, depois de instalá-lo.
Agora, como o(a) usuário(a) root
:
ninja install
Se você deseja executar os testes, remova a referência ao Zenity, que não faz parte do BLFS, de um teste:
sed 's/zenity --[a-z]*/gtk3-demo/' -i ../src/tests/x11-test.sh
Agora execute a suíte de teste:
HOME= ninja test
Os testes exigem uma sessão ativa do X ou wayland. O teste
native-unit
é conhecido por
falhar. Muitos testes falharão se a renderização do opengl
não for feita no hardware. Não faça nenhuma entrada de mouse
ou teclado enquanto a suíte de teste estiver executando ou
alguns testes poderão falhar.
--buildtype=debugoptimized
:
Substitui o tipo de construção padrão (“debug”), o que
produziria binários não otimizados. É usado em vez de
--buildtype=release
para
contornar um problema que causa o travamento do gnome-shell.
-Dtests=false
: Impede
a construção dos testes e remove um requisito difícil em
xvfb-run.
-Dprofiler=false
: Use essa opção
se o Sysprof não estiver
instalado e você não quiser que o meson baixe o código fonte
do Sysprof.
Mutter normalmente é usado como um componente do gnome-shell, mas também pode ser usado como um compositor autônomo Wayland. Para executar Mutter como um compositor Wayland, em um console virtual, emita:
mutter --wayland -- vte-2.91
Substitua vte-2.91 pela linha de comando do primeiro aplicativo que você deseja na sessão do Wayland. Observe que assim que esse aplicativo sair, a sessão do Wayland será terminada.
Mutter também pode funcionar como um compositor aninhado em outra sessão do Wayland. Em um emulador de terminal, emita:
MUTTER_DEBUG_DUMMY_MODE_SPECS=1920x1080 mutter --wayland --nested -- vte-2.91
Substitua 1920x1080
pelo tamanho que você quiser para a sessão aninhada do
Wayland.
O GNOME Shell é a interface central de usuário(a) do ambiente de área de trabalho do GNOME.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gnome-shell/43/gnome-shell-43.3.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-shell/43/gnome-shell-43.3.tar.xz
Soma de verificação MD5 da transferência: 5d0117627359b93ed27814957d2b146b
Tamanho da transferência: 1,9 MB
Espaço em disco estimado exigido: 60 MB (com os testes)
Tempo de construção estimado: 0,2 UPC (Usando paralelismo=4; com testes)
evolution-data-server-3.46.4, Gcr-4.0.0, Gjs-1.74.1, gnome-autoar-0.4.3, gnome-control-center-43.4.1, GTK-4.8.3, libgweather-4.2.0 (tempo de execução), Mutter-43.3, sassc-3.6.2, startup-notification-0.12 e Systemd-252
desktop-file-utils-0.26, gnome-bluetooth-42.5, gst-plugins-base-1.22.0 e NetworkManager-1.42.0
GTK-Doc-1.33.2 e bash-completion
adwaita-icon-theme-43, DConf-0.40.0, GDM-43.0, gnome-backgrounds-43.1 e telepathy-mission-control-5.16.6
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gnome-shell
Instale o GNOME Shell executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release -Dtests=false .. && ninja
Para testar os resultados, você precisa remover a chave
-Dtests=false
e ter o
Mutter-43.3 compilado e instalado com
testes também. Para executar os testes, emita: ninja test. Você precisa
estar executando uma sessão do X para executar os testes.
Alguns falharão se o GDM-43.0 não estiver instalado.
Agora, como o(a) usuário(a) root
:
ninja install
--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=false
: Remova
essa chave se você quiser construir os testes. Mas, então,
meson falhará
se os testes Mutter-43.3 não estiverem instalados.
O pacote GNOME Shell Extensions contém uma coleção de extensões que fornecem funcionalidades adicionais e opcionais para o GNOME Shell.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gnome-shell-extensions/43/gnome-shell-extensions-43.1.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-shell-extensions/43/gnome-shell-extensions-43.1.tar.xz
Soma de verificação MD5 da transferência: b6feeb8c79e4861d8f67b3b390960144
Tamanho da transferência: 224 KB
Espaço em disco estimado exigido: 5,3 MB
Tempo de construção estimado: menos que 0,1 UPC
gnome-menus-3.36.0 (tempo de execução, para a extensão Applications Menu) e sassc-3.6.2
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gnome-shell-extensions
Instale o GNOME Shell Extensions executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr ..
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
ninja install
O pacote GNOME Session contém o gerenciador de sessões do GNOME.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gnome-session/43/gnome-session-43.0.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-session/43/gnome-session-43.0.tar.xz
Soma de verificação MD5 da transferência: 02ae90bc41fd06e780169b760fb55670
Tamanho da transferência: 476 KB
Espaço em disco estimado exigido: 12 MB
Tempo de construção estimado: 0,1 UPC
gnome-desktop-43.2, JSON-GLib-1.6.6, Mesa-22.3.5 , Systemd-252 e UPower-1.90.0
xmlto-0.0.28 e libxslt-1.1.37 com docbook-xml-4.5 e docbook-xsl-nons-1.79.2 (para construir a documentação)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gnome-session
Ao executar o GNOME sob o Wayland-1.21.0, as configurações de ambiente não são importadas para o(a) usuário(a) que usa o perfil do sistema. Os(As) desenvolvedores(as) do Wayland estão atualmente indecisos a respeito de um método padrão para fornecer configurações de ambiente de sistema para sessões de usuário(a). Para contornar essa limitação, execute o seguinte comando para fazer com que gnome-session use um shell de login:
sed 's@/bin/sh@/bin/sh -l@' -i gnome-session/gnome-session.in
Instale o GNOME Session executando os seguintes comandos:
mkdir build && cd build && meson --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
Mova a documentação para um diretório versionado:
mv -v /usr/share/doc/gnome-session{,-43.0}
Esse pacote cria dois arquivos .desktop
baseados em Xorg no diretório
/usr/share/xsessions/
e dois
arquivos .desktop
baseados em
Wayland no diretório /usr/share/wayland-sessions/
. Somente um é
necessário em cada diretório em um sistema BLFS, de forma que
evite que os arquivos extras apareçam como opções em um
gerenciador de exibição. Como o(a) usuário(a) root
:
rm -v /usr/share/xsessions/gnome.desktop && rm -v /usr/share/wayland-sessions/gnome.desktop
--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.
A maneira mais fácil de iniciar o GNOME é a de usar um gerenciador de exibição. GDM-43.0 é o gerenciador de exibição recomendado.
Também é possível iniciar o GNOME a partir da linha de comando. No entanto, você ainda precisa ter o GDM-43.0 instalado para que algumas partes da área de trabalho funcionem. Um motivo para iniciar a partir da linha de comando é se você quiser suporte ao Wayland em um sistema que tenha o controlador proprietário NVIDIA instalado, uma vez que o GDM não mostrará o tipo de sessão do Wayland em tal sistema.
Para iniciar o GNOME usando xinit-1.4.2, execute os seguintes comandos:
cat > ~/.xinitrc << "EOF"
dbus-run-session gnome-session
EOF
startx
Alternativamente, para iniciar o GNOME com suporte ao Wayland, execute o seguinte comando:
XDG_SESSION_TYPE=wayland dbus-run-session gnome-session
GNOME Tweaks é um aplicativo simples usado para ajustar configurações avançadas do GNOME.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gnome-tweaks/40/gnome-tweaks-40.10.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-tweaks/40/gnome-tweaks-40.10.tar.xz
Soma de verificação MD5 da transferência: ebfa262010021d812a8daae218cda576
Tamanho da transferência: 246 KB
Espaço em disco estimado exigido: 5,9 MB
Tempo de construção estimado: menos que 0,1 UPC
GTK+-3.24.36, gsettings-desktop-schemas-43.0, libhandy-1.8.1, PyGObject-3.42.2 e sound-theme-freedesktop-0.8
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gnome-tweaks
Instale o GNOME Tweaks executando os seguintes comandos:
mkdir build && cd build && meson --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
--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.
O pacote GNOME User Docs contém documentação para o GNOME.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gnome-user-docs/43/gnome-user-docs-43.0.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-user-docs/43/gnome-user-docs-43.0.tar.xz
Soma de verificação MD5 da transferência: 3b243f8c4d4529c127a9ad0c7981a1df
Tamanho da transferência: 11 MB
Espaço em disco estimado exigido: 247 MB
Tempo de construção estimado: 0,5 UPC (usando paralelismo = 4)
itstool-2.0.7 e libxml2-2.10.3
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gnome-user-docs
Instale o GNOME User Docs 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
O pacote Yelp contém um navegador de ajuda usado para visualizar arquivos de ajuda.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/yelp/42/yelp-42.2.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/yelp/42/yelp-42.2.tar.xz
Soma de verificação MD5 da transferência: 3792122c4ab90725716cd88e9274f0f6
Tamanho da transferência: 1,4 MB
Espaço em disco estimado exigido: 21 MB
Tempo de construção estimado: 0,1 UPC
gsettings-desktop-schemas-43.0, WebKitGTK-2.38.5 e yelp-xsl-42.1
O pacote Yelp não é exigido para uma Área de Trabalho do GNOME funcional. Observe, entretanto, que sem o Yelp você não será capaz de visualizar a Ajuda integrada fornecida pelo GNOME central e por muitos dos aplicativos de suporte.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/yelp
Instale o Yelp 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
Ainda como o(a) usuário(a) root
, certifique-se de que /usr/share/applications/mimeinfo.cache
será
atualizado e, portanto, que o help em aplicativos do
GNOME funcionará.
update-desktop-database
--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.
Esses pacotes são aplicativos de área de trabalho e utilitários variados provenientes do projeto GNOME. Sinta-se à vontade para instalá-los conforme necessário ou conforme desejado.
O pacote Baobab contém um analisador gráfico de árvore de diretórios.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/baobab/43/baobab-43.0.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/baobab/43/baobab-43.0.tar.xz
Soma de verificação MD5 da transferência: af4c4192e360cdb6d45226f799a1fbec
Tamanho da transferência: 584 KB
Espaço em disco estimado exigido: 13 MB
Tempo de construção estimado: menos que 0,1 UPC (Usando paralelismo=4)
adwaita-icon-theme-43, GTK-4.8.3, itstool-2.0.7, libadwaita-1.2.2 e Vala-0.56.4
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/baobab
Instale o Baobab executando os seguintes comandos:
mkdir build && cd build && meson --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
--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.
Brasero é um aplicativo usado para gravar CD/DVD na Área de Trabalho do GNOME. Ele foi projetado para ser o mais simples possível e tem alguns recursos exclusivos que habilitam usuários(as) a criar os discos deles(as) fácil e rapidamente.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/brasero/3.12/brasero-3.12.3.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/brasero/3.12/brasero-3.12.3.tar.xz
Soma de verificação MD5 da transferência: ae48248dd36f89282d573eb7a0a1391f
Tamanho da transferência: 3,0 MB
Espaço em disco estimado exigido: 105 MB
Tempo de construção estimado: 1,0 UPC
gst-plugins-base-1.22.0, itstool-2.0.7, libcanberra-0.30 e libnotify-0.8.1
gobject-introspection-1.74.0, libburn-1.5.4, libisoburn-1.5.4 e libisofs-1.5.4, Nautilus-43.2, Tracker-3.4.2 e totem-pl-parser-3.26.6
dvd+rw-tools-7.1 e Gvfs-1.50.3
Cdrdao-1.2.4, libdvdcss-1.4.3, Cdrtools-3.02a09 e VCDImager
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/brasero
Instale o Brasero executando os seguintes comandos:
./configure --prefix=/usr \ --enable-compile-warnings=no \ --enable-cxx-warnings=no \ --disable-nautilus && make
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install
--enable-*-warnings=no
: Essas
chaves corrigem problemas de construção sob compiladores
GCC-6.x.
--disable-nautilus
:
Essa chave desabilita a construção da extensão Nautilus, pois
ela é incompatível com a versão gtk4 do Nautilus.
--enable-gtk-doc
: Use esse
parâmetro se GTK-Doc estiver
instalado e você desejar reconstruir e instalar a
documentação da API.
Cheese é usado para tirar fotografias e vídeos com efeitos gráficos divertidos.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/cheese/43/cheese-43.0.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/cheese/43/cheese-43.0.tar.xz
Soma de verificação MD5 da transferência: 176f154ef15bed6df77fe69e2c308879
Tamanho da transferência: 1,0 MB
Espaço em disco estimado exigido: 19 MB
Tempo de construção estimado: 0,2 UPC
clutter-gst-3.0.27, clutter-gtk-1.8.4, gnome-desktop-43.2, gst-plugins-bad-1.22.0, gst-plugins-good-1.22.0 (construído com v4l-utils-1.22.1), libcanberra-0.30 e libgudev-237
gnome-video-effects-0.5.0 (em tempo de execução, para efeitos de vídeo), gobject-introspection-1.74.0 e Vala-0.56.4
GTK-Doc-1.33.2, libxslt-1.1.37, appstream-glib, LCOV e Nautilus SendTo
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/cheese
Dependendo da tua câmera, habilite as opções apropriadas e recompile o núcleo se necessário:
Device Drivers --->
Multimedia support --->
<*> Autoselect ancillary drivers (tuners, sensors, i2c, spi, frontends) [CONFIG_MEDIA_SUBDRV_AUTOSELECT]
Media device types --->
<*> Cameras/video grabbers support [CONFIG_MEDIA_CAMERA_SUPPORT]
Media drivers --->
<*> Media USB Adapters ---> [CONFIG_MEDIA_USB_SUPPORT]
Select device(s) as needed
Instale o Cheese executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr \ --buildtype=release \ -Dgtk_doc=false \ -Dtests=true .. && ninja
Para testar os resultados, emita: ninja test
Agora, como o(a) usuário(a) root
:
ninja install
--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 que o sistema de construção gere e instale a
documentação da API. Omita essa chave se você tiver o
GTK-Doc-1.33.2 instalado e desejar gerar
e instalar a documentação da API. A construção da
documentação está quebrada devido a uma incompatibilidade com
gtk-doc.
-Dtests=true
: Essa
chave permite construir os testes, de forma que a suíte de
teste possa ser executada. Remova essa chave se você não for
executar os testes.
EOG é um aplicativo usado para visualizar e catalogar arquivos de imagem na Área de Trabalho do GNOME. Ele também tem recursos básicos de edição.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/eog/43/eog-43.2.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/eog/43/eog-43.2.tar.xz
Soma de verificação MD5 da transferência: 461d5502722896bf01791209b947bbd9
Tamanho da transferência: 4,4 MB
Espaço em disco estimado exigido: 43 MB
Tempo de construção estimado: 0,3 UPC
adwaita-icon-theme-43, Exempi-2.6.3, gnome-desktop-43.2, itstool-2.0.7, libhandy-1.8.1, libjpeg-turbo-2.1.5.1, libpeas-1.34.0 e shared-mime-info-2.2
gobject-introspection-1.74.0, Little CMS-2.14, libexif-0.6.24 e librsvg-2.54.5
GTK-Doc-1.33.2 e libportal-0.6
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/eog
Instale o EOG executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release -Dlibportal=false .. && ninja
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
ninja install
Ainda como o(a) usuário(a) root
, reconstrua a base de dados de cache
dos tipos MIME manuseados pelos arquivos da área de trabalho,
de forma que o Nautilus-43.2 estará apto a abrir
arquivos de imagem com EOG.
update-desktop-database
--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.
-Dlibportal=false
:
Esse parâmetro desabilita a construção de EOG com suporte
para portais flatpak. Remova esse parâmetro se você tiver o
libportal-0.6 instalado e desejar ter
suporte para portais flatpak.
-Dgtk_doc=true
: Use essa opção se
o GTK-Doc-1.33.2 estiver instalado e você
desejar reconstruir e instalar a documentação da API.
Evince é um visualizador de documentos para vários formatos de documentos. Ele suporta PDF, Postscript, DjVu, TIFF e DVI. Ele é útil para visualizar documentos de vários tipos usando um aplicativo simples em vez dos múltiplos visualizadores de documentos que existiam na Área de Trabalho do GNOME.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/evince/43/evince-43.1.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/evince/43/evince-43.1.tar.xz
Soma de verificação MD5 da transferência: 8b50f6b1fbd707656452a759bd7364e7
Tamanho da transferência: 2,8 MB
Espaço em disco estimado exigido: 44 MB
Tempo de construção estimado: 0,2 UPC (Usando paralelismo=4)
adwaita-icon-theme-43, gsettings-desktop-schemas-43.0, GTK+-3.24.36, itstool-2.0.7, libhandy-1.8.1, libxml2-2.10.3 e OpenJPEG-2.5.0
gnome-keyring-42.1, gobject-introspection-1.74.0, libarchive-3.6.2, libsecret-0.20.5, Nautilus-43.2 (para construir o plugin) e Poppler-23.02.0
Cups-2.4.2 (para habilitar impressão se o suporte estiver construído no GTK+ 3), gnome-desktop-43.2, gspell-1.12.0, gst-plugins-base-1.22.0, Gi-DocGen-2023.1, GTK-Doc-1.33.2, libgxps-0.3.2, libtiff-4.5.0, texlive-20220321 (ou install-tl-unx), DjVuLibre, libspectre, Synctex e t1lib
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/evince
Primeiro, certifique-se de que o meson possa encontrar o TeXLive se ele estiver instalado. Isso não tem efeito em sistemas sem o TeXLive instalado.
export CPPFLAGS="-I/opt/texlive/2022/include" && export LDFLAGS="$LDFLAGS -L/opt/texlive/2022/lib"
Instale o Evince executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr \ --buildtype=release \ -Dgtk_doc=false \ --wrap-mode=nodownload \ .. && ninja
Se você tiver o Gi-DocGen-2023.1 instalado e desejar construir a documentação da API para esse pacote, emita:
sed "/fatal-warnings/d" -i ../help/reference/*/meson.build && sed "/docs_dir/s@\$@ / 'evince-43.1'@" -i ../help/meson.build && meson configure -Dgtk_doc=true && ninja
Esse pacote não tem uma suíte de teste funcional.
Agora, como o(a) usuário(a) root
:
ninja install
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
--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.
CPPFLAGS="..." LDFLAGS="$LDFLAGS
..."
: Se o TeXLive tiver sido instalado em
/opt/texlive/2022
, o conjunto
de comandos sequenciais de configuração encontrará
libkpathsea.so
e habilitará a
estrutura de retaguarda de DVI, mas sem essa adição a
compilação falhará porque não consegue encontrar os
cabeçalhos exigidos. Adicionar isso a um sistema onde o
TeXLive não tenha sido
instalado não quebra a construção.
--wrap-mode=nodownload
: Essa
chave desabilita a busca de qualquer dependência: o sistema
de construção tenta buscar gi-docgen mesmo se -Dgtk_doc=false
for passado.
-Dgtk_doc=false
:
Permite construir esse pacote sem "Gi-DocGen-2023.1"
instalado. Se tiver "Gi-DocGen-2023.1" instalado e você
desejar reconstruir e instalar a documentação da "API",
[então] um comando "meson
configure" reconfigurará essa opção.
-Dgspell=false
: Essa chave
desliga o suporte para o plugin de verificação ortográfica.
-Dintrospection=false
: Use essa
opção se você não tiver o gobject-introspection-1.74.0
instalado e não desejar ter suporte de introspecção integrado
ao Evince.
-Dnautilus=false
: Essa chave
desabilita a construção do plug-in do Nautilus. Use essa chave se o
Nautilus não estiver
instalado.
-Dkeyring=false
: Essa chave
desabilita o uso da libsecret. Use essa chave se a
libsecret não estiver
instalada.
-Dps=enabled
: Use essa chave se a
libspectre estiver instalada
e você quiser visualizar arquivos PostScript com o
Evince.
O pacote Evolution contém uma suíte integrada de correio, calendário e catálogo de endereços projetada para o ambiente do GNOME.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/evolution/3.46/evolution-3.46.4.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/evolution/3.46/evolution-3.46.4.tar.xz
Soma de verificação MD5 da transferência: f5ac4c6088d6ec734d019cd42d6cca2d
Tamanho da transferência: 13 MB
Espaço em disco estimado exigido: 372 MB
Tempo de construção estimado: 1,2 UPC (Usando paralelismo=4)
adwaita-icon-theme-43, evolution-data-server-3.46.4, Gcr-4.0.0, gnome-autoar-0.4.3, itstool-2.0.7, shared-mime-info-2.2 e WebKitGTK-2.38.5
Bogofilter-1.2.5, enchant-2.3.3, gnome-desktop-43.2, gspell-1.12.0, Highlight-4.4, libcanberra-0.30, libgweather-4.2.0, libnotify-0.8.1, OpenLDAP-2.6.4 e Seahorse-43.0
clutter-gtk-1.8.4, GeoClue-2.7.0, geocode-glib-3.26.4 e libchamplain-0.12.21 (Plug-in de mapas de contato), GTK-Doc-1.33.2, cmark, Glade, libpst, libunity, libytnef
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/evolution
Instale o Evolution executando os seguintes comandos:
mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DSYSCONF_INSTALL_DIR=/etc \ -DENABLE_INSTALLED_TESTS=ON \ -DENABLE_PST_IMPORT=OFF \ -DENABLE_YTNEF=OFF \ -DENABLE_CONTACT_MAPS=OFF \ -DENABLE_MARKDOWN=OFF \ -DENABLE_WEATHER=ON \ -G Ninja .. && ninja
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
ninja install
-DENABLE_YTNEF=OFF
:
Essa chave é usada para desabilitar o uso da biblioteca yTNEF
porque a libytnef não é
parte do BLFS.
-DENABLE_PST_IMPORT=OFF
: Essa
chave é usada para desabilitar o plugin pst-import porque a
libpst não é parte do BLFS.
-DENABLE_CONTACT_MAPS=OFF
: Essa
chave desabilita a construção do plug-in de Mapas de Contato.
Remova essa chave se você tiver instalado as dependências
necessárias e desejar construir o plug-in de Mapas de
Contato.
-DENABLE_MARKDOWN=OFF
: Essa
chave permite construir sem cmark. Remova essa
chave se você precisar de suporte a markdown e tiver
instalado a dependência necessária.
-DENABLE_WEATHER=ON
:
Essa chave permite construir contra a libgweather-4.2.0.
-DWITH_OPENLDAP=OFF
: Use essa
chave se você não tiver instalado o OpenLDAP-2.6.4.
File Roller é um gerenciador de arquivamentos para o GNOME com suporte para tar, bzip2, gzip, zip, jar, compress, lzop, zstd, dmg e muitos outros formatos de arquivamento.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
File Roller é apenas uma interface gráfica para utilitários de arquivamento como o tar e zip.
Transferência (HTTP): https://download.gnome.org/sources/file-roller/43/file-roller-43.0.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/file-roller/43/file-roller-43.0.tar.xz
Soma de verificação MD5 da transferência: fd743c77f1af1934a9eac7e7b1688219
Tamanho da transferência: 876 KB
Espaço em disco estimado exigido: 24 MB
Tempo de construção estimado: 0,1 UPC (Usando paralelismo=4)
cpio-2.13, desktop-file-utils-0.26, JSON-GLib-1.6.6, libarchive-3.6.2, libhandy-1.8.1, libportal-0.6 e Nautilus-43.2
UnRar-6.2.6, UnZip-6.0 e Zip-3.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/file-roller
Instale o File Roller executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release -Dpackagekit=false .. && ninja
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
ninja install && chmod -v 0755 /usr/libexec/file-roller/isoinfo.sh
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
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 de memória
atualizando /usr/share/icons/hicolor/index.theme
e
/usr/share/applications/mimeinfo.cache
.
Para realizar a atualização, você precisa ter o GTK+-2.24.33
ou GTK+-3.24.36 instalado (para o cache de
ícones) e o 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 -qtf /usr/share/icons/hicolor && update-desktop-database -q
--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.
-Dpackagekit=false
:
Essa chave desabilita o uso do PackageKit que não é adequado
para o BLFS.
-Dapi_docs=enabled
: Use essa
chave se você tiver o Gi-DocGen-2023.1 instalado e
desejar gerar a documentação da API.
GNOME Calculator é uma calculadora gráfica poderosa com modos financeiro, lógico e científico. Ela usa um pacote de precisão múltipla para fazer a aritmética dela para fornecer um alto grau de precisão.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gnome-calculator/43/gnome-calculator-43.0.1.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-calculator/43/gnome-calculator-43.0.1.tar.xz
Soma de verificação MD5 da transferência: 2fa4c054938f416911302de5354d3292
Tamanho da transferência: 1,2 MB
Espaço em disco estimado exigido: 45 MB (com os testes)
Tempo de construção estimado: 0,4 UPC (com os testes)
gtksourceview5-5.6.2, itstool-2.0.7, libadwaita-1.2.2, libgee-0.20.6, libhandy-1.8.1 e libsoup-3.2.2
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gnome-calculator
Instale o GNOME Calculator executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release .. && ninja
Para testar os resultados, emita: ninja test.
Agora, como o(a) usuário(a) root
:
ninja install
GNOME Color Manager é uma estrutura de sessão para o ambiente de área de trabalho do GNOME que facilita o gerenciamento, a instalação e a geração de perfis de cores.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gnome-color-manager/3.36/gnome-color-manager-3.36.0.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-color-manager/3.36/gnome-color-manager-3.36.0.tar.xz
Soma de verificação MD5 da transferência: c5360705a68e88455b1801200e9aaa2e
Tamanho da transferência: 2,1 MB
Espaço em disco estimado exigido: 12 MB
Tempo de construção estimado: 0,1 UPC
colord-1.4.6, GTK+-3.24.36, itstool-2.0.7, Little CMS-2.14, libcanberra-0.30 e libexif-0.6.24
appstream-glib e DocBook-utils-0.6.14 (atualmente faz com que a construção falhe)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gnome-color-manager
Se o DocBook-utils-0.6.14 estiver instalado, desabilite a instalação das páginas de manual para evitar uma falha de construção:
sed /subdir\(\'man/d -i meson.build
Instale o GNOME Color Manager executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release .. && ninja
Para testar os resultados, emita: ninja test. Os testes precisam ser executados a partir de uma sessão do X.
Agora, como o(a) usuário(a) root
:
ninja install
permite que você importe perfis ICC fornecidos por fornecedores(as) |
|
permite que você inspecione as configurações de gerenciamento de cores da tua sessão |
|
permite que você escolha cores exatas para uso por um colorímetro conectado |
|
permite que você visualize propriedades de perfis ICC |
O pacote GNOME Disk Utility fornece aplicativos usados para lidar com dispositivos de armazenamento.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gnome-disk-utility/43/gnome-disk-utility-43.0.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-disk-utility/43/gnome-disk-utility-43.0.tar.xz
Soma de verificação MD5 da transferência: e877eaed16740fbde13884d8f663b206
Tamanho da transferência: 1,7 MB
Espaço em disco estimado exigido: 32 MB
Tempo de construção estimado: menos que 0,1 UPC
gnome-settings-daemon-43.0, itstool-2.0.7, libdvdread-6.1.3, libhandy-1.8.1, libpwquality-1.4.5, libsecret-0.20.5 e UDisks-2.9.4
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gnome-disk-utility
Instale o GNOME Disk Utility executando os seguintes comandos:
mkdir build && cd build && meson --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
O pacote GNOME Logs contém um visualizador de registros para o diário do systemd.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gnome-logs/43/gnome-logs-43.0.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-logs/43/gnome-logs-43.0.tar.xz
Soma de verificação MD5 da transferência: fbeada138a28d7ba13a4a95d585ee4c0
Tamanho da transferência: 576 KB
Espaço em disco estimado exigido: 8 MB
Tempo de construção estimado: 0,1 UPC
GTK-4.8.3, gsettings-desktop-schemas-43.0, itstool-2.0.7 e libadwaita-1.2.2
desktop-file-utils-0.26 (para a suíte de teste) e docbook-xml-4.5, docbook-xsl-nons-1.79.2, libxslt-1.1.37 (para contruir páginas de manual), appstream-glib e dogtail
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gnome-logs
Instale o GNOME Logs executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release .. && ninja
Para testar os resultados, emita: ninja test
Agora, como o(a) usuário(a) root
:
ninja install
--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.
GNOME Maps é um aplicativo de mapas para o GNOME.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gnome-maps/43/gnome-maps-43.4.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-maps/43/gnome-maps-43.4.tar.xz
Soma de verificação MD5 da transferência: 99cfa55bf6a9edaa28de63562e6c06dc
Tamanho da transferência: 2,2 MB
Espaço em disco estimado exigido: 20 MB
Tempo de construção estimado: menos que 0,1 UPC
clutter-gtk-1.8.4, desktop-file-utils-0.26, GeoClue-2.7.0, geocode-glib-3.26.4, Gjs-1.74.1, libadwaita-1.2.2, libshumate-1.0.3, libgweather-4.2.0 e rest-0.9.1
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gnome-maps
Instale o GNOME Maps 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
O pacote GNOME Nettool é uma ferramenta de informações de rede de intercomunicação que fornece interface GUI para algumas das ferramentas de rede de intercomunicação de linha de comando mais comuns.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gnome-nettool/42/gnome-nettool-42.0.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-nettool/42/gnome-nettool-42.0.tar.xz
Soma de verificação MD5 da transferência: ba99489e9e3a1af03e9f2719acac7beb
Tamanho da transferência: 413 KB
Espaço em disco estimado exigido: 12 MB
Tempo de construção estimado: menos que 0,1 UPC
GTK+-3.24.36, itstool-2.0.7 e libgtop-2.40.0
Utilitários BIND-9.18.12, Nmap-7.93, Net-tools-2.10, Traceroute-2.1.2 e Whois-5.4.3
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gnome-nettool
Primeiro, adapte o GNOME Nettool às mudanças nos utilitários ping, ping6 e netstat:
patch -Np1 -i ../gnome-nettool-42.0-ping_and_netstat_fixes-1.patch
Em seguida, adicione uma correção para versões mais recentes do meson:
sed -i '/merge_file/s/(.*/(/' data/meson.build
Instale o GNOME Nettool executando os seguintes comandos:
mkdir build && cd build && meson --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
O pacote GNOME Power Manager contém uma ferramenta usada para informes acerca do gerenciamento de eletricidade do sistema.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gnome-power-manager/43/gnome-power-manager-43.0.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-power-manager/43/gnome-power-manager-43.0.tar.xz
Soma de verificação MD5 da transferência: c7e33249b59c6082312909f65739912e
Tamanho da transferência: 376 KB
Espaço em disco estimado exigido: 7,0 MB
Tempo de construção estimado: menos que 0,1 UPC (com testes)
DocBook-utils-0.6.14 e appstream-glib
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gnome-power-manager
Instale o GNOME Power Manager executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release .. && ninja
Para testar os resultados, emita: ninja test.
Agora, como o(a) usuário(a) root
:
ninja install
--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.
O GNOME Screenshot é um utilitário usado para fazer capturas de tela da tela inteira, de uma janela ou de uma área da tela definida pelo(a) usuário(a), com efeitos opcionais de embelezamento de borda.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gnome-screenshot/41/gnome-screenshot-41.0.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-screenshot/41/gnome-screenshot-41.0.tar.xz
Soma de verificação MD5 da transferência: 3d0199188d8ba07399e468a61e0174e8
Tamanho da transferência: 352 KB
Espaço em disco estimado exigido: 7,4 MB
Tempo de construção estimado: menos que 0,1 UPC
GTK+-3.24.36, libcanberra-0.30 (Compilado com suporte a GTK+3) e libhandy-1.8.1
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gnome-screenshot
Primeiro, corrija a construção com versões mais recentes do meson:
sed -i '/merge_file/{n;d}' data/meson.build
Instale o GNOME Screenshot executando os seguintes comandos:
mkdir build && cd build && meson --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
Para a finalidade de melhor executar o GNOME Screenshot a partir da linha de comando, a opção -i precisa ser especificada.
O pacote GNOME System Monitor contém o substituto do GNOME para o gtop.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gnome-system-monitor/42/gnome-system-monitor-42.0.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-system-monitor/42/gnome-system-monitor-42.0.tar.xz
Soma de verificação MD5 da transferência: 2d9678bb4ea86b40177ac6b28152666f
Tamanho da transferência: 955 KB
Espaço em disco estimado exigido: 25 MB
Tempo de construção estimado: 0,2 UPC (com paralelismo=4)
adwaita-icon-theme-43, Gtkmm-3.24.7, itstool-2.0.7, libgtop-2.40.0 e librsvg-2.54.5
desktop-file-utils-0.26 e appstream-glib
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gnome-system-monitor
Instale o GNOME System Monitor executando os seguintes comandos:
mkdir build && cd build && meson --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
O pacote GNOME Terminal contém o emulador de terminal para a Área de Trabalho do GNOME.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://gitlab.gnome.org/GNOME/gnome-terminal/-/archive/3.46.8/gnome-terminal-3.46.8.tar.gz
Soma de verificação MD5da transferência: 6cd66810b9c4018118728456f434c22d
Tamanho da transferência: 2,8 MB
Espaço em disco estimado exigido: 42 MB
Tempo de construção estimado: 0,1 UPC
DConf-0.40.0, gnome-shell-43.3, gsettings-desktop-schemas-43.0, itstool-2.0.7, pcre2-10.42 e VTE-0.70.3
desktop-file-utils-0.26 e appstream-glib
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gnome-terminal
Primeiro, corrija algumas entradas obsoletas de esquema:
sed -i -r 's:"(/system):"/org/gnome\1:g' src/external.gschema.xml
Instale o GNOME Terminal executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release .. && ninja
Para testar os resultados, emita: ninja test.
Agora, como o(a) usuário(a) root
:
ninja install
Para executar o GNOME
Terminal, a variável de ambiente LANG
precisa ser configurada como uma
localidade UTF-8 antes de iniciar o ambiente
gráfico.
--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.
-Dsearch_provider=false
: Essa
chave desabilita o provedor “gnome-shell de
busca”. Use essa opção se você não tiver o
gnome-shell instalado.
-Dnautilus_extension=false
: Essa
chave desabilita uma dependência do gerenciador de arquivos
nautilus. Use essa opção se
você não tiver o Nautilus instalado.
GNOME Weather é um pequeno aplicativo que te permite monitorar as atuais condições climáticas para a tua cidade, ou de qualquer lugar do mundo, e acessar previsões atualizadas fornecidas por vários serviços de Internet.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gnome-weather/43/gnome-weather-43.0.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gnome-weather/43/gnome-weather-43.0.tar.xz
Soma de verificação MD5 da transferência: 887033ffdcaac33870cc5ad0bfe96e96
Tamanho da transferência: 232 KB
Espaço em disco estimado exigido: 4,9 MB
Tempo de construção estimado: menos que 0,1 UPC
Gjs-1.74.1, libadwaita-1.2.2 e libgweather-4.2.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gnome-weather
Instale o GNOME Weather executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release .. && ninja
Para testar os resultados, emita: ninja test.
Agora, como o(a) usuário(a) root
:
ninja install
--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.
Gucharmap é um mapa de caracteres Unicode e visualizador de fontes. Ele te permite navegar por todos os caracteres e categorias Unicode disponíveis para as fontes instaladas e examinar as propriedades detalhadas deles. É uma maneira fácil de encontrar o caractere que você só conhece pelo nome Unicode dele ou ponto de código.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://gitlab.gnome.org/GNOME/gucharmap/-/archive/15.0.2/gucharmap-15.0.2.tar.bz2
Soma de verificação MD5 da transferência: 3c4b1937241aa6a70931ecfa24ab2021
Tamanho da transferência: 1,4 MB
Espaço em disco estimado exigido: 80 MB
Tempo de construção estimado: 0,1 UPC
Base de dados de Caracteres Unicode: https://www.unicode.org/Public/zipped/15.0.0/UCD.zip
Ideogramas Unificados CJK: https://www.unicode.org/Public/zipped/15.0.0/Unihan.zip
desktop-file-utils-0.26, gsettings-desktop-schemas-43.0, GTK+-3.24.36, itstool-2.0.7, pcre2-10.42 e UnZip-6.0
gobject-introspection-1.74.0 e Vala-0.56.4
appstream-glib e GTK-Doc-1.33.2
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gucharmap
Esse pacote usa dois downloads não versionados. Você
possivelmente queira renomeá-los para um nome com versão,
por exemplo, UCD-15.zip
para
facilitar as atualizações.
Instale o Gucharmap executando os seguintes comandos:
mkdir build && cd build && mkdir ucd && pushd ucd && unzip ../../../UCD.zip && cp -v ../../../Unihan.zip . && popd && meson --prefix=/usr \ --strip \ --buildtype=release \ -Ducd_path=./ucd \ -Ddocs=false .. && ninja
Esse pacote não tem uma suíte de teste.
Agora, como o(a) usuário(a) root
:
rm -fv /usr/share/glib-2.0/schemas/org.gnome.Charmap.enums.xml && ninja install
--strip
: Embora o
padrão do pacote seja uma construção de lançamento sem
informações de depuração, sem essa chave existirão algumas
informações de depuração nos binários.
-Ducd_path=./ucd
:
Isso aponta para onde os principais arquivos de dados Unicode
extraídos e o arquivamento Unihan zipado podem ser
encontrados.
rm -fv /usr/share/glib-2.0/schemas/org.gnome.Charmap.enums.xml: Versões antigas desse pacote instalavam um arquivo obsoleto que impede o aplicativo de executar, como se o esquema principal não tivesse sido instalado. A remoção forçada funciona mesmo que o arquivo antigo não esteja presente.
-Ddocs=false
: Isso
permite que o pacote construa mesmo se o gtk-doc não tenha sido instalado. Remova
isso se você o tiver instalado e desejar construir a
documentação.
-Dgir=false
: Use isso se você não
tiver instalado o gobject-introspection-1.74.0.
-Dvapi=false
: Use isso se você
não tiver instalado o Vala-0.56.4.
Seahorse é uma interface gráfica para gerenciar e usar chaves de criptografia. Atualmente ela suporta chaves PGP (usando GPG/GPGME) e chaves SSH.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/seahorse/43/seahorse-43.0.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/seahorse/43/seahorse-43.0.tar.xz
Soma de verificação MD5 da transferência: efa9fea2e1c4291c39d509eb366b9a56
Tamanho da transferência: 1,3 MB
Espaço em disco estimado exigido: 43 MB
Tempo de construção estimado: 0,1 UPC (Usando paralelismo=4)
Gcr-3.41.1, GnuPG-2.4.0, GPGME-1.18.0, itstool-2.0.7, libhandy-1.8.1, libpwquality-1.4.5 e libsecret-0.20.5
libsoup-3.2.2, p11-kit-0.24.1, OpenLDAP-2.6.4, OpenSSH-9.2p1 (para gerenciar chaves SSH) e Vala-0.56.4
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/seahorse
Instale o Seahorse executando os seguintes comandos:
sed -i -r 's:"(/apps):"/org/gnome\1:' data/*.xml && sed -i "s/'2.3.0'/'2.3.0', '2.4.0'/" meson.build && mkdir build && cd build && meson --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
--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.
sed ... data/*.xml: Esse comando corrige algumas entradas obsoletas nos modelos de esquema.
sed ... meson.build: Esse comando corrige a construção com o GnuPG-2.4 instalado.
-Dldap-support=false
: Adicione
essa chave se você não tiver instalado o openldap.
Vinagre é um cliente VNC para a Área de Trabalho do GNOME.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/vinagre/3.22/vinagre-3.22.0.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/vinagre/3.22/vinagre-3.22.0.tar.xz
Soma de verificação MD5 da transferência: 451554ddf46636105cd5f0330e98d254
Tamanho da transferência: 1,5 MB
Espaço em disco estimado exigido: 25 MB
Tempo de construção estimado: 0,2 UPC
gtk-vnc-1.3.1, itstool-2.0.7 e libsecret-0.20.5
telepathy-glib-0.24.2, Vala-0.56.4 e VTE-0.70.3
Avahi-0.8, appstream-glib, FreeRDP (para conectar com áreas de trabalho do Windows) e Spice-GTK
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/vinagre
Primeiro corrija um problema exposto pelo GCC-10:
sed -e '/_VinagreVnc/i gboolean scaling_command_line;' \ -i plugins/vnc/vinagre-vnc-connection.c && sed -e '/scaling_/s/^/extern /' \ -i plugins/vnc/vinagre-vnc-connection.h
Instale o Vinagre executando os seguintes comandos:
./configure --prefix=/usr \ --enable-compile-warnings=minimum && make
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install
--enable-compile-warnings=minimum
:
Essa chave desabilita os avisos do compilador que podem
causar a construção falhar quando construída sob GCC6.
Xfce é um ambiente de área de trabalho que pretende ser rápido e com poucos recursos do sistema, ao mesmo tempo que é visualmente atraente e fácil de usar.
O Xfce incorpora a tradicional filosofia do UNIX de modularidade e reusabilidade. Ele consiste em vários componentes que fornecem a completa funcionalidade que se pode esperar de um moderno ambiente de área de trabalho. Eles são empacotados separadamente e você pode escolher entre os pacotes disponíveis para criar o ambiente de trabalho pessoal ideal.
Construa os pacotes centrais do Xfce na ordem apresentada no livro para a mais fácil resolução de dependências.
O pacote libxfce4util é uma biblioteca de utilitários básicos para o ambiente de área de trabalho do Xfce.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.xfce.org/src/xfce/libxfce4util/4.18/libxfce4util-4.18.1.tar.bz2
Soma de verificação MD5 da transferência: 4a834c5dc207f33cde0e213bc4e8b5b1
Tamanho da transferência: 515 KB
Espaço em disco estimado exigido: 5,9 MB
Tempo de construção estimado: menos que 0,1 UPC
GLib-2.74.5 e gobject-introspection-1.74.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libxfce4util
Instale o libxfce4util 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
Consulta os dados recursos de <módulo> para o(a) usuário(a) atual e informa se o(a) usuário(a) tem os recursos ou não. Essa ferramenta destina-se principalmente a administradores(as) de sistema para testar a configuração Kiosk deles(as) |
|
contém funções utilitárias básicas para o ambiente de área de trabalho do Xfce |
Xfconf é o sistema de armazenamento de configuração para o Xfce.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.xfce.org/src/xfce/xfconf/4.18/xfconf-4.18.0.tar.bz2
Soma de verificação MD5 da transferência: efb7381405bc634306ed0d0cdf5aaffc
Tamanho da transferência: 620 KB
Espaço em disco estimado exigido: 9,3 MB
Tempo de construção estimado: 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xfconf
Instale o Xfconf 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
O pacote libxfce4ui contém pequenas engenhocas GTK+ 2 que são usadas por outros aplicativos do Xfce.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.xfce.org/src/xfce/libxfce4ui/4.18/libxfce4ui-4.18.2.tar.bz2
Soma de verificação MD5 da transferência: 3ed8f18681ee811e41a01c5511f9d86f
Tamanho da transferência: 881 KB
Espaço em disco estimado exigido: 14 MB
Tempo de construção estimado: 0,1 UPC
GTK-Doc-1.33.2, libgtop-2.40.0, libgudev-237 e Glade
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libxfce4ui
Instale o libxfce4ui executando 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
--enable-gtk-doc
: Use esse
parâmetro se GTK-Doc estiver
instalado e você desejar reconstruir e instalar a
documentação da API.
Exo é uma biblioteca de suporte usada na área de trabalho do Xfce. Ela também tem alguns aplicativos auxiliares que são usados em todo o Xfce.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.xfce.org/src/xfce/exo/4.18/exo-4.18.0.tar.bz2
Soma de verificação MD5 da transferência: 9d0be4e885eaf991e12dbc14d3fc628d
Tamanho da transferência: 876 KB
Espaço em disco estimado exigido: 14 MB (com os testes)
Tempo de construção estimado: 0,2 UPC (com os testes)
GTK+-3.24.36, libxfce4ui-4.18.2 e libxfce4util-4.18.1
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/exo
Instale o Exo executando os seguintes comandos:
./configure --prefix=/usr --sysconfdir=/etc && make
Para testar os resultados, emita: make check.
Agora, como o(a) usuário(a) root
:
make install
--enable-gtk-doc
: Use esse
parâmetro se GTK-Doc estiver
instalado e você desejar reconstruir e instalar a
documentação da API.
é um utilitário de linha de comando para criar ou editar ícones na área de trabalho |
|
é uma estrutura de interação direta com o(a) usuário(a), via linha de comando, para a estrutura essencial de suporte a Aplicativos Preferenciais do Xfce. Ela pode ou ser usada para abrir uma lista de URLs com o manuseador padrão de URL ou iniciar o aplicativo preferido para uma determinada categoria |
|
contém pequenas engenhocas adicionais, uma estrutura para barras de ferramentas editáveis, suporte leve para gerenciamento de sessões e funções para sincronizar automaticamente as propriedades do objeto (baseado no GObject Binding Properties) |
O pacote Garcon contém uma implementação de menu compatível com freedesktop.org baseada em GLib e GIO.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.xfce.org/src/xfce/garcon/4.18/garcon-4.18.0.tar.bz2
Soma de verificação MD5 da transferência: 9e4b72757b3874cb7e0e21eb43164c49
Tamanho da transferência: 538 KB
Espaço em disco estimado exigido: 8,4 MB
Tempo de construção estimado: 0,1 UPC
libxfce4ui-4.18.2 e GTK+-3.24.36
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/garcon
Instale o Garcon executando 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
O pacote Xfce4 Panel contém o Painel do Xfce4.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.xfce.org/src/xfce/xfce4-panel/4.18/xfce4-panel-4.18.2.tar.bz2
Soma de verificação MD5 da transferência: 81750c221ccf1a659538b01de3cf8982
Tamanho da transferência: 1,4 MB
Espaço em disco estimado exigido: 39 MB
Tempo de construção estimado: 0,6 UPC
Cairo-1.17.6, Exo-4.18.0, Garcon-4.18.0 e libwnck-43.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xfce4-panel
Instale o Xfce4 Panel executando 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
--enable-gtk-doc
: Use esse
parâmetro se GTK-Doc estiver
instalado e você desejar reconstruir e instalar a
documentação da API.
é o painel do Xfce |
|
é um conjunto de comandos sequenciais de shell que usa D-Bus e Xfce Panel para exibir um menu pop-up dos aplicativos instalados |
|
é um conjunto de comandos sequenciais de shell que usa D-Bus e Xfce Panel para exibir um menu pop-up de tua pasta pessoal e os subdiretórios dela |
|
é um conjunto de comandos sequenciais de shell que usa DBus para exibir o Xfwm4 como um menu pop-up |
|
contém as funções da API do Xfce Panel |
Thunar é o gerenciador de arquivos do Xfce, uma GUI do GTK+ 3 para organizar os arquivos em teu computador.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.xfce.org/src/xfce/thunar/4.18/thunar-4.18.4.tar.bz2
Soma de verificação MD5 da transferência: 8a62aa0498aa6c4733a3b10273c5a543
Tamanho da transferência: 2,8 MB
Espaço em disco estimado exigido: 69 MB
Tempo de construção estimado: 0,5 UPC (Usando paralelismo=4)
libgudev-237, libnotify-0.8.1 e PCRE-8.45
GTK-Doc-1.33.2 (para documentação), Gvfs-1.50.3 (para navegação remota e montagem automática), libexif-0.6.24 e tumbler-4.18.0 (tempo de execução)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/thunar
Instale o Thunar executando os seguintes comandos:
./configure --prefix=/usr \ --sysconfdir=/etc \ --docdir=/usr/share/doc/thunar-4.18.4 && make
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install
O Thunar Volume Manager é uma extensão para o gerenciador de arquivos Thunar, que habilita o gerenciamento automático de unidades e mídias removíveis.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.xfce.org/src/xfce/thunar-volman/4.18/thunar-volman-4.18.0.tar.bz2
Soma de verificação MD5 da transferência: a0965931e78fe662ad134e63b1ab33b9
Tamanho da transferência: 499 KB
Espaço em disco estimado exigido: 7,0 MB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/thunar-volman
Instale o Thunar Volume Manager 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
O pacote Tumbler contém um serviço de miniaturas do D-Bus baseado na especificação de gerenciamento de miniaturas do D-Bus. Isso é útil para gerar imagens em miniatura de arquivos.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.xfce.org/src/xfce/tumbler/4.18/tumbler-4.18.0.tar.bz2
Soma de verificação MD5 da transferência: ffe40a16548e524bb50cfdf9267f38a7
Tamanho da transferência: 596 KB
Espaço em disco estimado exigido: 14 MB
Tempo de construção estimado: 0,2 UPC
cURL-7.88.1, FreeType-2.13.0, gdk-pixbuf-2.42.10, gst-plugins-base-1.22.0, GTK-Doc-1.33.2, libjpeg-turbo-2.1.5.1, libgsf-1.14.50, libpng-1.6.39, Poppler-23.02.0, FFmpegThumbnailer, libgepub e libopenraw
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/tumbler
Instale o Tumbler executando 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
Xfce4 Appfinder é uma ferramenta para encontrar e iniciar aplicativos instalados pesquisando os arquivos .desktop instalados em teu sistema.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.xfce.org/src/xfce/xfce4-appfinder/4.18/xfce4-appfinder-4.18.0.tar.bz2
Soma de verificação MD5 da transferência: 7c0d45141c58b3130d4281e9d33c24ba
Tamanho da transferência: 550 KB
Espaço em disco estimado exigido: 7,2 MB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xfce4-appfinder
Instale o Xfce4 Appfinder 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
O Xfce4 Power Manager é um gerenciador de eletricidade para a área de trabalho do Xfce; o Xfce Power Manager gerencia as fontes de eletricidade no computador e os dispositivos que podem ser controlados para reduzir o consumo de eletricidade deles (como nível de brilho do LCD ou suspensão do monitor). Além disso, o Xfce4 Power Manager fornece um conjunto de interfaces do DBus compatíveis com freedesktop para informar a outros aplicativos a respeito do atual nível de eletricidade, de forma que eles possam ajustar o consumo de eletricidade deles.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.xfce.org/src/xfce/xfce4-power-manager/4.18/xfce4-power-manager-4.18.1.tar.bz2
Soma de verificação MD5 da transferência: 66a1d7bec8fd9c6381fcb6763b229141
Tamanho da transferência: 1,2 MB
Espaço em disco estimado exigido: 19 MB
Tempo de construção estimado: 0,1 UPC
libnotify-0.8.1, UPower-1.90.0 e xfce4-panel-4.18.2
NetworkManager-1.42.0 e Polkit-122
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xfce4-power-manager
Instale o Xfce4 Power Manager executando 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
é um aplicativo auxiliar para as funções de suspensão e hibernação do xfce4-power-manager |
|
é o Gerenciador de Eletricidade do Xfce |
|
é um utilitário que vem com o Gerenciador de Eletricidade do Xfce para acessar/mudar a configuração dele |
|
é um utilitário de linha de comando para obter ou configurar o brilho da tua tela |
O pacote Xfce4 Settings contém uma coleção de aplicativos que são úteis para ajustar as tuas preferências do Xfce.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.xfce.org/src/xfce/xfce4-settings/4.18/xfce4-settings-4.18.2.tar.bz2
Soma de verificação MD5 da transferência: be88cc55725fa6b935f2f06a19e92535
Tamanho da transferência: 1,5 MB
Espaço em disco estimado exigido: 31 MB
Tempo de construção estimado: 0,2 UPC
gnome-icon-theme-3.12.0 ou lxde-icon-theme-0.5.1
libcanberra-0.30, libnotify-0.8.1 e libxklavier-5.4
colord-1.4.6, libinput-1.22.1 e UPower-1.90.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xfce4-settings
Instale o Xfce4 Settings executando 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
--enable-sound-settings
: Use essa
chave para habilitar as configurações de som na GUI.
--enable-pluggable-dialogs
: Use
essa chave para habilitar o suporte para caixas de diálogo de
configurações incorporadas.
é uma GUI GTK+ 3 para te permitir mudar algumas de tuas preferências de teclado e mouse |
|
é uma GUI GTK+ 3 para te permitir mudar algumas de tuas preferências de tema, ícone e fonte |
|
é uma GUI GTK+ 3 para te permitir mudar algumas de tuas preferências de tela |
|
é uma GUI GTK+ 3 para te permitir mudar algumas de tuas preferências de teclado |
|
é uma GUI GTK+ 3 para te permitir mudar quais aplicativos são usados para lidar com diferentes tipos MIME |
|
é uma GUI GTK+ 3 para te permitir mudar algumas de tuas preferências de mouse |
|
é uma GUI GTK+ 3 para te permitir mudar tuas preferências armazenadas no Xfconf |
|
é uma GUI GTK+ 3 para te permitir mudar muitas de tuas preferências do Xfce |
|
é o processo de segundo plano de configurações do Xfce |
Xfdesktop é um gerenciador de área de trabalho para o Ambiente de Área de Trabalho do Xfce. Xfdesktop configura a imagem/cor do plano de fundo, cria o menu do botão direito e a lista de janelas e exibe os ícones dos arquivos na área de trabalho usando as bibliotecas do Thunar.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.xfce.org/src/xfce/xfdesktop/4.18/xfdesktop-4.18.1.tar.bz2
Soma de verificação MD5 da transferência: e675c2989436dc724fef402d1db0125d
Tamanho da transferência: 2,1 MB
Espaço em disco estimado exigido: 21 MB
Tempo de construção estimado: 0,1 UPC
libnotify-0.8.1, startup-notification-0.12 e thunar-4.18.4
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xfdesktop
Instale o Xfdesktop 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
Xfwm4 é o gerenciador de janelas para o Xfce.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.xfce.org/src/xfce/xfwm4/4.18/xfwm4-4.18.0.tar.bz2
Soma de verificação MD5 da transferência: 181415e457c86124fa5f8aa5d715b967
Tamanho da transferência: 1,2 MB
Espaço em disco estimado exigido: 27 MB
Tempo de construção estimado: 0,2 UPC
libwnck-43.0 e libxfce4ui-4.18.2
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xfwm4
Instale o Xfwm4 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
é o gerenciador de janelas do Xfce |
|
é um aplicativo GTK+ 3 que permite configurar algumas preferências, como o teu tema, atalhos de teclado e comportamento do foco do mouse |
|
é um aplicativo GTK+ 3 que permite configurar mais algumas preferências para o Xfwm4 |
|
é um aplicativo GTK+ 3 que permite configurar tuas preferências de espaço de trabalho |
Xfce4 Session é um gerenciador de sessão para o Xfce. A tarefa dele é a de salvar o estado da tua área de trabalho (aplicativos abertos e o local deles) e restaurá-lo durante a próxima iniciação. Você pode criar várias sessões e escolher uma delas na iniciação.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.xfce.org/src/xfce/xfce4-session/4.18/xfce4-session-4.18.1.tar.bz2
Soma de verificação MD5 da transferência: 3f6e20b6f528adcd62085dce7a153297
Tamanho da transferência: 853 KB
Espaço em disco estimado exigido: 15 MB
Tempo de construção estimado: 0,1 UPC
libwnck-43.0 e libxfce4ui-4.18.2
desktop-file-utils-0.26, xfce4-screensaver ou XScreenSaver-6.06, shared-mime-info-2.2 e polkit-gnome-0.105
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xfce4-session
Instale o Xfce4 Session executando os seguintes comandos:
./configure --prefix=/usr \ --sysconfdir=/etc \ --disable-legacy-sm && make
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install
--disable-legacy-sm
:
Essa chave desabilita o gerenciamento de sessões legadas que
não é necessário em sistemas modernos.
Existem várias dependências opcionais de tempo de execução para o Xfce4: dbus-1.14.6, GnuPG-2.4.0, hicolor-icon-theme-0.17 e OpenSSH-9.2p1
Ao construir um pacote do Xfce4, alguns arquivos de configuração
são instalados em /usr/share/applications
, /usr/share/icons
e /usr/share/mime
. Para a finalidade de usar
esses arquivos em tua sessão do Xfce4, você precisa atualizar várias
bases de dados. Faça isso executando, como o(a) usuário(a)
root
(você precisa ter as
dependências recomendadas instaladas):
update-desktop-database && update-mime-database /usr/share/mime
Você pode iniciar o Xfce4 a partir de um TTY usando o xinit-1.4.2 ou a partir de um gerenciador gráfico de tela, como o lightdm-1.32.0.
Para iniciar o Xfce4 usando o xinit-1.4.2, execute os seguintes comandos:
cat > ~/.xinitrc << "EOF"
dbus-launch --exit-with-x11 startxfce4
EOF
startx
A sessão do X inicia no primeiro terminal virtual não usado, normalmente vt7. Você pode 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 propósitos de depuração. Isso pode ser feito iniciando 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, pressione simultaneamente as teclas Alt-F7 (assumindo que o X estava executando no vt7).
Esta é uma pequena coleção de aplicativos opcionais que adicionam recursos extras para a tua área de trabalho do Xfce.
Parole é um reprodutor de DVD/CD/música para o Xfce que usa o GStreamer.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Embora essa versão do Parole funcione com a maioria dos arquivos, ela é inapta para reproduzir DVDs, informando um erro na estrutura de retaguarda do GStreamer.
Transferência (HTTP): https://archive.xfce.org/src/apps/parole/4.18/parole-4.18.0.tar.bz2
Soma de verificação MD5 da transferência: 319cd9bdbda677f93c390edaac91ca45
Tamanho da transferência: 912 KB
Espaço em disco estimado exigido: 18 MB
Tempo de construção estimado: 0,2 UPC
gst-plugins-base-1.22.0, gst-plugins-good-1.22.0 e libxfce4ui-4.18.2
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/parole
Instale o Parole 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ê tiver instalado o Gstreamer Plugins Ugly com suporte para libdvdnav e libdvdread e gostaria de usar o Parole para reproduzir um DVD, clique em Mídia> Abra o local e digite dvd:// na caixa.
Similarmente, para reproduzir um CD, clique em Mídia> Abra o local e digite cdda:// na caixa.
Terminal do Xfce4 é um emulador de terminal GTK+3. Isso é útil para executar comandos ou aplicativos no conforto de uma janela do Xorg; você pode arrastar e soltar arquivos no Terminal do Xfce4 ou copiar e colar texto com o teu mouse.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.xfce.org/src/apps/xfce4-terminal/1.0/xfce4-terminal-1.0.4.tar.bz2
Soma de verificação MD5 da transferência: c025d9d99c1e8489469e5d4f2b994600
Tamanho da transferência: 1,0 MB
Espaço em disco estimado exigido: 16 MB
Tempo de construção estimado: 0,1 UPC
libxfce4ui-4.18.2 e VTE-0.70.3
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xfce4-terminal
Instale o Terminal do Xfce4 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
Xfburn é uma interface GUI GTK+ 3 para a Libisoburn. Isso é útil para criar CDs e DVDs a partir de arquivos em teu computador ou imagens ISO baixadas a partir de outro lugar.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.xfce.org/src/apps/xfburn/0.6/xfburn-0.6.2.tar.bz2
Soma de verificação MD5 da transferência: f4666de100f62fac070b5840e8b98014
Tamanho da transferência: 852 KB
Espaço em disco estimado exigido: 16 MB
Tempo de construção estimado: menos que 0,1 UPC
Exo-4.18.0, libburn-1.5.4, libisofs-1.5.4 e libxfce4ui-4.18.2
gst-plugins-base-1.22.0 e Cdrdao-1.2.4 (tempo de execução)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xfburn
Instale o Xfburn 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
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
Ristretto é um visualizador de imagens rápido e leve para a área de trabalho do Xfce.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.xfce.org/src/apps/ristretto/0.13/ristretto-0.13.0.tar.bz2
Soma de verificação MD5 da transferência: 2f3a641fb4b9620a43575c932eb20dcd
Tamanho da transferência: 610 KB
Espaço em disco estimado exigido: 11 MB
Tempo de construção estimado: 0,1 UPC
libexif-0.6.24 e libxfce4ui-4.18.2
tumbler-4.18.0 (tempo de execução)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/ristretto
Instale o Ristretto 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
As Ferramentas de Desenvolvimento do Xfce4 são uma coleção de ferramentas e macros para construir algumas aplicações do Xfce.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): http://archive.xfce.org/src/xfce/xfce4-dev-tools/4.18/xfce4-dev-tools-4.18.0.tar.bz2
Soma de verificação MD5 da transferência: 24ea05b8f77365f17c9d63263816ec11
Tamanho da transferência: 341 KB
Espaço em disco estimado exigido: 2,5 MB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xfce4-dev-tools
Instale as Ferramentas de Desenvolvimento do Xfce4 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
O Processo de Segundo Plano de Notificação do Xfce4 é um pequeno aplicativo que implementa a parte "do lado do servidor" da especificação de notificações de área de trabalho do Freedesktop. Os aplicativos que desejam exibir um balão de notificação de maneira padrão podem usar o Xfce4-Notifyd para fazer isso, enviando mensagens padrão pelo D-Bus usando a interface org.freedesktop.Notifications.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.xfce.org/src/apps/xfce4-notifyd/0.8/xfce4-notifyd-0.8.1.tar.bz2
Soma de verificação MD5 da transferência: 298e2bda1cd3b9f2a63b6cf398a46536
Tamanho da transferência: 535 KB
Espaço em disco estimado exigido: 10,0 MB
Tempo de construção estimado: menos que 0,1 UPC
libnotify-0.8.1, libxfce4ui-4.18.2, xfce4-dev-tools-4.18.0 e xfce4-panel-4.18.2
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xfce4-notifyd
Instale o Processo de Segundo Plano de Notificação do Xfce4 executando 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
Você pode testar o processo de segundo plano de notificação com o comando notify-send, para ser executado em um ambiente gráfico:
notify-send -i info Information "Olá ${USER}; Isto é um Teste"
O Plugin Pulseaudio do Xfce4 é um plugin para o painel do Xfce que fornece uma maneira conveniente de ajustar o volume do áudio do sistema de som PulseAudio e para uma ferramenta de mixagem automática como o pavucontrol. Opcionalmente, ele pode lidar com teclas multimídia para controlar o volume do áudio.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.xfce.org/src/panel-plugins/xfce4-pulseaudio-plugin/0.4/xfce4-pulseaudio-plugin-0.4.5.tar.bz2
Soma de verificação MD5 da transferência: c6fe6cef01aa1786d388c51a6ed2ec5c
Tamanho da transferência: 388 KB
Espaço em disco estimado exigido: 6,8 MB
Tempo de construção estimado: menos que 0,1 UPC
dbus-glib-0.112, libnotify-0.8.1, PulseAudio-16.1 e xfce4-panel-4.18.2
keybinder-3.0-0.3.2 e pavucontrol-5.0 (tempo de execução)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xfce4-pulseaudio-plugin
Instale o Plugin Pulseaudio do Xfce4 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
LXDE é um ambiente de área de trabalho de desempenho extremamente rápido e de economia de eletricidade.
O LXDE vem com uma interface bonita, suporte a vários idiomas, atalhos padrão de teclado e recursos adicionais, como navegação em arquivos com guias. O LXDE usa menos CPU e menos RAM que outros ambientes. Ele é especialmente projetado para computadores em nuvem com especificações baixas de hardware, como netbooks, dispositivos móveis (por exemplo, MIDs) ou computadores mais antigos.
Construa os pacotes centrais do LXDE na ordem apresentada no livro para a mais fácil resolução de dependências.
O pacote LXMenu Data fornece os arquivos exigidos para construir menus de área de trabalho compatíveis com as especificações de menu da freedesktop.org para o LXDE.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/lxde/lxmenu-data-0.1.5.tar.xz
Soma de verificação MD5 da transferência: cc1989444284a65dbc7047348a68d6d4
Tamanho da transferência: 196 KB
Espaço em disco estimado exigido: 2,1 MB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/lxmenu-data
Instale o LXMenu Data executando 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
O pacote libfm-extra contém uma biblioteca e outros arquivos exigidos pelo menu-cache-gen libexec do menu-cache-1.1.0.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/pcmanfm/libfm-1.3.2.tar.xz
Soma de verificação MD5 da transferência: c87a0ff41ae77825079b2f785ec0741e
Tamanho da transferência: 924 KB
Espaço em disco estimado exigido: 11 MB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libfm-extra
Instale o libfm-extra executando os seguintes comandos:
./configure --prefix=/usr \ --sysconfdir=/etc \ --with-extra-only \ --with-gtk=no \ --disable-static && make
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install
--with-extra-only
:
Essa chave desabilita todos os componentes, exceto a
biblioteca libfm-extra.
--with-gtk=no
: Essa
chave desabilita o suporte para GTK+ porque ele não é necessário para
esse pacote.
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
O pacote Menu Cache contém uma biblioteca para criar e utilizar caches para acelerar a manipulação de menus de aplicativos definidos pela freedesktop.org.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/lxde/menu-cache-1.1.0.tar.xz
Soma de verificação MD5 da transferência: 99999a0bca48b980105208760c8fd893
Tamanho da transferência: 260 KB
Espaço em disco estimado exigido: 3,7 MB
Tempo de construção estimado: menos que 0,1 UPC
GTK-Doc-1.33.2 e xdg-utils-1.1.3
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/menu-cache
Primeiro, corrija um vazamento de memória e problemas de “múltiplas definições”:
patch -Np1 -i ../menu-cache-1.1.0-consolidated_fixes-1.patch
Instale o Menu Cache 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
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
--enable-gtk-doc
: Use essa opção
se o GTK-Doc estiver
instalado e você desejar construir e instalar a documentação
da API.
O pacote libfm contém uma biblioteca usada para desenvolver gerenciadores de arquivos fornecendo alguns utilitários de gerenciamento de arquivos.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/pcmanfm/libfm-1.3.2.tar.xz
Soma de verificação MD5 da transferência: c87a0ff41ae77825079b2f785ec0741e
Tamanho da transferência: 924 KB
Espaço em disco estimado exigido: 36 MB
Tempo de construção estimado: 0,3 UPC
GTK+-2.24.33 ou GTK+-3.24.36 (GTK+-2 recomendado já que o suporte GTK+-3 do LXDE ainda é experimental) e menu-cache-1.1.0
libexif-0.6.24, Vala-0.56.4 e lxmenu-data-0.1.5
GTK-Doc-1.33.2, dbus-glib-0.112 e Gvfs-1.50.3 ou udisks (para gerenciamento de volumes - experimental)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libfm
Instale o libfm executando os seguintes comandos:
./configure --prefix=/usr \ --sysconfdir=/etc \ --disable-static && make
Para testar os resultados, emita: make check.
Agora, como o(a) usuário(a) root
:
make install
--with-gtk=3
: Essa opção
seleciona a versão do gtk+ a usar. O padrão é gtk+-2.
--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.
O pacote PCManFM contém um gerenciador de arquivos extremamente rápido, leve, mas rico em recursos, com navegação por guias.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/pcmanfm/pcmanfm-1.3.2.tar.xz
Soma de verificação MD5 da transferência: ef7c4417d2697ef138d175db7aeae15a
Tamanho da transferência: 416 KB
Espaço em disco estimado exigido: 11 MB
Tempo de construção estimado: 0,1 UPC
adwaita-icon-theme-43 ou oxygen-icons5-5.103.0 ou lxde-icon-theme-0.5.1 e FriBidi-1.0.12
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/pcmanfm
Instale o PCManFM executando 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
--with-gtk=3
: Seleciona a versão
do GTK+ a usar. Você precisa usar essa chave se tiver
construído libfm-1.3.2 com suporte GTK+3.
O pacote libwnck contém um kit de construção de navegador de janelas.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/libwnck/2.30/libwnck-2.30.7.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/libwnck/2.30/libwnck-2.30.7.tar.xz
Soma de verificação MD5 da transferência: 3d20f26105a2fd878899d6ecdbe9a082
Tamanho da transferência: 612 KB
Espaço em disco estimado exigido: 16 MB
Tempo de construção estimado: 0,2 UPC
gobject-introspection-1.74.0 e GTK-Doc-1.33.2
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libwnck2
Instale o libwnck executando os seguintes comandos:
./configure --prefix=/usr \ --disable-static \ --program-suffix=-1 && make GETTEXT_PACKAGE=libwnck-1
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make GETTEXT_PACKAGE=libwnck-1 install
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
--program-suffix=-1
:
Essa opção adiciona -1 ao final dos nomes dos aplicativos
instalados para evitar sobrescrever os aplicativos instalados
por libwnck-43.0.
GETTEXT_PACKAGE=libwnck-1
: Esse
parâmetro adiciona -1 ao final dos nomes dos arquivos gettext
instalados pelo pacote para evitar sobrescrever os arquivos
instalados por libwnck-43.0.
--enable-gtk-doc
: Use esse
parâmetro se GTK-Doc estiver
instalado e você desejar reconstruir e instalar a
documentação da API.
O pacote LXPanel contém um painel leve de área de trabalho do X11.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/lxde/lxpanel-0.10.1.tar.xz
Soma de verificação MD5 da transferência: c922d044789c3d7ae028f0e80dea18b0
Tamanho da transferência: 1,5 MB
Espaço em disco estimado exigido: 30 MB
Tempo de construção estimado: 0,3 UPC
gdk-pixbuf-xlib-2.40.2, keybinder-0.3.1, libwnck-2.30.7, lxmenu-data-0.1.5 e menu-cache-1.1.0
alsa-lib-1.2.8, gnome-screenshot-41.0 (para fazer capturas de tela usando o PrtScr), libxml2-2.10.3 (plugin de clima) e Wireless Tools-29
libindicator (plugin indicador)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/lxpanel
Instale o LXPanel 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
O pacote LXAppearance contém um comutador de tema independente de área de trabalho para GTK+.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/lxde/lxappearance-0.6.3.tar.xz
Soma de verificação MD5 da transferência: f10345313e2c12bad51c1b58bd46b454
Tamanho da transferência: 164 KB
Espaço em disco estimado exigido: 3,2 MB
Tempo de construção estimado: menos que 0,1 UPC
libxslt-1.1.37 com docbook-xml-4.5 e docbook-xsl-nons-1.79.2 (para construir páginas de manual)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/lxappearance
Instale o LXAppearance executando os seguintes comandos:
./configure --prefix=/usr \ --sysconfdir=/etc \ --enable-dbus && make
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install
--enable-dbus
: Essa
chave habilita o suporte DBus no LXAppearance, o que é útil para
comunicação com o LXSession.
Remova-o se você não estiver construindo o LXDE ou não tiver instalado o dbus-glib-0.112.
--enable-man
: Use essa chave se
você tiver instalado dependências opcionais e desejar
reconstruir as páginas de manual.
O pacote LXSession contém o gerenciador padrão de sessão para o LXDE.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/lxde/lxsession-0.5.5.tar.xz
Soma de verificação MD5 da transferência: e8380acef215ee7c99c067a2241c2c7b
Tamanho da transferência: 416 KB
Espaço em disco estimado exigido: 22 MB
Tempo de construção estimado: 0,1 UPC
dbus-glib-0.112, libunique-1.1.6, Polkit-122 e Vala-0.56.4
lsb-tools-0.10 (pode ser usado em tempo de execução para exibir o lançamento da distribuição na caixa de diálogo de logout), GTK+-3.24.36 e libxslt-1.1.37 com docbook-xml-4.5 e docbook-xsl-nons-1.79.2 (para construir páginas de manual)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/lxsession
Instale o LXSession executando os seguintes comandos:
./configure --prefix=/usr --disable-man && make
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install
--disable-man
: Essa
chave desabilita a construção das páginas de manual. Remova-a
se você tiver instalado dependências opcionais e desejar
construir as páginas de manual.
--enable-gtk3
: Constrói contra o
GTK+-3 em vez de
GTK+-2, o que é exigido de
qualquer maneira pela libunique.
é um utilitário de área de transferência para LXSession e LXDE |
|
trava a tela local do X até que uma senha seja digitada |
|
é um agente polkit |
|
é um gerenciador leve de sessões do X |
|
é usado para modificar a base de dados para gerenciar sessões no lxsession |
|
inicia aplicativos padrão configurados pelo LXsession |
|
é um utilitário para configurar o lxsession e os aplicativos padrão dele |
|
inicia o terminal padrão configurado pelo LXSession |
|
é o gerenciador padrão de edição de sessão usado pelo LXDE |
|
é um aplicativo para sair do LXSession |
|
lida com as especificações de inicialização automática da freedesktop.org |
|
é uma ferramenta para configurar temas gtk+, teclado e mouse para você na iniciação da sessão |
|
é o processo de segundo plano de configurações para o LXsession |
O pacote LXDE Common fornece um conjunto de configurações padrão para o LXDE.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/lxde/lxde-common-0.99.2.tar.xz
Soma de verificação MD5 da transferência: 14a9d19c4576dc15d985453ccb8ca9f6
Tamanho da transferência: 869 KB
Espaço em disco estimado exigido: 2,7 MB
Tempo de construção estimado: menos que 0,1 UPC
lxde-icon-theme-0.5.1, LXPanel-0.10.1, LXSession-0.5.5, openbox-3.6.1 (tempo de execução) e PCManFM-1.3.2
desktop-file-utils-0.26, hicolor-icon-theme-0.17 e shared-mime-info-2.2
Um processo de segundo plano de notificação, como o notification-daemon-3.20.0 ou xfce4-notifyd-0.8.1, e um gerenciador de tela, como o lxdm-0.5.3 ou lightdm-1.32.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/lxde-common
Instale o LXDE Common executando 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
Se você tiver instalado as dependências recomendadas, execute
os seguintes comandos como o(a) usuário(a) root
:
update-mime-database /usr/share/mime && gtk-update-icon-cache -qf /usr/share/icons/hicolor && update-desktop-database -q
Você pode iniciar o LXDE a partir do nível de execução 3, usando o xinit-1.4.2, ou a partir do nível de execução 5, usando um Gerenciador de Tela, como o lxdm-0.5.3.
Para iniciar o LXDE usando o xinit-1.4.2, execute os seguintes comandos:
cat > ~/.xinitrc << "EOF"
# Não precisa executar o dbus-launch, pois ele é executado pelo startlxde
startlxde
EOF
startx
A sessão do X inicia no primeiro terminal virtual não usado, normalmente vt7. Você pode 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, o que não apenas manterá o vt inicial organizado, mas também poderá ser usado para propósitos de depuração. Isso pode ser feito iniciando 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ê desejar ver essas mensagens, pressione simultaneamente as teclas Alt-F7 (assumindo que o X estava executando no vt7).
Esta é uma pequena coleção de aplicativos opcionais que adicionam recursos extras para a área de trabalho do LXDE.
O pacote GPicView contém um visualizador leve de imagens.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/lxde/gpicview-0.2.5.tar.xz
Soma de verificação MD5 da transferência: 26be9b0c5a234f1afe7d83d02a4a33f4
Tamanho da transferência: 344 KB
Espaço em disco estimado exigido: 6,5 MB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gpicview
Instale o GPicView 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 && sed -i 's/Utility;//' /usr/share/applications/gpicview.desktop
Se tiver o xdg-utils-1.1.3 instalado, como o(a)
usuário(a) root
, você deveria
executar o comando xdg-icon-resource forceupdate --theme
hicolor, para que o ícone instalado seja
exibido no item de menu.
sed -i ...: Corrige o submenu para o GPicView.
O pacote LXAppearance OBconf contém um plugin para o LXAppearance para configurar o OpenBox.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/lxde/lxappearance-obconf-0.2.3.tar.xz
Soma de verificação MD5 da transferência: ae0076d489aa786f5d573f7ff592a4ab
Tamanho da transferência: 284 KB
Espaço em disco estimado exigido: 4,6 MB
Tempo de construção estimado: 0,1 UPC
LXAppearance-0.6.3 e openbox-3.6.1
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/lxappearance-obconf
Instale o LXAppearance OBconf 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
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
O pacote LXInput contém um pequeno aplicativo usado para configurar teclado e mouse para o LXDE.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/lxde/lxinput-0.3.5.tar.xz
Soma de verificação MD5 da transferência: 69680debaef053d540ae3a5f4b237150
Tamanho da transferência: 144 KB
Espaço em disco estimado exigido: 2,5 MB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/lxinput
Instale o LXInput 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
O pacote LXRandR contém uma ferramenta de configuração de monitor para o LXDE.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/lxde/lxrandr-0.3.2.tar.xz
Soma de verificação MD5 da transferência: 5101ab29d87fb2b56a5ec5bc8bc3f258
Tamanho da transferência: 132 KB
Espaço em disco estimado exigido: 1,8 MB
Tempo de construção estimado: menos que 0,1 UPC
GTK+-2.24.33 e Aplicativos do Xorg
libxslt-1.1.37 com docbook-xml-4.5 e docbook-xsl-nons-1.79.2 (para construir páginas de manual)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/lxrandr
Instale o LXRandR 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
--enable-man
: Use essa chave se
você tiver instalado dependências opcionais e desejar
construir as páginas de manual.
O pacote LXTask contém um gerenciador de tarefas leve e independente da área de trabalho.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/lxde/lxtask-0.1.10.tar.xz
Soma de verificação MD5 da transferência: 27b5258847afc237a5b89666e7a8b45b
Tamanho da transferência: 136 KB
Espaço em disco estimado exigido: 3,5 MB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/lxtask
Instale o LXTask 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
Vte é uma biblioteca (libvte) que implementa uma pequena engenhoca de emulador de terminal para GTK+ 2 e um aplicativo mínimo de demonstração (vte) que usa a libvte.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/vte/0.28/vte-0.28.2.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/vte/0.28/vte-0.28.2.tar.xz
Soma de verificação MD5 da transferência: 497f26e457308649e6ece32b3bb142ff
Tamanho da transferência: 940 KB
Espaço em disco estimado exigido: 33 MB
Tempo de construção estimado: 0,5 UPC
gobject-introspection-1.74.0, GTK-Doc-1.33.2 e PyGTK-2.24.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/vte2
Instale o Vte executando os seguintes comandos:
./configure --prefix=/usr \ --libexecdir=/usr/lib/vte \ --disable-static && make
Para testar os resultados, emita: make check.
Agora, como o(a) usuário(a) root
:
make install
--libexecdir=/usr/lib/vte
:
tanto esse pacote quanto o VTE-0.70.3 instalam arquivos de mesmo nome.
Essa chave garante que eles não se sobrescrevam se ambos
forem instalados.
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
O pacote LXTerminal contém um emulador de terminal baseado em VTE para o LXDE com suporte para múltiplas guias.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/lxde/lxterminal-0.4.0.tar.xz
Soma de verificação MD5 da transferência: 7938dbd50e3826c11f4735a742b278d3
Tamanho da transferência: 197 KB
Espaço em disco estimado exigido: 4,5 MB
Tempo de construção estimado: menos que 0,1 UPC
libxslt-1.1.37 com docbook-xml-4.5 e docbook-xsl-nons-1.79.2 (para construir páginas de manual)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/lxterminal
Instale o LXTerminal 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
--enable-man
: Use essa chave se
você tiver instalado dependências opcionais e desejar
construir as páginas de manual.
Este capítulo é uma coleção de aplicativos que são úteis para visualizar ou editar documentos de escritório. Alguns se especializam em fazer uma coisa (como processar texto ou manipular uma planilha). LibreOffice é uma suíte de aplicativos que pode manipular muitos formatos, incluindo apresentações em PowerPoint.
AbiWord é um processador de texto útil para escrever informes, cartas e outros documentos formatados.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.abisource.com/downloads/abiword/3.0.5/source/abiword-3.0.5.tar.gz
Soma de verificação MD5 da transferência: a8f218b711450e4ccae43a0522e0e806
Tamanho da transferência: 11 MB
Espaço em disco estimado exigido: 690 MB, com documentos (76 MB instalado)
Tempo de construção estimado: 2,4 UPC (Usando paralelismo=4, com documentos)
Documentos do AbiWord: https://www.abisource.com/downloads/abiword/3.0.2/source/abiword-docs-3.0.2.tar.gz
Soma de verificação MD5 dos Documentos do AbiWord: c92c0e1e2081db20757231a53d80c338
Tamanho dos Documentos do AbiWord: 1,5 MB
Boost-1.81.0, cURL-7.88.1, FriBidi-1.0.12, GOffice-0.10.55 e wv-1.2.9
dbus-glib-0.112, evolution-data-server-3.46.4, gobject-introspection-1.74.0, libchamplain-0.12.21, libgcrypt-1.10.1, libical-3.0.16, libsoup-2.74.3, Redland-1.0.17, telepathy-glib-0.24.2, Valgrind-3.20.0, Aiksaurus, GtkMathView, libwmf, libwpd, libwpg, libwps, Analisador Link Grammar, Loudmouth, OTS e Psiconv
Para habilitar muitas das dependências opcionais, revise as informações provenientes de ./configure --help para as chaves necessárias que você precisa passar para o conjunto de comandos sequenciais configure.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/abiword
Instale o AbiWord executando os seguintes comandos:
sed -e "s/free_suggestions/free_string_list/" \ -e "s/_to_personal//" \ -e "s/in_session/added/" \ -i src/af/xap/xp/enchant_checker.cpp && ./configure --prefix=/usr && make
Esse aplicativo não vem com uma suíte funcional de teste.
Agora, como o(a) usuário(a) root
:
make install
Para a finalidade de instalar os arquivos locais de ajuda, uma sessão gráfica é recomendada.
Se você deseja instalar os arquivos locais de ajuda, desempacote-os e construa-os primeiro:
A versão atual dos documentos se expande para abiword-docs-3.0.1 e não o esperado abiword-docs-3.0.2.
tar -xf ../abiword-docs-3.0.2.tar.gz && cd abiword-docs-3.0.1 && ./configure --prefix=/usr && make
e então, como o(a) usuário(a) root
:
make install
sed ...: Esse comando corrige o fonte para mudanças na dependência enchant-2.3.3.
--enable-plugins="collab openxml goffice
grammar"
: Construa alguns ou todos os plugins. O
plugin openxml habilita o Abiword para abrir alguns arquivos
.docx. O plugin grammar exige Analisador
Link Grammar
Escolha o modelo correto para teu idioma e localidade a partir da lista produzida pelo seguinte comando:
ls /usr/share/abiword-3.0/templates
Crie a pasta ~/.AbiSuite/templates
e, então, copie o
normal.awt
que você queira
para ela:
install -v -m750 -d ~/.AbiSuite/templates &&
install -v -m640 /usr/share/abiword-3.0/templates/normal.awt-<idioma>
\
~/.AbiSuite/templates/normal.awt
Mude <idioma>
pelo comando
acima para ajustar o nome do arquivo que você queira.
Se estiver usando vários idiomas, você possivelmente necessite editar o modelo para usar uma fonte com maior cobertura (por exemplo, uma das Fontes "Dejavu", porque o Abiword não usa fontconfig e somente consegue exibir glifos que sejam fornecidos na fonte escolhida.
Se tiver desktop-file-utils-0.26 instalado, você deveria executar o comando update-desktop-database para atualizar o cache mimeinfo e permitir que o sistema de Ajuda funcione.
Se tiver xdg-utils-1.1.3 instalado, você deveria executar o comando xdg-icon-resource forceupdate --theme hicolor, para que o ícone instalado seja exibido no item de menu.
O pacote Gnumeric contém um aplicativo de planilha que é útil para análise matemática.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/gnumeric/1.12/gnumeric-1.12.55.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gnumeric/1.12/gnumeric-1.12.55.tar.xz
Soma de verificação MD5 da transferência: 76ab216b25c48b4f5fbf05f73e1ca7d9
Tamanho da transferência: 17 MB
Espaço em disco estimado exigido: 243 MB (adicionar 4 MB para os testes)
Tempo de construção estimado: 0,7 UPC (Usando paralelismo=4; adicionar 3,6 UPC para testes)
GOffice-0.10.55 e itstool-2.0.7
um tema de ícone, como o adwaita-icon-theme-43, oxygen-icons5-5.103.0 ou gnome-icon-theme-3.12.0; um ambiente gráfico e Yelp-42.2 para a funcionalidade de ajuda integrada
DConf-0.40.0 (para evitar algumas falhas de testes), gobject-introspection-1.74.0, PyGObject-3.42.2, Valgrind-3.20.0 (para alguns testes), dblatex (para documentos PDF), libgda, Mono, pxlib e Psiconv
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gnumeric
Instale o Gnumeric executando os seguintes comandos:
./configure --prefix=/usr && make
Esse pacote precisa ser instalado antes da suíte de teste ser executada.
Agora, como o(a) usuário(a) root
:
make install
Para executar os testes, emita make check. Os testes deveriam ser executados a partir de uma sessão ativa do X e DConf-0.40.0 deveria ser instalado para evitar algumas falhas. Três testes são conhecidos por falharem relacionados ao valgrind.
--enable-pdfdocs
: Use essa chave
se você tiver instalado o dblatex e desejar criar documentos
PDF.
é um link simbólico para gnumeric-1.12.55 |
|
é o aplicativo de planilha do GNOME |
|
é um utilitário de linha de comando para converter arquivos de planilha entre vários formatos de arquivo de planilha |
|
é um utilitário de linha de comando para comparar duas planilhas |
|
é um utilitário de linha de comando para pesquisar sequências de caracteres em planilhas |
|
é um utilitário de linha de comando para gerar dados de índice para arquivos de planilha |
|
contém as funções da API do gnumeric |
LibreOffice é uma suíte de escritório completa. É amplamente compatível com o Microsoft Office e é descendente do OpenOffice.org.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência Central: https://download.documentfoundation.org/libreoffice/src/7.5.0/libreoffice-7.5.0.3.tar.xz
Soma de verificação MD5 da Transferência Central: 3e7066685b3e786af93ec581ca377496
Tamanho da Transferência Central: 254 MB
Espaço em disco estimado exigido: 7,1 GB incluindo os arquivos adicionais se baixados durante a construção (748 MB instalados). A instalação de todo o conjunto de idiomas exige mais que 25 GB (cerca de 3 GB instalados)
Tempo de construção estimado: 48 UPC com paralelismo=4 (com variação devido ao tempo de transferência)
Cerca de 80 pequenos tarballs e arquivos zip serão baixados durante a construção. O tempo de transferência variará com a velocidade local da Internet e carga do servidor. O tempo de transferência é de cerca de 3 minutos em uma conexão de fibra, provavelmente não muito mais que 10 minutos em uma conexão ADSL. Se você não tiver baixado um ou mais dos itens a seguir, eles também serão baixados durante a construção.
Dicionários: https://download.documentfoundation.org/libreoffice/src/7.5.0/libreoffice-dictionaries-7.5.0.3.tar.xz
Soma de verificação MD5 dos Dicionários: 92eb0d4314f80097bcc9c42cd209c4b7
Tamanho dos Dicionários: 50 MB
Arquivos de Ajuda: https://download.documentfoundation.org/libreoffice/src/7.5.0/libreoffice-help-7.5.0.3.tar.xz
Soma de verificação MD5 dos Arquivos de Ajuda: 0a9ecec80eedd5c01c7b92281f4e4f1a
Tamanho dos Arquivos de Ajuda: 159 MB
Soma de verificação MD5 das Traduções: 52cf1d0f987e4a5dd559dd45ac23fb91
Tamanho das Traduções: 195 MB
Archive-Zip-1.68, UnZip-6.0, Wget-1.21.3, Which-2.21 e Zip-3.0
A maioria desses pacotes é recomendada porque, se não estiverem instalados, o processo de construção compilará e instalará a própria versão dela (geralmente mais antiga), com o efeito colateral de aumentar o espaço em disco instalado e o tempo de construção.
apache-ant-1.10.13, Boost-1.81.0, CLucene-2.3.3.4, Cups-2.4.2, cURL-7.88.1, dbus-glib-0.112, libepoxy-1.5.10, libjpeg-turbo-2.1.5.1, LLVM-15.0.7 (clang é preferido para renderizar com skia), GLM-0.9.9.8, GLU-9.0.2, GPGME-1.18.0, Graphite2-1.3.14, gst-plugins-base-1.22.0, GTK+-3.24.36, HarfBuzz-7.0.0, ICU-72.1, libatomic_ops-7.6.14, Little CMS-2.14, librsvg-2.54.5, libtiff-4.5.0, libwebp-1.3.0, libxml2-2.10.3 e libxslt-1.1.37, lxml-4.9.2, Mesa-22.3.5, nss-3.88.1, OpenLDAP-2.6.4 (se conectar a um servidor LDAP), Poppler-23.02.0, PostgreSQL-15.2, Redland-1.0.17 e unixODBC-2.3.11
Avahi-0.8, BlueZ-5.66, DConf-0.40.0, desktop-file-utils-0.26, Doxygen-1.9.6 (não relevante se usar --disable-odk), evolution-data-server-3.46.4, GDB-13.1, GnuTLS-3.8.0, KDE Frameworks-5.103.0, libpaper-1.1.24+nmu5, MariaDB-10.6.12 ou MySQL, MIT Kerberos V5-1.20.1, NASM-2.16.01, SANE-1.0.32, telepathy-glib-0.24.2, Valgrind-3.20.0, VLC-3.0.18, Codificador Apache Commons, Apache Commons HttpClient, Apache Commons Lang, Apache Commons Logging, BeanShell, box2d, CoinMP, Cppunit, Firebird, glyphy, Gnome VFS, hamcrest, Hunspell, Hyphen, iwyu, junit4, libabw, libcdr, libcmis, libebook, libepubgen, libetonyek, libexttextcat, libfreehand, liblangtag, libmspub, libmwaw, libnumbertext, libodfgen, libpagemaker, libqrcodegen, libqxp, librevenge (importador de documentos WordPerfect), libstaroffice, libvisio, libwpd, libwpg, libwps, libzmf, lp_solve, mdds, MyThes, odfvalidator, officeotron, OpenCOLLADA, Orcus, SystemTap e VIGRA
Existem muitas dependências opcionais não listadas aqui. Elas podem ser encontrados em “download.lst” (diretório do fonte).
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libreoffice
Ao contrário de outros pacotes, presumimos que você ainda
não o tenha desempacotado. Isso é porque a chave
--no-overwrite-dir
é necessária
caso você desempacote como o(a) usuário(a) root
.
tar -xf libreoffice-7.5.0.3.tar.xz --no-overwrite-dir && cd libreoffice-7.5.0.3
Se você tiver baixado os tarballs de dicionários, ajuda e de traduções, crie links simbólicos para eles a partir do diretório do fonte, de forma que não sejam baixados novamente:
install -dm755 external/tarballs && ln -sv ../../../libreoffice-dictionaries-7.5.0.3.tar.xz external/tarballs/ && ln -sv ../../../libreoffice-help-7.5.0.3.tar.xz external/tarballs/ && ln -sv ../../../libreoffice-translations-7.5.0.3.tar.xz external/tarballs/
As instruções no pacote desempacotam alguns tarballs em um local que não pode ser encontrado posteriormente. Crie alguns links simbólicos para ajudar:
ln -sv src/libreoffice-help-7.5.0.3/helpcontent2/ && ln -sv src/libreoffice-dictionaries-7.5.0.3/dictionaries/ && ln -sv src/libreoffice-translations-7.5.0.3/translations/
Durante o processo de construção, alguns pacotes serão baixados (incluindo aqueles listados como dependências recomendadas e opcionais) se eles não estiverem presentes no sistema. Por causa disso, o tempo de construção possivelmente varie do horário publicado mais que o normal.
Devido ao grande tamanho do pacote, você possivelmente
prefira instalá-lo em /opt
, em
vez de /usr
. Dependendo da tua
escolha, substitua <PREFIX>
por
/usr
ou por /opt/libreoffice-7.5.0.3
:
export LO_PREFIX=<PREFIXO>
Os locais "fr" e "en-GB", que você encontrará abaixo, são apenas exemplos; você deveria mudá-los para atender às tuas necessidades - você pode querer ler as "Explicações do Comando", mais abaixo, antes de continuar.
Se você configurou a variável de ambiente ACLOCAL para suportar a instalação do Xorg em /opt, você precisará desconfigurá-la para esse pacote.
Se construir em uma máquina de 32 bits, CFLAGS
está configurada como -Os, o que quebra a
construção. Evite isso emitindo:
case $(uname -m) in i?86) sed /-Os/d -i solenv/gbuild/platform/LINUX_INTEL_GCC.mk ;; esac
A versão mais recente do GPGME quebra a configuração devido a uma mudança na biblioteca. Corrija-o configurando a seguinte variável:
export ac_cv_lib_gpgmepp_progress_callback=yes
Prepare o LibreOffice para compilação executando os seguintes comandos:
sed -e "/gzip -f/d" \ -e "s|.1.gz|.1|g" \ -i bin/distro-install-desktop-integration && sed -e "/distro-install-file-lists/d" -i Makefile.in && ./autogen.sh --prefix=$LO_PREFIX \ --sysconfdir=/etc \ --with-vendor=BLFS \ --with-lang='fr en-GB' \ --with-help \ --with-myspell-dicts \ --without-junit \ --without-system-dicts \ --disable-dconf \ --disable-odk \ --enable-release-build=yes \ --enable-python=system \ --with-jdk-home=/opt/jdk \ --with-system-boost \ --with-system-clucene \ --with-system-curl \ --with-system-epoxy \ --with-system-expat \ --with-system-glm \ --with-system-gpgmepp \ --with-system-graphite \ --with-system-harfbuzz \ --with-system-icu \ --with-system-jpeg \ --with-system-lcms2 \ --with-system-libatomic_ops \ --with-system-libpng \ --with-system-libxml \ --with-system-nss \ --with-system-odbc \ --with-system-openldap \ --with-system-openssl \ --with-system-poppler \ --with-system-postgresql \ --with-system-redland \ --with-system-libtiff \ --with-system-libwebp \ --with-system-zlib
Construa o pacote:
make build
Agora, como o(a) usuário(a) root
:
make distro-pack-install
Se instalado em /opt/libreoffice-7.5.0.3
, alguns passos
adicionais são necessários. Emita os seguintes comandos como
o(a) usuário(a) root
:
if [ "$LO_PREFIX" != "/usr" ]; then # Este link simbólico é necessário para as entradas do menu da área de trabalho ln -svf $LO_PREFIX/lib/libreoffice/program/soffice /usr/bin/libreoffice && # Configure um local genérico independente do número da versão ln -sfv libreoffice-7.5.0.3 /opt/libreoffice # Ícones mkdir -vp /usr/share/pixmaps for i in $LO_PREFIX/share/icons/hicolor/32x32/apps/*; do ln -svf $i /usr/share/pixmaps done && # Entradas do menu da área de trabalho for i in $LO_PREFIX/lib/libreoffice/share/xdg/*; do ln -svf $i /usr/share/applications/libreoffice-$(basename $i) done && # Páginas de manual for i in $LO_PREFIX/share/man/man1/*; do ln -svf $i /usr/share/man/man1/ done unset i fi
Se você tiver instalado o desktop-file-utils-0.26 e
desejar atualizar a base de dados MIME, emita, como o(a)
usuário(a) root
:
update-desktop-database
A suíte e os módulos principais podem ser iniciados a partir
do menu. A partir de um terminal, a suíte pode ser iniciada
com o comando libreoffice e os módulos
com o comando libreoffice
--<módulo>
,
respectivamente, onde <módulo>
é base, calc,
draw, impress, math, web ou writer. Os módulos não podem ser
iniciados usando os nomes deles de script de iniciação do
shell (veja-se "Aplicativos Instalados", abaixo), se
LO_PREFIX for diferente de /usr
, a menos que o diretório $LO_PREFIX/bin
seja adicionado ao PATH.
sed -e ...: O primeiro sed evita a compressão das páginas de manual e o segundo impede a instalação de falhar.
--with-vendor=BLFS
:
Essa chave configura BLFS como o fornecedor mencionado quando
você clica em "Sobre" a partir do menu Ajuda na barra de
ferramentas.
--with-lang='fr
en-GB'
: Essa chave configura quais idiomas
suportar. Para listar vários idiomas, separe-os com um
espaço. Para todos os idiomas, use --with-lang=ALL
. Observe que o
arquivo de tradução não é necessário e não será baixado se
usar apenas en-US como um idioma.
Para uma lista dos idiomas disponíveis, olhe em
solenv/inc/langlist.mk
.
--with-help
: Sem essa
chave, os arquivos de ajuda não são construídos.
--with-jdk-home=/opt/jdk
: Esse
parâmetro silenciará um aviso de que o conjunto de comandos
sequenciais de configuração tentou encontrar JAVA_HOME
automaticamente (mesmo que isso seja passado no ambiente).
Omita isso se você desabilitou o java.
--with-myspell-dicts
:
Essa chave adiciona dicionários myspell ao conjunto de
instalação do LibreOffice.
--with-system-boost
:
Essa chave habilita usar o boost do sistema. De tempos em
tempos, versões recentes do boost quebram a construção do
libreoffice. Nesse caso, é possível usar a cópia agrupada do
boost removendo esse sinalizador.
--disable-dconf
: Essa
chave desabilita compilar o LibreOffice com o suporte do sistema de
configuração GNOME DConf.
--without-junit
: Essa
chave desabilita os testes para o controlador obsoleto HSQLDB
que é escrito em Java.
--without-system-dicts
: Essa
chave desabilita o uso de dicionários originários de caminhos
do sistema, de forma que aqueles instalados por esse pacote
sejam usados.
--disable-odk
: Essa
chave desabilita instalar o kit de desenvolvimento do Office.
Remova se você quiser desenvolver um aplicativo baseado no
LibreOffice.
--enable-release-build=yes
:
Essa chave habilita uma Construção de Lançamento. O
LibreOffice pode ser
construído como uma Construção de Lançamento ou como uma
Construção de Desenvolvedor(a), porque os caminhos padrão de
instalação deles e caminhos de perfil de usuário(a) são
diferentes. A Construção de Desenvolvedor(a) exibe as
palavras "Dev" e "Beta" em vários lugares (por exemplo, menu
e tela inicial).
--enable-python=system
: Essa
chave diz ao LibreOffice
para usar o Python 3
instalado no sistema em vez daquele empacotado.
--with-system-*
:
Essas chaves evitam que o LibreOffice tente compilar as próprias
versões dele dessas dependências. Se você não tiver instalado
algumas das dependências, remova as chaves correspondentes.
make distro-pack-install: Isso faz uma instalação normal, mas se você adicionar uma variável de ambiente DESTDIR, ela também instalará um monte de arquivos (de texto) gid_Module_* no DESTDIR, para ajudar distribuições que queiram quebrar o pacote em partes.
--with-parallelism=<soma>
:
Essa chave diz ao LibreOffice para usar <soma>
Elementos de Processamento de CPU para compilar em paralelo.
(Não inclua colchetes angulares literais). O padrão é o de
usar todos os Elementos de Processamento disponíveis no
sistema.
--disable-cups
: Use essa chave se
você não precisar de suporte para impressão.
--disable-dbus
: Use essa chave se
você não tiver instalado o D-Bus-1.8.0 ou posterior. Ela
também desabilita o suporte a Bluetooth e a instalação de
fontes via PackageKit.
--disable-firebird-sdbc
: Por
padrão, a habilidade de conectar-se a uma base de dados
firebird está habilitada.
Adicione essa chave se você não precisar desse recurso.
--disable-gstreamer-1-0
: Use essa
chave se você não tiver instalado o gst-plugins-base-1.22.0.
--disable-postgresql-sdbc
: Essa
chave desabilita compilar o LibreOffice com a habilidade de
conectar-se a uma base de dados PostgreSQL. Use-a se você não tiver
instalado o PostgreSQL e não
quiser que o LibreOffice
compile a cópia empacotada dele.
--disable-skia
: Use Cairo-1.17.6
para renderizar em vez de skia.
--enable-gtk3-kde5
: Essa chave
permite que a Visual Class Library, que é responsável pelas
pequenas engenhocas, seja construída com caixas de diálogo de
arquivo KF5 se GTK+-3, Qt5 e Plasma estiverem todos
disponíveis.
--enable-lto
: Essa chave
habilitará o Link Time Optimization, o que resulta em
bibliotecas um pouco menores (cerca de 40 MB). Diz-se que
isso faz com que os aplicativos do LibreOffice carreguem mais rápido (e
possivelmente executem mais rápido, por exemplo, ao
recalcular uma planilha). Em uma máquina de 8 Elementos de
Processamento com 16 GB de memória, a diferença nos tempos de
compilação foi mínima, mas 2 GB extras foram usados para os
arquivos de trabalho. Em máquinas com menos processadores ou
falta de memória, a compilação pode ser muito mais lenta.
--without-java
: Essa chave
desabilita o suporte a Java
no LibreOffice. Java é
necessário para o controlador obsoleto HSQLDB, que permite
ler bases de dados criadas por outros aplicativos ou em
versões anteriores do libreoffice base.
--without-fonts
: LibreOffice inclui diversas fontes
TrueType de terceiros(as). Se você já tiver instalado algumas
ou todas as mesmas fontes, possivelmente prefira usar as
versões do sistema.
--enable-kf5
: Constrói com
integração KDE/Plasma. Se o Qt-5.15.8 e (ou) o KDE
Frameworks-5.103.0 não estiverem instalados em
/usr
, os diretórios de inclusão
e biblioteca precisão ser especificados em QT5INC
, QT5LIB
,
KF5INC
e KF5LIB
, respectivamente.
--enable-evolution2
: Habilita o
suporte para catálogos de endereços do Evolution por meio do
Servidor de Dados do Evolution. Observe que o Servidor de
Dados do Evolution precisa estar instalado para esse recurso
funcionar.
é a suíte principal do libreoffice (link simbólico para $LO_PREFIX/lib/libreoffice/program/soffice) |
|
é o conjunto de comandos sequenciais de iniciação do shell do módulo gerenciador de base de dados |
|
é o conjunto de comandos sequenciais de iniciação do shell do módulo de planilha |
|
é o conjunto de comandos sequenciais de iniciação do shell do módulo do editor de gráficos vetoriais e da ferramenta de diagramação |
|
é o conjunto de comandos sequenciais de iniciação do shell do módulo de exibição e o editor de apresentações (PowerPoint) |
|
é o conjunto de comandos sequenciais de iniciação do shell do módulo do editor de fórmulas matemáticas |
|
é o conjunto de comandos sequenciais de iniciação do shell do módulo do editor de HTML |
|
é o conjunto de comandos sequenciais de iniciação do shell do módulo do processador de texto |
|
é uma ferramenta para gerenciar extensões do LibreOffice a partir da linha de comando |
Este capítulo contém uma seleção maravilhosa de navegadores. Nós esperamos que você consiga encontrar um que goste de usar ou faça uma execução de teste com cada um deles.
Epiphany é um navegador da web do GNOME simples, mas poderoso, direcionado a usuários(as) não técnicos(as). Os princípios dele são simplicidade e conformidade com padrões.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/epiphany/43/epiphany-43.1.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/epiphany/43/epiphany-43.1.tar.xz
Soma de verificação MD5 da transferência: b372b3a60975f0284abbb48a3d5ff0e3
Tamanho da transferência: 3,7 MB
Espaço em disco estimado exigido: 60 MB (com os testes)
Tempo de construção estimado: 0,2 UPC (com testes; ambos usando paralelismo=4)
Gcr-3.41.1, gnome-desktop-43.2, ISO Codes-4.12.0, JSON-GLib-1.6.6, libnotify-0.8.1, libportal-0.6, Nettle-3.8.1 e WebKitGTK-2.38.5
libdazzle-3.44.0 e libhandy-1.8.1
gnome-keyring-42.1 (para armazenar senhas) e Seahorse-43.0 (para gerenciar senhas armazenadas)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/epiphany
Instale o Epiphany executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release .. && ninja
Agora, como o(a) usuário(a) root
:
ninja install
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
Um teste falharia se esse pacote não estivesse instalado, de forma que é melhor executar a suíte de teste depois da instalação. Para testar os resultados, emita LC_ALL=en_US.UTF-8 ninja test. Os testes precisam ser executados a partir de uma sessão gráfica.
--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.
Falkon é um navegador da web do KDE que usa o mecanismo de renderização QtWebEngine. Anteriormente era conhecido como QupZilla. O objetivo dele é o de ser um navegador leve da web, disponível em todas as principais plataformas.
Embora o falkon agora faça parte do KDE, ele pode ser instalado sem o KDE (com a perda da funcionalidade do kwallet).
Falkon depende do QtWebEngine. Isso usa uma cópia bifurcada do chromium e, portanto, é vulnerável a muitos problemas encontrados lá. Os(As) desenvolvedores(as) do Qt tem sempre preferido fazer lançamentos ao mesmo tempo que o resto do Qt (em vez de adicionar correções emergenciais). 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) a um ponto em que eles serão construídos com sucesso em um sistema BLFS atual pode exigir muito esforço. Esteja ciente de que futuras correções de vulnerabilidades podem demorar muito, a ponto de você desejar considerar usar um navegador diferente.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.kde.org/stable/release-service/22.12.2/src/falkon-22.12.2.tar.xz
Soma de verificação MD5 da transferência: 4223a2bba71412b805bd7223d9000242
Tamanho da transferência: 2,4 MB
Espaço em disco estimado exigido: 129 MB
Tempo de construção estimado: 1,2 UPC (Usando paralelismo=4)
extra-cmake-modules-5.103.0, KDE Frameworks-5.103.0 (para karchive) e qtwebengine-5.15.12
Estritamente falando, somente o karchive é exigido para construir o falkon, mas vários outros pacotes no KF5 podem ser usados se estiverem presentes. Para construir somente o karchive, baixe esse pacote a partir do diretório especificado em KDE Frameworks-5.103.0 e use as instruções de construção naquela página, mudando $KF5_PREFIX para /usr.
gnome-keyring-42.1, PySide2 e Shiboken2
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/falkon
Instale o falkon executando os seguintes comandos:
mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ .. && make
Para testar os resultados, emita: make test. Todos os testes
deveriam passar. Se algum falhar, os resultados completos
estarão em Testing/Temporary/LastTest.log
.
Agora, como o(a) usuário(a) root
:
make install
Se você instalou o Pyside2,
você irá querer examinar hellopython.py que está no
diretório scripts/
e, talvez,
copiá-lo para o teu diretório inicial.
-DBUILD_TESTING=OFF
: Isso
economizará um pouco de tempo e espaço não construindo os
aplicativos de teste; use isso se você não desejar executar o
teste.
Firefox é um navegador autônomo baseado na base de código Mozilla.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.mozilla.org/pub/firefox/releases/102.8.0esr/source/firefox-102.8.0esr.source.tar.xz
Soma de verificação MD5 da transferência: 2f65e84943e97f6d56d7b07aa1ded135
Tamanho da transferência: 457 MB
Espaço em disco estimado exigido: 7,0 GB (197 MB instalado) sem testes
Tempo de construção estimado: 20 UPC usando -j4, sem testes
O nome do diretório é firefox-102.8.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 esteja
configurado, como o /tmp
, ela
terminará com mensagens de erro:
tar: .: Cannot utime: Operation not permitted
tar: .: Cannot change mode to rwxr-xr-t: Operation not permitted
tar: Exiting with failure status due to previous errors
Isso termina com situação diferente de zero, mas
NÃO significa que
existe um problema real. Não desempacote como o(a)
usuário(a) root
em um
diretório onde o bit sticky esteja configurado - isso irá
desconfigurá-lo.
Tal como acontece com outros pacotes grandes que usam C++ (ou rust), os tempos de UPC para construir isso variam mais amplamente que você poderia esperar. Os tempos de construção aumentarão significativamente se tua máquina tiver que trocar.
Embora o(a) desenvolvedor(a) prefira usar PulseAudio, no momento Alsa ainda pode ser usado. Ambos possivelmente precisem de configuração de tempo de execução para que o som funcione.
Autoconf-2.13, Cbindgen-0.24.3, dbus-glib-0.112, GTK+-3.24.36, libnotify-0.8.1, LLVM-15.0.7 (com clang, usado para bindgen mesmo se usar gcc), nodejs-18.14.1, PulseAudio-16.1 (ou alsa-lib-1.2.8 se você editar o mozconfig; agora obsoletado pelo Mozilla); em quaisquer casos, por favor, leia as Informações de Configuração, Python-3.11.2 (reconstruído depois de instalar o SQLite-3.40.1), startup-notification-0.12, UnZip-6.0, yasm-1.3.0 e Zip-3.0
ICU-72.1, libevent-2.1.12, libvpx-1.13.0, libwebp-1.3.0, NASM-2.16.01, nss-3.88.1
Se você não instalar as dependências recomendadas, então cópias internas desses pacotes serão usadas. Elas podem ter sido testadas para funcionar, mas podem estar desatualizadas ou conter falhas de segurança.
cURL-7.88.1, Doxygen-1.9.6, FFmpeg-5.1.2 (tempo de execução, para reproduzir arquivos mov, mp3 ou mp4), liboauth-1.0.3, Valgrind-3.20.0, Wget-1.21.3, Wireless Tools-29, libproxy
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/firefox
A configuração do Firefox é
realizada criando-se um arquivo mozconfig
contendo as opções desejadas de
configuração. Um mozconfig
padrão é criado abaixo. Para ver a lista completa de opções
de configuração disponíveis (e uma descrição abreviada de
algumas delas), emita ./mach
configure && ./configure --help |
less. Você também possivelmente revise o
arquivo inteiro e descomente quaisquer outras opções
desejadas. Crie o arquivo emitindo o seguinte comando:
cat > mozconfig << "EOF"
# Se você tiver uma máquina multi Elementos de Processamento, todos os Elementos de Processamento serão usados por padrão.
# Se você tiver instalado (ou instalará) o "wireless-tools" e desejar
# usar serviços de geolocalização da web, comente esta linha
ac_add_options --disable-necko-wifi
# Chaves de API para APIs de geolocalização - necko-wifi (acima) é exigido para MLS.
# Descomente a linha seguinte se desejar usar o Serviço de Localização do Mozilla
#ac_add_options --with-mozilla-api-keyfile=$PWD/mozilla-key
# Descomente a linha seguinte se desejar usar a API de geolocalização do Google
# (necessária para uso com mapas salvos com o Google Maps)
#ac_add_options --with-google-location-service-api-keyfile=$PWD/google-key
# notificação de inicialização é necessária desde o Firefox-78
# Descomente a seguinte opção se você não tiver instalado o PulseAudio
# e quiser usar o alsa
#ac_add_options --enable-audio-backends=alsa
# Comente as seguintes opções se você não tiver instalado
# as dependências recomendadas:
ac_add_options --with-system-icu
ac_add_options --with-system-libevent
ac_add_options --with-system-libvpx
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
ac_add_options --with-system-webp
# Ao contrário do Thunderbird, embora usar o vinculador Gold possa
# economizar quatro megabytes no arquivo instalado, isso não torna
# a construção mais rápida.
# libdavid (decodificador av1) exige nasm. Descomente isto se o nasm
# não tiver sido instalado. Não descomente se você tiver o
# ffmpeg-5 instalado.
#ac_add_options --disable-av1
# Você não pode distribuir o binário se fizer isto
ac_add_options --enable-official-branding
# A remoção agora está habilitada por padrão. Descomente estas linhas
# se você precisar executar um depurador:
#ac_add_options --disable-strip
#ac_add_options --disable-install-strip
# Desabilitar os símbolos de depuração torna a construção muito menor e um pouco
# mais rápida. Comente isto se você precisar executar um depurador. Observação: Isto é
# exigido para compilação em i686.
ac_add_options --disable-debug-symbols
# Foi informado que o elf-hack causa instalações falhas (depois de construções bem-sucedidas)
# em algumas máquinas. Supõe-se que melhore o tempo de inicialização e reduza a libxul.so em
# alguns MB - comente isto se você souber que tua máquina não é afetada.
ac_add_options --disable-elf-hack
# Os(As) editores(as) do BLFS recomendam não mudar nada abaixo desta linha:
ac_add_options --prefix=/usr
ac_add_options --enable-application=browser
ac_add_options --disable-crashreporter
ac_add_options --disable-updater
# enabling the tests will use a lot more space and significantly
# increase the build time, for no obvious benefit.
ac_add_options --disable-tests
# O nível padrão de otimização novamente produz uma construção funcional com o gcc.
ac_add_options --enable-optimize
ac_add_options --enable-system-ffi
ac_add_options --enable-system-pixman
ac_add_options --with-system-jpeg
ac_add_options --with-system-png
ac_add_options --with-system-zlib
# Usar bibliotecas wasm em sandbox foi movido para todas as construções, em vez de
# apenas construções de automação do Mozilla. Exige pacotes extras llvm e foi
# informado que retarda seriamente a construção. Desative-o.
ac_add_options --without-wasm-sandboxed-libraries
# A opção seguinte desabilita o Informe de Telemetria. Com o Add-on Fiasco,
# constatou-se que a Mozilla estava coletando dados de usuário(a), incluindo senhas salvas
# e dados de formulários da web, sem o consentimento dos(as) usuários(as). Constatou-se, também,
# que a Mozilla estava enviando atualizações para sistemas sem o conhecimento ou permissão do(a)
# usuário(a). Como resultado disso, use o seguinte comando para desabilitar permanentemente
# os informes de telemetria no Firefox.
unset MOZ_TELEMETRY_REPORTING
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-build-dir
EOF
Compile o Firefox emitindo os seguintes comandos:
Uma mudança em cbindgen-0.24.2 faz com que um símbolo seja agora gerado pelo cbindgen, mas ele já foi definido em um cabeçalho. Este sed evita que a compilação falhe:
sed -i '/ROOT_CLIP_CHAIN/d' gfx/webrender_bindings/webrender_ffi.h
Se as APIs de geolocalização forem necessárias:
As chaves de API do Google e Mozilla abaixo são específicas para o LFS. Se usar essas instruções para outra distribuição ou se pretender distribuir cópias binárias do software usando essas instruções, por favor, obtenha as tuas próprias chaves seguindo as instruções localizadas em https://www.chromium.org/developers/how-tos/api-keys e https://location.services.mozilla.com/api respectivamente.
echo "AIzaSyDxKL42zsPjbke5O8_rPVpVrLrJ8aeE9rQ" > google-key echo "613364a7-9418-4c86-bcee-57e32fd70c23" > mozilla-key
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 os comandos ./mach.
Agora invoque o conjunto de comandos sequenciais Python mach para compilar o pacote.
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none && export MOZBUILD_STATE_PATH=${PWD}/mozbuild && ./mach configure && ./mach build
O mozconfig
acima desabilita os
testes porque eles usam muito mais tempo e espaço em disco
sem nenhum benefício óbvio. Se você, mesmo assim, os tiver
ativado, poderá executar os testes executando ./mach gtest. Isso exigirá
uma conexão de rede de intercomunicação e será executado a
partir de uma sessão do Xorg - existe uma caixa de diálogo
pop-up quando ele falha ao se conectar ao ALSA (isso não cria
um teste com falha). Um ou dois testes falharão. Para ver os
detalhes da(s) falha(s), você precisará registrar a saída
gerada a partir desse comando, de forma que consiga
revisá-la(s).
Agora, como o(a) usuário(a) root
:
MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none ./mach install
Esvazie as variáveis de ambiente que foram configuradas acima:
unset MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE MOZBUILD_STATE_PATH
export
MOZBUILD_STATE_PATH=${PWD}/mozbuild: A
construção agora deve te informar que pretende criar
~/.mozbuild
e oferecer a você
uma opção para pressionar <ENTER> para aceitar isso ou
Ctrl-C para cancelar e reiniciar a construção depois de
especificar o diretório. Na prática, a mensagem possivelmente
não apareça até depois do <ENTER> ser pressionado, ou
seja, a construção para.
Esse diretório é usado para um identificador de telemetria
(provavelmente aleatório). Criar isso no diretório de
construção, e deletá-lo depois da instalação, evita que seja
usado. Se você deseja participar da telemetria, exporte
MOZBUILD_STATE_PATH para apontar para o diretório padrão dele
e remova a entrada do mozconfig
.
MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none: Use o Python do sistema para criar um ambiente virtual para o mach sem baixar nenhuma roda Python nem usar os módulos Python do sistema. Isso evita incompatibilidades de versão entre os módulos do sistema e os incluídos.
./mach
configure: Isso valida as dependências
fornecidas e o mozconfig
.
./mach build --verbose
: Use essa
alternativa se você precisar de detalhes a respeito de quais
arquivos estão sendo compilados, juntamente com quaisquer
sinalizadores C ou C++ sendo usados. Mas não adicione
'--verbose' ao comando de instalação, pois não é aceito lá.
./mach build -jN
: A construção
deveria, por padrão, usar todos os Elementos de Processamento
de CPU online. Se usar todos os Elementos de Processamento
fizer com que a construção use a área de troca porque você
tem memória insuficiente, usar menos Elementos de
Processamento poderá ser mais rápido.
: 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 demora mais tempo com gcc e g++,
principalmente por causa de avisos extras, e é maior.
Configure essas variáveis de ambiente antes de você executar o conjunto de comandos
sequenciais de configuração se desejar continuar
a usar gcc, g++. Construir com GCC no i?86 atualmente está
quebrado.
CC=gcc
CXX=g++
Se você usa um ambiente de área de trabalho, como
Gnome ou KDE, você possivelmente queira criar um
arquivo firefox.desktop
, de
forma que o Firefox apareça
nos menus do painel. Como o(a) usuário(a) root
:
mkdir -pv /usr/share/applications &&
mkdir -pv /usr/share/pixmaps &&
MIMETYPE="text/xml;text/mml;text/html;" &&
MIMETYPE+="application/xhtml+xml;application/vnd.mozilla.xul+xml;" &&
MIMETYPE+="x-scheme-handler/http;x-scheme-handler/https" &&
cat > /usr/share/applications/firefox.desktop << EOF &&
[Desktop Entry]
Encoding=UTF-8
Name=Navegador da Web Firefox
Comment=Navegue a World Wide Web
GenericName=Navegador da Web
Exec=firefox %u
Terminal=false
Type=Application
Icon=firefox
Categories=GNOME;GTK;Network;WebBrowser;
MimeType=$MIMETYPE
StartupNotify=true
EOF
unset MIMETYPE &&
ln -sfv /usr/lib/firefox/browser/chrome/icons/default/default128.png \
/usr/share/pixmaps/firefox.png
As configurações de aplicativo para o Firefox são acessíveis digitando-se about:config na barra de endereço.
Ocasionalmente, conseguir som que funcione no firefox pode ser um problema. Embora o(a) desenvolvedor(a) prefira o pulseaudio, no geral, usar Alsa possivelmente seja mais fácil.
Se você habilitou o Alsa para som, você possivelmente precise alterar uma variável para obter som funcional. Se executar o firefox a partir de um terminal e tentar reproduzir algo com som, você poderá encontrar mensagens de erro como:
Sandbox: seccomp sandbox violation:
pid 3941, tid 4030, syscall 16, args 48 2147767296
139909894784796 0 0 0.
Isso foi em x86_64, em i686 o número da chamada de sistema é 54. Para permitir esse chamada de sistema, em about:config mude security.sandbox.content.syscall_whitelist para 16 (ou 54 se usar i686).
Se usar pulseaudio em um ambiente
de área de trabalho, ele já poderá ter sido iniciado por
esse Ambiente. Mas se não tiver, embora o Firefox-57
conseguisse iniciá-lo, o Firefox-58 não consegue. Se
executar o firefox a partir de um
terminal e esse problema estiver presente, ao tentar
reproduzir o som, você encontrará mensagens de erro
avisando Can't get cubeb
context!
A correção para isso é fechar o firefox, iniciar o
pulseaudio para verificar se ele inicia (se não, leiam-se
as informações em Configuração em PulseAudio-16.1)
e reiniciar o firefox para verificar se está funcionando.
Se agora funcionar, adicione o seguinte ao teu ~/.xinitrc
: pulseaudio --verbose
--log-target=journald&
(infelizmente, em
alguns sistemas, isso não funciona).
Você possivelmente deseje usar vários perfis no Firefox. Para fazer isso, invoque o Firefox como firefox --ProfileManager. Você também pode verificar qual perfil está em uso no momento a partir de about:profiles.
Embora o WebRender (usando a GPU para composição) não seja usado por padrão, agora parece funcionar bem em hardware compatível (GPUs ATI, Nvidia e Intel com Mesa-18 ou posterior). Para uma explicação, por favor, veja-se hacks.mozilla.org. A única desvantagem parece ser que, em uma máquina com RAM limitada, ele poderá usar mais RAM.
Para verificar se o WebRender está sendo usado, consulte about:support. Na seção Gráficos, a Composição ou mostrará 'Básico' (ou seja, não em uso) ou 'WebRender'. Para habilitá-lo, acesse about:config e mude gfx.webrender.all para True. Você precisará reiniciar o Firefox.
Possivelmente seja útil mencionar os processos provenientes do Firefox que podem aparecer no top - assim como o próprio firefox, possivelmente existam vários processos de Conteúdo da Web e agora um processo RDD (Remote Data Decoder) que aparece quando reproduzindo vídeos da web codificados com av1 (libdav1d). Se o WebRender tiver sido habilitado, um Processo de GPU também aparecerá quando o Firefox tiver que repintar (por exemplo, rolar, abrir uma nova guia ou reproduzir um vídeo).
SeaMonkey é uma suíte de navegadores, descendente do Netscape. Inclui o navegador, o compositor, os clientes de mensagens e notícias e um cliente de IRC.
É a continuação do Mozilla Application Suite, controlado pela comunidade, criado depois que a Mozilla decidiu focar em aplicativos separados para navegação e mensagens eletrônicas. Esses aplicativos são Firefox-102.8.0 e Thunderbird-102.8.0.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.mozilla.org/pub/seamonkey/releases/2.53.15/source/seamonkey-2.53.15.source.tar.xz
Soma de verificação MD5 da transferência: d04916f10d082a503af9a309184365dd
Tamanho da transferência: 249 MB
Espaço em disco estimado exigido: 3,2 GB (159 MB instalado)
Tempo de construção estimado: 11 UPC (com paralelismo=4)
O tarball seamonkey-2.53.15.source.tar.xz desempacotará para o diretório seamonkey-2.53.15.
Autoconf-2.13, Cbindgen-0.24.3, GTK+-3.24.36, Python-2.7.18, UnZip-6.0, yasm-1.3.0 e Zip-3.0
ICU-72.1, libevent-2.1.12, libwebp-1.3.0, LLVM-15.0.7 (com clang), NASM-2.16.01, NSPR-4.35, nss-3.88.1 e PulseAudio-16.1
Se você não instalar as dependências recomendadas, então cópias internas desses pacotes serão usadas. Elas podem ter sido testadas para funcionar, mas podem estar desatualizadas ou conter falhas de segurança.
alsa-lib-1.2.8, dbus-glib-0.112, GConf-3.2.6, startup-notification-0.12, Valgrind-3.20.0, Wget-1.21.3, Wireless Tools-29, Hunspell e Watchman
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/seamonkey
A configuração do SeaMonkey
é realizada criando-se um arquivo mozconfig
contendo as opções desejadas de
configuração. Um arquivo mozconfig
padrão é criado abaixo. Para ver
a lista completa de opções disponíveis de configuração (e uma
descrição abreviada de cada uma), emita ./configure --help. Você
também possivelmente revise o arquivo inteiro e descomente
quaisquer outras opções desejadas. Crie o arquivo emitindo o
seguinte comando:
cat > mozconfig << "EOF"
# Se você tiver uma máquina multi Elementos de Processamento, todos os Elementos de Processamento serão usados
# Se você tiver instalado o DBus-Glib, comente esta linha:
ac_add_options --disable-dbus
# Se você tiver instalado o dbus-glib e tiver instalado (ou instalará)
# o "wireless-tools" e deseja usar serviços de geolocalização da web,
# comente esta linha
ac_add_options --disable-necko-wifi
# Descomente estas linhas se você tiver instalado dependências opcionais:
#ac_add_options --enable-system-hunspell
#ac_add_options --enable-startup-notification
# Descomente a seguinte opção se você não tiver instalado o PulseAudio:
#ac_add_options --disable-pulseaudio
# e descomente esta se você instalou alsa-lib em vez de PulseAudio:
#ac_add_options --enable-alsa
# Comente a seguinte opção se você tiver o gconf instalado:
ac_add_options --disable-gconf
# Comente as seguintes opções se você não tiver instalado
# as dependências recomendadas:
ac_add_options --with-system-icu
ac_add_options --with-system-libevent
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
ac_add_options --with-system-webp
# Desativar símbolos de depuração torna a construção muito menor e um pouco
# mais rápida. Comente isto se você precisar executar um depurador. Observação:
# Isto é necessário para compilação em i686.
ac_add_options --disable-debug-symbols
# Foi informado que o elf-hack causa instalações falhas (depois de construções bem-sucedidas)
# em algumas máquinas. Supõe-se que melhore o tempo de inicialização e reduza
# a libxul.so em alguns MB - comente isto se você souber que tua máquina não é afetada.
ac_add_options --disable-elf-hack
# Seamonkey tem alguns recursos adicionais que não estão ativados por padrão,
# como cliente IRC, calendário e Inspetor DOM. O Inspetor DOM auxilia no
# projeto de páginas da web. Comente estas opções se você não deseja
# esses recursos.
ac_add_options --enable-calendar
ac_add_options --enable-dominspector
ac_add_options --enable-irc
# Os(as) editores(as) do BLFS recomendam não mudar nada abaixo desta linha:
ac_add_options --prefix=/usr
ac_add_options --enable-application=comm/suite
ac_add_options --disable-crashreporter
ac_add_options --disable-updater
ac_add_options --disable-tests
# Rust-simd não compila com versões recentes do Rust.
# Está desabilitado nas versões recentes do Firefox
ac_add_options --disable-rust-simd
ac_add_options --enable-optimize="-O2"
ac_add_options --enable-strip
ac_add_options --enable-install-strip
ac_add_options --enable-official-branding
# A opção de usar o Cairo do sistema foi removida em 2.53.9.
ac_add_options --enable-system-ffi
ac_add_options --enable-system-pixman
ac_add_options --with-system-bz2
ac_add_options --with-system-jpeg
ac_add_options --with-system-png
ac_add_options --with-system-zlib
EOF
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 os comandos ./mach.
Primeiro remova um sinalizador obsoleto no código Python, que foi removido em python-3.11:
grep -rl \"rU\" | xargs sed -i 's/"rU"/"r"/'
A seguir, contorne um problema no ambiente virtual Python:
sed -i "/if sys.executable !=/i\ open(join(bin_dir, 'pyvenv.cfg'), 'w').close()" \ third_party/python/virtualenv/virtualenv.py
A seguir, contorne uma falha que ocorre durante a reprodução de áudio quando o Seamonkey é compilado com rustc-1.67 ou superior:
sed -i '/USE_PULSE_RUST/d' media/libcubeb/src/moz.build
Compile o SeaMonkey executando os seguintes comandos:
export CC=clang CXX=clang++ && ./mach configure || ./mach configure && ./mach build
Esse pacote não vem com uma suíte de teste.
Instale o SeaMonkey emitindo
os seguintes comandos como o(a) usuário(a) root
:
./mach install && chown -R 0:0 /usr/lib/seamonkey && cp -v $(find -name seamonkey.1 | head -n1) /usr/share/man/man1
export CC=clang CXX=clang++: Com a introdução do gcc-12, muitos mais avisos são gerados ao compilar aplicativos Mozilla e isso resulta em uma construção muito mais lenta e maior. Além disso, construir com GCC no i?86 está atualmente quebrado. Embora o código de desenvolvedor(a) do Mozilla tenha como padrão usar o llvm, a menos que substituído, o código de configuração mais antigo no SeaMonkey tem como padrão o gcc.
./mach configure || ./mach
configure: Isso valida as dependências
fornecidas e o mozconfig
. Isso
é executado duas vezes porque problemas com mach farão com
que ele falhe na primeira vez.
./mach build --verbose
: Use essa
alternativa se você precisar de detalhes de quais arquivos
estão sendo compilados, juntamente com quaisquer
sinalizadores C ou C++ sendo usados. Mas não adicione
'--verbose' ao comando de instalação; não é aceito lá.
./mach build -jN
: A construção
deveria, por padrão, usar todos os Elementos de Processamento
de CPU online. Se usar todos os Elementos de Processamento
fizer com que a construção use a área de troca porque você
tem memória insuficiente, usar menos Elementos de
Processamento poderá ser mais rápido.
Para instalar vários complementos do SeaMonkey, consulte Complementos para Seamonkey.
Juntamente com usar o menu “Preferências” para configurar as opções
e preferências do SeaMonkey
para atender aos gostos individuais, um controle mais
refinado de muitas opções somente está disponível usando uma
ferramenta não disponível a partir do sistema geral de menus.
Para acessar essa ferramenta, você precisará abrir uma janela
do navegador e digitar about:config
na barra de endereço. Isso
exibirá uma lista de preferências de configuração e
informações relacionadas a cada uma delas. Você pode usar a
barra “Pesquisar:” para inserir critérios de
pesquisa e restringir os itens listados. A mudança de uma
preferência pode ser feita usando dois métodos. Primeiro, se
a preferência tiver um valor booleano (Verdadeiro/Falso),
basta clicar duas vezes na preferência para alternar o valor;
e dois, para outras preferências, basta clicar com o botão
direito na linha desejada, escolher “Modificar” no menu
e mudar o valor. A criação de novos itens de preferência é
realizada da mesma maneira, exceto que escolha “Novo” no menu e
forneça os dados desejados nos campos quando solicitado.
Se você usa um ambiente de área de trabalho, como
Gnome ou KDE, você possivelmente deseje criar um
arquivo seamonkey.desktop
, de
forma que o SeaMonkey
apareça nos menus do painel. Se você não habilitou
Startup-Notification em teu
mozconfig, mude a linha StartupNotify para false. Como o(a)
usuário(a) root
:
mkdir -pv /usr/share/{applications,pixmaps} &&
cat > /usr/share/applications/seamonkey.desktop << "EOF"
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=SeaMonkey
Comment=A Suíte Mozilla
Icon=seamonkey
Exec=seamonkey
Categories=Network;GTK;Application;Email;Browser;WebBrowser;News;
StartupNotify=true
Terminal=false
EOF
ln -sfv /usr/lib/seamonkey/chrome/icons/default/default128.png \
/usr/share/pixmaps/seamonkey.png
/usr/lib/seamonkey
Estes aplicativos usam o Sistema de Janelas X e não se enquadram facilmente em nenhum dos outros capítulos.
O pacote Balsa contém um cliente de mensagens baseado em GNOME-2.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://pawsa.fedorapeople.org/balsa/balsa-2.6.4.tar.xz
Soma de verificação MD5 da transferência: bebd22cb6bac87ee05255c48ee1d28dd
Tamanho da transferência: 3,5 MB
Espaço em disco estimado exigido: 66 MB
Tempo de construção estimado: 0,2 UPC (Usando paralelismo=4)
Aspell-0.60.8, enchant-2.3.3, GMime-3.2.7, GPGME-1.18.0, GTK+-3.24.36 e libnotify-0.8.1
MTA (isso fornece um comando sendmail)
Compface-1.5.2, Gcr-3.41.1, gtksourceview-3.24.11, libcanberra-0.30, libsecret-0.20.5, MIT Kerberos V5-1.20.1, OpenLDAP-2.6.4, Procmail-3.22, SQLite-3.40.1, WebKitGTK-2.38.5, html2text, osmo, rubrica, yelp-tools
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/balsa
Primeiro, corrija problemas de construção ao configurar sem WebKitGTK+ ou ao usar WebKitGTK+-2.38 ou posterior.
patch -Np1 -i ../balsa-2.6.4-upstream_fixes-2.patch
Instale o Balsa executando os seguintes comandos:
./configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var/lib \ --without-html-widget && make
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install
--without-html-widget
: Essa
opção desabilita a construção do renderizador HTML. Se você
quiser que o renderizador HTML seja construído, verifique se
você tem o WebKitGTK-2.38.5 instalado e, então,
remova essa opção.
--with-canberra
: Habilita suporte
a libcanberra.
--with-compface
: Habilita suporte
a compface.
--with-gcr
: Usa libgcr para
suporte TLS.
--with-gss
: Habilita suporte
GSSAPI.
--with-ldap
: Use essa opção para
habilitar o suporte ao catálogo de endereços LDAP se o
OpenLDAP estiver instalado.
--with-libsecret
: Habilita
suporte a senhas fortes e suporte para o gnome-keyring
armazenar senhas.
--with-sqlite
: Use essa opção
para habilitar o suporte ao catálogo de endereços SQLite se o
SQLite estiver instalado.
feh é um visualizador de imagens rápido e leve que usa Imlib2. É orientado a linha de comando e suporta múltiplas imagens por meio de apresentações de slides, navegação em miniaturas ou múltiplas janelas, e montagens ou impressões de índice (usando fontes TrueType para exibir informações do arquivo). Os recursos avançados incluem zoom dinâmico rápido, carregamento progressivo, carregamento via HTTP (com suporte de recarga para assistir a câmeras da web), abertura recursiva de arquivos (apresentação de slides de uma hierarquia de diretórios) e controle de roda/teclado do mouse.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://feh.finalrewind.org/feh-3.9.1.tar.bz2
Soma de verificação MD5 da transferência: d83f1731515d31069908d4bda5f3489b
Tamanho da transferência: 2,0 MB
Espaço em disco estimado exigido: 7,0 MB (com os testes)
Tempo de construção estimado: menos que 0,1 UPC (com testes)
libpng-1.6.39 e imlib2-1.9.1 (construído com suporta a giflib-5.2.1, para os testes)
libjpeg-turbo-2.1.5.1 (para rotação de imagem sem perdas) e ImageMagick-7.1.0-61 (para carregar formatos não suportados)
Test-Command-0.11 (exigido)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/feh
Instale o feh executando os seguintes comandos:
sed -i "s:doc/feh:&-3.9.1:" config.mk && make PREFIX=/usr
Para testar os resultados, emita: make test.
Agora, como o(a) usuário(a) root
:
make PREFIX=/usr install
sed -i "s:doc/feh:&-3.9.1:" config.mk: Esse sed corrige o diretório de documentação para um versionado, conforme usado no BLFS.
curl=0
: Use esse sinalizador do
make se você não tiver o pacote cURL instalado.
exif=1
: Esse sinalizador do make
habilita suporte integrado à exibição de rótulos Exif.
O pacote FontForge contém um editor de fontes de contorno que te permite criar tuas próprias fontes postscript, truetype, opentype, cid-keyed, multi-master, cff, svg e bitmap (bdf, FON, NFNT), ou editar as existentes.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/fontforge/fontforge/releases/download/20230101/fontforge-20230101.tar.xz
Soma de verificação MD5 da transferência: 7043f25368ed25bcd75d168564919fb7
Tamanho da transferência: 13 MB
Espaço em disco estimado exigido: 102 MB (adicionar 52 MB para os testes)
Tempo de construção estimado: 0,4 UPC (com paralelismo=4, adicionar 0,1 UPC para os testes)
libspiro-20220722 e libxml2-2.10.3
giflib-5.2.1, git-2.39.2, libjpeg-turbo-2.1.5.1, libtiff-4.5.0, sphinx-6.1.3 (para construir documentação HTML) e WOFF2-1.0.2
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/fontforge
Instale o FontForge executando os seguintes comandos:
mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -Wno-dev .. && make
Para testar os resultados, emita: make check.
Agora, como o(a) usuário(a) root
:
make install
Se você tiver instalou o sphinx-build, a
documentação HTML foi construída e instalada em /usr/share/doc/fontforge
. Para poder
acessá-la como um diretório versionado, crie um link
simbólico como o(a) usuário(a) root
:
ln -sv fontforge /usr/share/doc/fontforge-20230101
-DCMAKE_BUILD_TYPE=Release
:
Essa chave é usada para criar um lançamento otimizado sem
informações de depuração.
-Wno-dev
: Essa chave
é usada para suprimir avisos destinados para os(as)
desenvolvedores(as) do pacote.
-DENABLE_X11=ON
: use uma
estrutura de retaguarda X11 em vez da GDK3 (gtk+-3) para
gráficos básicos do Xorg.
O pacote Gimp contém o GNU Image Manipulation Program que é útil para retoque de fotos, composição de imagens e criação de imagens.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gimp.org/pub/gimp/v2.10/gimp-2.10.32.tar.bz2
Soma de verificação MD5 da transferência: fd99bd8336c0d3aa09598e68d6e4a4d9
Tamanho da transferência: 30 MB
Espaço em disco estimado exigido: 876 MB (194 MB instalado, adicionar 814 MB para testes)
Tempo de construção estimado: 1,9 UPC (Usando paralelismo=4; adicionar 0,5 UPC para testes)
A atualização dos arquivos de ajuda ainda é um trabalho em andamento, com grandes partes do texto para muitos idiomas ainda não traduzido. O arquivo abaixo é um instantâneo do git.
Transferência (HTTP): https://anduin.linuxfromscratch.org/BLFS/gimp/gimp-help-2021-03-30.tar.xz
Tamanho da transferência: 170 MB
Soma de verificação MD5 da transferência: df6acc812c829b610d621f8e6973a680
Espaço em disco estimado exigido: From 383 MB (en only) to 1.8 GB (all 17 languages)
Tempo de construção estimado: 1.8 SBU (en only), 14.0 SBU, with parallelism=4, for all languages
gegl-0.4.40, gexiv2-0.14.0, glib-networking-2.74.0, GTK+-2.24.33, HarfBuzz-7.0.0. libjpeg-turbo-2.1.5.1, libmypaint-1.6.1, librsvg-2.54.5, libtiff-4.5.0, Módulo "python2" libxml2-2.10.3 (para construir os arquivos de ajuda traduzidos), Little CMS-2.14, mypaint-brushes-1.3.1, Poppler-23.02.0 (incluindo poppler-data) e um ambiente gráfico
dbus-glib-0.112, ghostscript-10.00.0 (com a libgs instalada), ISO Codes-4.12.0, libgudev-237, PyGTK-2.24.0 (incluindo os módulos gtk, pango e pangocairo) e xdg-utils-1.1.3
AAlib-1.4rc5, alsa-lib-1.2.8, Gvfs-1.50.3 (para acessar a ajuda online), libmng-2.0.3, libunwind-1.6.2, libwebp-1.3.0, OpenJPEG-2.5.0, um MTA (isso fornece um aplicativo sendmail), GTK-Doc-1.33.2, appstream-glib, libbacktrace, libheif com libde265 (ambos necessários para ler imagens heic do macOS), libwmf e OpenEXR
Quando tiver executado o configure, você verá que o WebKit não foi encontrado - essa dependência é para o legado webkit-1.0 que nunca deveria ser usado em um sistema moderno exposto à Internet.
dblatex (para documentos PDF), pngnq e pngcrush para otimizar os arquivos png, mas veja-se a observação no download da ajuda acima
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gimp
Instale o Gimp executando os seguintes comandos:
./configure --prefix=/usr --sysconfdir=/etc && make
Para testar os resultados (exige um terminal janelado do X): make check.
Agora, como o(a) usuário(a) root
:
make install
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 de memória
atualizando /usr/share/icons/hicolor/index.theme
e
/usr/share/applications/mimeinfo.cache
.
Para realizar a atualização, você precisa ter o GTK+-2.24.33
ou GTK+-3.24.36 instalado (para o cache de
ícones) e o 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 -qtf /usr/share/icons/hicolor && update-desktop-database -q
O tarball gimp-help
contém
imagens e texto de ajuda em inglês para arquivos de ajuda,
juntamente com traduções. Devido aos problemas mencionados na
observação acima, é recomendável usar a ajuda on-line, seja
construindo-se contra o Gvfs-1.50.3, de forma que 'ajuda' possa
abrir os arquivos XML mais recentes em teu navegador, ou
então você pode abrir manualmente o HTML em teu navegador,
acessando https://docs.gimp.org/2.10/en
(mude o código do idioma, se desejado).
Se mesmo assim você desejar instalar cópias locais dos
arquivos de ajuda para leitura offline, desempacote o tarball
gimp-help
e mude para a raiz da
recém-criada árvore do fonte. Prepare para a construção com o
seguinte comando:
ALL_LINGUAS="ca da de el en en_GB es fi fr it ja ko nn pt_BR ro ru zh_CN" \ ./autogen.sh --prefix=/usr
Remova de ALL_LINGUAS
os códigos
de quaisquer idiomas que você não desejar instalar.
Alternativamente, remova a linha que começa com ALL_LINGUAS
, se desejar construir todos os
idiomas.
Agora construa os arquivos de ajuda:
make
Emita os seguintes comandos como o(a) usuário(a) root
para instalar os arquivos de ajuda:
make install && chown -R root:root /usr/share/gimp/2.0/help
ALL_LINGUAS="ca da de el en en_GB
..."
: por padrão, os arquivos de ajuda serão
renderizados em todos os idiomas disponíveis. Remova os
códigos de quaisquer idiomas que você não desejar construir.
--disable-python
: Essa opção é
necessária se você não tiver instaladoou o PyGTK.
--enable-gtk-doc
: Use esse
parâmetro se GTK-Doc estiver
instalado e você desejar reconstruir e instalar a
documentação da API.
é um link simbólico para gimp-2.10 |
|
é o GNU Image Manipulation Program. Ele funciona com uma variedade de formatos de imagem e oferece uma grande seleção de ferramentas |
|
é um link simbólico para gimp-console-2.10 |
|
é um aplicativo de console que se comporta como se
o Gimp fosse
chamado com a opção de linha de comando
|
|
é uma ferramenta que pode construir plug-ins ou conjunto de comandos sequenciais e instalá-los se forem distribuídos em um arquivo fonte. gimptool-2.0 também pode ser usado por aplicativos que precisem saber com quais bibliotecas e caminhos de inclusão o Gimp foi compilado |
|
fornece ligações C para a Gimp's Procedural Database (PDB), as quais oferecem uma interface para funções centrais e para funcionalidades fornecidas por plug-ins |
|
fornece as funções C para funcionalidades básicas do Gimp, como determinar tipos de dados de enumeração, tradução de gettext, determinar o número e os recursos da versão do Gimp, manusear arquivos de dados e acessar o ambiente |
|
fornece as funções C relacionadas às cores RGB, HSV e CMYK, bem como para converter cores entre diferentes modelos de cores e para realizar super amostragem adaptativa em uma área |
|
contém funções C para ler e escrever informações de configuração |
|
contém funções C que fornecem definições e macros matemáticas, manipulam matrizes de transformação 3x3, configuram e manipulam vetores e o algoritmo MD5 de resumo de mensagens |
|
fornece as funções C que implementam o carregamento de módulo usando GModule e que suportam manter uma lista de GimpModule encontrados em um determinado caminho de pesquisa |
|
fornece as funções C para manusear os objetos em miniatura do Gimp |
|
contém as funções comuns de interface de usuário(a) do Gimp |
|
contém as funções de criação e manipulação de pequenas engenhocas do Gimp e do GTK |
Gparted é o Gnome Partition Editor, uma GUI Gtk 3 para outras ferramentas de linha de comando que conseguem criar, reorganizar ou deletar partições de disco.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/gparted/gparted-1.5.0.tar.gz
Soma de verificação MD5 da transferência: 9adbd4b1cbcb7a7c76dcc0e9ffed9a7c
Tamanho da transferência: 5,2 MB
Espaço em disco estimado exigido: 75 MB (adicionar 75 MB para os testes)
Tempo de construção estimado: 0,3 UPC (usando paralelismo=4; adicionar 0,2 UPC para testes)
btrfs-progs-6.1.3 (se usar um sistema de arquivos btrfs), exfatprogs e udftools
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gparted
Instale o Gparted executando os seguintes comandos:
./configure --prefix=/usr \ --disable-doc \ --disable-static && make
Para executar os testes, emita: make check.
Agora, como o(a) usuário(a) root
:
make install
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
--disable-doc
: Essa
chave desabilita a construção da documentação opcional.
Remova-a se você tiver instalado o GNOME Doc Utils.
--enable-xhost-root
: Essa chave
fornece uma solução provisória para permitir que o GParted
execute sob o Wayland usando xhost para conceder e revogar
acesso de root para a tela do X11.
Para manipular sistemas de arquivos, o Gparted tem uma dependência de tempo de execução de várias ferramentas do sistema de arquivos (você somente precisa instalar as ferramentas para os sistemas de arquivos que você usa atualmente): Hdparm-9.65 (exigido para exibir opcionalmente informações do número de série do dispositivo), btrfs-progs-6.1.3, dosfstools-4.2, e2fsprogs (instalado como parte do LFS), jfsutils-1.1.15, reiserfsprogs-3.6.27, xfsprogs-6.1.1, mtools (exigido para ler e escrever rótulos de volume FAT16/32 e UUIDs), hfsutils, hfsprogs, nilfs-utils e Reiser4progs.
Privilégios de root são exigidos para executar o Gparted. Se desejar executar o aplicativo a partir do menu, outros aplicativos e configurações serão necessários. Exemplos de aplicativos que podem ser usados: gksu, kdesudo ou xdg-su. Outra solução simples é ssh-askpass-9.2p1.
Para usar opcionalmente o ssh-askpass-9.2p1 se ele estiver
instalado em teu sistema, execute os seguintes comandos
como o(a) usuário(a) root
:
cp -v /usr/share/applications/gparted.desktop /usr/share/applications/gparted.desktop.back && sed -i 's/Exec=/Exec=sudo -A /' /usr/share/applications/gparted.desktop
Agora, clicando no item de menu para o Gparted, uma caixa de diálogo aparece na tela solicitando a senha do(a) administrador(a).
HexChat é um aplicativo de bate-papo IRC. Ele permite que você se una a vários canais de IRC (salas de bate-papo) ao mesmo tempo, converse publicamente, tenha conversas privadas, etc. Transferências de arquivos também são possíveis.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://dl.hexchat.net/hexchat/hexchat-2.16.1.tar.xz
Soma de verificação MD5 da transferência: 0af269d719c2c047310d44804bb31fdb
Tamanho da transferência: 1,3 MB
Espaço em disco estimado exigido: 22 MB
Tempo de construção estimado: menos que 0,1 UPC (usando paralelismo=4)
dbus-glib-0.112, GLib-2.74.5 e libnotify-0.8.1
GTK+-2.24.33 e libcanberra-0.30
dbus-glib-0.112, ISO Codes-4.12.0, libnotify-0.8.1, pciutils-3.9.0, libproxy, luajit, se Python estiver habilitado, cffi e pycparser.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/hexchat
Instale o HexChat executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr \ --buildtype=release \ -Dwith-lua=false \ -Dwith-python=false \ .. && ninja
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
ninja install
-Dwith-lua=false
: Por
padrão, esse pacote procurará por luajit. No entanto, o
suporte ao plugin Lua atualmente está quebrado e fará com que
o aplicativo trave na inicialização.
-Dwith-python=false
:
Se a interface Python precisasse ser habilitada, remova essa
chave ou configure-a como true
.
Ao habilitar o Python, dois módulos adicionais (cffi e
pycparser) precisam ser instalados antes da instalação do
Hexchat.
-Dwith-libcanberra=false
: Use
essa chave se você não tiver a libcanberra instalada.
Inkscape é um editor o que você vê é o que você obtém de gráficos vetoriais escaláveis. É útil para criar, visualizar e mudar imagens SVG.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://inkscape.org/gallery/item/37360/inkscape-1.2.2.tar.xz
Soma de verificação MD5 da transferência: 490c40bbb3ce3441ceee88e61775bbf4
Tamanho da transferência: 38 MB
Espaço em disco estimado exigido: 911 MB (184 MB instalado)
Tempo de construção estimado: 4,7 UPC (com paralelismo=4)
O tarball inkscape-1.2.2.tar.xz
extrairá para o
diretório inkscape-1.2.2_2022-12-01_b0a8486541/
.
Boost-1.81.0, double-conversion-3.2.1, GC-8.2.2, Gsl-2.7.1, Gtkmm-3.24.7, libsoup-2.74.3, libxslt-1.1.37, Poppler-23.02.0, popt-1.19 e Wget-1.21.3 (para baixar as dependências de teste)
ImageMagick-7.1.0-61, Little CMS-2.14 ou Little CMS-1.19, libcanberra-0.30 (para eliminar avisos de plugin), Potrace-1.16 (para a ferramenta bucket-fill), também vários módulos Python em tempo de execução para a extensões centrais: CacheControl-0.12.11, cssselect-1.2.0, lxml-4.9.2, NumPy-1.24.2, pySerial-3.5 e Scour-0.38.2
Aspell-0.60.8, dbus-1.14.6 (para executar o inkscape a partir de conjuntos de comandos sequenciais), Doxygen-1.9.6, gspell-1.12.0, libcdr, libvisio, libwpg (ou libwpd)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/inkscape
Instale o Inkscape executando os seguintes comandos:
mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ .. && make
Esse pacote ocasionalmente possivelmente falhe ao construir com múltiplos processadores. Veja-se Usando Múltiplos Processadores para mais informações.
Esse pacote não vem com uma suíte de teste funcional.
Agora, como o(a) usuário(a) root
:
make install
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 de memória
atualizando /usr/share/icons/hicolor/index.theme
e
/usr/share/applications/mimeinfo.cache
.
Para realizar a atualização, você precisa ter o GTK+-2.24.33
ou GTK+-3.24.36 instalado (para o cache de
ícones) e o 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 -qtf /usr/share/icons/hicolor && update-desktop-database -q
-DCMAKE_BUILD_TYPE=Release
:
Essa chave é usada para construir a biblioteca de lançamento
sem qualquer `assertiva` de depuração no código.
-DWITH_DBUS=ON
: use isso se você
desejar usar o inkscape em conjuntos de
comandos sequenciais interativos que manipulam imagens.
Pidgin é um cliente de mensagens instantâneas Gtk+ 2 que pode se conectar a uma ampla variedade de redes de intercomunicação, incluindo Bonjour, ICQ, GroupWise, Jabber/XMPP, IRC, Gadu-Gadu, SILC, SIMPLE e Zephyr.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/pidgin/pidgin-2.14.12.tar.bz2
Soma de verificação MD5 da transferência: cfcf2ab67717e7c2884e4399864b877a
Tamanho da transferência: 7,8 MB
Espaço em disco estimado exigido: 270 MB (com testes e documentos)
Tempo de construção estimado: 0,5 UPC (usando paralelismo=4; com testes e documentos)
libgcrypt-1.10.1, gstreamer-1.22.0 (exigido para suporte de áudio) e GnuTLS-3.8.0 ou nss-3.88.1
Avahi-0.8 (exigido para o plugin Bonjour), Cyrus SASL-2.1.28, dbus-1.14.6, Doxygen-1.9.6, evolution-data-server-3.46.4, GConf-3.2.6, Graphviz-7.1.0, libidn-1.41 (exigido, se você desejar executar a suíte de teste), libnsl-2.0.0, NetworkManager-1.42.0, SQLite-3.40.1 (exigido para o plugin Contact Availability Prediction), startup-notification-0.12, Tk-8.6.13, Farstream (exigido para suporte de vídeo e voz), Gtkspell, libgadu, libgnt, Meanwhile (exigido para suporte de protocolo Sametime), Mono, Cliente SILC, kit de ferramentas SILC, Zephyr e MIT Kerberos V5-1.20.1 (exigido para suporte Kerberos no módulo Zephyr)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/pidgin
Compile o Pidgin executando os seguintes comandos:
./configure --prefix=/usr \ --sysconfdir=/etc \ --with-gstreamer=1.0 \ --disable-avahi \ --disable-gtkspell \ --disable-meanwhile \ --disable-idn \ --disable-nm \ --disable-tk \ --disable-vv && make
Se você tiver o Doxygen-1.9.6 instalado (Graphviz-7.1.0 também pode ser usado) e desejar criar a documentação da API, emita:
make docs
Para testar os resultados, emita: make check.
Agora, como o(a) usuário(a) root
:
make install && mkdir -pv /usr/share/doc/pidgin-2.14.12 && cp -v README doc/gtkrc-2.0 /usr/share/doc/pidgin-2.14.12
Se você criou a documentação da API, instale-a usando os
seguintes comandos como o(a) usuário(a) root
:
mkdir -pv /usr/share/doc/pidgin-2.14.12/api && cp -rv doc/html/* /usr/share/doc/pidgin-2.14.12/api
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 de memória
atualizando /usr/share/icons/hicolor/index.theme
e
/usr/share/applications/mimeinfo.cache
.
Para realizar a atualização, você precisa ter o GTK+-2.24.33
ou GTK+-3.24.36 instalado (para o cache de
ícones) e o 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 -qtf /usr/share/icons/hicolor && update-desktop-database -q
--with-gstreamer=1.0
:
Remova essa chave e adicione --disable-gstreamer
se você não tiver
instalado o gstreamer-1.22.0.
--disable-avahi
:
Remova essa chave se você tiver instalado o Avahi-0.8.
--disable-gtkspell
:
Remova essa chave se você tiver instalado o Gtkspell e
desejar habilitar o suporte à verificação ortográfica.
--disable-meanwhile
:
Remova essa chave se você tiver instalado o Meanwhile.
--disable-idn
: Remova
essa chave se você tiver instalado o libidn-1.41.
--disable-tk
: Remova
essa chave se você tiver instalado o Tk-8.6.13 e desejar usar as
ligações TCL.
--disable-nm
: Remova
essa chave se você tiver instalado o NetworkManager-1.42.0.
--disable-vv
: Remova
essa chave se você tiver instalado o Farstream
e desejar habilitar o suporte de comunicação de voz e vídeo.
Você também deveria remover o sinalizador
--disable-gstreamer.
--enable-cyrus-sasl
: Use essa
chave se você tiver instalado o Cyrus SASL-2.1.28
e desejar construir o Pidgin
com suporte SASL.
--disable-gnutls
: Use essa chave
se você tiver o GnuTLS-3.8.0 e nss-3.88.1 instalados, mas quiser usar
o nss-3.88.1 para o suporte SSL.
A maior parte da configuração pode ser realizada usando-se
as diversas configurações de preferência dentro dos
aplicativos. Além disso, você pode criar um arquivo
~/.gtkrc-2.0
que pode
armazenar configurações do tema gtk+-2 que afetam o
Pidgin e outros
aplicativos Gtk+ 2. Observe que um exemplo de arquivo
gtkrc-2.0
foi instalado
durante a instalação do pacote e pode ser usado como ponto
de partida ou referência.
é um cliente de mensagens instantâneas GTK+ 2 |
|
é um exemplo que demonstra como usar a biblioteca libpurple-client para se comunicar com purple |
|
envia comandos remotos para Pidgin/Finch |
|
chama funções de API do purple usando DBus e imprime o valor de retorno |
|
chama funções de API do purple usando DBus. Ao contrário de purple-send, ele não imprime o valor de retorno |
|
é um conjunto de comandos sequenciais Python para lidar com URLs com o purple |
rox-filer é um gerenciador de arquivos gtk2 rápido e leve.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/rox/rox-filer-2.11.tar.bz2
Soma de verificação MD5 da transferência: 0eebf05a67f7932367750ebf9faf215d
Tamanho da transferência: 1,8 MB
Espaço em disco estimado exigido: 19 MB
Tempo de construção estimado: 0,3 UPC
libglade-2.6.4 e shared-mime-info-2.2
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/rox-filer
Se você quiser que o rox-filer seja capaz de atualizar o conteúdo de um diretório quando mudanças forem feitas nos arquivos por outros aplicativos (por exemplo, se um conjunto de comandos sequenciais estiver executando), você precisará habilitar o suporte dnotify em teu núcleo. No make menuconfig:
File systems --->
[*] Dnotify support [CONFIG_DNOTIFY]
Salve o novo .config
e então
compile o núcleo.
Compile o rox-filer com os seguintes comandos:
cd ROX-Filer && sed -i 's:g_strdup(getenv("APP_DIR")):"/usr/share/rox":' src/main.c && sed -i 's/gboolean/extern &/' src/session.h && mkdir build && pushd build && ../src/configure LIBS="-lm -ldl" && make && popd
Agora instale-o como o(a) usuário(a) root
:
mkdir -p /usr/share/rox && cp -av Help Messages Options.xml ROX images style.css .DirIcon /usr/share/rox && cp -av ../rox.1 /usr/share/man/man1 && cp -v ROX-Filer /usr/bin/rox && chown -Rv root:root /usr/bin/rox /usr/share/rox && cd /usr/share/rox/ROX/MIME && ln -sv text-x-{diff,patch}.png && ln -sv application-x-font-{afm,type1}.png && ln -sv application-xml{,-dtd}.png && ln -sv application-xml{,-external-parsed-entity}.png && ln -sv application-{,rdf+}xml.png && ln -sv application-x{ml,-xbel}.png && ln -sv application-{x-shell,java}script.png && ln -sv application-x-{bzip,xz}-compressed-tar.png && ln -sv application-x-{bzip,lzma}-compressed-tar.png && ln -sv application-x-{bzip-compressed-tar,lzo}.png && ln -sv application-x-{bzip,xz}.png && ln -sv application-x-{gzip,lzma}.png && ln -sv application-{msword,rtf}.png
sed -i 's:g_strdup(getenv("APP_DIR")):"/usr/share/rox":' src/main.c: Esse comando codifica rigidamente /usr/share/rox como o diretório para os arquivos privados do rox-filer. Sem esse sed, o rox precisa que a variável de ambiente ${APP_DIR} esteja configurada.
sed -i 's/gboolean/extern &/' src/session.h: Esse comando corrige uma definição múltipla sinalizada como um erro pelo GCC 10 e superior.
ln -sv application-...: Esses comandos duplicam os ícones para alguns tipos MIME comuns. Sem esses links, o rox-filer exibiria apenas o ícone padrão "blob binário desconhecido".
A maior parte da configuração do rox-filer é obtida clicando-se com o
botão direito em uma janela do rox-filer e escolhendo "Opções" a
partir do menu. Ele armazena as configurações dele em
~/.config/rox.sourceforge.net
.
Um recurso do rox-filer é
que, se existir um arquivo executável chamado AppRun
em um diretório, o rox-filer executará primeiro o
AppRun antes
de abrir a pasta.
Como exemplo de como isso pode ser usado, se você tiver acesso ssh a outro computador (talvez outro computador em tua rede local de intercomunicação) com ssh configurado para logins sem senha e tiver o sshfs-3.7.3 instalado, você poderá usar o AppRun para montar o computador remoto em uma pasta local usando o sshfs. Para que este exemplo de conjunto de comandos sequenciais AppRun funcione, a pasta precisa ter o mesmo nome que o nome do dispositivo do computador remoto:
cat > /path/to/hostname/AppRun << "HERE_DOC" #!/bin/bash MOUNT_PATH="${0%/*}" HOST=${MOUNT_PATH##*/} export MOUNT_PATH HOST sshfs -o nonempty ${HOST}:/ ${MOUNT_PATH} rox -x ${MOUNT_PATH} HERE_DOC chmod 755 /path/to/hostname/AppRun
Isso funciona bem para montagem, mas para desmontá-lo o
comando fusermount -u
${MOUNTPOINT} é executado. Você poderia
configurar isso como teu comando padrão de desmontagem em
tuas preferências do rox, mas, então, não seria capaz de
desmontar nenhum ponto de montagem normal (que precisasse
de desmontagem). Um conjunto de comandos sequenciais é
necessário que desmontará um ponto de montagem do Fuse com
fusermount -u
${MOUNTPOINT} e todo o resto com
umount. Como
o(a) usuário(a) root
:
cat > /usr/bin/myumount << "HERE_DOC" && #!/bin/bash sync if mount | grep "${@}" | grep -q fuse then fusermount -u "${@}" else umount "${@}" fi HERE_DOC chmod 755 /usr/bin/myumount
Agora, para fazer o Rox usar esse conjunto de comandos sequenciais simples, abra uma janela do Rox, clique com o botão direito nela e escolha Opções a partir do menu. Na lista à esquerda escolha "Janelas de ação" e depois no lado direito, onde diz "Comando de desmontagem", mude umount para myumount.
Se você usa um ambiente de área de trabalho, como
Gnome ou KDE, você possivelmente goste de criar
um arquivo rox.desktop
, de
forma que o rox-filer
apareça nos menus do painel. Como o(a) usuário(a)
root
:
ln -s ../rox/.DirIcon /usr/share/pixmaps/rox.png && mkdir -p /usr/share/applications && cat > /usr/share/applications/rox.desktop << "HERE_DOC" [Desktop Entry] Encoding=UTF-8 Type=Application Name=Rox Comment=O Gerenciador de Arquivos Rox Icon=rox Exec=rox Categories=GTK;Utility;Application;System;Core; StartupNotify=true Terminal=false HERE_DOC
rxvt-unicode é um clone do emulador de terminal rxvt, um emulador de terminal do Sistema de Janelas X que inclui suporte para XFT e Unicode.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Por favor, esteja ciente de que o rxvt-unicode é afetado por um problema no perl onde o manuseador SIGFPE está configurado como SIG_IGN (ou seja, o sinal é ignorado). Se você estiver construindo um sistema LFS a partir do urxvt e executando as suítes de teste, os testes em bash e check cujo teste gere esse sinal falharão.
Transferência (HTTP): http://dist.schmorp.de/rxvt-unicode/Attic/rxvt-unicode-9.31.tar.bz2
Soma de verificação MD5 da transferência: 3d0ec83705c9b9ff301a4b9965b3cd9f
Tamanho da transferência: 860 KB
Espaço em disco estimado exigido: 22 MB
Tempo de construção estimado: 0,2 UPC
libptytty-2.0 e um ambiente gráfico
gdk-pixbuf-2.42.10 (para imagens de plano de fundo) e startup-notification-0.12
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/rxvt-unicode
Instale o rxvt-unicode executando os seguintes comandos:
./configure --prefix=/usr --enable-everything && make
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install
--enable-everything
:
Adiciona suporte para todas as opções que não sejam de
múltipla escolha. Detalhes a respeito das diferentes opções
podem ser encontrados no arquivo README.configure
.
--disable-xft
: Remove o suporte
para fontes Xft.
--disable-perl
: Desabilita o
interpretador Perl
incorporado.
--disable-afterimage
: Remove o
suporte para libAfterImage.
O emulador de terminal rxvt-unicode usa a classe de recurso
URxvt
e o nome de recurso
urxvt
. Você pode adicionar
definições de recursos do X aos arquivos ~/.Xresources
ou ~/.Xdefaults
de um(a) usuário(a) ou ao
arquivo /etc/X11/app-defaults/URxvt
abrangente a
todo o sistema. O exemplo a seguir carregará a extensão do
Perl matcher
(assumindo que o suporte
Perl não foi desabilitado),
o que habilita que um clique com o botão esquerdo abra um URL
sublinhado no navegador especificado, configura uma cor de
plano de fundo e de primeiro plano e carrega uma fonte Xft
(como o(a) usuário(a) root
):
cat >> /etc/X11/app-defaults/URxvt << "EOF"
! Use a cor especificada como a cor de plano de fundo de janelas [padrão branca]
URxvt*background: black
! Use a cor especificada como a cor de primeiro plano de janelas [padrão preta]
URxvt*foreground: yellow
! Selecione as fontes a serem usadas. Esta é uma lista separada por vírgulas de nomes de fontes
URxvt*font: xft:Monospace:pixelsize=18
! Lista(s) separada(s) por vírgulas de conjuntos de comandos sequenciais de extensão Perl (padrão: "default")
URxvt*perl-ext: matcher
! Especifica o aplicativo a ser iniciado com um argumento URL.
URxvt*url-launcher: firefox
! Quando clicado com o botão de mouse especificado no recurso "matcher.button"
! (padrão 2, ou meio), o aplicativo especificado no recurso "matcher.launcher"
! (padrão, o recurso "url-launcher", "sensible-browser" ) será iniciado com o
! texto correspondente como primeiro argumento.
! Abaixo, padrão modificado para botão esquerdo de mouse.
URxvt*matcher.button: 1
EOF
Para a finalidade de visualizar os recursos definidos do X, emita:
xrdb -query
Para a finalidade de adicionar as modificações do novo arquivo de configuração do(a) usuário(a), mantendo as configurações anteriores do X (é claro, a menos que você esteja mudando alguma definida anteriormente), emita:
xrdb -merge ~/.Xresources
O aplicativo rxvt-unicode também pode ser executado em modo de processo de segundo plano, o que torna possível abrir múltiplas janelas de terminal dentro do mesmo processo. O cliente urxvtc então se conecta ao processo de segundo plano urxvtd e solicita uma nova janela de terminal. Use essa opção com cuidado. Se o processo de segundo plano travar, todos os processos em execução nas janelas do terminal serão terminados.
Você consegue iniciar o processo de segundo plano
urxvtd no
conjunto de comandos sequenciais do sistema ou pessoal de
inicialização de sessão do X (por exemplo,
~/.xinitrc
) adicionando as
seguintes linhas perto o topo do conjunto de comandos
sequenciais:
# Inicia o processo de segundo plano urxvtd.
urxvtd -q -f -o &
Para mais informações, examine as páginas de manual
urxvt,
urxvtd,
urxvtc e
urxvtperl
.
Se você usa um Ambiente de Área de Trabalho, uma entrada de
menu pode ser incluída, emitindo-se, como o(a) usuário(a)
root
:
cat > /usr/share/applications/urxvt.desktop << "EOF" &&
[Desktop Entry]
Encoding=UTF-8
Name=Rxvt-Unicode Terminal
Comment=Use a linha de comandos
GenericName=Terminal
Exec=urxvt
Terminal=false
Type=Application
Icon=utilities-terminal
Categories=GTK;Utility;TerminalEmulator;
#StartupNotify=true
Keywords=console;command line;execute;
EOF
update-desktop-database -q
Para isso, você precisa do desktop-file-utils-0.26 e, pelo menos, um dos gnome-icon-theme-3.12.0, oxygen-icons5-5.103.0 e lxde-icon-theme-0.5.1. Descomente a linha com “StartupNotify=true” se o startup-notification-0.12 estiver instalado.
/usr/lib/urxvt/perl
Thunderbird é um cliente de mensagens/notícias independente baseado na base de código do Mozilla. Ele usa o mecanismo de renderização Gecko para o habilitar a exibir e compor mensagens eletrônicas em HTML.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.mozilla.org/pub/thunderbird/releases/102.8.0/source/thunderbird-102.8.0.source.tar.xz
Soma de verificação MD5 da transferência: 3f734007b13b304dadcdf3a197d95a9e
Tamanho da transferência: 483 MB
Espaço em disco estimado exigido: 7,4 GB (204 MB instalado)
Tempo de construção estimado: 20 UPC (em uma máquina de quatro elementos de processamento)
Autoconf-2.13, Cbindgen-0.24.3, dbus-glib-0.112, GTK+-3.24.36, LLVM-15.0.7 incluindo clang, nodejs-18.14.1, PulseAudio-16.1 (ou alsa-lib-1.2.8 se você editar o mozconfig; embora esteja agora obsoletado pelo mozilla), Python-3.11.2 (reconstruído com o módulo sqlite), startup-notification-0.12, Zip-3.0 e UnZip-6.0
ICU-72.1, libevent-2.1.12, libvpx-1.13.0, NASM-2.16.01, NSPR-4.35 e nss-3.88.1
Se você não instalar as dependências recomendadas, então cópias internas desses pacotes serão usadas. Elas podem ter sido testadas para funcionar, mas podem estar desatualizadas ou conter falhas de segurança.
Wget-1.21.3, Wireless Tools-29 e watchman
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/Thunderbird
O processo de construção do Thunderbird pode usar mais de oito (08) GB de RAM durante a vinculação. Certifique-se de que você tem swap ou RAM adequados antes de continuar.
A configuração do Thunderbird é realizada criando-se um
arquivo mozconfig
contendo as
opções de configuração desejadas. Um mozconfig
padrão é criado abaixo. Para ver
a lista completa de opções de configuração disponíveis (e uma
breve descrição de cada uma), emita mozilla/configure --help.
Crie o arquivo com o seguinte comando:
cat > mozconfig << "EOF"
# Se você tiver uma máquina com múltiplos elementos de processamento, todos os elementos de processamento serão usados.
# Se você tiver instalado o "wireless-tools", comente esta linha:
ac_add_options --disable-necko-wifi
# Descomente a seguinte opção se você não tiver instalado o "PulseAudio".
#ac_add_options --enable-audio-backends=alsa
# Comente as seguintes opções se você não tiver instalado
# as dependências recomendadas:
ac_add_options --with-system-libevent
ac_add_options --with-system-libvpx
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
ac_add_options --with-system-icu
# O "elf-hack" causa instalações falhas em algumas máquinas.
# Supõe-se que melhore o tempo de inicialização e reduza a libxul.so
# em alguns MB - comente isto se você sabe que a tua máquina não é afetada.
ac_add_options --disable-elf-hack
# Os(As) editores(as) do BLFS recomendam não mudar nada abaixo desta linha:
ac_add_options --prefix=/usr
ac_add_options --enable-application=comm/mail
ac_add_options --disable-crashreporter
ac_add_options --disable-updater
ac_add_options --disable-debug
ac_add_options --disable-debug-symbols
ac_add_options --disable-tests
ac_add_options --enable-optimize=-O2
ac_add_options --enable-linker=gold
ac_add_options --enable-strip
ac_add_options --enable-install-strip
ac_add_options --enable-official-branding
ac_add_options --enable-system-ffi
ac_add_options --enable-system-pixman
ac_add_options --with-system-jpeg
ac_add_options --with-system-png
ac_add_options --with-system-zlib
# O uso de bibliotecas wasm em sandbox foi movido para todas as construções,
# em vez de somente construções de automação do Mozilla. Exige pacotes llvm extras
# e foi informado que retarda seriamente a construção. Desative-o.
ac_add_options --without-wasm-sandboxed-libraries
EOF
Uma mudança em cbindgen-0.24.2 faz com que um símbolo seja agora gerado pelo cbindgen, mas ele já foi definido em um cabeçalho. Este sed evita que a construção eventualmente falhe:
sed -i '/ROOT_CLIP_CHAIN/d' gfx/webrender_bindings/webrender_ffi.h
Agora invoque o conjunto de comandos sequenciais Python mach para compilar o Thunderbird:
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 os comandos ./mach.
Agora invoque o conjunto de comandos sequenciais Python mach para compilar o pacote.
export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none && export MOZBUILD_STATE_PATH=./mozbuild && ./mach configure && ./mach build
Esse pacote não vem com uma suíte de teste.
Instale o Thunderbird
executando os seguintes comandos como o(a) usuário(a)
root
:
MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none ./mach install
Esvazie as variáveis de ambiente que foram configuradas acima:
unset MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE MOZBUILD_STATE_PATH
MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none: Use o Python do sistema para criar um ambiente virtual para o mach sem baixar nenhuma roda Python nem usar os módulos Python do sistema. Isso evita incompatibilidades de versão entre os módulos do sistema e os módulos incluídos.
./mach
configure: Isso valida as dependências
fornecidas e o mozconfig
.
./mach build --verbose
: Use essa
alternativa se você precisar de detalhes de quais arquivos
estão sendo compilados, juntamente com quaisquer
sinalizadores C ou C++ sendo usados.
./mach build -jN
: A construção
deveria, por padrão, usar todos os elementos de processamento
de CPU online. Se usar todos os elementos de processamento
fizer com que a construção use a área de troca porque você
tem memória insuficiente, usar menos elementos de
processamento poderá ser mais rápido.
: o BLFS costumava preferir usar gcc e
g++ em vez dos padrões de desenvolvedor(a) dos aplicativos
clang. Com o lançamento do
gcc-12, a construção demora mais tempo com gcc e g++,
principalmente por causa de avisos extras, e é maior.
Configure essas variáveis de ambiente antes de executar o conjunto de comandos
sequenciais de configuração se desejar continuar
a usar gcc, g++. Construir com GCC em i?86 atualmente está
quebrado.
CC=gcc
CXX=g++
Se o teu Gerenciador de Janelas ou Ambiente de Área de Trabalho não te permitir configurar um navegador padrão, você pode adicionar um parâmetro de configuração ao Thunderbird, de forma que um navegador seja iniciado quando você clicar em um URL da Internet/intranet/local. O procedimento para verificar ou modificar qualquer dos parâmetros de configuração é bastante simples e as instruções aqui podem ser usadas para visualizar ou modificar quaisquer dos parâmetros.
Primeiro, abra a caixa de diálogo de configuração abrindo o menu suspenso “Editar”. Escolha “Preferências” e, então, role até o final da página. Em seguida, clique no botão “Config Editor”. Clique no botão “Eu aceito o risco!”. Isso exibirá uma lista de preferências de configuração e informações relacionadas a cada uma delas. Você pode usar a barra “Filtro:” para inserir critérios de pesquisa e restringir os itens listados. A mudança de uma preferência pode ser feita usando-se dois métodos. Primeiro, se a preferência tiver um valor booleano (Verdadeiro/Falso), simplesmente clique duas vezes na preferência para alternar o valor; e dois, para outras preferências, simplesmente clique com o botão direito na linha desejada, escolha “Modificar” a partir do menu e mude o valor. A criação de novos itens de preferência é realizada da mesma maneira, exceto que escolha “Novo” a partir do menu e forneça os dados desejados nos campos quando solicitado.
O item de preferência de configuração que você precisa
verificar, de forma que o Thunderbird use um navegador
especificado, é o network.protocol-handler.app.http
,
que deveria ser configurado como o caminho do navegador
desejado, por exemplo, /usr/bin/firefox
.
Se você usar um ambiente de área de trabalho, como
GNOME ou KDE, um arquivo de área de trabalho
thunderbird.desktop
pode ser
criado, para a finalidade de incluir uma entrada
“Thunderbird” no menu.
Execute os seguintes comandos como o(a) usuário(a)
root
:
mkdir -pv /usr/share/{applications,pixmaps} &&
cat > /usr/share/applications/thunderbird.desktop << "EOF" &&
[Desktop Entry]
Name=Thunderbird Mail
Comment=Envie e receba mensagens com o Thunderbird
GenericName=Cliente de Mensagens
Exec=thunderbird %u
Terminal=false
Type=Application
Icon=thunderbird
Categories=Network;Email;
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;x-scheme-handler/mailto;
StartupNotify=true
EOF
ln -sfv /usr/lib/thunderbird/chrome/icons/default/default256.png \
/usr/share/pixmaps/thunderbird.png
Tigervnc é uma implementação avançada de VNC (Virtual Network Computing). Ele permite a criação de um servidor Xorg não vinculado a um console físico e também fornece um cliente para visualização da área de trabalho gráfica remota.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/TigerVNC/tigervnc/archive/v1.13.0/tigervnc-1.13.0.tar.gz
Soma de verificação MD5 da transferência: be6dcdd364a680be50964b60a5de6450
Tamanho da transferência: 1,9 MB
Espaço em disco estimado exigido: 97 MB
Tempo de construção estimado: 0,4 UPC (Usando paralelismo=4)
Arquivo exigido: https://www.x.org/pub/individual/xserver/xorg-server-21.1.6.tar.xz
A versão do Xorg pode eventualmente estar algumas versões desatualizadas, mas é exigida para as personalizações necessárias para esse pacote.
Remendo exigido: https://www.linuxfromscratch.org/patches/blfs/11.3/tigervnc-1.13.0-configuration_fixes-1.patch
Arquivo opcional para iniciar o servidor sem um gerenciador de tela: https://anduin.linuxfromscratch.org/BLFS/tigervnc/Xsession
CMake-3.25.2, FLTK-1.3.8, GnuTLS-3.8.0, libgcrypt-1.10.1, libjpeg-turbo-2.1.5.1, Pixman-0.42.2, Systemd-252 (com Linux-PAM-1.5.2), Aplicativos do Xorg, xinit-1.4.2 e Fontes Legadas do "Xorg"
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/tigervnc
Primeiro, faça ajustes nos arquivos de configuração para torná-los compatíveis com sistemas LFS:
patch -Np1 -i ../tigervnc-1.13.0-configuration_fixes-1.patch
Instale o tigervnc executando os seguintes comandos:
# Coloque o código no lugar mkdir -p unix/xserver && tar -xf ../xorg-server-21.1.6.tar.xz \ --strip-components=1 \ -C unix/xserver && ( cd unix/xserver && patch -Np1 -i ../xserver21.1.1.patch ) && # Construa o visualizador cmake -G "Unix Makefiles" \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -Wno-dev . && make && # Construa o servidor pushd unix/xserver && autoreconf -fiv && CPPFLAGS="-I/usr/include/drm" \ ./configure $XORG_CONFIG \ --disable-xwayland --disable-dri --disable-dmx \ --disable-xorg --disable-xnest --disable-xvfb \ --disable-xwin --disable-xephyr --disable-kdrive \ --disable-devel-docs --disable-config-hal --disable-config-udev \ --disable-unit-tests --disable-selective-werror \ --disable-static --enable-dri3 \ --without-dtrace --enable-dri2 --enable-glx \ --with-pic && make && popd
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
# Instale o visualizador make install && # Instale o servidor ( cd unix/xserver/hw/vnc && make install ) && [ -e /usr/bin/Xvnc ] || ln -svf $XORG_PREFIX/bin/Xvnc /usr/bin/Xvnc
tar -xf .. xorg-server...: Esse comando extrai o pacote padrão do Xorg na árvore em um local necessário para modificação.
--disable ...
: A
maioria das opções que normalmente são necessárias para o
servidor Xorg padrão não é necessária para a instância Xvnc
sendo construída.
[ -e /usr/bin/Xvnc ] || ln ...
Xvnc: Se o servidor Xvnc não estiver
instalado no diretório /usr/bin
, então crie um link, de forma que
o conjunto de comandos sequenciais vncserver consiga
encontrá-lo.
Nos sistemas systemd, outro método de configuração está disponível. Esta configuração oferece o benefício adicional de tornar o tigervnc systemd ciente das sessões do VNC e permite que ambientes de área de trabalho, como GNOME, iniciem serviços automaticamente assim que a sessão do VNC for iniciada. Esta configuração também oferece o benefício adicional de iniciar Sessões do VNC na inicialização do sistema. Para configurar o servidor VNC dessa forma, siga estas instruções.
Primeiro, instale um arquivo Xsession rudimentar, de forma que o servidor VNC consiga inicializar adequadamente as sessões do X:
install -vdm755 /etc/X11/tigervnc && install -v -m755 ../Xsession /etc/X11/tigervnc
Em seguida, configure um mapeamento de usuário(a) em
/etc/tigervnc/vncserver.users
.
Isso informa ao Servidor VNC qual sessão está alocada para
um(a) usuário(a).
echo ":1=$(whoami)" >> /etc/tigervnc/vncserver.users
Em seguida, configure um arquivo de configuração para informar ao vncserver qual ambiente de área de trabalho deveria ser usado e qual geometria de tela deveria ser usada. Existem diversas outras opções que podem ser definidas neste arquivo, mas elas estão fora do escopo do BLFS.
install -vdm 755 ~/.vnc &&
cat > ~/.vnc/config << EOF
# Inicia ~/.vnc/config
# A sessão precisa corresponder a uma listada em /usr/share/xsessions.
# Garanta que não existam espaços ao final das linhas.
session=LXDE
geometry=1024x768
# Termina ~/.vnc/config
EOF
Para iniciar o Servidor VNC, execute o seguinte comando:
systemctl start vncserver@:1
Para iniciar o Servidor VNC quando o sistema inicializar, execute o seguinte comando:
systemctl enable vncserver@:1
é um servidor VNC (Virtual Network Computing) do X. Ele é baseado em um servidor padrão do X, mas tem uma tela “virtual” em vez de uma física |
|
é um aplicativo para configurar e controlar um servidor VNC |
|
permite que você configure a senha usada para acessar áreas de trabalho VNC |
|
é um conjunto de comandos sequenciais Perl usado para iniciar ou parar um servidor VNC |
|
é um cliente usado para conectar-se a áreas de trabalho VNC |
|
é um aplicativo para tornar uma tela do X em um terminal físico acessível via TigerVNC ou visualizadores compatíveis |
Transmission é um cliente BitTorrent multiplataforma e de fonte aberto. Isso é útil para baixar arquivos grandes (como ISOs do Linux) e reduz a necessidade para os(as) distribuidores(as) fornecerem largura de banda de servidor.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/transmission/transmission/releases/download/4.0.1/transmission-4.0.1.tar.xz
Soma de verificação MD5 da transferência: 29521f4373900a3077849e41b16801f9
Tamanho da transferência: 10 MB
Espaço em disco estimado exigido: 202 MB
Tempo de construção estimado: 1,4 UPC (com interfaces GUI GTK; usando paralelismo=4) 5 UPC com ambos GTK e QT5
libevent-2.1.12 e libpsl-0.21.2 (para usar bibliotecas do sistema, em vez das agrupadas)
nodejs-18.14.1 (para construir o cliente web, não necessário em tempo de execução), appindicator, dht, libb64, libdeflate, libnatpmp, libutp e miniupnp
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/transmission
Instale o Transmission executando os seguintes comandos:
mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/transmission-4.0.1 \ .. && make
Agora, como o(a) usuário(a) root
:
make install
Como o transmission.png parece estar ausente, crie-o a partir do svg::
rsvg-convert \ /usr/share/icons/hicolor/scalable/apps/transmission.svg \ -o /usr/share/pixmaps/transmission.png
-DENABLE_QT=OFF
: Essa chave
desabilita a construção do cliente Qt5. O padrão é o de construí-lo se o
Qt-5.15.8
estiver instalado.
-DENABLE_GTK=OFF
: Essa chave
desabilita a construção do cliente GTK+-3 de CLI. O padrão é
o de construí-lo se o Gtkmm-3.24.7 estiver instalado.
-DENABLE_WEB=OFF
: Essa chave
desabilita a construção do cliente web. O padrão é o de
construí-lo se o nodejs-18.14.1 estiver instalado.
é um cliente BitTorrent leve de linha de comando com recursos de conjunto de comandos sequenciais |
|
é uma ferramenta de linha de comando usada para criar arquivos .torrent |
|
é uma sessão do Transmission baseada em processo de segundo plano que pode ser controlada por meio de comandos RPC a partir da interface web do Transmission ou do transmission-remote |
|
é um utilitário de linha de comando para modificar URLs de anúncio de arquivos .torrent |
|
é um cliente bittorrent GTK+ |
|
é um cliente bittorrent Qt |
|
é um utilitário de controle remoto para transmission-daemon e transmission |
|
é uma ferramenta de linha de comando para exibir metadados de arquivo .torrent do BitTorrent |
XArchiver é um gerenciador GTK+ de arquivamentos com suporte para tar, xz, bzip2, gzip, zip, 7z, rar, lzo e muitos outros formatos de arquivamento.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
xarchiver é somente uma interface de linha de comando ou gráfica para utilitários de arquivamento, como tar e zip.
Transferência (HTTP): https://github.com/ib/xarchiver/archive/0.5.4.20/xarchiver-0.5.4.20.tar.gz
Soma de verificação MD5 da transferência: 95c0e8a727faad16122d59889c105210
Tamanho da transferência: 1,1 MB
Espaço em disco estimado exigido: 10 MB
Tempo de construção estimado: 0,1 UPC
cpio-2.13, LZO-2.10, p7zip-17.04, UnRar-6.2.6, UnZip-6.0 e Zip-3.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xarchiver
Instale o xarchiver executando os seguintes comandos:
./configure --prefix=/usr \ --libexecdir=/usr/lib/xfce4 \ --docdir=/usr/share/doc/xarchiver-0.5.4.20 && make
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install
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 de memória
atualizando /usr/share/icons/hicolor/index.theme
e
/usr/share/applications/mimeinfo.cache
.
Para realizar a atualização, você precisa ter o GTK+-2.24.33
ou GTK+-3.24.36 instalado (para o cache de
ícones) e o 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 -qtf /usr/share/icons/hicolor && update-desktop-database -q
--libexecdir=/usr/lib/xfce4
:
Essa chave corrige o local para o thunar-archive-plugin, de
forma que ele funcionará se o thunar-4.18.4 estiver instalado.
--disable-gtk3
: Essa chave
permite construir contra o GTK+2 ou usar --disable-gtk2
para forçar a construção
contra GTK+3 quando GTK+2 estiver instalado.
xdg-utils é um conjunto de ferramentas de linha de comando que auxiliam os aplicativos em uma variedade de tarefas de integração de área de trabalho. É exigido para conformidade com o Linux Standards Base (LSB).
Uma vulnerabilidade de segurança existe em todas as versões do xdg-utils a partir da versão 1.1.0rc1 ao lidar com mailto: URIs. Um(a) invasor(a) poderia potencialmente enviar para a vítima um URI que anexasse automaticamente um arquivo confidencial a uma nova mensagem eletrônica. Se um(a) usuário(a) vítima não perceber que um anexo foi adicionado e enviar a mensagem eletrônica, isso poderia resultar na divulgação de informações confidenciais.
Para mitigar essa falha, ou não use links mailto de jeito nenhum ou sempre verifique duas vezes na interface de usuário(a) se não existem anexos indesejados antes de enviar mensagens eletrônicas, especialmente quando a mensagem eletrônica se originar a partir de um clique em um link mailto.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://portland.freedesktop.org/download/xdg-utils-1.1.3.tar.gz
Soma de verificação MD5 da transferência: 902042508b626027a3709d105f0b63ff
Tamanho da transferência: 296 KB
Espaço em disco estimado exigido: 3,2 MB (com os testes)
Tempo de construção estimado: 0,3 UPC (com os testes)
xmlto-0.0.28 com um de Lynx-2.8.9rel.1, Links-2.28 ou W3m
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xdg-utils
Compile o xdg-utils com os seguintes comandos:
./configure --prefix=/usr --mandir=/usr/share/man && make
Os testes para os scripts precisam ser feitos a partir de
uma sessão baseada em Janelas do X. Existem vários
requisitos de tempo de execução para executar os testes,
incluindo um navegador e um MTA. Executar-se os testes como
usuário(a) root
não é
recomendado.
Para executar os testes, emita: make -k test.
Agora instale-o como o(a) usuário(a) root
:
make install
é uma ferramenta de linha de comando para (des)instalar itens de menu da área de trabalho |
|
é uma ferramenta de linha de comando para (des)instalar ícones na área de trabalho |
|
é uma ferramenta de linha de comando para consultar informações a respeito do tratamento de tipos de arquivos e adicionar descrições para novos tipos de arquivos |
|
é uma ferramenta de linha de comando para (des)instalar recursos de ícones |
|
abre um arquivo ou URL no aplicativo preferido do(a) usuário(a) |
|
abre o compositor preferido de mensagem eletrônica do(a) usuário(a) para a finalidade de enviar uma mensagem de correio |
|
é uma ferramenta de linha de comando para controlar o protetor de tela |
|
é uma ferramenta de linha de comando para gerenciar várias configurações a partir do ambiente de área de trabalho |
O pacote XScreenSaver é um protetor e travador de tela modular para o Sistema de Janelas do X. Ele é altamente personalizável e permite o uso de qualquer aplicativo que possa desenhar na janela raiz como modo de exibição. O objetivo do XScreenSaver é o de exibir imagens bonitas na tua tela quando não estiver em uso, de acordo com a filosofia de que os monitores não atendidos sempre deveriam estar fazendo algo interessante, assim como eles fazem nos filmes. No entanto, o XScreenSaver também pode ser usado como um travador de tela, para evitar que outras pessoas usem teu terminal enquanto você estiver ausente.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.jwz.org/xscreensaver/xscreensaver-6.06.tar.gz
Soma de verificação MD5 da transferência: 7e9437089cc8162a3cf9ff335633faed
Tamanho da transferência: 25 MB
Espaço em disco estimado exigido: 255 MB
Tempo de construção estimado: 0,3 UPC (Usando paralelismo=4)
GTK+-3.24.36, libglade-2.6.4 e Aplicativos do Xorg
GDM-43.0, Linux-PAM-1.5.2, MIT Kerberos V5-1.20.1 e GLE
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xscreensaver
Instale o XScreenSaver 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
--with-setuid-hacks
: Essa chave
permite que algumas demonstrações sejam instaladas setuid
root
, que é necessário para a
finalidade de executar ping para outros dispositivos.
Se o XScreenSaver tiver sido construído com suporte a Linux PAM, você precisa criar um arquivo de configuração PAM, para fazê-lo funcionar corretamente com o 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/xscreensaver << "EOF"
# Inicia /etc/pam.d/xscreensaver
auth include system-auth
account include system-account
# Termina /etc/pam.d/xscreensaver
EOF
é um processo de segundo plano protetor e travador de tela |
|
controla um processo xscreensaver em execução, enviando-lhe mensagens de cliente |
|
é um link simbólico para xscreensaver-settings |
|
é uma estrutura gráfica de interação direta com o(a) usuário(a) para configurar os parâmetros usados pelo processo de segundo plano xscreensaver de plano de fundo |
Muitos aplicativos multimídia exigem bibliotecas e (ou) controladores para a finalidade de funcionarem corretamente. Os pacotes nesta seção caem nessa categoria. Geralmente, você somente precisa instalá-los se estiver instalando um aplicativo que tenha a biblioteca listada como um requisito ou como uma opção para habilitá-lo a suportar determinadas funcionalidades.
O núcleo Linux agora fornece suporte ALSA por padrão. No entanto, os aplicativos precisam interfacear com esse recurso. As seguintes seis seções do livro lidam com os componentes separados do ALSA: as bibliotecas, os plugins, os utilitários, as ferramentas, o firmware e as bibliotecas de compatibilidade OSS.
O pacote ALSA Library contém a biblioteca ALSA usada por aplicativos (incluindo ALSA Utilities) que exigem acesso para a interface de som ALSA.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.alsa-project.org/files/pub/lib/alsa-lib-1.2.8.tar.bz2
Transferência (FTP): ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.2.8.tar.bz2
Soma de verificação MD5 da transferência: ab32de4b6054d7ab23723f8d85e50a27
Tamanho da transferência: 1,0 MB
Espaço em disco estimado exigido: 45 MB (com testes e documentos)
Tempo de construção estimado: 0,3 UPC (com testes e documentos)
Doxygen-1.9.6, Python-2.7.18 e alsa-ucm-conf
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/alsa-lib
Se necessário, habilite as seguintes opções na configuração do núcleo e recompile o núcleo:
Device Drivers --->
<*/M> Sound card support ---> [CONFIG_SOUND]
<*/M> Advanced Linux Sound Architecture ---> [CONFIG_SND]
Select settings and drivers appropriate for your hardware.
Na seção Device Drivers ⇒ Sound card support ⇒ Advanced Linux Sound Architecture da configuração do núcleo, selecione as configurações e controladores apropriados para o teu hardware. Se necessário, recompile e instale teu novo núcleo.
Instale o ALSA Library executando os seguintes comandos:
./configure && make
Se você tiver o Doxygen instalado e desejar construir a documentação da API da biblioteca, execute os seguintes comandos a partir do diretório de nível superior da árvore do fonte:
make doc
Para testar os resultados, emita: make check.
Agora, como o(a) usuário(a) root
:
make install
Para instalar a documentação da API, execute o seguinte
comando como o(a) usuário(a) root
:
install -v -d -m755 /usr/share/doc/alsa-lib-1.2.8/html/search && install -v -m644 doc/doxygen/html/*.* \ /usr/share/doc/alsa-lib-1.2.8/html && install -v -m644 doc/doxygen/html/search/* \ /usr/share/doc/alsa-lib-1.2.8/html/search
O alsa.conf
padrão é adequado
para a maioria das instalações. Para funcionalidade extra e
(ou) controle avançado do teu dispositivo de som, você
possivelmente necessite criar arquivos adicionais de
configuração. Para informações a respeito dos parâmetros de
configuração disponíveis, visite https://www.alsa-project.org/main/index.php/Asoundrc.
O pacote ALSA Plugins contém plugins para diversas bibliotecas de áudio e servidores de som.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.alsa-project.org/files/pub/plugins/alsa-plugins-1.2.7.1.tar.bz2
Transferência (FTP): ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-1.2.7.1.tar.bz2
Soma de verificação MD5 da transferência: 8fb7e05b84c87f30655a8997a9a983d1
Tamanho da transferência: 400 KB
Espaço em disco estimado exigido: 5,5 MB
Tempo de construção estimado: menos que 0,1 UPC
FFmpeg-5.1.2, libsamplerate-0.2.2, PulseAudio-16.1, Speex-1.2.1, JACK, libavtp e maemo
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/alsa-plugins
Instale o ALSA Plugins 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
<módulo>
.so,
incluindo conf_pulse, ctl_arcam_av, ctl_oss, ctl_pulse,
pcm_a52, pcm_jack, pcm_oss, pcm_pulse, pcm_speex,
pcm_upmix, pcm_usb_stream, pcm_vdownmix, rate_lavrate*,
rate_samplerate* e rate_speexrate*
Permite aplicativos nativos ALSA executarem em OSS |
|
Permite mistura aumentadora de som para 4 ou 6 canais |
|
Permite mistura redutora de som de 4-6 canais para saída estéreo de 2 canais |
|
Permite aplicativos nativos ALSA funcionem com o jackd |
|
Permite aplicativos nativos ALSA acessarem um processo de segundo plano de som PulseAudio |
|
Converte o formato de som linear S16 para o formato comprimido A52 e envia-o para uma saída SPDIF |
|
Fornece um conversor externo de taxa por intermédio
da |
O pacote ALSA Utilities contém vários utilitários que são úteis para controlar tua placa de som.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.alsa-project.org/files/pub/utils/alsa-utils-1.2.8.tar.bz2
Transferência (FTP): ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.2.8.tar.bz2
Soma de verificação MD5 da transferência: 51175f5cd413daf7009a80684c65113d
Tamanho da transferência: 1,5 MB
Espaço em disco estimado exigido: 15 MB
Tempo de construção estimado: 0,2 UPC
docutils-0.19, fftw-3.3.10, libsamplerate-0.2.2, xmlto-0.0.28 e Dialog
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/alsa-utils
Instale o ALSA Utilities executando os seguintes comandos:
./configure --disable-alsaconf \ --disable-bat \ --disable-xmlto \ --with-curses=ncursesw && make
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install
--disable-alsaconf
:
Essa chave desabilita construir a ferramenta de configuração
alsaconf que é
incompatível com o Udev.
--disable-xmlto
:
Omita essa chave se você tiver instalado o xmlto-0.0.28 e desejar
regenerar as páginas de manual.
--disable-bat
: Omita
essa chave se você tiver instalado o fftw-3.3.10 e desejar
instalar o Basic Audio Tester (BAT).
--with-curses=ncursesw
: Essa
chave força o uso de bibliotecas ncurses de caracteres
largos.
Observe que todos os canais da tua placa de som estão silenciados por padrão. Você pode usar o aplicativo alsamixer para mudar isso. Use o speaker-test para verificar se tuas configurações foram aplicadas corretamente. Você deveria ouvir “ruído rosa” nos teus alto-falantes.
O aplicativo alsactl
normalmente é executado a partir de uma regra padrão do
udev. Na primeira vez que
for executado, ele reclamará que não existe estado em
/var/lib/alsa/asound.state
.
Você pode evitar isso executando o seguinte comando como
o(a) usuário(a) root
:
alsactl -L store
As configurações de volume deveriam ser restauradas a partir do estado salvo pelo Udev quando o dispositivo for detectado (durante a inicialização ou quando plugado para dispositivos USB).
Todos os dispositivos de som não são acessíveis para
nenhum(a) usuário(a), exceto root
e membros(as) do grupo
audio
. Adicione quaisquer
usuários(as) que possam usar os dispositivos de som a esse
grupo:
usermod -a -G audio <nome_usuário(a)>
Você possivelmente necessite sair e entrar novamente para
atualizar tuas associações ao grupo. 'su <nome_usuário(a)>
'
também deveria funcionar.
Em sistemas que tem múltiplas placas de som, você
possivelmente necessite ajustar o dispositivo de áudio
padrão, de forma que possa obter saída a partir dos teus
alto-falantes. Para configurar o dispositivo padrão,
primeiro verifique o arquivo /proc/asound/cards
para determinar qual
número precisa configurar. Depois que souber essas
informações, configure a placa padrão com o seguinte
comando como o(a) usuário(a) root
:
cat > /etc/asound.conf << "EOF"
# Inicia /etc/asound.conf
defaults.pcm.card 1
defaults.ctl.card 1
# Termina /etc/asound.conf
EOF
é um utilitário para conectar e desconectar duas portas existentes no sistema sequenciador do ALSA |
|
é usado para controlar configurações avançadas para os controladores ALSA de placa de som. Use isso se o alsamixer não puder utilizar todos os recursos da tua placa de som |
|
permite a criação de um loopback PCM entre um dispositivo de captura PCM e um dispositivo de reprodução PCM |
|
é um aplicativo de mistura baseado em Ncurses para uso com os controladores ALSA da placa de som |
|
é um utilitário usado para compilar arquivos de configuração de topologia em arquivos binários para controladores de núcleo |
|
permite aplicativos acessarem o hardware de maneira abstraída |
|
é usado para ler a partir de, e escrever para, as portas RawMIDI do ALSA |
|
permite o controle de linha de comando dos misturadores para os controladores ALSA da placa de som |
|
é um reprodutor de linha de comando de arquivos de som para os controladores ALSA da placa de som |
|
é um utilitário de linha de comando que reproduz o(s) arquivo(s) especificado(s) MIDI em uma ou mais portas do sequenciador do ALSA |
|
é um gravador de linha de comando de arquivo de som para os controladores ALSA da placa de som |
|
é um utilitário de linha de comando que grava um arquivo MIDI padrão a partir de uma ou mais portas do sequenciador do ALSA |
|
é um utilitário de linha de comando que imprime os eventos do sequenciador que receber como texto |
|
é um cliente sequenciador ALSA que envia e recebe pacotes de eventos ao longo de uma rede de intercomunicação |
|
é um gravador e reprodutor de linha de comando usado para transferir quadros de áudio entre dispositivos, e arquivos, de som |
|
é um pequeno utilitário para configurar ou despejar os bits de situação IEC958 (ou os assim chamados “S/PDIF”) da placa de som especificada por intermédio da API de controle do ALSA |
|
é um gerador de linha de comando de tom de teste de alto-falante para o ALSA |
O pacote ALSA Tools contém ferramentas avançadas para determinadas placas de som.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.alsa-project.org/files/pub/tools/alsa-tools-1.2.5.tar.bz2
Transferência (FTP): ftp://ftp.alsa-project.org/pub/tools/alsa-tools-1.2.5.tar.bz2
Soma de verificação MD5 da transferência: ce632a6c89ed47ee74ba415276a6a3cc
Tamanho da transferência: 1,8 MB
Espaço em disco estimado exigido: 26 MB
Tempo de construção estimado: 0,4 UPC
GTK+-2.24.33 (para construir echomixer, envy24control e rmedigicontrol), GTK+-3.24.36 (para construir hdajackretask) e FLTK-1.3.8 (para construir hdspconf e hdspmixer)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/alsa-tools
Ao instalar-se múltiplos pacotes em um "script", 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:
Executar o "script" inteiro como o(a) usuário(a) "root" (não recomendado).
Usar o comando "sudo" oriundo do pacote Sudo-1.9.13p1.
Usar su -c "argumentos do comando" (aspas exigidas) o qual solicitará a senha do(a) "root" para cada interação do "loop".
Uma maneira de se lidar com essa situação é a de criar uma função curta do "bash" que seleciona automaticamente o método apropriado. Tão logo o comando seja configurado no ambiente, ele não precisa ser novamente configurado.
as_root() { if [ $EUID = 0 ]; then $* elif [ -x /usr/bin/sudo ]; then sudo $* else su -c \\"$*\\" fi } export -f as_root
Primeiro, inicie um subshell que terminará em caso de erro:
bash -e
Agora, remova uma ferramenta que precisa de Qt2 ou 3 e dois arquivos desnecessários (para as instruções do BLFS abaixo):
rm -rf qlo10k1 Makefile gitcompile
O pacote ALSA Tools somente é necessário para aqueles(as) com requisitos avançados para a placa de som deles(as). As ferramentas podem ser construídas todas juntas de uma vez, mas se somente um subconjunto for necessário, você precisa cd ao diretório de cada ferramenta que desejar compilar e executar os comandos. Aqui apresentamos instruções para construir todas as ferramentas.
Instale todas as ALSA Tools executando os seguintes comandos:
for tool in * do case $tool in seq ) tool_dir=seq/sbiload ;; * ) tool_dir=$tool ;; esac pushd $tool_dir ./configure --prefix=/usr make as_root make install as_root /sbin/ldconfig popd done unset tool tool_dir
Finalmente, saia do shell que foi iniciado anteriormente:
exit
é um montador para o chip DSP emu10k1 presente nas placas de som Creative SB Live, PCI 512 e emu APS. Ele é usado para fazer efeitos de áudio como flanger, chorus ou reverb |
|
é um aplicativo de controle do Creative Signal Processor (ASP/CSP) da SB16/AWE32 |
|
é o equivalente Linux do aplicativo de console Echoaudio proveniente da Echoaudio. Ele é uma ferramenta para controlar todos os recursos de qualquer placa de som Echoaudio. Isso inclui fontes de relógio, ganhos de entrada e saída, misturadores, etc |
|
é uma ferramenta de controle para placas de som baseadas em Envy24 (ice1712) |
|
é uma GUI para facilitar a redefinição de teus conectores - por exemplo, transforme teu conector de microfone em um fone de ouvido extra ou, por que não, faça as duas saídas de linha e conecte-as ao teu receptor de envolver |
|
é um pequeno aplicativo para enviar comandos de áudio de alta definição para um determinado dispositivo hwdep do ALSA na interface de áudio de alta definição |
|
é uma GUI para controlar as configurações Alsa do Hammerfall HDSP. Até quatro placas hdsp são suportadas |
|
é usado para carregar o firmware exigido pelas placas de som Hammerfall HDSP |
|
é o equivalente Linux do aplicativo Totalmix proveniente da RME. Ele é uma ferramenta para controlar os recursos avançados de roteamento da série de placas de som Hammerfall DSP da RME |
|
permite a você controlar o volume de fluxos individuais em placas de som que usam mixagem de hardware |
|
são ferramentas usadas para inicializar placas da série Audigy da Creative Sound Blaster |
|
é uma ferramenta usada para inicializar placas Creative Sound Blaster Live |
|
é o servidor de um carregador de remendo da EMU10K{1,2} para ALSA |
|
é o cliente de um carregador de remendo da EMU10K{1,2} para ALSA |
|
carrega despejos de configuração gerados por lo10k1 e ld10k1 |
|
é um conjunto de comandos sequenciais de iniciação para o carregador de remendo do ld10k1 |
|
é um aplicativo auxiliar para carregar os binários de firmware nos controladores de som da placa miXart do Digigram. Os seguintes módulos exigem esse aplicativo: snd-mixart. Esses controladores não funcionam corretamente até que determinados firmwares sejam carregados, ou seja, nenhum PCM ou dispositivo de mixagem aparecerá |
|
é um aplicativo auxiliar para carregar os binários de firmware nos controladores de som da placa compatíveis com pcxhr da Digigram. Os seguintes módulos exigem esse aplicativo: snd-pcxhr. Esses controladores não funcionam corretamente até que certos firmwares sejam carregados, ou seja, nenhum PCM ou dispositivo de mixagem aparecerá |
|
é uma ferramenta de controle para placas de som RME Digi32 e RME Digi96. Ela fornece uma interface gráfica para todos os controles e interruptores da placa de som |
|
é um carregador de instrumentos FM OPL2/3 para o sequenciador do ALSA |
|
é um utilitário de controle SoundScape do ALSA |
|
é um aplicativo de controle Tascam US-428 |
|
é um aplicativo auxiliar para carregar os binários de firmware da 2ª fase nas placas de som USB Tascam USX2Y. Foi provado funcionar até agora para US122, US224 e US428. O módulo snd-usb-usx2y exige esse aplicativo |
|
é um aplicativo auxiliar para carregar os binários de firmware nos controladores de som da placa VX do Digigram. Os seguintes módulos exigem esse aplicativo: snd-vx222, snd-vxpocket, snd-vxp440. Esses controladores não funcionam corretamente até que determinados firmwares sejam carregados, ou seja, nenhum PCM ou dispositivo de mixagem aparecerá |
O pacote ALSA Firmware contém firmware para determinadas placas de som.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.alsa-project.org/files/pub/firmware/alsa-firmware-1.2.4.tar.bz2
Transferência (FTP): ftp://ftp.alsa-project.org/pub/firmware/alsa-firmware-1.2.4.tar.bz2
Soma de verificação MD5 da transferência: ee6c1d24a1a4ac1d86992b408ed710a2
Tamanho da transferência: 4,9 MB
Espaço em disco estimado exigido: 39 MB
Tempo de construção estimado: menos que 0,1 UPC
AS31 (para reconstruir o firmware a partir do fonte)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/alsa-firmware
O pacote ALSA Firmware somente é necessário para aqueles(as) com requisitos avançados para a placa de som deles(as). Veja-se o README para opções de configuração.
Instale o ALSA Firmware 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
O pacote alsa-oss contém a biblioteca de compatibilidade alsa-oss. Isso é usado por aplicativos que desejem usar a interface de som alsa-oss.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.alsa-project.org/files/pub/oss-lib/alsa-oss-1.1.8.tar.bz2
Transferência (FTP): ftp://ftp.alsa-project.org/pub/oss-lib/alsa-oss-1.1.8.tar.bz2
Soma de verificação MD5 da transferência: 9ec4bb783fdce19032aace086d65d874
Tamanho da transferência: 288 KB
Espaço em disco estimado exigido: 3,0 MB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/alsa-oss
Instale o ALSA OSS executando os seguintes comandos:
./configure --disable-static && make
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
O pacote AudioFile contém as bibliotecas de arquivos de áudio e dois aplicativos de suporte a arquivos de som úteis para suportar formatos básicos de arquivos de som.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.gnome.org/sources/audiofile/0.3/audiofile-0.3.6.tar.xz
Transferência (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/audiofile/0.3/audiofile-0.3.6.tar.xz
Soma de verificação MD5 da transferência: 235dde14742317328f0109e9866a8008
Tamanho da transferência: 520 KB
Espaço em disco estimado exigido: 18 MB
Tempo de construção estimado: 0,6 UPC
asciidoc-10.2.0 e Valgrind-3.20.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/audiofile
Instale o AudioFile executando os seguintes comandos:
patch -Np1 -i ../audiofile-0.3.6-consolidated_patches-1.patch && autoreconf -fiv && ./configure --prefix=/usr --disable-static && make
Agora, como o(a) usuário(a) root
:
make install
Para testar os resultados, emita: make check. Observe que os testes falharão se a opção --disable-static for usada e os testes forem executados antes de make install. Você tem três opções:
(a) configure sem --disable-static, execute os testes, mas não instale; então inicie uma nova construção usando --disable-static apenas para instalar o pacote.
(b) configure com --disable-static, mas somente execute os testes depois que o pacote for instalado.
(c) configure com --disable-static, mas somente execute os testes depois de uma instalação DESTDIR.
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
exibe o formato do arquivo de som, codificação de áudio, taxa de amostragem e duração para formatos de áudio suportados por essa biblioteca |
|
converte formatos de arquivo de som onde o formato original e o formato de destino sejam suportados por essa biblioteca |
|
contém funções usadas por aplicativos para suportar formatos de áudio AIFF, compactados por AIFF, Sun/NeXT, WAV e BIC |
FAAC é um codificador para um esquema de compressão de som com perdas especificado nos padrões MPEG-2 Parte 7 e MPEG-4 Parte 3 e conhecido como Advanced Audio Coding (AAC). Esse codificador é útil para produzir arquivos que podem ser reproduzidos no iPod. Além disso, o iPod não compreende outros esquemas de compressão de som em arquivos de vídeo.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/knik0/faac/archive/1_30/faac-1_30.tar.gz
Soma de verificação MD5 da transferência: 8d61e6d55088e599aa91532d5e6995b0
Tamanho da transferência: 240 KB
Espaço em disco estimado exigido: 4,7 MB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/faac
Instale o FAAC executando os seguintes comandos:
./bootstrap && ./configure --prefix=/usr --disable-static && make
Esse pacote não vem com uma suíte de teste. No entanto, a funcionalidade básica pode ser testada codificando-se um arquivo WAV de amostra (o arquivo de amostra é instalado pelo pacote alsa-utils-1.2.8:
./frontend/faac -o Front_Left.mp4 /usr/share/sounds/alsa/Front_Left.wav
Em seguida, decodifique o resultado usando o aplicativo faad proveniente do pacote FAAD2-2.10.1 e reproduza o arquivo decodificado (exige o aplicativo aplay originário do pacote alsa-utils-1.2.8:
faad Front_Left.mp4 aplay Front_Left.wav
aplay deveria identificar o arquivo como “Signed 16 bit Little Endian, Rate 48000 Hz, Stereo”, e você deveria ouvir as palavras “front left”.
Agora, como o(a) usuário(a) root
:
make install
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
A qualidade do FAAC não está à altura dos melhores codificadores AAC disponíveis atualmente. Além disso, ele suporta somente AAC e não High Efficiency AAC (também conhecido como aacPlus), que oferece melhor qualidade em taxas de bits baixas por meio do uso da tecnologia de “replicação de banda espectral”. Existem os seguintes aplicativos alternativos para produzir fluxos AAC e HE-AAC:
Nero AAC Codec: disponíveis somente no formato binário, os codificadores de linha de comando AAC e HE-AAC para Linux estão no mesmo arquivamento que o aplicativo do Windows.
Codificador geral de áudio 3GPP Enhanced aacPlus:
disponível no formato de fonte, pode codificar somente
HE-AAC de até 48 kbps pronto para uso, mas a taxa de
bits máxima pode ser mudada editando-se a tabela de
ajuste no arquivo FloatFR_sbrenclib/src/sbr_main.c
.
Observe, entretanto, que o iPod suporta somente o perfil AAC de baixa complexidade, que é o padrão no FAAC, mas possivelmente não seja o padrão no Nero AAC Encoder e está completamente indisponível no codificador 3GPP.
FAAD2 é um decodificador para um esquema de compressão de som com perdas especificado nos padrões MPEG-2 Parte 7 e MPEG-4 Parte 3 e conhecido como Advanced Audio Coding (AAC).
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/knik0/faad2/archive/2.10.1/faad2-2.10.1.tar.gz
Soma de verificação MD5 da transferência: 62a0427c6ff3a273aa720e27da166758
Tamanho da transferência: 788 KB
Espaço em disco estimado exigido: 14 MB
Tempo de construção estimado: 0,1 UPC
Arquivo AAC de amostra: https://www.nch.com.au/acm/sample.aac (7 KB)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/faad2
Instale o FAAD2 executando os seguintes comandos:
./bootstrap && ./configure --prefix=/usr --disable-static && make
Esse pacote não vem com uma suíte de teste. No entanto, a funcionalidade básica pode ser testada decodificando-se o arquivo AAC de amostra:
./frontend/faad -o sample.wav ../sample.aac
Isso deveria exibir uma mensagem de direitos autorais e as seguintes informações a respeito do arquivo de amostra:
sample.aac file info:
ADTS, 4.608 sec, 13 kbps, 16000 Hz
---------------------
| Config: 2 Ch |
---------------------
| Ch | Position |
---------------------
| 00 | Left front |
| 01 | Right front |
---------------------
Agora reproduza o resultado (exige o aplicativo aplay originário do pacote alsa-utils-1.2.8):
aplay sample.wav
O aplay deveria identificar o arquivo como “Signed 16 bit Little Endian, Rate 16000 Hz, Stereo”, e você deveria escutar algumas notas de piano.
Agora, como o(a) usuário(a) root
:
make install
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
O pacote fdk-aac fornece a biblioteca Fraunhofer FDK AAC, que é considerada uma implementação de alta qualidade da Codificação Avançada de Áudio.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/opencore-amr/fdk-aac-2.0.2.tar.gz
Soma de verificação MD5 da transferência: b41222194b31f570b3132bd622a9aef6
Tamanho da transferência: 2,8 MB
Espaço em disco estimado exigido: 38 MB
Tempo de construção estimado: 0,6 UPC (Usando paralelismo=4)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/fdk-aac
Instale o fdk-aac 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
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
FLAC é um CODEC de áudio semelhante ao MP3, mas sem perdas, o que significa que o áudio é comprimido sem perder nenhuma informação.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.xiph.org/releases/flac/flac-1.4.2.tar.xz
Soma de verificação MD5 da transferência: ca9140f37b286d2571e37d66aae50f92
Tamanho da transferência: 1,0 MB
Espaço em disco estimado exigido: 21 MB (adicionais 165 MB para executar a suíte de teste)
Tempo de construção estimado: 0,2 UPC (adicionais 0,6 UPC para executar a suíte de teste)
libogg-1.3.5, DocBook-utils-0.6.14, Doxygen-1.9.6 e Valgrind-3.20.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/flac
Instale o FLAC executando os seguintes comandos:
./configure --prefix=/usr \ --disable-thorough-tests \ --docdir=/usr/share/doc/flac-1.4.2 && make
Para testar os resultados, emita: make check. Observe que, se
você passou nos parâmetros --enable-exhaustive-tests
e --enable-valgrind-testing
para o configure e depois executar
a suíte de teste, levará tempo muito longo(até 300 UPCs) e usará
cerca de 375 MB de espaço em disco.
Agora, como o(a) usuário(a) root
:
make install
--disable-thorough-tests
: Esse
parâmetro é usado de forma que a suíte de teste completará em
um período de tempo razoável. Remova-o se você desejar testes
mais extensos.
é um utilitário de linha de comando para codificar, decodificar e converter arquivos FLAC |
|
é um aplicativo para listar, adicionar, remover ou editar metadados em um ou mais arquivos FLAC |
|
essas bibliotecas fornecem APIs nativas C/C++ FLAC e Ogg FLAC para aplicativos que utilizam FLAC |
Frei0r é uma API minimalista de plugin para efeitos de vídeo. Observe que o 0 no nome é um zero, não uma letra maiúscula o.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.dyne.org/frei0r/releases/frei0r-plugins-1.8.0.tar.gz
Soma de verificação MD5 da transferência: 45ffe53925ce0a90ce1d838c05e0a3c0
Tamanho da transferência: 804 KB
Espaço em disco estimado exigido: 40 MB
Tempo de construção estimado: 0,5 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/frei0r
Instale o Frei0r executando os seguintes comandos:
mkdir -vp 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
-DWITHOUT_OPENCV=TRUE
: Essa opção
instrui o procedimento make a desabilitar a construção de
plugins dependentes do opencv.
-DWITHOUT_GAVL=TRUE
: Essa opção
instrui o procedimento make a desabilitar a construção de
plugins dependentes do gavl.
Gavl é a abreviatura de Gmerlin Audio Video Library. É uma biblioteca de baixo nível que lida com detalhes de formatos de áudio e vídeo, como espaços de cores, taxas de amostragem, configurações multicanais, etc. Ela fornece definições padronizadas para esses formatos, bem como estruturas de contêiner para transportar amostras de áudio ou imagens de vídeo dentro de um aplicativo.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/gmerlin/gavl-1.4.0.tar.gz
Soma de verificação MD5 da transferência: 2752013a817fbc43ddf13552215ec2c0
Tamanho da transferência: 4,4 MB
Espaço em disco estimado exigido: 50 MB
Tempo de construção estimado: 0,8 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gavl
Instale o Gavl executando os seguintes comandos:
LIBS=-lm \ ./configure --prefix=/usr \ --without-doxygen \ --docdir=/usr/share/doc/gavl-1.4.0 && make
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install
LIBS=-lm
: Essa variável garante
que a biblioteca matemática seja pesquisada durante a
vinculação.
--without-doxygen
:
Essa chave desabilita o uso do Doxygen. Omita se o Doxygen
estiver instalado e você desejar construir a documentação da
API.
gstreamer é uma estrutura de streaming de mídia que habilita aplicativos a compartilharem um conjunto comum de plug-ins para tarefas como codificação e decodificação de vídeo, codificação e decodificação de áudio, filtros de áudio e vídeo, visualização de áudio, streaming da web e qualquer outra coisa que transmite em tempo real ou não. Esse pacote fornece somente funcionalidades e bibliotecas básicas. Você possivelmente precise de pelo menos gst-plugins-base-1.22.0 e um dos plugins Good, Bad, Ugly ou Libav.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.22.0.tar.xz
Soma de verificação MD5 da transferência: fb69587308e03e15c1b9a026a7b591d6
Tamanho da transferência: 1,7 MB
Espaço em disco estimado exigido: 46 MB (com os testes)
Tempo de construção estimado: 0,3 UPC (Usando paralelismo=4; com testes)
GTK+-3.24.36 (para exemplos), Gsl-2.7.1 (usado por um teste, se instalado), libunwind-1.6.2, Valgrind-3.20.0, bash-completion, hotdoc e libdw
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gstreamer10
Instale o gstreamer executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr \ --buildtype=release \ -Dgst_debug=false \ -Dpackage-origin=https://www.linuxfromscratch.org/blfs/view/11.3-systemd/ \ -Dpackage-name="GStreamer 1.22.0 BLFS" && ninja
Para testar os resultados, emita: ninja test.
Se você estiver reinstalando o gstreamer a partir de uma versão
anterior, é melhor remover a versão anterior, incluindo
plug-ins, antes de instalar a nova versão. Se existir uma
mistura de versões instaladas, o uso de processos
possivelmente trave ou não funcione corretamente. Como o(a)
usuário(a) root
:
rm -rf /usr/bin/gst-* /usr/{lib,libexec}/gstreamer-1.0
Agora, como o(a) usuário(a) root
:
ninja install
--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.
é uma ferramenta que imprime informações a respeito de plug-ins gstreamer disponíveis, informações acerca de um plug-in específico ou informações relativas a um elemento específico |
|
é uma ferramenta que constrói e executa pipelines gstreamer básicos |
|
é uma ferramenta usada para coletar estatísticas alusivas a operações do gstreamer |
|
executa um plano de teste em formato compatível com TAP enquanto se integra ao equipamento de teste Meson |
|
usa o sistema de localização de tipo do gstreamer para determinar o plug-in gstreamer relevante para analisar ou decodificar arquivos e o tipo MIME correspondente |
|
fornece algumas classes base para serem estendidas por elementos e classes utilitárias que são mais úteis para desenvolvedores(as) de plugins |
|
fornece funcionalidade para escrever testes unitários que usam a estrutura de verificação |
|
fornece funcionalidade para animar propriedades de elementos ao longo do tempo |
|
fornece elementos e objetos de rede de intercomunicação |
|
fornece todos os serviços centrais do gstreamer, incluindo inicialização, gerenciamento de plugins e tipos, bem como a hierarquia de objetos que define elementos e compartimentos, juntamente com alguns elementos mais especializados |
O GStreamer Base Plug-ins é uma coleção bem cuidada e bem mantida de plug-ins e elementos do GStreamer, abrangendo a gama de possíveis tipos de elementos que alguém desejaria escrever para o GStreamer. Você precisará de pelo menos um dos plugins Good, Bad, Ugly ou Libav para que os aplicativos GStreamer funcionem corretamente.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.22.0.tar.xz
Soma de verificação MD5 da transferência: c559f23bb746bda732e85ba7b76c2074
Tamanho da transferência: 2,0 MB
Espaço em disco estimado exigido: 86 MB (com os testes)
Tempo de construção estimado: 0,8 UPC (Usando paralelismo=4; com testes)
alsa-lib-1.2.8, CDParanoia-III-10.2 (para construir o plugin CDDA), gobject-introspection-1.74.0, ISO Codes-4.12.0, libgudev-237, libjpeg-turbo-2.1.5.1, libogg-1.3.5, libpng-1.6.39, libtheora-1.1.1, libvorbis-1.3.7, Mesa-22.3.5, Pango-1.50.12, wayland-protocols-1.31 e Bibliotecas do Xorg
graphene-1.10.8, GTK+-3.24.36 (para exemplos), Opus-1.3.1, Qt-5.15.8 (para exemplos), SDL-1.2.15, SDL2-2.26.3, Valgrind-3.20.0, hotdoc, libvisual, Orc e Tremor
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gst10-plugins-base
Se você precisar de um plugin para uma dada dependência, essa dependência precisará estar instalada antes desse pacote.
Instale o GStreamer Base Plug-ins executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr \ --buildtype=release \ -Dpackage-origin=https://www.linuxfromscratch.org/blfs/view/11.3-systemd/ \ -Dpackage-name="GStreamer 1.22.0 BLFS" \ --wrap-mode=nodownload && ninja
Para testar os resultados, emita: ninja test. Os testes exigem um terminal do X em execução ou todos os testes GL falharão. Cinco testes possivelmente produzam pausas em alguns sistemas, dependendo do hardware gráfico e da velocidade desses.
Ao instalar, o processo de construção faz algumas vinculações adicionais. Se você não tiver o Xorg em /usr, a variável LIBRARY_PATH precisa ser definida para o(a) usuário(a) root. Se usar sudo para assumir o root, use a opção -E para passar tuas variáveis de ambiente atuais para o processo de instalação.
Agora, como o(a) usuário(a) root
:
ninja install
--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=nodownload
: Essa
chave impede que o meson baixe qualquer
dependência opcional que não esteja instalada no sistema.
é uma ferramenta de linha de comando que pode ser usada para testar a funcionalidade de monitoramento de dispositivos do GStreamer |
|
é uma ferramenta que pode ser usada para imprimir informações básicas de metadados e fluxo a respeito de um arquivo de mídia |
|
é uma ferramenta de linha de comando que pode ser usada para testar a reprodução básica usando o elemento playbin |
O GStreamer Good Plug-ins é um conjunto de plug-ins considerados pelos(as) desenvolvedores(as) do GStreamer como tendo código de boa qualidade, funcionalidade correta e a licença preferencial (LGPL para o código do plug -in, LGPL ou compatível com LGPL para a biblioteca de suporte). Uma ampla variedade de decodificadores, codificadores e filtros de vídeo e áudio está incluída.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.22.0.tar.xz
Soma de verificação MD5 da transferência: 4034320097501bccb2272a52874caaea
Tamanho da transferência: 2,7 MB
Espaço em disco estimado exigido: 105 MB (com os testes)
Tempo de construção estimado: 0,6 UPC (Usando paralelismo=4; com testes)
Cairo-1.17.6, FLAC-1.4.2, gdk-pixbuf-2.42.10, LAME-3.100, libsoup-2.74.3, libsoup-3.2.2, libvpx-1.13.0, mpg123-1.31.2, NASM-2.16.01 e PulseAudio-16.1
AAlib-1.4rc5, OSS-1.1.8 do ALSA, GTK+-3.24.36 (para exemplos), libdv-1.0.0, Qt-5.15.8, Speex-1.2.1, taglib-1.13, Valgrind-3.20.0, v4l-utils-1.22.1, Wayland-1.21.0, hotdoc, JACK, libcaca, libavc1394, libiec61883, libraw1394, libshout, Orc, TwoLame e WavPack
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gst10-plugins-good
Se você precisar de um plugin para uma dada dependência, essa dependência precisará estar instalada antes desse pacote.
Instale o GStreamer Good Plug-ins executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr \ --buildtype=release \ -Dpackage-origin=https://www.linuxfromscratch.org/blfs/view/11.3-systemd/ \ -Dpackage-name="GStreamer 1.22.0 BLFS" && ninja
Para testar os resultados, emita: ninja test. Um teste,
elements_flvmux
, é conhecido
por falhar em alguns sistemas.
Agora, como o(a) usuário(a) root
:
ninja install
--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.
O pacote GStreamer Bad Plug-ins contém um conjunto de plug-ins que não estão à altura dos demais. Eles podem estar perto de serem de boa qualidade, mas está faltando alguma coisa - seja uma boa revisão de código, alguma documentação, um conjunto de testes, um(a) mantenedor(a) real ao vivo ou algum uso realmente amplo.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.22.0.tar.xz
Soma de verificação MD5 da transferência: 6c4df68e7d32e2ae6a682b7dbc22e35a
Tamanho da transferência: 5,2 MB
Espaço em disco estimado exigido: 162 MB (com os testes)
Tempo de construção estimado: 1,1 UPC (Usando paralelismo=4; com testes)
libdvdread-6.1.3, libdvdnav-6.1.1 e SoundTouch-2.3.2
BlueZ-5.66, cURL-7.88.1, FAAC-1_30, FAAD2-2.10.1, fdk-aac-2.0.2, GTK+-3.24.36 (para exemplos), gst-plugins-good-1.22.0 (para um teste), Little CMS-2.14, libass-0.17.0, libexif-0.6.24 (para um teste), librsvg-2.54.5, libsoup-2.74.3 (para um teste), libsndfile-1.2.0, libssh2-1.10.0, libusb-1.0.26, libva-2.17.0, libwebp-1.3.0, libxkbcommon-1.5.0, neon-0.32.5, Nettle-3.8.1 ou libgcrypt-1.10.1 (para suporte SSL no plugin hls; se ambos não estiverem instalados, o OpenSSL será usado), opencv-4.7.0 (com módulos adicionais), OpenJPEG-2.5.0, Opus-1.3.1, SBC-2.0, SDL-1.2.15, Valgrind-3.20.0, Wayland-1.21.0 (GTK+-3.24.36 precisa ter sido compilado com suporte a wayland), wpebackend-fdo-1.14.0, x265-20230215, aom, bs2b, Chromaprint, dssim, Flite, FluidSynth, Game Music Emu, GSM, hotdoc, LADSPA, libavtp, libdc1394-2, libdca, libde265, libkate, libmfx, libmms, libmodplug, libnice, libofa, libopenmpt, libopenni, libsrtp, lilv, LRDF, ltc-tools, microdns, Ferramentas MJPEG, OpenAL, OpenEXR, OpenH264, Orc, rtmpdump, spandsp, Srt, svthevcenc, VO AAC, VO AMRWB, Vulkan, WildMidi, WPE-WebKit, ZBAR, ZVBI e zxing
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gst10-plugins-bad
Se você precisar de um plugin para uma dada dependência, essa dependência precisará estar instalada antes desse pacote.
Instale o GStreamer Bad Plug-ins executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr \ --buildtype=release \ -Dgpl=enabled \ -Dpackage-origin=https://www.linuxfromscratch.org/blfs/view/11.3-systemd/ \ -Dpackage-name="GStreamer 1.22.0 BLFS" && ninja
Para testar os resultados, emita: ninja test. Vários testes necessitam de um emulador de terminal em uma sessão gráfica. Dois testes, elements_vapostproc e elements_vacompositor são conhecidos por falharem. Se o gst-plugins-good-1.22.0 não estiver instalado, dois testes elements_rtpsrc e elements_rtpsink falharão.
Agora, como o(a) usuário(a) root
:
ninja install
--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.
-Dgpl=enabled
: Sem
essa chave, plugins com dependências de bibliotecas
licenciadas (A)GPL não são construídos.
O GStreamer Ugly Plug-ins é um conjunto de plug-ins considerados pelos(as) desenvolvedores(as) do GStreamer como tendo boa qualidade e funcionalidade correta, mas distribuí-los pode causar problemas. A licença dos plug-ins ou das bibliotecas de suporte pode não ser como os(as) desenvolvedores(as) do GStreamer gostariam. O código pode ser amplamente conhecido por apresentar problemas de patente.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.22.0.tar.xz
Soma de verificação MD5 da transferência: ac97c1ca8d9c7a9878ca15796b70d809
Tamanho da transferência: 236 KB
Espaço em disco estimado exigido: 8,4 MB (com os testes)
Tempo de construção estimado: menos que 0,1 UPC (com testes)
liba52-0.7.4 (necessário para reproduzir DVDs), libdvdread-6.1.3 e x264-20230215
libmpeg2-0.5.1, libcdio-2.1.0 (para acesso à unidade de CD-ROM), Valgrind-3.20.0, hotdoc, libsidplay, OpenCore AMR, Orc e TwoLame
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gst10-plugins-ugly
Se você precisar de um plugin para uma dada dependência, essa dependência precisará estar instalada antes desse pacote.
Instale o GStreamer Ugly Plug-ins executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr \ --buildtype=release \ -Dgpl=enabled \ -Dpackage-origin=https://www.linuxfromscratch.org/blfs/view/11.3-systemd/ \ -Dpackage-name="GStreamer 1.22.0 BLFS" && ninja
Para testar os resultados, emita: ninja test.
Agora, como o(a) usuário(a) root
:
ninja install
--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.
-Dgpl=enabled
: Sem
essa chave, plugins com dependências de bibliotecas
licenciadas (A)GPL não são construídos.
O pacote GStreamer Libav contém plug-ins GStreamer para Libav (uma bifurcação do FFmpeg).
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.22.0.tar.xz
Soma de verificação MD5 da transferência: a2165c56301906c50dcc9245d535df45
Tamanho da transferência: 188 KB
Espaço em disco estimado exigido: 8,9 MB
Tempo de construção estimado: menos que 0,1 UPC
FFmpeg-5.1.2 e gst-plugins-base-1.22.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gst10-libav
Instale o GStreamer Libav executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr \ --buildtype=release \ -Dpackage-origin=https://www.linuxfromscratch.org/blfs/view/11.3-systemd/ \ -Dpackage-name="GStreamer 1.22.0 BLFS" && ninja
Os testes não são recomendados. O teste 6 de 6 pausa depois de 3 minutos. Para executar os testes de qualquer maneira, emita: ninja test.
Agora, como o(a) usuário(a) root
:
ninja install
--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.
O pacote gstreamer-vaapi contém um plugin gstreamer para decodificação/codificação de vídeo acelerada por hardware para os padrões de codificação predominantes atualmente (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264 e VC-1/VMW3).
Em sistemas sem aceleração por hardware (principalmente máquinas virtuais sob o qemu-7.2.0), esse pacote possivelmente cause falha no servidor X. A equipe do BLFS recomenda não instalar esse pacote nesse caso.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-1.22.0.tar.xz
Soma de verificação MD5 da transferência: 49857ccda7c14cbb64769a60058708f9
Tamanho da transferência: 516 KB
Espaço em disco estimado exigido: 12 MB
Tempo de construção estimado: 0,2 UPC
GTK+-3.24.36, gstreamer-1.22.0, gst-plugins-base-1.22.0, gst-plugins-bad-1.22.0 e libva-2.17.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gstreamer10-vaapi
Instale o gstreamer-vaapi executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr \ --buildtype=release \ -Dpackage-origin=https://www.linuxfromscratch.org/blfs/view/11.3-systemd/ && ninja
Esse pacote não vem com uma suíte de teste funcional do vi.
Agora, como o(a) usuário(a) root
:
ninja install
--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.
id3lib é uma biblioteca para leitura, escrita e manipulação de contêineres de dados multimídia id3v1 e id3v2.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/id3lib/id3lib-3.8.3.tar.gz
Soma de verificação MD5 da transferência: 19f27ddd2dda4b2d26a559a4f0f402a7
Tamanho da transferência: 932 KB
Espaço em disco estimado exigido: 16 MB
Tempo de construção estimado: 0,2 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/id3lib
Instale o id3lib executando os seguintes comandos:
patch -Np1 -i ../id3lib-3.8.3-consolidated_patches-1.patch && libtoolize -fc && aclocal && autoconf && automake --add-missing --copy && ./configure --prefix=/usr --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 && cp doc/man/* /usr/share/man/man1 && install -v -m755 -d /usr/share/doc/id3lib-3.8.3 && install -v -m644 doc/*.{gif,jpg,png,ico,css,txt,php,html} \ /usr/share/doc/id3lib-3.8.3
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
converte entre formatos de rotulagem id3v1/v2 |
|
extrai rótulos id3v1/v2 a partir de arquivos de áudio digital |
|
imprime o conteúdo de rótulo id3v1/v2 |
|
é um utilitário para editar rótulos id3v1/v2 |
|
fornece funções para os aplicativos de edição de rótulos id3v1/v2, bem como outros aplicativos e bibliotecas externos(as) |
liba52 é uma biblioteca livre para decodificação de fluxos ATSC A/52 (também conhecido como AC-3). O padrão A/52 é usado em diversas aplicações, incluindo televisão digital e DVD.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://liba52.sourceforge.net/files/a52dec-0.7.4.tar.gz
Soma de verificação MD5 da transferência: caa9f5bc44232dc8aeea773fea56be80
Tamanho da transferência: 236 KB
Espaço em disco estimado exigido: 2,5 MB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/liba52
Instale o liba52 executando os seguintes comandos:
./configure --prefix=/usr \ --mandir=/usr/share/man \ --enable-shared \ --disable-static \ CFLAGS="${CFLAGS:--g -O2} $([ $(uname -m) = x86_64 ] && echo -fPIC)" && make
Para testar os resultados, emita: make check.
Agora, como o(a) usuário(a) root
:
make install && cp liba52/a52_internal.h /usr/include/a52dec && install -v -m644 -D doc/liba52.txt \ /usr/share/doc/liba52-0.7.4/liba52.txt
CFLAGS="-g -O2 ...
:
Isso configura CFLAGS como -g -O2 (que é o padrão), mas,
então, em x86_64 adiciona -fPIC. Isso é necessário para
compilar a liba52 em x86_64.
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
cp liba52/a52_internal.h ...: Copiar esse arquivo de cabeçalho para /usr/include/a52dec permite que alguns outros aplicativos (como o xine-lib) compilem e vinculem contra uma liba52 instalada no sistema.
O pacote libao contém uma biblioteca de áudio multiplataforma. Isso é útil para produzir áudio em uma ampla variedade de plataformas. Atualmente suporta arquivos WAV, Open Sound System (OSS), Enlighten Sound Daemon (ESD), Advanced Linux Sound Architecture (ALSA), Network Audio System (NAS), analog Real-Time Synthesizer (aRTS) e PulseAudio (arquitetura de som GNOME de próxima geração).
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.xiph.org/releases/ao/libao-1.2.0.tar.gz
Soma de verificação MD5 da transferência: 9f5dd20d7e95fd0dd72df5353829f097
Tamanho da transferência: 456 KB
Espaço em disco estimado exigido: 3,9 MB
Tempo de construção estimado: menos que 0,1 UPC
um ambiente gráfico, ALSA-1.2.7 e PulseAudio-16.1
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libao
Instale o libao 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 && install -v -m644 README /usr/share/doc/libao-1.2.0
libass é um renderizador de legendas portável para o formato de legendas Advanced Substation Alpha/Substation Alpha (ASS/SSA) que permite legendas mais avançadas que o SRT convencional e formatos similares.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/libass/libass/releases/download/0.17.0/libass-0.17.0.tar.xz
Soma de verificação MD5 da transferência: 25f7435779aa28eb7dbd3f76f4d17d15
Tamanho da transferência: 396 KB
Espaço em disco estimado exigido: 5,5 MB
Tempo de construção estimado: menos que 0,1 UPC
FreeType-2.13.0, FriBidi-1.0.12 e NASM-2.16.01
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libass
Instale o libass 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
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
--disable-fontconfig
: Use essa
chave se você não instalou o Fontconfig.
libcanberra é uma implementação das Especificações de Nome e de Tema de Som XDG, para gerar sons de eventos em áreas de trabalho livres, tais como o GNOME.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://0pointer.de/lennart/projects/libcanberra/libcanberra-0.30.tar.xz
Soma de verificação MD5 da transferência: 34cb7e4430afaf6f447c4ebdb9b42072
Tamanho da transferência: 312 KB
Espaço em disco estimado exigido: 7,5 MB
Tempo de construção estimado: 0,1 UPC
alsa-lib-1.2.8, gstreamer-1.22.0 e GTK+-3.24.36
GTK+-2.24.33, PulseAudio-16.1 e tdb
sound-theme-freedesktop-0.8, ou outro tema, para exemplo a partir do sítio da web gnome-look
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libcanberra
Primeiramente, aplique um remendo para corrigir um problema que causa o travamento de alguns aplicativos no ambiente de área de trabalho baseado em Wayland:
patch -Np1 -i ../libcanberra-0.30-wayland-1.patch
Instale o libcanberra executando os seguintes comandos:
./configure --prefix=/usr --disable-oss && 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/libcanberra-0.30 install
--disable-oss
:
desabilita o suporte opcional e obsoleto a OSS
--disable-gtk
: desabilita o
suporte opcional ao GTK+ 2
--disable-gtk3
: desabilita o
suporte opcional ao GTK+ 3
A libcddb é uma biblioteca que implementa os diferentes protocolos (CDDBP, HTTP, SMTP) para acessar dados em um servidor CDDB.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/libcddb/libcddb-1.3.2.tar.bz2
Soma de verificação MD5 da transferência: 8bb4a6f542197e8e9648ae597cd6bc8a
Tamanho da transferência: 384 KB
Espaço em disco estimado exigido: 3,9 MB (com os testes)
Tempo de construção estimado: 0,2 UPC (com os testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libcddb
Por padrão esse pacote acessa freedb.org
, que já está fechado.
Modifique o padrão para usar gnudb.gnudb.org
e corrija dois arquivos
de dados de teste obsoletos:
sed -e '/DEFAULT_SERVER/s/freedb.org/gnudb.gnudb.org/' \ -e '/DEFAULT_PORT/s/888/&0/' \ -i include/cddb/cddb_ni.h && sed '/^Genre:/s/Trip-Hop/Electronic/' -i tests/testdata/920ef00b.txt && sed '/DISCID/i# Revision: 42' -i tests/testcache/misc/12340000
Instale o libcddb executando os seguintes comandos:
./configure --prefix=/usr --disable-static && make
Para testar os resultados, emita: make check -k. A suíte de teste precisa de conexão com a Internet. Um teste falha devido à ausência do servidor de teste.
Agora, como o(a) usuário(a) root
:
make install
A libcdio é uma biblioteca para acesso a CD-ROM e imagens de CD. A biblioteca libcdio-cdparanoia associada lê o áudio a partir do CD-ROM diretamente como dados, sem nenhuma etapa analógica entre eles, e escreve os dados em um arquivo ou canal como .wav, .aifc ou como PCM bruto linear de 16 bits.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.gnu.org/gnu/libcdio/libcdio-2.1.0.tar.bz2
Transferência (FTP): ftp://ftp.gnu.org/gnu/libcdio/libcdio-2.1.0.tar.bz2
Soma de verificação MD5 da transferência: aa7629e8f73662a762f64c444b901055
Tamanho da transferência: 1,7 MB
Espaço em disco estimado exigido: 43 MB (ambos os pacotes, incluindo verificações)
Tempo de construção estimado: 0,3 UPC (usando paralelismo=4; ambos os pacotes, incluindo verificações)
Arquivo exigido: https://ftp.gnu.org/gnu/libcdio/libcdio-paranoia-10.2+2.0.1.tar.bz2
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libcdio
Instale o libcdio executando os seguintes comandos:
./configure --prefix=/usr --disable-static && make
Para testar os resultados, emita: make check -k. Um teste
chamado realpath
é conhecido
por falhar.
Agora, como o(a) usuário(a) root
:
make install
Agora instale a libcdio-paranoia:
tar -xf ../libcdio-paranoia-10.2+2.0.1.tar.bz2 && cd libcdio-paranoia-10.2+2.0.1 && ./configure --prefix=/usr --disable-static && make
Para testar os resultados, emita: make check.
Agora, como o(a) usuário(a) root
:
make install
mostra as características da unidade de CD-ROM |
|
mostra informações a respeito de um CD ou imagem de CD |
|
é um utilitário de leitura de CD de áudio que inclui recursos extras de verificação de dados |
|
lê informações a partir de um CD ou imagem de CD |
|
é um reprodutor Curses simples de CD |
|
mostra informações a respeito de uma imagem ISO 9660 |
|
lê partes de uma imagem ISO 9660 |
|
emite comandos multimídia da libcdio |
|
contém as principais funções da API do cdio |
O pacote libdiscid contém uma biblioteca para criar IDs de Disco do MusicBrainz a partir de CDs de áudio. Ela lê o índice de conteúdo (TOC) de um CD e gera um identificador que pode ser usado para pesquisar o CD no MusicBrainz (https://musicbrainz.org). Além disso, fornece um URL de envio para adicionar o ID do Disco à base de dados.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): http://ftp.musicbrainz.org/pub/musicbrainz/libdiscid/libdiscid-0.6.2.tar.gz
Transferência (FTP): ftp://ftp.musicbrainz.org/pub/musicbrainz/libdiscid/libdiscid-0.6.2.tar.gz
Soma de verificação MD5 da transferência: 2812bb678f5142efdfd0d0f7d6ea87d6
Tamanho da transferência: 396 KB
Espaço em disco estimado exigido: 3,1 MB (com os testes)
Tempo de construção estimado: 0,1 UPC (com os testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libdiscid
Instale o libdiscid 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
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
libdvdcss é uma biblioteca simples projetada para acessar DVDs como um dispositivo de bloco sem ter que se preocupar com a desencriptação.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://get.videolan.org/libdvdcss/1.4.3/libdvdcss-1.4.3.tar.bz2
Soma de verificação MD5 da transferência: e98239a88af9b2204f9b9d987c2bc71a
Tamanho da transferência: 380 KB
Espaço em disco estimado exigido: 3,3 MB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libdvdcss
Instale o libdvdcss executando os seguintes comandos:
./configure --prefix=/usr \ --disable-static \ --docdir=/usr/share/doc/libdvdcss-1.4.3 && make
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
libdvdread é uma biblioteca que fornece uma base simples para leitura de DVDs.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://get.videolan.org/libdvdread/6.1.3/libdvdread-6.1.3.tar.bz2
Soma de verificação MD5 da transferência: 3c58d1624a71a16ff40f55dbaca82523
Tamanho da transferência: 388 KB
Espaço em disco estimado exigido: 3,6 MB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libdvdread
Instale o libdvdread executando os seguintes comandos:
./configure --prefix=/usr \ --disable-static \ --docdir=/usr/share/doc/libdvdread-6.1.3 && make
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
libdvdnav é uma biblioteca que permite uso fácil de recursos sofisticados de navegação de DVD, como menus de DVD, reprodução multiângulo e até jogos interativos de DVD.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://get.videolan.org/libdvdnav/6.1.1/libdvdnav-6.1.1.tar.bz2
Soma de verificação MD5 da transferência: 46c46cb0294fbd1fcb8a0181818dad15
Tamanho da transferência: 360 KB
Espaço em disco estimado exigido: 3,7 MB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libdvdnav
Instale o libdvdnav executando os seguintes comandos:
./configure --prefix=/usr \ --disable-static \ --docdir=/usr/share/doc/libdvdnav-6.1.1 && make
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
O Quasar DV Codec (libdv) é um software CODEC para vídeo DV, o formato de codificação usado pela maioria das filmadoras digitais. Ele pode ser usado para copiar vídeos a partir de filmadoras usando uma conexão firewire (IEEE 1394).
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/libdv/libdv-1.0.0.tar.gz
Soma de verificação MD5 da transferência: f895162161cfa4bb4a94c070a7caa6c7
Tamanho da transferência: 574 KB
Espaço em disco estimado exigido: 6,0 MB
Tempo de construção estimado: 0,2 UPC
popt-1.19, SDL-1.2.15 e um ambiente gráfico
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libdv
Instale o libdv executando os seguintes comandos:
./configure --prefix=/usr \ --disable-xv \ --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/libdv-1.0.0 && install -v -m644 README* /usr/share/doc/libdv-1.0.0
--disable-xv
: Esse
parâmetro é exigido se um Sistema
de Janelas X não estiver instalado. Também evita
testes de configure para a
libXv
, a qual é usada somente
para um aplicativo obsoleto, playdv, que não será
construído com os cabeçalhos atuais do linux e também precisaria de outras
dependências obsoletas.
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
libmad é um decodificador de áudio MPEG de alta qualidade com capacidade de saída de 24 bits.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/mad/libmad-0.15.1b.tar.gz
Transferência (FTP): ftp://ftp.mars.org/pub/mpeg/libmad-0.15.1b.tar.gz
Soma de verificação MD5 da transferência: 1be543bc30c56fb6bea1d7bf6a64e66c
Tamanho da transferência: 491 KB
Espaço em disco estimado exigido: 4,2 MB
Tempo de construção estimado: 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libmad
Instale o libmad executando os seguintes comandos:
patch -Np1 -i ../libmad-0.15.1b-fixes-1.patch && sed "s@AM_CONFIG_HEADER@AC_CONFIG_HEADERS@g" -i configure.ac && touch NEWS AUTHORS ChangeLog && 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
Alguns pacotes verificam o arquivo pkg-config para libmad. Esse arquivo é particularmente necessário, de forma que o Cdrdao consiga reconhecer a libmad instalada.
Como o(a) usuário(a) root
:
cat > /usr/lib/pkgconfig/mad.pc << "EOF"
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: mad
Description: MPEG audio decoder
Requires:
Version: 0.15.1b
Libs: -L${libdir} -lmad
Cflags: -I${includedir}
EOF
touch NEWS AUTHORS ChangeLog: Evite que o autoreconf retorne um erro.
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
O pacote libmpeg2 contém uma biblioteca para decodificar fluxos de vídeo MPEG-2 e MPEG-1. A biblioteca é capaz de decodificar todos os fluxos MPEG que estejam em conformidade com certas restrições: “parâmetros restritos” para MPEG-1 e “perfil principal” para MPEG-2. Isso é útil para aplicativos e aplicações que necessitam decodificar fluxos de vídeo MPEG-2 e MPEG-1.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://libmpeg2.sourceforge.net/files/libmpeg2-0.5.1.tar.gz
Transferência (FTP): ftp://ftp.mirrorservice.org/sites/distfiles.gentoo.org/distfiles/libmpeg2-0.5.1.tar.gz
Soma de verificação MD5 da transferência: 0f92c7454e58379b4a5a378485bbd8ef
Tamanho da transferência: 513 KB
Espaço em disco estimado exigido: 6 MB
Tempo de construção estimado: 0,1 UPC
um ambiente gráfico e SDL-1.2.15
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libmpeg2
Instale o libmpeg2 executando os seguintes comandos:
sed -i 's/static const/static/' libmpeg2/idct_mmx.c && ./configure --prefix=/usr \ --enable-shared \ --disable-static && make
Para testar os resultados, emita: make check. Para realizar
um teste de regressão mais abrangente, veja-se o arquivo
test/README
na árvore do fonte.
Agora, como o(a) usuário(a) root
:
make install && install -v -m755 -d /usr/share/doc/libmpeg2-0.5.1 && install -v -m644 README doc/libmpeg2.txt \ /usr/share/doc/libmpeg2-0.5.1
sed -i ...: Esse sed corrige problemas com compiladores GCC recentes.
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
O pacote libmusicbrainz contém uma biblioteca que te permite acessar os dados mantidos no servidor MusicBrainz. Isso é útil para adicionar recursos de pesquisa do MusicBrainz a outros aplicativos.
MusicBrainz é uma meta base de dados comunitário de música que tenta criar um sítio abrangente de informações musicais. Você pode usar os dados do MusicBrainz navegando no sítio da web ou pode acessar os dados a partir de um aplicativo cliente — por exemplo, um aplicativo reprodutor de CD pode usar o MusicBrainz para identificar CDs e fornecer informações a respeito do CD, acerca do(a) artista ou outras informações relacionadas.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): http://ftp.musicbrainz.org/pub/musicbrainz/historical/libmusicbrainz-2.1.5.tar.gz
Transferência (FTP): ftp://ftp.musicbrainz.org/pub/musicbrainz/historical/libmusicbrainz-2.1.5.tar.gz
Soma de verificação MD5 da transferência: d5e19bb77edd6ea798ce206bd05ccc5f
Tamanho da transferência: 524 KB
Espaço em disco estimado exigido: 12 MB
Tempo de construção estimado: 0,4 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libmusicbrainz
Instale o libmusicbrainz executando os seguintes comandos:
patch -Np1 -i ../libmusicbrainz-2.1.5-missing-includes-1.patch && CXXFLAGS="${CXXFLAGS:--O2 -g} -std=c++98" \ ./configure --prefix=/usr --disable-static && make
Se o Python estiver instalado, construa as ligações com os seguintes comandos:
(cd python && python2 setup.py build)
Esse pacote não vem com uma suíte de teste independente (para testar você precisa ter o Python instalado e realizar o teste depois que o pacote estiver instalado).
Agora, como o(a) usuário(a) root
:
make install && install -v -m644 -D docs/mb_howto.txt \ /usr/share/doc/libmusicbrainz-2.1.5/mb_howto.txt
Para testar as ligações do Python, emita o seguinte: (cd python && python2 setup.py test).
Se você construiu as ligações Python, emita os seguintes
comandos como o(a) usuário(a) root
para instalá-las:
(cd python && python2 setup.py install)
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
O pacote libmusicbrainz contém uma biblioteca que te permite acessar os dados mantidos no servidor MusicBrainz.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/metabrainz/libmusicbrainz/releases/download/release-5.1.0/libmusicbrainz-5.1.0.tar.gz
Soma de verificação MD5 da transferência: 4cc5556aa40ff7ab8f8cb83965535bc3
Tamanho da transferência: 76 KB
Espaço em disco estimado exigido: 6,6 MB (adicionais 4,4 MB para a documentação da API)
Tempo de construção estimado: 0,1 UPC
CMake-3.25.2, libxml2-2.10.3 e neon-0.32.5
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libmusicbrainz5
Primeiro, corrija um problema causado pelo CMake-3.18.0:
patch -Np1 -i ../libmusicbrainz-5.1.0-cmake_fixes-1.patch
Instale o libmusicbrainz executando os seguintes comandos:
mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release .. && make
Se você tiver instalado o Doxygen-1.9.6, opcionalmente construa a documentação da API:
doxygen ../Doxyfile
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install
Se você tiver construído a documentação da API, instale como
o(a) usuário(a) root
:
rm -rf /usr/share/doc/libmusicbrainz-5.1.0 && cp -vr docs/ /usr/share/doc/libmusicbrainz-5.1.0
O pacote libogg contém a estrutura de arquivo Ogg. Isso é útil para criar (codificar) ou reproduzir (decodificar) um fluxo físico de bits.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.xiph.org/releases/ogg/libogg-1.3.5.tar.xz
Soma de verificação MD5 da transferências: 3178c98341559657a15b185bf5d700a5
Tamanho da transferência: 420 KB
Espaço em disco estimado exigido: 3,5 MB (com os testes)
Tempo de construção estimado: menos que 0,1 UPC (com testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libogg
Instale o libogg executando os seguintes comandos:
./configure --prefix=/usr \ --disable-static \ --docdir=/usr/share/doc/libogg-1.3.5 && make
Para testar os resultados, emita: make check.
Agora, como o(a) usuário(a) root
:
make install
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
O pacote libquicktime contém
a biblioteca libquicktime
,
vários plugins e codificadores, juntamente com utilitários
gráficos e de linha de comando usados para codificar e
decodificar arquivos QuickTime. Isso é útil para ler e
escrever arquivos no formato QuickTime. O objetivo do projeto
é o de aprimorar e ao mesmo tempo fornecer compatibilidade
com a biblioteca Quicktime 4
Linux.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/libquicktime/libquicktime-1.2.4.tar.gz
Soma de verificação MD5 da transferência: 81cfcebad9b7ee7e7cfbefc861d6d61b
Tamanho da transferência: 1,0 MB
Espaço em disco estimado exigido: 20 MB
Tempo de construção estimado: 0,7 UPC (inclui construir todos os módulos de codificadores)
alsa-lib-1.2.8, Doxygen-1.9.6, FAAC-1_30, FAAD2-2.10.1, GTK+-2.24.33, LAME-3.100, libdv-1.0.0, libjpeg-turbo-2.1.5.1, libpng-1.6.39, libvorbis-1.3.7, x264-20230215, Bibliotecas do Xorg e Schroedinger
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libquicktime
Instale o libquicktime executando os seguintes comandos:
./configure --prefix=/usr \ --enable-gpl \ --without-doxygen \ --without-ffmpeg \ --docdir=/usr/share/doc/libquicktime-1.2.4 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/libquicktime-1.2.4 && install -v -m644 README doc/{*.txt,*.html,mainpage.incl} \ /usr/share/doc/libquicktime-1.2.4
--enable-gpl
: Muda a
licença para GPL. Isso habilita alguns plugins extras, como
FAAC, FAAD2 e x264.
--without-doxygen
:
Isso é necessário se você não tiver o Doxygen; omita isso se estiver ele
estiver instalado e você desejar que a documentação da API
seja instalada.
--without-ffmpeg
:
Essa chave desabilita o suporte ao FFmpeg porque é
incompatível com o FFmpeg-5.
--with-libdv
: Construa com
suporte a libdv. Não habilitado por padrão.
é uma estrutura gráfica de interação direta com o(a) usuário(a) para examinar e configurar os codificadores disponíveis de áudio e vídeo da libquicktime |
|
é um reprodutor simples de filmes QuickTime para o Sistema de Janelas X |
|
é um aplicativo de linha de comando usado para codificar arquivos de vídeo e (ou) áudio de um formato para outro |
|
é usado para despejar todas as sequências de caracteres de texto a partir de um arquivo quicktime |
|
pode pegar filmes contendo quadros RGB e escrevê-los como imagens ppm |
|
exibe o conteúdo analisado do arquivo fornecido |
|
imprime vários pedaços de metadados analisados pela biblioteca libquicktime para o arquivo fornecido |
|
concatena quadros de entrada em um filme QuickTime |
|
é usado para tornar um arquivo transmissível colocando o cabeçalho moov no início do arquivo |
|
é usado para escrever um filme codificado em YUV4 como um arquivo YUV 4:2:0 planar |
|
é uma biblioteca para leitura e escrita de arquivos QuickTime. Ela fornece acesso conveniente a arquivos QuickTime com uma variedade de codificadores suportados. A biblioteca contém novas funções integradas com todas as funções originais da biblioteca QuickTime 4 Linux usadas para codificar e decodificar arquivos QuickTime |
libsamplerate é um conversor de taxa de amostragem para áudio.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/libsndfile/libsamplerate/releases/download/0.2.2/libsamplerate-0.2.2.tar.xz
Soma de verificação MD5 da transferência: 97c010fc25156c33cddc272c1935afab
Tamanho da transferência: 3,2 MB
Espaço em disco estimado exigido: 15 MB (adicionar 2 MB para os testes)
Tempo de construção estimado: menos que 0,1 UPC (adicionar 0,3 UPC para testes)
alsa-lib-1.2.8, libsndfile-1.2.0 e fftw-3.3.10 (para testes)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libsamplerate
Instale o libsamplerate executando os seguintes comandos:
./configure --prefix=/usr \ --disable-static \ --docdir=/usr/share/doc/libsamplerate-0.2.2 && make
Para testar os resultados, emita: make check.
Agora, como o(a) usuário(a) root
:
make install
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
Libsndfile é uma biblioteca de rotinas C para leitura e escrita de arquivos contendo dados amostrados de áudio.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/libsndfile/libsndfile/releases/download/1.2.0/libsndfile-1.2.0.tar.xz
Soma de verificação MD5 da transferência: 00fbf50ce1d7a67a8e6dc0a04f4d8d2e
Tamanho da transferência: 716 KB
Espaço em disco estimado exigido: 12 MB (adicionar 10 MB para os testes)
Tempo de construção estimado: 0,3 UPC (adicionar 0,2 UPC para os testes)
FLAC-1.4.2, Opus-1.3.1 e libvorbis-1.3.7
alsa-lib-1.2.8, LAME-3.100, mpg123-1.31.2, Speex-1.2.1 e SQLite-3.40.1
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libsndfile
Instale o libsndfile executando os seguintes comandos:
./configure --prefix=/usr \ --docdir=/usr/share/doc/libsndfile-1.2.0 && make
Para testar os resultados, emita: make check.
Agora, como o(a) usuário(a) root
:
make install
compara dois arquivos de áudio |
|
concatena dois ou mais arquivos de áudio |
|
converte arquivos de som de um formato para outro |
|
divide um multicanal em vários arquivos de canal único |
|
exibe informações acerca de um arquivo de som |
|
converte vários arquivos de canal único em um arquivo multicanal |
|
recupera metadados a partir de um arquivo de som |
|
configura metadados em um arquivo de som |
|
reproduz um arquivo de som |
|
Salva os dados de áudio a partir de arquivos WAV com mais de 4G de comprimento |
|
contém as funções da API da libsndfile |
libtheora é uma implementação de referência do formato de compressão de vídeo Theora que está sendo desenvolvido pela Fundação Xiph.Org.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.xz
Soma de verificação MD5 da transferência: 9eeabf1ad65b7f41533854a59f7a716d
Tamanho da transferência: 1,4 MB
Espaço em disco estimado exigido: 13,4 MB (sem bibliotecas estáticas ou documentos de API e sem instalar os exemplos)
Tempo de construção estimado: 0,2 UPC
SDL-1.2.15 e libpng-1.6.39 (ambos para construir os reprodutores de exemplo), Doxygen-1.9.6, texlive-20220321 (ou install-tl-unx), BibTex e Transfig (todos os quatro para construir a documentação da API) e Valgrind-3.20.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/Libtheora
Instale o libtheora executando os seguintes comandos:
sed -i 's/png_\(sizeof\)/\1/g' examples/png2theora.c && ./configure --prefix=/usr --disable-static && make
Se você desejar executar os testes, emita: make check.
Agora, como o(a) usuário(a) root
:
make install
Se você desejar instalar os exemplos (de forma que consiga
hackear o theora
), instale-os
como o(a) usuário(a) root
:
cd examples/.libs && for E in *; do install -v -m755 $E /usr/bin/theora_${E} done
sed -i 's/png_\(sizeof\)/\1/g' examples/png2theora.c: Esse sed corrige a construção com a libpng 1.6.
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
O pacote libvorbis contém um formato de codificação de áudio e música de uso geral. Isso é útil para criar (codificar) e reproduzir (decodificar) som em um formato aberto (livre de patente).
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.xiph.org/releases/vorbis/libvorbis-1.3.7.tar.xz
Soma de verificação MD5 da transferência: 50902641d358135f06a8392e61c9ac77
Tamanho da transferência: 1,1 MB
Espaço em disco estimado exigido: 15 MB
Tempo de construção estimado: 0,1 UPC
Doxygen-1.9.6 e texlive-20220321 (ou install-tl-unx) (especificamente, pdflatex e htlatex) para construir a documentação PDF
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/Libvorbis
Instale o libvorbis executando os seguintes comandos:
./configure --prefix=/usr --disable-static && make
Para testar os resultados, emita: make -j1 check.
Agora, como o(a) usuário(a) root
:
make install && install -v -m644 doc/Vorbis* /usr/share/doc/libvorbis-1.3.7
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
--enable-docs
: Essa chave
habilita construir a documentação em formatos diferentes do
HTML fornecido.
Esse pacote, originário do projeto WebM, fornece as implementações de referência do Codificador VP8, usado na maioria dos vídeos HTML5 atuais, e do Codificador VP9 de próxima geração.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/webmproject/libvpx/archive/v1.13.0/libvpx-1.13.0.tar.gz
Soma de verificação MD5 da transferência: d5fd45a806a65a57d6635f9e7a98a1b2
Tamanho da transferência: 5,2 MB
Espaço em disco estimado exigido: 63 MB (adicionar 1,5 GB para os testes)
Tempo de construção estimado: 0,5 UPC (Usando paralelismo=4; adicionar aproximadamente 15 UPC para testes usando paralelismo=4, incluindo tempo de download)
yasm-1.3.0 ou NASM-2.16.01 e Which-2.21 (de forma que o configure consiga encontrar o yasm)
cURL-7.88.1 (para baixar arquivos de teste) e Doxygen-1.9.6 (para construir documentação)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libvpx
Instale o libvpx executando os seguintes comandos:
sed -i 's/cp -p/cp/' build/make/Makefile && mkdir libvpx-build && cd libvpx-build && ../configure --prefix=/usr \ --enable-shared \ --disable-static && make
Para testar os resultados, emita: LD_LIBRARY_PATH=. make test. A suíte de teste baixa muitos arquivos como parte do processo de teste dela. Algumas partes usarão todos os elementos de processamento disponíveis.
Agora, como o(a) usuário(a) root
:
make install
sed ... : Esse comando corrige a titularidade de propriedade e as permissões dos arquivos instalados.
mkdir libvpx-build && cd libvpx-build: Os(As) desenvolvedores(as) da libvpx recomendam construir em um diretório de construção dedicado.
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
--disable-vp8
: Essa chave impede
a construção de suporte ao codificador VP8.
--disable-vp9
: Essa chave impede
a construção de suporte ao codificador VP9.
--target=generic-gnu
: Essa chave
desabilita otimizações específicas para x86 e x86-64,
permitindo construir esse pacote sem nasm e yasm instalados.
LD_LIBRARY_PATH=.: Isso é necessário para a suíte de teste usar a biblioteca que foi recém construída.
O pacote MLT é o Media Lovin Toolkit. Ele é uma estrutura multimídia de fonte aberto, projetada e desenvolvida para transmissão televisiva. Ela fornece um kit de ferramentas para emissoras, editores de vídeo, reprodutores de mídia, transcodificadores, transmissores da web e muitos outros tipos de aplicativos.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/mltframework/mlt/releases/download/v7.12.0/mlt-7.12.0.tar.gz
Soma de verificação MD5 da transferência: 63e863f7653c098ece96ac8f6785fd38
Tamanho da transferência: 1,4 MB
Espaço em disco estimado exigido: 26 MB
Tempo de construção estimado: 0,4 UPC
frei0r-plugins-1.8.0 e Qt-5.15.8
Doxygen-1.9.6, fftw-3.3.10, libexif-0.6.24, SDL-1.2.15, SDL2-2.26.3, JACK, MOVEit, SoX e vid.stab
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/mlt
Instale o MLT 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. No entanto, um arquivo .mp4 de teste pode ser reproduzido em um ambiente gráfico local com ./src/melt/melt <nome_arquivo>.mp4.
Esse aplicativo usa recursos gráficos avançados. Em alguns casos, firmware para o teu adaptador gráfico específico possivelmente seja necessário. Veja-se “Firmware para Placas de Vídeo” para mais informações.
Agora, como o(a) usuário(a) root
:
make install
Opus é um formato de compressão de áudio com perdas desenvolvido pela Internet Engineering Task Force (IETF) que é particularmente adequado para fala interativa e transmissão de áudio pela Internet. Esse pacote fornece a biblioteca de desenvolvimento e cabeçalhos do Opus.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
Soma de verificação MD5 da transferência: d7c07db796d21c9cf1861e0c2b0c0617
Tamanho da transferência: 1,0 MB
Espaço em disco estimado exigido: 26 MB (com os testes)
Tempo de construção estimado: 0,8 UPC (com os testes)
Doxygen-1.9.6 e texlive-20220321 (ou install-tl-unx)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/Opus
Instale o Opus executando os seguintes comandos:
./configure --prefix=/usr \ --disable-static \ --docdir=/usr/share/doc/opus-1.3.1 && make
Para testar os resultados, emita: make check.
Agora, como o(a) usuário(a) root
:
make install
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
O pacote pipewire contém um servidor e uma API de espaço de usuário(a) para lidar com pipelines de multimídia. Isso inclui uma API universal para conectar-se a dispositivos multimídia, bem como compartilhar arquivos multimídia entre aplicativos.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/PipeWire/pipewire/archive/0.3.66/pipewire-0.3.66.tar.gz
Soma de verificação MD5 da transferência: 8a85d990c159409578b456f8c8dcf075
Tamanho da transferência: 1,9 MB
Espaço em disco estimado exigido: 62 MB (com os testes)
Tempo de construção estimado: 0,5 UPC (com testes, ambos usando paralelismo=4)
BlueZ-5.66, gstreamer-1.22.0, gst-plugins-base-1.22.0, PulseAudio-16.1, SBC-2.0 e v4l-utils-1.22.1
alsa-lib-1.2.8, Avahi-0.8, BlueZ-5.66, fdk-aac-2.0.2, FFmpeg-5.1.2, libcanberra-0.30, libdrm-2.4.115 (para um exemplo e suporte a libcamera), libxcb-1.15, libsndfile-1.2.0, libusb-1.0.26, Opus-1.3.1, SDL2-2.26.3 (para alguns exemplos), Valgrind-3.20.0, Bibliotecas do Xorg, Doxygen-1.9.6 e Graphviz-7.1.0 (para documentação), JACK, ldacBT, libcamera, Vulkan, WirePlumber (tempo de execução, para executar o processo de segundo plano Pipewire) e xmltoman
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/pipewire
Instale o pipewire executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr --buildtype=release -Dsession-managers= .. && ninja
Para testar o resultado, emita: ninja test. Um teste chamado test-support
é conhecido por falhar.
Agora, como o(a) usuário(a) root
:
ninja install
--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.
-Dsession-managers=
:
Essa chave impede o download automático de dependências
externas.
-Ddocs=true
: Essa chave habilita
a geração de documentação HTML. As dependências opcionais
para documentação precisam estar instaladas para isso
funcionar.
-Dman=true
: Essa chave habilita a
geração de páginas de manual. As dependências opcionais para
documentação precisam estar instaladas para isso funcionar.
-Dffmpeg=enabled
: Essa chave
habilita usar FFmpeg para conversão de áudio como uma
estrutura de retaguarda SPA.
é um serviço que permite o acesso a dispositivos multimídia e permite o compartilhamento de arquivos multimídia entre aplicativos |
|
é um serviço que permite que um ambiente de área de trabalho saiba quando arquivos de mídia estão sendo reproduzidos por intermédio do pipewire |
|
inicia uma versão compatível com Pulseaudio do serviço pipewire |
|
permite que você reproduza ou grave mídia usando uma instância do pipewire |
|
permite que você interaja com uma instância do pipewire |
|
lista todos os processos de segundo plano e objetos em uso pelo pipewire |
|
despeja mensagens de depuração provenientes de uma instância local ou remota do pipewire para o console |
|
executa aplicativos JACK em uma instância do pipewire |
|
conecta as portas do pipewire |
|
inicializa um link de loopback entre duas portas pipewire. Isso é útil para testar e depurar |
|
inspeciona, adiciona e remove metadados de objetos |
|
despeja mensagens MIDI procedentes de um arquivo para a tela |
|
permite que você monitore instâncias de pipewire |
|
rastreia o uso de memória e chamadas de API usadas pelo pipewire |
|
reserva ou monitora um dispositivo via D-Bus |
|
exibe informações de desempenho em tempo real oriundas do pipewire |
|
executa aplicativos v4l2 em uma instância de pipewire |
|
inspeciona o perfil da placa de uma determinada placa de som |
|
permite você inspecionar plugins do pipewire |
|
despeja a configuração atual do pipewire no formato JSON. |
|
permite você monitorar plugins do pipewire |
|
reamostra um determinado arquivo |
|
contém funções de API para lidar com pipelines multimídia |
PulseAudio é um sistema de som para Sistemas Operacionais POSIX, o que significa que é um proxy para aplicativos de som. Ele permite que você execute operações avançadas em teus dados de som à medida que eles passam entre teu aplicativo e teu hardware. Coisas como transferir o áudio para uma máquina diferente, mudar o formato da amostra ou a contagem de canais e misturar vários sons em um são facilmente alcançadas usando um servidor de som.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.freedesktop.org/software/pulseaudio/releases/pulseaudio-16.1.tar.xz
Soma de verificação MD5 da transferência: 2c7b8ceb5d7337565c7314b4d6087ca8
Tamanho da transferência: 1,5 MB
Espaço em disco estimado exigido: 42 MB (com os testes)
Tempo de construção estimado: 0,2 UPC (Usando paralelismo=4; adicionar 0,2 UPC para testes)
alsa-lib-1.2.8, dbus-1.14.6, GLib-2.74.5, Speex-1.2.1 e Bibliotecas do Xorg
Avahi-0.8, BlueZ-5.66, Doxygen-1.9.6 (para documentação), fftw-3.3.10, GTK+-3.24.36, libsamplerate-0.2.2, SBC-2.0 (suporte a Bluetooth), Valgrind-3.20.0, JACK, libasyncns, LIRC, ORC, soxr, TDB e WebRTC AudioProcessing
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/pulseaudio
Instale o PulseAudio executando os seguintes comandos:
mkdir build && cd build && meson --prefix=/usr \ --buildtype=release \ -Ddatabase=gdbm \ -Ddoxygen=false \ -Dbluez5=disabled && ninja
Para testar os resultados, emita: ninja test. Um teste falha se os testes não forem executados como o(a) usuário(a) root, mas isso pode ser ignorado.
Agora, como o(a) usuário(a) root
:
ninja install
Executar o PulseAudio como um processo de segundo plano
abrangente a todo o sistema é possível, mas não recomendado.
Veja-se
https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SystemWide/
para mais informações. Enquanto ainda como o(a) usuário(a)
root
, remova o arquivo de
configuração do D-Bus para o
processo de segundo plano abrangente a todo o sistema, para
evitar criar usuários(as) e grupos de sistema
desnecessários(as):
rm -fv /etc/dbus-1/system.d/pulseaudio-system.conf
--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.
-Dbluez5=disabled
:
Essa chave evita um erro de tempo de execução se dbus-1.14.6 e
SBC-2.0
estiverem instalados, mas BlueZ-5.66 não estiver instalado.
Remova isso se você tiver instalado todos os três pacotes.
-Ddoxygen=false
: Isso
permite que o pacote compile se Doxygen-1.9.6 não
estiver instalado. Remova isso se você tiver instalado isso e
desejar construir a documentação.
Existem arquivos de configuração abrangentes a todo o
sistema: /etc/pulse/daemon.conf
, /etc/pulse/client.conf
, /etc/pulse/default.pa
e arquivos de
configuração de usuário(a) com os mesmos nomes em
~/.config/pulse
. Os arquivos
de configuração de usuário(a) tem precedência sobre os
abrangentes a todo o sistema.
Você possivelmente tenha que configurar o sistema de áudio. Você pode iniciar o pulseaudio no modo de linha de comando usando pulseaudio -C e então listar várias informações e mudar as configurações. Veja-se man pulse-cli-syntax.
Se o pulseaudio estava funcionando, mas você não mais tem som, depois de verificar problemas de hardware (alto-falantes ou fones de ouvido não conectados, amplificador externo não conectado), possivelmente precise corrigi-lo.
Uma sugestão é a de fechar o aplicativo, como o firefox onde o som parou de funcionar, e então executar: pactl list short sinks seguido de: pacmd set-default-sink <sink #> e reiniciar o aplicativo.
Se isso não funcionar, uma abordagem mais drástica geralmente funciona. Depois de fechar o aplicativo, feche o pulseaudio, usando pulseaudio --kill ou, se isso falhar, killall -KILL pulseaudio e então rm -rf ~/.config /pulse/* (e talvez também rm -rf ~/.pulse/*, se você tiver usado uma versão muito antiga do pulse nessa máquina), então execute pulseaudio --verbose para reiniciá-lo. Se o processo de segundo plano iniciar, reinicie o aplicativo. Veja-se man pulseaudio para mais opções.
reproduz ou grava fluxos de áudio brutos ou codificados em um servidor de som PulseAudio |
|
é uma ferramenta usada para reconfigurar um servidor de som PulseAudio durante o tempo de execução |
|
é usado para controlar um servidor de som PulseAudio em execução |
|
é o envolucrador OSS do PulseAudio |
|
é um link simbólico para pacat |
|
é usado para reproduzir arquivos de áudio em um servidor de som PulseAudio |
|
é um link simbólico para pacat |
|
é um link simbólico para pacat |
|
é uma ferramenta que pode ser usada para informar a um servidor de som PulseAudio local para suspender temporariamente o acesso aos dispositivos de áudio, para permitir que outros aplicativos os acessem diretamente |
|
é o Utilitário de Credencial do X11 do PulseAudio |
|
é um conjunto de comandos sequenciais de shell que imprime diversas informações relacionadas ao servidor Pulseaudio atualmente em uso |
|
é um servidor de som, de baixa latência, em rede de intercomunicação, para Linux |
|
é uma interface de equalizador para coletores de equalizador PulseAudio (exige fftw-3.3.10 ao tempo da construção) |
|
inicia o PulseAudio e o registra no gerenciador de sessão do X11 |
O SBC é um codificador e decodificador de áudio digital usado para transferir dados para dispositivos de saída de áudio Bluetooth, como fones de ouvido ou alto-falantes.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.kernel.org/pub/linux/bluetooth/sbc-2.0.tar.xz
Soma de verificação MD5 da transferência: 5613357181daeffd71e971c6f8470f8d
Tamanho da transferência: 268 KB
Espaço em disco estimado exigido: 2,8 MB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/sbc
Instale o SBC executando os seguintes comandos:
./configure --prefix=/usr --disable-static --disable-tester && make
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install
--disable-tester
:
Isso desabilita o testador SBC. Remova-o se você tiver
instalado libsndfile-1.2.0.
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
A Simple DirectMedia Layer (abreviadamente SDL) é uma biblioteca multiplataforma projetada para facilitar escrever software multimídia, como jogos e emuladores.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.libsdl.org/release/SDL-1.2.15.tar.gz
Soma de verificação MD5 da transferência: 9d96df8417572a2afb781a7c4c811a85
Tamanho da transferência: 3,8 MB
Espaço em disco estimado exigido: 40 MB
Tempo de construção estimado: 0,6 UPC
Bibliotecas do Xorg (se elas não estiverem presentes, os módulos correspondentes não serão construídos)
AAlib-1.4rc5, ALSA-1.2.7, GLU-9.0.2, NASM-2.16.01, PulseAudio-16.1, Pth-2.0.7, um ambiente gráfico, DirectFB, GGI, libcaca, PicoGUI e SVGAlib
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/sdl
Instale o SDL executando os seguintes comandos:
sed -e '/_XData32/s:register long:register _Xconst long:' \ -i src/video/x11/SDL_x11sym.h && ./configure --prefix=/usr --disable-static && make
Agora, como o(a) usuário(a) root
:
make install && install -v -m755 -d /usr/share/doc/SDL-1.2.15/html && install -v -m644 docs/html/*.html \ /usr/share/doc/SDL-1.2.15/html
Se desejar, teste a instalação do SDL usando os aplicativos de teste incluídos. Não é exigido instalar nenhum dos binários resultantes para validar a instalação. Emita os seguintes comandos para construir os aplicativos de teste:
cd test && ./configure && make
Você precisará executar manualmente todos os aplicativos de
teste (eles estão listados no arquivo README
nesse diretório). Muitos deles
precisarão ser eliminados manualmente e você precisará ligar
teus alto-falantes com o volume em um nível adequado.
sed -e ...: Esse comando corrige a compilação com a libX11-1.6.0 e posterior.
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
--disable-alsa-shared
: Essa chave
desabilita o carregamento dinâmico de bibliotecas
compartilhadas ALSA.
--disable-sdl-dlopen
: Essa chave
desabilita usar dlopen para carregamento de objetos
compartilhados. Carregar bibliotecas de estruturas de
retaguarda de imagens, como libpng, dinamicamente em tempo
real não funciona.
--disable-x11-shared
: Essa chave
desabilita o carregamento dinâmico de bibliotecas
compartilhadas do X11.
Como acontece com a maioria das bibliotecas, não existe
configuração a se fazer, exceto o diretório da biblioteca,
ou seja, /opt/lib
ou
/usr/local/lib
deveria
aparecer em /etc/ld.so.conf
de forma que o ldd consiga encontrar as
bibliotecas compartilhadas. Depois de verificar se esse é o
caso, /sbin/ldconfig deveria
ser executado enquanto logado(a) como root
.
determina os sinalizadores de compilação e de
vinculador que deveriam ser usados para compilar e
vincular aplicativos que usam a |
|
contém funções que fornecem acesso de baixo nível a áudio, teclado, mouse, joystick, hardware 3D via OpenGL e Frame Buffer 2D em múltiplas plataformas |
A Simple DirectMedia Layer Versão 2 (SDL2 para abreviar) é uma biblioteca multiplataforma projetada para facilitar escrever software multimídia, como jogos e emuladores.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.libsdl.org/release/SDL2-2.26.3.tar.gz
Soma de verificação MD5 da transferência: 6ff7cbe9f77fc5afa79d54895dc6becc
Tamanho da transferência: 7,7 MB
Espaço em disco estimado exigido: 186 MB (com documentos)
Tempo de construção estimado: 0,5 UPC (usando paralelismo=4; com documentos)
libxkbcommon-1.5.0, wayland-protocols-1.31 e Bibliotecas do Xorg (se esses não estiverem presentes, os módulos correspondentes não serão construídos)
ALSA-1.2.7, Doxygen-1.9.6 (para criar documentação), ibus-1.5.27, NASM-2.16.01, PulseAudio-16.1, libsamplerate-0.2.2, um ambiente gráfico, DirectFB, fcitx e jack
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/sdl
Instale o SDL2 executando os seguintes comandos:
./configure --prefix=/usr && make
Se você tiver o Doxygen-1.9.6 instalado e quiser construir a documentação HTML, execute os seguintes comandos:
pushd docs && doxygen && popd
Se você desejar construir e executar os testes de regressão do pacote, não delete as bibliotecas estáticas abaixo até depois que os testes sejam construídos.
Agora, como o(a) usuário(a) root
:
make install && rm -v /usr/lib/libSDL2*.a
Se você construiu a documentação, instale-a como o(a)
usuário(a) root
:
install -v -m755 -d /usr/share/doc/SDL2-2.26.3/html && cp -Rv docs/output/html/* /usr/share/doc/SDL2-2.26.3/html
Se desejar, teste a instalação do SDL2 usando os aplicativos de teste incluídos. Nenhum dos binários resultantes precisa ser instalado. Emita os seguintes comandos para construir os aplicativos de teste:
cd test && ./configure && make
Cada um dos aplicativos de teste (eles estão listados no
arquivo README
nesse diretório)
precisará ser executado individualmente. Muitos deles
precisarão ser eliminados manualmente. Além disso, os
alto-falantes precisam estar ligados e com o volume em um
nível adequado.
rm -v
/usr/lib/libSDL2*.a: Normalmente bibliotecas
estáticas podem ser desabilitadas com uma opção --disable-static
para o configure, mas isso
interrompe a construção nesse pacote.
--disable-alsa-shared
: Essa chave
desabilita o carregamento dinâmico de bibliotecas
compartilhadas ALSA.
--disable-sdl-dlopen
: Essa chave
desabilita usar dlopen para carregamento de objetos
compartilhados. Carregar bibliotecas de estrutura de
retaguarda de imagens, como a libpng, dinamicamente em tempo
real não funciona.
--disable-x11-shared
: Essa chave
desabilita o carregamento dinâmico de bibliotecas
compartilhadas do X11.
Como acontece com a maioria das bibliotecas, não existe
configuração a se fazer, exceto o diretório da biblioteca,
ou seja, /opt/lib
ou
/usr/local/lib
deveria
aparecer em /etc/ld.so.conf
de forma que o ldd consiga encontrar as
bibliotecas compartilhadas. Depois de verificar se esse é o
caso, /sbin/ldconfig deveria
ser executado enquanto logado(a) como root
.
determina os sinalizadores de compilação e
vinculador que deveriam ser usados para compilar e
vincular aplicativos que usam a |
|
contém funções que fornecem acesso de baixo nível a áudio, teclado, mouse, joystick, hardware 3D via OpenGL e Frame Buffer 2D em múltiplas plataformas |
O pacote Sound Theme Freedesktop contém temas sonoros para a área de trabalho.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://people.freedesktop.org/~mccann/dist/sound-theme-freedesktop-0.8.tar.bz2
Soma de verificação MD5 da transferência: d7387912cfd275282d1ec94483cb2f62
Tamanho da transferência: 472 KB
Espaço em disco estimado exigido: 2 MB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/sound-theme-freedesktop
Instale o Sound Theme Freedesktop 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
O pacote SoundTouch contém uma biblioteca de processamento de áudio de fonte aberto que permite mudar os parâmetros de andamento, tom e taxa de reprodução do som independentemente uns dos outros.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.surina.net/soundtouch/soundtouch-2.3.2.tar.gz
Soma de verificação MD5 da transferência: 058db201df6151e3cbd07dc8929885c4
Tamanho da transferência: 572 KB
Espaço em disco estimado exigido: 7,5 MB
Tempo de construção estimado: 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/soundtouch
O tarball se expande para 'soundtouch' em vez do esperado 'soundtouch-2.3.2'
Instale o SoundTouch executando os seguintes comandos:
O comando bootstrap abaixo falha se a variável de ambiente ACLOCAL estiver configurada conforme especificado em Xorg-7. Se ele for usado, ACLOCAL precisa estar desconfigurada para esse pacote e então reconfigurada para outros pacotes.
./bootstrap && ./configure --prefix=/usr \ --docdir=/usr/share/doc/soundtouch-2.3.2 && make
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install
--enable-openmp
: Essa chave
adiciona suporte para execução de algoritmos em paralelo em
vários elementos de processamento do processador usando a
implementação OpenMP fornecida pela GCC.
Speex é um formato de compressão de áudio projetado especificamente para fala. Ele é bem adaptado a aplicações de Internet e oferece recursos úteis que não estão presentes na maioria dos outros CODECs.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.xiph.org/releases/speex/speex-1.2.1.tar.gz
Soma de verificação MD5 da transferência: fe7bf610883ff202092b92c72fe0fe3e
Tamanho da transferência: 1020 KB
Espaço em disco estimado exigido: 7,8 MB
Tempo de construção estimado: menos que 0,1 UPC
Transferência (HTTP): https://downloads.xiph.org/releases/speex/speexdsp-1.2.1.tar.gz
Soma de verificação MD5 da transferência: e6eb5ddef743a362c8018f260b91dca5
Tamanho da transferência: 904 KB
Espaço em disco estimado exigido: 5,5 MB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/speex
Esse pacote consiste de dois tarballs. Eles precisam ser extraídos e construídos independentemente.
Instale o Speex executando os seguintes comandos:
./configure --prefix=/usr \ --disable-static \ --docdir=/usr/share/doc/speex-1.2.1 && make
Esse pacote não vem com uma suíte de teste.
Como o(a) usuário(a) root
:
make install
Agora extraia e instale o pacote speexdsp:
cd .. && tar -xf speexdsp-1.2.1.tar.gz && cd speexdsp-1.2.1 && ./configure --prefix=/usr \ --disable-static \ --docdir=/usr/share/doc/speexdsp-1.2.1 && make
Novamente, como o(a) usuário(a) root
:
make install
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
Taglib é uma biblioteca usada para ler, escrever e manipular rótulos de arquivos de áudio e é usada por aplicativos como Amarok e VLC.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://taglib.org/releases/taglib-1.13.tar.gz
Soma de verificação MD5 da transferência: 0b75619b67b9149cfcbbe5c127df6395
Tamanho da transferência: 1,3 MB
Espaço em disco estimado exigido: 13 MB
Tempo de construção estimado: 0,3 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/taglib
Instale o Taglib executando os seguintes comandos:
mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -DBUILD_SHARED_LIBS=ON \ .. && make
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install
v4l-utils fornece uma série de utilitários para dispositivos de mídia, permitindo lidar com os formatos proprietários disponíveis na maioria das câmeras de web (libv4l), e fornecendo ferramentas para testar dispositivos V4L.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.linuxtv.org/downloads/v4l-utils/v4l-utils-1.22.1.tar.bz2
Soma de verificação MD5 da transferência: 8aa73287320a49e9170a8255d7b2c7e6
Tamanho da transferência: 2,0 MB
Espaço em disco estimado exigido: 117 MB
Tempo de construção estimado: 0,5 UPC (usando paralelismo = 4)
LLVM-15.0.7 (com alvo BPF)
alsa-lib-1.2.8, GLU-9.0.2, libjpeg-turbo-2.1.5.1 e Qt-5.15.8
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/v4l-utils
Instale o v4l-utils 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 -j1 install
é uma ferramenta para lidar com dispositivos baseados em cx18 |
|
decodifica formatos multiplexados a partir de dispositivos USB TM5600/TM6000 |
|
é uma ferramenta de linha de comando para serviços de TV digital |
|
é uma ferramenta destinada a converter entre diferentes formatos de arquivo. Ela é compatível com a versão 5 da API do DVB |
|
é uma ferramenta, de linha de comando, de varredura de frequência, para serviços de TV digital compatível com a versão 5 da API do DVB |
|
é uma ferramenta, de linha de comando, de ajuste, para serviços de TV digital compatível com a versão 5 da API do DVB |
|
é uma ferramenta que lista os dispositivos de Controle Remoto; permite obter/configurar tabelas de código de teclas/código de escaneamento de IR, testar eventos gerados por IR e ajustar outras opções de Controle Remoto |
|
é um utilitário que pode controlar muitas configurações da placa, como mudar as entradas do sintonizador para svideo ou composto, configurar a resolução do vídeo ou mudar o modo de vídeo (PAL, SECAM, NTSC) |
|
é um utilitário usado para configurar dispositivos V4L2 |
|
é usado para testar dispositivos de captura video4linux |
|
é usado para capturar vídeo a partir de um dispositivo V4L2 |
|
é um utilitário para decodificar dados RDS brutos a partir de dispositivos de Rádio V4L2 e oferece maneiras simples de acessar as informações RDS recebidas |
|
é uma ferramenta de teste de conformidade |
|
é uma ferramenta para controlar controles v4l2 a partir da linha de comandos |
|
é uma ferramenta para obter e configurar diretamente registradores de dispositivos v4l2 |
|
verifica os dispositivos de mídia instalados em uma máquina e os correspondentes nós de dispositivos |
O pacote x264 fornece uma biblioteca para codificação de fluxos de vídeo no formato H.264/MPEG-4 AVC.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://anduin.linuxfromscratch.org/BLFS/x264/x264-20230215.tar.xz
Soma de verificação MD5 da transferência: 24eb4eae0d6358f31228c9ff86046c6f
Tamanho da transferência: 673 KB
Espaço em disco estimado exigido: 14 MB
Tempo de construção estimado: 0,3 UPC (Usando paralelismo=4)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/x264
Instale o x264 executando os seguintes comandos:
./configure --prefix=/usr \ --enable-shared \ --disable-cli && make
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install
--disable-cli
: Essa
chave desabilita construir o codificador de linha de comando,
que é redundante, pois exige o FFmpeg para a maioria dos
formatos de entrada.
--disable-asm
: Use essa chave se
você não instalou o NASM.
O pacote x265 fornece uma biblioteca para codificação de fluxos de vídeo no formato H.265/HEVC.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://anduin.linuxfromscratch.org/BLFS/x265/x265-20230215.tar.xz
Soma de verificação MD5 da transferência: e735837f5e3fa95889e0a72eca39fccf
Tamanho da transferência: 1,0 MB
Espaço em disco estimado exigido: 52 MB
Tempo de construção estimado: 0,9 UPC (usando paralelismo = 4)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/x265
Instale o x265 executando os seguintes comandos:
mkdir bld && cd bld && cmake -DCMAKE_INSTALL_PREFIX=/usr \ -DGIT_ARCHETYPE=1 \ -Wno-dev ../source && make
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install && rm -vf /usr/lib/libx265.a
-DGIT_ARCHETYPE=1
:
o(a) Desenvolvedor(a) não mais fornece lançamentos. O BLFS
está usando um instantâneo git, mas se o construtor não tiver
instalado o git, a
construção não instalará a biblioteca compartilhada ou o
arquivo pkgconfig sem essa chave.
-Wno-dev
: Essa chave
é usada para suprimir avisos destinados para os(as)
desenvolvedores(as) do pacote.
rm -vf
/usr/lib/libx265.a
: O BLFS não recomenda usar
bibliotecas estáticas.
O pacote Xine Libraries contém bibliotecas xine. Elas são úteis para interfacear com plugins externos que permitem o fluxo de informações a partir da fonte para o hardware de áudio e vídeo.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/xine/xine-lib-1.2.13.tar.xz
Transferência (FTP): ftp://ftp.mirrorservice.org/sites/distfiles.gentoo.org/distfiles/xine-lib-1.2.13.tar.xz
Soma de verificação MD5 da transferência: 9e1be39857b7a3cd7cc0f2b96331ff22
Tamanho da transferência: 4,8 MB
Espaço em disco estimado exigido: 98 MB (com documentação da API)
Tempo de construção estimado: 0,5 UPC (Usando paralelismo=4; com documentação da API)
um ambiente gráfico, FFmpeg-5.1.2, e, pelo menos, um de: ALSA-1.2.7, PulseAudio-16.1 ou JACK
AAlib-1.4rc5, FAAD2-2.10.1, FLAC-1.4.2, gdk-pixbuf-2.42.10, GLU-9.0.2, ImageMagick-7.1.0-61, liba52-0.7.4, libdvdcss-1.4.3, libmad-0.15.1b, libmng-2.0.3, libnsl-2.0.0, libtheora-1.1.1, libva-2.17.0 (exige GLU-9.0.2), libvdpau-1.5, libvorbis-1.3.7, libvpx-1.13.0, Mesa-22.3.5, Samba-4.17.5, SDL-1.2.15, Speex-1.2.1, Doxygen-1.9.6 (para criar a documentação da API), v4l-utils-1.22.1 DirectFB, libbluray, libcaca, libdca, libFAME, libmodplug, musepack, VCDImager e WavPack,
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xine-lib
Primeiro, corrija a construção desse pacote com binutils-2.39:
sed -e '/xine_set_flags/s/XINE_PROTECTED//' -i include/xine.h
Instale o Bibliotecas Xine executando os seguintes comandos:
./configure --prefix=/usr \ --disable-vcd \ --with-external-dvdnav \ --docdir=/usr/share/doc/xine-lib-1.2.13 && make
Para criar a documentação da API, o Doxygen precisa estar instalado e emitir o seguinte comando:
doxygen doc/Doxyfile
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install
Ao instalar, o Makefile faz alguma lincagem adicional. Se você não tem o Xorg em /usr, a variável LIBRARY_PATH precisa estar definida para o(a) usuário(a) root. Se usar sudo para assumir o root, use a opção -E para passar tuas variáveis de ambiente atuais para o processo de instalação.
Se você construiu a documentação da API, emita os seguintes
comandos como o(a) usuário(a) root
para instalá-la:
install -v -m755 -d /usr/share/doc/xine-lib-1.2.13/api && install -v -m644 doc/api/* \ /usr/share/doc/xine-lib-1.2.13/api
--disable-vcd
: Essa
chave é exigida para compilar o Xine Lib sem o VCDImager instalado.
Remova essa opção se você tiver instalado o VCDImager.
--with-external-dvdnav
: Essa
chave é exigida porque as bibliotecas internas não conseguem
desencriptar DVD.
--docdir=/usr/share/doc/xine-lib-1.2.13
:
Essa chave faz com que a documentação seja instalada em um
diretório versionado, em vez do padrão /usr/share/doc/xine-lib
.
--disable-vaapi
: use essa chave
se libva-2.17.0 estiver instalado e GLU-9.0.2 não
estiver, para evitar uma falha de construção.
XviD é um CODEC de vídeo compatível com MPEG-4.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.xvid.com/downloads/xvidcore-1.3.7.tar.gz
Soma de verificação MD5 da transferência: 5c6c19324608ac491485dbb27d4da517
Tamanho da transferência: 804 KB
Espaço em disco estimado exigido: 7,1 MB
Tempo de construção estimado: 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xvid
Esse tarball do pacote se expande para xvidcore
, não para o esperado
xvidcore-1.3.7
.
Instale o XviD executando os seguintes comandos:
cd build/generic && sed -i 's/^LN_S=@LN_S@/& -f -v/' platform.inc.in && ./configure --prefix=/usr && make
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
sed -i '/libdir.*STATIC_LIB/ s/^/#/' Makefile && make install && chmod -v 755 /usr/lib/libxvidcore.so.4.3 && install -v -m755 -d /usr/share/doc/xvidcore-1.3.7/examples && install -v -m644 ../../doc/* /usr/share/doc/xvidcore-1.3.7 && install -v -m644 ../../examples/* \ /usr/share/doc/xvidcore-1.3.7/examples
sed -i 's/^LN_S=@LN_S@/& -f -v/' platform.inc.in: Corrija erro durante make install se reinstalar ou atualizar.
sed -i '/libdir.*STATIC_LIB/ s/^/#/' Makefile: Esse comando desabilita instalar a biblioteca estática.
Este capítulo contém aplicativos envolvidos com manipulação de arquivos de áudio; isto é, reproduzir, gravar, copiar e outras coisas comuns que as pessoas desejam fazer. Ele também inclui um pacote usado para transformar texto em fala usando o hardware de áudio do teu sistema. Para usar grande parte desse software, você precisará ter os controladores de som do núcleo instalados.
Audacious é um reprodutor de áudio.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://distfiles.audacious-media-player.org/audacious-4.2.tar.bz2
Soma de verificação MD5 da transferência: 3f76597aa1d2ea1501a93456b46d870f
Tamanho da transferência: 600 KB
Espaço em disco estimado exigido: 72 MB (com interface Qt de usuário(a))
Tempo de construção estimado: 0,8 UPC (com interface Qt de usuário(a))
Plugins Exigidos
Transferência (HTTP): https://distfiles.audacious-media-player.org/audacious-plugins-4.2.tar.bz2
Soma de verificação MD5 da transferência: 029d1ee500e8941812ddbf65b23988c8
Tamanho da transferência: 1,9 MB
Espaço em disco estimado exigido: 171 MB (com interface Qt de usuário(a))
Tempo de construção estimado: 1,8 UPC (com interface Qt de usuário(a))
GTK+-2.24.33 ou Qt-5.15.8 (ou ambos), libxml2-2.10.3 (plugins), Ambiente de construção do "Xorg" (plugins) e um ambiente gráfico (tempo de execução)
ALSA-1.2.7 e dbus-1.14.6; também gnome-icon-theme-3.12.0 (tempo de execução)
libarchive-3.6.2 e Valgrind-3.20.0
mpg123-1.31.2 e neon-0.32.5 (para rádio online mpg3 e ogg)
cURL-7.88.1, FAAD2-2.10.1, FFmpeg-5.1.2, FLAC-1.4.2, LAME-3.100, libcdio-2.1.0 (para identificar e reproduzir CDs), libnotify-0.8.1, libsamplerate-0.2.2, libsndfile-1.2.0, libvorbis-1.3.7, PulseAudio-16.1, SDL-1.2.15, ampache-browser, adplug, a biblioteca Bauer stereophonic-to-binaural DSP (bs2b), FluidSynth, JACK (exige libsamplerate-0.2.2), libcue, libmodplug, libmms, libopenmpt, libsidplayfp, LIRC, sndio, SoX e WavPack
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/audacious
Instale o Audacious executando os seguintes comandos (você possivelmente queira mudar o carimbo para outra sequência de caracteres):
TPUT=/bin/true ./configure --prefix=/usr \ --with-buildstamp="BLFS" && make
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install
Instale o pacote exigido de plugins emitindo os seguintes comandos:
tar -xf ../audacious-plugins-4.2.tar.bz2 && cd audacious-plugins-4.2 && TPUT=/bin/true ./configure --prefix=/usr --disable-wavpack && make
Agora, como o(a) usuário(a) root
:
make install
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 de memória
atualizando /usr/share/icons/hicolor/index.theme
e
/usr/share/applications/mimeinfo.cache
.
Para realizar a atualização, você precisa ter o GTK+-2.24.33
ou GTK+-3.24.36 instalado (para o cache
de ícones) e o 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 -qtf /usr/share/icons/hicolor && update-desktop-database -q
TPUT=/bin/true
: o
padrão é para make gerar texto em cores.
Isso é bom se você estiver construindo em um terminal, mas se
você automatizar o processo de construção e canalizar a saída
gerada a partir do make para um arquivo de
registro, então os caracteres de controle usados para colorir
o texto poderão tornar o arquivo de registro ilegível. Essa
opção evita que make colora o texto.
--with-buildstamp
:
Essa chave anexa o texto fornecido à sequência de caracteres
da versão.
--disable-wavpack
:
Essa chave é exigida, a menos que o pacote opcional WavPack
esteja instalado.
--enable-gtk
: Use isso para
habilitar o suporte a GTK+.
--disable-qt
: Use isso para
desabilitar o suporte qt.
--disable-mp3
: Use isso para os
plugins se você não tiver instalado o mpg123 e não desejar
reproduzir arquivos mp3.
--enable-valgrind
: Permite
melhores verificações do Valgrind de vazamento.
--disable-neon
: Use isso para os
plugins se você não tiver instalado o neon e não desejar usar
o transporte HTTP/HTTPS.
Se você preferir a interface antiga e menor do Winamp/XMMS, clique em Exibir> Interface> Interface Clássica do Winamp.
Se você construiu com interfaces Gtk e Qt de usuário(a), a
versão Qt pode ser executada a partir de um terminal,
emitindo audacious
--qt. Se você desejar que uma entrada de menu
da área de trabalho execute essa versão do Qt, emita os
seguintes comandos como o(a) usuário(a) root
:
cp -v /usr/share/applications/audacious{,-qt}.desktop && sed -e '/^Name/ s/$/ Qt/' \ -e '/Exec=/ s/audacious/& --qt/' \ -i /usr/share/applications/audacious-qt.desktop
O pacote CDParanoia contém
uma ferramenta de extração de áudio de CD. Isso é útil para
extrair arquivos .wav
a partir
de CDs de áudio. Uma unidade de CDROM compatível com CDDA é
necessária. Praticamente todas as unidades suportadas pelo
Linux podem ser usadas.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.xiph.org/releases/cdparanoia/cdparanoia-III-10.2.src.tgz
Soma de verificação MD5 da transferência: b304bbe8ab63373924a744eac9ebc652
Tamanho da transferência: 179 KB
Espaço em disco estimado exigido: 2,9 MB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/cdparanoia
Esse pacote não suporta construção paralela.
Instale o CDParanoia executando os seguintes comandos:
patch -Np1 -i ../cdparanoia-III-10.2-gcc_fixes-1.patch && ./configure --prefix=/usr --mandir=/usr/share/man && make -j1
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install && chmod -v 755 /usr/lib/libcdda_*.so.0.10.2 && rm -fv /usr/lib/libcdda_*.a
é usado para 'ripar' um CD de áudio. Ripar é o processo de extrair digitalmente música a partir de um CD de áudio |
|
contém funções usadas pelo cdparanoia, bem como outros pacotes, que podem identificar automaticamente se um dispositivo de CD é compatível com CDDA |
|
contém funções usadas pelo cdparanoia, bem como outros pacotes, que fornecem verificação de dados, sincronização, tratamento de erros e capacidade aleatória de reconstrução |
O pacote KWave contém um aplicativo Editor de Som baseado em KF5.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.kde.org/stable/release-service/22.12.2/src/kwave-22.12.2.tar.xz
Soma de verificação MD5 da transferência: 41e49171074c1e3497185ab97c2f233c
Tamanho da transferência: 6,6 MB
Espaço em disco estimado exigido: 72 MB
Tempo de construção estimado: 0,8 UPC (usando paralelismo = 4)
AudioFile-0.3.6, fftw-3.3.10, id3lib-3.8.3 e KDE Frameworks-5.103.0
alsa-lib-1.2.8, FLAC-1.4.2, libogg-1.3.5 e PulseAudio-16.1
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/kwave
Instale o KWave 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
O pacote LAME contém um codificador de MP3 e, opcionalmente, um analisador de quadros de MP3. Isso é útil para criar e analisar arquivos de áudio comprimidos.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/lame/lame-3.100.tar.gz
Soma de verificação MD5 da transferência: 83e260acbe4389b54fe08e0bdbf7cddb
Tamanho da transferência: 1,5 MB
Espaço em disco estimado exigido: 9,7 MB
Tempo de construção estimado: 0,1 UPC
Dmalloc, Electric Fence, libsndfile-1.2.0 e NASM-2.16.01
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/lame
Instale o LAME executando os seguintes comandos:
./configure --prefix=/usr --enable-mp3rtp --disable-static && make
Para testar os resultados, emita: make test.
Agora, como o(a) usuário(a) root
:
make pkghtmldir=/usr/share/doc/lame-3.100 install
--enable-mp3rtp
: Essa
chave habilita construir o aplicativo de codificação para
RTP.
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
--enable-nasm
: Habilite o uso de
NASM-2.16.01 para compilar rotinas
otimizadas de montagem para x86 de 32 bits. Essa opção não
tem efeito em x86_64.
O pacote mpg123 contém um reprodutor de MP3 baseado em console. Ele afirma ser o decodificador de MP3 mais rápido para Unix.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/mpg123/mpg123-1.31.2.tar.bz2
Soma de verificação MD5 da transferência: 7aa9b41b70826fe8edd743202e488433
Tamanho da transferência: 1,0 MB
Espaço em disco estimado exigido: 16 MB (com os testes)
Tempo de construção estimado: 0,2 UPC (com os testes)
PulseAudio-16.1, SDL-1.2.15, JACK, OpenAL e PortAudio
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/mpg123
Instale o mpg123 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
é usado para reproduzir arquivos MP3 por intermédio do console |
|
é uma ferramenta para despejar metadados ID3 a partir de arquivos de áudio MPEG usando a libmpg123 |
|
extrai somente quadros MPEG a partir de um fluxo usando a libmpg123 (stdin para stdout) |
|
reproduz áudio PCM bruto para um dispositivo de saída |
|
contém as funções da API do mpg123 |
|
contém as funções da API do out123 |
|
contém algumas funções de síntese de sinal de áudio e conversão de formato |
PulseAudio Volume Control (pavucontrol) é uma ferramenta simples de controle de volume baseada em GTK ("mixer") para o servidor de som PulseAudio. Em contraste com as ferramentas clássicas de mixagem, essa te permite controlar o volume dos dispositivos de hardware e de cada fluxo de reprodução separadamente.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://freedesktop.org/software/pulseaudio/pavucontrol/pavucontrol-5.0.tar.xz
Soma de verificação MD5 da transferência: a4a5dc51dcf4d912443faf3fe8d32b55
Tamanho da transferência: 192 KB
Espaço em disco estimado exigido: 14 MB
Tempo de construção estimado: 0,3 UPC
Gtkmm-3.24.7, JSON-GLib-1.6.6, libcanberra-0.30, libsigc++-2.12.0 e PulseAudio-16.1
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/pavucontrol
Instale o pavucontrol executando os seguintes comandos:
./configure --prefix=/usr --docdir=/usr/share/doc/pavucontrol-5.0 && make
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install
O pacote Pnmixer fornece um controle de volume leve com um ícone da bandeja.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/nicklan/pnmixer/releases/download/v0.7.2/pnmixer-v0.7.2.tar.gz
Soma de verificação MD5 da transferência: e9f17f56c50de39393030a96e343427b
Tamanho da transferência: 236 KB
Espaço em disco estimado exigido: 2,5 MB
Tempo de construção estimado: menos que 0,1 UPC
alsa-utils-1.2.8, GTK+-3.24.36 e libnotify-0.8.1
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/pnmixer
Instale o Pnmixer executando os seguintes comandos:
mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX=/usr .. && make
Esse pacote não tem uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install
O pacote Vorbis Tools contém ferramentas de linha de comando úteis para codificar, reproduzir ou editar arquivos usando o CODEC Ogg.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.xiph.org/releases/vorbis/vorbis-tools-1.4.2.tar.gz
Soma de verificação MD5 da transferência: 998fca293bd4e4bdc2b96fb70f952f4e
Tamanho da transferência: 1,3 MB
Espaço em disco estimado exigido: 12 MB
Tempo de construção estimado: 0,1 UPC
cURL-7.88.1, FLAC-1.4.2, Speex-1.2.1 e libkate
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/vorbistools
Instale o Vorbis Tools executando os seguintes comandos:
./configure --prefix=/usr \ --enable-vcut \ --without-curl && make
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install
--enable-vcut
: Esse
parâmetro é usado de forma que o aplicativo vcut seja construído como
não é por padrão.
--without-curl
: Esse
parâmetro desabilita a transmissão HTTP em ogg123. Remova esse
parâmetro se você tiver o cURL instalado.
é um reprodutor de áudio de linha de comando para fluxos Ogg Vorbis |
|
é um decodificador simples que converte arquivos Ogg Vorbis em arquivos de áudio PCM (WAV ou bruto) |
|
é um codificador que transforma arquivos brutos, WAV ou AIFF em um fluxo Ogg Vorbis |
|
imprime informações armazenadas em um arquivo de áudio |
|
divide um arquivo em dois arquivos em um ponto de corte designado |
|
é um editor que muda informações nos rótulos de metadados do arquivo de áudio |
Este capítulo sempre parece ser o capítulo favorito. Provavelmente é porque existe muita satisfação em reproduzir teu primeiro vídeo quando você tenha gasto tanto tempo para chegar a esse ponto. Todas aquelas bibliotecas, todas as configurações e tua recompensa é que você finalmente consiga assistir a um filme. Não se preocupe, todavia; sempre existe mais um CODEC para instalar.
FFmpeg é uma solução para gravar, converter e transmitir áudio e vídeo. Ela é um conversor de vídeo e áudio muito rápido e também pode adquirir a partir de uma fonte ao vivo de áudio/vídeo. Projetada para ser intuitiva, a interface de linha de comando (ffmpeg) tenta avaliar todos os parâmetros, quando possível. FFmpeg também pode converter de qualquer taxa de amostragem para qualquer outra e redimensionar o vídeo instantaneamente com um filtro polifásico de alta qualidade. FFmpeg pode usar uma fonte de vídeo compatível com Video4Linux e qualquer fonte de áudio Open Sound System.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ffmpeg.org/releases/ffmpeg-5.1.2.tar.xz
Soma de verificação MD5 da transferência: fa847c43407315c27231b9f883e62c0e
Tamanho da transferência: 9,5 MB
Espaço em disco estimado exigido: 184 MB (adicionar 1,7 GB para a suíte/testes FATE; adicionar 766 MB para documentação)
Tempo de construção estimado: 1,3 UPC (usando paralelismo=4; adicionar 3,7 UPC (com THREADS=4) para executar a suíte FATE depois que arquivos de amostra forem baixados; adicionar 0,3 UPC para documentos doxygen)
libass-0.17.0, fdk-aac-2.0.2, FreeType-2.13.0, LAME-3.100, libtheora-1.1.1, libvorbis-1.3.7, libvpx-1.13.0, Opus-1.3.1, x264-20230215, x265-20230215 e NASM-2.16.01 ou yasm-1.3.0
alsa-lib-1.2.8, libva-2.17.0, libvdpau-1.5 (com o correspondente pacote de controlador) e SDL2-2.26.3
Doxygen-1.9.6, Fontconfig-2.14.2, FriBidi-1.0.12, frei0r-plugins-1.8.0, libcdio-2.1.0 (para identificar e reproduzir CDs), libdrm-2.4.115 (para entrada “kmsgrab”), libwebp-1.3.0, opencv-4.7.0, OpenJPEG-2.5.0, GnuTLS-3.8.0, PulseAudio-16.1, Samba-4.17.5, Speex-1.2.1, texlive-20220321 (ou install-tl-unx) para documentação PDF e PS, v4l-utils-1.22.1, XviD-1.3.7, um ambiente gráfico, Flite, GSM, libaacplus, libbluray, libcaca, libcelt, libdc1394, libdca, libiec61883, libilbc, libmodplug, libnut (Check-out do Git), librtmp, libssh, OpenAL, OpenCore AMR, Srt, Schroedinger, TwoLAME, vo-aaenc, vo-amrwbenc e ZVBI
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/ffmpeg
Alguns avisos inofensivos possivelmente sejam emitidos pelo processo de construção em relação à documentação HTML. Isso é devido a uma incompatibilidade com o Texinfo-7.0 e superior.
Primeiro, aplique um remendo que adicione uma API necessária para alguns pacotes construírem:
patch -Np1 -i ../ffmpeg-5.1.2-chromium_method-1.patch
Instale o FFmpeg executando os seguintes comandos:
sed -i 's/-lflite"/-lflite -lasound"/' configure && ./configure --prefix=/usr \ --enable-gpl \ --enable-version3 \ --enable-nonfree \ --disable-static \ --enable-shared \ --disable-debug \ --enable-libass \ --enable-libfdk-aac \ --enable-libfreetype \ --enable-libmp3lame \ --enable-libopus \ --enable-libtheora \ --enable-libvorbis \ --enable-libvpx \ --enable-libx264 \ --enable-libx265 \ --enable-openssl \ --docdir=/usr/share/doc/ffmpeg-5.1.2 && make && gcc tools/qt-faststart.c -o tools/qt-faststart
A documentação HTML foi construída na etapa anterior. Se você tiver o texlive-20220321 instalado e desejar construir versões PDF e Postscript da documentação, emita os seguintes comandos:
pushd doc && for DOCNAME in `basename -s .html *.html` do texi2pdf -b $DOCNAME.texi && texi2dvi -b $DOCNAME.texi && dvips -o $DOCNAME.ps \ $DOCNAME.dvi done && popd && unset DOCNAME
Se você tiver o Doxygen-1.9.6 instalado e desejar construir (se --disable-doc foi usado) ou reconstruir a documentação HTML, emita:
doxygen doc/Doxyfile
Os testes da suíte FATE incluem comparações com arquivos instalados e não deveriam ser executados antes que o pacote esteja instalado. Portanto, se você desejar executá-los, as instruções são fornecidas mais abaixo.
Agora, como o(a) usuário(a) root
:
make install && install -v -m755 tools/qt-faststart /usr/bin && install -v -m755 -d /usr/share/doc/ffmpeg-5.1.2 && install -v -m644 doc/*.txt /usr/share/doc/ffmpeg-5.1.2
Se a documentação PDF e Postscript foi construída, emita os
seguintes comandos, como o(a) usuário(a) root
, para instalá-las:
install -v -m644 doc/*.pdf /usr/share/doc/ffmpeg-5.1.2 && install -v -m644 doc/*.ps /usr/share/doc/ffmpeg-5.1.2
Se você usou o doxygen para criar
manualmente a documentação da API, instale-a emitindo os
seguintes comandos como o(a) usuário(a) root
:
install -v -m755 -d /usr/share/doc/ffmpeg-5.1.2/api && cp -vr doc/doxy/html/* /usr/share/doc/ffmpeg-5.1.2/api && find /usr/share/doc/ffmpeg-5.1.2/api -type f -exec chmod -c 0644 \{} \; && find /usr/share/doc/ffmpeg-5.1.2/api -type d -exec chmod -c 0755 \{} \;
Para testar a instalação corretamente, você precisa ter o rsync-3.2.7 instalado e seguir as instruções para o FFmpeg Automated Testing Environment (FATE). Primeiro, cerca de 1 GB de arquivos de amostra usados para executar o FATE são baixados com o comando:
make fate-rsync SAMPLES=fate-suite/
O diretório fate-suite
é criado
e os arquivos são baixados lá. Esse comando, atualmente,
executa um comando rsync para obter os arquivos de amostra.
Você possivelmente queira comprimir e manter esse diretório
para testagem novamente, para testagem em outro sistema ou
para quando uma nova versão do FFmpeg for lançada. Em
seguida, desempacote os arquivos de amostra no diretório do
fonte e execute o comando make
fate-rsync ... acima para sincronizar com o
repositório do(a) desenvolvedor(a). O tamanho e o tempo da
transferência são drasticamente reduzidos com isso. Os
valores estimados em "Informações do Pacote" não incluem o
UPC de transferência. Algumas amostras possivelmente tenham
sido removidas em versões mais recentes, de forma que, para a
finalidade de ter certeza de que as amostras FATE locais e do
servidor sejam idênticas, ao usar amostras salvas
anteriormente, execute o seguinte comando:
rsync -vrltLW --delete --timeout=60 --contimeout=60 \ rsync://fate-suite.ffmpeg.org/fate-suite/ fate-suite/
Em seguida, execute FATE com os seguintes comandos (existem mais que três mil e oitocentos (3.800) testes na suíte):
make fate THREADS=N
SAMPLES=fate-suite/ | tee ../fate.log &&
grep ^TEST ../fate.log | wc -l
onde N
é um
inteiro, N
≤ número
de elementos de processamento no sistema.
Uma execução bem-sucedida não deveria retornar erros ou avisos, apenas uma lista de testes e o valor total no final.
sed -i ...
configure: Esse comando adiciona a biblioteca
ALSA à variável LDFLAGS
do Flite e habilita o descoberta do
Flite.
find ... ;: Corrige permissões de arquivos e diretórios da documentação.
--enable-libfreetype
:
Habilita suporte a Freetype.
--enable-gpl
:
habilita o uso de código GPL e permite suporte para
pós-processamento, swscale e muitos outros recursos.
--enable-version3
:
Habilita o uso do código (L)GPL versão 3.
--enable-nonfree
:
Habilita o uso de código não-livre. Observe que as
bibliotecas e binários resultantes não serão redistribuíveis.
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
--enable-shared
:
Habilita construir bibliotecas compartilhadas, caso
contrário, somente bibliotecas estáticas serão construídas e
instaladas.
--disable-debug
:
Desabilita construir símbolos de depuração nos aplicativos e
bibliotecas.
--enable-libass
:
Habilita a renderização do formato de legenda ASS/SSA via
libass
.
--enable-libdrm
: Use essa chave,
se o libdrm-2.4.115 estiver instalado, para
construir o módulo de entrada “kmsgrab”, o qual é
útil para captura ou transmissão de tela.
--enable-libfdk-aac
:
Habilita a codificação de áudio AAC via libfdk-aac
.
--enable-libmp3lame
:
Habilita a codificação de áudio MP3 via libmp3lame
.
--enable-libvorbis
--enable-libtheora
: Habilita a codificação de
vídeo Theora via libvorbis
e
libtheora
.
--enable-libvorbis
--enable-libvpx
: Habilita a codificação WebM via
libvorbis
e libvpx
.
--enable-libx264
:
Habilita a codificação H.264/MPEG-4 AVC de alta qualidade via
libx264
.
--enable-libx265
:
Habilita a codificação H.265/HEVC de alta qualidade via
libx265
.
--enable-openssl
:
Habilita o protocolo HTTPS para fluxos de rede de
intercomunicação.
--enable-gnutls
: Use essa opção,
em vez de --enable-openssl
, se você
quiser usar GnuTLS em vez de
OpenSSL para protocolo
HTTPS.
--disable-doc
: Desabilita
construir documentação HTML. Isso somente é necessário se o
Doxygen-1.9.6 estiver instalado e você
não quiser construir a documentação HTML.
--enable-libpulse
: Habilita
suporte para Pulseaudio para
saída de áudio.
gcc tools/qt-faststart.c -o
tools/qt-faststart: Isso constrói o
aplicativo qt-faststart, o qual pode
modificar filmes formatados em QuickTime (.mov
ou .mp4
), de forma que as informações do
cabeçalho estejam localizadas no início do arquivo, e não no
final. Isso permite que o arquivo do filme comece a ser
reproduzido antes que todo o arquivo tenha sido baixado.
O suporte para a maioria dos pacotes de dependências exige usar opções passadas para o conjunto de comandos sequenciais configure. Veja a saída gerada a partir de ./configure --help para informações completas a respeito de habilitar pacotes de dependências.
é uma ferramenta de linha de comando para converter arquivos de vídeo, fluxos de rede de intercomunicação e entrada gerada a partir de uma placa de TV para vários formatos de vídeo |
|
é um reprodutor de mídia muito simples e portável
que usa as bibliotecas do |
|
reúne informações a partir de fluxos multimídia e as imprime de forma legível por humanos e máquinas |
|
move o arquivo de índice para a frente dos vídeos quicktime (mov/mp4) |
|
é uma biblioteca que contém os CODECs do FFmpeg (tanto codificação quanto decodificação) |
|
é a biblioteca de manuseio de dispositivos do FFmpeg |
|
é uma biblioteca de filtros que pode alterar vídeo ou áudio entre o decodificador e o codificador (ou saída gerada) |
|
é uma biblioteca que contém o manuseio dos formatos de arquivos (código mux e demux para diversos formatos) usados pelo ffplay além de permitir a geração de fluxos de áudio ou vídeo |
|
é uma biblioteca que contém funções para reamostragem de áudio e vídeo. |
|
é a biblioteca de utilitários do FFmpeg |
|
é a biblioteca de pós-processamento do FFmpeg |
|
é a biblioteca de reescalonamento de áudio do FFmpeg; ela contém funções para converter formatos de amostra de áudio |
|
é a biblioteca de reescalonamento de imagens do FFmpeg |
MPlayer é um poderoso reprodutor de áudio/vídeo controlado por meio da linha de comando ou de uma interface gráfica que é capaz de reproduzir quase todos os formatos populares de arquivos de áudio e vídeo. Com hardware de vídeo suportado e controladores adicionais, o MPlayer consegue reproduzir arquivos de vídeo sem um Sistema de Janelas X instalado.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://mplayerhq.hu/MPlayer/releases/MPlayer-1.5.tar.xz
Transferência (FTP): ftp://ftp.mplayerhq.hu/MPlayer/releases/MPlayer-1.5.tar.xz
Soma de verificação MD5 da transferência: 0419b64db24b6db0943dbc6afece7c44
Tamanho da transferência: 15 MB
Espaço em disco estimado exigido: 152 MB
Tempo de construção estimado: 0,4 UPC (Usando paralelismo=4)
Temas
Tema da GUI (HTTP): https://mplayerhq.hu/MPlayer/skins/Clearlooks-2.0.tar.bz2
Tema da GUI (FTP): ftp://ftp.mplayerhq.hu/MPlayer/skins/Clearlooks-2.0.tar.bz2
Soma de verificação MD5 do tema: c82d4dbd7f0c36dfecd63dff972807c5
Tamanho do tema: 34 KB
Temas alternativos: https://mplayerhq.hu/MPlayer/skins/
Temas são necessários somente para a finalidade de usar a interface de usuário(a) do Gtk+ 2.
FFmpeg-5.1.2, GTK+-2.24.33 e libvdpau-va-gl-0.4.0
CDParanoia-III-10.2, libcdio-2.1.0 (para identificar e reproduzir CDs), libdvdread-6.1.3, libdvdnav-6.1.1, libdvdcss-1.4.3, Samba-4.17.5, libbluray, LIVE555 Streaming Media, RTMPDump, Cliente TiVo vstream e XMMS
ALSA-1.2.7, PulseAudio-16.1, SDL-1.2.15, JACK, NAS e OpenAL
AAlib-1.4rc5, giflib-5.2.1, libjpeg-turbo-2.1.5.1, libmng-2.0.3, libpng-1.6.39, OpenJPEG1 DirectFB, libcaca e SVGAlib
FAAC-1_30, FAAD2-2.10.1, LAME-3.100, liba52-0.7.4, libdv-1.0.0, libmad-0.15.1b, libmpeg2-0.5.1, libtheora-1.1.1, libvpx-1.13.0, LZO-2.10, mpg123-1.31.2, Speex-1.2.1, XviD-1.3.7, x264-20230215, CrystalHD, Dirac, GSM, iLBC, libdca, libnut, libmpcdec, Taxa Múltipla Adaptável OpenCore, Schroedinger, Tremor e TwoLAME
Fontconfig-2.14.2, FreeType-2.13.0, FriBidi-1.0.12, GnuTLS-3.8.0, Opus-1.3.1 e UnRar-6.2.6; libxslt-1.1.37, docbook-xml-4.5 e docbook-xsl-nons-1.79.2 (todos três exigidos para construir a documentação HTML); e Enca, libbs2b e LIRC (e Processo de Segundo Plano Cliente LIRC)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/mplayer
Os(As) mantenedores(as) do pacote recomendam construir sem quaisquer otimizações.
Você possivelmente deseje examinar a saída gerada proveniente de ./configure --help para descobrir quais parâmetros adicionais para configure são necessários para incluir as dependências que você tem instaladas em teu sistema.
Instale o MPlayer executando os seguintes comandos:
./configure --prefix=/usr \ --confdir=/etc/mplayer \ --enable-dynamic-plugins \ --disable-libmpeg2-internal \ --disable-ffmpeg_a \ --enable-menu \ --enable-runtime-cpudetection \ --enable-gui && make
Se você desejar construir a documentação HTML, emita o seguinte comando:
make doc
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install && ln -svf ../icons/hicolor/48x48/apps/mplayer.png \ /usr/share/pixmaps/mplayer.png
Para instalar a documentação HTML, emita os seguintes
comandos como o(a) usuário(a) root
:
install -v -m755 -d /usr/share/doc/mplayer-1.5 && install -v -m644 DOCS/HTML/en/* \ /usr/share/doc/mplayer-1.5
Você só precisará do codecs.conf
se quiser mudar as
propriedades dele, pois o binário principal contém uma
cópia interna dele. Certifique-se de que quaisquer mudanças
que você fizer no codecs.conf
obtenham os resultados desejados, pois entradas incorretas
nesse arquivo tem sido conhecidas por causarem erros e
tornarem o reprodutor não usável. Se necessário, crie o
arquivo como o(a) usuário(a) root
:
install -v -m644 etc/codecs.conf /etc/mplayer
Alternativamente, você pode querer copiar todos os arquivos
padrão de configuração para /etc/mplayer
para referência futura ou
maior capacidade de personalização. Como o(a) usuário(a)
root
:
install -v -m644 etc/*.conf /etc/mplayer
Para habilitar a estrutura Gtk+ 2 de interação direta com
o(a) usuário(a) do MPlayer, você precisará instalar pelo
menos um tema. Extraia o tema desejado e crie o local
padrão (como o(a) usuário(a) root
):
tar -xvf ../Clearlooks-2.0.tar.bz2 \ -C /usr/share/mplayer/skins && ln -sfvn Clearlooks /usr/share/mplayer/skins/default
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 de memória
atualizando /usr/share/icons/hicolor/index.theme
e
/usr/share/applications/mimeinfo.cache
.
Para realizar a atualização, você precisa ter o GTK+-2.24.33
ou GTK+-3.24.36 instalado (para o cache
de ícones) e o 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 -qtf /usr/share/icons/hicolor && update-desktop-database -q
--enable-gui
: Essa
opção constrói a interface GUI no mplayer.
--enable-menu
: Essa
opção é configurada para habilitar a exibição na tela.
--enable-runtime-cpudetection
:
Essa opção faz com que o MPlayer execute com um tipo genérico
de CPU, evitando otimizações que possivelmente causem
problemas em tempo de execução.
--disable-ffmpeg_a
: Você pode
usar essa opção se tiver instalado o FFmpeg-5.1.2. A vinculação
dinâmica a um FFmpeg instalado no sistema torna o MPlayer e o
Mencoder cerca de 9 MB menores.
--disable-libmpeg2-internal
:
Essa opção faz o MPlayer executar com uma versão de sistema
da libmpeg2.
--language-doc="
: Essa
chave configura o idioma usado para a documentação. Use
./configure
--help para mais informações.
<idioma>
"
--language-man="
: Essa
chave configura o idioma usado para as páginas de manual. Use
./configure
--help para mais informações.
<idioma>
"
--language-msg="
: Essa
chave configura o idioma usado para mensagens e a GUI. Use
./configure
--help para mais informações
<idioma>
"
--language="
: Essa
chave configura o idioma padrão usado. Use ./configure --help para
mais informações.
<idioma>
"
Opções específicas substituem --language. Você pode passar uma lista de idiomas separados por espaços em branco ou vírgulas em vez de um idioma. Traduções inexistentes serão eliminadas de cada lista. Todas as traduções de documentação e páginas de manual disponíveis na lista serão instaladas; para as mensagens, a primeira tradução disponível será usada. O valor "all" ativará todas as traduções. A variável de ambiente LINGUAS é respeitada. Em todos os casos, o substituto é o inglês. Os valores listados por ./configure --help não estão todos disponíveis, como normalmente seria esperado. Você precisa construir o teste.
/etc/mplayer/*
e ~/.mplayer/*
Para reproduzir um DVD, possivelmente seja útil garantir que um dispositivo /dev/dvd seja criado. Você possivelmente precise configurar isso conforme descrito em “Dispositivos para Unidades de DVD”.
Tipicamente, não existe nenhuma configuração exigida para
os arquivos abrangentes a todo o sistema em /etc/mplayer
(na verdade, esse diretório
é vazio, a menos que você copiou os arquivos padrão
conforme mencionado acima). A configuração pode ser
realizada escolhendo-se o botão de configuração localizado
na GUI do MPlayer.
Quaisquer mudanças de configuração feitas na GUI serão
salvas no diretório ~/.mplayer
do(a) usuário(a).
é um link simbólico para mplayer que traz a estrutura GTK+ 2 de interação direta com o(a) usuário(a) do MPlayer |
|
é o reprodutor principal de vídeo MPlayer |
|
é uma poderosa ferramenta, de linha de comando, de decodificação, codificação e filtragem de vídeo que é útil para (entre outras coisas) copiar DVDs para arquivos em teu disco rígido (veja-se /usr/share/doc/mplayer-1.5/mencoder.html) |
Transcode era um conversor de áudio/vídeo tudo para tudo rápido, versátil e baseado em linha de comando, focado principalmente na produção de arquivos de vídeo AVI com áudio MP3, mas também incluindo um aplicativo para ler todos os fluxos de vídeo e áudio a partir de um DVD.
Embora desatualizado e não mais mantido, ele ainda pode ser usado para extrair itens a partir de um DVD usando somente as dependências exigidas e recomendadas ou para recodificar para arquivos AVI.
Sujeito aos comentários abaixo, esse pacote é conhecido por construir e funcionar minimamente usando a atual plataforma LFS.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://sources.archlinux.org/other/community/transcode/transcode-1.1.7.tar.bz2
Transferência (FTP): ftp://ftp.mirrorservice.org/sites/distfiles.gentoo.org/distfiles/transcode-1.1.7.tar.bz2
Soma de verificação MD5 da transferência: 9bb25a796a8591fb764de46ee87ce505
Tamanho da transferência: 2,1 MB
Espaço em disco estimado exigido: 72 MB
Tempo de construção estimado: 0,5 UPC
Remendo exigido para corrigir alguns problemas expostos pelo GCC 10 e posterior: https://www.linuxfromscratch.org/patches/blfs/11.3/transcode-1.1.7-gcc10_fix-1.patch
alsa-lib-1.2.8, LAME-3.100, libdvdread-6.1.3, libmpeg2-0.5.1 e Bibliotecas do Xorg
FAAC-1_30, FreeType-2.13.0, ImageMagick-6, liba52-0.7.4, libdv-1.0.0, libjpeg-turbo-2.1.5.1, libogg-1.3.5, libquicktime-1.2.4, libtheora-1.1.1, libvorbis-1.3.7, libxml2-2.10.3, LZO-2.10, SDL-1.2.15, v4l-utils-1.22.1, x264-20230215, XviD-1.3.7 Ferramentas MJPEG e PVM3,
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/transcode
O suporte para a maioria dos pacotes de dependência exige
usar opções passadas para o conjunto de comandos
sequenciais configure. Visualize o
arquivo INSTALL
e a saída
gerada a partir de ./configure --help para
informações completas acerca de habilitar pacotes de
dependência.
Instale o Transcode executando os seguintes comandos:
sed -i 's|doc/transcode|&-$(PACKAGE_VERSION)|' \ $(find . -name Makefile.in -exec grep -l 'docsdir =' {} \;) && patch -Np1 -i ../transcode-1.1.7-gcc10_fix-1.patch && ./configure --prefix=/usr \ --enable-alsa \ --enable-libmpeg2 \ --disable-ffmpeg && make
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install
sed -i ...: Corrige o local de instalação para documentação.
--disable-ffmpeg
:
Essa chave desabilita o suporte para FFmpeg porque a
libavresample foi removida no ffmpeg-5.x.
corrige o cabeçalho de um arquivo AVI |
|
escreve um arquivo de texto descrevendo o índice de um arquivo AVI |
|
mescla arquivos AVI do mesmo formato. Não tente mesclar arquivos AVI de formatos diferentes; isso provavelmente resultará em erros (e formato significa mesmas taxas de bits, também!) |
|
divide arquivos AVI em vários arquivos |
|
pode deslocar áudio em arquivos AVI para melhor sincronização do sinal de dados de áudio e vídeo |
|
concatena arquivos de entrada usando os plugins de entrada do Transcode. Isso é útil para extrair arquivos Video OBject (VOB), seja para um DVD inteiro ou para títulos ou capítulos selecionados, os quais podem então serem reproduzidos ou recodificados |
|
é usado para decodificar arquivos de entrada para fluxos de vídeo bruto e áudio PCM |
|
demultiplexa (separa) a entrada de áudio/vídeo que contém vários fluxos, por exemplo, arquivos VOB |
|
captura fluxos únicos a partir de um arquivo contendo vários fluxos |
|
carrega um módulo de filtro do Transcode fornecido e imprime os parâmetros dele |
|
é uma ferramenta que pode cortar fluxos de MP3 em posições de milissegundos |
|
imprime informações a respeito do formato do arquivo de entrada |
|
realiza diversas medições nos dados de entrada fornecidos |
|
verifica informações em um arquivo de entrada SMIL |
|
é a interface de usuário(a) do codificador que lida com os plugins e outros aplicativos, sendo a cola entre os módulos. Existem vários exemplos de uso bem documentados, tanto na página inicial quanto na documentação incluída no pacote |
VLC é um reprodutor, transmissor e codificador de mídia. Ele consegue reproduzir várias entradas, como arquivos, fluxos de rede de intercomunicação, dispositivos de captura, áreas de trabalho ou DVD, SVCD, VCD e CD de áudio. Ele consegue usar a maioria dos codificadores de áudio e vídeo (MPEG 1/2/4, H264, VC-1, DivX, WMV, Vorbis, AC3, AAC, etc.) e também consegue converter para diferentes formatos e (ou) enviar fluxos ao longo da rede de intercomunicação.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://download.videolan.org/vlc/3.0.18/vlc-3.0.18.tar.xz
Soma de verificação MD5 da transferência: f3c031357c0eeffb41e928eca220a803
Tamanho da transferência: 25 MB
Espaço em disco estimado exigido: 700 MB
Tempo de construção estimado: 1,7 UPC (usando paralelismo = 4)
alsa-lib-1.2.8, desktop-file-utils-0.26, FFmpeg-5.1.2, liba52-0.7.4, libgcrypt-1.10.1 libmad-0.15.1b, Lua-5.2.4 e um ambiente gráfico
dbus-1.14.6, libidn-1.41 e libssh2-1.10.0
libarchive-3.6.2, libcddb-1.3.2, libdv-1.0.0, libdvdcss-1.4.3, libdvdread-6.1.3, libdvdnav-6.1.1, opencv-4.7.0, Samba-4.17.5, v4l-utils-1.22.1, libbluray, libdc1394, libnfs, libproxy, libraw1394, Live555 e VCDImager (exige libcdio-2.1.0)
libogg-1.3.5, Game Music Emu, libdvbpsi, libshout, libmatroska (exige libebml), libmodplug, Musepack e sidplay-libs
FAAD2-2.10.1, FLAC-1.4.2, libass-0.17.0, libmpeg2-0.5.1, libpng-1.6.39, libtheora-1.1.1, libva-2.17.0, libvorbis-1.3.7, Opus-1.3.1, Speex-1.2.1, libvpx-1.13.0, x264-20230215, aom, aribb24, dav1d, Dirac, FluidLite, FluidSynth, libdca, libkate, OpenMAX, Schroedinger, Shine, SoX, Tremor, Twolame e Zapping VBI
AAlib-1.4rc5, Fontconfig-2.14.2, FreeType-2.13.0, FriBidi-1.0.12, librsvg-2.54.5, libvdpau-1.5, SDL-1.2.15 (com SDL_image), libcaca e libmfx
PulseAudio-16.1, libsamplerate-0.2.2, spatialaudio e JACK
Qt-5.15.8 (exigido para a interface gráfica de usuário(a)), libtar, libvncclient, LIRC e freerdp
GnuTLS-3.8.0, libnotify-0.8.1, libxml2-2.10.3, taglib-1.13, xdg-utils-1.1.3 (tempo de execução), AtmoLight, libmicrodns, protobuf e Srt
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/vlc
Instale o VLC executando os seguintes comandos:
export LUAC=/usr/bin/luac5.2 && export LUA_LIBS="$(pkg-config --libs lua52)" && export CPPFLAGS="$(pkg-config --cflags lua52)" && BUILDCC=gcc ./configure --prefix=/usr --disable-libva && make
Para testar os resultados, emita: make check.
Agora, como o(a) usuário(a) root
:
make docdir=/usr/share/doc/vlc-3.0.18 install
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 de memória
atualizando /usr/share/icons/hicolor/index.theme
e
/usr/share/applications/mimeinfo.cache
.
Para realizar a atualização, você precisa ter o GTK+-2.24.33
ou GTK+-3.24.36 instalado (para o cache de
ícones) e o 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 -qtf /usr/share/icons/hicolor && update-desktop-database -q
export ...: Esses comandos garantem construir com Lua-5.2.4. O(A) desenvolvedor(a) ainda não suporta lua 5.4.
--disable-libva
: Essa
chave é exigida para desabilitar a aceleração de vídeo no
VLC, pois ela é incompatível com ffmpeg-5 e o(a)
desenvolvedor(a) não tem planos de portá-la devido à
complexidade.
--disable-vpx
: Use essa chave
para desabilitar a libvpx.
--disable-mad
: Use essa chave se
você não tiver a libmad
instalada.
--disable-avcodec
--disable-swscale
: Use essas chaves se você não tiver
o FFmpeg instalado.
--disable-a52
: Use essa chave se
você não tiver a liba52
instalada.
--disable-xcb
: Use essa chave se
você não tiver o Sistema de Janelas
X instalado.
--disable-alsa
: Use essa chave se
você não tiver o ALSA
instalado.
--disable-libgcrypt
: Use essa
chave se você não tiver a libgcrypt instalada.
--disable-sftp
: O padrão é o de
construir o módulo sftp se libssh2-1.10.0 estiver instalado.
Use essa chave se você não quiser construir esse módulo.
Existem muitas opções para o comando configure do VLC. Verifique a saída gerada do configure --help para uma lista completa.
é um conjunto de comandos sequenciais para executar o VLC com a interface fictícia |
|
é um conjunto de comandos sequenciais para executar o VLC com a interface ncurses |
|
é um conjunto de comandos sequenciais para executar o VLC com a interface Qt |
|
é um conjunto de comandos sequenciais para executar o VLC com uma interface de linha de comando |
|
é um conjunto de comandos sequenciais para executar o VLC com a interface de temas |
|
é o reprodutor de mídia VLC |
|
é um envolucrador para eliminar privilégios com o VLC |
O pacote xine User Interface contém um reprodutor multimídia. Ele reproduz CDs, DVDs e VCDs. Ele também decodifica arquivos multimídia como AVI, MOV, WMV, MPEG e MP3 a partir de unidades locais de disco e exibe multimídia transmitida pela Internet.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Embora essa versão do xine-ui funcione com a maioria dos arquivos, ela não consegue abrir DVDs encriptados (com conteúdo embaralhado) com a versão atual da libdvdcss.
Transferência (HTTP): https://downloads.sourceforge.net/xine/xine-ui-0.99.14.tar.xz
Soma de verificação MD5 da transferência: 86a4db9050405a91fcc33b7ad85274f5
Tamanho da transferência: 2,1 MB
Espaço em disco estimado exigido: 23 MB
Tempo de construção estimado: 0,2 UPC
xine-lib-1.2.13 e shared-mime-info-2.2
cURL-7.88.1, AAlib-1.4rc5, LIRC e libcaca
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xine-ui
Instale o xine User Interface 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 docsdir=/usr/share/doc/xine-ui-0.99.14 install
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 de memória
atualizando /usr/share/icons/hicolor/index.theme
e
/usr/share/applications/mimeinfo.cache
.
Para realizar a atualização, você precisa ter o GTK+-2.24.33
ou GTK+-3.24.36 instalado (para o cache de
ícones) e o 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 -qtf /usr/share/icons/hicolor && update-desktop-database -q
docsdir=/usr/share/doc/xine-ui-0.99.14
:
Esse parâmetro faz com que a documentação do Xine UI seja instalada no diretório
versionado /usr/share/doc/xine-ui-0.99.14
, em vez do
padrão /usr/share/doc/xine-ui
.
O arquivo acima é criado e pode ser mantido por meio da
caixa de diálogo de configuração do xine. A documentação para
as definições de configuração está localizada em
/usr/share/doc/xine-ui-0.99.14/README.config_en
.
Se você tiver uma placa de TV DVB, poderá assistir a TV com o comando xine dvb:// e mudar de canal com a roda de rolagem no teu mouse.
é um reprodutor de vídeo de arte ASCII que utiliza AAlib como interface para as bibliotecas xine |
|
é um reprodutor de vídeo de arte colorida ASCII que utiliza CACA como interface para as bibliotecas xine |
|
é uma interface de Framebuffer para as bibliotecas xine |
|
é um reprodutor multimídia projetado para reproduzir fluxos MPEG (áudio e vídeo), fluxos elementares MPEG (MP3), fluxos de transporte MPEG, arquivos Ogg, arquivos AVI, arquivos ASF, alguns arquivos Quicktime, VCDs e DVDs |
|
produz uma descrição concisa do sistema e orienta você ao longo do processo de informar um defeito |
|
testa a instalação do reprodutor de vídeo xine em busca de problemas comuns. Ele testa as configurações do sistema operacional, instalação de plugins, configurações da unidade de CD/DVD e parâmetros de suporte de vídeo |
|
é uma ferramenta para conectar-se a um servidor de controle remoto xine |
Este capítulo contém informações acerca de utilitários de escrita de CD/DVD no Linux.
Fontes adicionais de informação incluem:
O pacote Cdrdao contém utilitários de gravação de CD. Eles são úteis para gravar um CD no modo disco de uma vez.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/cdrdao/cdrdao-1.2.4.tar.bz2
Soma de verificação MD5 da transferência: 2ada887d1b30b440867b8df0d3023cf7
Tamanho da transferência: 1,4 MB
Espaço em disco estimado exigido: 39 MB
Tempo de construção estimado: 0,1 UPC
libao-1.2.0, libvorbis-1.3.7, libmad-0.15.1b e LAME-3.100 (exigido para construir toc2mp3)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/cdrdao
Instale o Cdrdao 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 -m755 -d /usr/share/doc/cdrdao-1.2.4 && install -v -m644 README /usr/share/doc/cdrdao-1.2.4
--mandir=/usr/share/man: Instale páginas de manual em /usr/share/man em vez de /usr/man.
grava CD-Rs de áudio ou dados no modo disk-at-once (DAO) baseado em uma descrição textual do conteúdo do CD |
|
converte CUE para formato TOC para CDs de áudio |
|
converte um arquivo TOC do Cdrdao em um arquivo cddb e o imprime na stdout |
|
converte TOC para formato CUE para CDs de áudio |
|
converte uma imagem de disco de CD de áudio
(arquivo |
O pacote Cdrtools contém utilitários de gravação de CD. Eles são úteis para ler, criar ou escrever (gravar) CDs, DVDs e discos Blu-ray.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/cdrtools/cdrtools-3.02a09.tar.bz2
Soma de verificação MD5 da transferência: 1e224a6adbbe4ad40047b9fddbb0e60c
Tamanho da transferência: 2,1 MB
Espaço em disco estimado exigido: 32 MB
Tempo de construção estimado: 0,7 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/Cdrtools
Esse pacote não suporta construção paralela.
Instale o Cdrtools executando os seguintes comandos:
export GMAKE_NOWARN=true && make -j1 INS_BASE=/usr DEFINSUSR=root DEFINSGRP=root
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
export GMAKE_NOWARN=true && make INS_BASE=/usr MANSUFF_LIB=3cdr DEFINSUSR=root DEFINSGRP=root install && install -v -m755 -d /usr/share/doc/cdrtools-3.02a09 && install -v -m644 README.* READMEs/* ABOUT doc/*.ps \ /usr/share/doc/cdrtools-3.02a09
export GMAKE_NOWARN=true: Essa variável evita um aviso ao usar GNU make.
INS_BASE=/usr
: Esse
parâmetro move o diretório de instalação de /opt/schily
para /usr
.
DEFINSUSR=root
DEFINSGRP=root
: Esses parâmetros instalam todos
os aplicativos com titularidade de propriedade root:root em
vez do padrão bin:bin.
MANSUFF_LIB=3cdr
:
Esse parâmetro evita que o Cdrtools sobrescreva páginas importantes
que já estão instaladas pelo LFS. As páginas de manual
instaladas da seção 3 terão um sufixo 3cdr
e podem ser mostradas usando
man 3cdr <página de
manual>.
atualiza o firmware no gravador DVD+/-RW BTC DRW1008. Por favor, tenha cuidado com esse aplicativo |
|
converte áudio de CD em arquivos de som WAV |
|
grava CDs de áudio ou dados |
|
é um aplicativo de diagnóstico usado para despejar um dispositivo ISO-9660 ou arquivo em hexadecimal |
|
é usado para exibir os parâmetros de linha de comando usados para criar uma imagem ISO-9660 |
|
é um aplicativo de diagnóstico usado para despejar um dispositivo ou arquivo baseado na ISO-9660 |
|
é usado para analisar ou listar uma imagem ISO-9660 |
|
é usado para verificar uma imagem ISO-9660 |
|
é um link simbólico para mkisofs usado para criar imagens híbridas de sistemas de arquivos ISO-9660/HFS |
|
é usado para criar imagens de sistemas de arquivos ISO-9660/JOLIET/HFS, opcionalmente com atributos Rock Ridge |
|
lê ou escreve Discos Compactos |
|
é um gerenciador remoto SCSI |
|
é usado para verificar e averiguar a Interface
Binária do Aplicativo da |
|
é uma biblioteca de transporte SCSI altamente portável |
O pacote dvd+rw-tools contém vários utilitários para masterizar a mídia DVD, tanto +RW/+R quanto -R[W]. A ferramenta principal é growisofs que fornece uma maneira para estruturar e desenvolver um sistema de arquivos ISO9660 em (assim como gravar uma imagem arbitrária pré-masterizada em) todas as mídias de DVD suportadas. Isso é útil para criar um novo DVD ou adicionar uma imagem existente em um DVD parcialmente gravado.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): http://fy.chalmers.se/~appro/linux/DVD+RW/tools/dvd+rw-tools-7.1.tar.gz
Soma de verificação MD5 da transferência: 8acb3c885c87f6838704a0025e435871
Tamanho da transferência: 138 KB
Espaço em disco estimado exigido: 1,7 MB
Tempo de construção estimado: menos que 0,1 UPC
Cdrtools-3.02a09 (tempo de execução)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/dvd+rw-tools
Instale o dvd+rw-tools executando os seguintes comandos:
sed -i '/stat.h/a #include <sys/sysmacros.h>' growisofs.c && sed -i '/stdlib/a #include <limits.h>' transport.hxx && make all rpl8 btcflash
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make prefix=/usr install && install -v -m644 -D index.html \ /usr/share/doc/dvd+rw-tools-7.1/index.html
sed -i '/stdlib/a #include
<limits.h>' ...: Esse sed inclui
limits.h
, um dos cabeçalhos do
núcleo. Isso é necessário devido a uma mudança nos cabeçalhos
do núcleo 2.6.23.
make all rpl8 btcflash: Esse comando usa alvos adicionais, de forma que todos os utilitários sejam construídos.
libburn é uma biblioteca para gravação de dados pré-formatados em mídia óptica: CD, DVD e BD (Blu-Ray).
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.libburnia-project.org/releases/libburn-1.5.4.tar.gz
Soma de verificação MD5 da transferência: 454d03ce31addb5b7dca62d213c9660e
Tamanho da transferência: 968 KB
Espaço em disco estimado exigido: 17 MB
Tempo de construção estimado: 0,1 UPC
Doxygen-1.9.6 (para gerar documentação HTML)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libburn
Instale o libburn executando os seguintes comandos:
./configure --prefix=/usr --disable-static && make
Se você tiver instalado o Doxygen e desejar gerar a documentação HTML, emita o seguinte comando:
doxygen doc/doxygen.conf
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install
Se você tiver construído a documentação HTML, instale-a
executando os seguintes comandos como o(a) usuário(a)
root
:
install -v -dm755 /usr/share/doc/libburn-1.5.4 && install -v -m644 doc/html/* /usr/share/doc/libburn-1.5.4
libisoburn é uma interface para bibliotecas libburn e libisofs que habilita criar e expandir sistemas de arquivos ISO-9660 em todas as mídias CD/DVD/BD suportadas pela libburn. Isso inclui mídias como DVD+RW, que não suportam gerenciamento multissessão em nível de mídia e até mesmo arquivos simples de disco ou dispositivos de bloco.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.libburnia-project.org/releases/libisoburn-1.5.4.tar.gz
Soma de verificação MD5: da transferência b14473e8ec31a8ebd8d1c8b1b191908c
Tamanho da transferência: 1,6 MB
Espaço em disco estimado exigido: 20 MB (com documentação Tk e HTML)
Tempo de construção estimado: 0,2 UPC (com documentação Tk e HTML)
libburn-1.5.4 e libisofs-1.5.4
Doxygen-1.9.6 (para gerar documentação HTML), Tk-8.6.13 (para xorriso-tcltk) e libjte
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libisoburn
Instale o libisoburn executando os seguintes comandos:
./configure --prefix=/usr \ --disable-static \ --enable-pkg-check-modules && make
Se você tiver instalado o Doxygen e desejar gerar a documentação HTML, emita o seguinte comando:
doxygen doc/doxygen.conf
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install
Se você tiver construído a documentação HTML, instale-a
executando os seguintes comandos como o(a) usuário(a)
root
:
install -v -dm755 /usr/share/doc/libisoburn-1.5.4 && install -v -m644 doc/html/* /usr/share/doc/libisoburn-1.5.4
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
--enable-pkg-check-modules
:
Habilite pkg-config
verificar se existe libburn
e libisofs.
é um link simbólico para xorriso que copia arquivos da imagem ISO para um sistema de arquivos em disco |
|
é um link simbólico para xorriso que fornece uma interface de usuário(a) do tipo cdrecord |
|
é um aplicativo para criar, carregar, manipular, ler e escrever imagens de sistema de arquivos ISO 9660 com extensões Rock Ridge |
|
é um aplicativo para verificar um dispositivo USB ou cartão de memória para ver se ele é adequado para cópia de imagens |
|
é um link simbólico para xorriso que fornece uma interface de usuário(a) do tipo mkisofs |
|
é uma estrutura de interação direta com o(a) usuário(a) que opera o xorriso em modo de diálogo |
|
contém as funções da API da libisoburn |
libisofs é uma biblioteca para criar um sistema de arquivos ISO-9660 com extensões como RockRidge ou Joliet.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.libburnia-project.org/releases/libisofs-1.5.4.tar.gz
Soma de verificação MD5 da transferência: c34fbf182e79af8fdaddda5e27d326ba
Tamanho da transferência: 852 KB
Espaço em disco estimado exigido: 14 MB
Tempo de construção estimado: 0,1 UPC
Doxygen-1.9.6 (para gerar documentação HTML) e libjte
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/libisofs
Instale o libisofs executando os seguintes comandos:
./configure --prefix=/usr --disable-static && make
Se você tiver instalado o Doxygen e desejar gerar a documentação HTML, emita o seguinte comando:
doxygen doc/doxygen.conf
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install
Se você tiver construído a documentação HTML, instale-a
executando os seguintes comandos como o(a) usuário(a)
root
:
install -v -dm755 /usr/share/doc/libisofs-1.5.4 && install -v -m644 doc/html/* /usr/share/doc/libisofs-1.5.4
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
Este capítulo contém sistemas de gerenciamento de armazenamento intermediário da impressora e aplicativos GhostScript para renderizar PostScript para exibição em terminais ou papel.
O Common Unix Printing System (CUPS) é um aplicativo de gerenciamento de fila de documentos de impressão e utilitários associados. É baseado no "Internet Printing Protocol" e fornece serviços de impressão para a maioria das impressoras PostScript e raster.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/OpenPrinting/cups/releases/download/v2.4.2/cups-2.4.2-source.tar.gz
Soma de verificação MD5 da transferência: be5241e2c165eeb83b58aa32de26fb16
Tamanho da transferência: 7,8 MB
Espaço em disco estimado exigido: 60 MB (Adicionar 37 MB para testes)
Tempo de construção estimado: 0,5 UPC (Adicionar 1,3 UPC para testes)
colord-1.4.6, dbus-1.14.6, libusb-1.0.26, Linux-PAM-1.5.2 e xdg-utils-1.1.3
Avahi-0.8, libpaper-1.1.24+nmu5, MIT Kerberos V5-1.20.1, PHP-8.2.3 e Python-2.7.18
Gutenprint-5.3.4 e hplip (impressoras HP)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/cups
Costumava existir um conflito entre a estrutura de retaguarda libusb do Cups e o controlador de núcleo usblp. Esse não mais é o caso e o CUPS funcionará com ambos habilitados.
Se você quiser usar o controlador usblp do núcleo (por exemplo, se desejar usar o escputil oriundo do Gutenprint-5.3.4), habilite as seguintes opções na configuração do teu núcleo e recompile o núcleo:
Device Drivers --->
[*] USB support ---> [CONFIG_USB_SUPPORT]
<*/M> OHCI HCD (USB 1.1) support [CONFIG_USB_OHCI_HCD]
<*/M> UHCI HCD (most Intel and VIA) support [CONFIG_USB_UHCI_HCD]
<*/M> USB Printer support [CONFIG_USB_PRINTER]
Se você tiver uma impressora paralela, habilite as seguintes opções na configuração do teu núcleo e recompile o núcleo:
Device Drivers --->
<*/M> Parallel port support ---> [CONFIG_PARPORT]
<*/M> PC-style hardware [CONFIG_PARPORT_PC]
Character devices --->
<*/M> Parallel printer support [CONFIG_PRINTER]
Você precisará adicionar um(a) usuário(a) lp
, pois o Cups criará alguns arquivos de
propriedade desse usuário. (O(A) usuário(a) lp
é o padrão usado pelo Cups, mas pode ser mudado para um(a)
usuário(a) diferente passando-se um parâmetro para o conjunto
de comandos sequenciais configure). Use o seguinte
comando como o(a) usuário(a) root
:
useradd -c "Usuário(a) do Serviço de Impressão" -d /var/spool/cups -g lp -s /bin/false -u 9 lp
Você também precisará de um grupo dedicado que conterá
usuários(as) autorizados(as) a realizar tarefas
administrativas do Cups.
Adicione o grupo executando o seguinte comando como o(a)
usuário(a) root
:
groupadd -g 19 lpadmin
Se você deseja adicionar um(a) usuário(a) ao grupo
administrativo do Cups,
execute o seguinte comando como o(a) usuário(a) root
:
usermod -a -G lpadmin <nome_usuário(a)>
Se você não instalou o xdg-utils-1.1.3, use o seguinte sed para mudar o navegador padrão que será usado para acessar a interface web do Cups:
sed -i 's#@CUPS_HTMLVIEW@#firefox#' desktop/cups.desktop.in
Substitua firefox pelo navegador da web da tua escolha.
Construa o Cups executando os seguintes comandos:
./configure --libdir=/usr/lib \ --with-system-groups=lpadmin \ --with-docdir=/usr/share/cups/doc-2.4.2 && make
Para testar os resultados, emita: LC_ALL=C make -k check. Uma
sessão gráfica já ativa com endereço de barramento é
necessária para se executar os testes. Certifique-se de que
não exista outra instância do Cups executando, caso contrário, pelo
menos quatro (4) testes falharão com "address in use". Um
teste, httpAddrGetList
, é
conhecido por falhar.
Agora, como o(a) usuário(a) root
:
make install && ln -svnf ../cups/doc-2.4.2 /usr/share/doc/cups-2.4.2
Crie um arquivo de configuração básica de cliente do
Cups executando o seguinte
comando como o(a) usuário(a) root
:
echo "ServerName /run/cups/cups.sock" > /etc/cups/client.conf
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 GTK+-2.24.33
ou GTK+-3.24.36 instalado e emitir o
seguinte comando como o(a) usuário(a) root
:
gtk-update-icon-cache -qtf /usr/share/icons/hicolor
sed ... configure: Esse sed remove uma opção de compilador que não mais é suportada. Deixando essa mudança de fora, a compilação executará, mas um aviso acerca de uma opção inválida de aviso será emitido em cada invocação do compilador.
CC=gcc CXX=g++
: Configure-as se
você preferir usar o gcc em vez do clang, que agora é
preferido pelo(a) desenvolvedor(a).
--with-system-groups=lpadmin
:
Essa chave garante que somente o lpadmin
será usado como o grupo
administrativo do Cups .
--disable-libusb
: Use essa chave
se você tiver instalado o libusb-1.0.26, mas desejar usar o
controlador usblp do núcleo.
--enable-libpaper
: Use essa chave
se você tiver instalado a libpaper e desejar usá-lo com o
Cups.
Normalmente, impressoras são configuradas por intermédio de um navegador da web. O servidor Cups normalmente se conectará por meio da URL http://localhost:631. A partir daí, impressoras, tarefas de impressão e a configuração do servidor podem ser configurados(as) e gerenciados(as). A administração remota do sistema também pode ser configurada. A configuração também pode ser feita a partir da linha de comando por meio dos comandos lpadmin, lpoptions e lpstat.
A configuração do Cups é dependente do tipo de impressora e pode ser complexa. Geralmente, as impressoras PostScript são mais fáceis. Para instruções detalhadas acerca da configuração e uso do Cups, veja-se https://www.cups.org/documentation.html.
Para impressoras não PostScript imprimirem com o Cups, você precisa instalar o ghostscript-10.00.0 para converter PostScript em imagens raster; e um controlador (por exemplo, proveniente de Gutenprint-5.3.4) para converter as imagens raster resultantes em um formato que a impressora entenda. Os controladores Foomatic usam o ghostscript-10.00.0 para converter PostScript diretamente em um formato imprimível, mas isso é considerado abaixo do ideal pelos(as) desenvolvedores(as) do Cups.
Se o CUPS tiver sido construído com suporte ao Linux PAM, você precisa criar um arquivo de configuração do 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 Linux
PAM:
cat > /etc/pam.d/cups << "EOF"
# Inicia /etc/pam.d/cups
auth include system-auth
account include system-account
session include system-session
# Termina /etc/pam.d/cups
EOF
cancela tarefas de impressão existentes nas filas de impressão |
|
aceita tarefas enviadas para um destino |
|
é um utilitário de configuração do aplicativo Cups |
|
atualiza ou consulta o arquivo cupsd.conf para um servidor |
|
é o agendador do Common Unix Printing System |
|
parar impressoras e classes |
|
iniciar impressoras e classes |
|
é uma interface para o subsistema de filtros do Cups que te permite converter um arquivo para um formato específico |
|
rejeitar tarefas enviadas para um destino |
|
testa a conformidade de arquivos PPD |
|
é uma impressora IPP Everywhere para CUPS |
|
envia solicitações IPP para o URI especificado e testa e (ou) exibe os resultados |
|
submete arquivos para impressão ou altera uma tarefa pendente |
|
configura filas de impressoras e classes fornecidas pelo Cups |
|
fornece controle limitado sobre filas de impressoras e classes fornecidas pelo Cups |
|
lista os dispositivos ou controladores disponíveis conhecidos pelo servidor Cups |
|
move a tarefa especificada para um novo destino |
|
exibe ou configura opções e padrões da impressora |
|
mostra a situação atual da fila de impressão na impressora nomeada |
|
submete arquivos para impressão |
|
cancela tarefas de impressão que tenham sido enfileiradas para impressão |
|
exibe informações de situação acerca das atuais classes, tarefas e impressoras |
|
compila arquivos fonte PPDC em um ou mais arquivos PPD |
|
lê um arquivo de informações do controlador e produz uma página HTML de resumo que lista todos os controladores em um arquivo e as opções suportadas |
|
importa um ou mais arquivos PPD para um arquivo fonte de compilador de PPD |
|
mescla dois ou mais arquivos PPD em um arquivo PPD multilíngue |
|
extrai sequências de caracteres de UI a partir de arquivos fonte PPDC e atualiza um arquivo fonte de catálogo de mensagens em formato de sequências de caracteres ou GNU gettext ou Mac OS X para tradução |
|
contém as funções da API do Cups |
O pacote CUPS Filters contém estruturas de retaguarda, filtros e outros softwares que já fizeram parte da distribuição principal do CUPS, mas não mais são mantidos pela Apple Inc.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.openprinting.org/download/cups-filters/cups-filters-1.28.16.tar.xz
Soma de verificação MD5 da transferência: 24bed15110499fd652d65d6baab85ca6
Tamanho da transferência: 1,4 MB
Espaço em disco estimado exigido: 56 MB (com testes), 16 MB instalado
Tempo de construção estimado: 0,2 UPC (Usando paralelismo=4; com testes)
Cups-2.4.2, GLib-2.74.5, ghostscript-10.00.0, Little CMS-2.14, Poppler-23.02.0 e Qpdf-11.2.0
Fontes "Dejavu" (a construção falha se elas não estiverem instaladas, embora sejam exigidas somente para os testes), libexif-0.6.24, libjpeg-turbo-2.1.5.1, libpng-1.6.39, libtiff-4.5.0 e mupdf-1.21.1 (mutool)
Avahi-0.8 (exigido para construir a estrutura de retaguarda DNSSD do processo de segundo plano cups-browsed, o qual é necessário para operar algumas impressoras de rede de intercomunicação), OpenLDAP-2.6.4, PHP-8.2.3 (o uso disso pode estar quebrado), Liblouis (Braille) e Liblouisutdml (Braille)
Gutenprint-5.3.4 (para impressoras suportadas) ou outros controladores de impressora, tais como hplip
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/cups-filters
Instale o CUPS Filters executando os seguintes comandos:
./configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --without-rcdir \ --disable-static \ --disable-avahi \ --docdir=/usr/share/doc/cups-filters-1.28.16 && make
Para testar os resultados, emita: make check. Fontes DejaVu são necessárias para os testes.
Agora, como o(a) usuário(a) root
:
make install
Instale a unidade do systemd executando o seguinte comando
como o(a) usuário(a) root
:
install -v -m644 utils/cups-browsed.service /lib/systemd/system/cups-browsed.service
--disable-avahi
: Essa
chave é necessária se o opcional Avahi-0.8 não estiver
instalado. Remova-o se o avahi estiver instalado e você
precisar de recursos de descoberta de impressoras de rede de
intercomunicação.
--without-rcdir
: Essa
chave desabilita a instalação do conjunto incluído de
comandos sequenciais de inicialização, o qual não é
compatível com o BLFS.
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
--with-test-font-path=
: Se você desejar
executar os testes, mas não tem o VALOR
/usr/share/fonts/dejavu/DejaVuSans.ttf
padrão, use essa chave para especificar onde a DejaVuSans.ttf
(ou talvez alguma outra
fonte TTF de texto - não testada) está localizada.
é um processo de segundo plano para navegar nas difusões Bonjour e CUPS de impressoras CUPS remotas e compartilhadas |
|
é um utilitário gerador de PPD para impressão sem controlador |
|
é um envolucrador para o driverless para dispositivos do tipo FAX |
|
é um filtro de impressão/involucrador RIP universal que pode ser usado como filtro do CUPS ou autônomo para impressão direta e sem aplicativo de gerenciamento de fila de documentos |
|
contém funções de API do CUPS Filters |
Ghostscript é um processador versátil para dados PostScript com a capacidade de renderizar PostScript para diferentes alvos. É uma parte obrigatória da pilha de impressão do CUPS.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs1000/ghostscript-10.0.0.tar.xz
Soma de verificação MD5 da transferência: c75560fdd05dc1f1daa33415156d5a20
Tamanho da transferência: 60 MB
Espaço em disco estimado exigido: 377 MB (com fontes e libgs.so)
Tempo de construção estimado: 1,9 UPC (Usando paralelismo=4; com libgs.so)
Se desejar, você pode baixar fontes adicionais.
Fontes Padrão
Transferência (HTTP): https://downloads.sourceforge.net/gs-fonts/ghostscript-fonts-std-8.11.tar.gz
Soma de verificação MD5 da transferência: 6865682b095f8c4500c54b285ff05ef6
Tamanho da transferência: 3,7 MB
Outras Fontes
Transferência (HTTP): https://downloads.sourceforge.net/gs-fonts/gnu-gs-fonts-other-6.0.tar.gz
Soma de verificação MD5 da transferência: 33457d3f37de7ef03d2eea05a9e6aa4f
Tamanho da transferência: 796 KB
Cups-2.4.2 (exigido para construir a estrutura de retaguarda do dispositivo “cups”, o qual é necessário para cups-filters), Fontconfig-2.14.2 (exigido, se você estiver instalando qualquer fonte sugerida), FreeType-2.13.0, Little CMS-2.14, libjpeg-turbo-2.1.5.1, libpng-1.6.39, libtiff-4.5.0 e OpenJPEG-2.5.0
Cairo-1.17.6, GTK+-3.24.36, libidn-1.41, libpaper-1.1.24+nmu5 e um ambiente gráfico
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gs
O sistema de construção do Ghostscript não é amigável para o(a) usuário(a). Para a finalidade de usar cópias de sistema de várias bibliotecas gráficas, você precisa fazer isso usando métodos não convencionais.
Ghostscript inclui cópias (antigas) de diversas bibliotecas. Algumas delas parecem ter sido remendadas para corrigir vulnerabilidades conhecidas, mas outras dessas cópias são menos bem mantidas. Para garantir que quaisquer correções futuras sejam aplicadas em todo o sistema, é recomendado que você primeiro instale as versões lançadas dessas bibliotecas e depois configure o Ghostscript para se vincular a elas.
Se você tiver instalado as dependências recomendadas em teu sistema, remova as cópias de freetype, lcms2, libjpeg, libpng e openjpeg:
rm -rf freetype lcms2mt jpeg libpng openjpeg
Compile o Ghostscript:
rm -rf zlib && ./configure --prefix=/usr \ --disable-compile-inits \ --with-system-libtiff && make
A biblioteca compartilhada depende do GTK+-3.24.36. Ela é usada somente por aplicativos externos, como asymptote-2.85, dvisvgm-3.0.3 e ImageMagick-7.1.0-61.
Para compilar a biblioteca compartilhada libgs.so
, execute o seguinte comando
adicional como um(a) usuário(a) sem privilégios:
make so
Esse pacote não vem com uma suíte de teste. Um conjunto de arquivos de exemplo pode ser usado para testagem, mas isso é possível somente depois da instalação do pacote.
Agora, como o(a) usuário(a) root
:
make install
Se você quiser a biblioteca compartilhada também:
make soinstall && install -v -m644 base/*.h /usr/include/ghostscript && ln -sfvn ghostscript /usr/include/ps
Agora torne a documentação acessível a partir de um local padrão:
mv -v /usr/share/doc/ghostscript/10.00.0 /usr/share/doc/ghostscript-10.00.0 && rm -rfv /usr/share/doc/ghostscript && cp -r examples/ /usr/share/ghostscript/10.00.0/
Se você tiver baixado as fontes, desempacote-as em
/usr/share/ghostscript
e
certifique-se de que a titularidade da propriedade dos
arquivos seja root
:
root
.
tar -xvf ../ghostscript-fonts-std-8.11.tar.gz -C /usr/share/ghostscript --no-same-owner && tar -xvf ../gnu-gs-fonts-other-6.0.tar.gz -C /usr/share/ghostscript --no-same-owner && fc-cache -v /usr/share/ghostscript/fonts/
Você pode agora testar a renderização de vários arquivos
PostScript e PDF a partir de /usr/share/ghostscript/10.00.0/examples
.
Para fazer isso, execute o seguinte comando (em uma tela do
Janelas X):
gs -q -dBATCH /usr/share/ghostscript/10.00.0/examples/tiger.eps
rm -rf zlib : zlib foi instalado como parte do LFS.
--disable-compile-inits
: Essa
opção torna gs
e libgs.so
ligeiramente
menores.
--with-system-libtiff
: Remova
essa opção se você não tiver instalado o libtiff-4.5.0.
install -v -m644 base/*.h... : Alguns pacotes (ImageMagick é um) precisam dos cabeçalhos de interface do Ghostscript no lugar para se vincularem com a biblioteca compartilhada. Esses comandos instalam os cabeçalhos.
ln -sfvn ghostscript /usr/include/ps: Alguns pacotes esperam encontrar os cabeçalhos da interface em um local alternativo.
mv -v /usr/share/doc/ghostscript/10.00.0 /usr/share/doc/ghostscript-10.00.0: Isso move a documentação para onde ela é esperada ser encontrada.
--disable-cups
: essa opção
economizará uma pequena quantidade de espaço ao não vincular
gs e
libgs.so
às bibliotecas do
Cups-2.4.2 se você as tiver instalado.
é um interpretador para PostScript(tm) e Portable Document Format (PDF) da Adobe Systems |
|
fornece funcionalidade do Ghostscript para outros aplicativos, como GSView, ImageMagick e libspectre |
Ghostscript fornece muitos conjuntos de comandos sequenciais usados para converter PostScript, PDF e outros formatos. Por favor, consulte a documentação HTML ou as páginas de manual para informações acerca dos recursos fornecidos.
O pacote Gutenprint (anteriormente Gimp-Print) contém controladores de alta qualidade para muitas marcas e modelos de impressoras para uso com o Cups-2.4.2 e o GIMP-2.0. Veja-se uma lista de impressoras suportadas em https://gutenprint.sourceforge.net/p_Supported_Printers.php.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/gimp-print/gutenprint-5.3.4.tar.xz
Soma de verificação MD5 da transferência: dc208cfb873f13a93439185c15aa6f81
Tamanho da transferência: 5,1 MB
Espaço em disco estimado exigido: 59 MB (sem testes)
Tempo de construção estimado: 0,4 UPC (sem testes)
Duas famílias de impressoras fotográficas DyeSub exigem, cada uma, outra biblioteca em tempo de execução. A menos que você tenha um desses dispositivos, você não desejará essas bibliotecas.
Para o Sinfonia S6145 e o Ciaat Brava 21, libS6145ImageReProcess, veja-se Fotos Peachy (Sinfonia) para instruções acerca de como construir e testar isso.
Para a família Mitsubishi D70 e a semelhante Kodak 305, libMitsuD70ImageReProcess, veja-se Fotos Peachy (Mitsubishi CP-D70) para instruções acerca de como construir e testar isso.
ImageMagick-7.1.0-61, texlive-20220321 (ou install-tl-unx), Doxygen-1.9.6 e DocBook-utils-0.6.14
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/gutenprint
Se você pretende usar escputil com uma impressora Epson Stylus conectada por USB para comandos como --ink-level, que precisam acessar o dispositivo bruto, você precisa habilitar o controlador de núcleo usblp. Habilite as seguintes opções na configuração do teu núcleo e recompile o núcleo:
Device Drivers --->
[*] USB support ---> [CONFIG_USB_SUPPORT]
<*/M> OHCI HCD (USB 1.1) support [CONFIG_USB_OHCI_HCD]
<*/M> UHCI HCD (most Intel and VIA) support [CONFIG_USB_UHCI_HCD]
<*/M> USB Printer support [CONFIG_USB_PRINTER]
Instale o Gutenprint executando os seguintes comandos:
sed -i 's|$(PACKAGE)/doc|doc/$(PACKAGE)-$(VERSION)|' \ {,doc/,doc/developer/}Makefile.in && ./configure --prefix=/usr --disable-static && make
Para testar os resultados, emita: make check. Os testes tomam um tempo bastante longo e usam um monte de espaço em disco. Quando testado pela última vez (versão 5.2.15 em junho de 2019), isso precisava de 75 UPC e 13,5 GB para completar os testes (um teste, rastertogutenprint falhou porque os PPDs do CUPS eram para uma versão anterior. Talvez o genppds devesse ser executado antes dos testes). Observe que os testes usaram somente uma CPU.
Agora, como o(a) usuário(a) root
:
make install && install -v -m755 -d /usr/share/doc/gutenprint-5.3.4/api/gutenprint{,ui2} && install -v -m644 doc/gutenprint/html/* \ /usr/share/doc/gutenprint-5.3.4/api/gutenprint && install -v -m644 doc/gutenprintui2/html/* \ /usr/share/doc/gutenprint-5.3.4/api/gutenprintui2
sed -i '...'
...Makefile.in: Esse comando é usado de forma
que a documentação do pacote seja instalada na estrutura
convencional de diretório /usr/share/doc
em vez de /usr/share/gutenprint/doc
.
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
Para o CUPS ver os
controladores de impressão recém-instalados, ele tem de ser
reiniciado (como o(a) usuário(a) root
):
systemctl restart cups
Em seguida, aponte teu navegador da web para http://localhost:631/ para adicionar uma nova impressora ao CUPS.
calibra a saída de cores de impressoras usando os controladores do Gutenprint, CUPS ou do ESP Print Pro |
|
gera arquivos PPD do Gutenprint para uso com o CUPS |
|
regenera os arquivos PPD do Gutenprint em uso pelo CUPS |
|
é um utilitário de linha de comando para realizar várias tarefas de manutenção em impressoras jato de tinta Epson Stylus |
|
é um aplicativo de teste para aprender como usar a libgutenprint |
Este capítulo contém aplicativos de digitalização que te permitem converter documentos impressos em documentos formatados legíveis por outros aplicativos.
SANE é a abreviação de Scanner Access Now Easy. O acesso à digitalizadora, entretanto, está longe de ser fácil, já que cada fornecedor(a) tem os próprios protocolos deles(as). O único protocolo conhecido que deveria trazer alguma unidade a esse caos é a interface TWAIN, mas isso é muito impreciso para permitir uma estrutura de digitalização estável. Portanto, SANE vem com o próprio protocolo dele e os controladores do(a) fornecedor(a) não podem ser usados.
SANE é dividido em estruturas de retaguarda e estruturas de interação direta com o(a) usuário(a). As estruturas de retaguarda são controladores para as digitalizadoras e câmeras suportadas. As estruturas de interação direta com o(a) usuário(a) são interfaces de usuário(a) para acessar as estruturas de retaguarda.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://anduin.linuxfromscratch.org/BLFS/sane/sane-backends-1.0.32.tar.gz
Soma de verificação MD5 da transferência: 51ff581b911fc9b7b6b5ae6959f9089b
Tamanho da transferência: 7,0 MB
Espaço em disco estimado exigido: 246 MB (com os testes)
Tempo de construção estimado: 0,7 UPC (Usando paralelismo=4; com testes)
Transferência (HTTP): https://anduin.linuxfromscratch.org/BLFS/sane/sane-frontends-1.0.14.tar.gz
Soma de verificação MD5 da transferência: c63bf7b0bb5f530cf3c08715db721cd3
Tamanho da transferência: 231 KB
Espaço em disco estimado exigido: 3,0 MB
Tempo de construção estimado: menos que 0,1 UPC
O local de desenvolvedor(a) para esses arquivos está em https://gitlab.com/sane-project, mas os URLs dos arquivos usam md5sums incorporados. Por conveniência, os pacotes foram copiados para o local acima.
Avahi-0.8, Cups-2.4.2, libjpeg-turbo-2.1.5.1, libtiff-4.5.0, libusb-1.0.26, v4l-utils-1.22.1, Net-SNMP, libieee1284, libgphoto2 e texlive-20220321 (ou install-tl-unx)
um ambiente gráfico, GTK+-2.24.33 e Gimp-2.10.32
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/sane
Para acessar tua digitalizadora, você provavelmente precisará dos controladores de núcleo relacionados e (ou) pacotes adicionais de suporte. Uma digitalizadora SCSI precisará de controladores SCSI; uma digitalizadora de porta paralela precisa de suporte a porta paralela (você deveria usar modos EPP aprimorados) e talvez libieee1284, e uma digitalizadora USB precisará do pacote libusb-1.0.26. Para dispositivos HP, você possivelmente precise do hplip. Certifique-se de ter os controladores necessários configurados corretamente para acessar os dispositivos.
O processo de segundo plano do SANE deveria executar com o próprio
grupo dele. Crie esse grupo emitindo os seguintes comandos
como o(a) usuário(a) root
:
groupadd -g 70 scanner
O configure
assume que o(a) usuário(a) construindo estruturas de
retaguarda do SANE é
um(a) membro(a) do grupo scanner
para testar a existência
desse grupo. Portanto, o(a) usuário(a) construindo o
pacote deveria ser adicionado(a) ao grupo scanner
. Como o(a) usuário(a)
root
:
usermod -G scanner -a nome_usuário(a)
Depois de adicionar o grupo scanner
como acima, você precisará
sair e entrar novamente para ativá-lo.
Para uma digitalizadora USB, se você estiver vinculando ao libusb-1.0.26, inclua a chave de configuração --enable-libusb_1_0. Instale as estruturas de retaguarda do SANE executando os seguintes comandos:
sg scanner -c " \ ./configure --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ --with-group=scanner \ --with-lockdir=/run/lock \ --docdir=/usr/share/doc/sane-backends-1.0.32" && make
Para testar os resultados, emita: make check.
Agora, como o(a) usuário(a) root
:
make install && install -m 644 -v tools/udev/libsane.rules \ /etc/udev/rules.d/65-scanner.rules && mkdir -p /run/lock/sane && chgrp -v scanner /run/lock/sane
Com a digitalizadora ligada, execute scanimage -L e o nome e local do dispositivo deveriam aparecer. Claro, você precisa dos controladores de dispositivo configurados para a finalidade de executar esse teste.
O pacote de estruturas do SANE de interação direta com o(a) usuário(a) inclui as estruturas gráficas de interação direta com o(a) usuário(a) xscanimage e xcam, e uma estrutura de linha de comando de interação direta com o(a) usuário(a) scanadf. Você não precisa desse pacote se pretende usar uma das estruturas gráficas de interação direta com o(a) usuário(a) mais avançadas, como XSane-0.999. Para uma lista de pacotes de estruturas de interação direta com o(a) usuário(a), veja-se http://www.sane-project.org/sane-frontends.html.
Para instalar as estruturas do SANE de interação direta com o(a) usuário(a), use os seguintes comandos:
tar -xf ../sane-frontends-1.0.14.tar.gz && cd sane-frontends-1.0.14 && sed -i -e "/SANE_CAP_ALWAYS_SETTABLE/d" src/gtkglue.c && ./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 -m644 doc/sane.png xscanimage-icon-48x48-2.png \ /usr/share/sane
Se o GIMP foi vinculado na
construção e você desejar que o GIMP use o xscanimage como um plugin
de digitalização, emita o seguinte comando como o(a)
usuário(a) root
:
ln -v -s ../../../../bin/xscanimage /usr/lib/gimp/2.0/plug-ins
Se o plugin xscanimage estiver desabilitado no menu do GIMP, para a finalidade de habilitá-lo, "crie" uma imagem em branco usando o menu ou Ctrl-N. Depois disso, ele estará habilitado.
sg scanner -c
"...": executa o comando entre aspas duplas
com o grupo principal scanner
. Isso possivelmente seja
necessário se o(a) usuário(a) tiver sido adicionado(a)
recentemente ao grupo scanner e não tiver feito logout e
login.
--sysconfdir=/etc
:
Essa chave instala os arquivos de configuração em
/etc/sane.d
em vez de
/usr/etc/sane.d
.
--with-group=scanner
:
Esse parâmetro faz com que o diretório criado para os
arquivos de travagem seja de titularidade de propriedade de
grupo pelo grupo scanner
, em
vez do grupo padrão uucp
.
exit: Esse comando é usado para sair do shell criado pelo comando su.
Os arquivos de configuração de estrutura de retaguarda
estão localizados em /etc/sane.d
. Informações para
configurar as várias estruturas de retaguarda podem ser
encontradas usando-se a página de manual(5) para a
estrutura de retaguarda desejada. Execute man sane-<estrutura de
retaguarda>
, substituindo
a estrutura de retaguarda desejada.
Adicione quaisquer usuários(as) desejados(as) ao grupo
scanner
.
Se você quiser acessar uma digitalizadora na rede de
intercomunicação, inclua duas linhas em net.conf
, como usuário(a) root
(certifique-se de substituir
<ip_servidor> pelo valor atual, abaixo):
cat >> /etc/sane.d/net.conf << "EOF"
connect_timeout = 60
<ip_servidor>
EOF
No lado do servidor, inclua o IP do cliente na lista de
acesso de /etc/sane.d/saned.conf
, reinicie o
processo de segundo plano saned e certifique-se
de que o firewall, se houver, está aberto ao cliente.
Se você usa um ambiente de área de trabalho, como
Gnome ou KDE, você possivelmente deseje criar
um arquivo xscanimage.desktop
, de forma que o
xscanimage apareça nos
menus do painel. Como o(a) usuário(a) root
:
mkdir -pv /usr/share/{applications,pixmaps} &&
cat > /usr/share/applications/xscanimage.desktop << "EOF" &&
[Desktop Entry]
Encoding=UTF-8
Name=Digitalização - XScanImage
Comment=Adquirir imagens a partir de uma digitalizadora
Exec=xscanimage
Icon=xscanimage
Terminal=false
Type=Application
Categories=Application;Graphics
EOF
ln -svf ../sane/xscanimage-icon-48x48-2.png /usr/share/pixmaps/xscanimage.png
Para informações gerais acerca de como configurar e usar o SANE, veja-se man sane. Para informações acerca de dispositivos USB de digitalização, execute man sane-usb. Para informações relativas a dispositivos SCSI, execute man sane-scsi.
O processo de segundo plano saned não é destinado a ser usado por clientes não confiáveis. Você deveria fornecer proteção Técnicas de Firewall para garantir que somente clientes confiáveis acessem o processo de segundo plano. Devido aos complexos requisitos de segurança para garantir que somente clientes confiáveis acessem o processo de segundo plano, o BLFS não fornece instruções para configurar o processo de segundo plano saned. Algumas informações boas (mas desatualizadas) para configurar e proteger o processo de segundo plano saned podem ser encontradas em https://penguin-breeder.org/sane/saned/.
cria uma tabela gama no formato esperado pelo scanimage |
|
é uma ferramenta usada para determinar os sinalizadores do compilador e do vinculador que deveriam ser usados para compilar e vincular o SANE |
|
é o processo de segundo plano do SANE que permite que clientes remotos acessem dispositivos de aquisição de imagens disponíveis no dispositivo local |
|
é uma ferramenta de linha de comando para localizar digitalizadoras SCSI e USB e determinar os arquivos de dispositivos delas. O objetivo principal dela é o de garantir que as digitalizadoras possam ser detectadas pelas estruturas de retaguarda do SANE |
|
é uma interface de linha de comando para controlar dispositivos de aquisição de imagens equipados com um alimentador automático de documentos (ADF) |
|
é uma interface de linha de comando para digitalização a partir de dispositivos de aquisição de imagens, como digitalizadoras de mesa ou câmeras. Também é usada para listar os dispositivos de estrutura de retaguarda disponíveis |
|
é uma interface de câmera gráfica para interação direta com o(a) usuário(a) para SANE |
|
é uma interface gráfica de usuário(a) para digitalização |
|
é a interface de programação de aplicativos usada para comunicação entre estruturas de interação direta com o(a) usuário(a) e estruturas de retaguarda |
|
módulos são plug-ins de estrutura de retaguarda de biblioteca de digitalização usados para interfacear com dispositivos de digitalização. Veja-se http://www.sane-project.org/sane-supported-devices.html para uma lista de estruturas de retaguarda suportadas |
XSane é outra estrutura de interação direta com o(a) usuário(a) para SANE-1.0.32. Ela tem recursos adicionais para melhorar a qualidade da imagem e facilidade de uso comparado com o xscanimage.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://anduin.linuxfromscratch.org/BLFS/xsane/xsane-0.999.tar.gz
Transferência (FTP): ftp://anduin.linuxfromscratch.org/BLFS/xsane/xsane-0.999.tar.gz
Soma de verificação MD5 da transferência: 9927f21e1ab6ba96315e7f0e30746deb
Tamanho da transferência: 2,9 MB
Espaço em disco estimado exigido: 23 MB
Tempo de construção estimado: 0,2 UPC
GTK+-2.24.33 e SANE-1.0.32 (estruturas de retaguarda)
Little CMS-1.19 e Gimp-2.10.32
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xsane
Instale o XSane executando os seguintes comandos:
sed -i -e 's/png_ptr->jmpbuf/png_jmpbuf(png_ptr)/' src/xsane-save.c && ./configure --prefix=/usr && make
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make xsanedocdir=/usr/share/doc/xsane-0.999 install && ln -v -s ../../doc/xsane-0.999 /usr/share/sane/xsane/doc
Um navegador da tua escolha pode ser usado para conseguir
ajuda remota, usando o seguinte comando, como o(a) usuário(a)
root
:
ln -v -s <navegador> /usr/bin/netscape
Certifique-se de substituir <navegador> pelo navegador da tua escolha em teu sistema.
Alternativamente, se a variável de ambiente BROWSER estiver
configurada para o navegador que você quer usar, por exemplo,
BROWSER="/usr/bin/firefox", na primeira vez que você executar
o xsane, ele
será registrado em ~/.sane/xsane/xsane.rc
. Se desejar mudá-lo,
edite esse arquivo, ou remova-o, e use as instruções acima,
de forma que um novo seja criado.
Se o GIMP estiver instalado,
emita o seguinte comando como o(a) usuário(a) root
:
ln -v -s /usr/bin/xsane /usr/lib/gimp/2.0/plug-ins/
ln -v -s ../../doc/xsane-0.999 /usr/share/sane/xsane/doc: Esse link simbólico é criado para garantir que qualquer aplicativo que procure pela documentação do XSane no local padrão a encontrará, pois a documentação está instalada em um local alternativo especificado no comando make install.
ln -v -s /usr/bin/xsane
/usr/lib/gimp/2.0/plug-ins/: Isso cria um
link no diretório plug-ins
do
GIMP abrangente a todo o
sistema, de forma que os(as) usuários(as) consigam acessar o
XSane diretamente a partir
do GIMP. O GIMP precisa estar disponível antes de
se construir o XSane para
isso funcionar. Alternativamente, crie o link em ~/.gimp-2.0/plug-ins/
para fornecer acesso
individual de usuário(a). man
xsane para informações adicionais.
Este capítulo contém definições de tipo de documento (DTDs) DocBook SGML, folhas de estilo DocBook DSSSL e ferramentas DocBook para validar, transformar, formatar e publicar documentos DocBook.
O pacote SGML Common contém o install-catalog. Isso é útil para criar e manter catálogos centralizados SGML.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://sourceware.org/ftp/docbook-tools/new-trials/SOURCES/sgml-common-0.6.3.tgz
Transferência (FTP): ftp://sourceware.org/pub/docbook-tools/new-trials/SOURCES/sgml-common-0.6.3.tgz
Soma de verificação MD5 da transferência: 103c9828f24820df86e55e7862e28974
Tamanho da transferência: 75 KB
Espaço em disco estimado exigido: 1,5 MB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/sgml-common
Em vez da convenção normal de incluir os arquivos das
autotools no pacote, os(as) mantenedores(as) incluíram links
simbólicos para os arquivos em /usr/share/automake
. Para versões
anteriores do Automake essa
convenção está correta, mas versões recentes do Automake instalam os arquivos internos
em diretórios específicos da versão. Isso faz com que o
conjunto de comandos sequenciais configure aborte. Para
corrigir esse erro, as autotools são regeneradas. Como o
arquivo Makefile.am
incluído
usa uma sintaxe não suportada pelas versões atuais do
Automake, um remendo é
exigido para corrigir a sintaxe.
patch -Np1 -i ../sgml-common-0.6.3-manpage-1.patch && autoreconf -f -i
Instale o SGML Common executando 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 docdir=/usr/share/doc install && install-catalog --add /etc/sgml/sgml-ent.cat \ /usr/share/sgml/sgml-iso-entities-8879.1986/catalog && install-catalog --add /etc/sgml/sgml-docbook.cat \ /etc/sgml/sgml-ent.cat
Remova os itens de catálogo acima antes de atualizar (como
o(a) usuário(a) root
) com:
install-catalog --remove /etc/sgml/sgml-ent.cat \ /usr/share/sgml/sgml-iso-entities-8879.1986/catalog && install-catalog --remove /etc/sgml/sgml-docbook.cat \ /etc/sgml/sgml-ent.cat
cria um catálogo centralizado que mantém
referências para catálogos espalhados pela árvore
de diretórios |
|
imprime na saída padrão o nome do arquivo de configuração principal |
|
contém as entidades básicas de caracteres definidas com entradas SDATA |
|
contém as entidades básicas de caracteres definidas por uma representação hexadecimal do número de caracteres Unicode |
O pacote DocBook SGML DTD contém definições de tipo de documento para verificação de arquivos de dados SGML em relação ao conjunto de regras do DocBook. Elas são úteis para estruturar livros e documentação de software em um padrão, permitindo que você utilize transformações já escritas para esse padrão.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.docbook.org/sgml/3.1/docbk31.zip
Soma de verificação MD5 da transferência: 432749c0c806dbae81c8bcb70da3b5d3
Tamanho da transferência: 55 KB
Espaço em disco estimado exigido: 676 KB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/sgml-dtd-3
O fonte do pacote é distribuído no formato zip
e exige o unzip. Você deveria criar
um diretório e mudar para esse diretório antes de
descompactar o arquivo para facilitar a remoção dos
arquivos do fonte depois que o pacote tiver sido instalado.
Instale o DocBook-3.1 SGML DTD executando os seguintes comandos:
sed -i -e '/ISO 8879/d' \ -e 's|DTDDECL "-//OASIS//DTD DocBook V3.1//EN"|SGMLDECL|g' \ docbook.cat
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
install -v -d -m755 /usr/share/sgml/docbook/sgml-dtd-3.1 && chown -R root:root . && install -v docbook.cat /usr/share/sgml/docbook/sgml-dtd-3.1/catalog && cp -v -af *.dtd *.mod *.dcl /usr/share/sgml/docbook/sgml-dtd-3.1 && install-catalog --add /etc/sgml/sgml-docbook-dtd-3.1.cat \ /usr/share/sgml/docbook/sgml-dtd-3.1/catalog && install-catalog --add /etc/sgml/sgml-docbook-dtd-3.1.cat \ /etc/sgml/sgml-docbook.cat
sed -i -e '/ISO 8879/d' docbook.cat: Esse comando remove as definições ENT do arquivo de catálogo.
sed -i -e 's|DTDDECL "-//OASIS//DTD Docbook V3.1//EN"|SGMLDECL|g' docbook.cat: Esse comando substitui a entrada de catálogo DTDDECL, a qual não é suportada pelas ferramentas SGML do Linux, pela entrada de catálogo SGMLDECL.
O conjunto de comandos sequenciais de instalação acima atualiza o catálogo.
Usar somente a versão 3.x mais atual do DocBook SGML DTD exige o seguinte
(realizar como o(a) usuário(a) root
):
cat >> /usr/share/sgml/docbook/sgml-dtd-3.1/catalog << "EOF"
-- Inicia mudanças no catálogo de Versão Principal Única --
PUBLIC "-//Davenport//DTD DocBook V3.0//EN" "docbook.dtd"
-- Termina mudanças no catálogo de Versão Principal Única --
EOF
O pacote DocBook-4.5 SGML DTD contém definições de tipo de documento para verificação de arquivos de dados SGML em relação ao conjunto de regras do DocBook. Elas são úteis para estruturar livros e documentação de software em um padrão, permitindo que você utilize transformações já escritas para esse padrão.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.docbook.org/sgml/4.5/docbook-4.5.zip
Soma de verificação MD5 da transferência: 07c581f4bbcba6d3aac85360a19f95f7
Tamanho da transferência: 70 KB
Espaço em disco estimado exigido: 784 KB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/sgml-dtd
O fonte do pacote é distribuído no formato zip
e exige o unzip. Você deveria criar
um diretório e mudar para esse diretório antes de
descompactar o arquivo para facilitar a remoção dos
arquivos do fonte depois que o pacote tiver sido instalado.
Instale o DocBook-4.5 SGML DTD executando os seguintes comandos:
sed -i -e '/ISO 8879/d' \ -e '/gml/d' docbook.cat
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
install -v -d /usr/share/sgml/docbook/sgml-dtd-4.5 && chown -R root:root . && install -v docbook.cat /usr/share/sgml/docbook/sgml-dtd-4.5/catalog && cp -v -af *.dtd *.mod *.dcl /usr/share/sgml/docbook/sgml-dtd-4.5 && install-catalog --add /etc/sgml/sgml-docbook-dtd-4.5.cat \ /usr/share/sgml/docbook/sgml-dtd-4.5/catalog && install-catalog --add /etc/sgml/sgml-docbook-dtd-4.5.cat \ /etc/sgml/sgml-docbook.cat
sed -i -e '/ISO 8879/d' -e '/gml/d' docbook.cat: Esse comando remove as definições ENT do arquivo de catálogo.
O conjunto de comandos sequenciais de instalação acima atualiza o catálogo.
Usar somente a versão 4.x mais atual do DocBook SGML DTD exige o seguinte
(realizar como o(a) usuário(a) root
):
cat >> /usr/share/sgml/docbook/sgml-dtd-4.5/catalog << "EOF"
-- Inicia mudanças no catálogo de Versão Principal Única --
PUBLIC "-//OASIS//DTD DocBook V4.4//EN" "docbook.dtd"
PUBLIC "-//OASIS//DTD DocBook V4.3//EN" "docbook.dtd"
PUBLIC "-//OASIS//DTD DocBook V4.2//EN" "docbook.dtd"
PUBLIC "-//OASIS//DTD DocBook V4.1//EN" "docbook.dtd"
PUBLIC "-//OASIS//DTD DocBook V4.0//EN" "docbook.dtd"
-- Termina mudanças no catálogo de Versão Principal Única --
EOF
O pacote OpenSP contém uma biblioteca C++ para usar arquivos SGML/XML. Isso é útil para validar, analisar e manipular documentos SGML e XML.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/openjade/OpenSP-1.5.2.tar.gz
Soma de verificação MD5 da transferência: 670b223c5d12cee40c9137be86b6c39b
Tamanho da transferência: 1,5 MB
Espaço em disco estimado exigido: 32 MB
Tempo de construção estimado: 1,0 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/opensp
Instale o OpenSP executando os seguintes comandos:
sed -i 's/32,/253,/' lib/Syntax.cxx && sed -i 's/LITLEN 240 /LITLEN 8092/' \ unicode/{gensyntax.pl,unicode.syn} && ./configure --prefix=/usr \ --disable-static \ --disable-doc-build \ --enable-default-catalog=/etc/sgml/catalog \ --enable-http \ --enable-default-search-path=/usr/share/sgml && make pkgdatadir=/usr/share/sgml/OpenSP-1.5.2
Para testar os resultados, emita: make check. Até nove dos vinte e três (23) testes possivelmente falhem. Não fique assustado(a).
Agora, como o(a) usuário(a) root
:
make pkgdatadir=/usr/share/sgml/OpenSP-1.5.2 \ docdir=/usr/share/doc/OpenSP-1.5.2 \ install && ln -v -sf onsgmls /usr/bin/nsgmls && ln -v -sf osgmlnorm /usr/bin/sgmlnorm && ln -v -sf ospam /usr/bin/spam && ln -v -sf ospcat /usr/bin/spcat && ln -v -sf ospent /usr/bin/spent && ln -v -sf osx /usr/bin/sx && ln -v -sf osx /usr/bin/sgml2xml && ln -v -sf libosp.so /usr/lib/libsp.so
sed -i 's/32,/253,/...unicode.syn}: Esses seds evitam algumas mensagens irritantes que possivelmente apareçam durante a execução do openjade.
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
--enable-http
: Essa
chave adiciona suporte para HTTP.
--disable-doc-build
:
Essa chave evita que o conjunto de comandos sequenciais
configure
verifique se você tem o xmlto instalado. Se você tiver o
xmlto, poderá remover essa
opção.
--enable-default-catalog=/etc/sgml/catalog
:
Essa chave configura o caminho para o catálogo centralizado.
--enable-default-search-path
:
Essa chave configura o valor padrão de SGML_SEARCH_PATH
.
--enable-xml-messages
: Essa chave
adiciona suporte para mensagens formatadas em XML.
make
pkgdatadir=/usr/share/sgml/OpenSP-1.5.2 :
Isso configura a variável pkgdatadir no Makefile
de /usr/share/OpenSP
para /usr/share/sgml/OpenSP-1.5.2
.
ln -v -sf ...: Esses comandos criam os equivalentes SP dos executáveis e bibliotecas OpenSP.
é usado para processar arquivos SGML |
|
imprime na saída padrão uma instância de documento normalizada para o documento SGML contido na concatenação das entidades com identificadores de sistema .nf e .fi |
|
é um editor de fluxo de marcação |
|
imprime identificadores de sistema eficazes encontrados nos catálogos |
|
fornece acesso ao gerenciador de entidades do OpenSP |
|
é um normalizador SGML ou usado para converter arquivos SGML em arquivos XML |
|
é um link simbólico para onsgmls |
|
é um link simbólico para osx |
|
é um link simbólico para osgmlnorm |
|
é um link simbólico para ospam |
|
é um link simbólico para ospcat |
|
é um link simbólico para ospent |
|
é um link simbólico para osx |
|
contém funções exigidas pelos aplicativos do OpenSP para analisar, validar e manipular arquivos SGML e XML |
|
é um link simbólico para |
O pacote OpenJade contém um mecanismo DSSSL. Isso é útil para transformações SGML e XML em RTF, TeX, SGML e XML.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/openjade/openjade-1.3.2.tar.gz
Soma de verificação MD5 da transferência: 7df692e3186109cc00db6825b777201e
Tamanho da transferência: 880 KB
Espaço em disco estimado exigido: 19,2 MB
Tempo de construção estimado: 0,7 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/openjade
Primeiro corrija os problemas ao construir com compiladores mais recentes:
patch -Np1 -i ../openjade-1.3.2-upstream-1.patch
Agora corrija um problema de compilação com perl-5.16 e posterior:
sed -i -e '/getopts/{N;s#&G#g#;s#do .getopts.pl.;##;}' \ -e '/use POSIX/ause Getopt::Std;' msggen.pl
Instale o OpenJade executando os seguintes comandos:
export CXXFLAGS="${CXXFLAGS:--O2 -g} -fno-lifetime-dse" && ./configure --prefix=/usr \ --mandir=/usr/share/man \ --enable-http \ --disable-static \ --enable-default-catalog=/etc/sgml/catalog \ --enable-default-search-path=/usr/share/sgml \ --datadir=/usr/share/sgml/openjade-1.3.2 && make
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install && make install-man && ln -v -sf openjade /usr/bin/jade && ln -v -sf libogrove.so /usr/lib/libgrove.so && ln -v -sf libospgrove.so /usr/lib/libspgrove.so && ln -v -sf libostyle.so /usr/lib/libstyle.so && install -v -m644 dsssl/catalog /usr/share/sgml/openjade-1.3.2/ && install -v -m644 dsssl/*.{dtd,dsl,sgm} \ /usr/share/sgml/openjade-1.3.2 && install-catalog --add /etc/sgml/openjade-1.3.2.cat \ /usr/share/sgml/openjade-1.3.2/catalog && install-catalog --add /etc/sgml/sgml-docbook.cat \ /etc/sgml/openjade-1.3.2.cat
export CXXFLAGS=...: Esse comando evita falhas de segmentação quando o pacote é compilado com gcc-6.1.
make install-man: Esse comando instala a página de manual do openjade.
--disable-static
:
Essa chave evita a construção da biblioteca estática.
--enable-http
: Essa
chave adiciona suporte para HTTP.
--enable-default-catalog=/etc/sgml/catalog
:
Essa chave configura o caminho para o catálogo centralizado.
--enable-default-search-path
:
Essa chave configura o valor padrão de SGML_SEARCH_PATH
.
--datadir=/usr/share/sgml/openjade-1.3.2
:
Essa chave coloca os arquivos de dados em /usr/share/sgml/openjade-1.3.2
em vez de
/usr/share
.
ln -v -sf ...: Esses comandos criam os equivalentes Jade dos executáveis e bibliotecas OpenJade.
Como o(a) usuário(a) root
:
echo "SYSTEM \"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd\" \ \"/usr/share/xml/docbook/xml-dtd-4.5/docbookx.dtd\"" >> \ /usr/share/sgml/openjade-1.3.2/catalog
Essa configuração é necessária somente se você pretende usar o OpenJade para processar os arquivos XML do BLFS por intermédio de folhas de estilo DSSSL.
O pacote DocBook DSSSL Stylesheets contém folhas de estilo DSSSL. Elas são usadas pelo OpenJade ou outras ferramentas para transformar arquivos SGML e XML do DocBook.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/docbook/docbook-dsssl-1.79.tar.bz2
Transferência (FTP): ftp://ftp.mirrorservice.org/sites/distfiles.gentoo.org/distfiles/docbook-dsssl-1.79.tar.bz2
Soma de verificação MD5 da transferência: bc192d23266b9a664ca0aba4a7794c7c
Tamanho da transferência: 277 KB
Espaço em disco estimado exigido: 14 MB
Tempo de construção estimado: menos que 0,1 UPC
Documentação e dados de teste
Transferência (HTTP): https://downloads.sourceforge.net/docbook/docbook-dsssl-doc-1.79.tar.bz2
Soma de verificação MD5 da transferência: 9a7b809a21ab7d2749bb328334c380f2
Tamanho da transferência: 142 KB
docbook-3.1-dtd, docbook-4.5-dtd, OpenSP-1.5.2 e OpenJade-1.3.2
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/docbook-dsssl
Se você baixou a documentação, execute:
tar -xf ../docbook-dsssl-doc-1.79.tar.bz2 --strip-components=1
Instale o DocBook DSSSL
Stylesheets executando os seguintes comandos como o(a)
usuário(a) root
:
install -v -m755 bin/collateindex.pl /usr/bin && install -v -m644 bin/collateindex.pl.1 /usr/share/man/man1 && install -v -d -m755 /usr/share/sgml/docbook/dsssl-stylesheets-1.79 && cp -v -R * /usr/share/sgml/docbook/dsssl-stylesheets-1.79 && install-catalog --add /etc/sgml/dsssl-docbook-stylesheets.cat \ /usr/share/sgml/docbook/dsssl-stylesheets-1.79/catalog && install-catalog --add /etc/sgml/dsssl-docbook-stylesheets.cat \ /usr/share/sgml/docbook/dsssl-stylesheets-1.79/common/catalog && install-catalog --add /etc/sgml/sgml-docbook.cat \ /etc/sgml/dsssl-docbook-stylesheets.cat
Os comandos acima criam um conjunto de comandos sequenciais de instalação para esse pacote.
Os comandos a seguir realizarão os testes necessários para
confirmar se a tua cadeia de ferramentas instaladas SGML do
DocBook produzirá os resultados desejados. Você precisa ter
os pacotes docbook-3.1-dtd, docbook-4.5-dtd,
OpenSP-1.5.2 e OpenJade-1.3.2
instalados e realizar os testes como o(a) usuário(a)
root
.
Todos os testes serão realizados a partir do diretório
/usr/share/sgml/docbook/dsssl-stylesheets-1.79/doc/testdata
como o(a) usuário(a) root
:
cd /usr/share/sgml/docbook/dsssl-stylesheets-1.79/doc/testdata
O primeiro teste não deveria produzir nenhuma saída para
stdout (tua tela) e criaria um arquivo chamado jtest.rtf
no diretório atual:
openjade -t rtf -d jtest.dsl jtest.sgm
O próximo teste deveria retornar somente a seguinte linha
para stdout: onsgmls:I: "OpenSP"
version "1.5.2"
onsgmls -sv test.sgm
O próximo teste não deveria produzir nenhuma saída para
stdout e criaria um arquivo chamado test.rtf
no diretório atual:
openjade -t rtf \ -d /usr/share/sgml/docbook/dsssl-stylesheets-1.79/print/docbook.dsl \ test.sgm
O último teste não deveria produzir saída para stdout e
criaria um arquivo chamado c1.htm
no diretório atual:
openjade -t sgml \ -d /usr/share/sgml/docbook/dsssl-stylesheets-1.79/html/docbook.dsl \ test.sgm
Finalmente, limpe:
rm jtest.rtf test.rtf c1.htm
O pacote DocBook-utils é uma coleção de conjuntos de comandos sequenciais utilitários usados para converter e analisar documentos SGML em geral, e arquivos DocBook em particular. Os conjuntos de comandos sequenciais são usados para converter DocBook ou outros formatos SGML em formatos de arquivo “clássicos”, como HTML, man, info, RTF e muitos mais. Existe também um utilitário para comparar dois arquivos SGML e exibir somente as diferenças na marcação. Isso é útil para comparar documentos preparados para diferentes idiomas.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://sourceware.org/ftp/docbook-tools/new-trials/SOURCES/docbook-utils-0.6.14.tar.gz
Transferência (FTP): ftp://sourceware.org/pub/docbook-tools/new-trials/SOURCES/docbook-utils-0.6.14.tar.gz
Soma de verificação MD5 da transferência: 6b41b18c365c01f225bc417cf632d81c
Tamanho da transferência: 124 KB
Espaço em disco estimado exigido: 1,44 MB
Tempo de construção estimado: menos que 0,1 UPC
OpenJade-1.3.2, docbook-dsssl-1.79 e docbook-3.1-dtd
SGMLSpm-1.1 (para conversão para man e texinfo) e Lynx-2.8.9rel.1 ou Links-2.28 ou W3m (para conversão para texto ASCII)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/docbook-utils
Instale o DocBook-utils executando os seguintes comandos:
patch -Np1 -i ../docbook-utils-0.6.14-grep_fix-1.patch && sed -i 's:/html::' doc/HTML/Makefile.in && ./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 docdir=/usr/share/doc install
Muitos pacotes usam um nome alternativo para os conjuntos de
comandos sequenciais DocBook-utils. Se você desejar criar
esses nomes alternativos, use o seguinte comando como o(a)
usuário(a) root
:
for doctype in html ps dvi man pdf rtf tex texi txt do ln -svf docbook2$doctype /usr/bin/db2$doctype done
O conjunto de comandos sequenciais jw usa o comando which para localizar os utilitários exigidos. Você precisa instalar o Which-2.21 antes de tentar usar qualquer um dos aplicativos DocBook-utils.
patch -Np1 -i ../docbook-utils-0.6.14-grep_fix-1.patch: Esse remendo corrige a sintaxe no conjunto de comandos sequenciais jw (Jade Wrapper), o qual está no centro de grande parte do processamento do db2*, de forma que a versão atual do grep não o rejeitará.
sed -i 's:/html::' doc/HTML/Makefile.in: Esse comando muda o diretório de instalação dos documentos HTML.
docdir=/usr/share/doc
: Essa opção
é colocada na linha make
install porque não é reconhecida pelo
configure.
são conjuntos de comandos sequenciais envolucradores simples de uma linha para jw. Eles são fornecidos como nomes fáceis de lembrar usados para converter DocBook ou outros arquivos SGML para o respectivo formato |
|
são links simbólicos apontando para os comandos docbook2* respectivamente nomeados, criados para satisfazer o uso desses nomes por alguns aplicativos |
|
é um conjunto de comandos sequenciais usado para converter DocBook ou outros arquivos SGML para vários formatos de saída. Eles escondem a maior parte da complexidade do OpenJade e adiciona recursos confortáveis |
|
é usado para comparar dois arquivos SGML e retornar somente as diferenças na marcação. Isso é especialmente útil para comparar arquivos que deveriam ser idênticos, exceto pelas diferenças linguísticas no conteúdo |
Este capítulo contém a Definição de Tipo de Documento (DTD) XML do DocBook e folhas de estilo do DocBook, que são usadas para validar, transformar, formatar e publicar documentos do DocBook.
O pacote DocBook-4.5 XML DTD-4.5 contém definições de tipo de documento para verificação de arquivos de dados XML em relação ao conjunto de regras do DocBook. Elas são úteis para estruturar livros e documentação de software em um padrão, permitindo que você utilize transformações já escritas para esse padrão.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.docbook.org/xml/4.5/docbook-xml-4.5.zip
Soma de verificação MD5 da transferência: 03083e288e87a7e829e437358da7ef9e
Tamanho da transferência: 96 KB
Espaço em disco estimado exigido: 1,2 MB
Tempo de construção estimado: menos que 0,1 UPC
libxml2-2.10.3, sgml-common-0.6.3 e UnZip-6.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/docbook-xml
O fonte do pacote é distribuído no formato zip
e exige o unzip. Você deveria criar
um diretório e mudar para esse diretório antes de
descompactar o arquivo para facilitar a remoção dos
arquivos do fonte depois que o pacote tiver sido instalado.
Instale o DocBook XML DTD
executando os seguintes comandos como o(a) usuário(a)
root
:
install -v -d -m755 /usr/share/xml/docbook/xml-dtd-4.5 && install -v -d -m755 /etc/xml && chown -R root:root . && cp -v -af docbook.cat *.dtd ent/ *.mod \ /usr/share/xml/docbook/xml-dtd-4.5
Crie (ou atualize) e povoe o arquivo de catálogo /etc/xml/docbook
executando os seguintes
comandos como o(a) usuário(a) root
:
if [ ! -e /etc/xml/docbook ]; then xmlcatalog --noout --create /etc/xml/docbook fi && xmlcatalog --noout --add "public" \ "-//OASIS//DTD DocBook XML V4.5//EN" \ "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" \ /etc/xml/docbook && xmlcatalog --noout --add "public" \ "-//OASIS//DTD DocBook XML CALS Table Model V4.5//EN" \ "file:///usr/share/xml/docbook/xml-dtd-4.5/calstblx.dtd" \ /etc/xml/docbook && xmlcatalog --noout --add "public" \ "-//OASIS//DTD XML Exchange Table Model 19990315//EN" \ "file:///usr/share/xml/docbook/xml-dtd-4.5/soextblx.dtd" \ /etc/xml/docbook && xmlcatalog --noout --add "public" \ "-//OASIS//ELEMENTS DocBook XML Information Pool V4.5//EN" \ "file:///usr/share/xml/docbook/xml-dtd-4.5/dbpoolx.mod" \ /etc/xml/docbook && xmlcatalog --noout --add "public" \ "-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.5//EN" \ "file:///usr/share/xml/docbook/xml-dtd-4.5/dbhierx.mod" \ /etc/xml/docbook && xmlcatalog --noout --add "public" \ "-//OASIS//ELEMENTS DocBook XML HTML Tables V4.5//EN" \ "file:///usr/share/xml/docbook/xml-dtd-4.5/htmltblx.mod" \ /etc/xml/docbook && xmlcatalog --noout --add "public" \ "-//OASIS//ENTITIES DocBook XML Notations V4.5//EN" \ "file:///usr/share/xml/docbook/xml-dtd-4.5/dbnotnx.mod" \ /etc/xml/docbook && xmlcatalog --noout --add "public" \ "-//OASIS//ENTITIES DocBook XML Character Entities V4.5//EN" \ "file:///usr/share/xml/docbook/xml-dtd-4.5/dbcentx.mod" \ /etc/xml/docbook && xmlcatalog --noout --add "public" \ "-//OASIS//ENTITIES DocBook XML Additional General Entities V4.5//EN" \ "file:///usr/share/xml/docbook/xml-dtd-4.5/dbgenent.mod" \ /etc/xml/docbook && xmlcatalog --noout --add "rewriteSystem" \ "http://www.oasis-open.org/docbook/xml/4.5" \ "file:///usr/share/xml/docbook/xml-dtd-4.5" \ /etc/xml/docbook && xmlcatalog --noout --add "rewriteURI" \ "http://www.oasis-open.org/docbook/xml/4.5" \ "file:///usr/share/xml/docbook/xml-dtd-4.5" \ /etc/xml/docbook
Crie (ou atualize) e povoe o arquivo de catálogo /etc/xml/catalog
executando os seguintes
comandos como o(a) usuário(a) root
:
if [ ! -e /etc/xml/catalog ]; then xmlcatalog --noout --create /etc/xml/catalog fi && xmlcatalog --noout --add "delegatePublic" \ "-//OASIS//ENTITIES DocBook XML" \ "file:///etc/xml/docbook" \ /etc/xml/catalog && xmlcatalog --noout --add "delegatePublic" \ "-//OASIS//DTD DocBook XML" \ "file:///etc/xml/docbook" \ /etc/xml/catalog && xmlcatalog --noout --add "delegateSystem" \ "http://www.oasis-open.org/docbook/" \ "file:///etc/xml/docbook" \ /etc/xml/catalog && xmlcatalog --noout --add "delegateURI" \ "http://www.oasis-open.org/docbook/" \ "file:///etc/xml/docbook" \ /etc/xml/catalog
Vários pacotes do BLFS solicitam a versão 4.x do DocBook XML DTD antes da V4.5, de forma que a etapa a seguir precisa ser feita para que esses pacotes sejam construídos com sucesso.
A instalação acima cria os arquivos e atualiza os
catálogos. Para a finalidade de utilizar a V4.5 do
DocBook XML DTD quando
qualquer versão 4.x for solicitada no Identificador do
Sistema, você precisa adicionar declarações adicionais aos
arquivos de catálogo. Se você tiver algum dos DocBook XML DTD mencionados abaixo já
instalados em teu sistema, remova essas entradas do comando
for abaixo
(emita os comandos como o(a) usuário(a) root
):
for DTDVERSION in 4.1.2 4.2 4.3 4.4 do xmlcatalog --noout --add "public" \ "-//OASIS//DTD DocBook XML V$DTDVERSION//EN" \ "http://www.oasis-open.org/docbook/xml/$DTDVERSION/docbookx.dtd" \ /etc/xml/docbook xmlcatalog --noout --add "rewriteSystem" \ "http://www.oasis-open.org/docbook/xml/$DTDVERSION" \ "file:///usr/share/xml/docbook/xml-dtd-4.5" \ /etc/xml/docbook xmlcatalog --noout --add "rewriteURI" \ "http://www.oasis-open.org/docbook/xml/$DTDVERSION" \ "file:///usr/share/xml/docbook/xml-dtd-4.5" \ /etc/xml/docbook xmlcatalog --noout --add "delegateSystem" \ "http://www.oasis-open.org/docbook/xml/$DTDVERSION/" \ "file:///etc/xml/docbook" \ /etc/xml/catalog xmlcatalog --noout --add "delegateURI" \ "http://www.oasis-open.org/docbook/xml/$DTDVERSION/" \ "file:///etc/xml/docbook" \ /etc/xml/catalog done
contém uma definição de tipo de documento que
define os tipos de elementos e as listas de
atributos que podem ser usados nos arquivos
|
|
contêm componentes da definição do tipo de
documento que são carregados nos arquivos
|
|
contém listas de entidades nomeadas de caracteres permitidas em HTML |
O pacote DocBook XML DTD and Schemas-5.0 contém definições de tipo de documento e esquemas para verificação de arquivos de dados XML em relação ao conjunto de regras do DocBook. Elas são úteis para estruturar livros e documentação de software em um padrão, permitindo que você utilize transformações já escritas para esse padrão. Além de fornecer uma DTD, a versão 5 introduziu o esquema RelaxNG e as regras do Schematron e é incompatível com versões anteriores de XML do DocBook.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://docbook.org/xml/5.0/docbook-5.0.zip
Soma de verificação MD5 da transferência: 2411c19ed4fb141f3fa3d389fae40736
Tamanho da transferência: 820 KB
Espaço em disco estimado exigido: 6,2 MB
Tempo de construção estimado: 0,1 UPC
libxml2-2.10.3, sgml-common-0.6.3 e UnZip-6.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/docbook5-xml
Instale o DocBook XML DTD and
Schemas executando os seguintes comandos como o(a)
usuário(a) root
:
install -vdm755 /usr/share/xml/docbook/schema/{dtd,rng,sch,xsd}/5.0 && install -vm644 dtd/* /usr/share/xml/docbook/schema/dtd/5.0 && install -vm644 rng/* /usr/share/xml/docbook/schema/rng/5.0 && install -vm644 sch/* /usr/share/xml/docbook/schema/sch/5.0 && install -vm644 xsd/* /usr/share/xml/docbook/schema/xsd/5.0
Crie (ou atualize) e povoe o arquivo de catálogo /etc/xml/docbook-5.0
executando os
seguintes comandos como o(a) usuário(a) root
:
if [ ! -e /etc/xml/docbook-5.0 ]; then xmlcatalog --noout --create /etc/xml/docbook-5.0 fi && xmlcatalog --noout --add "public" \ "-//OASIS//DTD DocBook XML 5.0//EN" \ "file:///usr/share/xml/docbook/schema/dtd/5.0/docbook.dtd" \ /etc/xml/docbook-5.0 && xmlcatalog --noout --add "system" \ "http://www.oasis-open.org/docbook/xml/5.0/dtd/docbook.dtd" \ "file:///usr/share/xml/docbook/schema/dtd/5.0/docbook.dtd" \ /etc/xml/docbook-5.0 && xmlcatalog --noout --add "system" \ "http://docbook.org/xml/5.0/dtd/docbook.dtd" \ "file:///usr/share/xml/docbook/schema/dtd/5.0/docbook.dtd" \ /etc/xml/docbook-5.0 && xmlcatalog --noout --add "uri" \ "http://www.oasis-open.org/docbook/xml/5.0/rng/docbook.rng" \ "file:///usr/share/xml/docbook/schema/rng/5.0/docbook.rng" \ /etc/xml/docbook-5.0 && xmlcatalog --noout --add "uri" \ "http://docbook.org/xml/5.0/rng/docbook.rng" \ "file:///usr/share/xml/docbook/schema/rng/5.0/docbook.rng" \ /etc/xml/docbook-5.0 && xmlcatalog --noout --add "uri" \ "http://www.oasis-open.org/docbook/xml/5.0/rng/docbookxi.rng" \ "file:///usr/share/xml/docbook/schema/rng/5.0/docbookxi.rng" \ /etc/xml/docbook-5.0 && xmlcatalog --noout --add "uri" \ "http://docbook.org/xml/5.0/rng/docbookxi.rng" \ "file:///usr/share/xml/docbook/schema/rng/5.0/docbookxi.rng" \ /etc/xml/docbook-5.0 && xmlcatalog --noout --add "uri" \ "http://www.oasis-open.org/docbook/xml/5.0/rnc/docbook.rnc" \ "file:///usr/share/xml/docbook/schema/rng/5.0/docbook.rnc" \ /etc/xml/docbook-5.0 && xmlcatalog --noout --add "uri" \ "http://docbook.org/xml/5.0/rng/docbook.rnc" \ "file:///usr/share/xml/docbook/schema/rng/5.0/docbook.rnc" \ /etc/xml/docbook-5.0 && xmlcatalog --noout --add "uri" \ "http://www.oasis-open.org/docbook/xml/5.0/rnc/docbookxi.rnc" \ "file:///usr/share/xml/docbook/schema/rng/5.0/docbookxi.rnc" \ /etc/xml/docbook-5.0 && xmlcatalog --noout --add "uri" \ "http://docbook.org/xml/5.0/rng/docbookxi.rnc" \ "file:///usr/share/xml/docbook/schema/rng/5.0/docbookxi.rnc" \ /etc/xml/docbook-5.0 && xmlcatalog --noout --add "uri" \ "http://www.oasis-open.org/docbook/xml/5.0/xsd/docbook.xsd" \ "file:///usr/share/xml/docbook/schema/xsd/5.0/docbook.xsd" \ /etc/xml/docbook-5.0 && xmlcatalog --noout --add "uri" \ "http://docbook.org/xml/5.0/xsd/docbook.xsd" \ "file:///usr/share/xml/docbook/schema/xsd/5.0/docbook.xsd" \ /etc/xml/docbook-5.0 && xmlcatalog --noout --add "uri" \ "http://www.oasis-open.org/docbook/xml/5.0/xsd/docbookxi.xsd" \ "file:///usr/share/xml/docbook/schema/xsd/5.0/docbookxi.xsd" \ /etc/xml/docbook-5.0 && xmlcatalog --noout --add "uri" \ "http://docbook.org/xml/5.0/xsd/docbookxi.xsd" \ "file:///usr/share/xml/docbook/schema/xsd/5.0/docbookxi.xsd" \ /etc/xml/docbook-5.0 && xmlcatalog --noout --add "uri" \ "http://www.oasis-open.org/docbook/xml/5.0/xsd/xi.xsd" \ "file:///usr/share/xml/docbook/schema/xsd/5.0/xi.xsd" \ /etc/xml/docbook-5.0 && xmlcatalog --noout --add "uri" \ "http://docbook.org/xml/5.0/xsd/xi.xsd" \ "file:///usr/share/xml/docbook/schema/xsd/5.0/xi.xsd" \ /etc/xml/docbook-5.0 && xmlcatalog --noout --add "uri" \ "http://www.oasis-open.org/docbook/xml/5.0/xsd/xlink.xsd" \ "file:///usr/share/xml/docbook/schema/xsd/5.0/xlink.xsd" \ /etc/xml/docbook-5.0 && xmlcatalog --noout --add "uri" \ "http://docbook.org/xml/5.0/xsd/xlink.xsd" \ "file:///usr/share/xml/docbook/schema/xsd/5.0/xlink.xsd" \ /etc/xml/docbook-5.0 && xmlcatalog --noout --add "uri" \ "http://www.oasis-open.org/docbook/xml/5.0/xsd/xml.xsd" \ "file:///usr/share/xml/docbook/schema/xsd/5.0/xml.xsd" \ /etc/xml/docbook-5.0 && xmlcatalog --noout --add "uri" \ "http://docbook.org/xml/5.0/xsd/xml.xsd" \ "file:///usr/share/xml/docbook/schema/xsd/5.0/xml.xsd" \ /etc/xml/docbook-5.0 && xmlcatalog --noout --add "uri" \ "http://www.oasis-open.org/docbook/xml/5.0/sch/docbook.sch" \ "file:///usr/share/xml/docbook/schema/sch/5.0/docbook.sch" \ /etc/xml/docbook-5.0 && xmlcatalog --noout --add "uri" \ "http://docbook.org/xml/5.0/sch/docbook.sch" \ "file:///usr/share/xml/docbook/schema/sch/5.0/docbook.sch" \ /etc/xml/docbook-5.0
Enquanto novamente como o(a) usuário(a) root
, crie os catálogos individuais:
xmlcatalog --noout --create /usr/share/xml/docbook/schema/dtd/5.0/catalog.xml && xmlcatalog --noout --add "public" \ "-//OASIS//DTD DocBook XML 5.0//EN" \ "docbook.dtd" /usr/share/xml/docbook/schema/dtd/5.0/catalog.xml && xmlcatalog --noout --add "system" \ "http://www.oasis-open.org/docbook/xml/5.0/dtd/docbook.dtd" \ "docbook.dtd" /usr/share/xml/docbook/schema/dtd/5.0/catalog.xml && xmlcatalog --noout --create /usr/share/xml/docbook/schema/rng/5.0/catalog.xml && xmlcatalog --noout --add "uri" \ "http://docbook.org/xml/5.0/rng/docbook.rng" \ "docbook.rng" /usr/share/xml/docbook/schema/rng/5.0/catalog.xml && xmlcatalog --noout --add "uri" \ "http://www.oasis-open.org/docbook/xml/5.0/rng/docbook.rng" \ "docbook.rng" /usr/share/xml/docbook/schema/rng/5.0/catalog.xml && xmlcatalog --noout --add "uri" \ "http://docbook.org/xml/5.0/rng/docbookxi.rng" \ "docbookxi.rng" /usr/share/xml/docbook/schema/rng/5.0/catalog.xml && xmlcatalog --noout --add "uri" \ "http://www.oasis-open.org/docbook/xml/5.0/rng/docbookxi.rng" \ "docbookxi.rng" /usr/share/xml/docbook/schema/rng/5.0/catalog.xml && xmlcatalog --noout --add "uri" \ "http://docbook.org/xml/5.0/rng/docbook.rnc" \ "docbook.rnc" /usr/share/xml/docbook/schema/rng/5.0/catalog.xml && xmlcatalog --noout --add "uri" \ "http://www.oasis-open.org/docbook/xml/5.0/rng/docbook.rnc" \ "docbook.rnc" /usr/share/xml/docbook/schema/rng/5.0/catalog.xml && xmlcatalog --noout --add "uri" \ "http://docbook.org/xml/5.0/rng/docbookxi.rnc" \ "docbookxi.rnc" /usr/share/xml/docbook/schema/rng/5.0/catalog.xml && xmlcatalog --noout --add "uri" \ "http://www.oasis-open.org/docbook/xml/5.0/rng/docbookxi.rnc" \ "docbookxi.rnc" /usr/share/xml/docbook/schema/rng/5.0/catalog.xml && xmlcatalog --noout --create /usr/share/xml/docbook/schema/sch/5.0/catalog.xml && xmlcatalog --noout --add "uri" \ "http://docbook.org/xml/5.0/sch/docbook.sch" \ "docbook.sch" /usr/share/xml/docbook/schema/sch/5.0/catalog.xml && xmlcatalog --noout --add "uri" \ "http://www.oasis-open.org/docbook/xml/5.0/sch/docbook.sch" \ "docbook.sch" /usr/share/xml/docbook/schema/sch/5.0/catalog.xml && xmlcatalog --noout --create /usr/share/xml/docbook/schema/xsd/5.0/catalog.xml && xmlcatalog --noout --add "uri" \ "http://docbook.org/xml/5.0/xsd/docbook.xsd" \ "docbook.xsd" /usr/share/xml/docbook/schema/xsd/5.0/catalog.xml && xmlcatalog --noout --add "uri" \ "http://www.oasis-open.org/docbook/xml/5.0/xsd/docbook.xsd" \ "docbook.xsd" /usr/share/xml/docbook/schema/xsd/5.0/catalog.xml && xmlcatalog --noout --add "uri" \ "http://docbook.org/xml/5.0/xsd/docbookxi.xsd" \ "docbookxi.xsd" /usr/share/xml/docbook/schema/xsd/5.0/catalog.xml && xmlcatalog --noout --add "uri" \ "http://www.oasis-open.org/docbook/xml/5.0/xsd/docbookxi.xsd" \ "docbookxi.xsd" /usr/share/xml/docbook/schema/xsd/5.0/catalog.xml && xmlcatalog --noout --add "uri" \ "http://docbook.org/xml/5.0/xsd/xlink.xsd" \ "xlink.xsd" /usr/share/xml/docbook/schema/xsd/5.0/catalog.xml && xmlcatalog --noout --add "uri" \ "http://www.oasis-open.org/docbook/xml/5.0/xsd/xlink.xsd" \ "xlink.xsd" /usr/share/xml/docbook/schema/xsd/5.0/catalog.xml && xmlcatalog --noout --add "uri" \ "http://docbook.org/xml/5.0/xsd/xml.xsd" \ "xml.xsd" /usr/share/xml/docbook/schema/xsd/5.0/catalog.xml && xmlcatalog --noout --add "uri" \ "http://www.oasis-open.org/docbook/xml/5.0/xsd/xml.xsd" \ "xml.xsd" /usr/share/xml/docbook/schema/xsd/5.0/catalog.xml
Crie (ou atualize) e povoe o catálogo XML do sistema
(/etc/xml/catalog
) executando
os seguintes comandos como o(a) usuário(a) root
:
if [ ! -e /etc/xml/catalog ]; then xmlcatalog --noout --create /etc/xml/catalog fi && xmlcatalog --noout --add "delegatePublic" \ "-//OASIS//DTD DocBook XML 5.0//EN" \ "file:///usr/share/xml/docbook/schema/dtd/5.0/catalog.xml" \ /etc/xml/catalog && xmlcatalog --noout --add "delegateSystem" \ "http://docbook.org/xml/5.0/dtd/" \ "file:///usr/share/xml/docbook/schema/dtd/5.0/catalog.xml" \ /etc/xml/catalog && xmlcatalog --noout --add "delegateURI" \ "http://docbook.org/xml/5.0/dtd/" \ "file:///usr/share/xml/docbook/schema/dtd/5.0/catalog.xml" \ /etc/xml/catalog && xmlcatalog --noout --add "delegateURI" \ "http://docbook.org/xml/5.0/rng/" \ "file:///usr/share/xml/docbook/schema/rng/5.0/catalog.xml" \ /etc/xml/catalog && xmlcatalog --noout --add "delegateURI" \ "http://docbook.org/xml/5.0/sch/" \ "file:///usr/share/xml/docbook/schema/sch/5.0/catalog.xml" \ /etc/xml/catalog && xmlcatalog --noout --add "delegateURI" \ "http://docbook.org/xml/5.0/xsd/" \ "file:///usr/share/xml/docbook/schema/xsd/5.0/catalog.xml" \ /etc/xml/catalog
contém as definições de tipo de documento 5.0 do
DocBook que definem os tipos de elementos e as
listas de atributos que podem ser usadas nos
arquivos |
|
contém as definições de esquema 5.0 RelaxNG, RelaxNG Compact e Schematron do Docbook |
|
arquivos contém regras Schematron do DocBook-5.0 |
O pacote DocBook XML Schemas-5.1 contém arquivos de esquema e regras Schematron para verificação de arquivos de dados XML em relação ao conjunto de regras do DocBook. Eles são úteis para estruturar livros e documentação de software em um padrão, permitindo que você utilize transformações já escritas para esse padrão.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://docbook.org/xml/5.1/docbook-v5.1-os.zip
Soma de verificação MD5 da transferência: d8bea8ddfc5743578a31cb18f9ae1f5a
Tamanho da transferência: 752 KB
Espaço em disco estimado exigido: 8,5 MB
Tempo de construção estimado: menos que 0,1 UPC
libxml2-2.10.3, sgml-common-0.6.3 e UnZip-6.0
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/docbook51-xml
O fonte do pacote é distribuído no formato zip
e exige o unzip. Você deveria criar
um diretório e mudar para esse diretório antes de
descompactar o arquivo para facilitar a remoção dos
arquivos do fonte depois que o pacote tiver sido instalado.
Instale o DocBook XML
Schemas executando os seguintes comandos como o(a)
usuário(a) root
:
install -vdm755 /usr/share/xml/docbook/schema/{rng,sch}/5.1 && install -m644 schemas/rng/* /usr/share/xml/docbook/schema/rng/5.1 && install -m644 schemas/sch/* /usr/share/xml/docbook/schema/sch/5.1 && install -m755 tools/db4-entities.pl /usr/bin && install -vdm755 /usr/share/xml/docbook/stylesheet/docbook5 && install -m644 tools/db4-upgrade.xsl \ /usr/share/xml/docbook/stylesheet/docbook5
Crie (ou atualize) e povoe o arquivo de catálogo /etc/xml/docbook-5.1
executando os
seguintes comandos como o(a) usuário(a) root
:
if [ ! -e /etc/xml/docbook-5.1 ]; then xmlcatalog --noout --create /etc/xml/docbook-5.1 fi && xmlcatalog --noout --add "uri" \ "http://www.oasis-open.org/docbook/xml/5.1/rng/docbook.rng" \ "file:///usr/share/xml/docbook/schema/rng/5.1/docbook.rng" \ /etc/xml/docbook-5.1 && xmlcatalog --noout --add "uri" \ "http://docbook.org/xml/5.1/rng/docbook.rng" \ "file:///usr/share/xml/docbook/schema/rng/5.1/docbook.rng" \ /etc/xml/docbook-5.1 && xmlcatalog --noout --add "uri" \ "http://www.oasis-open.org/docbook/xml/5.1/rng/docbookxi.rng" \ "file:///usr/share/xml/docbook/schema/rng/5.1/docbookxi.rng" \ /etc/xml/docbook-5.1 && xmlcatalog --noout --add "uri" \ "http://docbook.org/xml/5.1/rng/docbookxi.rng" \ "file:///usr/share/xml/docbook/schema/rng/5.1/docbookxi.rng" \ /etc/xml/docbook-5.1 && xmlcatalog --noout --add "uri" \ "http://www.oasis-open.org/docbook/xml/5.1/rnc/docbook.rnc" \ "file:///usr/share/xml/docbook/schema/rng/5.1/docbook.rnc" \ /etc/xml/docbook-5.1 && xmlcatalog --noout --add "uri" \ "http://docbook.org/xml/5.1/rng/docbook.rnc" \ "file:///usr/share/xml/docbook/schema/rng/5.1/docbook.rnc" \ /etc/xml/docbook-5.1 && xmlcatalog --noout --add "uri" \ "http://www.oasis-open.org/docbook/xml/5.1/rnc/docbookxi.rnc" \ "file:///usr/share/xml/docbook/schema/rng/5.1/docbookxi.rnc" \ /etc/xml/docbook-5.1 && xmlcatalog --noout --add "uri" \ "http://docbook.org/xml/5.1/rng/docbookxi.rnc" \ "file:///usr/share/xml/docbook/schema/rng/5.1/docbookxi.rnc" \ /etc/xml/docbook-5.1 && xmlcatalog --noout --add "uri" \ "http://www.oasis-open.org/docbook/xml/5.1/sch/docbook.sch" \ "file:///usr/share/xml/docbook/schema/sch/5.1/docbook.sch" \ /etc/xml/docbook-5.1 && xmlcatalog --noout --add "uri" \ "http://docbook.org/xml/5.1/sch/docbook.sch" \ "file:///usr/share/xml/docbook/schema/sch/5.1/docbook.sch" \ /etc/xml/docbook-5.1
Enquanto novamente como o(a) usuário(a) root
, crie os catálogos individuais:
xmlcatalog --noout --create /usr/share/xml/docbook/schema/rng/5.1/catalog.xml && xmlcatalog --noout --add "uri" \ "http://docbook.org/xml/5.1/schemas/rng/docbook.schemas/rng" \ "docbook.schemas/rng" /usr/share/xml/docbook/schema/rng/5.1/catalog.xml && xmlcatalog --noout --add "uri" \ "http://www.oasis-open.org/docbook/xml/5.1/schemas/rng/docbook.schemas/rng" \ "docbook.schemas/rng" /usr/share/xml/docbook/schema/rng/5.1/catalog.xml && xmlcatalog --noout --add "uri" \ "http://docbook.org/xml/5.1/schemas/rng/docbookxi.schemas/rng" \ "docbookxi.schemas/rng" /usr/share/xml/docbook/schema/rng/5.1/catalog.xml && xmlcatalog --noout --add "uri" \ "http://www.oasis-open.org/docbook/xml/5.1/schemas/rng/docbookxi.schemas/rng" \ "docbookxi.schemas/rng" /usr/share/xml/docbook/schema/rng/5.1/catalog.xml && xmlcatalog --noout --add "uri" \ "http://docbook.org/xml/5.1/schemas/rng/docbook.rnc" \ "docbook.rnc" /usr/share/xml/docbook/schema/rng/5.1/catalog.xml && xmlcatalog --noout --add "uri" \ "http://www.oasis-open.org/docbook/xml/5.1/schemas/rng/docbook.rnc" \ "docbook.rnc" /usr/share/xml/docbook/schema/rng/5.1/catalog.xml && xmlcatalog --noout --add "uri" \ "http://docbook.org/xml/5.1/schemas/rng/docbookxi.rnc" \ "docbookxi.rnc" /usr/share/xml/docbook/schema/rng/5.1/catalog.xml && xmlcatalog --noout --add "uri" \ "http://www.oasis-open.org/docbook/xml/5.1/schemas/rng/docbookxi.rnc" \ "docbookxi.rnc" /usr/share/xml/docbook/schema/rng/5.1/catalog.xml xmlcatalog --noout --create /usr/share/xml/docbook/schema/sch/5.1/catalog.xml && xmlcatalog --noout --add "uri" \ "http://docbook.org/xml/5.1/schemas/sch/docbook.schemas/sch" \ "docbook.schemas/sch" /usr/share/xml/docbook/schema/sch/5.1/catalog.xml && xmlcatalog --noout --add "uri" \ "http://www.oasis-open.org/docbook/xml/5.1/schemas/sch/docbook.schemas/sch" \ "docbook.schemas/sch" /usr/share/xml/docbook/schema/sch/5.1/catalog.xml
Crie (ou atualize) e povoe o catálogo XML do sistema
(/etc/xml/catalog
) executando
os seguintes comandos como o(a) usuário(a) root
:
if [ ! -e /etc/xml/catalog ]; then xmlcatalog --noout --create /etc/xml/catalog fi && xmlcatalog --noout --add "delegatePublic" \ "-//OASIS//DTD DocBook XML 5.1//EN" \ "file:///usr/share/xml/docbook/schema/dtd/5.1/catalog.xml" \ /etc/xml/catalog && xmlcatalog --noout --add "delegateSystem" \ "http://docbook.org/xml/5.1/dtd/" \ "file:///usr/share/xml/docbook/schema/dtd/5.1/catalog.xml" \ /etc/xml/catalog && xmlcatalog --noout --add "delegateURI" \ "http://docbook.org/xml/5.1/dtd/" \ "file:///usr/share/xml/docbook/schema/dtd/5.1/catalog.xml" \ /etc/xml/catalog && xmlcatalog --noout --add "delegateURI" \ "http://docbook.org/xml/5.1/rng/" \ "file:///usr/share/xml/docbook/schema/rng/5.1/catalog.xml" \ /etc/xml/catalog && xmlcatalog --noout --add "delegateURI" \ "http://docbook.org/xml/5.1/sch/" \ "file:///usr/share/xml/docbook/schema/sch/5.1/catalog.xml" \ /etc/xml/catalog && xmlcatalog --noout --add "delegateURI" \ "http://docbook.org/xml/5.1/xsd/" \ "file:///usr/share/xml/docbook/schema/xsd/5.1/catalog.xml" \ /etc/xml/catalog
O pacote DocBook XSL Stylesheets contém folhas de estilo XSL. Elas são úteis para realizar transformações em arquivos XML do DocBook.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/docbook/xslt10-stylesheets/releases/download/release/1.79.2/docbook-xsl-nons-1.79.2.tar.bz2
Soma de verificação MD5 da transferência: 2666d1488d6ced1551d15f31d7ed8c38
Tamanho da transferência: 22 MB
Espaço em disco estimado exigido: 58 MB (inclui instalar documentação opcional)
Tempo de construção estimado: menos que 0,1 UPC
Documentação opcional
Transferência (HTTP): https://github.com/docbook/xslt10-stylesheets/releases/download/release/1.79.2/docbook-xsl-doc-1.79.2.tar.bz2
Soma de verificação MD5 da transferência: 62375ca864fc198cb2b17d98209d0b8c
Tamanho da transferência: 522 KB
apache-ant-1.10.13 (para produzir documentos do “webhelp”), libxslt-1.1.37 (ou qualquer outro processador de XSLT), para processar documentos do Docbook - os módulos do Python2 libxml2 e libxslt podem ser usados; Python-2.7.18 (em tempo de execução), Ruby-3.2.1 (para utilizar as folhas de estilo de “epub”), Zip-3.0 (para produzir documentos “epub3”) e Saxon6 e Xerces2 Java (usado com o apache-ant-1.10.13 para produzir documentos do “webhelp”)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/docbook-xsl
Primeiro, corrija um problema que causa estouros de pilha ao fazer recursão:
patch -Np1 -i ../docbook-xsl-nons-1.79.2-stack_fix-1.patch
Se você baixou o tarball opcional da documentação, desempacote-o com o seguinte comando:
tar -xf ../docbook-xsl-doc-1.79.2.tar.bz2 --strip-components=1
O BLFS não instala os pacotes exigidos para executar a suíte de teste e fornecer resultados significativos.
Instale o DocBook XSL
Stylesheets executando os seguintes comandos como o(a)
usuário(a) root
:
install -v -m755 -d /usr/share/xml/docbook/xsl-stylesheets-nons-1.79.2 && cp -v -R VERSION assembly common eclipse epub epub3 extensions fo \ highlighting html htmlhelp images javahelp lib manpages params \ profiling roundtrip slides template tests tools webhelp website \ xhtml xhtml-1_1 xhtml5 \ /usr/share/xml/docbook/xsl-stylesheets-nons-1.79.2 && ln -s VERSION /usr/share/xml/docbook/xsl-stylesheets-nons-1.79.2/VERSION.xsl && install -v -m644 -D README \ /usr/share/doc/docbook-xsl-nons-1.79.2/README.txt && install -v -m644 RELEASE-NOTES* NEWS* \ /usr/share/doc/docbook-xsl-nons-1.79.2
Se você baixou o tarball de documentação opcional, instale a
documentação emitindo o seguinte comando como o(a) usuário(a)
root
:
cp -v -R doc/* /usr/share/doc/docbook-xsl-nons-1.79.2
Se você estiver instalando a versão atual do
docbook-xsl-nons sobre uma versão anterior do
docbook-xsl, então remova as entradas reescritas antigas
no catálogo como o(a) usuário(a) root
:
sed -i '/rewrite/d' /etc/xml/catalog
Crie (ou anexe) e povoe o arquivo de catálogo XML usando os
seguintes comandos como o(a) usuário(a) root
:
if [ ! -d /etc/xml ]; then install -v -m755 -d /etc/xml; fi && if [ ! -f /etc/xml/catalog ]; then xmlcatalog --noout --create /etc/xml/catalog fi && xmlcatalog --noout --add "rewriteSystem" \ "https://cdn.docbook.org/release/xsl-nons/1.79.2" \ "/usr/share/xml/docbook/xsl-stylesheets-nons-1.79.2" \ /etc/xml/catalog && xmlcatalog --noout --add "rewriteURI" \ "https://cdn.docbook.org/release/xsl-nons/1.79.2" \ "/usr/share/xml/docbook/xsl-stylesheets-nons-1.79.2" \ /etc/xml/catalog && xmlcatalog --noout --add "rewriteSystem" \ "https://cdn.docbook.org/release/xsl-nons/current" \ "/usr/share/xml/docbook/xsl-stylesheets-nons-1.79.2" \ /etc/xml/catalog && xmlcatalog --noout --add "rewriteURI" \ "https://cdn.docbook.org/release/xsl-nons/current" \ "/usr/share/xml/docbook/xsl-stylesheets-nons-1.79.2" \ /etc/xml/catalog && xmlcatalog --noout --add "rewriteSystem" \ "http://docbook.sourceforge.net/release/xsl/current" \ "/usr/share/xml/docbook/xsl-stylesheets-nons-1.79.2" \ /etc/xml/catalog && xmlcatalog --noout --add "rewriteURI" \ "http://docbook.sourceforge.net/release/xsl/current" \ "/usr/share/xml/docbook/xsl-stylesheets-nons-1.79.2" \ /etc/xml/catalog
Ocasionalmente, você pode achar necessário instalar outras
versões das folhas de estilo XSL, pois alguns projetos
referenciam uma versão específica. Um exemplo é o BLFS-6.0,
que exigia a versão 1.67.2. Nesses casos você deveria
instalar qualquer outra versão exigida no próprio diretório
versionado dela e criar entradas de catálogo como segue
(substitua o número desejado de versão por <versão>
):
xmlcatalog --noout --add "rewriteSystem" \ "http://docbook.sourceforge.net/release/xsl/<version>
" \ "/usr/share/xml/docbook/xsl-stylesheets-<version>
" \ /etc/xml/catalog && xmlcatalog --noout --add "rewriteURI" \ "http://docbook.sourceforge.net/release/xsl/<version>
" \ "/usr/share/xml/docbook/xsl-stylesheets-<version>
" \ /etc/xml/catalog
Itstool extrai mensagens a partir de arquivos XML e gera arquivos de modelo PO, depois mescla traduções a partir de arquivos MO para criar arquivos traduzidos XML. Ele determina o que traduzir e como dividi-lo em mensagens usando o Internationalization Tag Set (ITS) da W3C.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://files.itstool.org/itstool/itstool-2.0.7.tar.bz2
Soma de verificação MD5 da transferência: 267a3bdc72a2d8abb1b824f2ea32ee9b
Tamanho da transferência: 104 KB
Espaço em disco estimado exigido: 688 KB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/itstool
Instale o itstool executando os seguintes comandos:
PYTHON=/usr/bin/python3 ./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
O pacote xmlto é uma estrutura de interação direta com o(a) usuário(a) para uma cadeia de ferramentas de XSL. Ela escolhe uma folha de estilo apropriada para a conversão que você queira e a aplica usando um processador externo de XSLT. Ele também realiza qualquer pós-processamento necessário.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://releases.pagure.org/xmlto/xmlto-0.0.28.tar.bz2
Soma de verificação MD5 da transferência: 93bab48d446c826399d130d959fe676f
Tamanho da transferência: 128 KB
Espaço em disco estimado exigido: 1,5 MB (com os testes)
Tempo de construção estimado: menos que 0,1 UPC (com testes)
docbook-xml-4.5, docbook-xsl-nons-1.79.2 e libxslt-1.1.37
Um de Links-2.28, Lynx-2.8.9rel.1, W3m ou ELinks
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xmlto
Instale o xmlto executando os seguintes comandos:
LINKS="/usr/bin/links" \ ./configure --prefix=/usr && make
Para testar os resultados, emita: make check.
Agora, como o(a) usuário(a) root
:
make install
LINKS="/usr/bin/links"
: Essa
variável de ambiente corrige um defeito que faz com que o
xmlto pense que
o comando links
é o mesmo que elinks. Configurar essa
variável não causa problemas se o links não estiver
instalado, a menos que você tenha o ELinks instalado e deseje usá-lo
para pós-processamento da estrutura de retaguarda de texto;
nesse caso, remova-a.
Este capítulo inclui aplicativos que criam, manipulam ou visualizam arquivos PostScript e criam ou visualizam arquivos Portable Document Format (PDF).
Enscript converte arquivos de texto ASCII em PostScript, HTML, RTF, ANSI e sobreposições.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Enscript não pode converter texto codificado em UTF-8 para PostScript. O problema é discutido detalhadamente na seção Codificação Necessária Não É uma Opção Válida da página Problemas Relacionados à Localidade. A solução é usar paps-0.7.1, em vez de Enscript, para converter texto codificado em UTF-8 para PostScript.
Transferência (HTTP): https://ftp.gnu.org/gnu/enscript/enscript-1.6.6.tar.gz
Transferência (FTP): ftp://ftp.gnu.org/gnu/enscript/enscript-1.6.6.tar.gz
Soma de verificação MD5 da transferência: 3acc242b829adacabcaf28533f049afd
Tamanho da transferência: 1,3 MB
Espaço em disco estimado exigido: 14 MB
Tempo de construção estimado: 0,1 UPC
texlive-20220321 (ou install-tl-unx)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/Enscript
Instale o Enscript executando os seguintes comandos:
./configure --prefix=/usr \ --sysconfdir=/etc/enscript \ --localstatedir=/var \ --with-media=Letter && make && pushd docs && makeinfo --plaintext -o enscript.txt enscript.texi && popd
Se tiver texlive-20220321 instalado, você consegue criar documentação PostScript e PDF emitindo (não suporta make paralelo):
make -j1 -C docs ps pdf
Para testar os resultados, emita: make check.
Agora, como o(a) usuário(a) root
:
make install && install -v -m755 -d /usr/share/doc/enscript-1.6.6 && install -v -m644 README* *.txt docs/*.txt \ /usr/share/doc/enscript-1.6.6
Se você construiu documentação PostScript e PDF, instale-a
usando o seguinte comando como o(a) usuário(a) root
:
install -v -m644 docs/*.{dvi,pdf,ps} \ /usr/share/doc/enscript-1.6.6
--sysconfdir=/etc/enscript
:
Essa chave coloca os dados de configuração em /etc/enscript
em vez de /usr /etc
.
--localstatedir=/var
:
Essa chave configura o diretório para dados de tempo de
execução como /var
em vez de
/usr/var
.
--with-media=Letter
:
Essa chave configura o formato de mídias para tamanho carta
em vez do padrão A4.
converte arquivos de saída diff para um formato adequado para ser impresso com enscript |
|
é um filtro, usado principalmente por conjuntos de comandos sequenciais de impressão, que converte arquivos de texto ASCII para PostScript, HTML, RTF, ANSI e sobreposições |
|
cria um mapa de fontes a partir de um arquivo dado |
|
é um conjunto de comandos sequenciais que chama enscript e passa os parâmetros corretos para criar fontes sobrepostas |
|
fatia documentos com linhas longas |
|
é uma ferramenta de processamento de texto semelhante ao awk com algumas extensões de máquina de estado. Ele foi projetado para realçar o código-fonte do aplicativo, e para tarefas semelhantes, onde as informações de estado ajudam no processamento de entrada |
ePDFView é um visualizador de documentos PDF leve e independente que usa as bibliotecas Poppler e GTK+. É um bom substituto para o Evince, pois não depende das bibliotecas do GNOME.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://anduin.linuxfromscratch.org/BLFS/epdfview/epdfview-0.1.8.tar.bz2
Soma de verificação MD5 da transferência: e50285b01612169b2594fea375f53ae4
Tamanho da transferência: 456 KB
Espaço em disco estimado exigido: 6 MB
Tempo de construção estimado: menos que 0,1 UPC
GTK+-2.24.33 e Poppler-23.02.0
desktop-file-utils-0.26 e hicolor-icon-theme-0.17
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/epdfview
Instale o ePDFView executando os seguintes comandos:
patch -Np1 -i ../epdfview-0.1.8-fixes-2.patch && ./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
Para usuários(as) de Ambiente de Área de Trabalho, instruções
adicionais (opcionais) são necessárias para exibir
corretamente epdfview.desktop
no menu. Como usuário(a) root
:
for size in 24 32 48; do ln -svf ../../../../epdfview/pixmaps/icon_epdfview-$size.png \ /usr/share/icons/hicolor/${size}x${size}/apps done && unset size && update-desktop-database && gtk-update-icon-cache -t -f --include-image-data /usr/share/icons/hicolor
patch -Np1 -i ../epdfview-0.1.8-fixes-2.patch O remendo faz quatro coisas: corrige a compilação com glib-2.32 ou superior; corrige o vermelho aparecendo como azul com versões recentes do poppler; permite que o aplicativo compile quando Cups-2.4.2 tenha sido instalado; e corrige a exibição de imagens png incorporadas.
O pacote FOP (Formatting Objects Processor) contém um formatador de impressão controlado por objetos de formatação XSL (XSL-FO). É uma aplicação Java que lê uma árvore de objetos de formatação e renderiza as páginas resultantes em uma saída especificada. Os formatos de saída atualmente suportados incluem PDF, PCL, PostScript, SVG, XML (representação de árvore de área), impressão, AWT, MIF e texto ASCII. O alvo de saída principal é PDF.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://archive.apache.org/dist/xmlgraphics/fop/source/fop-2.8-src.tar.gz
Soma de verificação MD5 da transferência: 610bfd7797755d744b2c4f61422478cf
Tamanho da transferência: 22 MB
Espaço em disco estimado exigido: 517 MB (incluindo arquivos baixados para o diretório do(a) usuário(a))
Tempo de construção estimado: 0,6 UPC
Transferências Adicionais Exigidas:
PDFBox:
https://archive.apache.org/dist/pdfbox/2.0.27/pdfbox-2.0.27.jar
ddd46402b1692eed9e5c73b4a94c45d8
2,7 MB
Fontes PDFBox:
https://archive.apache.org/dist/pdfbox/2.0.27/fontbox-2.0.27.jar
587744efe2a82d3584c2f3969fa4dca0
1,5 MB
Sistema de construção Maven:
https://archive.apache.org/dist/maven/maven-3/3.8.6/binaries/apache-maven-3.8.6-bin.tar.gz
0e07de4a7b5c84ebed737a2002f52019
8,3 MB (adicionalmente, cerca de 90 MB são baixados
para o diretório de construção do(a) usuário(a))
Pacotes recomendados
Padrões de hifenização Objects for Formatting Objects
(OFFO):
https://downloads.sourceforge.net/offo/2.2/offo-hyphenation.zip
bf9c09bf05108ef9661b8f08d91c2336
862 KB
um ambiente gráfico (para executar testes), Ferramentas de E/S de Imagens JAI e JEuclid
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/fop
Certifique-se de que $JAVA_HOME
esteja configurada corretamente antes de iniciar a
construção. Para construir as classes de extensão
JIMI SDK e (ou) XMLUnit, certifique-se de que os
arquivos .jar
correspondentes
possam ser encontrados por intermédio da variável de ambiente
CLASSPATH
.
Copie os padrões de hifenização XML para a árvore do fonte do fop executando os seguintes comandos:
unzip ../offo-hyphenation.zip && cp offo-hyphenation/hyph/* fop/hyph && rm -rf offo-hyphenation
A partir do fop-2.5, o sistema de construção Maven é exigido. Nós usamos o binário fornecido pelo Apache, que instalamos em um local temporário:
tar -xf ../apache-maven-3.8.6-bin.tar.gz -C /tmp
O comando javadoc fornecido com o OpenJDK 10 e posterior tornou-se muito mais rigoroso que as versões anteriores em relação à conformidade dos comentários Javadoc no código-fonte para HTML. A documentação do FOP não atende a esses padrões, de forma que as verificações de conformidade tem de ser desabilitadas. Isso pode ser feito com o seguinte comando:
sed -i '\@</javad@i\ <arg value="-Xdoclint:none"/>\ <arg value="--allow-script-in-comments"/>\ <arg value="--ignore-source-errors"/>' \ fop/build.xml
O arquivo build.xml
chama uma
versão antiga dos componentes PDFBox que não mais estão disponíveis.
Copie os componentes atualizados do PDFBox para a árvore do
fonte:
cp ../{pdf,font}box-2.0.27.jar fop/lib
Compile o fop executando os seguintes comandos:
cd fop && LC_ALL=en_US.UTF-8 \ PATH=$PATH:/tmp/apache-maven-3.8.6/bin \ ant all javadocs && mv build/javadocs .
Esse pacote vem com uma suíte de teste, mas a infraestrutura java instalada neste livro não permite executá-la.
Agora, instale o Fop como
o(a) usuário(a) root
:
install -v -d -m755 -o root -g root /opt/fop-2.8 && cp -vR build conf examples fop* javadocs lib /opt/fop-2.8 && chmod a+x /opt/fop-2.8/fop && ln -v -sfn fop-2.8 /opt/fop
A última coisa a fazer é limpar o que fizemos:
rm -rf /tmp/apache-maven-3.8.6
sed -i ... build.xml: Isso adiciona três chaves ao comando javadoc, evitando que alguns erros ocorram durante a construção da documentação.
export LC_ALL=en_US.UTF-8: o compilador falha se usar uma localidade ASCII.
ant target
: Isso lê o arquivo
build.xml
e constrói o alvo:
compile
compila os fontes java;
jar-main
gera arquivos jar;
jar-hyphenation
gera os padrões
de hifenização para o FOP; junit
executa os testes junit; e
javadocs
constrói a documentação.
O alvo all
executa tudo do acima.
ln -v -sf fop-2.8
/opt/fop: Isso é opcional e cria um link
simbólico de conveniência, de forma que $FOP_HOME
não tenha que ser mudada cada vez
que exista uma mudança na versão do pacote.
Usar fop para processar alguns FOs grandes (incluindo o FO derivado dos fontes XML do BLFS) pode levar a erros de memória. A menos que você adicione um parâmetro ao comando java usado no conjunto de comandos sequenciais fop, você possivelmente receba mensagens semelhantes a esta mostrada abaixo:
Exception in thread "main"
java.lang.OutOfMemoryError: Java heap space
Para evitar erros como esse, você precisa passar um
parâmetro extra para o comando java usado no conjunto de
comandos sequenciais fop. Isso pode ser feito
criando-se um ~/.foprc
(que é
carregado pelo conjunto de comandos sequenciais
fop) e
adicionando-se o parâmetro à variável de ambiente
FOP_OPTS
.
O conjunto de comandos sequenciais fop procura por uma
variável de ambiente FOP_HOME
para localizar as bibliotecas de classes do fop. Você também pode criar essa
variável usando o arquivo ~/.foprc
. Crie um arquivo ~/.foprc
usando os seguintes comandos:
cat > ~/.foprc << "EOF"
FOP_OPTS="-Xmx<RAM_Instalada>
m"
FOP_HOME="/opt/fop"
EOF
Substitua <RAM_Instalada>
por
um número que represente a quantidade de RAM instalada em
teu computador (em megabytes). Um exemplo seria
FOP_OPTS="-Xmx768m"
.
Para incluir o conjunto de comandos sequenciais
fop em teu
caminho, atualize o perfil abrangente a todo o sistema com
o seguinte comando como o(a) usuário(a) root
:
cat > /etc/profile.d/fop.sh << "EOF"
# inicia /etc/profile.d/fop.sh
pathappend /opt/fop
# Termina /etc/profile.d/fop.sh
EOF
Executar fop pode ser um tanto
detalhado. O nível de registro padrão pode ser mudado de
INFO para FINEST, FINER, FINE, CONFIG, INFO, WARNING,
SEVERE, ALL ou OFF. Para fazer isso, edite o $JAVA_HOME/jre/lib/logging.properties
e
mude as entradas para .level
e java.util.logging.ConsoleHandler.level
para o valor desejado.
/opt/fop/{build,lib}
; Os componentes
JAI incluem libmlib_jai.so, jai_codec.jar, jai_core.jar e
mlibwrapper_jai.jar
MuPDF é um visualizador leve de PDF e XPS.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://www.mupdf.com/downloads/archive/mupdf-1.21.1-source.tar.gz
Soma de verificação MD5 da transferência: 62690ebb86e3683d331554433e58c10a
Tamanho da transferência: 55 MB
Espaço em disco estimado exigido: 249 MB
Tempo de construção estimado: 0,2 UPC (Usando paralelismo=4)
GLU-9.0.2 e Bibliotecas do Xorg
HarfBuzz-7.0.0, libjpeg-turbo-2.1.5.1, OpenJPEG-2.5.0 e cURL-7.88.1
xdg-utils-1.1.3 (tempo de execução), jbig2dec e MuJS
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/mupdf
Primeiro, corrija o Makefile para se vincular corretamente com a biblioteca compartilhada:
sed -i '/MU.*_EXE. :/{ s/\(.(MUPDF_LIB)\)\(.*\)$/\2 | \1/ N s/$/ -lmupdf -L$(OUT)/ }' Makefile
Instale o MuPDF executando os seguintes comandos:
cat > user.make << EOF && USE_SYSTEM_FREETYPE := yes USE_SYSTEM_HARFBUZZ := yes USE_SYSTEM_JBIG2DEC := no USE_SYSTEM_JPEGXR := no # não usada sem HAVE_JPEGXR USE_SYSTEM_LCMS2 := no # necessária bifurcação lcms2-art USE_SYSTEM_LIBJPEG := yes USE_SYSTEM_MUJS := no # construção precisa de fonte de qualquer maneira USE_SYSTEM_OPENJPEG := yes USE_SYSTEM_ZLIB := yes USE_SYSTEM_GLUT := no # necessária bifurcação freeglut2-art USE_SYSTEM_CURL := yes USE_SYSTEM_GUMBO := no EOF export XCFLAGS=-fPIC && make build=release shared=yes && unset XCFLAGS
Esse pacote não vem com uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make prefix=/usr \ shared=yes \ docdir=/usr/share/doc/mupdf-1.21.1 \ install && chmod 755 /usr/lib/libmupdf.so && ln -sfv mupdf-x11 /usr/bin/mupdf
ln -sfv mupdf-x11 /usr/bin/mupdf : Esse link simbólico escolhe entre mupdf-gl e mupdf-x11 ao executar mupdf.
é um aplicativo para visualizar documentos PDF, XPS, EPUB e CBZ e vários formatos de imagem, como PNG, JPEG, GIFF e TIFF |
|
mesmo que mupdf, usando um renderizador opengl |
|
mesmo que mupdf, usando um renderizador do Janelas X |
|
é um aplicativo usado para realizar tarefas de rasterização com documentos PDF |
|
é um aplicativo para realizar diversas operações em arquivos PDF, como mesclar e limpar documentos PDF |
|
contém as funções de API do mupdf |
paps é um conversor de texto para PostScript que funciona por intermédio do Pango. A entrada dele é um arquivo de texto codificado em UTF-8 e produz PostScript vetorizado. Ele pode ser usado para imprimir qualquer conjunto de comandos sequenciais complexos suportados pelo Pango.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/paps/paps-0.7.1.tar.gz
Soma de verificação MD5 da transferência: b058bcc7d958fb53408942088cc1f365
Tamanho da transferência: 140 KB
Espaço em disco estimado exigido: 1 MB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/Paps
Instale o paps 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
Este capítulo inclui aplicações texlive que criam resultados equivalentes à composição tipográfica.
Existem duas rotas alternativas ao longo deste capítulo:
Algumas pessoas possivelmente desejem usar o instalador binário, seja por causa da complexidade de instalar todo o texlive a partir do fonte, ou porque querem somente uma parte do pacote; ou talvez porque desejam obter atualizações assim que estiverem disponíveis (o fonte somente é atualizado anualmente, mas os binários e os arquivos tex e sty associados são atualizados por aproximadamente dez (10) meses). Essas pessoas deveriam começar em Configurando o PATH para TeX Live e depois seguir as instruções do install-tl-unx. Depois da instalação, elas conseguem executar o tlmgr para atualizar o sistema delas.
A maioria das pessoas que leem o BLFS desejará construir a partir do fonte. O BLFS costumava começar instalando install-tl-unx e depois usava isso para inicializar a construção. Hoje em dia, construímos quase todo o texlive sem uma instalação binária, adicionando os arquivos texmf empacotados separadamente nessa construção. Para isso, comece em Configurando o PATH para TeX Live e depois vá para texlive-20220321, que instalará a maior parte do texlive, juntamente com todos os arquivos de suporte. Essa instalação quase completa pode então ser usada para construir as partes restantes do texlive: asymptote-2.85, biber-2.18 e xindy-2.5.1.
Como os arquivos texmf (incluindo documentação, fontes, conjuntos de comandos sequenciais e arquivos de suporte) estão todos em um tarball, não é prático limitar o que é extraído de maneira sensata (você poderia excluir um ou outro dos mecanismos de composição tipográfica, e não os muitos arquivos suportantes) ao construir a partir do fonte dessa maneira.
Em ambos os casos, o BLFS instala em /opt/texlive/2022
.
Além disso, por favor, observe que o texlive é lançado anualmente
e atualizar a partir do ano anterior para o ano atual não mais é
suportado. Se, por alguma razão, você desejar manter versões por
vários anos, para a maioria das coisas, você consegue montar o
sistema antigo ou o novo em /opt/texlive e corrigir o PATH dele
conforme necessário. No entanto, fazer isso não preservará
nenhuma mudança no texmf-local
e,
se você construir a partir do fonte e tentar executar uma versão
mais recente do biber com uma
versão mais antiga do biblatex,
é improvável que funcione.
Antes de começar a construir o TeX Live, configure teu PATH, de
forma que o sistema consiga encontrar os arquivos corretamente.
Se você configurou teus conjuntos de comandos sequenciais de
login conforme recomendado em Os Arquivos de
Iniciação do Shell Bash, atualize os caminhos necessários
criando o conjunto de comandos sequenciais texlive.sh
. Os aplicativos são sempre
instalados em um subdiretório <ARQUITETURA>-linux e no
x86 de 32 bits isso é sempre i386-linux. Para x86_64 e i?86,
podemos gerar isso como $TEXARCH:
Se atualizar a partir de uma versão do ano anterior, você
deveria editar manualmente o texlive.sh
para garantir que a versão para
o ano que você deseja usar seja a única TeX presente (algumas
pessoas precisam manter vários anos disponíveis para garantir
que não existam regressões nos documentos delas).
Agora, crie o conjunto de comandos sequenciais texlive.sh como
o(a) usuário(a) root
:
TEXARCH=$(uname -m | sed -e 's/i.86/i386/' -e 's/$/-linux/')
cat > /etc/profile.d/texlive.sh << EOF
# Inicia configuração do texlive
TEXLIVE_PREFIX=/opt/texlive/2022
export TEXLIVE_PREFIX
pathappend \$TEXLIVE_PREFIX/texmf-dist/doc/man MANPATH
pathappend \$TEXLIVE_PREFIX/texmf-dist/doc/info INFOPATH
pathappend \$TEXLIVE_PREFIX/bin/$TEXARCH
# Termina configuração do texlive
EOF
unset TEXARCH
Os caminhos padrão de MANPATH e INFOPATH são especificados acima para garantir que sejam incluídos. Se eles já estiverem configurados no procedimento do conjunto de comandos sequenciais de inicialização, a função pathappend garantirá que as duplicatas sejam removidas, de forma que incluí-las aqui não causará danos.
As barras invertidas antes dos cifrões no conjunto de comandos sequenciais acima são para facilitar a operação de copiar/colar. As barras invertidas não deveriam aparecer no conjunto de comandos sequenciais atual.
Os novos caminhos podem ser ativados imediatamente executando-se source /etc/profile.
Agora você deveria prosseguir para install-tl-unx para uma instalação binária do texlive ou para texlive-20220321 para começar a instalação a partir do fonte.
O pacote TeX Live é um sistema abrangente de produção de documentos TeX. Ele inclui TeX, LaTeX2e, ConTeXt, Metafont, MetaPost, BibTeX e muitos outros aplicativos; uma extensiva coleção de macros, fontes e documentação; e suporte para composição tipográfica em muitos conjuntos de comandos sequenciais oriundos de todo o mundo.
Esta página é para pessoas que desejam usar o instalador
binário para fornecer os aplicativos, os conjuntos de
comandos sequenciais e muitos arquivos e documentação de
suporte. O instalador é atualizado frequentemente, de forma
que qualquer soma de verificação MD5 publicada ficará
desatualizada em breve. Versões mais recentes do instalador
são esperadas funcionarem com estas instruções, desde que
sejam instaladas num diretório 2022/
.
Existem duas razões pelas quais você possivelmente deseje
instalar os binários no BLFS: ou você precisa de uma
instalação menor (por exemplo, no mínimo TeX simples sem
LaTeX2e, ConTeXt, etc), ou você deseja usar o tlmgr para obter
atualizações enquanto essa versão for suportada (tipicamente,
até abril do ano seguinte ao lançamento dela). Para o última,
você pode preferir instalar em teu diretório /home
como um(a) usuário(a) sem privilégios
e, em seguida, fazer as mudanças correspondentes no PATH em
teu ~/.bashrc
ou equivalente.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
Soma de verificação MD5 da transferência: Varies frequently
Tamanho da transferência: 5,6 MB
Espaço em disco estimado exigido: 118 MB para TeX e latex básicos; 7,1 GB se tudo for incluído
Tempo de construção estimado: varia, dependendo da velocidade e do tráfego da rede de intercomunicação
GnuPG-2.4.0 (para validar as transferências iniciais e também quaisquer atualizações que você possa fazer posteriormente usando o tlmgr). libwww-perl-6.67 (para usar uma conexão com o servidor, o que reduzirá a carga dele e acelerará as coisas).
Os binários estão vinculados principalmente a bibliotecas estáticas incluídas ou bibliotecas gerais do sistema (LFS), mas alguns dos aplicativos e vários conjuntos de comandos sequenciais falharão se os seguintes pacotes não estiverem presentes:
O ghostscript-10.00.0 é carregado dinamicamente pelo aplicativo externo dvisvgm, que é usado pelo asy quando esse cria arquivos SVG.
Bibliotecas do Xorg e libxcb-1.15 são necessários para inimf, mf, pdfclose, pdfopen e xdvi-xaw. Mas, se você estiver usando o asy, ou usando um mecanismo do TeX para criar um arquivo PDF, você precisará do um ambiente gráfico (para arquivos PDF, isso é para suportar um visualizador de PDF da tua escolha, por exemplo epdfview-0.1.8).
A versão binária do asy precisa do Freeglut-3.4.0.
Como sempre acontece com software binário contribuído, é possível que as dependências exigidas mudem quando o instalador for atualizado. Em particular, essas dependências só foram verificadas em x86_64.
Python-2.7.18 é usado por muitos
conjuntos de comandos sequenciais - a maioria sem manutenção.
Muitos invocam /usr/bin/env
python
, alguns invocam /usr/bin/python
. Geralmente não é sabido se
eles funcionarão com um link simbólico para python3 (como usado em
algumas distribuições) e dois oriundos do pythontex invocam
python2.
Ruby-3.2.1 é usado por alguns conjuntos de
comandos sequenciais, principalmente dentro de mtx_context, o
qual faz parte do conTeXt,
mas também por um ou dois outros, como match_parens, que
geralmente são úteis. O módulo Perl
Tk, que precisa ser executado a partir de uma Sessão do
X11 para executar os testes e exige Tk-8.6.13, é usado por um dos
conjuntos de comandos sequenciais para ptex (escrita vertical
japonesa), pode ser usado por um conjunto de comandos
sequenciais texfind do conTeXt e é necessário para texdoctk
(uma interface GUI para localizar arquivos de documentação e
abri-los com o visualizador apropriado). ps2pdf, proveniente de
ghostscript-10.00.0, é usado por
alguns utilitários e conjuntos de comandos sequenciais.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/tl-installer
O conjunto de aplicativos do TeX
Live com os documentos de suporte deles, fontes e
utilitários é muito grande. Os(As) mantenedores(as) originais
recomendam colocar todos os arquivos em uma estrutura de
diretórios única. O BLFS recomenda /opt/texlive
.
Como acontece com qualquer outro pacote, desempacote o
instalador e mude para o diretório dele, install-tl-<CCYYMMDD>
. Esse nome de
diretório muda quando o instalador é atualizado, de forma que
substitua <CCYYMMDD> pelo nome correto de diretório.
Os binários de distribuição instalados abaixo podem usar lincagem estática para bibliotecas gerais do sistema Linux. Bibliotecas ou interpretadores adicionais, conforme especificado na seção de dependências, não precisam estar presentes durante a instalação, mas os aplicativos que precisam deles não serão executados até que as dependências específicas deles tenham sido instaladas.
Com todos os softwares binários contribuídos, possivelmente exista uma incompatibilidade entre o conjunto de ferramentas do(a) construtor(a) e o teu hardware. Na maior parte do TeX isso provavelmente não importará, mas em casos incomuns você poderá encontrar problemas. Por exemplo, se o teu processador x86_64 não suportar 3dnowext ou 3dnow, o binário 2014-06-28 falharia no ConTeXt ao executar LuaTeX, embora lualatex funcionasse, assim como os binários i686 na mesma máquina. Nesses casos, a solução mais fácil é a de instalar o texlive a partir do fonte. Similarmente, a versão binária x86_64 do asy executa muito lentamente ao criar diagramas 3D.
Agora, como o(a) usuário(a) root
:
TEXLIVE_INSTALL_PREFIX=/opt/texlive ./install-tl
Esse comando é interativo e permite seleção ou modificação de plataforma, pacotes, diretórios e outras opções. O esquema completo de instalação exigirá cerca de 4,9 gigabytes de espaço em disco. O tempo para concluir a transferência dependerá da velocidade da tua conexão de Internet e do número de pacotes selecionados.
Foi estabelecido pelo Debian que os conjuntos de comandos
sequenciais do python em latex-make
funcionarão com python3, de forma que
atualize-os para invocar isso executando o seguinte comando
como o(a) usuário(a) root
:
for F in /opt/texlive/2022/texmf-dist/scripts/latex-make/*.py ; do test -f $F && sed -i 's%/usr/bin/env python%/usr/bin/python3%' $F || true done
test -f $F && sed ...: em uma instalação pequena esses arquivos podem não estar presentes, de forma que teste se eles existem e se não retornam 'true' para evitar qualquer erro se esse comando tiver sido copiado em um de teus próprios conjuntos de comandos sequenciais de instalação.
./install-tl --location
http://mirror.aut.ac.nz/CTAN/systems/texlive/tlnet/
:
use uma variação disso se você desejar usar um espelho
diferente, por exemplo, porque está na Nova Zelândia, mas o
instalador escolher usar um espelho australiano. A lista de
espelhos está em https://ctan.org/mirrors/.
Os aplicativos incluídos no TeX são numerosos demais para
se listar individualmente. Por favor, consulte as
páginas HTML e PDF do programa individual nos
vários arquivos html, man ou pdf nos subdiretórios
de |
De acordo com https://www.tug.org/historic/ o site mestre na França suporta somente FTP e rsync. Agora que o FTP está geralmente obsoleto, essa página tem links para espelhos, alguns dos quais suportam HTTPS, por exemplo, em Utah e Chemntiz, bem como na China. Se você preferir usar um espelho diferente a partir dos links de exemplo aqui, você precisará navegar até systems/historic/texlive/2022 ou systems/texlive/2022 conforme o caso.
A maior parte do TeX Live pode ser construída a partir do fonte sem uma instalação pré existente, mas o xindy (para indexação) precisa de versões funcionais de latex e pdflatex quando o configure for executado e a suíte de teste e a instalação do asy (para gráficos vetoriais) falharão se o TeX ainda não tiver sido instalado. Além disso, biber não é fornecido no fonte do texlive e a versão de dvisvgm na árvore do texlive não pode ser construída se bibliotecas de sistema compartilhadas forem usadas.
Todos esses pacotes são tratados em nas próprias páginas deles e podem ser construídos depois de se instalar esse pacote. Se ainda não tiver feito isso, você deveria iniciar em Configurando o PATH para TeX Live, de forma que os comandos finais para inicializar a nova instalação sejam encontrados.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://ftp.math.utah.edu/pub/tex/historic/systems/texlive/2022/texlive-20220321-source.tar.xz
Transferência (FTP): ftp://tug.org/texlive/historic/2022/texlive-20220321-source.tar.xz
Soma de verificação MD5 da transferência: 4f05bbd93004175275f50215a4c51608
Tamanho da transferência: 65 MB
Espaço em disco estimado exigido: 8,0 GB incluindo a transferência adicional e os testes; 7,3 GB instalados
Tempo de construção estimado: 3,9 UPC incluindo a transferência adicional e os testes, construindo com paralelismo=4
Grande parte do ambiente do texlive (incluindo conjuntos de comandos sequenciais, documentação, fontes e vários outros arquivos) não faz parte do tarball do fonte. Você precisa baixá-lo separadamente. Isso te dará todos os arquivos adicionais fornecidos por uma instalação completa da versão binária; não existe uma maneira realista de restringir quais partes serão instaladas.
Devido ao tamanho desse pacote, é improvável que seja espelhado por espelhos do BLFS. Em caso de dificuldade, vá até http://www.ctan.org/mirrors/ para encontrar um espelho mais acessível.
Transferência (HTTP): https://ftp.math.utah.edu/pub/tex/historic/systems/texlive/2022/texlive-20220321-texmf.tar.xz
Transferência (FTP): ftp://tug.org/texlive/historic/2022/texlive-20220321-texmf.tar.xz
Soma de verificação MD5 da transferência: 9806803f703b6ce4d9845c46806a7a08
Tamanho da transferência: 3,4 GB
A partir do ano de 2019, a base de dados tlpdb dos pacotes do texlive não mais é instalada com o fonte. Mas, o texdoc precisa de um arquivo de cache derivado a partir desse (e criará o cache na primeira execução dele).
Transferência (HTTP): https://ftp.tu-chemnitz.de/pub/tug/historic/systems/texlive/2022/texlive-20220325-tlpdb-full.tar.gz
Transferência (FTP): ftp://tug.org/texlive/historic/2022/texlive-20220325-tlpdb-full.tar.gz
Soma de verificação MD5 da transferência: 1084c37c6775b567ed7babd71e612f75
Tamanho da transferência: 3,1 MB
O fonte vem com as próprias versões dele de muitas bibliotecas, e as usará, a menos que seja forçado a usar as versões do sistema. As seguintes são recomendadas de forma que a versão do sistema seja usada: Cairo-1.17.6, Fontconfig-2.14.2, FreeType-2.13.0, GC-8.2.2, Graphite2-1.3.14, HarfBuzz-7.0.0 (construído com graphite2 habilitado), ICU-72.1, libpaper-1.1.24+nmu5 (usado por, pelo menos, context e xelatex) e libpng-1.6.39
Além disso, as instruções abaixo assumem que você está usando o esquema descrito em Configurando o PATH para TeX Live.
O fonte vem com as próprias versões dele de diversas bibliotecas, as quais ou não estão em desenvolvimento ativo ou são usadas somente para funcionalidades limitadas. Se você instalar essas, como acontece com algumas outras dependências opcionais neste livro, você precisará dizer ao configure para usar as versões do sistema. GD, t1lib, ZZIPlib, TECkit
Python-2.7.18 é usado por muitos
conjuntos de comandos sequenciais - a maioria sem manutenção.
Muitos invocam /usr/bin/env
python
, alguns invocam /usr/bin/python
. Geralmente não é sabido se
eles funcionarão com um link simbólico para python3 (como usado em
algumas distribuições) e dois oriundos do pythontex invocam
python2.
Ruby-3.2.1 é usado por alguns conjuntos de
comandos sequenciais, principalmente dentro de mtx_context, o
qual faz parte do conTeXt,
mas também por um ou dois outros, como match_parens, que
geralmente são úteis. O módulo Perl
Tk, que precisa ser executado a partir de uma Sessão do
X11 para executar os testes e exige Tk-8.6.13, é usado por um dos
conjuntos de comandos sequenciais para ptex (escrita vertical
japonesa), pode ser usado por um conjunto de comandos
sequenciais texfind do conTeXt e é necessário para texdoctk
(uma interface GUI para localizar arquivos de documentação e
abri-los com o visualizador apropriado). ps2pdf, proveniente de
ghostscript-10.00.0, é usado por
alguns utilitários e conjuntos de comandos sequenciais.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/texlive
Instale o TeX Live executando os seguintes comandos:
Se você desejar atualizar para o texlive atual em um sistema mais
antigo, onde pacotes extras (asymptote, biber, dvisvgm ou xindy) tenham sido instalados, você
precisará reinstalá-los, bem como corrigir teu PATH
para $TEXLIVE_PREFIX
.
As bibliotecas compartilhadas serão instaladas em um
diretório do texlive. Como o(a) usuário(a) root
, adicione-o ao teu /etc/ld.so.conf
:
cat >> /etc/ld.so.conf << EOF
# Inicia adição do texlive
$TEXLIVE_PREFIX/lib
# Termina adição do texlive
EOF
Uma instalação bem-sucedida requer que alguns comandos do
texlive sejam executados como o(a) usuário(a) root, de
forma que nós exportaremos a variável TEXARCH para permitir
que o(a) root
a use.
Agora, como um(a) usuário(a) normal:
export TEXARCH=$(uname -m | sed -e 's/i.86/i386/' -e 's/$/-linux/') && mkdir texlive-build && cd texlive-build && ../configure \ --prefix=$TEXLIVE_PREFIX \ --bindir=$TEXLIVE_PREFIX/bin/$TEXARCH \ --datarootdir=$TEXLIVE_PREFIX \ --includedir=$TEXLIVE_PREFIX/include \ --infodir=$TEXLIVE_PREFIX/texmf-dist/doc/info \ --libdir=$TEXLIVE_PREFIX/lib \ --mandir=$TEXLIVE_PREFIX/texmf-dist/doc/man \ --disable-native-texlive-build \ --disable-static --enable-shared \ --disable-dvisvgm \ --with-system-cairo \ --with-system-fontconfig \ --with-system-freetype2 \ --with-system-gmp \ --with-system-graphite2 \ --with-system-harfbuzz \ --with-system-icu \ --with-system-libgs \ --with-system-libpaper \ --with-system-libpng \ --with-system-mpfr \ --with-system-pixman \ --with-system-zlib \ --with-banner-add=" - BLFS" && make
Para testar os resultados, emita: make check.
Agora, como o(a) usuário(a) root
:
make install-strip && /sbin/ldconfig && make texlinks && mkdir -pv $TEXLIVE_PREFIX/tlpkg/TeXLive/ && install -v -m644 ../texk/tests/TeXLive/* $TEXLIVE_PREFIX/tlpkg/TeXLive/ && tar -xf ../../texlive-20220325-tlpdb-full.tar.gz -C $TEXLIVE_PREFIX/tlpkg
Execute make texlinks somente uma vez. Se for executado novamente, poderá mudar todos os links simbólicos do aplicativo, de forma que eles apontem para eles mesmos e sejam inúteis.
Agora instale os arquivos adicionais como o(a) usuário(a)
root
:
tar -xf ../../texlive-20220321-texmf.tar.xz -C $TEXLIVE_PREFIX --strip-components=1
Foi estabelecido pelo Debian que os conjuntos de comandos
sequenciais do python em latex-make
funcionarão com o python3, de forma que
atualize-os para invocar isso executando o seguinte comando
como o(a) usuário(a) root
:
for F in $TEXLIVE_PREFIX/texmf-dist/scripts/latex-make/*.py ; do sed -i 's%/usr/bin/env python%/usr/bin/python3%' $F done
Ainda como o(a) usuário(a) root
, inicialize o novo sistema (os
comandos fmtutil-sys
--all e mtxrun
--generate produzirão um monte de saída gerada):
mktexlsr && fmtutil-sys --all && mtxrun --generate
Agora você pode prosseguir para asymptote-2.85, biber-2.18, dvisvgm-3.0.3 e (ou) xindy-2.5.1 se desejar instalá-los.
--prefix=, --bindir=,
--datarootdir=, --infodir=, --mandir= ...
: essas
chaves asseguram que os arquivos instalados a partir do fonte
sobrescreverão quaisquer arquivos correspondentes previamente
instalados por install-tl-unx, de forma que os métodos
alternativos de se instalar o texlive sejam consistentes.
--includedir=, --libdir=
...
: essas chaves garantem que as bibliotecas e
os arquivos de inclusão estarão dentro dos diretórios do
texlive deste ano.
--disable-static
:
Essa chave impede a instalação das versões estáticas das
bibliotecas.
--enable-shared
: Use
versões compartilhadas de libkpathsea
, libptexenc
, libsynctex
, libtexlua52
e libtexluajit
.
--with-system-...
: A
menos que esse parâmetro seja usado, as versões incluídas
dessas bibliotecas serão compiladas estaticamente nos
aplicativos que necessitarem delas. Se você decidiu não
instalar uma biblioteca recomendada, omita a chave
correspondente.
--disable-dvisvgm: Conforme observado acima, a versão enviada do dvisvgm, que tem arquivos modificados de configuração, não pode ser construída com bibliotecas de sistema compartilhadas.
--without-x
: use isso se você não
tiver o Xorg instalado.
/sbin/ldconfig: isso tem que ser executado aqui, de forma que make texlinks possa usar kpsewhich.
make texlinks : isso executa o conjunto de comandos sequenciais texlinks.sh para criar links simbólicos de formats para engines. Na prática, vários dos alvos, como o xetex, agora são binários separados e para esses ele informará "file already exists".
tar -xf texlive-20220321-texmf.tar.xz -C $TEXLIVE_PREFIX --strip-components=1: o tarball contém os arquivos para o diretório texmf-dist e, devido ao tamanho dele, nós não queremos desperdiçar tempo e espaço desempacotando-o e depois copiando os arquivos.
install -v -m644
../texk/tests/TeXLive/*
$TEXLIVE_PREFIX/tlpkg/TeXLive/: Isso coloca
os módulos do Perl TLConfig.pm
e TLUtils.pm
no diretório onde
o instalador do binário os coloca - está no início do PATH
@INC@ do Perl dentro do texlive quando instalado usando as
chaves de configuração acima. Sem esses módulos, o texlive
não é usável.
mktexlsr: Crie
um arquivo ls-R
que lista o que
foi instalado - isso é usado pelo kpathsea para encontrar
arquivos.
fmtutil-sys --all: Isso inicializa os formatos do TeX, bases Metafont e memorandos Metapost.
mtxrun --generate: Isso inicializa o sistema ConTeXt.
Os aplicativos incluídos no TeX são numerosos demais para
se listar individualmente. Por favor, consulte as
páginas HTML e PDF do programa individual nos
vários arquivos html, man ou pdf nos subdiretórios
de |
|
(kpathsearch) existe para procurar um arquivo em uma lista de diretórios e é usado pelo kpsewhich |
|
é uma biblioteca para pTeX japonês (publicação de TeX) |
|
é a biblioteca do analisador SyncTeX (Synchronize TeXnology) |
|
fornece Lua 5.2, modificado para uso com o LuaTeX |
|
fornece LuaJIT, modificado para uso com o LuaJITTeX |
Asymptote é uma poderosa linguagem gráfica vetorial descritiva que fornece uma estrutura natural baseada em coordenadas para desenhos técnicos. Rótulos e equações podem ser tipograficamente compostos com o LaTeX. Além de saída EPS, PDF e PNG, ele pode produzir renderização HTML 3D WebGL e (usando o dvisvgm) saída SVG.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://downloads.sourceforge.net/asymptote/asymptote-2.85.src.tgz
Soma de verificação MD5 da transferência: 063786b8914f718d3bccf9d9168458f1
Tamanho da transferência: 15 MB
Espaço em disco estimado exigido: 222 MB (55 MB instalado, com todas as dependências que estão dentro do BLFS)
Tempo de construção estimado: 1,3 UPC (usando paralelismo = 4)
ghostscript-10.00.0 e texlive-20220321
cURL-7.88.1, Freeglut-3.4.0, GC-8.2.2, GLEW-2.2.0, GLM-0.9.9.8 e libtirpc-1.3.3
dvisvgm-3.0.3 para permitir saída gerada SVG
fftw-3.3.10, Gsl-2.7.1, libsigsegv-2.14, ambos Boost-1.81.0 e rapidjson para usar LSP, que pode ser usada com emacs e eigen
ImageMagick-7.1.0-61 para converter a saída para outros formatos, como JPEG ou para criar GIFs animados, PyQt5 (não testado, tem uma dependência de construção do Qt-5.15.8) para usar xasy.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/asymptote
Certos conjuntos de comandos sequenciais 3D de PDF possivelmente não funcionem quando invocados a partir do pdflatex em algumas máquinas APU zen+ amdgpu.
Instale o asymptote executando os seguintes comandos:
export TEXARCH=$(uname -m | sed -e 's/i.86/i386/' -e 's/$/-linux/') && ./configure --prefix=$TEXLIVE_PREFIX \ --bindir=$TEXLIVE_PREFIX/bin/$TEXARCH \ --datarootdir=$TEXLIVE_PREFIX/texmf-dist \ --infodir=$TEXLIVE_PREFIX/texmf-dist/doc/info \ --libdir=$TEXLIVE_PREFIX/texmf-dist \ --mandir=$TEXLIVE_PREFIX/texmf-dist/doc/man \ --disable-lsp \ --enable-gc=system \ --with-latex=$TEXLIVE_PREFIX/texmf-dist/tex/latex \ --with-context=$TEXLIVE_PREFIX/texmf-dist/tex/context/third && make
Para testar os resultados, emita: make check.
Agora, como o(a) usuário(a) root
:
make install
--prefix=, --bindir=,
--datarootdir=, --infodir=, --mandir= ...
: essas
chaves asseguram que os arquivos instalados a partir do fonte
sobrescreverão quaisquer arquivos correspondentes previamente
instalados por install-tl-unx, de forma que os métodos
alternativos de se instalar o texlive sejam consistentes.
--libdir=$TEXLIVE_PREFIX/texmf-dist;
:
Esse parâmetro garante que o diretório asymptote
sobrescreverá de forma semelhante
quaisquer arquivos instalados por install-tl-unx.
--disable-lsp
: O
Language Server Protocol é habilitado por padrão, com
diversas fontes de terceiros incluídas, mas ele não constrói,
a menos que boost e repidjson tenham sido instalados.
--enable-gc=system
:
isso garante que a versão do sistema da libgc.so
será usada em vez da versão
fornecida com esse pacote.
--with-latex= ...
--with-context=
: Essas chaves garantem que os
arquivos de estilo e um arquivo tex serão instalados nos
diretórios do texlive em vez
de criar um diretório texmf-local
para eles.
Biber é um substituto do BibTeX para usuários(as) do biblatex, escrito em Perl, com suporte completo a Unicode.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/plk/biber/archive/v2.18/biber-2.18.tar.gz
Soma de verificação MD5 da transferência: 5a503052bf88aff12dcef7a2d8a8e4f2
Tamanho da transferência: 1,5 MB
Espaço em disco estimado exigido: 14 MB
Tempo de construção estimado: 0,4 UPC incluindo testes
Se você tiver atualizado para um novo lançamento do
texlive-source, o biber e as dependências Perl dele ainda
estarão presentes em /usr
e
não precisam ser reconstruídas. Contudo, o biblatex instala
em /opt/texlive/2022
e
precisa ser reinstalado.
Se você instalou as dependências acima usando as instruções do BLFS para cada uma delas, perl ./Build.PL reclamará que Mozilla::CA não está instalado, mas isso não é necessário, a menos que o CPAN seja usado para instalar os módulos. O BLFS corrige LWP::Protocol::https para usar os certificados do sistema; Mozilla::CA usa certificados antigos.
Transferência (HTTP): https://sourceforge.net/projects/biblatex/files/biblatex-3.18/biblatex-3.18b.tds.tgz
Soma de verificação MD5 da transferência: cd4c996e5ad4431c9f89c6e6c37a38df
Tamanho da transferência: 18 MB
autovivification-0.18 Business-ISBN-3.007 Business-ISMN-1.202 Business-ISSN-1.005 Class-Accessor-0.51 Data-Compare-1.27 Data-Dump-1.25 Data-Uniqid-0.12 DateTime-Calendar-Julian-0.107 DateTime-Format-Builder-0.83 Encode-EUCJPASCII-0.03 Encode-HanExtra-0.23 Encode-JIS2K-0.03 File-Slurper-0.014 IO-String-1.08 IPC-Run3-0.048 Lingua-Translit-0.29 List-AllUtils-0.19 List-MoreUtils-0.430 Log-Log4perl-1.57 LWP-Protocol-https-6.10 Module-Build-0.4232 Parse-RecDescent-1.967015 PerlIO-utf8_strict-0.010 Regexp-Common-2017060201 Sort-Key-1.33 Text-BibTeX-0.89 Text-CSV-2.02 Text-Roman-3.5 Unicode-Collate-1.31 Unicode-LineBreak-2019.001 XML-LibXML-Simple-1.01 XML-LibXSLT-2.002001 XML-Writer-0.900
File-Which-1.27 e Test-Differences-0.69
É possível instalar todas as dependências ausentes automaticamente. Você precisa primeiro instalar Module-Build-0.4232, usando instalação automática de módulos "Perl". Em seguida, execute perl ./Build.PL e quando solicitado, torne-se o(a) usuário(a) root e execute ./Build installdeps - isso usará CPAN e, como observado acima, usará Mozilla::CA, em vez de usar os certificados de sistema.
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/biber
Instale o Biber executando os seguintes comandos:
perl ./Build.PL && ./Build
Para testar os resultados, digite: ./Build test
Agora, como o(a) usuário(a) root
:
./Build install
A versão correspondente do biblatex é um projeto separado. O
tarball é pré empacotado para desempacotar no diretório
texmf-dist
. Instale-o como o(a)
usuário(a) root
:
tar -C $TEXLIVE_PREFIX/texmf-dist -xf ../biblatex-3.18b.tds.tgz
O pacote dvisvgm converte arquivos DVI, EPS e PDF para o formato SVG.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://github.com/mgieseki/dvisvgm/releases/download/3.0.3/dvisvgm-3.0.3.tar.gz
Soma de verificação MD5 da transferência: e3de28609b74a61ea496c85b3e0f0ef1
Tamanho da transferência: 2,9 MB
Espaço em disco estimado exigido: 310 MB (44 MB instalado; adicionar 962 MB para os testes)
Tempo de construção estimado: 0,8 UPC (adicionar 0,6 UPC para os testes, ambos usando paralelismo=4)
Brotli-1.0.9, ghostscript-10.00.0 e Potrace-1.16
asciidoc-10.2.0 com xmlto-0.0.28 e libxslt-1.1.37 (vejam-se as explicações do comando), dblatex (com o acima) e xxHash (a versão atual está incluída no tarball)
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/dvisvgm
Para habilitar que o sistema de construção se vincule a
libkpathsea.so
, como o(a)
usuário(a) root
, crie um link
simbólico a partir de /usr/lib
:
ln -svf $TEXLIVE_PREFIX/lib/libkpathsea.so /usr/lib
A suíte de teste assume que uma versão moderna do
Python tenha sido instalada
como python
simples. Mudar isso para usar o python3 exige um sed para
um arquivo Makefile.in
.
Instale o dvisvgm executando os seguintes comandos:
sed -i 's/python/&3/' tests/Makefile.in && ./configure \ --bindir=$TEXLIVE_PREFIX/bin/${TEXARCH} \ --mandir=$TEXLIVE_PREFIX/texmf-dist/doc/man \ --with-kpathsea=$TEXLIVE_PREFIX && make
Para testar os resultados, emita: make check.
Agora, como o(a) usuário(a) root
:
make install
ln -svf $TEXLIVE_PREFIX/lib/libkpathsea.so /usr/lib: Sem isso, o aplicativo não se vinculará corretamente,
--with-kpathsea=$TEXLIVE_PREFIX
:
Isso permite que o sistema de construção encontre os
cabeçalhos para kpathsea
Xindy é um processador de índice que pode ser usado para gerar índices semelhantes a livros para sistemas arbitrários de preparação de documentos. Isso inclui sistemas como TeX e LaTeX, a família roff e sistemas baseados em SGML/XML (por exemplo, HTML) que processam algum tipo de texto e geram informações de indexação.
Esse pacote é conhecido por construir e funcionar adequadamente usando uma plataforma LFS 11.3.
Transferência (HTTP): https://tug.ctan.org/support/xindy/base/xindy-2.5.1.tar.gz
Soma de verificação MD5 da transferência: 221acfeeb0f6f8388f89a59c56491041
Tamanho da transferência: 506 KB
Espaço em disco estimado exigido: 15 MB
Tempo de construção estimado: menos que 0,1 UPC
Observações de Usuário(a): https://wiki.linuxfromscratch.org/blfs/wiki/xindy
Instale o xindy executando os seguintes comandos:
export TEXARCH=$(uname -m | sed -e 's/i.86/i386/' -e 's/$/-linux/') && sed -i "s/ grep -v '^;'/ awk NF/" make-rules/inputenc/Makefile.in && sed -i 's%\(indexentry\)%\1\\%' make-rules/inputenc/make-inp-rules.pl && patch -Np1 -i ../xindy-2.5.1-upstream_fixes-2.patch && ./configure --prefix=$TEXLIVE_PREFIX \ --bindir=$TEXLIVE_PREFIX/bin/$TEXARCH \ --datarootdir=$TEXLIVE_PREFIX \ --includedir=/usr/include \ --libdir=$TEXLIVE_PREFIX/texmf-dist \ --mandir=$TEXLIVE_PREFIX/texmf-dist/doc/man && make LC_ALL=POSIX
Esse pacote não tem uma suíte de teste.
Agora, como o(a) usuário(a) root
:
make install
sed -i "s/ grep -v '^;'/ awk NF/" ...: A construção classifica os arquivos em codificações latinas{1..3} para criar latin.xdy, e versões Unicode desses, para criar utf8.xdy depois de usar grep -v '^;' para remover linhas em branco. Com grep-2.23, qualquer dado que não esteja na codificação esperada é tratado como binário, resultando em um arquivo inútil. Esse comando usa uma forma alternativa de remover linhas em branco.
sed -i 's%\(indexentry\)%\1\\%'
...: Uma expressão regular contém
indexentry{
- Perl avisou acerca
da chave esquerda sem escape por algum tempo e agora a trata
como ilegal. Mude para indexentry\{
, duplicando a barra invertida
para o sed.
patch -Np1 -i ../xindy-2.5.1-upstream_fixes-2.patch: O Xindy agora é mantido no CTAN. Esse remendo atualiza o fonte com algumas das mudanças feitas lá (mas ignorando as mudanças que foram feitas somente para permitir espaços nos nomes de caminhos e algumas mudanças triviais recentes).
--prefix=, --bindir=,
--datarootdir=, --infodir=, --mandir= ...
: essas
chaves asseguram que os arquivos instalados a partir do fonte
sobrescreverão quaisquer arquivos correspondentes previamente
instalados por install-tl-unx, de forma que os métodos
alternativos de se instalar o texlive sejam consistentes.
--includedir=/usr/include
: Esse
parâmetro garante que os cabeçalhos kpathsea
oriundos do texlive-20220321 serão
encontrados.
make
LC_ALL=POSIX: com a versão atual do
coreutils, é essencial
construir o xindy na
localidade POSIX (ou C), porque em uma localidade UTF -8 o
arquivo latin.xdy
conterá
somente um cabeçalho e então uma linha 'Binary file (standard input) matches
' em vez
das muitas linhas de comandos de regra de mesclagem do
lisp que deve conter.
Código Jurídico da “Creative Commons”
Atribuição - Uso não-Comercial - Compartilhamento pela mesma licença 2.0
A INSTITUIÇÃO "CREATIVE COMMONS" NÃO É UM ESCRITÓRIO DE ADVOCACIA E NÃO PRESTA SERVIÇOS JURÍDICOS. A DISTRIBUIÇÃO DESTA LICENÇA NÃO ESTABELECE QUALQUER RELAÇÃO ADVOCATÍCIA. A "CREATIVE COMMONS" DISPONIBILIZA ESTA INFORMAÇÃO "NO ESTADO EM QUE SE ENCONTRA". A "CREATIVE COMMONS" NÃO FAZ QUALQUER GARANTIA QUANTO ÀS INFORMAÇÕES DISPONIBILIZADAS E SE EXONERA DE QUALQUER RESPONSABILIDADE POR DANOS RESULTANTES DO SEU USO.
Licença
A OBRA (CONFORME DEFINIDA ABAIXO) É DISPONIBILIZADA DE ACORDO COM OS TERMOS DESTA LICENÇA PÚBLICA "CREATIVE COMMONS" ("CCPL" OU "LICENÇA"). A OBRA É PROTEGIDA POR DIREITO AUTORAL E (OU) OUTRAS LEIS APLICÁVEIS. QUALQUER USO DA OBRA QUE NÃO O AUTORIZADO SOB ESTA LICENÇA OU PELA LEGISLAÇÃO AUTORAL É PROIBIDO.
AO EXERCER QUAISQUER DOS DIREITOS À OBRA AQUI CONCEDIDOS, VOCÊ ACEITA E CONCORDA FICAR OBRIGADO(A) NOS TERMOS DESTA LICENÇA. O LICENCIANTE CONCEDE A VOCÊ OS DIREITOS AQUI CONTIDOS EM CONTRAPARTIDA À SUA ACEITAÇÃO DESTES TERMOS E CONDIÇÕES.
Definições
"Obra Coletiva" significa uma obra, tal como uma edição periódica, antologia ou enciclopédia, na qual a Obra em sua totalidade e de forma inalterada, em conjunto com um número de outras contribuições, constituindo obras independentes e separadas em si mesmas, são agregadas em um trabalho coletivo. Uma obra que constitua uma Obra Coletiva não será considerada Obra Derivada (conforme definido abaixo) para os propósitos desta licença.
"Obra Derivada" significa uma obra baseada sobre a Obra ou sobre a Obra e outras obras pré existentes, tal como uma tradução, arranjo musical, dramatização, romantização, versão de filme, gravação de som, reprodução de obra artística, resumo, condensação ou qualquer outra forma na qual a Obra possa ser refeita, transformada ou adaptada, com a exceção de que uma obra que constitua uma Obra Coletiva não será considerada Obra Derivada para fins desta licença. Para evitar dúvidas, quando a Obra for uma composição musical ou gravação de som, a sincronização da Obra em relação cronometrada com uma imagem em movimento ("synching") será considerada uma Obra Derivada para os propósitos desta licença.
"Licenciante" significa a pessoa física ou a jurídica que oferece a Obra sob os termos desta Licença.
"Autor(a) Original" significa a pessoa física ou jurídica que criou a Obra.
"Obra" significa a obra autoral, passível de proteção pelo direito autoral, oferecida sob os termos desta Licença.
"Você" significa a pessoa física ou jurídica exercendo direitos sob esta Licença que não tenha previamente violado os termos desta Licença com relação à Obra, ou que tenha recebido permissão expressa do(a) Licenciante para exercer direitos sob esta Licença apesar de uma violação prévia.
"Elementos da Licença" significa os principais atributos da licença correspondente, conforme escolhidos pelo(a) Licenciante e indicados no título desta Licença: Atribuição, Não-comercial, Compartilhamento pela Mesma Licença.
Direitos de Uso Legítimo. Nada nesta licença é destinado a reduzir, limitar ou restringir quaisquer direitos emergentes do uso legítimo, primeira venda ou outras limitações sobre os direitos exclusivos do titular de direitos autorais sob a legislação autoral ou quaisquer outras leis aplicáveis.
Concessão da Licença. Sujeita aos termos e condições desta Licença, o(a) Licenciante concede a Você uma licença de abrangência mundial, sem royalties, não-exclusiva, perpétua (pela duração do direito autoral aplicável), para exercer os direitos sobre a Obra definidos abaixo:
reproduzir a Obra, incorporar a Obra em uma ou mais Obras Coletivas e reproduzir a Obra quando incorporada em Obra Coletiva;
para criar e reproduzir Obras Derivadas;
para distribuir cópias ou gravações da Obra, exibir publicamente, executar publicamente e executar publicamente por meio de uma transmissão de áudio digital a Obra, inclusive quando incorporada em Obras Coletivas;
para distribuir cópias ou gravações de Obras Derivadas, exibir publicamente, executar publicamente e executar publicamente por meio de uma transmissão digital de áudio Obras Derivadas;
Os direitos acima podem ser exercidos em todas as mídias e formatos, independente de serem conhecidos agora ou concebidos posteriormente. Os direitos acima incluem o direito de fazer modificações que forem tecnicamente necessárias para exercer os direitos em outras mídias, meios e formatos. Todos os direitos não concedidos expressamente pelo(a) Licenciante ficam aqui reservados, incluindo, mas não se limitando, os direitos definidos nas Seções 4(e) e 4(f).
Restrições. A licença concedida na Seção 3 acima está expressamente sujeita e limitada aos seguintes termos:
Você pode distribuir, exibir publicamente, executar publicamente ou executar publicamente por meios digitais a Obra apenas sob os termos desta Licença, e Você deve incluir uma cópia desta licença, ou o Identificador Uniformizado de Recursos ("Uniform Resource Identifier") para esta Licença, com cada cópia ou gravação da Obra que Você distribuir, exibir publicamente, executar publicamente, ou executar publicamente por meios digitais. Você não poderá oferecer ou impor quaisquer termos sobre a Obra que alterem ou restrinjam os termos desta Licença ou o exercício dos direitos aqui concedidos para os(as) destinatários(as). Você não poderá sublicenciar a Obra. Você deverá manter intactas todas as informações que se referem a esta Licença e à exclusão de garantias. Você não pode distribuir, exibir publicamente, executar publicamente ou executar publicamente por meios digitais a Obra com qualquer medida tecnológica que controle o acesso ou o uso da Obra de maneira inconsistente com os termos deste Acordo de Licença. O disposto acima se aplica à Obra enquanto incorporada em uma Obra Coletiva, mas isso não requer que a Obra Coletiva, à parte da Obra em si, esteja sujeita aos termos desta Licença. Se Você criar uma Obra Coletiva, em havendo notificação de qualquer Licenciante, Você deve, na medida do razoável, remover da Obra Coletiva qualquer referência a esse Licenciante ou Autor Original, conforme solicitado. Se você criar uma Obra Derivada, em havendo notificação de qualquer Licenciante, Você deve, na medida do razoável, remover da Obra Derivada qualquer referência a esse Licenciante ou ao(à) Autor(a) Original, conforme solicitado.
Você pode distribuir, exibir publicamente, executar publicamente ou executar publicamente por meios digitais uma Obra Derivada somente sob os termos desta Licença, ou de uma versão posterior desta licença com os mesmos Elementos da Licença desta licença, ou de uma licença do internacional da "Creative Commons" ("iCommons") que contenha os mesmos Elementos da Licença desta Licença (por exemplo, Atribuição, Uso Não Comercial, Compartilhamento pela Mesma Licença Japão). Você deve incluir uma cópia desta licença ou de outra licença especificada na sentença anterior, ou o Identificador Uniformizado de Recursos ("Uniform Resource Identifier") para esta licença ou de outra licença especificada na sentença anterior, com cada cópia ou gravação de cada Obra Derivada que Você distribuir, exibir publicamente, executar publicamente ou executar publicamente por meios digitais. Você não poderá oferecer ou impor quaisquer termos sobre a Obra Derivada que alterem ou restrinjam os termos desta Licença ou o exercício dos direitos aqui concedidos para os(as) destinatários(as), e Você deverá manter intactas todas as informações que se refiram a esta Licença e à exclusão de garantias. Você não poderá distribuir, exibir publicamente, executar publicamente ou executar publicamente por meios digitais a Obra Derivada com qualquer medida tecnológica que controle o acesso ou o uso da Obra de maneira inconsistente com os termos deste Acordo de Licença. O disposto acima se aplica à Obra Derivada quando incorporada em uma Obra Coletiva, mas isso não requer que a Obra Coletiva, à parte da Obra em si, esteja sujeita aos termos desta Licença.
Você não poderá exercer nenhum dos direitos acima concedidos a Você na Seção 3 de qualquer maneira que seja predominantemente intencionada ou direcionada à obtenção de vantagem comercial ou compensação monetária privada. A troca da Obra por outros materiais protegidos por direito autoral por intermédio de compartilhamento digital de arquivos ou de outras formas não deverá ser considerada como intencionada ou direcionada à obtenção de vantagens comerciais ou compensação monetária privada, desde que não haja pagamento de nenhuma compensação monetária com relação à troca de obras protegidas por direito de autor.
Se Você distribuir, exibir publicamente, executar publicamente ou executar publicamente por meios digitais a Obra ou qualquer Obra Derivada ou Obra Coletiva, Você deve manter intactas todas as informações relativas a direitos autorais sobre a Obra e atribuir para o(a) Autor(a) Original crédito razoável com relação ao meio ou mídia que Você está utilizando, por intermédio da veiculação do nome (ou pseudônimo, se for o caso) do(a) Autor(a) Original, se fornecido; o título da Obra, se fornecido; na medida do razoável, o Identificador Uniformizado de Recursos ("URI") que o(a) Licenciante especificar para estar associado à Obra, se houver, exceto se o "URI" não se referir ao aviso de direitos autorais ou à informação sobre o regime de licenciamento da Obra; e no caso de Obra Derivada, crédito identificando o uso da Obra na Obra Derivada (exemplo: "Tradução Francesa da Obra de Autor(a) Original", ou "Roteiro baseado na Obra original de Autor(a) Original"). Tal crédito pode ser implementado de qualquer forma razoável; entretanto, no caso de Obra Derivada ou Obra Coletiva, esse crédito aparecerá no mínimo onde qualquer outro crédito comparável de autoria aparece e de modo ao menos tão proeminente quanto esse outro crédito de autoria comparável.
Para evitar dúvidas, quando a Obra for uma composição musical:
Royalties de Desempenho Sob Licenças Gerais. O(A) Licenciante reserva-se o direito exclusivo de cobrar, seja individualmente ou por meio de uma sociedade de direitos de execução (por exemplo, "ASCAP", "BMI", "SESAC"), royalties pela execução pública ou pela execução digital pública (por exemplo, "webcast") da Obra, se essa execução for destinada principalmente ou dirigida em direção a vantagens comerciais ou compensação monetária privada.
Direitos Mecânicos e Royalties Estatutários. O(A) Licenciante reserva-se o direito exclusivo de cobrar, seja individualmente ou por meio de uma agência de direitos musicais ou agente designado (por exemplo, Agência "Harry Fox"), royalties por qualquer gravação fonográfica que Você criar a partir da Obra ("versão cover") e distribuir, sujeita à licença compulsória criada pela 17 USC Seção 115 da Lei de Direitos Autorais dos Estados Unidos da América do Norte (ou equivalente em outras jurisdições), se a distribuição de tal versão "cover" for principalmente destinada ou direcionada a vantagens comerciais ou compensação monetária privada. 6. Direitos de "Webcasting" e Royalties Estatutários. Para evitar dúvidas, quando a Obra for uma gravação de som, o(a) Licenciante reserva-se o direito exclusivo de cobrar, seja individualmente ou por intermédio de uma sociedade de direitos de execução (por exemplo, "SoundExchange"), royalties pela execução digital pública (por exemplo, "webcast") da Obra, sujeito à licença compulsória criada pela 17 USC Seção 114 da Lei de Direitos Autorais dos Estados Unidos da América do Norte (ou equivalente em outras jurisdições), se a Tua execução digital pública for principalmente destinada ou direcionada a vantagens comerciais ou compensação monetária privada.
Direitos de Webcast e Royalties Estatutários. Para evitar dúvidas, quando a Obra for uma gravação de som, o(a) Licenciante reserva-se o direito exclusivo de coletar, seja individualmente ou por meio de uma sociedade de direitos de execução (por exemplo, "SoundExchange"), royalties pela execução digital pública (por exemplo, "webcast") da Obra, sujeita à licença compulsória criada pela 17 USC Seção 114 da Lei de Direitos Autorais dos Estados Unidos da América do Norte (ou equivalente em outras jurisdições), se a Tua execução digital pública for principalmente destinada ou direcionada para vantagem comercial ou compensação monetária privada.
Declarações, Garantias e Isenção de Responsabilidade
EXCETO QUANDO FOR DE OUTRA FORMA MUTUAMENTE ACORDADO PELAS PARTES POR ESCRITO, O(A) LICENCIANTE OFERECE A OBRA "NO ESTADO EM QUE SE ENCONTRA" ("AS IS") E NÃO PRESTA QUAISQUER GARANTIAS OU DECLARAÇÕES DE QUALQUER ESPÉCIE RELATIVAS À OBRA, SEJAM ELAS EXPRESSAS OU IMPLÍCITAS, DECORRENTES DA LEI OU QUAISQUER OUTRAS, INCLUINDO, SEM LIMITAÇÃO, QUAISQUER GARANTIAS SOBRE A TITULARIDADE DA OBRA, ADEQUAÇÃO PARA QUAISQUER PROPÓSITOS, NÃO-VIOLAÇÃO DE DIREITOS, OU INEXISTÊNCIA DE QUAISQUER DEFEITOS LATENTES, ACURACIDADE, PRESENÇA OU AUSÊNCIA DE ERROS, SEJAM ELES APARENTES OU OCULTOS. EM JURISDIÇÕES QUE NÃO ACEITEM A EXCLUSÃO DE GARANTIAS IMPLÍCITAS, ESSAS EXCLUSÕES PODEM NÃO SE APLICAR A VOCÊ.
Limitação de Responsabilidade. EXCETO NA EXTENSÃO EXIGIDA PELA LEI APLICÁVEL, EM NENHUMA CIRCUNSTÂNCIA O(A) LICENCIANTE SERÁ RESPONSÁVEL PARA COM VOCÊ POR QUAISQUER DANOS, ESPECIAIS, INCIDENTAIS, CONSEQUENCIAIS, PUNITIVOS OU EXEMPLARES, ORIUNDOS DESTA LICENÇA OU DO USO DA OBRA, MESMO QUE O(A) LICENCIANTE TENHA SIDO AVISADO(A) SOBRE A POSSIBILIDADE DE TAIS DANOS.
Terminação
Esta Licença e os direitos aqui concedidos terminarão automaticamente no caso de qualquer violação dos termos desta Licença por Você. Pessoas físicas ou jurídicas que tenham recebido Obras Derivadas ou Obras Coletivas de Você sob esta Licença, entretanto, não terão suas licenças terminadas desde que tais pessoas físicas ou jurídicas permaneçam em total cumprimento com essas licenças. As Seções 1, 2, 5, 6, 7 e 8 subsistirão a qualquer terminação desta Licença.
Sujeito aos termos e condições dispostos acima, a licença aqui concedida é perpétua (pela duração do direito autoral aplicável à Obra). Não obstante o disposto acima, o(a) Licenciante reserva-se o direito de difundir a Obra sob termos diferentes de licença ou de cessar a distribuição da Obra a qualquer momento; desde que, no entanto, quaisquer destas ações não sirvam como meio de retratação desta Licença (ou de qualquer outra licença que tenha sido concedida sob os termos desta Licença, ou que deva ser concedida sob os termos desta Licença) e esta Licença continuará válida e eficaz a não ser que seja terminada de acordo com o disposto acima.
Outras Disposições
Cada vez que Você distribuir ou executar publicamente por meios digitais a Obra ou uma Obra Coletiva, o(a) Licenciante oferece ao destinatário uma licença da Obra nos mesmos termos e condições que a licença concedida a Você sob esta Licença.
Cada vez que Você distribuir ou executar publicamente por meios digitais uma Obra Derivada, o(a) Licenciante oferece ao destinatário uma licença à Obra original nos mesmos termos e condições que foram concedidos a Você sob esta Licença.
Se qualquer disposição desta Licença for tida como inválida ou não-executável sob a lei aplicável, isso não afetará a validade ou a possibilidade de execução do restante dos termos desta Licença e, sem a necessidade de qualquer ação adicional das partes deste acordo, tal disposição será reformada na mínima extensão necessária para tal disposição tornar-se válida e executável.
Nenhum termo ou disposição desta Licença será considerado renunciado e nenhuma violação será considerada consentida, a não ser que tal renúncia ou consentimento seja feita por escrito e assinada pela parte que será afetada por tal renúncia ou consentimento.
Esta Licença representa o acordo integral entre as partes com respeito à Obra aqui licenciada. Não há entendimentos, acordos ou declarações relativas à Obra que não estejam especificadas aqui. O(A) Licenciante não será obrigado(a) por nenhuma disposição adicional que possa aparecer em quaisquer comunicações provenientes de Você. Esta Licença não pode ser modificada sem o mútuo acordo, por escrito, entre o(a) Licenciante e Você.
A "Creative Commons" não é uma parte desta Licença e não presta qualquer garantia relacionada à Obra. A "Creative Commons" não será responsável perante Você ou qualquer outra parte por quaisquer danos, incluindo, sem limitação, danos gerais, especiais, incidentais ou consequentes, originados com relação a esta licença. Não obstante as duas frases anteriores, se a "Creative Commons" tiver expressamente se identificado como a Licenciante, ela deverá ter todos os direitos e obrigações de Licenciante.
Exceto para o propósito delimitado de indicar ao público que a Obra é licenciada sob a "CCPL" (Licença Pública "Creative Commons"), nenhuma parte deverá utilizar a marca "Creative Commons" ou qualquer outra marca ou logo relacionado à "Creative Commons" sem consentimento prévio e por escrito da "Creative Commons". Qualquer uso permitido deverá ser de acordo com as diretrizes da "Creative Commons" de utilização da marca então válidas, conforme sejam publicadas no sítio da "web" dela ou de outro modo disponibilizadas periodicamente mediante solicitação.
A "Creative Commons" pode ser contactada em http://creativecommons.org/.
Direitos autorais © 1999-2023 A Equipe de Desenvolvimento do BLFS
Permissão é aqui concedida, gratuitamente, para qualquer pessoa que obtenha uma cópia deste software e arquivos de documentação associados (o "Software"), para lidar com o Software sem restrição, incluindo, sem limitação, os direitos para usar, copiar, modificar, mesclar, publicar, distribuir, sublicenciar, e (ou) vender cópias do Software, e para permitir para as pessoas para quem o Software for fornecido para fazer o mesmo, sujeito às seguintes condições:
O aviso de direitos autorais acima e este aviso de permissão deveria ser incluído em todas as cópias ou porções substanciais do Software.
O SOFTWARE É FORNECIDO “NO ESTADO EM QUE SE ENCONTRA”, SEM GARANTIAS DE QUALQUER ESPÉCIE, EXPLÍCITAS OU IMPLÍCITAS, INCLUINDO, PORÉM NÃO LIMITADA A, AS GARANTIAS DE COMERCIALIZAÇÃO, ADEQUAÇÃO PARA UM PROPÓSITO PARTICULAR E NÃO-VIOLAÇÃO. EM NENHUMA CIRCUNSTÂNCIA OS AUTORES OU TITULARES DE DIREITOS AUTORAIS SERÃO RESPONSÁVEIS POR QUAISQUER ALEGAÇÕES, DANOS OU OUTRA RESPONSABILIDADE, SEJA EM UMA AÇÃO DE CONTRATO, ATO ILÍCITO OU DE OUTRA FORMA, DECORRENTE DE, OU EM CONEXÃO COM, O SOFTWARE OU O USO OU OUTRAS NEGOCIAÇÕES NO SOFTWARE.
UNIS/Módulo Compositor 669
Application Binary Interface
Asymmetric Digital Subscriber Line
Andrew File System
AMD Generic Encapsulated Software Architecture
Audio Interchange File Format
Advanced Linux Sound Architecture
American National Standards Institute
Application Programming Interface
Apache Portable Runtime
Address Resolution Protocol
American Standard Code for Information Interchange
Address Space Layout Randomization
Abstract Syntax Notation
Advanced Streaming Format
Advanced Technology Attachment
Advanced Television Systems Committee
Accessibility ToolKit
Audio Video Interleave
Abstract Window Toolkit
Basic Encoding Rules
Berkeley Internet Name Domain
Basic Input/Output System
Beyond Linux From Scratch
Bit MaP
Compact Disk
Compact Disc Digital Audio
Common Internet File System
Ver Também SMB .
Cryptographic Message Syntax
Módulo COmpression/DECompression
Common Object Request Broker Architecture
Central Processing Unit
Color Rendering Dictionary
Color Space Array
Contents Scrambling System
Cascading Style Sheets
Common Unix Printing System
Concurrent Versions System
Disc At Once
Directory Address Resolution Protocol Allocation
Digital Equipment Corporation
Distinguished Encoding Rules
Data Encryption Standard
Dynamic Host Configuration Protocol
Dictionary Server Protocol (RFC 2229)
German Industrial Norm
Domain Name Service
Disk Operating System
Direct Rendering Infrastructure
Document Structuring Conventions
Dynamic Shared Objects
Document Style Semantics and Specification Language
Digital Video
Digital Versatile Disk (também Digital Video Disk)
DeVice Independent
Executable and Linking Format
Enhanced Parallel Port
Encapsulated PostScript
Enlighten Sound Daemon
Extended Simple Mail Transfer Protocol
File Alteration Monitor
Fast Assembly Mpeg Encoder
Frequently Asked Questions
Facsimile
Frame Buffer
File Hierarchy Standard
Free Lossless Audio CODEC
Formatted Objects
File Transfer Protocol
GNU Compiler Collection
GNU DataBase Manager
GTK+ Drawing Kit
GNOME Display Manager
Group IDentity
Graphics Interchange Format
OpenGL Utility Toolkit
GNU Multiple Precision Arithmetic
GNU NYU Ada 9x Translator
GNU Network Object Model Environment
GNU's Not Unix
General Public License
General Purpose Mouse
Generic Security Service
Generic Security Service Application Programming Interface
GIMP ToolKit
Graphical User Interface
Hierarchical File System
HyperText Markup Language
HyperText Transfer Protocol
HyperText Transfer Protocol Secured
Hang UP
Internet Assigned Numbers Authority
International Color Consortium
Internet Control Message Protocol
Integrated Drive Electronics
Integrated Development Environment
Interface Definition Language
Ink Jet Systems
Internet Location Server
Internet Message Access Protocol
Inode MONitor
Internet Protocol
Ver Também TCP .
Internetwork Packet eXchange
Internet Relay Chat
Integrated Services Digital Network
International Standards Organisation
Internet Service Provider
ImpulseTracker Module
Java Advanced Imaging
Java ARchive
Java Development Kit
JPEG File Interchange Format
Joint Photographic Experts Group
Key Distribution Center
KDesktop Environment
Lame Ain't an MP3 Encoder
Local Area Network
Lightweight Directory Access Protocol
Lightweight Data Interchange Format
Linux From Scratch
Library General Public License
Line PRinter
Lempel-Ziv-Oberhumer
Lempel-Ziv-Welch
Media Access Control
Multimedia COmmunication Protocol
Multipoint Control Unit
Message-Digest
Mail Delivery Agent
MED/OctaMED Module
Musical Instrument Digital Interface
Maker Interchange Format
Media Independent Interface
Multipurpose Internet Mail Extensions
Massachusetts Institute of Technology
Multiple-image Network Graphics
Módulo ProTracker
MPEG-1 audio layer 3
Moving Picture Experts Group
Magick Scripting Language
Mail Transport Agent
MultiTracker Module
Mail User Agent
Netwide ASseMbler
Network News Transfer Protocol
Network File System
Network Information Service
Native Posix Thread Library
Netscape Portable Runtime
Network Security Services
Network Time Protocol
Object Activation Framework
Open DataBase Connectivity
Open Metadata Framework
Object Request Broker
Ver Também CORBA .
Object Relational Database Management System
Operating System
Open Software Foundation
Open Sound System
Pluggable Authentication Modules
Portable BitMap
Peripheral Component Interconnect
Printer Control Language
Pulse Code Modulation
Primary Domain Controller
Portable Document Format
PHP Extension and Application Repository
Portable Grey Map
Pretty Good Privacy
PHP Hypertext Preprocessor
Position Independent Executable
Personal Information Manager
Parallel Line Internet Protocol
Portable Network Graphics
Portable Object
Plain Old Documentation
Post Office Protocol
PostScript Printer Description
Portable Pixel Map
Point to Point Protocol
Point to Point Protocol over Ethernet
PostScript
Remote Authentication Dial-In User Service
Random Access Memory
Reverse Address Resolution Protocol
Revision Control System
Request For Comments
Red Green Blue
Red Green Blue Alpha
Read-Only Memory
Roaring Penguin
Remote Procedure Call
Real Time Clock
Real Time Protocol
Read Write
ScreamTracker Version 3 Module
Secure/MIME
Scanner Access Now Easy
Simple Authentication and Security Layer
Serial Advanced Technology Attachment
Standard Build Unit
Small Computer System Interface
Software Development Kit
Standard Generalized Markup Language
Self Monitoring Analysis and Reporting Technology
Server Message Block
Synchronized Multimedia Integration Language
Simple Mail Transfer Protocol
Structured Query Language
Secure SHell
Secure Sockets Layer
Stack Smash Protection
Set User IDentity
Scalable Vector Graphics
Super Video Graphics Array
Tool Command Language
Transmission Control Protocol
Ticket-Granting Ticket
Tag(ged) Image File Format
Transport Layer Security
TrueType Font
Text To Speech
Universal Character Set
Universal Disk Format
User IDentity
User Datagram Protocol
User Interface
Unified Modelling Language
Uniform Resource Locator
Universal Serial Bus
Upstream Ready
UCS Transformation Format
Unix-to-Unix Copy Protocol
Video Compact Disk
Version Control System
Video Electronics Standards Association
Video Graphics Array
Virtual Network Computer
Video OBject
Voice Over IP
World Wide Web Consortium
Waveform Audio
World Wide Web
XDisplay Manager Control Protocol
FastTracker Module
eXtensible Markup Language
eXtensible Style Language
eXtensible Style Language Transformation
X/Open System Management
XMultiMedia System
Yellow Pages
Luminance-Bandwidth-Chrominance