Linux ΠΌΠ½ΠΎΠ³ΠΎΠ»ΠΈΠΊΠΈΠΉ: ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° любом дистрибутивС

Linux ΠΌΠ½ΠΎΠ³ΠΎΠ»ΠΈΠΊΠΈΠΉ: ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° любом дистрибутивС

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π΅ Π½Π° любом дистрибутивС β€” Π·Π°Π΄Π°Ρ‡ΠΊΠ° нСпростая. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Veeam Agent for Linux Π½Π° дистрибутивах ΠΎΡ‚ Red Hat 6 ΠΈ Debian 6, Π΄ΠΎ OpenSUSE 15.1 ΠΈ Ubuntu 19.04 приходится Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ спСктр ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, особСнно Ссли ΡƒΡ‡Π΅ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π² состав ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Π²Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ядра.

Π‘Ρ‚Π°Ρ‚ΡŒΡ создана ΠΏΠΎ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°ΠΌ выступлСния Π½Π° ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ LinuxPiter 2019.

Linux β€” это Π½Π΅ просто ΠΎΠ΄Π½Π° ΠΈΠ· самых популярных ОБ. По сути, это ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°, Π½Π° Π±Π°Π·Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅, Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ своё. Благодаря этому Ρƒ Linux мноТСство дистрибутивов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². И Ρ‚ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π» Π½Π° любом дистрибутивС, приходится ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ особСнности ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ.

ΠŸΠ°ΠΊΠ΅Ρ‚Π½Ρ‹Π΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρ‹. .deb vs .rpm

Начнём с ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ распространСния ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° для Ρ€Π°Π·Π½Ρ‹Ρ… дистрибутивов.
Π‘Π°ΠΌΡ‹ΠΉ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ способ распространСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² β€” это Π²Ρ‹Π»ΠΎΠΆΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ Π½Π° Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ встроСнный Π² систСму ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ смог Π΅Π³ΠΎ ΠΎΡ‚Ρ‚ΡƒΠ΄Π° ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ.
Однако популярных Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ² ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Ρƒ нас Π΄Π²Π°: rpm ΠΈ deb. Π—Π½Π°Ρ‡ΠΈΡ‚, придётся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ.

Π’ ΠΌΠΈΡ€Π΅ deb-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ совмСстимости ΠΏΠΎΡ€Π°Π·ΠΈΡ‚Π΅Π»Π΅Π½. Один ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ставится ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ Π½Π° Debian 6, Ρ‚Π°ΠΊ ΠΈ Π½Π° Ubuntu 19.04. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Ρ‹ процСсса построСния ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌΠΈ, Π·Π°Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Π² старых Debian дистрибутивах, ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ Π² Π½ΠΎΠ²ΠΎΠΌΠΎΠ΄Π½Ρ‹Ρ… Linux Mint ΠΈ elementary OS. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² случаС Veeam Agent for Linux достаточно ΠΎΠ΄Π½ΠΎΠ³ΠΎ deb-ΠΏΠ°ΠΊΠ΅Ρ‚Π° для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

А Π²ΠΎΡ‚ Π² ΠΌΠΈΡ€Π΅ rpm-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² различия Π²Π΅Π»ΠΈΠΊΠΈ. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π΄Π²Π° ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ нСзависимых Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡŒΡŽΡ‚Π΅Ρ€Π° Red Hat ΠΈ SUSE, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅ Π½ΡƒΠΆΠ½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ. Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Ρƒ этих Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² Π΅ΡΡ‚ΡŒ дистрибутивы с Ρ‚Π΅Ρ…. ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΈ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅. ΠœΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠΆΠ΅ Π½Π΅ Π½ΡƒΠΆΠ½Π°. Π£ нас ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ, Ρ‡Ρ‚ΠΎ для el6, el7 ΠΈ el8 свои ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹. ΠžΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ для Fedora. ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹ для SLES11 ΠΈ 12 ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ для openSUSE. Основная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” Π² зависимостях ΠΈ ΠΈΠΌΠ΅Π½Π°Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° зависимостСй

Π£Π²Ρ‹, ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ часто ΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Π² Ρ€Π°Π·Π½Ρ‹Ρ… дистрибутивах. НиТС Π½Π΅ΠΏΠΎΠ»Π½Ρ‹ΠΉ список зависимостСй ΠΏΠ°ΠΊΠ΅Ρ‚Π° veeam.

Для EL7:
Для SLES 12:

  • libblkid
  • libgcc
  • libstdc++
  • ncurses-libs
  • fuse-libs
  • file-libs
  • veeamsnap = 3.0.2.1185
  • libblkid1
  • libgcc_s1
  • libstdc++6
  • libmagic1
  • libfuse2
  • veeamsnap-kmp = 3.0.2.1185

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ список зависимостСй оказываСтся ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ для дистрибутива.

