untuk banyak kasus:sudo docker container prune -f && sudo docker image prune -f
smftr
Jawaban:
104
sudo apt-get autoremove
Itu bisa membersihkan banyak kesalahan (kernel lama, dll) yang telah diganti. Anda dapat melakukan hal serupa di Synaptic (muatkan dan pilih tombol status dan kemudian opsi Auto-removeable).
apakah itu tidak akan mempengaruhi aplikasi yang sedang berjalan seperti jika itu menghapus paket yang diperlukan di mana aplikasi tergantung?
user3215
1
Tidak. Autoremove mencari paket-paket yatim, yaitu paket-paket yang Anda sendiri tidak instal sendiri (yang bertanda otomatis) dan yang tidak memiliki dependensi. Jika Anda menggunakannya aptitudesebagai gantinya apt-get, itu dapat membersihkan saat Anda pergi tetapi cukup umum untuk instalasi yang lebih lama untuk mengumpulkan rakit kernel yang diinstal sebagai pembaruan keamanan keluar.
Oli
1
Mengetik di komentar terakhir saya. Saya bermaksud mengatakan bahwa paket yatim adalah paket yang tidak bergantung, bukan paket yang "tidak memiliki dependensi". Mereka mungkin memiliki dependensi dan jika mereka hanya ada untuk paket yatim itu, mereka juga akan dihapus. Beberapa kali (dengan pohon ketergantungan sangat dalam) dibutuhkan beberapa perbaikan otomatis untuk membersihkannya.
Oli
5
Meskipun perintah di atas tentu berguna, itu tidak akan , seperti yang disebutkan, menghapus kernel lama. Itu harus dilakukan secara manual atau dengan alat tambahan seperti Ubuntu Tweak.
pemrograman
1
@nyarlathotep Ini akan menghapus file header kernel, yang sekilas mungkin membuat orang berpikir itu menghapus kernel lama - kernel lama tetap ada, (coba dpkg --get-selections | grep linux-image).
drevicko
211
Untuk menghapus paket yang diunduh (.deb) sudah diinstal (dan tidak lagi diperlukan)
sudo apt-get clean
Untuk menghapus semua arsip yang tersimpan dalam cache Anda untuk paket yang tidak dapat diunduh lagi (dengan demikian paket yang tidak lagi ada di repositori atau yang memiliki versi yang lebih baru di repositori).
sudo apt-get autoclean
Untuk menghapus paket yang tidak perlu (Setelah menghapus aplikasi, mungkin ada paket yang tidak Anda perlukan lagi)
Berlari cleanmembebaskan sedikit ruang. Segera setelah itu, saya berlari autocleandan ruang kosong saya turun 45MB. Berlari cleanlagi merilis ruang ekstra ini.
Drew Noakes
8
Saya menghapus semua gambar linux yang terdaftar dpkg --get-selections | grep linux-imageyang menyebabkan saya kesalahan boot - ubuntu menghilang dari menu boot grub - jawaban ini memperbaiki masalah - jangan hapus gambar terbaru
laplasz
Apa sebenarnya yang kita lakukan ketika kita menghapus gambar linux?
gunakan filelight atau kDirStat untuk melihat di mana ruang disk akan secara visual
periksa apakah Anda memiliki kernel lama untuk dihapus
ls -lh /boot
paket pembersih
sudo apt-get autoremove
sudo apt-get autoclean
lihat daftar semua paket yang diinstal, diurutkan berdasarkan ukuran. Jika Anda melihat sesuatu yang besar dan tidak menggunakannya - hapus instalannya
dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -nr | less
bersihkan file bahasa yang tidak digunakan dengan terjemahan (ada banyak dari mereka)
apt-get removeperintah ini mendukung wildcard, jadi Anda dapat melakukannya apt-get remove linux-image 3.0.* linux-headers-3.0.*misalnya, untuk menghilangkan banyak kartu sekaligus.
Pastikan Anda tidak membunuh menghapus kernel saat ini tentu saja! Dan mungkin menyimpan satu atau dua versi lama, untuk berjaga-jaga ... tapi tidak 10 atau 20!
Itu sedikit tentang wildcard? Sebelum memanfaatkannya, saya akan mengeceknya karena saya mencobanya dan saya mendapatkan lebih dari yang saya inginkan. Mungkin (mungkin bahkan mungkin) bahwa saya memasukkan beberapa cara tetapi saya tidak tahu bagaimana namun saya kehilangan lebih banyak header daripada yang saya inginkan.
Beberapa paket bisa sangat besar. Cara mudah untuk menemukan ini adalah dengan menggunakannya dpigs. Ini tidak diinstal secara default tetapi dapat ditemukan di debian-goodies( proyek GitHub )
-n, --lines=N
Display the N largest packages on the system (default 10).
-s, --status=status-file
Use status-file instead of the default dpkg status file.
-S, --source
Display the largest source packages of binary packages installed
on the system.
-H, --human-readable
Display package sizes in human-readable format (like ls -lh or du -h)
-h, --help
Display this message.
Coba gunakan BleachBit ( terletak di sourceforge ). Ini adalah program yang bagus. ide dasarnya adalah bahwa ia dengan cepat membebaskan ruang disk dan menghilangkan banyak sampah yang tersembunyi di sistem. Ada sekitar 70 aplikasi yang dapat dikenali dan dibersihkan. Ada juga kemampuan untuk menggunakannya untuk "menghapus" ruang disk kosong. Saya menganggapnya sebagai CCleaner dari windows hanya untuk linux.
perintah praktis yang berisi daftar ukuran file dan bukan "jumlah file log"
dogmatic69
atau gunakansudo ncdu /var/log
rubo77
@ rubo77, terima kasih, itu alat yang sangat bagus!
Drew Noakes
4
Pertama, ada alat untuk mendaftar semua folder dan file besar. Cukup ketik 'Baobab' ke dalam peluncur. Dengan menghapus folder dan file Anda tidak perlu Anda mendapatkan lebih banyak ruang.
Lalu, ada program untuk menghapus file ganda. Program ini disebut fslint. Instal dengan memasukkan
Langkah keempat adalah menghapus entri Kernel lama. Anda dapat melakukan ini dengan menginstal dan membuka Synaptic. Dalam Synaptic, cari entri Kernel lama (setiap entri Kernel yang ditampilkan dalam GRUB kecuali yang terbaru) dan hapus.
Satu langkah yang baik adalah menghapus cache aplikasi. Lakukan ini dengan menginstal dan menjalankan bleachbit:
sudo apt-get install bleachbit
atau secara grafis
Penting: Cache yang dihapus tidak dapat dipulihkan!
Langkah terakhir adalah men-defrag sistem file. Lakukan hal berikut untuk ini:
cd $HOME
git clone git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git
cd e2fsprogs
./configure
make
Dengan perintah ini, Anda mengunduh dan menyusun e2fsprogs. (Jika Anda atau komunitas mendapatkan cara yang lebih baik untuk menginstal program, harap edit!)
Pastikan juga git-coresudah terpasang. Jika tidak, jalankan:
sudo apt-get install git-core
atau menggunakan Pusat Perangkat Lunak
Sekarang Anda dapat menjalankan program dengan:
cd $HOME/e2fsprogs/misc
./e4defrag /dev/sda1 #defragment /dev/sda1
./e4defrag -v /dev/sda1 # verbose output
./e4defrag -c /dev/sda1 # see overview of fragmentation status
Ganti / dev / sda1 dengan sistem file atau folder / file yang Anda inginkan. Perhatikan bahwa untuk men-defrag perangkat (seperti HDD) Anda memerlukan hak akses root, tetapi tidak untuk file Anda sendiri.
Wow, menghapus versi linux-header dan linux-image lama dibebaskan sekitar satu setengah manggung pada instalasi 10,04 saya. fslint juga merupakan penemuan yang bagus. Terima kasih.
braddock
Alih-alih baobab Anda juga dapat menggunakan alat commandline ncdu untuk menemukan folder dan file besar:sudo apt-get install ncdu
rubo77
4
skrip pembersih
Script ini akan mengeksekusi potongan terbesar di konsol:
Bersihkan cache yang tepat
Hapus file config yang tersisa dari paket .deb yang dihapus (terjadi jika Anda tidak menggunakan --purgesakelar dengan apt-get)
Hapus setiap kernel kecuali yang Anda gunakan
Kosongkan sampah dari setiap pengguna (termasuk root)
buat file dengan konten ini dan berikan hak yang dapat dieksekusi:
#!/bin/bash
# Adapted from 71529-ubucleaner.sh - http://www.opendesktop.org/CONTENT/content-files/71529-ubucleaner.sh
OLDCONF=$(dpkg -l|grep "^rc"|awk '{print $2}')
CURKERNEL=$(uname -r|sed 's/-*[a-z]//g'|sed 's/-386//g')
LINUXPKG="linux-(image|headers|ubuntu-modules|restricted-modules)"
METALINUXPKG="linux-(image|headers|restricted-modules)-(generic|i386|server|common|rt|xen)"
OLDKERNELS=$(dpkg -l|awk '{print $2}'|grep -E $LINUXPKG |grep -vE $METALINUXPKG|grep -v $CURKERNEL)
YELLOW="\033[1;33m"; RED="\033[0;31m"; ENDCOLOR="\033[0m"
if [ $USER != root ]; then
echo -e $RED"Error: must be root! Exiting..."$ENDCOLOR
exit 0
fi
echo -e $YELLOW"Cleaning apt ..."$ENDCOLOR
aptitude clean
apt-get autoremove
apt-get autoclean
echo -e $YELLOW"Those packages were uninstalled without --purge:"$ENDCOLOR
echo $OLDCONF
#apt-get purge "$OLDCONF" # fixes the error in the original script
for PKGNAME in $OLDCONF ; do # a better way to handle errors
echo -e $YELLOW"Purge package $PKGNAME"
apt-cache show "$PKGNAME"|grep Description: -A3
apt-get -y purge "$PKGNAME"
done
echo -e $YELLOW"Removing old kernels..."$ENDCOLOR
echo current kernel you are using:
uname -a
aptitude purge $OLDKERNELS
echo -e $YELLOW"Emptying every trashes..."$ENDCOLOR
rm -rf /home/*/.local/share/Trash/*/** &> /dev/null
rm -rf /root/.local/share/Trash/*/** &> /dev/null
echo -e $YELLOW"Script Finished!"$ENDCOLOR
Beberapa alat yang akan membantu Anda menemukan folder dan paket besar:
sudo apt-get install ncdu debian-goodies deborphan
sudo ncdu / # lists all folders by size on the console (like the gui `baobab`)
dpigs -H # shows large packages that you don't use
man deborphan # finds packages that have no packages depending on them
deborphan --guess-all --libdevel | xargs apt-get -s purge
LocalPurge
Gunakan localepurge untuk menghapus instalasi bahasa yang tidak digunakan di sistem Anda:
sudo apt-get install localepurge
hapus gambar snapd lama
LANG=c snap list --all | awk '/disabled/{print $1, $3}' | \
while read snapname revision; do \
snap remove "$snapname" --revision="$revision"; \
done
bleachbit
Alat GUI grafis yang bagus untuk memenuhi semua kebutuhan:
sudo apt-get install bleachbit
hapus halaman manual dan dokumentasi
Selain itu Anda dapat menghapus halaman manual dan dokumentasi seperti yang dijelaskan dalam Wiki Ubuntu :
Buat file /etc/dpkg/dpkg.cfg.d/01_nodoc yang menentukan filter yang diinginkan. Contoh:
path-exclude /usr/share/doc/*
# if we need to keep copyright files for legal reasons:
# path-include /usr/share/doc/*/copyright
path-exclude /usr/share/man/*
path-exclude /usr/share/groff/*
path-exclude /usr/share/info/*
# lintian stuff is small, but really unnecessary
path-exclude /usr/share/lintian/*
path-exclude /usr/share/linda/*
Hapus kumpulan file dan direktori yang sama di post-proyek config. Contoh:
echo "Removing documentation..."
# if we need to keep copyright files for legal reasons:
# find /usr/share/doc -depth -type f ! -name copyright | xargs rm || true
# else:
find /usr/share/doc -depth -type f | xargs rm || true
rm -rf /usr/share/man/* /usr/share/groff/* /usr/share/info/* /usr/share/lintian/* /usr/share/linda/* /var/cache/man/*
Saya mendapat peringatan yang mengeksekusi skrip ini bahwa saya akan menghapus kernel dengan nomor versi yang sama seperti yang saya jalankan.
Christophe De Troyer
periksa kernel saat ini yang Anda gunakan uname -a. Jika Anda baru saja melakukan apt-get ugrade sebelumnya dan mendapatkan kernel baru, ini bisa menjadi penyebabnya, bahwa kurnel saat ini yang Anda gunakan bukan yang terbaru yang diinstal? Lakukan pemotretan kembali sebelum memulai skrip ini
Direktori '/ tmp' tidak boleh dibersihkan secara manual kecuali benar-benar diperlukan (yaitu: aplikasi tertutup tidak membersihkan sendiri).
Anda dapat mencari di mana ruang mungkin diisi menggunakan perintah 'du'; biasanya tempat-tempat menarik ada di dalam '/ var'. Untuk menyebutkan dua tersangka biasa '/ var / log' dan '/ var / cache'. Meskipun saya sudah memiliki beberapa pengguna yang menginstal utilitas cadangan dan tidak pernah menyadari bahwa itu menciptakan GBs incremental backup di '/ var / backup' yang dibangun selama seminggu atau sebulan untuk mengisi seluruh ruang disk.
Terima kasih!. Seperti yang Anda katakan saya memiliki beberapa ruang yang digunakan dalam MB di bawah / var / cache dan bertanya-tanya bagaimana cara menghapus file yang tidak perlu.
Jika Anda sudah menghapus banyak sampah tetapi ruang disk sepertinya tidak dibersihkan, reboot saja ubuntu. Atau jika Anda tidak ingin reboot, jalankan saja perintah seperti pada pertanyaan serupa .
Ketika saya perlu membuat lebih banyak ruang kosong di server saya menggunakan perintah ini. Ia menemukan semua file lebih besar dari 50 MB dan "du-h" membuat daftar file yang lebih baik dan "sort -n" setelah pipa membuat daftar numerik diurutkan berdasarkan ukuran file.
find / -size +50M -type f -exec du -h {} \; | sort -n
sudo docker container prune -f && sudo docker image prune -f
Jawaban:
Itu bisa membersihkan banyak kesalahan (kernel lama, dll) yang telah diganti. Anda dapat melakukan hal serupa di Synaptic (muatkan dan pilih tombol status dan kemudian opsi Auto-removeable).
sumber
aptitude
sebagai gantinyaapt-get
, itu dapat membersihkan saat Anda pergi tetapi cukup umum untuk instalasi yang lebih lama untuk mengumpulkan rakit kernel yang diinstal sebagai pembaruan keamanan keluar.dpkg --get-selections | grep linux-image
).Untuk menghapus paket yang diunduh (.deb) sudah diinstal (dan tidak lagi diperlukan)
Untuk menghapus semua arsip yang tersimpan dalam cache Anda untuk paket yang tidak dapat diunduh lagi (dengan demikian paket yang tidak lagi ada di repositori atau yang memiliki versi yang lebih baru di repositori).
Untuk menghapus paket yang tidak perlu (Setelah menghapus aplikasi, mungkin ada paket yang tidak Anda perlukan lagi)
Untuk menghapus versi kernel lama
Jika Anda tidak tahu versi kernel mana yang harus dihapus
Sumber: Limpiando Ubuntu : comandos y programas (actualización) ( diterjemahkan google )
sumber
clean
membebaskan sedikit ruang. Segera setelah itu, saya berlariautoclean
dan ruang kosong saya turun 45MB. Berlariclean
lagi merilis ruang ekstra ini.dpkg --get-selections | grep linux-image
yang menyebabkan saya kesalahan boot - ubuntu menghilang dari menu boot grub - jawaban ini memperbaiki masalah - jangan hapus gambar terbarusudo apt-get clean
Ini akan -simply- menghapus paket semua salinan setempat dari paket yang mungkin Anda miliki diunduh saat melakukan instalasi + peningkatan. Ini hampir akan mengosongkan direktori / var / cache / apt / arsip. ... Jadi pada saat Anda menjalankansudo apt-get update
itu akan -men-download ulang semuanya (sudah ada). Hanya kepala-up! .. :)tampilkan 10 subdir terbesar di dir saat ini.
gunakan filelight atau kDirStat untuk melihat di mana ruang disk akan secara visual
periksa apakah Anda memiliki kernel lama untuk dihapus
paket pembersih
lihat daftar semua paket yang diinstal, diurutkan berdasarkan ukuran. Jika Anda melihat sesuatu yang besar dan tidak menggunakannya - hapus instalannya
bersihkan file bahasa yang tidak digunakan dengan terjemahan (ada banyak dari mereka)
periksa konten / var / tmp /
periksa juga
Cari file besar:
atau
paket besar yang diinstal
ini adalah bagian dari paket: debian-goodies
sumber
ncdu
, yang menyediakan cara cepat untuk melihat direktori apa yang menggunakan ruang disk AndakDirStat
digantikan olehbaobab
Saya baru saja membebaskan hampir 2 gigs dengan menghapus file kernel dan header lama:
menggunakan
untuk memeriksa versi Anda saat ini, lalu
untuk melihat semua kernel dan file header lama, lalu
apt-get remove
perintah ini mendukung wildcard, jadi Anda dapat melakukannyaapt-get remove linux-image 3.0.* linux-headers-3.0.*
misalnya, untuk menghilangkan banyak kartu sekaligus.Pastikan Anda tidak membunuh menghapus kernel saat ini tentu saja! Dan mungkin menyimpan satu atau dua versi lama, untuk berjaga-jaga ... tapi tidak 10 atau 20!
sumber
Jangan lupa Kosongkan Sampah.
Atau dari baris perintah:
sumber
Saya sangat merekomendasikan Anda program BleachBit, yang membersihkan semuanya di Ubuntu.
Instal menggunakan perintah berikut:
sudo apt-get install bleachbit
sumber
Copot paket besar yang tidak Anda gunakan
Beberapa paket bisa sangat besar. Cara mudah untuk menemukan ini adalah dengan menggunakannya
dpigs
. Ini tidak diinstal secara default tetapi dapat ditemukan didebian-goodies
( proyek GitHub )Kemudian:
Ada beberapa opsi:
sumber
Hapus semua versi kernel lama secara otomatis
Ingatlah untuk memeriksa kernel yang Anda gunakan ketik:
Kemudian sebagai root:
baca utas itu agar aman bukan untuk menghapus kernel yang dibutuhkan dengan perintah ini!
sumber
Jika Anda menggunakan UFW, periksa folder log. Di salah satu mesin saya, UFW menghasilkan 8Gb log dalam beberapa hari.
Anda juga dapat mengosongkan cache apt dengan:
sumber
Coba gunakan BleachBit ( terletak di sourceforge ). Ini adalah program yang bagus. ide dasarnya adalah bahwa ia dengan cepat membebaskan ruang disk dan menghilangkan banyak sampah yang tersembunyi di sistem. Ada sekitar 70 aplikasi yang dapat dikenali dan dibersihkan. Ada juga kemampuan untuk menggunakannya untuk "menghapus" ruang disk kosong. Saya menganggapnya sebagai CCleaner dari windows hanya untuk linux.
sumber
Periksa sejumlah besar file log juga:
Atau seperti yang ditunjukkan rubo77 dalam pujian, Anda bisa menggunakan alat penggunaan disk NCurses:
sumber
sudo ncdu /var/log
Pertama, ada alat untuk mendaftar semua folder dan file besar. Cukup ketik 'Baobab' ke dalam peluncur. Dengan menghapus folder dan file Anda tidak perlu Anda mendapatkan lebih banyak ruang.
Lalu, ada program untuk menghapus file ganda. Program ini disebut
fslint
. Instal dengan memasukkandi Terminal.
atau secara grafis
Anda juga dapat menghapus cache paket
Langkah keempat adalah menghapus entri Kernel lama. Anda dapat melakukan ini dengan menginstal dan membuka Synaptic. Dalam Synaptic, cari entri Kernel lama (setiap entri Kernel yang ditampilkan dalam GRUB kecuali yang terbaru) dan hapus.
Satu langkah yang baik adalah menghapus cache aplikasi. Lakukan ini dengan menginstal dan menjalankan
bleachbit
:atau secara grafis
Penting: Cache yang dihapus tidak dapat dipulihkan!
Langkah terakhir adalah men-defrag sistem file. Lakukan hal berikut untuk ini:
Dengan perintah ini, Anda mengunduh dan menyusun e2fsprogs. (Jika Anda atau komunitas mendapatkan cara yang lebih baik untuk menginstal program, harap edit!)
Pastikan juga
git-core
sudah terpasang. Jika tidak, jalankan:atau menggunakan Pusat Perangkat Lunak
Sekarang Anda dapat menjalankan program dengan:
Ganti / dev / sda1 dengan sistem file atau folder / file yang Anda inginkan. Perhatikan bahwa untuk men-defrag perangkat (seperti HDD) Anda memerlukan hak akses root, tetapi tidak untuk file Anda sendiri.
Sumber (Jerman): di sini
sumber
sudo apt-get install ncdu
skrip pembersih
Script ini akan mengeksekusi potongan terbesar di konsol:
--purge
sakelar denganapt-get
)buat file dengan konten ini dan berikan hak yang dapat dieksekusi:
Diadaptasi dari 71529-ubucleaner.sh
temukan folder dan paket besar
Beberapa alat yang akan membantu Anda menemukan folder dan paket besar:
LocalPurge
Gunakan localepurge untuk menghapus instalasi bahasa yang tidak digunakan di sistem Anda:
hapus gambar snapd lama
bleachbit
Alat GUI grafis yang bagus untuk memenuhi semua kebutuhan:
hapus halaman manual dan dokumentasi
Selain itu Anda dapat menghapus halaman manual dan dokumentasi seperti yang dijelaskan dalam Wiki Ubuntu :
Buat file /etc/dpkg/dpkg.cfg.d/01_nodoc yang menentukan filter yang diinginkan. Contoh:
Hapus kumpulan file dan direktori yang sama di post-proyek config. Contoh:
sumber
uname -a
. Jika Anda baru saja melakukan apt-get ugrade sebelumnya dan mendapatkan kernel baru, ini bisa menjadi penyebabnya, bahwa kurnel saat ini yang Anda gunakan bukan yang terbaru yang diinstal? Lakukan pemotretan kembali sebelum memulai skrip iniDirektori '/ tmp' tidak boleh dibersihkan secara manual kecuali benar-benar diperlukan (yaitu: aplikasi tertutup tidak membersihkan sendiri).
Anda dapat mencari di mana ruang mungkin diisi menggunakan perintah 'du'; biasanya tempat-tempat menarik ada di dalam '/ var'. Untuk menyebutkan dua tersangka biasa '/ var / log' dan '/ var / cache'. Meskipun saya sudah memiliki beberapa pengguna yang menginstal utilitas cadangan dan tidak pernah menyadari bahwa itu menciptakan GBs incremental backup di '/ var / backup' yang dibangun selama seminggu atau sebulan untuk mengisi seluruh ruang disk.
sumber
Gunakan ubuntu-tweak untuk membersihkan.
itu membersihkan semua *. deb yang diunduh ke aplikasi instalasi.
sumber
Jika Anda sudah menghapus banyak sampah tetapi ruang disk sepertinya tidak dibersihkan, reboot saja ubuntu. Atau jika Anda tidak ingin reboot, jalankan saja perintah seperti pada pertanyaan serupa .
sumber
Ketika saya perlu membuat lebih banyak ruang kosong di server saya menggunakan perintah ini. Ia menemukan semua file lebih besar dari 50 MB dan "du-h" membuat daftar file yang lebih baik dan "sort -n" setelah pipa membuat daftar numerik diurutkan berdasarkan ukuran file.
sumber
ncdu /
sajadu -h
, gunakansort -h
juga.(untuk melihat milikmu)
(versi lama Anda). Ini memberi saya ruang bebas 600mb.
sumber