GNU/Linux >> Belajar Linux >  >> Linux

Build Bitbake menghabiskan lebih banyak ruang

Dalam urutan keefektifan dan seberapa mudah perbaikannya:

  • Beli lebih banyak ruang disk: Menempatkan $TMPDIR pada SSD sendiri sangat membantu dan menghilangkan kebutuhan untuk manajemen mikro.
  • Hapus $TMPDIR (build/tmp): gambar lama, paket lama, dan direktori kerja/sysroot untuk MESIN yang saat ini tidak Anda buat untuk diakumulasikan dan dapat memakan banyak ruang. Anda biasanya dapat menghapus seluruh $TMPDIR sesekali:selama Anda menggunakan sstate-cache, build berikutnya masih cukup cepat.
  • Hapus $SSTATE_DIR (build/sstate-cache): Jika Anda melakukan banyak build, status itu sendiri terakumulasi seiring waktu. Menghapus direktori aman tetapi build berikutnya akan memakan waktu lama karena semuanya akan dibangun kembali.
  • Hapus $DL_DIR (buatan/unduh): Jika Anda menggunakan direktori build untuk waktu yang lama (sambil menarik pembaruan dari master atau mengubah ke cabang yang lebih baru), unduhan yang sudah usang tetap menghabiskan ruang disk. Perlu diingat bahwa menghapus direktori berarti mengunduh ulang semuanya. Melihat hanya file terbesar dan menghapus versi lama mungkin merupakan kompromi yang berguna di sini.

Ada beberapa cara resmi selain menghapus.

Dengan menghapus secara sengaja, Anda dapat memaksa pembuatan &unduhan yang tidak perlu. Beberapa elemen build tidak dapat dikontrol oleh bitbake, dan Anda dapat menemukan diri Anda dalam situasi di mana Anda tidak dapat membuat ulang item ini dengan cara yang mudah.

Dengan rekomendasi ini, Anda dapat mengalahkan 50 GB non tertulis per aturan build yocto:

Periksa IMAGE_FSTYPES Anda variabel. Pengalaman saya mengatakan aman untuk menghapus semua gambar dari file-file ini yang bukan symlink, atau target symlink. Hindari yang terakhir dibuat untuk menghindari pemutusan tautan build terakhir, dan yang terkait dengan bootloader dan file konfigurasi, karena jarang dibuat ulang.

Jika Anda menyimpan lebih dari satu bangunan dengan kumpulan lapisan yang sama, Anda dapat menggunakan folder unduhan umum untuk bangunan.

DL_DIR ?="common_dir_across_all_builds/downloads/"

Dan setelah itu:

Agar /deploy Anda tetap bersih:

RM_OLD_IMAGE: Dapatkan kembali ruang disk dengan menghapus versi yang dibuat sebelumnya dari gambar yang sama dari direktori gambar yang ditunjuk oleh variabel DEPLOY_DIR. Setel variabel ini ke "1" di file local.conf Anda untuk menghapus gambar berikut:

RM_OLD_IMAGE = "1"

IMAGE_FSTYPES Hapus jenis gambar yang tidak ingin Anda gunakan, Anda selalu dapat mengaktifkan gambar tertentu saat Anda membutuhkannya:

IMAGE_FSTYPES_remove = "tar.bz2"

IMAGE_FSTYPES_remove = "rpi-sdimg"

IMAGE_FSTYPES_remove = "ext3"

Untuk /tmp/work, tidak perlu semua file kerja dari semua resep. Anda dapat menentukan mana yang Anda minati dalam pengembangan Anda.

RM_WORK_EXCLUDE :Dengan mengaktifkan rm_work, variabel ini menentukan daftar resep yang direktori kerjanya tidak boleh dihapus. Lihat bagian "rm_work.bbclass" untuk detail lebih lanjut.

INHERIT += "rm_work"

RM_WORK_EXCLUDE += "home-assistant widde"


Linux
  1. Df Mengatakan Saya Memiliki 20g Lebih Banyak Ruang Disk yang Digunakan Daripada Du. Mengapa??

  2. Kehabisan Ruang Disk Di /usr/ports Partisi, Bagaimana Saya Bisa Membangun Port?

  3. Apakah Saya Membutuhkan Ruang Tukar Jika Saya Memiliki Jumlah Ram Lebih Dari Cukup?

  1. Logseq:Aplikasi Sumber Terbuka &Gratis untuk Membuat Catatan, Mengelola Tugas, Membuat Grafik Pengetahuan, dan Lainnya

  2. Bangun lab dalam 36 detik, jalankan Podman di Mac, dan tips lainnya untuk sysadmin

  3. Perintah rm Linux

  1. kurang itu lebih? Apakah lebih sedikit? Aku begitu bingung

  2. Apa yang dilakukan .cache? Ini menghabiskan ruang disk yang besar

  3. Tidak ada lagi ruang di sistem file root, bagaimana saya bisa menambah ukurannya?