Salah satu mesin saya adalah EeePC Surf 2GB , netbook yang rapi dengan sumber daya yang sangat terbatas. Sangat terbatas sehingga sekarang, saya memiliki ruang kosong 22MB tersisa.
Di atasnya, saya menjalankan Arch Linux dengan Openbox DE dan sejumlah aplikasi yang diperlukan agar berfungsi sebagai PC mobile.
Metode apa yang tersedia untuk menghilangkan ruang bekas yang tidak perlu?
arch-linux
openbox
efficiency
Stefan
sumber
sumber
du -sh /
untuk melihat di mana sebagian besar ruang Anda digunakan.du -sh /*
?cd /
dan berlaridu -sh *
dan menelusuri ... (Anda tidak benar-benar memiliki cukup ram untuk menyimpan barang-barang di dalamnya)Jawaban:
Inilah beberapa poin yang bisa Anda mulai:
Lihat paket yang diinstal pada sistem Anda dengan
pacman -Q
dan hapus yang tidak Anda butuhkan. Awal yang baik adalah menambahkan-t
sakelar:Bersihkan cache paket pacman dengan
pacman -Sc
Selalu gunakan
pacman -Rs
untuk menghapus juga dependensi paket yang tidak digunakan.Untuk menemukan "file besar" dan folder yang menggunakan sebagian besar disk, tambahan yang bagus
du
adalahxdiskusage
. Alat kecil ini memungkinkan Anda menelusuri sistem file dengan cepat dan melihat representasi grafis dari penggunaan disk folder.sumber
pacman -cc
untuk membersihkan seluruh cache termasuk paket yang diinstal saya pikir. Biasanya tidak disarankan karena Anda mungkin menginginkannya sebagai cadangan nanti.--cachedir
, jadi saya tidak perlu menyimpan file pkg./
, saya merasapacgraph
sangat berguna. Ini dapat mengurutkan paket yang Anda instal berdasarkan ukuran, sehingga Anda dapat lebih memprioritaskan apa yang masuk akal untuk dihapus. (Ia bahkan dapat menggambar grafik ketergantungan SVG, tetapi berguna hanya dari baris perintah.)ncdu
adalah alternatif baris perintah keren untukxdiskusage
. Baobab sejauh ini adalah aplikasi grafis terbaik untuk tujuan ini.PERINGATAN: Ide-ide ini hanya untuk pengguna yang berpengalaman dalam Linux secara keseluruhan dan Arch Linux.
Jika Anda ingin melangkah ke wilayah berbahaya, Anda dapat mengecilkan pemasangan Arch dasar menjadi kurang dari 500MB diinstal. Ini memerlukan melakukan beberapa hal yang sangat berbahaya:
/usr/lib/firmware
)/usr/lib/modules/...
).a
file apa pun di/usr/lib
(hanya jika Anda tidak pernah menggunakan sistem untuk mengkompilasi perangkat lunak. catatan: ini termasuk menggunakanmakepkg
)/usr/include
(hanya jika Anda tidak pernah menggunakan sistem untuk mengkompilasi perangkat lunak)/usr/share/doc
dan/usr/share/info
/usr/share/man
/usr/share/terminfo
dan file zona waktu yang tidak dibutuhkan dari/usr/share/zoneinfo
strip *
di semua folder yang berisi binari yang dapat dieksekusi (/usr/bin
dan/usr/sbin
)upx
untuk mengompresi binari yang lebih besar (binari Samba cocok untuk ini karena mereka cenderung cukup besar karena mereka sering dikompilasi secara statis.) Juga perhatikan bahwa menggunakanupx
berarti seluruh biner yang tidak terkompresi harus cocok RAM selama eksekusi, jadi jemu pada sistem dengan RAM rendah.Sebelum Anda melakukan APA PUN ini, BUAT CADANGAN PENUH sistem Anda. Untungnya, Linux membuat ini relatif mudah - jika Anda dapat memasang dan memasang volume eksternal (misalnya drive USB), Anda dapat melakukan sesuatu seperti
cd / && tar -cf /mnt/usb/mySystem.tar /
membuat cadangan seluruh sistem.Sekali lagi, perhatikan bahwa saya tidak benar-benar merekomendasikan melakukan hal di atas (terutama 7 hingga 9) kecuali Anda memiliki pengetahuan, pengalaman dan pemahaman mendalam tentang Linux internal dan Arch Linux . Memainkan hampir semua file yang saya cantumkan dapat merusak sistem dengan cara yang mengerikan, jadi Anda sudah diperingatkan. Jika Anda tidak tahu apakah sistem Anda memerlukan file firmware, modul, dll. Maka lakukan riset sebelum Anda mengacaukannya. (Berhati-hatilah bahwa menghapus modul kernel yang dibutuhkan sistem Anda dapat menghasilkan sistem yang tidak dapat di-boot, atau sistem tanpa dukungan keyboard / kartu jaringan / suara / display / dll., Atau segala macam perilaku yang tidak dapat dijelaskan lainnya.)
Harap perhatikan juga bahwa peningkatan paket apa pun dapat dan akan memulihkan banyak file yang Anda hapus di atas. Jika Anda memutuskan untuk pergi rute ini, Anda mungkin ingin akhirnya skrip penghapusan file yang tidak dibutuhkan dan menjalankan skrip Anda setelah setiap peningkatan paket utama. (Contoh: memutakhirkan kernel akan mengembalikan semua modul kernel serta memutakhirkan melalui dependensi paket linux-firmware yang membawa kembali semua firmware
/usr/lib/firmware
.)Akhirnya, awasi terus
/var/log
karena file jurnal akan bertambah seiring waktu. Anda dapat menghapus jurnal sebelumnya tetapi tetap menggunakan jurnal saat ini dengan melakukan sesuatu sepertirm *\@*.journal
di folder jurnal Anda.Saya telah berhasil menjalankan server NAS dari perangkat Disk-on-Module 512MB selama berbulan-bulan menggunakan teknik ini, namun mereka masih belum pingsan. (Saya juga menggunakan LinuxFromScratch untuk membangun proyek serupa hanya dalam penyimpanan 128MB, tapi itu cerita lain ...)
Sunting / Tambah:
Berikut adalah beberapa metode yang dapat Anda gunakan untuk mencoba mendapatkan ruang tambahan:
Menyingkirkan
libgo
. Thelibgo
perpustakaan dilengkapi dengangcc-libs
dan AFAIK hanya digunakan oleh aplikasi yang ditulis dalam bahasa Go. Saya tidak dapat memikirkan aplikasi apa pun yang saya gunakan yang membutuhkan pustaka itu. Di sistem saya ukurannya 40MB. Ketika Anda mencoba langsing, itu banyak ruang. Saya telah menghapusnya dari instalasi "mini" saya tanpa efek buruk pada apa pun yang saya lakukan (tapi sekali lagi, itu saya, YMMV!)Menyusut
libicudata.so
. Ini 27MB di sistem saya. Ini pada dasarnya satu ton data unicode / lokal dikompresi menjadi objek perpustakaan. Ada alat online yang dapat membuat versi yang lebih kecil dari file ini, tetapi belum diperbarui untuk versi saat ini (dan Anda tidak dapat menggunakan file yang lebih lama dalam rilis yang lebih baru.) Saya belum mencoba melakukan ini dengan tangan, tetapi jika Anda tahu caranya, Anda dapat mencukur sekitar 20-22MB dari file ini.Jika Anda menggunakan Python, Anda dapat menyimpan 37MB atau lebih dengan menghapus
test
perpustakaan dari python2:rm -r /usr/lib/python2.7/test
dan sekitar 66MB dengan menghapus untuk python3:rm -r /usr/lib/python3.6/test
.Sekali lagi untuk Python, Anda dapat menyingkirkan
.pyo
file dan.py
file. The.pyo
file "dioptimalkan" file, tapi Python pernah benar-benar menggunakan mereka. The.py
file adalah kode sumber baku untuk perpustakaan standar. Satu-satunya file yang biasanya dibaca oleh Python ketika menjalankan kode Python adalah file.pyc
(python dikompilasi).cd /usr/lib/python2.7 && find . -name "*.pyo" -exec rm -v {} \;
dancd /usr/lib/python3.6 && find . -name "*.pyo" -exec rm -v {} \;
Menghapus data lokal yang tidak perlu. Ada paket AUR yang disebut
localepurge
yang mengotomatisasi ini. Jika tidak, Anda harus bermain-main/usr/share/locale
. Anda harus menyimpan lokal danlocale.alias
. Bagi saya di sini di AS, menjagaen_US
danlocale.alias
dan menghapus segala sesuatu yang lain mencukur tentang 80MB.Sekarang, apa yang ingin saya lihat adalah alat yang menganalisis sistem Anda dan menentukan modul kernel yang Anda butuhkan, dan juga file firmware yang Anda butuhkan. Itu akan menjadi cara yang bagus untuk "dengan aman" membersihkan folder-folder itu ...
Atau, mungkin seseorang harus membuat sebuah Arch "distro" yang menggunakan
uClibc
ataudiet-libc
atau yang serupa. Itu mungkin proyek musim panas yang menyenangkan. :-)sumber
upx
, itu tidak bisa digunakan dengan semua jenis exectuables, mis: meninggalkan mysqld & mongodb segfaultingNoExtract
definisi (dapat didefinisikan beberapa kali) Anda dapat menyelesaikan masalah itu secara permanen. Salah satu contoh untuk hanya memperbarui pembaruan driver Realtek nic:NoExtract = usr/lib/firmware/* !usr/lib/firmware/rtl_nic/*
find /usr/lib/firmware -atime +30
akan menemukan file firmware yang tidak diakses dalam 30 hari. Seharusnya aman untuk menghapus file-file itu.TLDR
Pertama, apa yang besar pada sistem
Ini menunjukkan daftar daftar direktori terbesar di
/
Anda dapat melakukan dua level ke bawah:Hasil saya adalah:
Saya mengabaikan
/mnt
(karena itu drive eksternal) Dua dirs berdiri dalam pikiran:var
danusr
. Mari kita lihat apa yang ada di dalamnya:Kemudian, sedikit lebih dalam:
Mari kita mulai dengan log
Saya memiliki 717MB di
/var/log
.Saya bukan penggemar menghapus direktori secara acak, jadi mari kita lakukan dengan cara yang bersih:
Mari kita tinggalkan hanya 100mb log:
Info lebih lanjut di sini tentang cara mengkonfigurasi jurnalctl di sini .
Paket
Saya punya
660M /var/cache/pacman
. Itu 1.8gb, tapi saya berlaripacman -Sc
untuk menghapus paket yang tidak digunakan. Mari kita hapus sisanya:/ usr / share / locale
Banyak pengguna menghapusnya, atau setidaknya membersihkannya. Tapi saya mungkin masalah . Tapi checkout bleachbit (paragraf berikutnya).
Bleachbit
Pembersih otomatis . Akan menghapus banyak hal, tetapi untuk sebagian besar itu adalah lokal.
Anda dapat mencari lebih banyak barang untuk dihapus:
sumber
Total Installed Size: 209.70 MiB
du -xkd1
di/
direktori, itu tidak akan turun ke mountpoints lainnya.Pada disk 4GB di Eeepc saya dengan Ubuntu, itu membantu untuk menghapus beberapa file lokal (dari / usr / share / locale) dan file bantuan Gnome (dari / usr / share / gnome / help /). Keduanya dipasang untuk bahasa yang tidak saya gunakan. Namun, tidak yakin apakah Arch Linux menginstal semua file itu.
sumber
du -hs /usr/share/locale
sekitar 300MB ... bisakah saya hanyarm -rf
file yang tidak dibutuhkan?/etc/locale.gen
dan menjalankan kembalilocale-gen
, Anda harus memiliki lebih sedikit lokal yang telah dikompilasi. Jika Anda ingin membebaskan lebih banyak ruang dengan cara otomatis, Anda mungkin ingin mencoba aur.archlinux.org/packages.php?ID=11975 juga. (Tapi itu tidak didukung dan jika itu merusak sistem Anda, Anda bisa menyimpannya.)Saya akan menyarankan OTOMATIS melihat file Anda yang sangat lama dan melihat apakah perlu dan menghapusnya. Ini bisa dilakukan dengan dua hal. Satu orang menulis
find
perintah untuk mencari file yang sangat lama. dan menggunakan output ini (mungkin pipa) untuklograte
skrip untuk mengarsipkan file yang lebih tua dari kata 3 bulan dan menghapus file yang lebih tua dari 3 bulan di arsip dan mengirim email ke 1 hari sebelum menghapusnya. Sehingga Anda dapat memastikan bahwa Anda tidak kehilangan file penting. Jadi pada akhirnya Anda akan membutuhkan perintah berikut untuk mencapai hal di atas:Saya tidak akan menyendok makan Anda. Saya telah melakukan ini sebelumnya telah cukup berhasil dengan ini dan kemudian dihapus karena kami memutuskan untuk mengikuti
nagios
pemantauan karena lebih disetel untuk melakukan hal semacam itu di server corp. Saya pikir jikamail
perintah belum dikonfigurasi untuk Anda, Anda mungkin menemukan bahwa sisanya yang paling sulit harus lurus ke depan. Ini semua perlu dilakukan melalui bash scripting dan meletakkannya di cron job dan dijalankan setiap x hari. Pelajari bash scripting, akan sangat berguna tidak hanya untuk ini tetapi untuk membuat hidup Anda lebih mudah dengan * nix. Jadi gunakan mesin pencari internet favorit Anda dan baca tentang perintah di atas dan bash scripting. Dan ikat mereka bersama dan mengujinya. Setelah puas dimasukkan ke penggunaan biasa. Saya yakin akan menyenangkan melakukan ini. Anda akan belajar banyak jika Anda belum melakukan ini sebelumnya.sumber