Π₯ΡƒΠΆΠ΅ Π±Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ΄ старым ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΏΡ€ΡΡ‚Π°Ρ‚ΡŒΡΡ обновлённая вСрсия.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Π’ Fedora 24 обновился ΠΏΠ°ΠΊΠ΅Ρ‚ ncurses c вСрсии 5 Π΄ΠΎ вСрсии 6. Наш ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ собирался ΠΈΠΌΠ΅Π½Π½ΠΎ с 5-Ρ‚ΠΎΠΉ вСрсиСй, для обСспСчСния совмСстимости со старыми дистрибутивами. Π§Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ старой 5-Ρ‚ΠΎΠΉ вСрсиСй Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π½Π° Fedora 24, ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ ncurses-compat-libs.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ для Fedora появляСтся Π΄Π²Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π°, с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ зависимостями.

Π”Π°Π»ΡŒΡˆΠ΅ интСрСснСС. ПослС ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠ³ΠΎ обновлСния дистрибутива ΠΏΠ°ΠΊΠ΅Ρ‚ ncurses-compat-libs с 5-Ρ‚ΠΎΠΉ вСрсиСй Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ оказываСтся нСдоступным. Для Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡŒΡŽΡ‚Π΅Ρ€Π° Π½Π°ΠΊΠ»Π°Π΄Π½ΠΎ Ρ‚ΡΠ½ΡƒΡ‚ΡŒ старыС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ дистрибутива. Бпустя Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ врСмя ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΠ»Π°ΡΡŒ ΠΈ Π² дистрибутивах SUSE.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… дистрибутивов ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ явной зависимости ΠΎΡ‚ ncurses-libs, Π° ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ ΠΏΠΎΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ ΠΌΠΎΠ³ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с любой вСрсиСй Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

ΠšΡΡ‚Π°Ρ‚ΠΈ, Π² 8-ΠΉ вСрсии Red Hat большС Π½Π΅Ρ‚ ΠΌΠ΅Ρ‚Π°-ΠΏΠ°ΠΊΠ΅Ρ‚Π° python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ссылался Π½Π° старый Π΄ΠΎΠ±Ρ€Ρ‹ΠΉ python 2.7. Π•ΡΡ‚ΡŒ python2 ΠΈ python3.

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°ΠΌ

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с зависимостями стара ΠΈ Π΄Π°Π²Π½ΠΎ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Π°. Π’ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ хотя Π±Ρ‹ Dependency hell.
ΠžΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈ прилоТСния Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ всС ΠΎΠ½ΠΈ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ ΠΈ Π½Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ²Π°Π»ΠΈ β€” собствСнно, эту Π·Π°Π΄Π°Ρ‡Ρƒ ΠΈ пытаСтся Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ любой Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡŒΡŽΡ‚ΠΎΡ€ Linux.

БовсСм ΠΈΠ½Π°Ρ‡Π΅ пытаСтся Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Snappy ΠΎΡ‚ Canonical. Основная идСя: ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ выполняСтся Π² ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΈ Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½ΠΎΠΉ ΠΎΡ‚ основной систСмы пСсочницС. Если ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ Π½ΡƒΠΆΠ½Ρ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ вмСстС с самим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.

Flatpak Ρ‚Π°ΠΊΠΆΠ΅ позволяСт Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ прилоТСния Π² пСсочницС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Linux Containers. ИдСю пСсочницы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΈ AppImage.

Π­Ρ‚ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΠΊΠ΅Ρ‚ для Π»ΡŽΠ±Ρ‹Ρ… дистрибутивов. Π’ случаС с Flatpak установка ΠΈ запуск прилоТСния Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π° Π΄Π°ΠΆΠ΅ Π±Π΅Π· Π²Π΅Π΄ΠΎΠΌΠ° администратора.

Основная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π΅ всС прилоТСния ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² пСсочницС. НСкоторым Π½ΡƒΠΆΠ½ΠΎ прямоС ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅. Π― ΡƒΠΆ Π½Π΅ Π³ΠΎΠ²ΠΎΡ€ΡŽ ΠΏΡ€ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ядра, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Тёстко зависят ΠΎΡ‚ ядра ΠΈ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ Π²ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡŽ пСсочницы.

Вторая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° – популярныС Π² enterprise-срСдС дистрибутивы ΠΎΡ‚ Red Hat ΠΈ SUSE Π΅Ρ‰Ρ‘ Π½Π΅ содСрТат ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Snappy ΠΈ Flatpak.

Π’ связи с этим Veeam Agent for Linux Π½Π΅Ρ‚ Π½ΠΈ Π½Π° snapcraft.io Π½ΠΈ Π½Π° flathub.org.

Π’ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ вопроса ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹Ρ… ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π°Ρ… Π·Π°ΠΌΠ΅Ρ‡Ρƒ, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ вовсС ΠΎΡ‚ ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹Ρ… ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠ², объСдинив Π² ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΠΊΠ΅Ρ‚ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ скрипт для ΠΈΡ… установки.

Π’Π°ΠΊΠΎΠΉ bundle позволяСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ для Ρ€Π°Π·Π½Ρ‹Ρ… дистрибутивов ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ процСсс установки, осущСствляя Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΊΠ°ΡΡ‚ΠΎΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ. Π― сталкивался с Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ для Linux Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ VMware.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ

Linux ΠΌΠ½ΠΎΠ³ΠΎΠ»ΠΈΠΊΠΈΠΉ: ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° любом дистрибутивС
Π”Π°ΠΆΠ΅ Ссли всС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с зависимостями Ρ€Π΅ΡˆΠ΅Π½Ρ‹, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΠΈ Ρ‚ΠΎΠΌ ΠΆΠ΅ дистрибутивС. Π”Π΅Π»ΠΎ Π² обновлСниях.

Π•ΡΡ‚ΡŒ 3 стратСгии обновлСния:

  • Бамая простая – Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ Π½ΠΈΠΊΠΎΠ³Π΄Π°. Настроил сСрвСр ΠΈ Π·Π°Π±Ρ‹Π». Π—Π°Ρ‡Π΅ΠΌ обновлСния, Ссли всё Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚? ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ Π² слуТбу ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ. Π‘ΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ дистрибутива ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½Π½Ρ‹ΠΉ Ρ€Π΅Π»ΠΈΠ·.
  • МоТно Π΄ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡŒΡŽΡ‚Π΅Ρ€Ρƒ ΠΈ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ автоматичСскоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅. Π’ этом случаС Π·Π²ΠΎΠ½ΠΎΠΊ Π² слуТбу ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ вСроятСн сразу послС Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎΠ³ΠΎ обновлСния.
  • Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ обновлСния Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС Π΅Π³ΠΎ ΠΎΠ±ΠΊΠ°Ρ‚ΠΊΠΈ Π½Π° тСстовой инфраструктурС – самый Π²Π΅Ρ€Π½Ρ‹ΠΉ, Π½ΠΎ Π΄ΠΎΡ€ΠΎΠ³ΠΎΠΉ ΠΈ Ρ‚Ρ€ΡƒΠ΄ΠΎΡ‘ΠΌΠΊΠΈΠΉ. Π”Π°Π»Π΅ΠΊΠΎ Π½Π΅ всС способны Π΅Π³ΠΎ сСбС ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ.

Π’Π°ΠΊ ΠΊΠ°ΠΊ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ стратСгии обновлСния, Ρ‚ΠΎ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½ΠΎ ΠΈ самый свСТий Ρ€Π΅Π»ΠΈΠ·, ΠΈ всС Ρ€Π°Π½Π΅Π΅ Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅. Π­Ρ‚ΠΎ услоТняСт ΠΈ процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΈ процСсс тСстирования, добавляСт Π³ΠΎΠ»ΠΎΠ²Π½ΠΎΠΉ Π±ΠΎΠ»ΠΈ слуТбС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ.

Π Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ

Π Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ – это ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Π² Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ стСпСни спСцифичная ΠΈΠΌΠ΅Π½Π½ΠΎ для native-ΠΊΠΎΠ΄Π°. Как ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ, приходится ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

Π’ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Veeam Agent for Linux ΠΌΡ‹ всё Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ…ΠΎΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Ρ‚Π°ΠΊΠΎΠ΅ RISC-ΠΎΠ²ΠΎΠ΅.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π° этом вопросС Π½Π΅ Π±ΡƒΠ΄Ρƒ. ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Ρƒ лишь основныС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹: платформозависимыС Ρ‚ΠΈΠΏΡ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ size_t, Π²Ρ‹Ρ€Π°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ структур ΠΈ byte order.

БтатичСская ΠΈ/ΠΈΠ»ΠΈ динамичСская Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΠ°

Linux ΠΌΠ½ΠΎΠ³ΠΎΠ»ΠΈΠΊΠΈΠΉ: ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° любом дистрибутивС
А Π²ΠΎΡ‚ вопрос «Как Π»ΠΈΠ½ΠΊΠΎΠ²Π°Ρ‚ΡŒΡΡ с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ β€” динамичСски ΠΈΠ»ΠΈ статичСски?Β» стоит ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ.

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π‘/Π‘++ прилоТСния ΠΏΠΎΠ΄ Linux ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΡƒ. Π­Ρ‚ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ‚ΠΎΠΌ случаС, Ссли ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ собрано ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ дистрибутив.

Если ΠΆΠ΅ стоит Π·Π°Π΄Π°Ρ‡Π° ΠΎΡ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Π΅ дистрибутивы ΠΎΠ΄Π½ΠΈΠΌ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠΌ, Ρ‚ΠΎ приходится ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° самый старый ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ дистрибутив. Для нас это Red Hat 6. Он содСрТит gcc 4.4, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π°ΠΆΠ΅ стандарт Π‘++11 ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ.

