Выпуск ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° APT 2.0

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ Ρ€Π΅Π»ΠΈΠ· инструмСнтария для управлСния ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ APT 2.0 (Advanced Package Tool), Ρ€Π°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Debian. ΠšΡ€ΠΎΠΌΠ΅ Debian ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Ρ… ΠΎΡ‚ Π½Π΅Π³ΠΎ дистрибутивов APT Ρ‚Π°ΠΊΠΆΠ΅ примСняСтся Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… дистрибутивах Π½Π° основС ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° rpm, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ PCLinuxOS ΠΈ ALT Linux. Новая Π²Π΅Ρ‚ΠΊΠ° Π²ΠΎΠ±Ρ€Π°Π»Π° Π² сСбя измСнСния, Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½Π½Ρ‹Π΅ Π² процСссС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠΈ 1.9.x. Новый выпуск Π² блиТайшСС врСмя Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ Π² Π²Π΅Ρ‚ΠΊΡƒ Debian Unstable ΠΈ Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΡƒΡŽ Π±Π°Π·Ρƒ Ubuntu (Π² Ubuntu 19.10 использовалась ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Π°Ρ Π²Π΅Ρ‚ΠΊΠ° 1.9).

Из ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ:

  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ…, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰ΠΈΡ… ΠΈΠΌΠ΅Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², появилась ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° шаблонов. Бинтаксис шаблонов Π² основном повторяСт ΡΡ‚ΠΈΠ»ΡŒ шаблонов aptitude. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° масок ΠΈ рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ… ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ apt ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π°, вмСсто Π½ΠΈΡ… Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹. НапримСр для Π²Ρ‹Π²ΠΎΠ΄Π° списка всСх Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ установлСнных ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈΠ· сСкций со словами libs, perl ΠΈ python:

    apt list ‘~i !~M (~slibs|~sperl|~spython)’

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ «apt satisfy» ΠΈ «apt-get satisfy», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ для удовлСтворСния зависимостСй, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Π² строкС, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠΉ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°. Π’ Ρ‚ΠΎΠΌ числС ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ нСсколько строк ΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π±Π»ΠΎΠΊΠΈ «Conflicts:» для ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ зависимостСй. НапримСр:

    apt-get satisfy «foo» «Conflicts: bar» «baz (>> 1.0) | bar (= 2.0), moo»

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ закрСплСния Π² привязкС ΠΊ ΠΏΠ°ΠΊΠ΅Ρ‚Ρƒ с ΠΊΠΎΠ΄ΠΎΠΌ Ρ‡Π΅Ρ€Π΅Π· Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ прСфикса «src:» ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚Π° (pinning, позволяСт Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π΅Ρ‚ΠΎΠΊ Π±Π΅Π· обновлСния всСй систСмы, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π² stable ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈΠ· testing ΠΈΠ»ΠΈ unstable). Для закрСплСния всСх Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², собранных ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚Π° с ΠΊΠΎΠ΄ΠΎΠΌ apt 2.0.0 ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ:

    Package: src:apt
    Pin: version 2.0.0
    Pin-Priority: 990

  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ apt обСспСчСно ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ освобоТдСния Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ dpkg. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΡ€ΠΈ запускС с консоли ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Π° Π² ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… случаях Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ составляСт 120 сСкунд.
  • Если apt Π½Π΅ удаётся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ, ошибка Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ выводится с ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ pid процСсса, ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ lock-Ρ„Π°ΠΉΠ».
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ merge-translations ΠΈ bump-abi.
  • Для криптографичСского Ρ…ΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ задСйствованы Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ MD5, SHA1 ΠΈ SHA2 ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ libgcrypt.
  • УсилСно распараллСливаниС запуска ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² rred ΠΈ распаковки Π²ΠΎ врСмя выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ update.
  • ΠŸΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Π΅ Π² Ρ„Π°ΠΉΠ»Π΅ auth.conf ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹Π΅ записи Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΏΠΎ HTTPS для избСТания ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ Π² случаС ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π° HTTP-соСдинСния.
  • Π’Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊ вСрсии стандарта C++ поднято Π΄ΠΎ C++14.
  • Π’ apt-helper Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° указания Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ…ΡΡˆΠ΅ΠΉ для ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°.
  • ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²Π»Π΅Π½ΠΎ слияниС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ libapt-inst с libapt-pkg.
  • ΠœΠΎΠ΄Π΅Ρ€Π½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ кэша, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ позволяСт Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ записи Π±Π΅Π· Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ ABI. Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π² кэшС Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ статичСски Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ с Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами (Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ 0 Ρ‡Π΅Ρ€Π΅Π· nullptr).
  • ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° чистка ΠΎΡ‚ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΡ… Ρ„Π»Π°Π³ΠΎΠ² ΠΈ осущСствлСно слияниС Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π£Π΄Π°Π»Π΅Π½Ρ‹ собствСнныС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π»Π³ΠΎΡ€Ρ‚ΠΈΠΌΠΎΠ² CRC16, MD5, SHA1 ΠΈ SHA2.

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