Ubuntu 22.04 «Закирпичен»

Я использую Ubuntu 22.04, и после компиляции драйвера NXP для другого оборудования я больше не могу запускать почти все команды. Все, что содержит «sudo» или «ls», возвращает следующее и не выполняется:

      aarch64-binfmt-P: Could not open '/lib/ld-linux-aarch64.so.1': No such file or directory

Я вручную перезапустил систему и получил ту же ошибку. Эта машина по сути кирпичная? Я не могу использовать sudo для установки каких-либо патчей, поэтому, похоже, он застрял.

Примечания из комментариев:

      $ echo $PATH 
/home/cwade/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
$
$
$ type sudo
sudo is /home/cwade/bin/sudo

/bin/lsработает. Он возвращает все файлы по адресу/home/user.

1 ответ

Ваш PATH нормальный, но каким-то образом ваши инструменты кросс-компиляции попали в ваш ${HOME}/bin, который обычно находится довольно рано в PATH. Обычная настройка — изолировать эти кросс-инструменты в их отдельных местах (я предпочитаю это, а не выгружать их, хотя и с их полными именами, чтобы избежать путаницы в системных областях). Ниже приведен пример настройки для определения некоторых переменных среды для перекрестной разработки.

      MY_ARM_BASE=${HOME}/dev/toolchain/arm-2008q3
C_INCLUDE_PATH=${MY_ARM_BASE}/lib/gcc/arm-none-linux-gnueabi/4.3.2/include:${MY_ARM_BASE}/lib/gcc/arm-none-linux-gnueabi/4.3.2/include-fixed
LIBRARY_PATH=${MY_ARM_BASE}/arm-none-linux-gnueabi/libc/lib:${MY_ARM_BASE}/arm-none-linux-gnueabi/libc/usr/lib
CPLUS_INCLUDE_PATH=${MY_ARM_BASE}/arm-none-linux-gnueabi/include/c++/4.3.2
#OBJC_INCLUDE_PATH
COMPILER_PATH=${MY_ARM_BASE}/bin
#LD_RUN_PATH
#GPROF_PATH
#######
CC=${COMPILER_PATH}/gcc
CXX=${COMPILER_PATH}/g++
RANLIB=${COMPILER_PATH}/ranlib
STRIP=${COMPILER_PATH}/strip
export C_INCLUDE_PATH LIBRARY_PATH CPLUS_INCLUDE_PATH COMPILER_PATH
export CC CXX RANLIB STRIP
Другие вопросы по тегам