쓰기 오류: 장치에 남은 공간이 없습니다. "추가" 패키지를 제거합니다. 복원을 시도하다

쓰기 오류: 장치에 남은 공간이 없습니다. "추가" 패키지를 제거합니다. 복원을 시도하다

질문:

내가 입력할 때:

dpkg-query -Wf '${Package;-40}${Priority}\n' | sort -b -k2,2 -k1,1

내 컴퓨터에 설치된 모든 패키지 목록을 얻었습니다. 예를 들면 다음과 같습니다.

...
raspberrypi-artwork                     extra
raspberrypi-bootloader                  extra
raspberrypi-ui-mods                     extra
raspi-config                            extra
rpi-update                              extra
sonic-pi                                extra
ssh                                     extra
triggerhappy                            extra
wireless-tools                          extra
xkb-data                                extra
adduser                                 important
apt                                     important
apt-utils                               important
aptitude                                important
aptitude-common                         important
bsdmainutils                            important
...

최근에 많은 것을 설치하는 스크립트를 실행했는데 이제 내 컴퓨터가 다음과 같이 응답합니다. ( /usr/bin/mandb: can't write to /var/cache/man/2694: No space left on device경로가 변경되지만 항상 남은 공간이 없다고 알려줍니다.)

내가 볼 수 있는 태그는 다음과 같습니다.

  • 기준
  • 추가의
  • 중요한
  • 임의로 선택할 수 있는
  • 필수의

다양한 저장소에 커밋되지 않은 변경 사항이 있고 로컬 변경 사항을 푸시할 수 있기를 원하지만 푸시하려고 하면 다음 오류가 계속 발생합니다.

$ git push
fatal: write error: No space left on device
error: Couldn't write .git/refs/remotes/origin/master.lock
error: Cannot update the ref 'refs/remotes/origin/master'.
Everything up-to-date

나는 또한 모든 것이 최신이 아니라는 것을 알고 있다고 말해야 합니다.

체계:

이것은 "wheezy" raspbian을 실행하는 Raspberry Pi에 있습니다.

질문:

수백 개의 패키지가 설치되어 있습니다. "Extra"라고 표시된 모든 패키지를 어떻게 제거합니까? 이것이 컴퓨터의 공간을 확보하는 가장 좋은 방법입니까? 다양한 리포지토리에 커밋되지 않은 변경 사항이 있는데 로컬 변경 사항을 푸시할 수 있기를 원합니다.

나는 또한 필수적이고 중요한 것 외에는 모든 것을 제거하는 답변을 받아들일 것입니다. Git은 선택 사항으로 표시되어 있으므로 유지하는 것을 선호합니다(불필요한 패키지를 모두 제거한 후 언제든지 다시 설치할 수 있지만).

미리 감사드립니다! !

답변1

다음 명령을 사용하여 모든 옵션 및 추가 패키지를 지울 수 있습니다. sudo apt-get --simulate purge $(dpkg-query -Wf '${Package;-40}${Priority}\n' | awk '$2 ~ /optional|extra/ { print $1 }')

--simulate플래그를 사용하면 실제로 모든 것을 삭제하지 않고도 제거될 항목을 확인할 수 있습니다. 패키지를 실제로 제거하려면 이 플래그를 제거하십시오.

다른 옵션 및 추가 패키지와 함께 제거되므로 git을 다시 설치해야 합니다.

필요할 수 있는 일부 선택적 패키지와 추가 패키지가 있으므로 제거할 때 주의하세요. 자세한 내용은 여기를 참조하세요:https://askubuntu.com/questions/79665/keep-only-essential-packages

답변2

당신은 확인해야어디공간이 부족합니다. 이 df(1)명령은 어떤 파일 시스템이 가득 찼는지 알려줍니다.

공간이 부족한 일반적인 원인은 로그 파일이 너무 크기 때문입니다( /var/log시스템에 오래된 로그를 지우는 명령이 있어야 함). 또는 의 sort(1)임시 파일에 정크 파일이 너무 많으면 공간 부족으로 인해 실패할 수 있습니다.var/tmp/tmp

답변3

이미 aptitude가 설치되어 있으므로 여기에서 도움이 될 수 있습니다. 패키지와 일치하도록 보기 시작 aptitude및 제한(바로가기 )l

~i ~pextra

바라보다온라인 매뉴얼또는 /usr/share/doc/aptitude/README검색어 참조로 사용됩니다.

이제 패키지를 모두 제거할 수 있는 옵션이 있습니다. -각 최상위 제목 아래에 있는 버튼을 눌러 패키지를 제거할 것으로 표시하거나(프로필 유지), _정리할 것으로 표시하고(프로필 제거) g계속 진행하세요. 특정 패키지를 유지하고 싶다면 목록을 확인할 기회가 있습니다.

관련 정보