제거 된 많은 패키지를 한 번에 다시 설치하는 방법은 무엇입니까? 패키지가 있으며 제거 된 패키지를

나는 sudo apt-get remove python명령을 사용 하고 실수로 필요한 많은 패키지를 제거했습니다. 커맨드 라인을 통해 로그인하고 ubuntu-desktop을 다시 설치했지만 누락 된 다른 패키지가 있으며 제거 된 패키지를 쉽게 다시 설치할 수있는 방법을 찾고 있습니다. 소프트웨어 센터에 로그가 있기 때문에 소프트웨어 센터에서 변경 사항을 롤백하거나 제거 된 패키지 목록을 추출하는 가장 쉬운 방법을 묻고 싶었습니다.

참고 : sudo apt-get install .... .... ... ...해당 목록에서 제거 된 프로그램 중 약 20 개를 입력했지만 Enter 키를 누르면 일부 패키지 이름을 찾을 수 없으므로 설치하지 않았습니다.

프로그램은 같은 날짜에 제거되었습니다.



답변

우선, 제거 python하면 더 이상 많은 기본 명령이 작동하지 않을 수 있습니다. 따라서 다음과 같은 것이 효과가 있는지는 알 수 없습니다.

두 번째로, 나는 package names couldn't be found당신이 가지고 있는 오류가 명령 줄의 철자가 틀린 이름이나 로컬에 설치되어 있고 저장소에서 사용할 수없는 패키지에서 파생 되었다고 가정 합니다.

그런 다음 dpkg사용 가능한 마지막 로그 와 비교하여 제거 된 패키지 로그를 얻으려면 (이전 로그를 고려할 필요는 없다고 생각합니다).

awk '$3 == "remove" { print $1, $2, $4 }' /var/log/dpkg.log | tee list

그런 다음 list현재 디렉토리에서 작성된 파일을 편집하고 라인의 타임 스탬프를 기준으로 재설치하려는 패키지에 상대적으로 라인 만 남겨 두십시오. 수정 된 파일을에 저장한다고 가정 해보십시오 list-mod.

해당 패키지를 다시 설치하려면 다음 명령을 사용하십시오.

sudo apt-get --simulate install $(awk '{ print $3 }' list-mod)

--simulate명령이 무엇을하는지보기 위해 옵션을 삽입했습니다 . 모두 정상이면 해당 옵션을 제거한 상태에서 명령을 다시 수행하십시오.

명령에서 일부 패키지를 찾을 수 없다고하면 간단히 패키지를 제거한 list-mod후 다시 시도하십시오.


답변

그래서 비슷한 실수를합니다.
sudo apt-get purge python3.6*대신 sudo apt-get purge python3.6.*.

다음 단계를 통해 매우 빠르게 해결할 수있었습니다.

  1. 로그를 열었습니다 vim /var/log/history.log.
  2. vim command 사용하여 잘못된 명령을 검색했습니다 /python3.6\*.
  3. Purge: unity-control-center-signon:amd64 (0.1.7~+14.04.20140211.2-0ubuntu4), ...제거 된 패키지 목록이 긴 행이 있었으며 (제거시 시작 Remove:), Purge:작업 할 부분 없이 다른 파일에 복사 했습니다.
  4. 이 파일에서 vim 명령을 실행했습니다. %s/:[^,]*,//g, 버전 부분을 제거하고 패키지 목록을 남겼습니다 unity-control-center-signon lxc ....
  5. 마지막으로 이전 단계에서 줄을 복사하고 실행
    sudo apt-get install unity-control-center-signon lxc ...했습니다.