Ответ 1
Try:
cat /etc/lsb-release
Вы также можете попробовать
lsb_release -a
Или:
cat /proc/version
В Windows я прочитал раздел реестра SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductName
, чтобы получить полное имя и версию ОС.
Но в Linux код
struct utsname ver;
uname(&ver);
retVal = ver.sysname;
возвращает строку linux
, а не Ubuntu 9.04
.
Как я могу получить имя и версию дистрибутива Linux?
Try:
cat /etc/lsb-release
Вы также можете попробовать
lsb_release -a
Или:
cat /proc/version
lsb_release -ds ; uname -mr
в моей системе выдается следующее из приглашения bash (terminal):
Ubuntu 10.04.4 LTS
2.6.32-41-generic x86_64
Не уверен, что я следил за тем, что вам нужно, но я думаю, что вы просто хотите, чтобы флаг "all" был uname:
uname -a
Какова цель получения этой информации?
Если вы пытаетесь обнаружить некоторые функции или свойства системы (например, поддерживает ли она какой-либо syscall или имеет ли она какую-то библиотеку), вместо того, чтобы полагаться на вывод lsb_release, вы должны либо:
Обратите внимание, что первый способ выше применяется, даже если ваше программное обеспечение является только двоичным.
Некоторые примеры кода:
dl = dlopen(module_path, RTLD_LAZY);
if (!dl) {
fprintf(stderr, "Failed to open module: %s\n", module_path);
return;
}
funcptr = dlsym(dl, module_function);
if (!funcptr) {
fprintf(stderr, "Failed to find symbol: %s\n", module_function);
return;
}
funcptr();
dlclose(dl);
Вы можете даже изящно протестировать поддержку кодов процессора, прочитав, например. http://neugierig.org/software/chromium/notes/2009/12/flash-lahf.html, http://code.google.com/p/chromium/issues/detail?id=29789
Обычно:
cat /etc/issue
попытка этого способа интересна и менее ограничительна, чем lsb-release.
$ cat /etc/*-release
/etc/os-release
доступен, по крайней мере, как CentOS 7, так и Ubuntu 16.04, что делает его более кросс-платформенным, чем lsb_release
( не на CentOS) или /etc/system-release
(не на Ubuntu).
$ cat /etc/os-release
Пример:
NAME=Fedora
VERSION="17 (Beefy Miracle)"
ID=fedora
VERSION_ID=17
PRETTY_NAME="Fedora 17 (Beefy Miracle)"
ANSI_COLOR="0;34"
CPE_NAME="cpe:/o:fedoraproject:fedora:17"
HOME_URL="https://fedoraproject.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"