Что этот новый / является выполненной файловой системой?

Добираться OS и VER, последний стандарт, кажется, /etc/os-release. Перед этим, был lsb_release и /etc/lsb-release. Перед этим необходимо было искать различные файлы для каждого распределения.

Вот то, что я предложил бы

if [ -f /etc/os-release ]; then
    # freedesktop.org and systemd
    . /etc/os-release
    OS=$NAME
    VER=$VERSION_ID
elif type lsb_release >/dev/null 2>&1; then
    # linuxbase.org
    OS=$(lsb_release -si)
    VER=$(lsb_release -sr)
elif [ -f /etc/lsb-release ]; then
    # For some versions of Debian/Ubuntu without lsb_release command
    . /etc/lsb-release
    OS=$DISTRIB_ID
    VER=$DISTRIB_RELEASE
elif [ -f /etc/debian_version ]; then
    # Older Debian/Ubuntu/etc.
    OS=Debian
    VER=$(cat /etc/debian_version)
elif [ -f /etc/SuSe-release ]; then
    # Older SuSE/etc.
    ...
elif [ -f /etc/redhat-release ]; then
    # Older Red Hat, CentOS, etc.
    ...
else
    # Fall back to uname, e.g. "Linux <version>", also works for BSD, etc.
    OS=$(uname -s)
    VER=$(uname -r)
fi

Я думаю uname добираться ARCH все еще лучший способ. Но пример Вы дали очевидно только дескрипторам системы Intel. Я или назвал бы его BITS как это:

case $(uname -m) in
x86_64)
    BITS=64
    ;;
i*86)
    BITS=32
    ;;
*)
    BITS=?
    ;;
esac

Или изменение ARCH быть более общими, все же однозначными версиями: x86 и x64 или подобный:

case $(uname -m) in
x86_64)
    ARCH=x64  # or AMD64 or Intel64 or whatever
    ;;
i*86)
    ARCH=x86  # or IA32 or Intel32 or whatever
    ;;
*)
    # leave ARCH as-is
    ;;
esac

но конечно Вам решать

79
31.08.2013, 08:39
2 ответа

По-видимому, много инструментов (среди них udev) скоро потребуют/run/каталога, который смонтирован рано (как tmpfs). Разработчики дуги представили/, выполненный в прошлом месяце для подготовки к этому.

udev данные во время выполнения, перемещенные от/dev/.udev/до/run/udev/. / работают, точка монтирования, как предполагается, является tmpfs, смонтированным во время ранней начальной загрузки, доступной и перезаписываемой к для всех инструментов в любое время во время начальной загрузки, это заменяет/var/run/, который должен стать символьной ссылкой однажды. [1]

Здесь существует больше детали: http://www.h-online.com/open/news/item/Linux-distributions-to-include-run-directory-1219006.html

[1] От потока на Проектах Дуги ML

56
27.01.2020, 19:31
  • 1
    это только для Arch или что? /run будет добавляют в RHEL/CentOs, Ubuntu? –  Rahul Patil 07.04.2013, 21:59
  • 2
    , файлы становятся автоматически удаленными, когда процесс прекращает работать? –  Ian Ringrose 08.12.2016, 11:49
  • 3
    @Ian, если это - tmpfs файловая система, затем на перезагрузке, это будет освобождено. Ваш вопрос: как я знаю, файлы не были бы автоматически удалены, скорее обработали бы себя, должен сделать надлежащую очистку. –  Bulat M. 05.02.2017, 07:49

/run каталог является сопутствующим каталогом к /var/run. Как, например, /bin компаньон /usr/bin.

Это означает это демоны как systemd и udev, которые запускаются очень рано в процессе начальной загрузки - и возможно прежде /var/run доступно (т.е. смонтированный) - имеют с /run стандартизированное местоположение файловой системы, доступное, где они могут хранить информацию о выполнении.

Как /bin содержит важные программы, которые могут быть необходимы в процессе начальной загрузки прежде /usr доступно (в случае, если это находится в своей собственной файловой системе).

/run идея является относительно новой идеей/стандартом, один сторонник является разработчиком systemd.

38
27.01.2020, 19:31

Теги

Похожие вопросы