回答:
パッケージを削除して再インストールできます
ppa-purge
おそらくまだクリーンな脱出のための最善の策です。パッケージのPPAを再度追加し、それを使用ppa-purge
してそれを強制終了するだけです。私はあなたがインストールされているどのように多くのPPAわからないんだけど、それが10より少ないだ場合、私は思いますこれを行うを見ています。
その方法が柔らかすぎると思われる場合bash
、インストールソースが現在ローカルにのみ存在するパッケージバージョンを特定するのに役立つ-pornを書いたところです/var/lib/dpkg/status
。これは「孤立した」パッケージとは異なります。
for p in `dpkg-query --showformat='${Package} ' -W`; do
if [[ $(apt-cache policy $p | grep -Pzo "\*\*\* [^\n]+\s+100") ]]; then
echo $p;
fi;
done
これが完璧かどうかはまだわかりませんが、試してみてください。パッケージの名前だけを出力することに注意してください。各パッケージを手動でアンインストール/再インストールする必要があります。
これを行うには、まず実行してそのパッケージで利用できるものをapt-cache policy <package>
確認すると、パッケージのバージョン(バージョンを含む/var/lib/dpkg/status
)のリストが表示されます。最も近い外部のものを見つけて実行します。
sudo apt-get install <package>=<version>
あなたは--reinstall
後にアフターを追加する必要があるかもしれませんが、install
それがどうなるか見てください。
ppa-purge
削除されたと思いますか?Trustyと他のすべてのサポートされているリリースのリポジトリにあります。
現在のバージョンがPPAからのものではないパッケージを認識し、PPAで利用可能な代替バージョンがあるパッケージをより完全に記述しました。実行後、そのようなパッケージをPPAバージョンにダウングレードする実行可能なコマンドを出力します。
https://gist.github.com/peci1/2d7859857fdad73ee8443f5ecd5ee5a3
#!/usr/bin/env bash
# BSD 3-clause license, copyright Martin Pecka @ 2019
# This script outputs a command that will revert all packages from non-PPA versions to their latest PPA version.
# This may be handy i.e. for finding packages for which you installed a newer version from a .deb file, or after
# incompletely removing a PPA.
export LC_ALL=C
command=""
for p in `dpkg-query --showformat='${Package} ' -W`; do
if [[ $(apt-cache policy $p | grep -Pzo "\*\*\* [^\n]+\s+100") ]]; then
versions=$(apt-cache policy $p | tr "\n" "\r" | grep -Po '(?<=\r )[ *]{3} [^\r]+ [0-9]+\r\s+[0-9]+' | sed 's/ [0-9]\+\r\s\+\([0-9]\+\)/ \1/g' | tr "\r" "\n")
installable_versions=$(echo "${versions}" | grep -v " 100$")
version_to_install=$(echo "${installable_versions}" | head -n1 | grep -Po "\s+\K.*(?= [0-9]+$)")
if [[ ! -z "${version_to_install}" ]]; then
echo "${p}=${version_to_install}"
command="${command} ${p}=${version_to_install}"
else
echo "${p}: no PPA version"
fi
fi;
done
echo "To revert packages to their latest PPA version, call the following command as root. Please, carefully go through the list of changes apt-get will present to you!"
echo "apt-get install ${command}"