Учитывая имя пакета, как я могу узнать, что изменится, если я установлю пакет?

Если вы хотите работать с $ ?, вам нужно проверять его после каждой команды, так как $? обновляется после выхода каждой команды. Это означает, что если вы выполните конвейер, вы получите только код завершения последнего процесса в конвейере.

Другой подход заключается в том, чтобы сделать это:

set -e
set -o pipefail

Если вы поместите это наверху сценария оболочки, похоже, bash позаботится об этом за вас. Как отмечалось в предыдущем постере, "set -e" приведет к выходу bash с ошибкой в ​​любой простой команде. «set -o pipefail» приведет к выходу bash с ошибкой и для любой команды в конвейере.

См. здесь или здесь для более подробного обсуждения этой проблемы. Здесь - раздел руководства по bash для встроенного набора.

1
задан 03.05.2020, 13:39

2 ответа

Вы можете запустить apt-get в режиме имитации, например:

с

sudo apt-get --simulate install foo bar baz

или без sudo также

apt-get --simulate install foo bar baz

Это не будет измените что-нибудь в своей системе, но распечатаете, что будет делать apt-get при выполнении этой команды.

1
ответ дан 03.05.2020, 13:40
  • 1
    @JohnFeminella I don' t думают, что существует программное обеспечение для этого, по крайней мере, я никогда не слышал о таком. – Zoe 03.05.2020, 13:41
  • 2
    Это скажет мне, что другие пакеты будут установлены, но I' m заинтересованный на более детализированном уровне: то, какие файлы изменяются, добавило, удаленный, и так далее. – Juniorcoder 03.05.2020, 13:41

Вы, вероятно, ищете дополнительную отладку. Проблема в том, что ... информация слишком большая, чтобы быть полезной для любого, кто не знает, что он читает. Но вот оно:

sudo apt-get -o Debug::pkgDPkgProgressReporting=true -o Debug::pkgPackageManager=true -o Debug::pkgDPkgPM=true install package

Но, эй, есть множество других способов сделать это. Например:

apt-get --print-uris install package
## This will print a lot of url. Download them.
wget uris
dpkg-deb -c *.deb

Это покажет вам содержимое. Вам нужно будет оценить управляющие сценарии (post / pre inst / rm) отдельно.

1
ответ дан 03.05.2020, 13:41
  • 1
    @JohnFeminella, если бы Вы хотите, Вы могли бы использовать dpkg --no-act some-1.0.deb, но снова, это было бы больше информации, которая действительно полезна – Strauss 03.05.2020, 13:41
  • 2
    @bodhi.zazen, не уверенный, как это релевантно. – michaelbn 03.05.2020, 13:42
  • 3
    Это было очень полезно, Спасибо! Это все еще на уровне пакета хотя, а не на уровне файла. – adarsh 03.05.2020, 13:42
  • 4
  • 5
    Угадайте, что это зависит от того, что OP хочет точно. Вышеупомянутая ссылка дает информацию от журналов изменений и куда пойти для получения дополнительной информации Откровенно говоря, я не уверен, как рабочая разность на двоичных файлах/освобождать помогает также. Возможно, OP хотел бы хинду; p – PaulG 03.05.2020, 13:43

Теги

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