Perguntas frequentes
O FAQ está dividido em três documentos. As Perguntas frequentes Gerais tem links para todas as perguntas e respostas. O FAQ do LFS é uma seleção de perguntas frequentes específicas do LFS e o FAQ do BLFS é uma seleção de perguntas frequentes específicas do BLFS.
Perguntas frequentes Gerais
Informações gerais acerca destas Perguntas Frequentes
Diretrizes de suporte
- Sou novato em Linux ou LFS e preciso de ajuda?
- Qual é o melhor lugar para obter ajuda?
- Qual lista eu deveria usar para qual tópico?
- Como posso me dirigir à comunidade LFS?
Defeitos frequentemente informados
- Os comandos "ln -s" do Livro estão errados.
- bash: [: faltando `]'
- /bin/foo é uma cópia de /bin/bar.
- Posso usar uma versão mais recente que a do Livro?
- Existe uma nova versão do pacote Foo.
- A tecla Delete não funciona.
- O sistema desliga quando ocorre um erro no fsck!
- Onde estão os tarballs dos pacotes do LFS ou os scripts wget?
- Como encontro um pacote ou comando?
- Como eu atualizo meu sistema LFS/BLFS?
- Os comandos no livro LFS/BLFS não funcionam com o sudo!
FAQ do LFS:
Aprimoramentos solicitados com frequência
- Por que não incluir o FAQ no livro?
- Por que o vim está no livro?
- Por que não existe nenhum gerenciador de pacotes no livro?
- Como faço para desligar minha máquina ao desligar?
- Como inicializo o LFS com UEFI?
- Posso pular um pacote do Capítulo 8, pois ele já foi construído no Capítulo 6 ou 7 e está funcionando corretamente?
- Posso modificar o código do GCC e me livrar de/lib64?
Ao ler e construir o LFS
- Qual distribuição devo usar para começar?
- Como eu compilo um núcleo ou configuro módulos?
- Os avisos do compilador oriundos do GCC são ruins?
- Preciso manter o fonte após a instalação?
- Existem informações acerca de como construir o LFS em outros processadores?
- Como eu compilo cruzadamente o LFS?
- O que é um arquivo de texto no formato DOS?
- Existe uma maneira de baixar todos os arquivos atuais de uma vez?
Erros gerais de compilação
- Ao usar sinalizadores de otimização (configurando CFLAGS)
- a saída do configure mostra erros, "gcc -V" não está errado?
- Por que o GCC informa "Erro interno do compilador" para um aplicativo "olá mundo"?
- Eu não deletei a árvore do fonte depois da minha tentativa mais recente. Eu preciso?
- Estou recebendo `/dev/null: Permissão negada'
- sinal 11 (erro interno: falha de segmentação)
- “Esse arquivo ou diretório não existe” tentando fazer chroot
- bash: ./configure: Esse arquivo ou diretório não existe
- ./configure: mau intérprete: permissão negada
- configure não consegue adivinhar meu tipo de dispositivo.
- verificando se estamos usando GNU C... não
- O sistema não tem mais ptys. Peça a teu(ua) administrador(a) do sistema(a) para criar mais.
- Tcl: ./config.status: line 508: 0a1,66: comando não encontrado (ou qualquer mensagem semelhante com apenas números diferentes)
- "configure: carregando cache /dev/null" em config.log
Erros específicos de pacote
- M4: Valor assumido de MB_LEN_MAX errado
- Systemd: systemd-networkd.service: Falha ao determinar as credenciais de usuário(a): esse processo não existe
Problemas de configuração e inicialização
- Pânico de núcleo - não sincronizando: VFS: Não é possível montar o root fs em ...
- inicialização: Id "1" reaparecendo muito rápido: desabilitado por 5 minutos
- eth0:interface desconhecida
- IRQ 9: ninguém se importou (tente inicializar com a opção "irqpoll")
- O sistema LFS está muito mais lento que a distribuição do anfitrião (ou outra distribuição)
FAQ do BLFS:
Perguntas gerais do BLFS
Problemas de compilação
- Estou recebendo erros ao construir um pacote que exige o GTK+, mas instalei o GTK+ 3.x.
- Qualquer erro ao construir parte do Gnome
- "erro fatal: foo.h: arquivo ou diretórios inexistentes" nas diretivas include_next em cabeçalhos padrão C++
- "erro fatal: aplicativo terminado por sinal morto cc1plus"
- "não é possível encontrar -liberty: Esse arquivo ou diretório não existe"
Problemas de configuração
Informações gerais acerca destas Perguntas Frequentes
- Por que este FAQ?
-
O FAQ tenta responder às perguntas antes que elas sejam feitas. Isso evita o trabalho de perguntar a eles(as) e, às vezes, o trabalho de encontrar um problema.
Isso reduz o tráfego e melhora a relação sinal-ruído, mas é apenas um efeito colateral útil.
Como o FAQ não é o local natural para procurar informações, itens deveriam ser adicionados a ele somente se não puderem ser adicionados à documentação apropriada. Às vezes será necessário adicionar um ponteiro para as informações na documentação.
- O que é LFS?
-
LFS significa Linux From Scratch, que é um projeto que visa a ensinar você acerca do funcionamento interno do Linux, construindo um sistema Linux baixando, construindo e instalando os pacotes você mesmo(a).
Confira também a introdução ao LFS.
- O que é BLFS?
-
O LFS é um sistema muito básico, em enorme contraste com as distribuições tradicionais. A razão é esta: o LFS não se destina a criar teu sistema como você o deseja. Ele é destinado a ser apenas o suficiente para permitir que você construa teu sistema como o desejar. Ele não é um fim, é um começo. Quando terminar com o LFS, você estará apenas começando a construir teu sistema.
Isso pode ser um problema se você é novo(a) em sistemas Unix e quer uma instalação típica de área de trabalho com o X e um navegador da web, mas não tem ideia de quais pacotes você precisa. Por esse motivo, existe o Beyond Linux From Scratch, ou BLFS.
- Contribuindo para este FAQ.
-
Sugestões são mais que bem-vindas. O(A) mantenedor(a) do FAQ pode ser contatado(a) seja por mensagem eletrônica direta ou na lista de discussão de suporte do LFS.
Sugestões úteis incluem a adição de perguntas que sejam realmente frequentes (com respostas bem pesquisadas) e a remoção de perguntas que sejam obsoletas.
Se você pretende contribuir regularmente para este FAQ, você pode querer se inscrever na lista de discussão de FAQ. Todas as sugestões, adições (e às vezes remoções) das FAQs são discutidas lá. Correções nas perguntas frequentes também são bem-vindas, embora contribuições regulares baseadas em texto também sejam aceitas.
Tudo o que pretende constar no FAQ sem edição substancial precisa ser bem pensado, verificado e pesquisado; e escrito em um estilo consistente com o conteúdo existente.
Diretrizes de suporte
- E se eu for um(a) novato(a) em Linux ou LFS?
-
Se tiver lido os pré-requisitos e audiência, você sabe que o público-alvo do LFS são usuários(as) intermediários(as) e avançados(as) do Linux. Qualquer pessoa que tenha alguns meses de experiência com Linux e especialmente com console deveria ser capaz de montar com sucesso um sistema LFS.
Embora o LFS pareça um bom guia para iniciantes no Linux, a realidade é bem diferente. A experiência com os canais de suporte mostra que o LFS é difícil de entender e uma experiência frustrante para iniciantes porque eles(as) não entendem os conceitos básicos.
Na prática, isso significa que os(as) novatos(as) deveriam adquirir alguma experiência antes de começar com o LFS. A página de pré-requisitos lista o conhecimento de Linux mínimo exigido, mas, por favor, leia também a dica de "Pré-leitura essencial para a vida com LFS".
Esses documentos e este FAQ são o teu guia básico de sobrevivência no Linux. Você se divertirá muito com o LFS se os tiver lido, e poderá ter alguma dificuldade com o LFS e a comunidade, mas provavelmente com você mesmo(a), se ainda não os tiver lido.
- Qual é o melhor lugar para obter ajuda?
-
Quando este FAQ falha na ajuda, existem vários lugares para ir.
Se você estiver tendo um problema com alguma coisa no livro, nunca é demais revisá-lo. É surpreendente como é fácil ignorar pequenas coisas.
No mínimo, ler as páginas apropriadas de manual e info produzirá informações úteis acerca de algum assunto, se não o que você estava procurando, e garantirá que você saiba o suficiente para não se envergonhar se precisar perguntar a alguém.
O Projeto de Documentação do Linux tem os COMO FAZER e uma grande quantidade de outras documentações. Você pode encontrar alguma coisa lá.
A pesquisa do sítio inclui as listas de discussão. Muitas questões foram discutidas lá pelo menos uma vez.
Para ajuda do tipo suporte, o IRC geralmente é melhor. Ele é mais rápido e não obstrui as listas de discussão. Existem mais informações acerca dos canais de IRC na página web de suporte.
Existem alguns canais de IRC de interesse.
- #lfs - o canal da comunidade LFS.
- #lfs-support - Suporte para LFS e BLFS.
Se você estiver fazendo uma pergunta de suporte, é mais provável que você atraia ajuda competente e amigável em #lfs-support.
Como um último recurso, existem as listas de discussão. As pessoas ficarão frustradas com você se você usar a postagem errada ou cruzar. As informações da lista de discussão estão na página web de suporte e informam qual lista usar.
Por favor, lembre-se de fornecer informações suficientes quando você postar nas listas de discussão. No capítulo 1 do LFS você encontra um bom método para postar. Além disso, alguém escreveu uma dica que detalha o procedimento de informe de erros.
- Qual lista eu deveria usar para qual tópico?
-
Informações a respeito de todas as listas públicas de discussão estão disponíveis na página da lista de discussão. Aqui estão algumas diretrizes gerais acerca de qual lista usar:
- Envie perguntas de suporte para os livros estáveis lançados para lfs-support. Para qualquer coisa que não pertença ao LFS, use blfs-support. Informes de defeitos são aceitos com prazer; você pode informar para lista de discussão lfs-dev.
- Se você não estiver tendo problemas para seguir o livro LFS em si, não envie um mensagem eletrônica para lfs-support. Você pode fazer perguntas via lfs-support se estiver seguindo o Livro LFS com alguma personalização ou desvio, mas você deveria mencionar teu desvio na mensagem para evitar confundir as pessoas.
- A menos que você esteja sugerindo uma melhoria para o livro LFS em si, não envie uma mensagem eletrônica para lfs-dev.
- Somente sugestões concernentes ao livro BLFS são aceitáveis em blfs-dev.
- As coisas são um pouco diferentes com blfs-support. Tudo o que não se enquadra em uma das listas anteriores cabe lá, exceto o preço da cerveja e as guerras de chamas GNU versus BSD.
- O preço da cerveja, as guerras inflamadas GNU versus BSD, Microsoft versus Linux ou Intel versus ARM, e discussões de hardware não relacionadas à construção e execução do LFS são proibidas.
Digno de observação especial é que se mencionar Xorg, Wayland, KDE, GNOME ou qualquer coisa no BLFS, você pode ter certeza de que tua postagem não pertence a lfs-dev ou lfs-support.
- E a netiqueta?
-
Aqui estão alguns pontos práticos de etiqueta. Eles incluem somente aqueles itens que serão mencionados se esquecidos. Aqueles(as) que já conhecem listas de discussão de projetos há algum tempo acharão as primeiras óbvias. Existem itens menos óbvios indo para o final.
As razões para esses pontos foram omitidas por brevidade, mas fique tranquilo(a), essas diretrizes são mais que apenas uma preferência pessoal de um(a) indivíduo(a).
Embora o texto se refira exclusivamente às "listas", ele não pretende ignorar os grupos de notícias que espelham as listas de discussão.
Com isso resolvido, aqui estão alguns itens voltados para boas maneiras, seguidos por coisas mais "mecânicas":
Por favor, lembre-se que é rude postar perguntas que estão respondidas em documentação comumente disponível, como os livros LFS e BLFS, este FAQ, as Dicas do LFS, as páginas apropriadas de manual, os arquivos de listas e as pesquisas do Google. Contanto que você consiga demonstrar que fez um esforço para encontrar a resposta e não estiver ofendido(a) por uma indicação para a documentação, nenhuma pessoa sensata se oporá à tua pergunta.
A maioria das incômodas guerras inflamadas começa quando um(a) novato(a) posta uma pergunta óbvia, é então criticado(a) (até mesmo de maneira gentil) e fica publicamente ofendido(a). Por favor, tente evitar essa situação. Apontar "sem palavras" para o local exato na documentação é suficiente. Se você acha que precisa criticar, por favor, faça-o por mensagem eletrônica privada, não nas listas. O mesmo se aplica a qualquer outra coisa que possa se tornar aquecida.
As listas tem uma adesão internacional, de forma que gírias de todos os tipos e idiomas podem ser mal compreendidas. (Veja-se a recente discussão de "bootstrapping"). Qualquer menção a palavrões, política, guerra ou religião (mesmo em assinaturas) provavelmente perturbará alguém em algum lugar do mundo, portanto, evite-os também. Por fim, é considerado educado postar em inglês, já que muito mais pessoas nas listas o conhecem que qualquer outro idioma.
Agora, para as coisas mais "mecânicas".
- Não poste em HTML. Se você usa Yahoo, Hotmail ou Outlook e não desativou o HTML, então ele está ativado. Se você estiver usando outro cliente de mensagens, por favor, verifique antes de postar. Se você não sabe como desativar o HTML, veja nomime.html. Postagens com HTML podem chegar à lista, mas, então, renderizarem de forma completamente ilegível pelo cliente de mensagens dos(as) assinantes, fazendo com que eles(as) desistam de ler e responder às tuas mensagens.
- Quebre o texto em 72 caracteres. Se você não desejar fazer isso manualmente, configure teu cliente de mensagens para fazer isso automaticamente ao enviar.
- Responda abaixo do texto citado.
- Limite as assinaturas a quatro linhas.
- Corte o texto citado, especialmente as assinaturas. Mas, não corte para que fique confuso ler tua resposta sem consultar o original.
- Não clique em responder, a menos que você esteja realmente respondendo a uma postagem. Use novo, ou escrever, ou como teu cliente de mensagens eletrônicas o chama, para fazer uma nova pergunta ou iniciar um novo tópico. A resposta configura mais que apenas a linha de assunto e fará com que tua postagem apareça no lugar errado, a menos que você esteja realmente respondendo.
O seguinte não é o principal, mas é útil saber. Nas listas do LFS, as pessoas geralmente limpam o campo CC e apenas enviam a lista com as respostas. Isso provavelmente não é uma boa ideia, mas é uma prática existente devido a uma situação política que provavelmente não mudará.
O RFC 1855 "fornece um conjunto mínimo de diretrizes para Etiqueta de Rede de Intercomunicação (Netiqueta) e funciona como um conjunto mínimo de diretrizes para indivíduos(as), usuários(as) e administradores(as)
Defeitos frequentemente informados
- Os comandos "ln -s" no Livro estão errados.
-
Não, os comandos "ln -s" no Livro estão corretos. Uma ligação simbólica é apenas um arquivo especial contendo o nome de arquivo fornecido. Portanto, esse nome de arquivo é relativo à ligação, não ao diretório de trabalho quando a ligação é criada. Experimente e veja. Mais informações em
man ln
. - bash: [: faltando `]'
-
Você deveria entender como as "condições", como [ ... ], funcionam no Bash: "[" é um comando e "]" deveria ser o último parâmetro dele. Portanto, precisa existir um espaço em branco antes de "]", ou a execução do "[" falhará.
- /bin/foo é uma cópia de /bin/bar.
-
O número dos inodes é o mesmo? Se sim, eles não são cópias; eles estão rigidamente vinculados.
Para mais informações explicando a diferença entre ligações rígidas e flexíveis, por favor, dê uma olhada no artigo de Perguntas e Respostas na Linux Gazette em https://linuxgazette.net/105/pitcher.html.
- Posso usar uma versão mais recente que a do Livro?
-
Se essa for tua primeira vez construindo o LFS, usar uma versão que não esteja no livro ou que seja diferente do livro de alguma maneira não é uma boa ideia. Os(As) frequentadores(as) regulares do canal de IRC tem um ditado, “FBBG”, que significa “Follow Book, Book Good”. Eles(as) e as pessoas nas listas ajudaram muitos(as) novatos(as) infelizes que se desviaram do livro durante essa primeira construção.
Depois que tiver construído um sistema “de acordo com as regras”, você terá uma base de conhecimento estável a partir da qual experimentar o que quiser (ou sentir dor, como costuma ser o caso).
- Existe uma nova versão do pacote Foo.
-
Se a nova versão tiver mais que um dia, é provável que alguém tenha testado o lançamento e informado nas listas de discussão. Por favor, pesquise os arquivamentos antes de postar perguntas acerca de se ela funciona.
E, por favor, observe que pacotes diferentes tem esquemas diferentes de versionamento. Por exemplo, para muitos pacotes, versões com uma versão secundária ímpar ("y" em "x.y.z") são instantâneos de desenvolvimento e alguns outros pacotes usam níveis de remendo ("z" em "x.y.z") maiores ou iguais a 90 para pré-lançamentos. O LFS/BLFS não usará instantâneos de desenvolvimento ou pré-lançamentos, a menos que exista um bom motivo.
Se você gostaria de informar a novo lançamento, siga estas etapas para evitar fazer um informe duplicado:
- Verifique se existem tíquetes LFS ou tíquetes BLFS para ver se o lançamento foi postado lá.
- Se o lançamento não estiver em um tíquete aberto, informe-o ao lfs-dev (ou blfs-dev para pacotes no BLFS). E se quiser, teste e informe quaisquer problemas ou mudanças nas instruções de compilação, também.
- A tecla Delete não funciona.
-
Por favor, leia a página inputrc do LFS.
- O sistema desliga quando ocorre um erro no fsck!
-
Os sistemas Unix normalmente executam o sulogin se a execução normal de inicialização do fsck emitir erros, de forma que o(a) root consiga se logar e corrigi-los. Como o sulogin aceitará qualquer senha se o /etc/passwd estiver corrompido, os(as) desenvolvedores(as) do LFS decidiram que isso era um risco para a segurança. Portanto, os scripts de inicialização do LFS desligam a máquina se existirem erros de fsck, e ela precisa ser inicializada com o parâmetro de núcleo "init=/bin/bash" para obter um shell da raiz. Se isso é sensato, está além do escopo do FAQ, mas se não funcionar para você, você vai querer mudar esse script de inicialização antes que seja tarde demais.
- Onde estão os tarballs dos pacotes do LFS ou os scripts wget?
-
Os tarballs de pacotes estão disponíveis no repositório de arquivos do LFS. Existe também uma lista wget vinculada no livro, perto da parte inferior da página de Introdução de Pacotes e Remendos.
- Como encontro um pacote ou comando?
-
Por favor, consulte a página web de download do LFS.
- Como eu atualizo meu sistema LFS/BLFS?
-
Você provavelmente já sabe disso, mas o LFS não é uma distribuição no sentido tradicional. O objetivo principal dele é: ensinar às pessoas como um sistema Linux funciona internamente.
Embora isso signifique que você tem grande controle sobre teu sistema ("Tua distribuição. Tuas regras"), também tem a desvantagem de ter que cuidar da atualização você mesmo(a).
Por favor, leia a seção chamada "Problemas de Atualização" cuidadosamente antes de atualizar qualquer pacote.
Se você tiver construído um sistema LFS e o tiver estendido para se tornar teu sistema primário, a melhor coisa a fazer é a de decidir a respeito de uma política de atualização. Você quer manter a versão mais recente de cada pacote? Então, seja cuidadoso(a), porque você vai se queimar. Eu recomendo um leve conservadorismo ao atualizar para manter um sistema saudável. Uma regra geral que funciona para a maioria das pessoas é: somente atualizar pacotes se eles tiverem correções de segurança. Verifique periodicamente os avisos de segurança do LFS e BLFS e assine o LWN para manter-se informado(a) acerca de correções de segurança. Outra regra geral é: não atualize os cabeçalhos de núcleo da glibc e Linux, a menos que você reconstrua o teu sistema inteiro. Esses pacotes formam o coração do teu sistema LFS; destruí-los significa destruir a capacidade de compilar pacotes ou até mesmo executar binários.
Lembre-se de que atualizar os pacotes está por sua conta e risco. O LFS toma muito cuidado para apresentar uma combinação estável de pacotes que sejam compatíveis até o BLFS para que você possa compilar o OpenOffice.Org e o Java (que são verdadeiros dinossauros para compilar). Isso significa que o teu sistema LFS pode ficar um pouco desatualizado, mas garante compatibilidade e estabilidade. Você pode comparar isso com os lançamentos estável e de teste do Debian, embora o LFS estável seja geralmente inovador comparado com outras distribuições.
Em geral é seguro atualizar pacotes individuais; eles apenas sobrescreverão o conteúdo antigo. Os gerenciadores de pacotes cuidam de desinstalar versões antigas e é realmente conveniente ter algum tipo de sistema de gerenciamento de pacotes instalado. Dê uma olhada nas dicas; existem vários, variando de RPM a DEB, TGZ (Slackware), Checkinstall e usuários(as) de pacotes.
Um comentário final: quais instruções de pacote você deveria usar ao atualizar um pacote? Em geral, você pode usar as instruções padrão do LFS, embora não devesse assumir cegamente que elas se aplicarão a todos os pacotes. Para se manter informado(a) acerca das atualizações e instruções de novos pacotes, assine lfs-dev. Tenha em mente que essa não é uma lista de suporte, mas sim uma lista de desenvolvimento.
- Os comandos no livro LFS/BLFS não funcionam com o sudo!
-
sudo só pode executar executáveis como root. Ele não entende construções gramaticais internas do shell, por exemplo "case", "cd", "for", "if", "|" (tubulação), ">" (redirecionando a saída gerada para um arquivo), etc.
Por exemplo, quando o livro diz para executar
echo /bin/zsh >> /etc/shells
como o(a) usuário(a) root, você não pode executarsudo echo /bin/zsh >> /etc/shells
como um(a) usuário(a) não root e esperar que funcione. O redirecionamento da saída gerada é realizado pelo shell, de forma que o shell precisa abrir/etc/shells
para escrita e fazer isso exige um privilégio. Mas, o sudo não tem como aumentar o privilégio para o shell atual. Ele só pode aumentar o privilégio para o comandoecho
com/bin/zsh
como o parâmetro, mas isso não ajuda em nada.Para outro exemplo, quando o livro diz para executar
for i in /usr/lib/libfoo*.so; do chmod 755 $i; done
, você não pode precedersudo
antes do comando e executá-lo como um(a) usuário(a) não root.for
é uma construção gramatical de shell, não um executável. Portanto, sudo informará "for: comando não encontrado".Se você não sabe como usar o sudo corretamente, não o use.
Perguntas frequentes antigas e expiradas
- Estou usando uma versão que não está no livro. Isso é um problema?
-
Já existe uma entrada de perguntas frequentes que descreve isso. Como quase ninguém se refere a essa entrada, ela agora está obsoleta.
- Onde está o which?
-
Obsoleta por conta do livro BLFS.
- Onde está o portmap?
-
Obsoleta por conta do livro BLFS.
- Onde posso conseguir os logotipos do LFS?
-
Obsoleta por conta da página Arte do BLFS.
- Minha construção otimizada da glibc está falhando em spinlock.c
-
Não vamos encorajar as pessoas a otimizar a glibc. Além disso, a entrada quando usar sinalizadores de otimização (configurando CFLAGS) deveria cuidar dessa questão.
Obrigado(a)
Este FAQ é dedicado a todas as pessoas trabalhadoras nas listas de suporte que me mantém ocupado(a) com este FAQ ;-).
Obrigado(a) vai para...
- Seth W. Klein por criar e manter este FAQ antes de mim.
- Todos os rapazes (e também todas as poucas garotas; desejo que existissem mais de vocês) nas listas, de cujas respostas vem muitas dessas respostas.
- Especialmente aqueles(as) de vocês que resolvem uma pergunta, os sintomas dela e a resposta dela e enviam tudo para mim. Teus IDs estão imortalizados nos registros de commit (embora apenas durante uma eternidade digital, mas ei, eu tento :-)
- Tushar Teredesai, Chris Lingard, Jeremy Utley, The Cheeze e inúmeras outras pessoas que postam regularmente links de perguntas frequentes nas listas de suporte.
- Os(As) editores(as) do BLFS, cujo livro produz tão poucas perguntas frequentes.