Ничего внутри /usr/bin не распознано – bash: /usr/bin/ls: Нет такого файла или каталога

Вопрос или проблема

Я пытался установить cups в систему, используя следующие предложения:

sudo apt install build-essential autoconf automake
sudo apt install libboost-all-dev
sudo apt install cups libcups2-dev
sudo apt install git
sudo apt install checkinstall

git clone https://github.com/dymosoftware/Drivers.git
cd Drivers/LW5xx_Linux

autoconf -ivf
sh ./configure
make

sudo checkinstall –install=no sudo dpkg -i *.deb

В этот момент моя система перестала работать. У меня открыта одна терминальная сессия, и так как bash недоступен, я не могу открыть новые.

hutber@hutber:~/Drivers/LW5xx_Linux$ sudo checkinstall --install=no

checkinstall 1.6.3, Copyright 2010 Felipe Eduardo Sanchez Diaz Duran
           Это программное обеспечение выпущено под лицензией GNU GPL.

Директория документации пакета ./doc-pak не существует. 
Создать стандартный набор документации пакетов?  [y]: 

Подготовка документации пакета...OK

Пожалуйста, напишите описание для пакета.
Завершите описание пустой строкой или EOF.
>> 

*****************************************
**** Выбранное создание пакета Debian ***
*****************************************

*** Предупреждение: Имя пакета "LW5xx_Linux" содержит прописные буквы
*** Предупреждение: dpkg может это не приветствовать, поэтому я изменил
*** Предупреждение: их на строчные.

*** Предупреждение: Имя пакета "lw5xx_linux" содержит недопустимые
*** Предупреждение: символы. dpkg может это не приветствовать, поэтому я изменил
*** Предупреждение: их на дефисы.

*** Предупреждение: Версия пакета "2.0.0.0
2.0.0.0
2.0.0.0" не соответствует
*** Предупреждение: политике debian. Пожалуйста, укажите альтернативу

Этот пакет будет создан на основе следующих значений: 

0 -  Ответственный: [ root@hutber-mint ]
1 -  Краткое содержание: [ Пакет создан с checkinstall 1.6.3 ]
2 -  Имя:    [ lw5xx-linux ]
3 -  Версия: [  ]
4 -  Выпуск: [ 1 ]
5 -  Лицензия: [ GPL ]
6 -  Группа:   [ checkinstall ]
7 -  Архитектура: [ amd64 ]
8 -  Исходное расположение: [ LW5xx_Linux ]
9 -  Альтернативное исходное расположение: [  ]
10 - Требуется: [  ]
11 - Рекомендуется: [  ]
12 - Предлагает: [  ]
13 - Предоставляет: [ lw5xx-linux ]
14 - Конфликты: [  ]
15 - Заменяет: [  ]

Введите номер, чтобы изменить любое из них или нажмите ENTER для продолжения: 

Установка с помощью make install...

========================= Результаты установки ===========================
Установка в src
make[1]: Вход в директорию '/home/hutber/Drivers/LW5xx_Linux/src'
Установка в lw
make[2]: Вход в директорию '/home/hutber/Drivers/LW5xx_Linux/src/lw'
Установка в tests
make[3]: Вход в директорию '/home/hutber/Drivers/LW5xx_Linux/src/lw/tests'
make[4]: Вход в директорию '/home/hutber/Drivers/LW5xx_Linux/src/lw/tests'
make[4]: Нечего делать для 'install-exec-am'.
make[4]: Нечего делать для 'install-data-am'.
make[4]: Выход из директории '/home/hutber/Drivers/LW5xx_Linux/src/lw/tests'
make[3]: Выход из директории '/home/hutber/Drivers/LW5xx_Linux/src/lw/tests'
make[3]: Вход в директорию '/home/hutber/Drivers/LW5xx_Linux/src/lw'
make[4]: Вход в директорию '/home/hutber/Drivers/LW5xx_Linux/src/lw'
make[4]: Нечего делать для 'install-exec-am'.
 /usr/bin/mkdir -p '/usr/lib/cups/filter'
  /usr/bin/install -c raster2dymolw '/usr/lib/cups/filter'
make[4]: Выход из директории '/home/hutber/Drivers/LW5xx_Linux/src/lw'
make[3]: Выход из директории '/home/hutber/Drivers/LW5xx_Linux/src/lw'
make[2]: Выход из директории '/home/hutber/Drivers/LW5xx_Linux/src/lw'
Установка в lm
make[2]: Вход в директорию '/home/hutber/Drivers/LW5xx_Linux/src/lm'
Установка в tests
make[3]: Вход в директорию '/home/hutber/Drivers/LW5xx_Linux/src/lm/tests'
make[4]: Вход в директорию '/home/hutber/Drivers/LW5xx_Linux/src/lm/tests'
make[4]: Нечего делать для 'install-exec-am'.
make[4]: Нечего делать для 'install-data-am'.
make[4]: Выход из директории '/home/hutber/Drivers/LW5xx_Linux/src/lm/tests'
make[3]: Выход из директории '/home/hutber/Drivers/LW5xx_Linux/src/lm/tests'
make[3]: Вход в директорию '/home/hutber/Drivers/LW5xx_Linux/src/lm'
make[4]: Вход в директорию '/home/hutber/Drivers/LW5xx_Linux/src/lm'
make[4]: Нечего делать для 'install-exec-am'.
 /usr/bin/mkdir -p '/usr/lib/cups/filter'
  /usr/bin/install -c raster2dymolm '/usr/lib/cups/filter'
make[4]: Выход из директории '/home/hutber/Drivers/LW5xx_Linux/src/lm'
make[3]: Выход из директории '/home/hutber/Drivers/LW5xx_Linux/src/lm'
make[2]: Выход из директории '/home/hutber/Drivers/LW5xx_Linux/src/lm'
Установка в common/tests
make[2]: Вход в директорию '/home/hutber/Drivers/LW5xx_Linux/src/common/tests'
make[3]: Вход в директорию '/home/hutber/Drivers/LW5xx_Linux/src/common/tests'
make[3]: Нечего делать для 'install-exec-am'.
make[3]: Нечего делать для 'install-data-am'.
make[3]: Выход из директории '/home/hutber/Drivers/LW5xx_Linux/src/common/tests'
make[2]: Выход из директории '/home/hutber/Drivers/LW5xx_Linux/src/common/tests'
make[2]: Вход в директорию '/home/hutber/Drivers/LW5xx_Linux/src'
make[3]: Вход в директорию '/home/hutber/Drivers/LW5xx_Linux/src'
make[3]: Нечего делать для 'install-exec-am'.
make[3]: Нечего делать для 'install-data-am'.
make[3]: Выход из директории '/home/hutber/Drivers/LW5xx_Linux/src'
make[2]: Выход из директории '/home/hutber/Drivers/LW5xx_Linux/src'
make[1]: Выход из директории '/home/hutber/Drivers/LW5xx_Linux/src'
Установка в ppd/Linux
/bin/bash: строка 21: cd: ppd/Linux: Нет такого файла или директории
make: *** [Makefile:364: install-recursive] Ошибка 1

****  Установка не удалась. Прекращение создания пакета.

Восстановление перезаписанных файлов из резервной копии.../usr/bin/checkinstall: строка 95: /usr/bin/gettext: Нет такого файла или директории

/usr/bin/checkinstall: строка 102: /usr/bin/gettext: Нет такого файла или директории
/usr/bin/checkinstall: строка 319: /usr/bin/rm: Нет такого файла или директории
/usr/bin/checkinstall: строка 320: /usr/bin/rm: Нет такого файла или директории
/usr/bin/checkinstall: строка 95: /usr/bin/gettext: Нет такого файла или директории

/usr/bin/checkinstall: строка 95: /usr/bin/gettext: Нет такого файла или директории

Я вижу, что сами файлы все еще на месте, просто сломалась какая-то связь:

