Eu tenho um chroot e quero que o chroot tenha seu próprio .inputrc
arquivo quando for iniciado e, em seguida, execute um programa.
Estou acostumado a iniciar o chroot chroot <PATH> <PROGRAM_TO_RUN>
, então tentei
chroot <PATH> bind -f <PATH_IN_CHROOT>/.inputrc && <PROGRAM_TO_RUN>
mas depois recebo o erro:
chroot: failed to run command ‘bind’: No such file or directory
Depois de ler o readline
manual que vi bind
era um bash
built-in. Então eu tentei usar builtin
para executar o comando assim:
chroot <PATH> builtin bind -f <PATH_IN_CHROOT>/.inputrc && <PROGRAM_TO_RUN>
mas deu o mesmo erro:
chroot: failed to run command ‘builtin’: No such file or directory
Eu sei executar dois programas juntos via &&
funciona para chroot porque testei com:
~# chroot <PATH> echo "yo" && echo "Hi"
yo
Hi
~#
Eu também sei que o bind
comando e o builtin
comando funcionam sozinhos dentro do chroot:
~# chroot <PATH> bash
/# builtin -h
bash: builtin: -h: invalid option
builtin: usage: builtin [shell-builtin [arg ...]]
/# builtin bind -h
bash: bind: -h: invalid option
bind: usage: bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-x keyseq:shell-command] [keyseq:readline-function or readline-command]
/# bind -h
bash: bind: -h: invalid option
bind: usage: bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-x keyseq:shell-command] [keyseq:readline-function or readline-command]
Como posso executar o bind
comando dentro do chroot
comando para definir um personalizado .inputrc
para o chroot?
Apenas um palpite:
Você está tentando executar um comando interno do Bash em um chroot como este:
Mas seu chroot não tem nenhum interpretador em execução, o que poderia entender
bind
. Funciona o seguinte:PS
Como
@mosvy
dito, primeiro como resposta e depois como comentário, você pode passar o ambiente com a chamada do chroot: