Вопрос или проблема
Конечная цель – сделать так, чтобы мой Raspberry Pi работал как сервер печати, предоставляющий AirPrint для принтера Brother DCP-195C, который уже имеется.
Я пытаюсь следовать этому ответу о том, как это осуществить.
Я уже дошел до этапа установки драйвера принтера, но так как он предоставляется только в скомпилированной форме для 32-битной x86, я попытался установить Qemu, чтобы иметь возможность их использовать.
Я застрял на
$ sudo apt install libc6:i386
Чтение списков пакетов... Готово
Формирование деревьев зависимостей
Чтение информации о состоянии... Готово
Некоторые пакеты не могут быть установлены. Это может означать, что вы
запросили невозможную ситуацию или если вы используете нестабильную
распределение, что некоторые требуемые пакеты еще не были созданы
или перемещены из Incoming.
Следующая информация может помочь разрешить ситуацию:
Следующие пакеты имеют неудовлетворенные зависимости:
libc6:i386 : Зависит: libgcc1:i386, но он не будет установлен
E: Невозможно исправить проблемы, у вас есть удерживаемые поврежденные пакеты.
Немного больше информации:
$ sudo aptitude install libc6:i386
Следующие НОВЫЕ пакеты будут установлены:
gcc-6-base:i386{ab} libc6:i386 libgcc1:i386{ab}
0 пакетов обновлено, 3 новыми установлены, 0 подлежат удалению и 0 не обновлены.
Необходимо получить 2,698 kB архивов. После распаковки будет использовано 10.2 MB.
Следующие пакеты имеют неудовлетворенные зависимости:
gcc-6-base : Конфликтует: gcc-6-base:i386 (!= 6.3.0-18+rpi1+deb9u1), но 6.3.0-18+deb9u1 будет установлен
gcc-6-base:i386 : Конфликтует: gcc-6-base (!= 6.3.0-18+deb9u1), но 6.3.0-18+rpi1+deb9u1 установлен
libgcc1 : Конфликтует: libgcc1:i386 (!= 1:6.3.0-18+rpi1+deb9u1), но 1:6.3.0-18+deb9u1 будет установлен
libgcc1:i386 : Конфликтует: libgcc1 (!= 1:6.3.0-18+deb9u1), но 1:6.3.0-18+rpi1+deb9u1 установлен
Следующие действия разрешат эти зависимости:
Сохраните следующие пакеты на их текущей версии:
1) gcc-6-base:i386 [Не установлен]
2) libc6:i386 [Не установлен]
3) libgcc1:i386 [Не установлен]
Принять это решение? [Y/n/q/?] n
*** Больше решений нет ***
Следующие действия разрешат эти зависимости:
Сохраните следующие пакеты на их текущей версии:
1) gcc-6-base:i386 [Не установлен]
2) libc6:i386 [Не установлен]
3) libgcc1:i386 [Не установлен]
Принять это решение? [Y/n/q/?] y
Никакие пакеты не будут установлены, обновлены или удалены.
0 пакетов обновлено, 0 новыми установлены, 0 подлежат удалению и 0 не обновлены.
Необходимо получить 0 B архивов. После распаковки будет использовано 0 B.
Как я могу это исправить или есть ли другой способ заставить принтер работать?
Мне удалось заставить DCP-197C работать:
Не знаю, не упустил ли я что-то, потому что пытался это сделать много раз, но хочу записать где-то, что я сделал сегодня, когда все наконец заработало:
Установите все необходимые вещи
apt-get install qemu binfmt-support qemu-user-static cups a2ps
Добавьте архитектуру
dpkg --add-architecture i386
Скачайте libc6 для i386 (я нашел его здесь)
wget old.kali.org/kali-security/pool/main/e/eglibc/libc6_2.13-38+deb7u8_i386.deb
Если вы попытаетесь установить это, вы вмешаетесь в apt, поэтому мы распакуем deb и скопируем эти файлы вручную
dpkg -x libc6_2.13-38+deb7u8_i386.deb data
sudo cp -r data/lib/* /lib
sudo cp -r data/usr/* /usr
sudo cp -r data/etc/* /etc
Запустите это и добавьте в bashrc, чтобы выполнять при каждой перезагрузке
EXTRA_OPTS="-L /lib/i386-linux-gnu"
Скачайте и установите ваши драйверы – для меня, например:
wget https://download.brother.com/welcome/dlf005405/dcp197ccupswrapper-1.1.3-1.i386.deb
wget https://download.brother.com/welcome/dlf005403/dcp197clpr-1.1.3-1.i386.deb
sudo dpkg -i dcp197ccupswrapper-1.1.3-1.i386.deb
sudo dpkg -i dcp197clpr-1.1.3-1.i386.deb
Ответ или решение
Попробуем разобраться с вашей проблемой установки пакета libc6:i386
на Raspberry Pi 3 B+. Уже понятно, что вы стремитесь сделать ваш Raspberry Pi сервером печати с поддержкой AirPrint для принтера Brother DCP-195C. Вы столкнулись с проблемами зависимостей при попытке установки 32-битных пакетов.
Решение проблемы
-
Поддержка архитектур: Убедитесь, что вы добавили поддержку i386-архитектуры, как вы уже сделали. Если не сделали, выполните следующую команду:
sudo dpkg --add-architecture i386
-
Обновление списка пакетов: После добавления архитектуры обновите список пакетов:
sudo apt update
-
Установка необходимых пакетов: Затем установите необходимые пакеты для работы:
sudo apt-get install qemu binfmt-support qemu-user-static cups a2ps
-
Проблемы с libc6:i386: Пытаться устанавливать
libc6:i386
через apt часто завершится неудачей из-за конфликтов зависимостей. Вместо этого вы можете установитьlibc6:i386
вручную:-
Найдите и скачайте
.deb
файл дляlibc6:i386
. Например:wget http://old.kali.org/kali-security/pool/main/e/eglibc/libc6_2.13-38+deb7u8_i386.deb
-
Извлеките содержимое
.deb
файла:dpkg -x libc6_2.13-38+deb7u8_i386.deb data
-
Скопируйте извлеченные файлы в нужные места (будьте осторожны, чтобы не перезаписать существующие файлы):
sudo cp -r data/lib/* /lib/i386-linux-gnu/ sudo cp -r data/usr/* /usr/ sudo cp -r data/etc/* /etc/
-
-
Настройка QEMU: Чтобы QEMU мог корректно запускать 32-битные приложения, добавьте следующее в ваш файл
.bashrc
:echo 'export EXTRA_OPTS="-L /lib/i386-linux-gnu"' >> ~/.bashrc
-
Установка драйвера принтера: Теперь вы можете загрузить и установить драйвер для вашего принтера. Например, для Brother DCP-197C команды будут следующими:
wget https://download.brother.com/welcome/dlf005405/dcp197ccupswrapper-1.1.3-1.i386.deb wget https://download.brother.com/welcome/dlf005403/dcp197clpr-1.1.3-1.i386.deb sudo dpkg -i dcp197ccupswrapper-1.1.3-1.i386.deb sudo dpkg -i dcp197clpr-1.1.3-1.i386.deb
Заключение
Если все выполнено корректно, то ваш Raspberry Pi теперь должен быть настроен как сервер печати, который поддерживает AirPrint для принтера Brother DCP-195C. Следуйте всем шагам аккуратно и не забывайте делать резервные копии важных файлов, чтобы избежать потерь в случае ошибки. Если возникнут дополнительные вопросы или проблемы, пожалуйста, дайте знать!