1Devel::CheckOS::FamilieUss(e3r)Contributed Perl DocumentDaetvieoln::CheckOS::Families(3)
2
3
4

NAME

6       Devel::CheckOS::Families - what OS "families" are supported "out of the
7       box" by Devel::CheckOS and Devel::AssertOS?
8

WHAT IS AN OS FAMILY

10       Computing platforms fall into several categories.  For example, there
11       is the category of Unix-a-likes.  Each of these categories is a
12       "family".  A platform can fall into several families.
13

THE Unix FAMILY

15       Broadly speaking, these are platforms where:
16
17       Devices are represented as pseudo-files in the filesystem
18       Symlinks and hardlinks are supported in at least some filesystems
19       "Unix-style" permissions are supported
20           That is, there are seperate read/write/execute permissions for file
21           owner, group and anyone.  This implies the presence of multiple
22           user accounts and user groups.  Permissions may not be supported on
23           all filesystems.
24
25       The filesystem has a single root
26       The C API for the operating system is largely POSIX-compatible
27

THE Linux FAMILY

29       This includes both ordinary Linux and Android. Plain old Linux will
30       match 'Linux'. Android will match both that and 'Android'.
31

THE Linux::Debian FAMILY

33       Up until version 1.84 this wasn't a family, and would match any
34       platform which claimed to be Debian via "lsb_release -i" or on which a
35       file called "/etc/debian_version" existed. That meant that as well as
36       matching real Debian, it would also match Ubuntu, Raspbian, and so on.
37       As of version 1.85 "Linux::Debian" has become a family of all the
38       Debian-based Linuxes. If you want to test which particular family
39       member you're on then look at list_family_members("Linux::Debian") to
40       see what's available.
41
42       NB the difference between "Linux::RealDebian" (which uses "lsb_release"
43       for identification) and "Linux::UnknownDebianLike" (which uses the
44       existence of "/etc/debian_version" for identification). In particular
45       beware that some *very* old Debians don't have "lsb_release" available
46       and so will be detected as "Linux::UnknownDebianLike".
47

THE MicrosoftWindows FAMILY

49       This includes any version of Windows and also includes things like
50       Cygwin which run on top of it.
51

THE DEC, Sun, and Apple FAMILIES

53       These include any OS written by, respectively, DEC, Sun, and Apple.
54       They exist because, while, eg, Mac OS Classic and Mac OS X are very
55       different platforms, they do support some unique features - such as
56       AppleScript.
57

THE Realtime FAMILY

59       This is for all real-time OSes.  So far, it only includes QNX.
60

THE EBCDIC FAMILY

62       OSes which use EBCDIC instead of ASCII.
63
65       Copyright 2023 David Cantrell <david@cantrell.org.uk>
66
67       This documentation is free-as-in-speech.  It may be used, distributed
68       and modified under the terms of the Creative Commons Attribution-Share
69       Alike 2.0 UK: England & Wales License, whose text you may read at
70       <http://creativecommons.org/licenses/by-sa/2.0/uk/>.
71

CONSPIRACY

73       This documentation is also free-as-in-mason.
74
75
76
77perl v5.38.0                      2023-07-20       Devel::CheckOS::Families(3)
Impressum