Страница 1 из 1

удалить архитектуру из пакетной системы

Добавлено: 19 июл 2020, 17:57
Olej
Olej писал(а):
19 июл 2020, 17:06
Но вот почему у меня много лет стояла 32-битная версия TeamViewer!
Теперь можно бы и освободить систему от i386 архитектуры, но как?

Код: Выделить всё

olej@nvidia:~/Загрузки/Messenger$ dpkg --print-architecture
amd64

olej@nvidia:~/Загрузки/Messenger$ dpkg --print-foreign-architectures
i386

Код: Выделить всё

olej@nvidia:~/Загрузки/Messenger$ sudo dpkg --remove-architecture i386
dpkg: ошибка: невозможно удалить архитектуру «i386», которая в данный момент используется в базе данных
Не удалять же их все, установленные по зависимостям, вручную?

Код: Выделить всё

olej@nvidia:~$ dpkg -l | grep 386 | wc -l
262

olej@nvidia:~$ dpkg -l | grep 386 
ri  gcc-10-base:i386                              10-20200411-0ubuntu1                                i386         GCC, the GNU Compiler Collection (base package)
ii  glib-networking:i386                          2.64.2-1ubuntu0.1                                   i386         network-related giomodules for GLib
ii  gstreamer0.10-plugins-base:i386               0.10.36-2ubuntu0.1                                  i386         GStreamer plugins from the "base" set
ii  gstreamer0.10-plugins-good:i386               0.10.31-3+nmu4ubuntu2.16.04.3                       i386         GStreamer plugins from the "good" set
...

Re: удалить архитектуру их пакетной системы

Добавлено: 19 июл 2020, 18:37
Olej
Olej писал(а):
19 июл 2020, 17:57
Не удалять же их все, установленные по зависимостям, вручную?
Достаточно легко и не трудоёмко оказалось отметить всё для полного удаления в архитектуре i3856 в менеджере Synaptic.
Снимок экрана от 2020-07-19 18-34-32.png
Снимок экрана от 2020-07-19 18-34-32.png (43.26 КБ) 3233 просмотра
После чего:

Код: Выделить всё

olej@nvidia:~/Загрузки/Messenger$ sudo dpkg --remove-architecture i386
[sudo] пароль для olej:  

Код: Выделить всё

olej@nvidia:~/Загрузки/Messenger$ dpkg --print-foreign-architectures
olej@nvidia:~/Загрузки/Messenger$

Re: удалить архитектуру из пакетной системы

Добавлено: 01 авг 2020, 10:35
Olej
Olej писал(а):
19 июл 2020, 18:37
После чего:
Возился по необходимости с таким говном как Wine (всё, что хоть как-то ассоциировано с Windows - порождает одни проблемы!!! :evil: )...
После чего, после удаления всего с Wine связанного:

Код: Выделить всё

olej@nvidia:~$ dpkg --print-foreign-architectures
i386

