GNU/Linux >> Linux Esercitazione >  >> Linux

C++ ottiene il nome\versione della distribuzione Linux

Puoi semplicemente usare la funzione:

int uname(struct utsname *buf);

includendo l'intestazione

#include <sys/utsname.h>

Restituisce già il nome e la versione come parte della struttura:

   struct utsname 
   {
       char sysname[];    /* Operating system name (e.g., "Linux") */
       char nodename[];   /* Name within "some implementation-defined network" */
       char release[];    /* OS release (e.g., "2.6.28") */
       char version[];    /* OS version */
       char machine[];    /* Hardware identifier */
       #ifdef _GNU_SOURCE
          char domainname[]; /* NIS or YP domain name */
       #endif
   };

Mi sto perdendo qualcosa?


Per le distribuzioni Linux recenti puoi utilizzare quanto segue per ottenere le informazioni sul sistema operativo. L'output è piuttosto standard e può essere analizzato utilizzando le seguenti specifiche:

https://www.freedesktop.org/software/systemd/man/os-release.html

cat /etc/os-release

Risultati di esempio:

NAME=Fedora
VERSION="27 (Twenty Seven)"
ID=fedora
VERSION_ID=27
PRETTY_NAME="Fedora 27 (Twenty Seven)"

NAME="Ubuntu"
VERSION="16.04.4 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.4 LTS"
VERSION_ID="16.04"

NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
ID_LIKE=archlinux
ANSI_COLOR="0;36"

Linux
  1. La mia distribuzione Kali Linux personalizzata

  2. Ottieni l'indirizzo IP di un'interfaccia su Linux

  3. Come ottenere l'utilizzo totale della CPU in Linux usando C++

  4. Come ottenere il nome utente in C/C++ in Linux?

  5. Linux C++:ottieni la frequenza di aggiornamento di un monitor

Qual è la tua distribuzione Linux preferita?

10 modi per iniziare con Linux

Ottieni informazioni sulla CPU su Linux

CrunchBang Linux:la distribuzione minimalista

Come ottenere il tuo indirizzo IP su Linux

BlackArch Linux Una distribuzione Linux pentesting