LINUX.ORG.RU

удаление метапакета с зависимостями его - выкл/вкл в deb

 , , ,


1

1

У меня тут crunchbang/debian-stable, подчищаю систему, удаляя ненужные пакеты и вот заметил:

# aptitude purge cb-meta-libreoffice 
Следующие пакеты будут УДАЛЕНЫ:                  
  ant{u} ant-optional{u} cb-meta-libreoffice{p} fonts-sil-gentium{u} 
  fonts-sil-gentium-basic{u} libapache-pom-java{u} 
  libcommons-beanutils-java{u} libcommons-collections3-java{u} 
  libcommons-compress-java{u} libcommons-digester-java{u} 
  libcommons-logging-java{u} libcommons-parent-java{u} libdb-java{u} 
  libdb-je-java{u} libdb5.1-java{u} libdb5.1-java-jni{u} libhsqldb-java{u} 
  libicu4j-java{u} libjaxp1.3-java{u} libjline-java{u} libjtidy-java{u} 
  liblucene2-java{u} libregexp-java{u} libreoffice{u} libreoffice-base{u} 
  libreoffice-base-core{u} libreoffice-calc{u} libreoffice-draw{u} 
  libreoffice-emailmerge{u} libreoffice-filter-binfilter{u} 
  libreoffice-filter-mobiledev{u} libreoffice-gtk{u} libreoffice-impress{u} 
  libreoffice-java-common{u} libreoffice-math{u} 
  libreoffice-report-builder-bin{u} libreoffice-writer{u} 
  libservlet2.5-java{u} libvisio-0.0-0{u} libxalan2-java{u} libxz-java{u} 
  python-uno{u} ttf-sil-gentium-basic{u} 
0 пакетов обновлено, 0 установлено новых, 43 пакетов отмечено для удаления, и 0 пакетов не обновлено.
Необходимо получить 0 B архивов. После распаковки освободится 145 M байт.
Хотите продолжить? [Y/n/?] n

на apt-get autoremove cb-metapackage реакция одинаковая, сносит все что в метапакет вошло, но это в кранче, когда-то я хотел этого добиться, теперь думаю, как вырубить)

где-то это может быть настроено/заданно?

Нагуглил только что (вроде так называется) «automark» здесь замешан, искал настройки его, только вот нашел:

$ cat /etc/apt/apt.conf.d/01autoremove
APT
{
  NeverAutoRemove
  {
	"^firmware-linux.*";
	"^linux-firmware$";
	"^linux-image.*";
	"^kfreebsd-image.*";
	"^linux-restricted-modules.*";
	"^linux-ubuntu-modules-.*";
	"^gnumach$";
	"^gnumach-image.*";
  };

  Never-MarkAuto-Sections
  {
	"metapackages";
	"restricted/metapackages";
	"universe/metapackages";
	"multiverse/metapackages";
	"oldlibs";
	"restricted/oldlibs";
	"universe/oldlibs";
	"multiverse/oldlibs";
  };
};

в debian вроде бы так же, но там как я поспрашивал реакция на удаление метапакета - удаление ТОЛЬКО его

★★★★★

Последнее исправление: NK (всего исправлений: 1)

Ответ на: комментарий от AITap

Сделал, спасибо, работает:

┌─[ ~ ]
└─# aptitude unmarkauto ~Rcb-meta-libreoffice
Ни одного пакета не будет установлено, обновлено или удалено.
0 пакетов обновлено, 0 установлено новых, 0 пакетов отмечено для удаления, и 1 пакетов не обновлено.
Необходимо получить 0 B архивов. После распаковки 0 B будет занято.
                                                 
┌─[ ~ ]
└─# aptitude purge cb-meta-libreoffice
Следующие пакеты будут УДАЛЕНЫ:                  
  cb-meta-libreoffice{p} 
0 пакетов обновлено, 0 установлено новых, 1 пакетов отмечено для удаления, и 1 пакетов не обновлено.
Необходимо получить 0 B архивов. После распаковки освободится 27,6 k байт.
Хотите продолжить? [Y/n/?]

вот только вопрос, где эти все маркировки посмотреть бы, на какие пакеты они навешаны?

NK ★★★★★
() автор топика

Во-первых, не используйте aptitude.

Во-вторых, для отмены автоматического удаления пакетов пометьте их как установленные вручную: apt-mark manual пакеты.

anonymous
()
Ответ на: комментарий от anonymous

Во первых, используйте aptitude.

Во вторых - для отмены автоматического удаления пакетов уберите с них метку автоматически установленных: aptitude unmarkauto

bkarm
()
Ответ на: комментарий от bkarm

объясните мне, я про другое , где это написано, что он автоматически установлен ?

