LINUX.ORG.RU

после debootstrap в chroot недоступны команды

 ,


0

1

На хосте с CoreELEC архитектура aarch64. Установил через debootstrap минимальную Ubuntu bionic:

# debootstrap --arch=armhf bionic /storage/bin/ubuntu http://ports.ubuntu.com/ubuntu-ports/

Примонтировал /proc, /sys, /dev и т.д.

# ./chroot-enter.sh ubuntu
mount /proc
mount /sys
mount /dev
mount /dev/pts
mount /dev/shm
mount /dev/mqueue
mount /run
mount /tmp

Но после chroot в /storage/bin/ubuntu не находит никакой команды:

# chroot /storage/bin/ubuntu /bin/bash
root@CoreELEC:/# ip a
bash: ip: command not found

root@CoreELEC:/# /sbin/ifconfig
bash: /sbin/ifconfig: No such file or directory
root@CoreELEC:/# ls
bash: ls: command not found

Хотя эти файлы существуют, если смотреть с хост системы:

root@CoreELEC:~/bin/ubuntu/bin$ pwd
/storage/bin/ubuntu/bin
root@CoreELEC:~/bin/ubuntu/bin$ ls -l ls 
-rwxr-xr-x    1 root     root         91972 Jan 18  2018 ls

Ответ на: комментарий от zorinquen

внутри chroot такой environment:

root@CoreELEC:/# env
LD_LIBRARY_PATH=/usr/lib:/storage/.kodi/addons/script.module.certifi/lib:/storage/.kodi/addons/script.module.chardet/lib:/storage/.kodi/addons/script.module.future/lib:/storage/.kodi/addons/script.module.idna/lib:/storage/.kodi/addons/script.module.inputstreamhelper/lib:/storage/.kodi/addons/script.module.iso8601/lib:/storage/.kodi/addons/script.module.m3u8/lib:/storage/.kodi/addons/script.module.pyjwt/lib:/storage/.kodi/addons/script.module.pyxbmct/lib:/storage/.kodi/addons/script.module.requests/lib:/storage/.kodi/addons/script.module.six/lib:/storage/.kodi/addons/script.module.urllib3/lib:/storage/.kodi/addons/service.ttyd/lib:/usr/lib/pulseaudio
STY=4912.pts-0.CoreELEC
SYSTEMD_COLORS=0
SSH_CONNECTION=192.168.1.3 39092 192.168.1.4 22
HOSTNAME=CoreELEC
EDITOR=nano
USER=root
PWD=/
HOME=/storage
WINDOW=1
SSH_CLIENT=192.168.1.3 39092 22
SSH_TTY=/dev/pts/0
MAIL=/var/mail/root
SHELL=/bin/sh
TERM=screen
SHLVL=3
LOGNAME=root
PATH=/usr/bin:/usr/sbin:/opt/bin:/opt/sbin:/storage/.kodi/addons/service.ttyd/bin
PS1=${debian_chroot:+($debian_chroot)}\u@\h:\w\$ 
HISTFILESIZE=200
TERMCAP=SC|screen|VT 100/ANSI X3.64 virtual terminal:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:bs:bt=\E[Z:cd=\E[J:ce=\E[K:cl=\E[H\E[J:cm=\E[%i%d;%dH:ct=\E[3g:do=^J:nd=\E[C:pt:rc=\E8:rs=\Ec:sc=\E7:st=\EH:up=\EM:le=^H:bl=^G:cr=^M:it#8:ho=\E[H:nw=\EE:ta=^I:is=\E)0:li#39:co#140:am:xn:xv:LP:sr=\EM:al=\E[L:AL=\E[%dL:cs=\E[%i%d;%dr:dl=\E[M:DL=\E[%dM:dc=\E[P:DC=\E[%dP:im=\E[4h:ei=\E[4l:mi:IC=\E[%d@:ks=\E[?1h\E=:ke=\E[?1l\E>:vi=\E[?25l:ve=\E[34h\E[?25h:vs=\E[34l:ti=\E[?1049h:te=\E[?1049l:us=\E[4m:ue=\E[24m:so=\E[3m:se=\E[23m:mb=\E[5m:md=\E[1m:mh=\E[2m:mr=\E[7m:me=\E[m:ms:Co#8:pa#64:AF=\E[3%dm:AB=\E[4%dm:op=\E[39;49m:AX:vb=\Eg:G0:as=\E(0:ae=\E(B:ac=\140\140aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~..--++,,hhII00:po=\E[5i:pf=\E[4i:Km=\E[<:k0=\E[10~:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:F1=\E[23~:F2=\E[24~:kB=\E[Z:kh=\E[1~:@1=\E[1~:kH=\E[4~:@7=\E[4~:kN=\E[6~:kP=\E[5~:kI=\E[2~:kD=\E[3~:ku=\EOA:kd=\EOB:kr=\EOC:kl=\EOD:km:
_=/usr/bin/env

zorinquen ()
Ответ на: комментарий от zorinquen

попробовал так chroot выполнить:

CoreELEC:~/bin/ubuntu # chroot ./ /usr/bin/env -i HOME=/root TERM="$TERM" /bin/bash --login
mesg: ttyname failed: Success

теперь environment другой, но PATH нет в наличии:

root@CoreELEC:/# env
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
LESSCLOSE=/usr/bin/lesspipe %s %s
PWD=/
HOME=/root
TERM=screen
SHLVL=1
LESSOPEN=| /usr/bin/lesspipe %s
_=/usr/bin/env

zorinquen ()
Ответ на: комментарий от zorinquen

не занимайся ерундой, всё что тебе нужно - прописать в PATH места откуда хочешь запускать бинарники будь то /bin, /usr/bin или /my/custom/path/bin

дефолтное которое обычно всем подходит:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

firkax ()
Последнее исправление: firkax (всего исправлений: 2)