ΠœΡ‹ собираСм наш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ gcc 6.3, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ C++14. ЕстСствСнно, Π² Ρ‚Π°ΠΊΠΎΠΌ случаС Π½Π° Red Hat 6 Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ libstdc++ ΠΈ boost приходится Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ с собой. ΠŸΡ€ΠΎΡ‰Π΅ всСго Π»ΠΈΠ½ΠΊΠΎΠ²Π°Ρ‚ΡŒΡΡ с Π½ΠΈΠΌΠΈ статичСски.

Но ΡƒΠ²Ρ‹, Π½Π΅ со всСми Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈΠ½ΠΊΠΎΠ²Π°Ρ‚ΡŒΡΡ статичСски.

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, систСмныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ libfuse, libblkid Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π»ΠΈΠ½ΠΊΠΎΠ²Π°Ρ‚ΡŒ динамичСски, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΌ Π² совмСстимости ΠΈΡ… с ядром ΠΈ Π΅Π³ΠΎ модулями.

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ½ΠΊΠΎΡΡ‚ΡŒ с лицСнзиями.

ЛинцСнзия GPL Π² ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Π»ΠΈΠ½ΠΊΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с opensource ΠΊΠΎΠ΄ΠΎΠΌ. MIT ΠΈ BSD Ρ€Π°Π·Ρ€Π΅ΡˆΠ°ΡŽΡ‚ ΡΡ‚Π°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΡƒ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. А Π²ΠΎΡ‚ LGPL Π²Ρ€ΠΎΠ΄Π΅ ΠΊΠ°ΠΊ Π½Π΅ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΡ‚ статичСской Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΠ΅, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² ΠΎΠ±Ρ‰ΠΈΠΉ доступ Ρ„Π°ΠΉΠ»Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для связывания.

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС использованиС динамичСской Π»ΠΈΠ½ΠΊΠΎΠ²ΠΊΠΈ обСзопасит ΠΎΡ‚ нСобходимости Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ.

Π‘Π±ΠΎΡ€ΠΊΠ° Π‘/Π‘++ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Для сборки Π‘/Π‘++ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ ΠΈ дистрибутивов достаточно ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ gcc подходящСй вСрсии ΠΈ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ кросс-компиляторами для спСцифичных Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€, ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ вСсь Π½Π°Π±ΠΎΡ€ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. Π Π°Π±ΠΎΡ‚Π° эта Π²ΠΏΠΎΠ»Π½Π΅ рСализуСмая, Π½ΠΎ довольно хлопотная. И Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠΉ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ компилятор ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ обСспСчат работоспособный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚.

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΉ плюс: сильно упрощаСтся инфраструктура, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ вСсь процСсс сборки ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ машинС. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, достаточно ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Π½Π°Π±ΠΎΡ€ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² для ΠΎΠ΄Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ для Ρ€Π°Π·Π½Ρ‹Ρ… дистрибутивов. ИмСнно Ρ‚Π°ΠΊ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ veeam для Veeam Agent for Linux.

Π’ противовСс этому Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρƒ ΠΌΠΎΠΆΠ½ΠΎ просто ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ build Ρ„Π΅Ρ€ΠΌΡƒ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ нСсколько машин для сборки. КаТдая такая машина Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ прилоТСния ΠΈ сборку ΠΏΠ°ΠΊΠ΅Ρ‚Π° для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ дистрибутива ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС компиляция производится Ρ‚Π΅ΠΌΠΈ срСдствами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ» Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡŒΡŽΡ‚Π΅Ρ€. Π’ΠΎ Π΅ΡΡ‚ΡŒ этап ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ компилятора ΠΈ ΠΏΠΎΠ΄Π±ΠΎΡ€ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΎΡ‚ΠΏΠ°Π΄Π°Π΅Ρ‚. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, процСсс сборки ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»Π΅Π³ΠΊΠΎ распараллСлСн.

Π•ΡΡ‚ΡŒ, ΠΏΡ€Π°Π²Π΄Π°, ΠΈ минус Ρƒ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°: для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ дистрибутива Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠ΄Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ придётся ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ свой Π½Π°Π±ΠΎΡ€ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ². Π’Π°ΠΊΠΆΠ΅ минусом являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ мноТСство машин Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ, Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ большоС количСство дискового пространства ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ KMOD ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ модуля ядра veeamsnap ΠΏΠΎΠ΄ дистрибутивы Red Hat.

Open Build Service

КоллСги ΠΈΠ· SUSE ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π·ΠΎΠ»ΠΎΡ‚ΡƒΡŽ сСрСдину Π² Π²ΠΈΠ΄Π΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сСрвиса для компиляции ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ сборки ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² β€” openbuildservice.

По сути, это Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаёт Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ, устанавливаСт Π² Π½Π΅ΠΉ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, выполняСт ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ прилоТСния ΠΈ сборку ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π² этой ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ срСдС, послС Ρ‡Π΅Π³ΠΎ такая Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина освобоТдаСтся.

