En akseptert og adoptert løsning til et gammelt problem har fått fotfeste hos de store Linux-distribusjonene. For hvordan finner en egentlig ut hvilken distribusjon en er på? Alle distribusjonene har til nå hatt sine egne løsninger og mekanismer for dette, men Free Desktop/SysV har nå funnet en løsning alle ser ut til å kunne være enige i.
/etc/os-release er en tekstfil som inneholder standardisert informasjon om den aktuelle Linux-distribusjonen. Informasjonen i filen inkluderer navnet på distribusjonen, versjonsnummeret, en identifikasjonsstreng, og informasjon om hvor man kan finne ytterligere informasjon (distribusjonens nettside og dokumentasjon).
Filen er påkrevd i SysV-kompatible systemer, men har også blitt adoptert av distribusjoner som ikke bruker SysV. Filen har ennå ikke rukket å bli en del av alle stabile lanseringene, men den er å finne i de neste utgavene av Debian, OpenSUSE, Fedora, ArchLinux, og flere. De nyeste utgavene av Ubuntu og Slackware inkluderer filen.
Dette er første gang brukere (og programmer!) enkelt kan identifisere distribusjonen de kjører. Standardiseringen av informasjonen gjør det også enklere for programvareutviklere å håndtere flere Linux-distribusjoner. Håpet til dette og lignende initiativer er at det skal bli mindre fragmentnasjon mellom distribusjonene og enklere å skrive programmer som kan kjøre over alt uten spesiell tilpasning for hver distribusjon.
Kilder: os-release man page, distribusjonens pakkebrønner
moma skrev:Har man også spesifisert hvilke feltnavn er obligatoriske?
Aeyoun skrev: Filen har ennå ikke rukket å bli en del av alle stabile lanseringene, men den er å finne i de neste utgavene av Debian, OpenSUSE, Fedora, ArchLinux, og flere. De nyeste utgavene av Ubuntu og Slackware inkluderer filen.
# ls /etc/*release
/etc/lsb-release /etc/novell-release /etc/SuSE-release
# cat /etc/*release
LSB_VERSION="core-2.0-noarch:core-3.0-noarch:core-2.0-ia32:core-3.0-ia32"
Novell Open Enterprise Server 2.0.3 (i586)
VERSION = 2.0.3
PATCHLEVEL = 3
BUILD
SUSE Linux Enterprise Server 10 (i586)
VERSION = 10
PATCHLEVEL = 4
~> ls /etc/*release
/etc/lsb-release /etc/SuSE-release
~> cat /etc/*release
LSB_VERSION="core-2.0-noarch:core-3.2-noarch:core-4.0-noarch:core-2.0-x86_64:core-3.2-x86_64:core-4.0-x86_64"
openSUSE 11.4 (x86_64)
VERSION = 11.4
CODENAME = Celadon
~> ls /etc/*release
/etc/lsb-release /etc/os-release /etc/SuSE-release
~> cat /etc/*release
LSB_VERSION="core-2.0-noarch:core-3.2-noarch:core-4.0-noarch:core-2.0-x86_64:core-3.2-x86_64:core-4.0-x86_64"
NAME=openSUSE
VERSION="12.2 (Mantis)"
VERSION_ID="12.2"
PRETTY_NAME="openSUSE 12.2 (Mantis) (x86_64)"
ID=opensuse
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:opensuse:12.2"
openSUSE 12.2 (x86_64)
VERSION = 12.2
CODENAME = Mantis
# inxi -F
System: Host: alfa Kernel: 3.6.3-8-desktop x86_64 (64 bit)
Desktop N/A Distro: openSUSE 12.2 (x86_64) VERSION = 12.2 CODENAME = Mantis
........snip
~> gnome-shell --version
GNOME Shell 3.6.1
Returner til Artikler (Linux1)
Registrerte brukere: Google [Bot]