┌─[ ~ ]
└─# aptitude show cb-meta-libreoffice 
Пакет: cb-meta-libreoffice                       
Новый: да
Состояние: установлен
Автоматически установлен: нет
Версия: 0.06
Приоритет: дополнительный
Раздел: misc
Сопровождающий: Philip Newborough <corenominal@corenominal.org>
Архитектура: all
Размер в распакованном виде: 27,6 k
Зависимости: libreoffice, libreoffice-gtk
Описание: CrunchBang libreoffice meta package
 Installs libreoffice and associated gtk theme.
Сайт: http://crunchbang.org/

┌─[ ~ ]
└─# aptitude unmarkauto cb-meta-libreoffice 
Ни одного пакета не будет установлено, обновлено или удалено.
0 пакетов обновлено, 0 установлено новых, 0 пакетов отмечено для удаления, и 3 пакетов не обновлено.
Необходимо получить 0 B архивов. После распаковки 0 B будет занято.
                                                 
┌─[ ~ ]
└─# aptitude show cb-meta-libreoffice 
Пакет: cb-meta-libreoffice                       
Новый: да
Состояние: установлен
Автоматически установлен: нет
Версия: 0.06
Приоритет: дополнительный
Раздел: misc
Сопровождающий: Philip Newborough <corenominal@corenominal.org>
Архитектура: all
Размер в распакованном виде: 27,6 k
Зависимости: libreoffice, libreoffice-gtk
Описание: CrunchBang libreoffice meta package
 Installs libreoffice and associated gtk theme.
Сайт: http://crunchbang.org/

┌─[ ~ ]
└─# aptitude markauto cb-meta-libreoffice 
Следующие пакеты будут УДАЛЕНЫ:                  
  cb-meta-libreoffice{u} 
0 пакетов обновлено, 0 установлено новых, 1 пакетов отмечено для удаления, и 3 пакетов не обновлено.
Необходимо получить 0 B архивов. После распаковки освободится 27,6 k байт.
Хотите продолжить? [Y/n/?] n
Прервать.
NK ★★★★★
() автор топика
Ответ на: комментарий от NK

объясните мне, я про другое , где это написано, что он автоматически установлен ?

┌─[ ~ ]
└─# aptitude show cb-meta-libreoffice 
Пакет: cb-meta-libreoffice                       
Новый: да
Состояние: установлен
Автоматически установлен: нет        <-- Здесь.
Версия: 0.06
Приоритет: дополнительный
Раздел: misc
Сопровождающий: Philip Newborough <corenominal@corenominal.org>
Архитектура: all
Размер в распакованном виде: 27,6 k
Зависимости: libreoffice, libreoffice-gtk
Описание: CrunchBang libreoffice meta package
 Installs libreoffice and associated gtk theme.
Сайт: http://crunchbang.org/

См. также man apt-mark.

А вообще, эта информация хранится в /var/lib/apt/extended_states.

anonymous
()
Ответ на: комментарий от anonymous

Автоматически установлен: нет <-- Здесь.

еще раз, делаю

└─# aptitude update
...
┌─[ ~ ]
└─# aptitude show cb-meta-libreoffice 
Пакет: cb-meta-libreoffice                       
Новый: да
Состояние: установлен
Автоматически установлен: нет
Версия: 0.06
Приоритет: дополнительный
Раздел: misc
Сопровождающий: Philip Newborough <corenominal@corenominal.org>
Архитектура: all
Размер в распакованном виде: 27,6 k
Зависимости: libreoffice, libreoffice-gtk
Описание: CrunchBang libreoffice meta package
 Installs libreoffice and associated gtk theme.
Сайт: http://crunchbang.org/

┌─[ ~ ]
└─# aptitude markauto cb-meta-libreoffice 
Следующие пакеты будут УДАЛЕНЫ:                  
  cb-meta-libreoffice{u} 
0 пакетов обновлено, 0 установлено новых, 1 пакетов отмечено для удаления, и 3 пакетов не обновлено.
Необходимо получить 0 B архивов. После распаковки освободится 27,6 k байт.
Хотите продолжить? [Y/n/?] n
Прервать.
┌─[ ~ ]
└─# aptitude unmarkauto cb-meta-libreoffice 
Ни одного пакета не будет установлено, обновлено или удалено.
0 пакетов обновлено, 0 установлено новых, 0 пакетов отмечено для удаления, и 3 пакетов не обновлено.
Необходимо получить 0 B архивов. После распаковки 0 B будет занято.
┌─[ ~ ]
└─# aptitude update
...

на всякий базу обновляю, т.к. принцип пока не вижу, но в итоге получаю все равно - нет!