Linux ΠΌΠ½ΠΎΠ³ΠΎΠ»ΠΈΠΊΠΈΠΉ: ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° любом дистрибутивС

Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π² OpenBuildService ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ сам ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚, сколько Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ для ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ скорости сборки ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². ВстроСнный ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ подписи сам ΠΏΠΎΠ΄ΠΏΠΈΡˆΠ΅Ρ‚ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈ Π²Ρ‹Π»ΠΎΠΆΠΈΡ‚ ΠΈΡ… Π½Π° встроСнный Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. ВстроСнная систСма вСрсионного контроля сохранит ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ сборок. ΠžΡΡ‚Π°Ρ‘Ρ‚ΡΡ просто Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² эту систСму свои исходники. Π”Π°ΠΆΠ΅ сСрвСр самому ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Ρ‚ΡŒ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π° ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ.

Π’ΡƒΡ‚, ΠΏΡ€Π°Π²Π΄Π°, Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ±Π°ΠΉΠ½ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ вписываСтся Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ инфраструктуру. НапримСр, вСрсионный ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π΅ Π½ΡƒΠΆΠ΅Π½, Ρƒ нас ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ свой для исходников. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ подписи Ρƒ нас отличаСтся: ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сСрвСр. Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Ρ‚ΠΎΠΆΠ΅ Π½Π΅ Π½ΡƒΠΆΠ΅Π½.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π΄Ρ€ΡƒΠ³ΠΈΡ… дистрибутивов β€” ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Red Hat β€” Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° довольно скудно, Ρ‡Ρ‚ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ объяснимо.

Достоинством Ρ‚Π°ΠΊΠΎΠ³ΠΎ сСрвиса являСтся быстрая ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ вСрсии дистрибутива SUSE. Π”ΠΎ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ объявлСния ΠΎ Ρ€Π΅Π»ΠΈΠ·Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для сборки ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π²Ρ‹ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π° ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Π’ спискС доступных дистрибутивов Π½Π° OpenBuildService появляСтся Π½ΠΎΠ²Ρ‹ΠΉ. ВыставляСм Π³Π°Π»ΠΎΡ‡ΠΊΡƒ, ΠΈ ΠΎΠ½ добавляСтся Π² ΠΏΠ»Π°Π½ сборки. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ вСрсии дистрибутива выполняСтся практичСски Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠ»ΠΈΠΊ.

Π’ нашСй инфраструктурС с использованиСм OpenBuildService собираСтся всё ΠΌΠ½ΠΎΠ³ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ KMP ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² модуля ядра veeamsnap для дистрибутивов SUSE.

Π”Π°Π»Π΅Π΅ я Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ Π½Π° вопросах, спСцифичных ΠΈΠΌΠ΅Π½Π½ΠΎ для ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ядра.

kernel ABI

ΠœΠΎΠ΄ΡƒΠ»ΠΈ ядра Linux историчСски Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΠ»ΠΈΡΡŒ Π² Π²ΠΈΠ΄Π΅ исходных тСкстов. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ создатСли ядра Π½Π΅ ΠΎΠ±Ρ€Π΅ΠΌΠ΅Π½ΡΡŽΡ‚ сСбя Π·Π°Π±ΠΎΡ‚ΠΎΠΉ ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ API для ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ядра, Π° Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ Π½Π° Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅, Π΄Π°Π»Π΅Π΅ kABI.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ для ванильного ядра, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½Ρ‹ header-Ρ‹ ΠΈΠΌΠ΅Π½Π½ΠΎ этого ядра, ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° этом ядрС.

DKMS позволяСт Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ процСсс сборки ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ядра. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ рСпозитория Debian (ΠΈ Π΅Π³ΠΎ многочислСнных родствСнников) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ядра Π»ΠΈΠ±ΠΎ ΠΈΠ· рСпозитория Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡŒΡŽΡ‚Π΅Ρ€Π°, Π»ΠΈΠ±ΠΎ собираСмыС ΠΈΠ· исходников с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ DKMS.

Однако такая ситуация Π½Π΅ особо устраиваСт Enterprise-сСгмСнт. РаспространитСли ΠΏΡ€ΠΎΠΏΡ€ΠΈΠ΅Ρ‚Π°Ρ€Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° хотят Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ Π² Π²ΠΈΠ΄Π΅ собранных Π±ΠΈΠ½Π°Ρ€Π½ΠΈΠΊΠΎΠ².

Администраторы Π½Π΅ хотят Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ срСдства Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π° production-сСрвСрах ΠΈΠ· сообраТСний бСзопасности. Π”ΠΈΡΡ‚Ρ€ΠΈΠ±ΡŒΡŽΡ‚Π΅Ρ€Ρ‹ Enterprise Linux β€” Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠ°ΠΊ Red Hat ΠΈ SUSE β€” Ρ€Π΅ΡˆΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ для своих ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠ΅ kABI ΠΎΠ½ΠΈ смогут ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ появились KMOD ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ для Red Hat ΠΈ KMP ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ для SUSE.

