Bagaimana cara membuat dpkg lebih cepat?

17

Instalasi paket (un) pada sistem Debian sangat lambat, sebagian karena ia bekerja dengan sejumlah besar file (kecil). Pendek untuk mendapatkan penyimpanan yang lebih cepat, bagaimana cara mempercepatnya? Saya pikir mungkin memuat beberapa direktori yang sangat diakses ke RAM sebagai satu solusi, tetapi bagaimana saya melakukannya? Apakah ada solusi yang lebih baik?

tepang
sumber
Sistem file apa, dan berapa banyak paket yang Anda miliki? Untuk direktori besar, ext3 atau lebih tinggi dengan dir_indexopsi, atau Reiser, adalah peningkatan dramatis dibandingkan dengan ext2 atau ext3 tanpa dir_index.
Gilles 'SO- stop being evil'
@Gilles Saya menggunakan ext4 dan telah menginstal ~ 1400 paket.
tshepang

Jawaban:

17

Untuk solusi ini, Anda akan memerlukan versi dpkg setidaknya 1,15.8.6.

Karena versi dpkg itu, ada force-unsafe-ioopsi baru yang akan menonaktifkan dpkg dari memanggil sinkronisasi () dan sejenisnya di antara setiap paket. Anda dapat menambahkan opsi ini ke config di / etc / dpkg agar selalu berlaku.

Jika Anda memiliki versi dpkg yang lebih lama, Anda dapat menggunakan eatmydata sebagai alternatif .

Dan ingat kedua solusi ini tidak aman dan mungkin akan menyebabkan kehilangan data jika ada kegagalan daya saat atau segera setelah dpkg berjalan.

Arrowmaster
sumber
Jadi, saya tambahkan saja force-unsafe-ioke /etc/dpkg/dpkg.cfg , dan hanya itu?
tshepang
1
Saya tidak memiliki kotak linux yang berfungsi saat ini (kegagalan PSU) tetapi echo "force-unsafe-io" > /etc/dpkg/dpkg.cfg.d/force-unsafe-ioharus berfungsi. Atau Anda dapat menambahkannya ke file konfigurasi dpkg utama yang menurut saya adalah /etc/dpkg/dpkg.cfg .
Arrowmaster
3
Saya mengatur waktunya dengan dan tanpa opsi ini, dan tidak ada perubahan kinerja yang nyata.
tshepang
Apakah Anda mencobanya dengan eatmydata? Selain itu ketika saya mulai menggunakan opsi force-unsafe-io di dalam chroots pbuilder saya, saya ingat perbedaan yang sangat mencolok.
Arrowmaster