1Devel::CheckOS::FamilieUss(e3r)Contributed Perl DocumentDaetvieoln::CheckOS::Families(3)
2
3
4
6 Devel::CheckOS::Families - what OS "families" are supported "out of the
7 box" by Devel::CheckOS and Devel::AssertOS?
8
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
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
29 This includes both ordinary Linux and Android. Plain old Linux will
30 match 'Linux'. Android will match both that and 'Android'.
31
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
49 This includes any version of Windows and also includes things like
50 Cygwin which run on top of it.
51
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
59 This is for all real-time OSes. So far, it only includes QNX.
60
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
73 This documentation is also free-as-in-mason.
74
75
76
77perl v5.38.0 2023-07-20 Devel::CheckOS::Families(3)