Π‘ΡƒΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ довольно проста. Для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ вСрсии дистрибутива API ядра freeze-ится. Π”ΠΈΡΡ‚Ρ€ΠΈΠ±ΡŒΡŽΡ‚ΠΎΡ€ заявляСт, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ ядро, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 3.10, ΠΈ вносит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ исправлСния ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‚ интСрфСйсы ядра, Π° собранныС для самого ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ядра ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ для всСх ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π±Π΅Π· пСрСкомпиляции.

Red Hat Π·Π°ΡΠ²Π»ΡΡŽΡ‚ ΠΎ kABI совмСстимости для дистрибутива Π½Π° протяТСнии всСго ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°. Π’ΠΎ Π΅ΡΡ‚ΡŒ собранный ΠΌΠΎΠ΄ΡƒΠ»ΡŒ для rhel 6.0 (Ρ€Π΅Π»ΠΈΠ· ноября 2010) Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ Π½Π° вСрсии 6.10 (Ρ€Π΅Π»ΠΈΠ· июня 2018). А это ΠΏΠΎΡ‡Ρ‚ΠΈ 8 Π»Π΅Ρ‚. ЕстСствСнно, Π·Π°Π΄Π°Ρ‡Π° это довольно слоТная.
ΠœΡ‹ зафиксировали нСсколько случаСв, ΠΊΠΎΠ³Π΄Π° ΠΈΠ·-Π·Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с kABI ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ veeamsnap пСрСставал Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ veeamsnap, собранный для RHEL 7.0, оказался нСсовмСстим с ядром ΠΈΠ· RHEL 7.5, Π½ΠΎ ΠΏΡ€ΠΈ этом загруТался ΠΈ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ ронял сСрвСр, ΠΌΡ‹ ΠΎΡ‚ΠΊΠ°Π·Π°Π»ΠΈΡΡŒ ΠΎΡ‚ использования kABI совмСстимости для RHEL 7 Π²ΠΎΠΎΠ±Ρ‰Π΅.

Π’ настоящий ΠΌΠΎΠΌΠ΅Π½Ρ‚ KMOD ΠΏΠ°ΠΊΠ΅Ρ‚ для RHEL 7 содСрТит сборку для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ вСрсии Ρ€Π΅Π»ΠΈΠ·Π° ΠΈ скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обСспСчиваСт Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ модуля.

SUSE ΠΊ Π·Π°Π΄Π°Ρ‡Π΅ kABI совмСстимости подошли Π±ΠΎΠ»Π΅Π΅ остороТно. Они ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ kABI ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ service pack.

НапримСр, Ρ€Π΅Π»ΠΈΠ· SLES 12 состоялся Π² сСнтябрС 2014. А SLES 12 SP1 ΡƒΠΆΠ΅ Π² Π΄Π΅ΠΊΠ°Π±Ρ€Π΅ 2015, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΡˆΠ»ΠΎ Ρ‡ΡƒΡ‚ΡŒ большС Π³ΠΎΠ΄Π°. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Π° Ρ€Π΅Π»ΠΈΠ·Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ядро 3.12, ΠΎΠ½ΠΈ kABI нСсовмСстимы. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ kABI ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ всСго лишь Π³ΠΎΠ΄Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΡ‰Π΅. Π“ΠΎΠ΄ΠΎΠ²ΠΎΠΉ Ρ†ΠΈΠΊΠ» обновлСния модуля ядра Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Ρƒ создатСлСй ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ SUSE ΠΌΡ‹ Π½Π΅ зафиксировали Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с kABI ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ Ρƒ нашСго модуля veeamsnap. ΠŸΡ€Π°Π²Π΄Π°, ΠΈ число ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² для SUSE ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π° порядок большС.

ΠŸΠ°Ρ‚Ρ‡ΠΈ ΠΈ бэкпорты

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡŒΡŽΡ‚Π΅Ρ€Ρ‹ ΡΡ‚Π°Ρ€Π°ΡŽΡ‚ΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ kABI ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ядра, ΠΎΠ½ΠΈ Π΅Ρ‰Ρ‘ ΠΈ ΡΡ‚Π°Ρ€Π°ΡŽΡ‚ΡΡ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π΅Ρ„Π΅ΠΊΡ‚Ρ‹ этого ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ ядра.

ΠŸΡ€ΠΈ этом ΠΊΡ€ΠΎΠΌΠ΅ собствСнной Β«Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ ошибками» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ядра enterprise linux ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°ΡŽΡ‚ измСнСния Π² ванильном ядрС ΠΈ пСрСносят ΠΈΡ… Π² своё Β«ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠ΅Β».

Иногда это ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π½ΠΎΠ²Ρ‹ΠΌ ошибкам.

