Есть ли способ вручную проверить, какие дополнительные пакеты будут удалены?

Из новой установки я сделал:

sudo apt-get install samba smbfs
8
задан 22 May 2017 в 11:32

12 ответов

API APT Python можно использовать для написания короткого сценария для этого:

#! /usr/bin/python3
import sys
from apt import cache

c = cache.Cache()
for pkg in sys.argv[1:]:
    c[pkg].mark_delete()   

print('\n'.join(pkg.name for pkg in c.get_changes() if pkg.marked_delete))

Пример:

$ apt-get remove -s bash | grep Remv  
Remv winusb [1.0.11+saucy1]
Remv gdm [3.18.3-0ubuntu2]
Remv gdm3 [3.18.3-0ubuntu2]
Remv bash [4.3-14ubuntu1.2] [inxi:amd64 lightdm:amd64 bash-completion:amd64 ]
Remv bash-completion [1:2.1-4.2ubuntu1.1] [inxi:amd64 lightdm:amd64 ]
Remv inxi [2.2.35-0ubuntu1] [lightdm:amd64 ]
Remv lightdm [1.18.3-0ubuntu1.1]

$ apt-cache rdepends bash --installed | sed '1,2d' | sort -u
  bash-completion
    bash:i386
  gdm3
  inxi
  lightdm
  winusb

$ ./check.py bash                                             
inxi
winusb
gdm
gdm3
bash
lightdm
bash-completion
11
ответ дан 22 May 2018 в 22:22
  • 1
    Решение python очень чистое. Благодаря! – answerSeeker 22 May 2017 в 12:58

API APT Python можно использовать для написания короткого сценария для этого:

#! /usr/bin/python3 import sys from apt import cache c = cache.Cache() for pkg in sys.argv[1:]: c[pkg].mark_delete() print('\n'.join(pkg.name for pkg in c.get_changes() if pkg.marked_delete))

Пример:

$ apt-get remove -s bash | grep Remv Remv winusb [1.0.11+saucy1] Remv gdm [3.18.3-0ubuntu2] Remv gdm3 [3.18.3-0ubuntu2] Remv bash [4.3-14ubuntu1.2] [inxi:amd64 lightdm:amd64 bash-completion:amd64 ] Remv bash-completion [1:2.1-4.2ubuntu1.1] [inxi:amd64 lightdm:amd64 ] Remv inxi [2.2.35-0ubuntu1] [lightdm:amd64 ] Remv lightdm [1.18.3-0ubuntu1.1] $ apt-cache rdepends bash --installed | sed '1,2d' | sort -u bash-completion bash:i386 gdm3 inxi lightdm winusb $ ./check.py bash inxi winusb gdm gdm3 bash lightdm bash-completion
11
ответ дан 18 July 2018 в 12:55

API APT Python можно использовать для написания короткого сценария для этого:

#! /usr/bin/python3 import sys from apt import cache c = cache.Cache() for pkg in sys.argv[1:]: c[pkg].mark_delete() print('\n'.join(pkg.name for pkg in c.get_changes() if pkg.marked_delete))

Пример:

$ apt-get remove -s bash | grep Remv Remv winusb [1.0.11+saucy1] Remv gdm [3.18.3-0ubuntu2] Remv gdm3 [3.18.3-0ubuntu2] Remv bash [4.3-14ubuntu1.2] [inxi:amd64 lightdm:amd64 bash-completion:amd64 ] Remv bash-completion [1:2.1-4.2ubuntu1.1] [inxi:amd64 lightdm:amd64 ] Remv inxi [2.2.35-0ubuntu1] [lightdm:amd64 ] Remv lightdm [1.18.3-0ubuntu1.1] $ apt-cache rdepends bash --installed | sed '1,2d' | sort -u bash-completion bash:i386 gdm3 inxi lightdm winusb $ ./check.py bash inxi winusb gdm gdm3 bash lightdm bash-completion
11
ответ дан 24 July 2018 в 20:04

Вы можете использовать опцию --simulate или -s, которая покажет вам, что APT сделает, когда вы запустите команду, ничего не сделав, например ...

$ sudo apt remove -s file
Reading package lists... Done
Building dependency tree        
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libfile-stripnondeterminism-perl libltdl-dev libmail-sendmail-perl libsys-hostname-long-perl po-debconf
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED
  cracklib-runtime debhelper dh-autoreconf dh-strip-nondeterminism file gdebi gdebi-core libtool lintian ubuntu-standard
0 to upgrade, 0 to newly install, 10 to remove and 0 not to upgrade.
Remv cracklib-runtime [2.9.2-3]
Remv dh-autoreconf [13] [debhelper:amd64 ]
Remv debhelper [10.2.2ubuntu1] [dh-strip-nondeterminism:amd64 ]
Remv dh-strip-nondeterminism [0.032-1]
Remv gdebi [0.9.5.7+nmu1]
Remv gdebi-core [0.9.5.7+nmu1]
Remv ubuntu-standard [1.379]
Remv file [1:5.29-3] [lintian:amd64 libtool:amd64 ]
Remv libtool [2.4.6-2] [lintian:amd64 ]
Remv lintian [2.5.50.1]

Мы что удаление пакета file будет очень плохой идеей ...

19
ответ дан 22 May 2018 в 22:22
  • 1
    Кто написал первый, вы или Албан? – NoOneIsHere 22 May 2017 в 21:25
  • 2
    @NoOneIsЗачем меня на несколько секунд: / – Zanna 22 May 2017 в 21:44
  • 3
    Хорошо, я поддержал оба ваших ответа, потому что у вас есть детали использования, и его (я полагаю) имеет справочную страницу, но я думаю, что эти два сочетания лучше, чем принятые. – NoOneIsHere 22 May 2017 в 22:00
  • 4
    @NoOneIsHere, если Alban не отправил, я, возможно, добавил деталь страницы man к моему ответу. Я думаю, что это простое решение, скорее всего, будет тем, что люди будут использовать, чем принятое, но согласиться с усмотрением OP, а ответ муру - это продвинутый класс :) – Zanna 22 May 2017 в 22:02
  • 5
    Большинство из этих пакетов на самом деле не важны, хотя я попал в ситуацию, когда удаление стандартного ubuntu приводит к тому, что последующий autoremove переходит на гайки. – Random832 23 May 2017 в 00:23

Параметр -s или --simulate используется для имитации любой задачи APT без ее фактического запуска.

Из официальных файлов:

 -s, --simulate, --just-print, --dry-run, --recon, --no-act
       No action; perform a simulation of events that would occur based on
       the current system state but do not actually change the system.
       Locking will be disabled (Debug::NoLocking) so the system state
       could change while apt-get is running. Simulations can also be
       executed by non-root users which might not have read access to all
       apt configuration distorting the simulation. A notice expressing
       this warning is also shown by default for non-root users
       (APT::Get::Show-User-Simulation-Note). Configuration Item:
       APT::Get::Simulate.
13
ответ дан 22 May 2018 в 22:22

Параметр -s или --simulate используется для имитации любой задачи APT без ее фактического запуска.

Из официальных файлов:

 -s, --simulate, --just-print, --dry-run, --recon, --no-act
       No action; perform a simulation of events that would occur based on
       the current system state but do not actually change the system.
       Locking will be disabled (Debug::NoLocking) so the system state
       could change while apt-get is running. Simulations can also be
       executed by non-root users which might not have read access to all
       apt configuration distorting the simulation. A notice expressing
       this warning is also shown by default for non-root users
       (APT::Get::Show-User-Simulation-Note). Configuration Item:
       APT::Get::Simulate.
13
ответ дан 22 May 2018 в 22:22

Параметр -s или --simulate используется для имитации любой задачи APT без ее фактического запуска.

Из официальных файлов:

 -s, --simulate, --just-print, --dry-run, --recon, --no-act
       No action; perform a simulation of events that would occur based on
       the current system state but do not actually change the system.
       Locking will be disabled (Debug::NoLocking) so the system state
       could change while apt-get is running. Simulations can also be
       executed by non-root users which might not have read access to all
       apt configuration distorting the simulation. A notice expressing
       this warning is also shown by default for non-root users
       (APT::Get::Show-User-Simulation-Note). Configuration Item:
       APT::Get::Simulate.
13
ответ дан 22 May 2018 в 22:22

Параметр -s или --simulate используется для имитации любой задачи APT без ее фактического запуска.

Из официальных файлов:

 -s, --simulate, --just-print, --dry-run, --recon, --no-act
       No action; perform a simulation of events that would occur based on
       the current system state but do not actually change the system.
       Locking will be disabled (Debug::NoLocking) so the system state
       could change while apt-get is running. Simulations can also be
       executed by non-root users which might not have read access to all
       apt configuration distorting the simulation. A notice expressing
       this warning is also shown by default for non-root users
       (APT::Get::Show-User-Simulation-Note). Configuration Item:
       APT::Get::Simulate.
13
ответ дан 22 May 2018 в 22:22

Параметр -s или --simulate используется для имитации любой задачи APT без ее фактического запуска.

Из официальных файлов:

-s, --simulate, --just-print, --dry-run, --recon, --no-act No action; perform a simulation of events that would occur based on the current system state but do not actually change the system. Locking will be disabled (Debug::NoLocking) so the system state could change while apt-get is running. Simulations can also be executed by non-root users which might not have read access to all apt configuration distorting the simulation. A notice expressing this warning is also shown by default for non-root users (APT::Get::Show-User-Simulation-Note). Configuration Item: APT::Get::Simulate.
13
ответ дан 18 July 2018 в 12:55

Вы можете использовать опцию --simulate или -s, которая покажет вам, что APT сделает, когда вы запустите команду, ничего не сделав, например ...

$ sudo apt remove -s file Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: libfile-stripnondeterminism-perl libltdl-dev libmail-sendmail-perl libsys-hostname-long-perl po-debconf Use 'sudo apt autoremove' to remove them. The following packages will be REMOVED cracklib-runtime debhelper dh-autoreconf dh-strip-nondeterminism file gdebi gdebi-core libtool lintian ubuntu-standard 0 to upgrade, 0 to newly install, 10 to remove and 0 not to upgrade. Remv cracklib-runtime [2.9.2-3] Remv dh-autoreconf [13] [debhelper:amd64 ] Remv debhelper [10.2.2ubuntu1] [dh-strip-nondeterminism:amd64 ] Remv dh-strip-nondeterminism [0.032-1] Remv gdebi [0.9.5.7+nmu1] Remv gdebi-core [0.9.5.7+nmu1] Remv ubuntu-standard [1.379] Remv file [1:5.29-3] [lintian:amd64 libtool:amd64 ] Remv libtool [2.4.6-2] [lintian:amd64 ] Remv lintian [2.5.50.1]

Мы что удаление пакета file будет очень плохой идеей ...

19
ответ дан 18 July 2018 в 12:55

Параметр -s или --simulate используется для имитации любой задачи APT без ее фактического запуска.

Из официальных файлов:

-s, --simulate, --just-print, --dry-run, --recon, --no-act No action; perform a simulation of events that would occur based on the current system state but do not actually change the system. Locking will be disabled (Debug::NoLocking) so the system state could change while apt-get is running. Simulations can also be executed by non-root users which might not have read access to all apt configuration distorting the simulation. A notice expressing this warning is also shown by default for non-root users (APT::Get::Show-User-Simulation-Note). Configuration Item: APT::Get::Simulate.
13
ответ дан 24 July 2018 в 20:04

Вы можете использовать опцию --simulate или -s, которая покажет вам, что APT сделает, когда вы запустите команду, ничего не сделав, например ...

$ sudo apt remove -s file Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: libfile-stripnondeterminism-perl libltdl-dev libmail-sendmail-perl libsys-hostname-long-perl po-debconf Use 'sudo apt autoremove' to remove them. The following packages will be REMOVED cracklib-runtime debhelper dh-autoreconf dh-strip-nondeterminism file gdebi gdebi-core libtool lintian ubuntu-standard 0 to upgrade, 0 to newly install, 10 to remove and 0 not to upgrade. Remv cracklib-runtime [2.9.2-3] Remv dh-autoreconf [13] [debhelper:amd64 ] Remv debhelper [10.2.2ubuntu1] [dh-strip-nondeterminism:amd64 ] Remv dh-strip-nondeterminism [0.032-1] Remv gdebi [0.9.5.7+nmu1] Remv gdebi-core [0.9.5.7+nmu1] Remv ubuntu-standard [1.379] Remv file [1:5.29-3] [lintian:amd64 libtool:amd64 ] Remv libtool [2.4.6-2] [lintian:amd64 ] Remv lintian [2.5.50.1]

Мы что удаление пакета file будет очень плохой идеей ...

19
ответ дан 24 July 2018 в 20:04
  • 1
    Кто написал первый, вы или Албан? – NoOneIsHere 22 May 2017 в 21:25
  • 2
    @NoOneIsЗачем меня на несколько секунд: / – Zanna 22 May 2017 в 21:44
  • 3
    Хорошо, я поддержал оба ваших ответа, потому что у вас есть детали использования, и его (я полагаю) имеет справочную страницу, но я думаю, что эти два сочетания лучше, чем принятые. – NoOneIsHere 22 May 2017 в 22:00
  • 4
    @NoOneIsHere, если Alban не отправил, я, возможно, добавил деталь страницы man к моему ответу. Я думаю, что это простое решение, скорее всего, будет тем, что люди будут использовать, чем принятое, но согласиться с усмотрением OP, а ответ муру - это продвинутый класс :) – Zanna 22 May 2017 в 22:02
  • 5
    Большинство из этих пакетов на самом деле не важны, хотя я попал в ситуацию, когда удаление стандартного ubuntu приводит к тому, что последующий autoremove переходит на гайки. – Random832 23 May 2017 в 00:23

Другие вопросы по тегам:

Похожие вопросы: