Вопрос или проблема
Я пытался установить 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 checkinstallgit clone https://github.com/dymosoftware/Drivers.git
cd Drivers/LW5xx_Linuxautoconf -ivf
sh ./configure
makesudo 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. Для этого:
-
Смонтируйте корневую файловую систему:
sudo mount /dev/sdXN /mnt
где
/dev/sdXN
– это ваш корневой раздел. -
Выполните chroot в смонтированную систему:
sudo chroot /mnt
Теперь у вас есть доступ к вашей системе как к основному окружению, что может позволить вам выполнять команды для диагностики и исправления.
Заключение
Проблема с отсутствующими файлами в /usr/bin
может быть серьезной, однако с правильными шагами и подходом её можно решить. Не забывайте делать резервные копии перед выполнением установок, особенно когда дело касается сборки программного обеспечения. Следуйте приведенным выше шагам и ваша система должна восстановить свою работоспособность.