┌─[ ~ ]
└─# aptitude show cb-meta-libreoffice 
Пакет: cb-meta-libreoffice                       
Новый: да
Состояние: установлен
Автоматически установлен: нет
Версия: 0.06
Приоритет: дополнительный
Раздел: misc
Сопровождающий: Philip Newborough <corenominal@corenominal.org>
Архитектура: all
Размер в распакованном виде: 27,6 k
Зависимости: libreoffice, libreoffice-gtk
Описание: CrunchBang libreoffice meta package
 Installs libreoffice and associated gtk theme.
Сайт: http://crunchbang.org/

NK ★★★★★
() автор топика
Ответ на: комментарий от NK

Принцип простой: вы пытаетесь пометить пакет cb-meta-libreoffice как установленный автоматически, aptitude сразу же замечает, что от данного пакета ни один другой не зависит, и потому решает, что он лишний, и предлагает его удалить.

anonymous
()
Ответ на: комментарий от NK

И да,

на всякий базу обновляю

Действие update синхронизирует базу доступных пакетов (на удалённых зеркалах, дисках...). Пометка же пакета как установленного автоматически локальна, и потому не связана с состоянием репозиториев. Так что от выполнения update, конечно, вреда не будет, но и толку в данном случае никакого.

anonymous
()
Ответ на: комментарий от anonymous

Да, но почему в описании пакета про это не сказано , то что он помечен? Или все таки где-то это сказано?

┌─[ ~ ]
└─# aptitude markauto cb-meta-libreoffice 
Следующие пакеты будут УДАЛЕНЫ:                  
  cb-meta-libreoffice{u} 
0 пакетов обновлено, 0 установлено новых, 1 пакетов отмечено для удаления, и 3 пакетов не обновлено.
Необходимо получить 0 B архивов. После распаковки освободится 27,6 k байт.
Хотите продолжить? [Y/n/?] n
Прервать.
┌─[ ~ ]
└─# aptitude markauto cb-meta-libreoffice 
Следующие пакеты будут УДАЛЕНЫ:                  
  cb-meta-libreoffice{u} 
0 пакетов обновлено, 0 установлено новых, 1 пакетов отмечено для удаления, и 3 пакетов не обновлено.
Необходимо получить 0 B архивов. После распаковки освободится 27,6 k байт.
Хотите продолжить? [Y/n/?] n
Прервать.
┌─[ ~ ]
└─# aptitude purge cb-meta-libreoffice 
Следующие пакеты будут УДАЛЕНЫ:                  
  cb-meta-libreoffice{p} 
0 пакетов обновлено, 0 установлено новых, 1 пакетов отмечено для удаления, и 3 пакетов не обновлено.
Необходимо получить 0 B архивов. После распаковки освободится 27,6 k байт.
Хотите продолжить? [Y/n/?] n
Прервать.
ведь, видите применилось же

┌─[ ~ ]
└─# aptitude show cb-meta-libreoffice 
Пакет: cb-meta-libreoffice                       
Новый: да
Состояние: установлен
Автоматически установлен: нет
Версия: 0.06
Приоритет: дополнительный
Раздел: misc
Сопровождающий: Philip Newborough <corenominal@corenominal.org>
Архитектура: all
Размер в распакованном виде: 27,6 k
Зависимости: libreoffice, libreoffice-gtk
Описание: CrunchBang libreoffice meta package
 Installs libreoffice and associated gtk theme.
Сайт: http://crunchbang.org/

а теперь и заново навесить не могу, что не так? O_o

┌─[ ~ ]
└─# aptitude unmarkauto cb-meta-libreoffice 
Ни одного пакета не будет установлено, обновлено или удалено.
0 пакетов обновлено, 0 установлено новых, 0 пакетов отмечено для удаления, и 3 пакетов не обновлено.
Необходимо получить 0 B архивов. После распаковки 0 B будет занято.
                                                 
┌─[ ~ ]
└─# aptitude purge cb-meta-libreoffice 
Следующие пакеты будут УДАЛЕНЫ:                  
  cb-meta-libreoffice{p} 
0 пакетов обновлено, 0 установлено новых, 1 пакетов отмечено для удаления, и 3 пакетов не обновлено.
Необходимо получить 0 B архивов. После распаковки освободится 27,6 k байт.
Хотите продолжить? [Y/n/?] n
Прервать.
┌─[ ~ ]
└─# aptitude markauto cb-meta-libreoffice 
Следующие пакеты будут УДАЛЕНЫ:                  
  cb-meta-libreoffice{u} 
0 пакетов обновлено, 0 установлено новых, 1 пакетов отмечено для удаления, и 3 пакетов не обновлено.
Необходимо получить 0 B архивов. После распаковки освободится 27,6 k байт.
Хотите продолжить? [Y/n/?] n
Прервать.

NK ★★★★★
() автор топика
Ответ на: комментарий от AITap

А вот, от AITap , заново навешивание срабатывает,

┌─[ ~ ]
└─# aptitude purge cb-meta-libreoffice 
Следующие пакеты будут УДАЛЕНЫ:                  
  cb-meta-libreoffice{p} 
0 пакетов обновлено, 0 установлено новых, 1 пакетов отмечено для удаления, и 3 пакетов не обновлено.
Необходимо получить 0 B архивов. После распаковки освободится 27,6 k байт.
Хотите продолжить? [Y/n/?] n
Прервать.
┌─[ ~ ]
└─# aptitude markauto ~Rcb-meta-libreoffice
Ни одного пакета не будет установлено, обновлено или удалено.
0 пакетов обновлено, 0 установлено новых, 0 пакетов отмечено для удаления, и 3 пакетов не обновлено.
Необходимо получить 0 B архивов. После распаковки 0 B будет занято.
                                                 
┌─[ ~ ]
└─# aptitude purge cb-meta-libreoffice 
[  0%] Инициализация состояний пакетов           
Следующие пакеты будут УДАЛЕНЫ:       
  ant{u} ant-optional{u} cb-meta-libreoffice{p} fonts-sil-gentium{u} 
  fonts-sil-gentium-basic{u} libapache-pom-java{u} 
  libcommons-beanutils-java{u} libcommons-collections3-java{u} 
  libcommons-compress-java{u} libcommons-digester-java{u} 
  libcommons-logging-java{u} libcommons-parent-java{u} libdb-java{u} 
  libdb-je-java{u} libdb5.1-java{u} libdb5.1-java-jni{u} libhsqldb-java{u} 
  libicu4j-java{u} libjaxp1.3-java{u} libjline-java{u} libjtidy-java{u} 
  liblucene2-java{u} libregexp-java{u} libreoffice{u} libreoffice-base{u} 
  libreoffice-base-core{u} libreoffice-calc{u} libreoffice-draw{u} 
  libreoffice-emailmerge{u} libreoffice-filter-binfilter{u} 
  libreoffice-filter-mobiledev{u} libreoffice-gtk{u} 
  libreoffice-impress{u} libreoffice-java-common{u} libreoffice-math{u} 
  libreoffice-report-builder-bin{u} libreoffice-writer{u} 
  libservlet2.5-java{u} libvisio-0.0-0{u} libxalan2-java{u} libxz-java{u} 
  python-uno{u} ttf-sil-gentium-basic{u} 
0 пакетов обновлено, 0 установлено новых, 43 пакетов отмечено для удаления, и 3 пакетов не обновлено.
Необходимо получить 0 B архивов. После распаковки освободится 145 M байт.

но меня сразу это ~R отпугнуло, в обще не понятно откуда оно взялось (и боюсь даже еще узнать/представить сколько у apt* ключей)

NK ★★★★★
() автор топика
Ответ на: комментарий от anonymous

А вообще, эта информация хранится в /var/lib/apt/extended_states

не вижу я его здесь(

┌─[ ~ ]
└─# aptitude markauto ~Rcb-meta-libreoffice
Ни одного пакета не будет установлено, обновлено или удалено.
0 пакетов обновлено, 0 установлено новых, 0 пакетов отмечено для удаления, и 3 пакетов не обновлено.
Необходимо получить 0 B архивов. После распаковки 0 B будет занято.
                                                 
┌─[ ~ ]
└─# aptitude purge cb-meta-libreoffice 
Следующие пакеты будут УДАЛЕНЫ:                  
  ant{u} ant-optional{u} cb-meta-libreoffice{p} fonts-sil-gentium{u} 
  fonts-sil-gentium-basic{u} libapache-pom-java{u} 
  libcommons-beanutils-java{u} libcommons-collections3-java{u} 
  libcommons-compress-java{u} libcommons-digester-java{u} 
  libcommons-logging-java{u} libcommons-parent-java{u} libdb-java{u} 
  libdb-je-java{u} libdb5.1-java{u} libdb5.1-java-jni{u} libhsqldb-java{u} 
  libicu4j-java{u} libjaxp1.3-java{u} libjline-java{u} libjtidy-java{u} 
  liblucene2-java{u} libregexp-java{u} libreoffice{u} libreoffice-base{u} 
  libreoffice-base-core{u} libreoffice-calc{u} libreoffice-draw{u} 
  libreoffice-emailmerge{u} libreoffice-filter-binfilter{u} 
  libreoffice-filter-mobiledev{u} libreoffice-gtk{u} 
  libreoffice-impress{u} libreoffice-java-common{u} libreoffice-math{u} 
  libreoffice-report-builder-bin{u} libreoffice-writer{u} 
  libservlet2.5-java{u} libvisio-0.0-0{u} libxalan2-java{u} libxz-java{u} 
  python-uno{u} ttf-sil-gentium-basic{u} 
0 пакетов обновлено, 0 установлено новых, 43 пакетов отмечено для удаления, и 3 пакетов не обновлено.
Необходимо получить 0 B архивов. После распаковки освободится 145 M байт.
Хотите продолжить? [Y/n/?] n
Прервать.
┌─[ ~ ]
└─# cat /var/lib/apt/extended_states | grep cb-meta-
┌─[ ~ ]
└─# cat /var/lib/apt/extended_states | grep cb-meta
┌─[ ~ ]
└─# cat /var/lib/apt/extended_states | grep cb
Package: cb-tint2
Package: docbook-xml
Package: libxcb-glx0
Package: cb-welcome
Package: cb-exit
Package: libx11-xcb1
Package: libxcb-util0
Package: cb-fortune
Package: libxcb-render0
Package: libxcb1
Package: cb-conky
Package: cb-pipemenus
Package: cb-cowpowers
Package: libxcb-shape0
Package: cb-lock
Package: cb-wmhacks
Package: libxcb-dri2-0
Package: cb-configs
Package: libxcb-shm0
Package: cb-slim
┌─[ ~ ]
└─# aptitude unmarkauto ~Rcb-meta-libreoffice
Ни одного пакета не будет установлено, обновлено или удалено.
0 пакетов обновлено, 0 установлено новых, 0 пакетов отмечено для удаления, и 3 пакетов не обновлено.
Необходимо получить 0 B архивов. После распаковки 0 B будет занято.
                                                 
┌─[ ~ ]
└─# aptitude purge cb-meta-libreoffice 
Следующие пакеты будут УДАЛЕНЫ:                  
  cb-meta-libreoffice{p} 
0 пакетов обновлено, 0 установлено новых, 1 пакетов отмечено для удаления, и 3 пакетов не обновлено.
Необходимо получить 0 B архивов. После распаковки освободится 27,6 k байт.
Хотите продолжить? [Y/n/?] n
Прервать.
┌─[ ~ ]
└─# cat /var/lib/apt/extended_states | grep cb
Package: cb-tint2
Package: docbook-xml
Package: libxcb-glx0
Package: cb-welcome
Package: cb-exit
Package: libx11-xcb1
Package: libxcb-util0
Package: cb-fortune
Package: libxcb-render0
Package: libxcb1
Package: cb-conky
Package: cb-pipemenus
Package: cb-cowpowers
Package: libxcb-shape0
Package: cb-lock
Package: cb-wmhacks
Package: libxcb-dri2-0
Package: cb-configs
Package: libxcb-shm0
Package: cb-slim
┌─[ ~ ]
└─# cat /var/lib/apt/extended_states | grep cb-l
Package: cb-lock
NK ★★★★★
() автор топика
Ответ на: комментарий от NK

/usr/share/doc/aptitude/html/en/ch02s04s05.html из пакета aptitude-doc-en

AITap ★★★★★
()

сносит все что в метапакет вошло, но это в кранче, когда-то я хотел этого добиться, теперь думаю, как вырубить) где-то это может быть настроено/заданно?

NoWay

метапакет как раз и состоит из зависимостей, ты хочешь невозможного.

emulek
()
Ответ на: комментарий от emulek

я хочу увидеть какие пакеты,еще так отмечены или где этот параметр задан, что бы удалять и метапакет , и его зависимости

вот ещесмотрю не вижу LO

└─# apt-mark showauto | grep cb-l
cb-lock
┌─[ ~ ]
NK ★★★★★
() автор топика
Ответ на: комментарий от NK

Да, но почему в описании пакета про это не сказано , то что он помечен?

Потому, что вы его в конечном счёте не пометили. Вы выполнили aptitude markauto, а потом отказались от предложенного действия, нажав n.

Постараюсь объяснить вам.

Прежде всего, различия между поведением apt-* и aptitude в данном случае: apt-mark просто помечает пакеты, но не производит с ними никаких действий, а apt-get кажущиеся ненужными пакеты не удаляет автоматически (для этого есть специальное действие autoremove), что позволяет отложить этот вопрос на потом; aptitude же при первом же удобном случае старается снести кажущиеся ненужными пакеты.

Выбранные для установки пакеты можно разделить на две категории: те, что указаны для установки вами явно (указанные в командной строке или в графическом интерфейсе), и те, что выбраны для установки менеджером пакетов автоматически для удовлетворения зависимостей. Последние и помечаются соответствующим флагом. Если в дальнейшем от такого «автоматического» пакета не будет зависеть (прямо или транзитивно) ни один из вручную установленных, то он будет считаться лишним и будет удалён: aptitude - при первом удобном случае; apt-get - по команде autoremove.

В данном случае cb-meta-libreoffice - это мета-пакет, который «потянул» за собой реальные пакеты, естественно, помеченные как установленные автоматически. В результате при удалении мета-пакета aptitude рвётся удалить и все его реальные зависимости.

Если вы хотите удалить пакет, но хотите оставить некоторые из образующихся после этого «лишних» пакетов, последние нужно пометить как установленные вручную командой aptitude unmarkauto или apt-mark manual.

Что вы сделали: aptitude markauto cb-meta-libreoffice привёл к установке флага «установлен автоматически» на этот пакет, и в результате aptitude незамедлительно предложил вам его удалить. Вы отказались от удаления, таким образом отказавшись и от пометки его «автоматическим», и всё вернулось в прежнее состояние. Если всё же хотите пометить данный пакет «автоматическим», выполните apt-mark auto cb-meta-libreoffice.

Команда же aptitude (un)markauto ~Rcb-meta-libreoffice действует совсем по-другому: ~Rпакет раскрывается в список зависимостей этого пакета! То есть так вы помечаете/убираете отметку со всех зависимостей пакета cb-meta-libreoffice, а не с него самого. И в результате при удалении cb-meta-libreoffice в зависимости от пометок остаются/планируются к удалению все его зависимости (от которых более никто не зависит).

Надеюсь, теперь стало понятнее. Если есть ещё вопросы - спрашивайте.

anonymous
()
Ответ на: комментарий от anonymous

Всё просто

aptitude show extremetuxracer-data | grep Auto
Automatically installed: no       <--- WTF?!

Был бы он установлен через aptitude, а не apt-get, картина была бы немного иной. Любителям же смешивать apt-get/synaptic + aptitude я могу лишь пожелать ручных разборов зависимостей.

+ eсть ncurses, state-bundle, search patterns и

и с multi-arch проблем нет

Про логику обновлений - далеко ходить не буду. http://paste.debian.net/74874/ Кандидат есть, обновления - нет. Ну, и по мелочи ещё, если вспоминать - можно накопать много. И обновления с релиза на релиз через aptitude проходят на ура, что там можно сломать, если вдумчиво использовать программу - я без понятия.

aptitude search '~i!~M'|wc -l
489
apt-mark showmanual|wc -l
489
bkarm
()
Ответ на: комментарий от bkarm

Был бы он установлен через aptitude, а не apt-get, картина была бы немного иной.

Это лишь один пример. Разумеется, несколько искусственный, чтобы наглядно продемонстрировать проблему. Но от игнорирования данного конкретного примера проблема никуда не исчезнет.

Прошу заметить, что apt и aptitude декларируются взаимозаменяемыми, и последний использует базу первого, в том числе и для слежения за автоматически установленными пакетами. Когда-то в своё время их действительно не рекомендовалось использовать вместе, но это уже давно не так. Так что неиспользование apt-get не решает проблему, что видно в том числе и по списку багрепортов. То же самое говорит и мой опыт: в своё время я вообще не пользовался apt-get, но всё равно попал в эти неприятности.

+ eсть ncurses, state-bundle, search patterns

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

И это:

aptitude search '~i!~M'|wc -l
489
apt-mark showmanual|wc -l
489

- вообще-то следствие как раз используемой единой базы пакетов - если бы aptitude гадил только где-то там у себя, таких проблем бы не было; но он портит общую с apt базу, а это уже недопустимо.

Очень советую пробежаться по этому списку: наверняка найдёте там не один и не два пакета, которые вами явным образом не устанавливались, но у которых «почему-то» отсутствует пометка «автоматический».

Вообще, учитывая, что основная работа и все нововведения нынче вносятся в apt, а до aptitude они доходят в лучшем случае спорадически силами редких энтузиастов (сравните журнал коммитов: apt vs aptitude), надежда на исправление ситуации невелика. Может, JackYF cupt допишет, на него пока надежда. А пока нормально работающих альтернатив apt нет.

Про логику обновлений - далеко ходить не буду. http://paste.debian.net/74874/ Кандидат есть, обновления - нет.

Мда. Вы бы хоть с документацией ознакомились да разобрались, прежде чем писать чушь.

Политика apt-get upgrade такова, что любые потенциально опасные манипуляции с пакетами не выполняются. К ним относится в том числе и установка новых пакетов в систему (это может привести к изменению поведения через, скажем, alternatives, или автовыбор иного backend (debconf vs cdebconf, всякие альтернативные sql-движки и так далее)). Новая версия base-passwd требует установку нового пакета libdebconfclient0, поэтому apt-get и отложил его обновление. aptitude upgrade же разрешает установку новых пакетов, отсюда и разница.

anonymous
()
Ответ на: комментарий от anonymous

Мда. Вы бы хоть с документацией ознакомились да разобрались, прежде чем писать чушь.

Для второго случая, должна помочь команда apt-get install для указанного в вопросе пакета, так ка это приведет к скачиванию зависимости. Даже более прозрачное решение сосотоит в использовании dist-upgrade [at]http://www.debian.org/doc/manuals/apt-howto/ch-apt-get.ru.html#s-upgrade

apt-get dist-upgrade
http://paste.debian.net/74908/

Всё, apt-get знает, как лучше, не предоставляя пользователю выбора. Так, либо никак.

Когда, параллельно, aptitude говорит, что он удалит, почему и зачем. В конце концов с ним можно договориться.

aptitude upgrade -t experimental --full-resolver -R --visual-preview
http://www.zimagez.com/zimage/-08012014-021357.php 

Признаюсь, тут я немного слукавил, ибо читал документацию aptitude, в то время, как к apt-у относился пренебрежительно. Но, имея систему Sid/Experimental, захолдив некоторые ключевые пакеты, новые версии которых завязаны на ненужных в системе библиотеках и демонах, чистый apt-get не способен удовлетворить мои желания. Если к нему подключить dselect - возможно, но зачем, если есть aptitude?

Очень советую пробежаться по этому списку: наверняка найдёте там не один и не два пакета, которые вами явным образом не устанавливались, но у которых «почему-то» отсутствует пометка «автоматический».

А тут сказать точно не могу. Беглый взгляд не зацепился ни за что, установленное неявно. Даже libc6, например, не смущает. Ну, только, если считать сброс флага автоматической установки при

aptitude  install  libc6/version
багом.

С другой стороны, даже если в списке есть пакеты, у которых нелегально снят флаг - используя aptitude я уверен, что, если он мне решит что-либо удалить, вначале спросит разрешения, и моментально получит указание. В случае же с apt-get нужно отказываться, и лезть разбираться в apt-cache, apt-mark и прочие апты.

надежда на исправление ситуации невелика

Хочется надеяться на лучшее, а если петух клюнет - можно взять и в свои руки. Уметь бы ещё программировать, так вообще красота :D

Я простой пользователь, и aptitude меня никогда не подводил. Наверное, мои потребности не так велики, но однажды увидев более логичное, для меня, поведение aptitude «из коробки» - желание возиться с apt-get отпало.

bkarm
()
Ответ на: комментарий от bkarm

http://www.debian.org/doc/manuals/apt-howto/ch-apt-get.ru.html#s-upgrade

Зачем вы читаете

APT HOWTO (Obsolete Documentation)

Многие вещи там уже устарели.

При создании этого руководства APT имел версию 0.5.3

Вам напомнить текущую версию apt?

Если к нему подключить dselect - возможно

dselect? Seriously?

http://paste.debian.net/74908/

Сдаётся мне, вы что-то не зафиксировали, и при каждом обновлении вам приходится воевать с aptitude, чтобы оставить нужные вам пакеты неизменными. Покажите вывод apt-get -o Debug::pkgProblemResolver=yes dist-upgrade.

Так, либо никак.

Такие вещи разруливаются расставлением hold'ов и приоритетов (pinning).

Кроме того, вы всегда можете запросить обновление отдельных пакетов в виде apt-get install пакеты.

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

Можно пример? Если они действительно не нужны, то это баг, о котором нужно сообщить. Если же они не нужны вам, то, думаю, вместо вечной заморозки проще их пересобрать без ненужных вам зависимостей.

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

В том-то и дело, что всё как раз наоборот: aptitude не предложит удалить более не нужные пакеты, и они останутся в системе мёртвым грузом.

Я простой пользователь, и aptitude меня никогда не подводил. Наверное, мои потребности не так велики, но однажды увидев более логичное, для меня, поведение aptitude «из коробки» - желание возиться с apt-get отпало.

Вы лично можете пользоваться чем угодно, если готовы мириться с багами, но другим всё же стоит пользоваться официально рекомендуемым разработчиками Debian надёжным и хорошо поддерживаемым apt-get.

anonymous
()
Ответ на: комментарий от anonymous

dselect? Seriously?

Ну, я открыл man apt-get, и в DESCRIPTION вижу dselect-upgrade, что не так?

Можно пример?

aptitude show policykit-1
Версия: 0.112-1
Зависимости: libc6 (>= 2.7), libexpat1 (>= 2.0.1), libglib2.0-0 (>= 2.35.9), libmozjs185-1.0 (>= 1.8.5-1.0.0+dfsg),
                        libnspr4 (>= 2:4.9-2~) | libnspr4-0d (>= 1.8.0.10), libpam0g (>= 0.99.7.1),
                        libpolkit-agent-1-0 (>= 0.105), libpolkit-gobject-1-0 (>= 0.104), consolekit, dbus, adduser


aptitude show policykit-1/0.112-2
Версия: 0.112-2
Зависимости: libc6 (>= 2.7), libexpat1 (>= 2.0.1), libglib2.0-0 (>= 2.35.9), libmozjs-17.0-0, libpam0g (>= 0.99.7.1),
                        libpolkit-agent-1-0 (>= 0.105), libpolkit-gobject-1-0 (>= 0.104), libsystemd-login0 (>= 31),
                        systemd, dbus, adduser

Если убрать из preferences запись про systemd/pin-priority -1, то предлагает обновиться, притягивая, понемногу, libsystemd*. Так что тут ни apt-get, ни aptitude не помогут.

pkgProblemResolver на тот момент показать не могу, неправильно настроил pin(закинул *systemd* в -1 при установленном libsystemd-login0, а ему обновка прилетела, это этого и каша) и там только проблемы зависимостей, по типу

 xserver-xorg-input-mouse : Зависит: xorg-input-abi-19 который является виртуальным пакетом.
и предложения удалить xorg при apt-get dist-upgrade -t experimental и aptitude upgrade -t experimental --full-resolver. При простом upgrade/dist-upgrade -t sid в обоих apt-ах проблем нету.

aptitude не предложит удалить более не нужные пакеты

apt-get autoremove
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Пакеты, которые будут УДАЛЕНЫ:
  linux-image-3.11-1-amd64 linux-image-3.11-2-amd64

Да, вроде, и не засрано забытыми пакетами. deborphan говорит про 9 пакетов, 2 из которых(не linux-image) можно удалить, остальные нужны.

bkarm
()
Ответ на: комментарий от bkarm

Ну, я открыл man apt-get, и в DESCRIPTION вижу dselect-upgrade, что не так?

Всё так, просто dselect уже давно устарел. Он всё ещё в архиве, но им мало кто пользуется, ибо есть apt.

Действие dselect-upgrade используется в основном для непосредственной установки пакетов, выбранных по dpkg --set-selections.

Зависимости: ... systemd

Сурово. Не вполне понятно, зачем там эта зависимость. По идее, достаточно logind, который вроде как работает без systemd как pid 1. Багрепорт писали?

притягивая, понемногу, libsystemd*

Это не страшно.

Пакеты, которые будут УДАЛЕНЫ:
  linux-image-3.11-1-amd64 linux-image-3.11-2-amd64

Так не должно быть. Что в /etc/apt/apt.conf.d/01autoremove?

Да, вроде, и не засрано забытыми пакетами.

Имейте в виду, что признаком проблемы является не отсутствие ненужных пакетов в списке, а наличие в нём пакетов, не устанавливаемых вами явно и не принадлежащих базовой системе.

anonymous
()
Ответ на: комментарий от anonymous

Так не должно быть

Да нет, всё нормально

search ~ilinux-image-3.11
i A linux-image-3.11-1-amd64        - Linux 3.11 for 64-bit PCs                 
i A linux-image-3.11-2-amd64        - Linux 3.11 for 64-bit PCs  
linux-image-amd64 обновился, но старые версии ядра я указал «сохранить пакеты в их текущем состоянии без фиксации», делаю так постоянно, на всякий пожарный.

Багрепорт писали?

А смысл, если там ченджлог

policykit-1 (0.112-2) experimental; urgency=low

  * Use logind on linux and consolekit on non-linux
  * Update to mozjs17

 -- Sjoerd Simons <sjoerd@debian.org>  Fri, 01 Nov 2013 21:36:55 +0100
и были разговоры, что поддержка gnome3+systemd в Debian легче, чем gnome3-systemd. Видимо, это очередной шаг. Хотя, написать всё-таки нужно, да.

bkarm
()
Ответ на: комментарий от bkarm

А, туплю. Сделал equivs-build systemd-fake, policykit завёлся как и должен был. Теперь нужно подумать, как правильно оформить баг - как фичреквест на создание альтернативного пакета без привязки к systemd для не-Gnome3 окружений, что-ли.

bkarm
()
Ответ на: комментарий от bkarm

Да нет, всё нормально

search ~ilinux-image-3.11
i A linux-image-3.11-1-amd64        - Linux 3.11 for 64-bit PCs                 
i A linux-image-3.11-2-amd64        - Linux 3.11 for 64-bit PCs  

linux-image-amd64 обновился, но старые версии ядра я указал «сохранить пакеты в их текущем состоянии без фиксации», делаю так постоянно, на всякий пожарный.

Нет, не нормально. См. /etc/apt/apt.conf.d/01autoremove:

APT
{
  NeverAutoRemove
  {
	...
	"^linux-image.*";
	...
  };

anonymous
()
Ответ на: комментарий от bkarm

Теперь нужно подумать, как правильно оформить баг - как фичреквест на создание альтернативного пакета без привязки к systemd для не-Gnome3 окружений, что-ли.

Если необходимая функциональность policykit не зависит от наличия systemd, то это нарушение Политики Debian:

The Depends field should be used if the depended-on package is required for the depending package to provide a significant amount of functionality.

Если же systemd требуется для работы logind, то это должна быть его зависимость, а не policykit.

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