13

I'm trying to Create OS detect portable function in bash script,

So I just want to know, the file "/etc/issue" is common for all Linux Flavors ?

4
  • In modern distros, there is usually an /etc/*-release file with some info.
    – ninjalj
    Jul 25, 2013 at 10:07
  • uname may offer some information too, not sure how accurate a finger print it is. Don't forget that anyone can modify pretty much anything in a Linux install to obscure the info you want, it'll only find stuff on unmodified installs. Jul 25, 2013 at 13:26
  • Yes you are right.., I have selected different option, it will check package manager like yum or apt-get then it will install packages based on this. Jul 25, 2013 at 13:49
  • still I'm working on it check link paste.ubuntu.com/5911213 Jul 25, 2013 at 13:52

3 Answers 3

13

Yes this is a standard file across distributions. It's standard on most distros, Fedora/CentOS/RHEL/Debian/Ubuntu etc.

You can read more about it with a man issue or its associated file /etc/issue.net. You can see the issue.net man page for more details and how to include macros into both files there as well.

You can also read more about it on the Linux From Scratch project, Customizing your Logon with /etc/issue.

1
  • Is there a Windows equivalent to /etc/issue?
    – blackappy
    Dec 16, 2017 at 1:08
13

In addition to slm's answer, it's worth remembering that anyone (with root access) can edit the content of /etc/issue. Some organisations may do so to present pre-login warnings or disclaimers, and others may remove all identification of the distribution for security reasons (it doesn't matter how effective either of these measures are).

Therefore, while /etc/issue may exist almost all the time, the content is not necessarily suitable for detecting the OS (as you put it, or more likely, the Linux distribution).

0
4

@EightBitTony's answer is correct. Also it does not exist by default on fedora 23.

Do not rely on it for identifying random systems. I'd use /etc/system-release or /etc/os-release but not sure how much universal that is.

Reading a bit /etc/os-release comes with systemd so I guess won't work with archaic distros (or any that hate systemd). Could not find authoritative info about /etc/system-release. I guess one has to check many files if compatibility is important. Or use /etc/os-release if edge cases are not important.

1

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .