Linux удалить пакеты архитектуры

Обновлено: 05.07.2024

Регулярно работая в Ubuntu Linux, я сталкиваюсь с тем, что для моей архитектуры попросту нет пакета приложения, который бы позволил установить нужное мне приложение под мою архитектуру, то есть в наше время как вы все уже должны знать(знаете), разработчики в большей мере уделяют основное внимание при создании ПО 64-bit архитектуре, для 32-bit такого внимания нет.

Так вот, например работая на компьютере с 32-bit архитектурой, вы хотите установить приложение которое не доступно для вашей архитектуры, но доступно для 64-bit, в данном случае есть выход. Конечно не всегда он срабатывает, но выручает часто.

Наведу пример, скачали мы пакет определенного приложения, пускай это будет pak-name-amd64.deb, вам нужно установить данный пакет в Ubuntu, вы попробуете конечно выполнить установку пакета подобным способом:

pak-name-amd64.deb is for architecture amd64 ; the package cannot be built on this system

То есть нам сообщается, что этот пакет только под 64-bit архитектуру и мы не можем его установить при нашей 32-bit, что мы делаем в данном случае? Мы добавим в систему временно 64-bit архитектуру для установки пакета и после установки удалим чтобы это не мешало при дальнейшей работе с системой:

sudo dpkg --add-architecture amd64
sudo apt-get update

После выполнения данной команды мы добавили 64-bit архитектуру нам в систему, после попробуем выполнить установку пакета выше:

Вы увидите, что установка пошла, только сразу предупреждаю, не всегда все происходит гладко, часто данный процесс происходит с ошибками, ничего не трогаем и даем возможность приложению установиться до конца, после установки просто выполним команду:

В общем, установили мы приложение и вроде-бы все работает, не забываем удалить 64-bit архитектуру с системы которую мы ранее добавили, так как у нас архитектура 32-bit, выполним в терминале команду:

sudo dpkg --remove-architecture amd64
sudo apt-get update
  • На данном этапе мы решили вопрос установки приложения под 64-bit архитектуру. Аналогичное мы можем проделать и для приложений под 32-bit архитектуру если у нас основная 64-bit, делаем по тому же принципу.

Есть у нас условный пакет с названием - pak-name-i386.deb.

Добавим 32-bit архитектуру в систему:

Добавили 32-bit архитектуру, далее установим наш вымышленный пакет:

Как говорил выше, если даже установка идет с ошибками, не останавливаем данный процесс, даем завершиться установке, а после в том же терминале выполняем команду:

  • Данная команда проверит и предложит установить пакеты которые не были установлены из-за ошибок при нашей попытке установки приложения выше.

После данных манипуляций так же не забываем удалить 32-bit архитектуру если у вас основная 64-bit, выполним в терминале команду:

sudo dpkg --remove-architecture i386
sudo apt-get update

Вот и все, архитектуру удалили, можем пользоваться установленным приложением.

Выбор ранее не выбранного пакета teamviewer.
(Чтение базы данных … на данный момент установлено 315507 файлов и каталогов.)
Распаковывается пакет teamviewer (из файла ./teamviewer_amd64.deb) …
dpkg: зависимости пакетов не позволяют настроить пакет teamviewer:
teamviewer зависит от lib32asound2, однако:
Пакет lib32asound2 не установлен.
teamviewer зависит от lib32z1, однако:
Пакет lib32z1 не установлен.
teamviewer зависит от ia32-libs, однако:
Пакет ia32-libs не установлен.

dpkg: ошибка при обработке параметра teamviewer (--install):
проблемы зависимостей — оставляем не настроенным
При обработке следующих пакетов произошли ошибки:
teamviewer

На данном этапе, чтобы решить вопрос установки приложения TeamViewer, мы добавляем 32-bit архитектуру в 64-bit(ваша текущая), выполним команду:

После установим пакеты которые не установились из-за несоответствия архитектуры, выполним команду:

Соглашаемся установить пакеты и жмем клавишу Enter, после проверяем, что TeamViewer успешно установился, удалим 32-bit архитектуру:

sudo dpkg --remove-architecture i386
sudo apt-get update

Как писал выше по установке TeamViewer под 64-bit архитектуру, у меня вот 32-bit, я соответственно ставлю под свою архитектуру и далее мы встречаемся с ошибкой:

dpkg: error processing package teamviewer (--install):
проблемы зависимостей — оставляем не настроенным
При обработке следующих пакетов произошли ошибки:
teamviewer

  • Что мы делаем в данном случае чтобы приложение подтянуло нужные ему пакеты и установилось до конца и у нас была возможность работать с приложением TeamViewer.

Достаточно в этой ситуации просто выполнить команду:

устанавливаем зависимости при установке TeamViewer

  • Далее согласиться установить пакеты нажав на клавишу Enter. Как видим неустановленные пакеты подтянулись и приложение удачно установилось.

Дополнительный способ установки пакетов несоответствующих вашей архитектуре:

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

  • В данной команде применяется атрибут force который дает команду системе не обращать внимание на несовместимость архитектуры где запускается установка пакета, то есть при запуске установки с данным атрибутом, система просто доверяет как родному пакету и соглашается на установку приложения, ну а если в итоге влетят дополнительные ошибки несовместимости приложения, то уже так и быть.

Так же если кому интересно, советовал бы посмотреть видео, так же узнаете некоторые дополнительные команды:

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

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

Читайте также: