Я должен передать параметр командной строки Кв. для сцепления, выполнение Кв. - получают установку/обновление.
Я знаю, что это может быть сделано, изменив конфигурационные файлы в /etc/apt/apt.conf
, но я хочу смочь сделать это из командной строки, потому что мне нужен он только несколько раз.
А именно, я хочу смочь выполнить сценарий, который для тестирования я locaed в /home/jake/agio
.
К сожалению, склонный - добираются, не делает, кажется, очень подвержен печати ошибок или причины, почему это не работает. И очевидно я протестировал сценарий, и работает.
Я думаю, что попробовал все возможные комбинации опций для Кв. - доберитесь:
apt-get -y remove youtube-dl && apt-get -o Debug::pkgProblemResolver=yes -o APT::Update::Post-Invoke-Success="/home/jake/agio" update
apt-get -y remove youtube-dl && apt-get -o Debug::pkgProblemResolver=yes -o APT::Update::Post-Invoke-Success={"/home/jake/agio"} update
apt-get -y remove youtube-dl && apt-get -o Debug::pkgProblemResolver=yes -o APT::Update::Post-Invoke-Success={"/home/jake/agio"\;} update
apt-get -y remove youtube-dl && apt-get -o Debug::pkgProblemResolver=yes -o APT::Update::Post-Invoke-Success={"/home/jake/agio "} update
apt-get -y remove youtube-dl && apt-get -o Debug::pkgProblemResolver=yes -o APT::Update::Post-Invoke-Success=/home/jake/agio update
apt-get -y remove youtube-dl && apt-get -o Debug::pkgProblemResolver=yes -o APT::Update::Post-Invoke-Success=/home/jake/agio update
apt-get -y remove youtube-dl && apt-get -o Debug::pkgProblemResolver=yes -o DPkg::Post-Invoke="/home/jake/agio" install youtube-dl
apt-get -y remove youtube-dl && apt-get -o Debug::pkgProblemResolver=yes -o DPkg::Post-Invoke={"/home/jake/agio"} install youtube-dl
apt-get -y remove youtube-dl && apt-get -o Debug::pkgProblemResolver=yes -o DPkg::Post-Invoke={"/home/jake/agio"\;} install youtube-dl
apt-get -y remove youtube-dl && apt-get -o Debug::pkgProblemResolver=yes -o DPkg::Post-Invoke={"/home/jake/agio "} install youtube-dl
apt-get -y remove youtube-dl && apt-get -o Debug::pkgProblemResolver=yes -o DPkg::Post-Invoke=/home/jake/agio install youtube-dl
apt-get -y remove youtube-dl && apt-get -o Debug::pkgProblemResolver=yes -o DPkg::Post-Invoke=/home/jake/agio install youtube-dl
apt-get -y remove youtube-dl && apt-get -o Debug::pkgProblemResolver=yes -o DPkg::Post-Invoke="/home/jake/agio" update
apt-get -y remove youtube-dl && apt-get -o Debug::pkgProblemResolver=yes -o DPkg::Post-Invoke={"/home/jake/agio"} update
apt-get -y remove youtube-dl && apt-get -o Debug::pkgProblemResolver=yes -o DPkg::Post-Invoke={"/home/jake/agio"\;} update
apt-get -y remove youtube-dl && apt-get -o Debug::pkgProblemResolver=yes -o DPkg::Post-Invoke={"/home/jake/agio "} update
apt-get -y remove youtube-dl && apt-get -o Debug::pkgProblemResolver=yes -o DPkg::Post-Invoke=/home/jake/agio update
apt-get -y remove youtube-dl && apt-get -o Debug::pkgProblemResolver=yes -o DPkg::Post-Invoke=/home/jake/agio update
Можно ли помочь мне?!
-o Debug::pkgProblemResolver=yes
работает.
Когда я осматриваю существующий apt
конфигурация, я вижу:
~ apt-config dump | grep -i dpkg::post
DPkg::Post-Invoke "";
DPkg::Post-Invoke:: "if [ -d /var/lib/update-notifier ]; then touch /var/lib/update-notifier/dpkg-run-stamp; fi; /usr/lib/update-notifier/update-motd-updates-available 2>/dev/null || true";
И так испытывая изменения, похоже, что правильная форма была бы -o DPkg::Post-Invoke::=/home/jake/agio
:
$ apt-config -o DPKG::Post-invoke::='foo bar' dump | grep -i DPkg::Post
DPkg::Post-Invoke "";
DPkg::Post-Invoke:: "if [ -d /var/lib/update-notifier ]; then touch /var/lib/update-notifier/dpkg-run-stamp; fi; /usr/lib/update-notifier/update-motd-updates-available 2>/dev/null || true";
DPkg::Post-Invoke:: "foo bar";
И действительно:
~ sudo apt-get -o DPkg::Post-Invoke::='foo bar' install snapd-
Reading package lists... Done
[...]
Processing triggers for man-db (2.7.5-1) ...
sh: 1: foo: not found
E: Problem executing scripts DPkg::Post-Invoke 'foo bar'
E: Sub-process returned an error code