Попытка установить пакет i386 libc6:i386 на Raspberry Pi 3 B+ завершилась неудачей.

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

Конечная цель – сделать так, чтобы мой 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-битных пакетов.

Решение проблемы

  1. Поддержка архитектур: Убедитесь, что вы добавили поддержку i386-архитектуры, как вы уже сделали. Если не сделали, выполните следующую команду:

    sudo dpkg --add-architecture i386
  2. Обновление списка пакетов: После добавления архитектуры обновите список пакетов:

    sudo apt update
  3. Установка необходимых пакетов: Затем установите необходимые пакеты для работы:

    sudo apt-get install qemu binfmt-support qemu-user-static cups a2ps
  4. Проблемы с 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/
  5. Настройка QEMU: Чтобы QEMU мог корректно запускать 32-битные приложения, добавьте следующее в ваш файл .bashrc:

    echo 'export EXTRA_OPTS="-L /lib/i386-linux-gnu"' >> ~/.bashrc
  6. Установка драйвера принтера: Теперь вы можете загрузить и установить драйвер для вашего принтера. Например, для 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. Следуйте всем шагам аккуратно и не забывайте делать резервные копии важных файлов, чтобы избежать потерь в случае ошибки. Если возникнут дополнительные вопросы или проблемы, пожалуйста, дайте знать!

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

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