olej@nvidia:~$ sudo dpkg --remove-architecture i386
[sudo] пароль для olej:       
dpkg: ошибка: невозможно удалить архитектуру «i386», которая в данный момент используется в базе данных
Что с этой дрянью делать? :-(

Re: удалить архитектуру из пакетной системы

Добавлено: 01 авг 2020, 10:43
Olej
Olej писал(а):
01 авг 2020, 10:35
Что с этой дрянью делать?

Код: Выделить всё

olej@nvidia:~$ dpkg --list | grep :i386 | wc -l
40

Код: Выделить всё

olej@nvidia:~$ dpkg --list | grep i386 | tail -n20
ii  libpcre3:i386                                 2:8.39-12build1                                     i386         Old Perl 5 Compatible Regular Expression Library - runtime files
rc  libpulse0:i386                                1:13.99.1-1ubuntu3.5                                i386         PulseAudio client libraries
rc  libsasl2-modules:i386                         2.1.27+dfsg-2                                       i386         Cyrus SASL - pluggable authentication modules
ii  libselinux1:i386                              3.0-1build2                                         i386         SELinux runtime shared libraries
...

Re: удалить архитектуру из пакетной системы

Добавлено: 01 авг 2020, 10:45
Olej
Olej писал(а):
01 авг 2020, 10:43

Код: Выделить всё

olej@nvidia:~$ dpkg --list | grep :i386 | wc -l
40
Причём даже поштучное их удаление - сильно противное занятие, в силу зависимостей:

Код: Выделить всё

root@nvidia:~# dpkg --purge libselinux1:i386
dpkg: проблемы с зависимостями не позволяют удалить пакет libselinux1:i386:
 libmount1:i386 зависит от libselinux1 (>= 2.6-3~).

dpkg: ошибка при обработке пакета libselinux1:i386 (--purge):
 проблемы с зависимостями — не удаляется
При обработке следующих пакетов произошли ошибки:
 libselinux1:i386
Только в реверсном порядке:

Код: Выделить всё

root@nvidia:~# dpkg --purge libmount1:i386
(Чтение базы данных … на данный момент установлено 409762 файла и каталога.)
Удаляется libmount1:i386 (2.34-0.1ubuntu9) …
Обрабатываются триггеры для libc-bin (2.31-0ubuntu9) …

root@nvidia:~# dpkg --purge libselinux1:i386
(Чтение базы данных … на данный момент установлено 409760 файлов и каталогов.)
Удаляется libselinux1:i386 (3.0-1build2) …
Обрабатываются триггеры для libc-bin (2.31-0ubuntu9) …

root@nvidia:~# dpkg --purge libpcre2-8-0:i386
(Чтение базы данных … на данный момент установлено 409759 файлов и каталогов.)
Удаляется libpcre2-8-0:i386 (10.34-7) …
Обрабатываются триггеры для libc-bin (2.31-0ubuntu9) …

Re: удалить архитектуру из пакетной системы

Добавлено: 01 авг 2020, 10:53
Olej
Olej писал(а):
01 авг 2020, 10:45
Причём даже поштучное их удаление - сильно противное занятие, в силу зависимостей:
Как показало ручное изучение зависимостей, все эти библиотеки - зависимости gcc ... поэтому:

Код: Выделить всё

root@nvidia:~# apt purge gcc-10-base:i386
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Следующие пакеты будут УДАЛЕНЫ:
  gcc-10-base:i386* libblkid1:i386* libc6:i386* libcom-err2:i386* libcrypt1:i386* libdb5.3:i386* libgcc-s1:i386* libgcrypt20:i386*
  libgpg-error0:i386* libidn2-0:i386* liblz4-1:i386* liblzma5:i386* libncurses6:i386* libpcre3:i386* libsystemd0:i386* libtinfo6:i386*
  libudev1:i386* libunistring2:i386* libuuid1:i386* libzstd1:i386* zlib1g:i386*
Обновлено 0 пакетов, установлено 0 новых пакетов, для удаления отмечено 21 пакетов, и 0 пакетов не обновлено.
После данной операции объём занятого дискового пространства уменьшится на 23,4 MB.
Хотите продолжить? [Д/н] y
(Чтение базы данных … на данный момент установлено 409757 файлов и каталогов.)
Удаляется libudev1:i386 (245.4-4ubuntu3.2) …
Удаляется libsystemd0:i386 (245.4-4ubuntu3.2) …
Удаляется libblkid1:i386 (2.34-0.1ubuntu9) …
Удаляется libcom-err2:i386 (1.45.5-2ubuntu1) …
Удаляется libdb5.3:i386 (5.3.28+dfsg1-0.6ubuntu2) …
Удаляется libgcrypt20:i386 (1.8.5-5ubuntu1) …
Удаляется libgpg-error0:i386 (1.37-1) …
Удаляется libidn2-0:i386 (2.2.0-2) …
Удаляется liblz4-1:i386 (1.9.2-2) …
Удаляется liblzma5:i386 (5.2.4-1) …
Удаляется libncurses6:i386 (6.2-0ubuntu2) …
Удаляется libpcre3:i386 (2:8.39-12build1) …
Удаляется libtinfo6:i386 (6.2-0ubuntu2) …
Удаляется libunistring2:i386 (0.9.10-2) …
Удаляется libuuid1:i386 (2.34-0.1ubuntu9) …
Удаляется libzstd1:i386 (1.4.4+dfsg-3) …
Удаляется zlib1g:i386 (1:1.2.11.dfsg-2ubuntu1) …
Удаляется libc6:i386 (2.31-0ubuntu9) …
Удаляется libgcc-s1:i386 (10-20200411-0ubuntu1) …
Удаляется gcc-10-base:i386 (10-20200411-0ubuntu1) …
Удаляется libcrypt1:i386 (1:4.4.10-10ubuntu4) …
Обрабатываются триггеры для libc-bin (2.31-0ubuntu9) …
(Чтение базы данных … на данный момент установлено 409410 файлов и каталогов.)
Вычищаются файлы настройки пакета libc6:i386 (2.31-0ubuntu9) …

Re: удалить архитектуру из пакетной системы

Добавлено: 01 авг 2020, 10:53
Olej
Olej писал(а):
01 авг 2020, 10:53
зависимости gcc ... поэтому:
После чего:

Код: Выделить всё

olej@nvidia:~$ sudo dpkg --remove-architecture i386
[sudo] пароль для olej:       

olej@nvidia:~$ dpkg --print-foreign-architectures

olej@nvidia:~$ dpkg --print-architecture
amd64

Re: удалить архитектуру из пакетной системы

Добавлено: 01 авг 2020, 11:16
Olej
Olej писал(а):
01 авг 2020, 10:53
Как показало ручное изучение зависимостей,
А вот как это всё найти в более сложных случаях, не занимаясь гадательством?
Об этом была уже речь, в связи с Viber ... но забылось: зависимости пакетов

Код: Выделить всё

olej@nvidia:~$ aptitude show apt-rdepends
Пакет: apt-rdepends                              
Версия: 1.3.0-7
Новый: да
Состояние: установлен
Установлен автоматически: нет
Приоритет: необязательный
Раздел: universe/utils
Сопровождающий: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Архитектура: all
Размер в распакованном виде: 39,9 k
Зависит: libapt-pkg-perl (>= 0.1.11), perl:any
Предлагает: springgraph | graphviz
Описание: программа для рекурсивного вывода списка зависимостей пакета
 Программа рекурсивно выводит список зависимостей выбранного пакета, список пакетов, которые зависят от выбранного, список пакетов, необходимых
 для сборки выбранного. Формат вывода программы аналогичен формату вывода команды apt-cache depends. Кроме того, возможно создание файлов .dot для
 построения графов утилитой dot (соответствует режиму dotty программы apt- cache).
Домашняя страница: http://www.sfllaw.ca/programs/

Код: Выделить всё

olej@nvidia:~$ which apt-rdepends

olej@nvidia:~$ sudo apt install apt-rdepends
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Предлагаемые пакеты:
  springgraph | graphviz
Следующие НОВЫЕ пакеты будут установлены:
  apt-rdepends
Обновлено 0 пакетов, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 4 пакетов не обновлено.
Необходимо скачать 14,3 kB архивов.
После данной операции объём занятого дискового пространства возрастёт на 39,9 kB.
Пол:1 http://ubuntu.ip-connect.vn.ua focal/universe amd64 apt-rdepends all 1.3.0-7 [14,3 kB]
Получено 14,3 kB за 1с (20,2 kB/s)
Выбор ранее не выбранного пакета apt-rdepends.
(Чтение базы данных … на данный момент установлено 409409 файлов и каталогов.)
Подготовка к распаковке …/apt-rdepends_1.3.0-7_all.deb …
Распаковывается apt-rdepends (1.3.0-7) …
Настраивается пакет apt-rdepends (1.3.0-7) …
Обрабатываются триггеры для man-db (2.9.1-1) …

Re: удалить архитектуру из пакетной системы

Добавлено: 01 авг 2020, 11:30
Olej
Olej писал(а):
01 авг 2020, 11:16
А вот как это всё найти в более сложных случаях, не занимаясь гадательством?
Вот так ;-) :

Код: Выделить всё

olej@nvidia:~$ apt-rdepends --show=DEPENDS libmount1
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libmount1
  Depends: libblkid1 (>= 2.17.2)
  Depends: libc6 (>= 2.25)
  Depends: libselinux1 (>= 2.6-3~)
libblkid1
  Depends: libc6 (>= 2.25)
libc6
  Depends: libcrypt1 (>= 1:4.4.10-10ubuntu4)
  Depends: libgcc-s1
libcrypt1
  Depends: libc6 (>= 2.25)
libgcc-s1
  Depends: gcc-10-base (= 10-20200411-0ubuntu1)
  Depends: libc6 (>= 2.14)
gcc-10-base
libselinux1
  Depends: libc6 (>= 2.30)
  Depends: libpcre2-8-0 (>= 10.22)
libpcre2-8-0
  Depends: libc6 (>= 2.14)