amarao (amarao_san) wrote,
amarao
amarao_san

Category:

subtle fuckups

Вот пример очень тонкого апгрейд-факапа, который очевиден, когда знаешь, куда смотреть, и неочевиден, когда не знаешь.

Начиная с какого-то времени в debian/ubuntu появился каталог /etc/network/interfaces.d/

Который предполагает "файл на интерфейс" и другую няшную .d среду обитания, которую особо любят системы управления конфигурациями.

Но если вы попробуете его использовать на большинстве своих серверов, оно нифига не сработает. Почему? Потому что man interfaces говорит:

      By default, on a freshly installed Debian system, the  interfaces  file
       includes a line to source files in the /etc/network/interfaces.d direc‐
       tory.


А все несвежие инсталляции ubuntu/debian (например, ваша любимая домашняя машинка, помнящая времена живого Яна и отсутствующего systemd) - они, разумеется, такой строчки не имеют, потому что это конфиг, а конфиги трогать при апгрейде не положено, а когда вам этот конфиг первый раз в системе делали, то Ян был жив, а systemd не было, и никакого source-directory /etc/network/interfaces.d в помине тоже не было.

И всё очевидно, и как чинить, и почему это, всё очевидно, кроме остающегося осадочка, что оно "может работать, а может и не работать". Очередное сферическое чудо из говна и баша, в котором код перепутан с конфигами (потому что source-directory - нифига не конфиг, а если это написано в мануале, то должно обрабатываться вне зависимости от возраста файла конфига).

И после этого мне рассказывают про восторг и любовь с системой, состоящей из шелловых скриптов-которые-конфиги-и-код-в-одном-лице с init'а и до самого победного конца.
Tags: debian, linux
Subscribe

  • systemd-networkd, netlink и arp флуд

    Нереально странный баг пофикшен с помощью eBPF затычки. Для меня большой неожиданностью является реакция на него.…

  • Rust soundness

    Каждый раз, когда я сталкиваюсь с маленькими "но" в Rust'е, это ощущение тщательной продуманности. Например, простейшие fold-функции для итераторов:…

  • still_ntp

    В ходе локального мозгового штурма у меня родилась суперидея. Надо написать ntp сервер, который может отдавать указанную дату. Т.е. сказали при…

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 44 comments

  • systemd-networkd, netlink и arp флуд

    Нереально странный баг пофикшен с помощью eBPF затычки. Для меня большой неожиданностью является реакция на него.…

  • Rust soundness

    Каждый раз, когда я сталкиваюсь с маленькими "но" в Rust'е, это ощущение тщательной продуманности. Например, простейшие fold-функции для итераторов:…

  • still_ntp

    В ходе локального мозгового штурма у меня родилась суперидея. Надо написать ntp сервер, который может отдавать указанную дату. Т.е. сказали при…