私は最近Kali Linuxをインストールしましたが、柔軟ではないミラーの選択により、すべてのdebパッケージが私が信頼していないミラーからダウンロードされました。新しいミラーを使用するようにsource.listが更新されたと仮定すると、apt / dselectにすべてのパッケージを再ダウンロードして再インストールするように指示できますか?
答え1
Alexが指摘したように:
sudo apt-get clean
sudo apt-get install --reinstall $(dpkg --get-selections | grep -w 'install$' | cut -f 1)
最初は、aptのキャッシュが空であることを確認します。このように、apt-getはリポジトリからパッケージをダウンロードする必要があります。次に、まずこの部分が実行する作業であるすべてのインストール済みパッケージのリストが必要になり、$(...)
次にapt-getを使用してそのパッケージを再インストールします。適性に関連する別の方法があります。
sudo aptitude --reinstall install '~i'
~i
「インストール済みパッケージ」を検索してください。
どちらの方法にも自動的にインストールされたパッケージがないため、apt-mark showauto > packages
これを行う前にsudo apt-mark auto $(cat packages)
リストを使用して再作成する必要があります。
答え2
ここの答えは問題を解決するのに役立ちました。このソリューションは最も効率的ではありませんが、作業を完了します。
#!/bin/bash
for package in `dpkg --get-selections | grep -w 'install$' | cut -f 1`; do
apt-get install --reinstall $package;
done
答え3
私はこのスクリプトを使用し、時々「はい」を尋ねるように求められ、その後スクリプトが続行されました。しかし、かなり長い時間がかかるので、完了するのに長い時間がかかります。スクリプトを変更し、--yes force-yes
Def / old構成を自動的に受け入れるように推奨事項を挿入しました。
#!/bin/bash
for package in `dpkg --get-selections | grep -w 'install$' | cut -f 1`; do
apt-get --yes --force-yes -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" install --reinstall $package
done