Π Π°Π±ΠΎΡ‚Π° DNF/RPM Π² Fedora 34 Π±ΡƒΠ΄Π΅Ρ‚ ускорСна

Одним ΠΈΠ· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ…ΡΡ Π² Fedora 34, Π±ΡƒΠ΄Π΅Ρ‚ использованиС dnf-plugin-cow, ΡƒΡΠΊΠΎΡ€ΡΡŽΡ‰Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρƒ DNF/RPM Π·Π° счёт Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ Copy on Write (CoW), Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌΠΎΠΉ ΠΏΠΎΠ²Π΅Ρ€Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы Btrfs.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΈ Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² установки/обновлСния RPM ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² Fedora.

Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄:

  • Π Π°Π·Π»ΠΎΠΆΠΈΡ‚ΡŒ запрос установки/обновлСния Π½Π° список ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈ дСйствий.
  • Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².
  • ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ/ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ RPM Ρ„Π°ΠΉΠ»Ρ‹, Π΄Π΅ΠΊΠΎΠΌΠΏΡ€Π΅ΡΡΠΈΡŽ ΠΈ запись Π½ΠΎΠ²Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° диск.

Π‘ΡƒΠ΄ΡƒΡ‰ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄:

  • Π Π°Π·Π»ΠΎΠΆΠΈΡ‚ΡŒ запрос установки/обновлСния Π½Π° список ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈ дСйствий.
  • Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Ρ€Π°Π·Π°Ρ€Ρ…ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π² локально ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ RPM Ρ„Π°ΠΉΠ».
  • ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ/ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ RPM Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ связываниС ссылок (reflinking) для ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ…, ΡƒΠΆΠ΅ находящихся Π½Π° дискС.

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ связывания ссылок ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ioctl_ficlonerange(2)

ОТидаСмоС ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ — Π½Π° 50%. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ появятся Π² январС.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: linux.org.ru