Определить codename дистрибутива
Коллеги, подскажите наиболее красивый способ определить codename
дистрибутива (на предмет шелловской команды, добавляющей строчку в
sources.list).
В большинстве хаутушек рекомендуют использование lsb_release -c.
Но, пакет lsb-release в Debian не является essential. И если он обычно
присутствует на рабочих станциях, где стоит какой-нибудь desktop
environment, то на серверной системе его запросто может не быть.
Например, его нет в свежепоставленном с помощью lxc-create контейнере.
Hetzner продает kvm-виртуалки с Debian, на которых этот пакет
изначально тоже не стоит.
В принципе, в base-files входит файл /etc/os-release, откуда codename в
принципе извлекается. Но там нет отдельной переменной с codename,
поэтому получается что-то вроде
. /etc/os-release
CODENAME=`echo $VERSION|sed -e 's/^.*(//' -e 's/)//'`
Для скрипта это как-то годится, но вот для команды, написанной в README
или на веб-страничке в качестве описания подключения репозитория - уже
не очень.
Reply to: