신뢰할 수 없는 소스에서 패키지를 제거하고 다시 설치하세요.

신뢰할 수 없는 소스에서 패키지를 제거하고 다시 설치하세요.

최근에 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

나는 이 스크립트를 사용했고 때때로 스크립트가 계속되는 것보다 Y(es)를 제공하라는 요청을 받았습니다. 하지만 꽤 오랜 시간이 걸리기 때문에 완료하는 데 시간이 훨씬 더 오래 걸립니다. --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

관련 정보