Π’ послСднСм Ρ€Π΅Π»ΠΈΠ·Π΅ Red Hat 6 Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΠΌΠΈΠ½ΠΎΡ€Π½Ρ‹Ρ… ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ Π±Ρ‹Π»Π° Π΄ΠΎΠΏΡƒΡ‰Π΅Π½Π° ошибка. Она ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ»Π° ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ veeamsnap Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ Π²Π°Π»ΠΈΠ» систСму ΠΏΡ€ΠΈ освобоТдСнии ΡΠ½Π°ΠΏΡˆΠΎΡ‚Π°. Π‘Ρ€Π°Π²Π½ΠΈΠ² исходники ядра Π΄ΠΎ ΠΈ послС обновлСния, ΠΌΡ‹ выяснили, Ρ‡Ρ‚ΠΎ Π²ΠΈΠ½ΠΎΠΉ всСму Π±Ρ‹Π» backport. Аналогичный фикс Π±Ρ‹Π» ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Ρ‘Π½ Π² ванильном ядрС вСрсии 4.19. Π’ΠΎΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ванильном ядрС этот фикс Ρ€Π°Π±ΠΎΡ‚Π°Π» Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, Π° ΠΏΡ€ΠΈ пСрСносС Π΅Π³ΠΎ Π² Β«ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠ΅Β» 2.6.32 Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° со спин-Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ошибки Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Ρƒ всСх ΠΈ всСгда, Π½ΠΎ стоило Π»ΠΈ Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΈΠ· 4.19 Π² 2.6.32, рискуя ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ?.. Π― Π½Π΅ увСрСн…

Π₯ΡƒΠΆΠ΅ всСго, ΠΊΠΎΠ³Π΄Π° ΠΊ ΠΏΠ΅Ρ€Π΅Ρ‚ΡΠ³ΠΈΠ²Π°Π½ΠΈΡŽ ΠΊΠ°Π½Π°Ρ‚Π° Β«ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒΒ»<->«модСрнизация» ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΌΠ°Ρ€ΠΊΠ΅Ρ‚ΠΈΠ½Π³. ΠžΡ‚Π΄Π΅Π»Ρƒ ΠΌΠ°Ρ€ΠΊΠ΅Ρ‚ΠΈΠ½Π³Π° Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ядро ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ дистрибутива Π±Ρ‹Π» ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ, с ΠΎΠ΄Π½ΠΎΠΉ стороны, ΠΈ Π² Ρ‚ΠΎΠΆΠ΅ врСмя Π±Ρ‹Π»ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΈΠΌΠ΅Π»ΠΎ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ странным компромиссам.

Когда я ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π» ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π° ядрС 4.4 ΠΎΡ‚ SLES 12 SP3, я с ΡƒΠ΄ΠΈΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ» Π² Π½Ρ‘ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» ΠΈΠ· ванильного 4.8. На ΠΌΠΎΠΉ взгляд, рСализация Π±Π»ΠΎΡ‡Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° ядра 4.4 ΠΎΡ‚ SLES 12 SP3 большС ΠΏΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π° ядро 4.8, Ρ‡Π΅ΠΌ Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ Ρ€Π΅Π»ΠΈΠ· ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ 4.4 ядра ΠΎΡ‚ SLES12 SP2. Каков Π±Ρ‹Π» ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ пСрСнСсённого ΠΊΠΎΠ΄Π° ΠΈΠ· ядра 4.8 Π² SLES-овский 4.4 для SP3 я ΡΡƒΠ΄ΠΈΡ‚ΡŒ Π½Π΅ Π±Π΅Ρ€ΡƒΡΡŒ, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ ядро всё Ρ‚Π΅ΠΌ ΠΆΠ΅ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ 4.4 Ρƒ мСня язык Π½Π΅ поворачиваСтся.

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

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΊΠΎΠ΄ обрастаСт ΠΏΡ€ΠΈΡ‡ΡƒΠ΄Π»ΠΈΠ²Ρ‹ΠΌΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π°ΠΌΠΈ условной компиляции.

Π’ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π΅Ρ‰Ρ‘ ΠΈ ΠΏΠ°Ρ‚Ρ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠ΅Π½ΡΡŽΡ‚ Π·Π°Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ API ядра.
Наткнулся Π½Π° дистрибутив KDE neon 5.16 ΠΈ Π±Ρ‹Π» ΠΎΡ‡Π΅Π½ΡŒ ΡƒΠ΄ΠΈΠ²Π»Ρ‘Π½, ΡƒΠ²ΠΈΠ΄Π΅Π² Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·ΠΎΠ² lookup_bdev Π² этой вСрсии ядра ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ, ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π² makefile Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ провСряСт, Π΅ΡΡ‚ΡŒ Π»ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ mask Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ lookup_bdev.

Подпись ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ядра

Но вСрнёмся ΠΊ вопросу распространСния ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².

Одно ΠΈΠ· достоинств ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ kABI Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ядра Π² Π²ΠΈΠ΄Π΅ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ. Π’ этом случаС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π΅ Π±Ρ‹Π» случайно ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Ρ‘Π½ ΠΈΠ»ΠΈ Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ modinfo.

