Dpkg error cannot remove architecture i386 currently in use by the database

I don't want to install any i386 package. Is there any way to disable functionality?

For those who want to disable multiarch support from the get-go, here’s a one liner that can be used in (init) scripts…

[ ! $(dpkg --get-selections | grep -q i386) ] && dpkg --remove-architecture i386

This would remove i386 architechture as expected on the first run. On consecutive runs, it’d show the following warning…

dpkg: warning: cannot remove non-foreign architecture ‘i386’

This one-liner could be useful in most cloud servers where there are no i386 packages are installed (by default). While this is a Ubuntu forum, here is some detailed info on multiarch from Debian… https://wiki.debian.org/Multiarch/HOWTO .

Other answers recommended dpkg -l to get the list of packages and then grep the result. In my experience, dpkg -l has failed to show some packages (with i386 arch), but dpkg --get-selections showed them clearly marking them as package_name:i386. So, if we want to remove i386 packages previous installed, then to remove them, here’s actual command that works…

apt-get remove --purge `dpkg --get-selections | awk '/i386/{print $1}'`

Ответ на:

комментарий
от anonymous 29.07.12 22:57:21 MSK

Ответ на:

комментарий
от QIQuJIunn 29.07.12 23:06:29 MSK

Скайп и что там ещё приплыло, что ещё ставил некошерное для системы.

Как удалить/найти/итд написано в манах/виках/итд не раз, и не два.

P.S. А зачем удалять?

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от QIQuJIunn 29.07.12 23:06:29 MSK

Ответ на:

комментарий
от amalofeev 29.07.12 23:17:20 MSK

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

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от QIQuJIunn 29.07.12 23:28:19 MSK

Мультилиб не так страшен, как его малюют.
Выше простое решение.

  • Ссылка

Что бы установить скайп на Sid

wheezy конечно отличается от sid’а, но с последними обновлениями, думаю похоже. В общем мне пришлось тэг добавить в sources. Например:

deb [arch=amd64,i386] http://security.debian.org/ wheezy/updates main contrib non-free

По-идее сделай так же и почисти списки apt.

vahtu

(29.07.12 23:34:45 MSK)

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от vahtu 29.07.12 23:34:45 MSK

Под визи скайп без проблем устанавливался вручную. А вот Сид уже библиотеки потребовал.
Ну и в общем экспериментировать уже не хочется )

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от QIQuJIunn 29.07.12 23:55:32 MSK

Я сам офигел. Оказывается теперь архитектуры ч/з двоеточие нужно указывать. Попробуй же. Или отпишись, что не сработало.

vahtu

(29.07.12 23:57:50 MSK)

  • Показать ответы
  • Ссылка

Ответ на:

комментарий
от vahtu 29.07.12 23:57:50 MSK

И ещё. У меня постоянно качал Translations-*. Решилось параметром Acquire::Languages «ru»; в /etc/apt/apt.conf.d/98translations.

vahtu

(30.07.12 00:02:26 MSK)

  • Ссылка

Ответ на:

комментарий
от vahtu 29.07.12 23:57:50 MSK

не.. я так понял оно опять i386 либы потащит, а я этого не хочу, от них глюки одни.

  • Показать ответы
  • Ссылка

Ответ на:

комментарий
от QIQuJIunn 30.07.12 00:05:19 MSK

Ответ на:

комментарий
от QIQuJIunn 30.07.12 00:05:19 MSK

Что за школоло-бред?

anonymous

(30.07.12 00:08:57 MSK)

  • Ссылка

Ответ на:

комментарий
от vahtu 30.07.12 00:08:02 MSK

Угу. Буду скайп юзать под виртуалбоксом лучше. Когда Wheezy откачусь на него )

  • Показать ответ
  • Ссылка

Ответ на:

комментарий
от QIQuJIunn 30.07.12 00:12:13 MSK

Он и так работает. Тока «i386 либы потащит».

vahtu

(30.07.12 00:14:28 MSK)

  • Ссылка

