寫入錯誤:設備上沒有剩餘空間。刪除“額外”包。嘗試恢復

寫入錯誤:設備上沒有剩餘空間。刪除“額外”包。嘗試恢復

問題:

當我輸入:

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 的樹莓派上。

問題:

我安裝了數百個軟體包。如何刪除所有標有“額外”的包裹?這是釋放電腦空間的最佳方法嗎?我在各個存儲庫中都有未提交的更改,並且我希望能夠推送我的本地更改。

我也會接受一個刪除除必需和重要之外的所有內容的答案。 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繼續。如果您想保留某些軟體包,您確實有機會查看該清單。

相關內容