Дистрибутивы Red Hat ΠΈ SUSE ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ подпись модуля ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π΅Π³ΠΎ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Π² систСмС зарСгистрирован ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ сСртификат. Π‘Π΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ прСдставляСт собой ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ подписываСтся ΠΌΠΎΠ΄ΡƒΠ»ΡŒ. ΠœΡ‹ распространяСм Π΅Π³ΠΎ Π² Π²ΠΈΠ΄Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Ρ‚ΡƒΡ‚ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ сСртификаты ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ встроСнныС Π² ядро (ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡŒΡŽΡ‚Π΅Ρ€Ρ‹), Π»ΠΈΠ±ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ записаны Π² ΡΠ½Π΅Ρ€Π³ΠΎΠ½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ EFI с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ mokutil. Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° mokutil ΠΏΡ€ΠΈ установкС сСртификата Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ систСму ΠΈ Π΅Ρ‰Ρ‘ Π΄ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ядра ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ администратору Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½ΠΎΠ²ΠΎΠ³ΠΎ сСртификата.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ сСртификата Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ физичСского доступа администратора ΠΊ систСмС. Если машина располагаСтся Π³Π΄Π΅-Ρ‚ΠΎ Π² ΠΎΠ±Π»Π°ΠΊΠ΅ Π»ΠΈΠ±ΠΎ просто Π² ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΉ сСрвСрной ΠΈ доступ Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ сСти (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎ ssh), Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ сСртификат Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

EFI Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ…

НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΡƒΠΆΠ΅ Π΄Π°Π²Π½ΠΎ EFI поддСрТиваСтся практичСски всСми создатСлями матСринских ΠΏΠ»Π°Ρ‚, ΠΏΡ€ΠΈ установкС систСмы администратор ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Π·Π°Π΄ΡƒΠΌΠ°Ρ‚ΡŒΡΡ ΠΎ нСобходимости EFI, ΠΈ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Ρ‘Π½.

НС всС Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ EFI. VMWare vSphere ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ EFI, начиная с вСрсии 5.
Microsoft Hyper-V Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ EFI, начиная с Hyper-V for Windows Server 2012R2.

Однако Π² Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ этот Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» для Linux машин Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½, Π° Π·Π½Π°Ρ‡ΠΈΡ‚, сСртификат ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ нСльзя.

Π’ vSphere 6.5 Π²Ρ‹ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΎΠΏΡ†ΠΈΡŽ Secure Boot ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² старой вСрсии Π²Π΅Π±-интСрфСйса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‡Π΅Ρ€Π΅Π· Flash. Web UI Π½Π° HTML-5 ΠΏΠΎΠΊΠ° сильно отстаёт.

Π­ΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ дистрибутивы

Ну ΠΈ напослСдок рассмотрим вопрос ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… дистрибутивов ΠΈ дистрибутивов Π±Π΅Π· ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны, Ρ‚Π°ΠΊΠΈΠ΅ дистрибутивы навряд Π»ΠΈ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡˆΡŒ Π½Π° сСрвСрах ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹Ρ… ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΉ. ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρƒ Ρ‚Π°ΠΊΠΈΡ… дистрибутивов Π½Π΅Ρ‚. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚Π΅Ρ…. ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π° Π½Π° Ρ‚Π°ΠΊΠΎΠΌ дистрибутивС нСльзя.

Однако Ρ‚Π°ΠΊΠΈΠ΅ дистрибутивы становятся ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠΎΠΉ для ΠΏΡ€ΠΎΠ±Ρ‹ Π½ΠΎΠ²Ρ‹Ρ… ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ. НапримСр, Fedora, OpenSUSE Tumbleweed ΠΈΠ»ΠΈ Unstable вСрсии Debian. Они довольно ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹. Π’ Π½ΠΈΡ… всСгда Π½ΠΎΠ²Ρ‹Π΅ вСрсии ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ всСгда Π½ΠΎΠ²ΠΎΠ΅ ядро. Π§Π΅Ρ€Π΅Π· Π³ΠΎΠ΄ этот ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π² ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½Π½ΠΎΠΌ RHEL, SLES ΠΈΠ»ΠΈ Ubuntu.

Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Ссли Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΌ дистрибутивС β€” это ΠΏΠΎΠ²ΠΎΠ΄ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ ΠΈ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π΅Ρ‘. НуТно Π±Ρ‹Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΌ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ этот Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» скоро появится Π½Π° production-сСрвСрах ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

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

Π›ΠΈΡ‡Π½ΠΎ ΠΌΠ½Π΅ Π±Ρ‹Π» интСрСсСн экспСримСнт с ОБ Β«Π­Π»ΡŒΠ±Ρ€ΡƒΡΒ». ПослС Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π° veeam наш ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ установился ΠΈ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π». ΠŸΡ€ΠΎ этот экспСримСнт я писал Π½Π° Π₯Π°Π±Ρ€Π΅ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅.

Ну Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½ΠΎΠ²Ρ‹Ρ… дистрибутивов продолТаСтся. ОТидаСм появлСния Π½Π° свСт вСрсии 4.0. Π’ΠΎΡ‚-Π²ΠΎΡ‚ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ бэта, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ слСдитС Π·Π° whats-new!

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com