O pacote zsh contém um interpretador de comandos (shell) utilizável como um shell de login interativo e como um processador de comando de script de shell. Dos shells padrão, o zsh é o que mais se assemelha ao ksh, mas inclui muitos aprimoramentos.
Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.2.
Transferência (HTTP): https://www.zsh.org/pub/zsh-5.9.tar.xz
Soma de verificação MD5 da transferência: 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)
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/ .
Adapte o sistema de construção de documentação para texinfo-7.0 ou posterior:
sed -e 's/set_from_init_file/texinfo_&/' \ -i Doc/Makefile.in
Alguns programas fornecidos no sistema de construção para detectar recursos do sistema usam sintaxe pré-C99 rejeitada pelo GCC-14.1 ou posterior. Corrija-os ou o Zsh seria configurado incorretamente e falharia para construir:
sed -e 's/^main/int &/' \ -e 's/exit(/return(/' \ -i aczsh.m4 configure.ac && sed -e 's/test = /&(char**)/' \ -i configure.ac && autoconf
Os arquivos de documentação contém referências aos arquivos de
configuração do zsh em /etc
, mas nós
usaremos /etc/zsh
para armazenar
esses arquivos de configuração em vez disso. O sistema de
construção corrigirá essas referências se o pacote yodl estiver disponível, mas está fora do
escopo do BLFS. Portanto, nós precisamos corrigir as referências
manualmente:
sed -e 's|/etc/z|/etc/zsh/z|g' \ -i Doc/*.*
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 --html -o Doc/html && makeinfo Doc/zsh.texi --plaintext -o zsh.txt && makeinfo Doc/zsh.texi --html --no-split --no-headers -o zsh.html
Se você tiver texlive-20240312 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 && make htmldir=/usr/share/doc/zsh-5.9/html install.html && install -v -m644 zsh.{html,txt} Etc/FAQ /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.
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 na zsh(1) e nas páginas de
manual 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.
Atualize /etc/shells
para incluir
os nomes do aplicativo de shell zsh (como o(a) usuário(a) root
):
cat >> /etc/shells << "EOF"
/bin/zsh
EOF