Ответ на:

комментарий
от QIQuJIunn 30.07.12 00:05:19 MSK

Ответ на:

комментарий
от Artificial_Thought 30.07.12 00:20:12 MSK

да, ей, но потом перешел на apt-get

  • Ссылка

Ответ на:

комментарий
от QIQuJIunn 30.07.12 00:05:19 MSK

3 ноября 2012 г.

Ответ на:

комментарий
от AITap 29.07.12 23:21:49 MSK

Спасибо за совет! Мне лично помогло. Правда пришлось полночи чистить линух от хлама.

rinsvid ★★

(03.11.12 03:53:38 MSK)

  • Ссылка

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.

  • Печать

Страницы: [1]   Вниз

Тема: Не могу удалить 32 битную архитектуру  (Прочитано 2323 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн
[ld]

Всем привет. До этого сатвил wine staging. а он автоматом тянет моного i386 пакетов, и возможно сам добавил эту архитектeру. Команда sudo dpkg —add architecture i386 тоже выполнялась (на всякий случай). Решил удалить 32 битную архитектуру.
После выполнения sudo dpkg —remove architecture i386 пишет

 невозможно удалить архитектуру «i386», которая в данный момент используется в базе данных.

это связано с тем что присутствуют 32 битные пакеты вайна?


Оффлайн
skybour

Может надо предварительно удалить пакеты i386, я так понимаю необходимости в них уже нет.


Оффлайн
AnrDaemon

Не стоит этого делать. Далеко не все пакеты существуют в 64-бит виде.

Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…


Оффлайн
thunderamur

[ld], памяти мало на диске, или хочешь сэкономить 20 МБ в ОЗУ? Все равно, потом снова подтянутся, вряд ли ты будешь использовать исключительно 64-битное ПО с исключительно 64-битными зависимостями.


  • Печать

Страницы: [1]   Вверх

Enable i386 arch

To install 32bit packages on 64 bit systems (e.g. Google earth and Skype, which are not provided in 64 bit versions for Linux), you will need to allow 32 bit packages to be installed on your 64 bit system — and with Debian this is called «multiarch».

From 7.0, Debian supports simultaneous running of i386 and amd64 binaries.

Note: after enabling another architecture, you may have to specify from then on which arch to retrieve and install packages from, like this

apt install -a amd64

or set the preference for your architecture with editing the apt.conf file

and add a line like this

save it and apt install will retrieve from amd64 packages

If at any time you need to be done with i386 (or any other arch), use this command:

But you will need to remove all the packages installed from that arch first, if that’s possible, or really wanted.

Trying to remove an arch while still having packages installed from it, will return an error like this one:

«dpkg: error: cannot remove architecture ‘i386’ currently in use by the database»

To find out what packages are installed from an arch, run

And remove them with,


Google Earth

Downlaod from earth/download/…

cd to Downloads and install G-earth

for i386, a dependency lsb-core is needed, for amd64 platform the package install ends with errors:

googleearth depends on libfreeimage3 … lsb-core … ia32-libs-gtk

Sort it out with:

The following NEW packages will be installed:
<a huge heap of i386 packages>
Need to get 56.9 MB of archives. After this operation, 171 MB of additional disk space will be used
Enter y

In Debian Jessie, ia32-libs does not exist, and Google earth still depends on it (they say this has changed in sid), so if you hit this problem you can install a dummy i32-libs package from here http://forums.debian.net/viewtopic.php?f=10&t=111898


Skype

Requires multiarch enabled (see top).

Download skype from their page and install it

(a fair few i386 packages will be installed)

Next pages:

LXDE fast install   Configure Debian

Понравилась статья? Поделить с друзьями:

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

  • Dpkg error 1 expected program not found in path or not executable
  • Dpkg deb error subprocess tar returned error exit status 2
  • Dpkg deb error subprocess decompress returned error exit status 2
  • Dpkg deb error need an action option
  • Dpkg deb error is not a debian format archive

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии