Summary: | Неправильно работает apt-get remove --auto-remove | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | obirvalger <obirvalger> |
Component: | apt | Assignee: | darktemplar <darktemplar> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P3 | CC: | aen, boyarsh, darktemplaralt, glebfm, imz, ldv, placeholder, rider |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux |
Description
obirvalger@altlinux.org
2019-03-21 02:14:16 MSK
(В ответ на комментарий №0)
> При запуске команды `apt-get remove --auto-remove bombardier` в Debian
> происходит удаление пакета и его автоустановленных зависимостей.
>
> У нас при запуске той же команды возникает ошибка:
> E: Sense auto is not understood, try true or false.
>
> Если добавить true (`apt-get remove --auto-remove true bombardier`), то пакет
> будет удалён, но не его автозависимости.
>
> А если добавлять false (`apt-get remove --auto-remove false bombardier`), то
> возникает интересная ошибка:
> E: Packages need to be removed but Remove is disabled.
В Alt в apt-get на данный момент опции --auto-remove вообще нет. Есть проблема в парсинге опций. В результате этой проблемы apt-get принимает опцию --auto-remove за опцию --remove, она же "APT::Get::Remove".
Для удаления же установленных зависимостей есть отдельная команда "apt-get autoremove", она должна выполняться после удаления пакета, отдельно. Либо можно воспользоваться apt-shell, там удалить пакет, сделать autoremove, посмотреть результат и применить или отказаться.
(В ответ на комментарий №0)
> При запуске команды `apt-get remove --auto-remove bombardier` в Debian
> происходит удаление пакета и его автоустановленных зависимостей.
>
> У нас при запуске той же команды возникает ошибка:
> E: Sense auto is not understood, try true or false.
Посмотрел код apt ещё. Похоже, вызов "apt-get remove --auto-remove bombardier" является аналогичным вызову "apt-get remove --remove auto bombardier" или "apt-get remove --remove=auto bombardier", в связи с чем и появляется такая ошибка ("auto" не является распознаваемой строкой для boolean значений, распознаются, например, строки "yes", "no", "true", "false").
Строка же "apt-get remove --auto-remove true/false bombardier" аналогична "apt-get remove --remove true/false bombardier".
И это является документированным способом обработки данных опций, с учётом отсутствия опции --auto-remove в данной версии apt.
Новая версия apt, с поддержкой опций --autoremove и --auto-remove, находится в задании #225877, ждёт аппрува. Наверное не Глеб, а Иван ? (In reply to comment #3) > Новая версия apt, с поддержкой опций --autoremove и --auto-remove, находится в > задании #225877, ждёт аппрува. В коммит 85277801f62a5f46b01605ac56ee12e2d1411362, добавляющий --autoremove и --auto-remove, затесалось ещё какое-то нерелевантное изменение. (In reply to comment #5) > (In reply to comment #3) > > Новая версия apt, с поддержкой опций --autoremove и --auto-remove, находится в > > задании #225877, ждёт аппрува. > > В коммит 85277801f62a5f46b01605ac56ee12e2d1411362, добавляющий --autoremove и > --auto-remove, затесалось ещё какое-то нерелевантное изменение. Где именно там нерелевантное изменение? (In reply to comment #6) > (In reply to comment #5) > > (In reply to comment #3) > > > Новая версия apt, с поддержкой опций --autoremove и --auto-remove, находится в > > > задании #225877, ждёт аппрува. > > > > В коммит 85277801f62a5f46b01605ac56ee12e2d1411362, добавляющий --autoremove и > > --auto-remove, затесалось ещё какое-то нерелевантное изменение. > > Где именно там нерелевантное изменение? find_all_kept_packages (In reply to comment #7) > (In reply to comment #6) > > (In reply to comment #5) > > > (In reply to comment #3) > > > > Новая версия apt, с поддержкой опций --autoremove и --auto-remove, находится в > > > > задании #225877, ждёт аппрува. > > > > > > В коммит 85277801f62a5f46b01605ac56ee12e2d1411362, добавляющий --autoremove и > > > --auto-remove, затесалось ещё какое-то нерелевантное изменение. > > > > Где именно там нерелевантное изменение? > > find_all_kept_packages Это изменение вполне релевантное, иначе при удалении пакета через apt-get с опцией --autoremove, зависимости этого пакета не удалятся, если в них больше нет необходимости. Там даже комментарий написан именно об этом. (In reply to comment #8) > (In reply to comment #7) > > (In reply to comment #6) > > > (In reply to comment #5) > > > > (In reply to comment #3) > > > > > Новая версия apt, с поддержкой опций --autoremove и --auto-remove, находится в > > > > > задании #225877, ждёт аппрува. > > > > > > > > В коммит 85277801f62a5f46b01605ac56ee12e2d1411362, добавляющий --autoremove и > > > > --auto-remove, затесалось ещё какое-то нерелевантное изменение. > > > > > > Где именно там нерелевантное изменение? > > > > find_all_kept_packages > > Это изменение вполне релевантное, иначе при удалении пакета через apt-get с > опцией --autoremove, зависимости этого пакета не удалятся, если в них больше > нет необходимости. Там даже комментарий написан именно об этом. Почему тогда "Apt-shell: fix autoremove with pending package removals"? (In reply to comment #9) > (In reply to comment #8) > > (In reply to comment #7) > > > (In reply to comment #6) > > > > (In reply to comment #5) > > > > > (In reply to comment #3) > > > > > > Новая версия apt, с поддержкой опций --autoremove и --auto-remove, находится в > > > > > > задании #225877, ждёт аппрува. > > > > > > > > > > В коммит 85277801f62a5f46b01605ac56ee12e2d1411362, добавляющий --autoremove и > > > > > --auto-remove, затесалось ещё какое-то нерелевантное изменение. > > > > > > > > Где именно там нерелевантное изменение? > > > > > > find_all_kept_packages > > > > Это изменение вполне релевантное, иначе при удалении пакета через apt-get с > > опцией --autoremove, зависимости этого пакета не удалятся, если в них больше > > нет необходимости. Там даже комментарий написан именно об этом. > > Почему тогда "Apt-shell: fix autoremove with pending package removals"? Потому что это изменение чинит и такую же проблему в apt-shell заодно. От этого оно менее релевантным не становится. (In reply to comment #10) > (In reply to comment #9) > > (In reply to comment #8) > > > (In reply to comment #7) > > > > (In reply to comment #6) > > > > > (In reply to comment #5) > > > > > > (In reply to comment #3) > > > > > > > Новая версия apt, с поддержкой опций --autoremove и --auto-remove, находится в > > > > > > > задании #225877, ждёт аппрува. > > > > > > > > > > > > В коммит 85277801f62a5f46b01605ac56ee12e2d1411362, добавляющий --autoremove и > > > > > > --auto-remove, затесалось ещё какое-то нерелевантное изменение. > > > > > > > > > > Где именно там нерелевантное изменение? > > > > > > > > find_all_kept_packages > > > > > > Это изменение вполне релевантное, иначе при удалении пакета через apt-get с > > > опцией --autoremove, зависимости этого пакета не удалятся, если в них больше > > > нет необходимости. Там даже комментарий написан именно об этом. > > > > Почему тогда "Apt-shell: fix autoremove with pending package removals"? > > Потому что это изменение чинит и такую же проблему в apt-shell заодно. От этого > оно менее релевантным не становится. Новые фичи -- хорошо, фиксы -- замечательно, но, пожалуйста, фиксы -- отдельно, фичи -- отдельно. (In reply to comment #11) > (In reply to comment #10) > > (In reply to comment #9) > > > (In reply to comment #8) > > > > (In reply to comment #7) > > > > > (In reply to comment #6) > > > > > > (In reply to comment #5) > > > > > > > (In reply to comment #3) > > > > > > > > Новая версия apt, с поддержкой опций --autoremove и --auto-remove, находится в > > > > > > > > задании #225877, ждёт аппрува. > > > > > > > > > > > > > > В коммит 85277801f62a5f46b01605ac56ee12e2d1411362, добавляющий --autoremove и > > > > > > > --auto-remove, затесалось ещё какое-то нерелевантное изменение. > > > > > > > > > > > > Где именно там нерелевантное изменение? > > > > > > > > > > find_all_kept_packages > > > > > > > > Это изменение вполне релевантное, иначе при удалении пакета через apt-get с > > > > опцией --autoremove, зависимости этого пакета не удалятся, если в них больше > > > > нет необходимости. Там даже комментарий написан именно об этом. > > > > > > Почему тогда "Apt-shell: fix autoremove with pending package removals"? > > > > Потому что это изменение чинит и такую же проблему в apt-shell заодно. От этого > > оно менее релевантным не становится. > > Новые фичи -- хорошо, фиксы -- замечательно, но, пожалуйста, фиксы -- отдельно, > фичи -- отдельно. Это одновременно и изменение для правильной реализации опции --autoremove для apt-get и apt-shell (новая фича), и фикс для apt-shell. (In reply to comment #12) > (In reply to comment #11) > > (In reply to comment #10) > > > (In reply to comment #9) > > > > (In reply to comment #8) > > > > > (In reply to comment #7) > > > > > > (In reply to comment #6) > > > > > > > (In reply to comment #5) > > > > > > > > (In reply to comment #3) > > > > > > > > > Новая версия apt, с поддержкой опций --autoremove и --auto-remove, находится в > > > > > > > > > задании #225877, ждёт аппрува. > > > > > > > > > > > > > > > > В коммит 85277801f62a5f46b01605ac56ee12e2d1411362, добавляющий --autoremove и > > > > > > > > --auto-remove, затесалось ещё какое-то нерелевантное изменение. > > > > > > > > > > > > > > Где именно там нерелевантное изменение? > > > > > > > > > > > > find_all_kept_packages > > > > > > > > > > Это изменение вполне релевантное, иначе при удалении пакета через apt-get с > > > > > опцией --autoremove, зависимости этого пакета не удалятся, если в них больше > > > > > нет необходимости. Там даже комментарий написан именно об этом. > > > > > > > > Почему тогда "Apt-shell: fix autoremove with pending package removals"? > > > > > > Потому что это изменение чинит и такую же проблему в apt-shell заодно. От этого > > > оно менее релевантным не становится. > > > > Новые фичи -- хорошо, фиксы -- замечательно, но, пожалуйста, фиксы -- отдельно, > > фичи -- отдельно. > > Это одновременно и изменение для правильной реализации опции --autoremove для > apt-get и apt-shell (новая фича), и фикс для apt-shell. Несомненно. Я надеюсь, что вы меня тоже поняли. apt-0.5.15lorg2-alt62 -> sisyphus: Fri Mar 29 2019 Aleksei Nikiforov <darktemplar@altlinux> 0.5.15lorg2-alt62 - Implemented --autoremove option for apt-get and apt-shell (Closes: #36322). - Fixed autoremove in apt-shell to properly process packages with pending removal. |