hutber@hutber:/mnt/nas/Downloads/Old/dymo-cups-drivers-1.4.0.5$ ls
bash: /usr/bin/ls: Нет такого файла или директории
hutber@hutber-mint:/mnt/nas/Downloads/Old/dymo-cups-drivers-1.4.0.5$ cd
hutber@hutber-mint:~$ cd /
bin/        cdrom/      dev/        home/       lib64/      media/      opt/        root/       sbin/       sys/        usr/        
boot/       .config/    etc/        lib/        lost+found/ mnt/        proc/       run/        srv/        tmp/        var/        
hutber@hutber-mint:~$ cd /
bin/        cdrom/      dev/        home/       lib64/      media/      opt/        root/       sbin/       sys/        usr/        
boot/       .config/    etc/        lib/        lost+found/ mnt/        proc/       run/        srv/        tmp/        var/        
hutber@hutber-mint:~$ cat
bash: /usr/bin/cat: Нет такого файла или директории
hutber@hutber-mint:~$ cat /usr/
bin/     games/   include/ lib/     lib64/   libexec/ local/   OFX/     sbin/    share/   src/     
hutber@hutber-mint:~$ cat /usr/bin/
Показать все 2263 возможности? (y или n)
[                                                gnome-terminal.real                              ping6
7z                                               gnome-terminal.wrapper                           pinky
7za                                              gnome-text-editor                                pip
7zr                                              gnome-www-browser                                pip3
aa-enabled                                       gobject-query                                    pip3.10
aa-exec                                          gold                                             pix
aa-features-abi                                  google-chrome                                    pk12util

Я уверен, что у меня версия 21.04, но я не могу это проверить 😀

hutber@hutber:/mnt$ lsb_release -a
bash: /usr/bin/lsb_release: /usr/bin/python3: плохой интерпретатор: Нет такого файла или директории

Ответ или решение

Проблема с отсутствием файлов в /usr/bin: анализ и решение

Ошибка, с которой вы столкнулись, связана с тем, что оболочка Bash не может найти стандартные системные команды, такие как ls, cat и lsb_release. Это может быть результатом некорректной установки или удаления файлов, в том числе, вероятно, в процессе создания пакета с использованием checkinstall. Рассмотрим шаги, которые помогут определить причину проблемы и восстановить работоспособность системы.

1. Причины проблемы

Основной источником проблемы может быть следующее:

  • Ошибки в процессе установки: Ошибки, возникшие во время выполнения команд make и checkinstall, указывают на то, что некоторые необходимые файлы могли быть повреждены или удалены.
  • Неправильная конфигурация: Если пакеты не были правильно настроены, то это может привести к отсутствию критически важных бинарных файлов в директории /usr/bin.
  • Конфликты между пакетами: Чтобы проверить, не произошло ли конфликтов между установленными пакетами, выполните команду dpkg --configure -a.

2. Проверка состояния системы

Перед тем, как предпринимать какие-либо действия, важно проверить состояние системы, провести диагностику и восстановить целостность важнейших файлов.

Шаги для проверки:
  • Перезагрузка системы: Если вы находитесь в терминале, попробуйте перезагрузить систему. Иногда это может помочь в восстановлении работы команд.
  • Восстановление файлов: Если у вас есть доступ к другой машине с аналогичной ОС, вы можете попытаться восстановить файлы из /usr/bin напрямую.
  • Используйте Live CD/USB: Если проблема сохраняется, загрузитесь с Live CD/USB и исследуйте файловую систему, чтобы проверить наличие необходимых файлов.

3. Восстановление файлов

Если определенные файлы отсутствуют или повреждены:

  • Загрузитесь с Live CD, чтобы получить доступ к системе без загрузки поврежденной.
  • Скопируйте отсутствующие файлы из /usr/bin с Live-системы.

Команды могут выглядеть так:

sudo cp /mnt/live_sys/usr/bin/* /mnt/your_root/usr/bin/

4. Переустановка зависимостей

Если ваше окружение стало нестабильным, попробуйте переустановить необходимые пакеты:

sudo apt-get install --reinstall coreutils
sudo apt-get install --reinstall bash
sudo apt-get install --reinstall dpkg

5. Использование chroot для диагностики

Ещё один подход – это использование chroot из Live CD. Для этого:

  1. Смонтируйте корневую файловую систему:

    sudo mount /dev/sdXN /mnt

    где /dev/sdXN – это ваш корневой раздел.

  2. Выполните chroot в смонтированную систему:

    sudo chroot /mnt

Теперь у вас есть доступ к вашей системе как к основному окружению, что может позволить вам выполнять команды для диагностики и исправления.

Заключение

Проблема с отсутствующими файлами в /usr/bin может быть серьезной, однако с правильными шагами и подходом её можно решить. Не забывайте делать резервные копии перед выполнением установок, особенно когда дело касается сборки программного обеспечения. Следуйте приведенным выше шагам и ваша система должна восстановить свою работоспособность.

Оцените материал
Добавить комментарий

Капча загружается...