Добираться 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
но конечно Вам решать
По-видимому, много инструментов (среди них 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
/run
каталог является сопутствующим каталогом к /var/run
. Как, например, /bin
компаньон /usr/bin
.
Это означает это демоны как systemd
и udev
, которые запускаются очень рано в процессе начальной загрузки - и возможно прежде /var/run
доступно (т.е. смонтированный) - имеют с /run
стандартизированное местоположение файловой системы, доступное, где они могут хранить информацию о выполнении.
Как /bin
содержит важные программы, которые могут быть необходимы в процессе начальной загрузки прежде /usr
доступно (в случае, если это находится в своей собственной файловой системе).
/run
идея является относительно новой идеей/стандартом, один сторонник является разработчиком systemd.
/var/run
каталог является symlinked к /run
.
–
21.04.2013, 01:24
/run
будет добавляют в RHEL/CentOs, Ubuntu? – Rahul Patil 07.04.2013, 21:59