Unix-like OS
概述
参考:
- Wiki, Unix
- Manual(手册),os-release
- DistroWatch(类 UNIX 系统的资讯网站)
Unix 是一系列多任务、多用户 Operating system(操作系统) 的统称。
最初打算在贝尔系统内部使用,AT&T 在 1970 年代后期将Unix授权给外部各方,导致来自加利福尼亚大学伯克利分校( BSD )、微软( Xenix )、Sun Microsystems 等供应商的各种学术和商业 Unix 变体( SunOS / Solaris )、HP / HPE ( HP-UX ) 和IBM ( AIX )。在 1990 年代初期,AT&T 将其在 Unix 中的权利出售给了Novell,Novell随后将其 Unix 业务出售给了Santa Cruz Operation (SCO) 于 1995 年。[4] UNIX 商标转让给了The Open Group,这是一个成立于 1996 年的行业联盟,允许将该标志用于符合单一 UNIX 规范(SUS) 的认证操作系统。但是,Novell 继续拥有 Unix 版权,SCO Group, Inc. 诉 Novell, Inc.法庭案件 (2010) 证实了这一点。
Unix 系统的特点是模块化设计,有时被称为“ Unix 哲学”。根据这一理念,操作系统应该提供一组简单的工具,每个工具都执行有限的、定义明确的功能。[5]统一的文件系统(Unix 文件系统)和称为“管道”的进程间通信机制作为主要通信手段,[3]和shell脚本和命令语言(Unix shell)用于结合执行复杂工作流程的工具。
作为第一个可移植操作系统,Unix 与其前辈不同:几乎整个操作系统都是用C 编程语言编写的,这使得 Unix 可以在众多平台上运行。
类 Unix 操作系统
1983 年,Richard Stallman宣布了GNU(“GNU’s Not Unix”的缩写)项目,这是一项雄心勃勃的努力,旨在创建一个类似 Unix的自由软件 系统;“免费”是指每个收到副本的人都可以免费使用、研究、修改和重新分发它。GNU 项目自己的内核开发项目GNU Hurd尚未生产出可运行的内核,但在 1991 年,Linus Torvalds在GNU 通用公共许可证下发布了内核Linux作为自由软件。除了在GNU操作系统中使用之外,许多 GNU 软件包——例如GNU Compiler Collection(以及其余的GNU 工具链)、GNU C 库和GNU 核心实用程序 ——也继续在其他自由 Unix 系统中发挥核心作用。
由 Linux 内核和大量兼容软件组成的Linux 发行版在个人用户和企业中都很受欢迎。流行的发行版包括 Red Hat Enterprise Linux、Fedora、SUSE Linux Enterprise、openSUSE、Debian GNU/Linux、Ubuntu、Linux Mint、Mandriva Linux、Slackware Linux、Arch Linux和Gentoo。
BSD Unix 的免费衍生产品386BSD于 1992 年发布,引发了NetBSD和FreeBSD项目。1994 年,Unix 系统实验室对加州大学和伯克利软件设计公司(USL 诉 BSDi)提起的诉讼达成和解,澄清了伯克利有权免费分发 BSD Unix,如果它愿意的话。从那时起,BSD Unix 已经在几个不同的产品分支中开发,包括OpenBSD和DragonFly BSD。
Linux 和 BSD 越来越多地满足传统上由专有 Unix 操作系统提供服务的市场需求,并扩展到新市场,如消费桌面和移动和嵌入式设备。由于 Unix 模型的模块化设计,共享组件比较常见;因此,大多数或所有 Unix 和类 Unix 系统至少包含一些 BSD 代码,一些系统还在其发行版中包含 GNU 实用程序。
在 1999 年的一次采访中,Dennis Ritchie 表达了他的观点,即 Linux 和 BSD 操作系统是 Unix 设计基础的延续,是 Unix 的衍生物:[27]
我认为 Linux 现象非常令人愉快,因为它强烈地依赖于 Unix 提供的基础。Linux 似乎是最健康的直接 Unix 衍生产品之一,尽管也有各种 BSD 系统以及来自工作站和大型机制造商的更多官方产品。
在同一次采访中,他表示他认为 Unix 和 Linux 都是“多年前由 Ken 和我以及许多其他人发起的想法的延续”。[27]
OpenSolaris是Sun Microsystems开发的Solaris的免费软件对应物,其中包括CDDL许可的内核和主要的GNU用户空间。然而,甲骨文在收购 Sun 后停止了该项目,这促使一群前 Sun 员工和 OpenSolaris 社区成员将 OpenSolaris 分叉到illumos内核中。截至 2014 年,illumos 仍然是唯一活跃的开源 System V 衍生产品。
关联文件
/etc/os-release # 操作系统标识。该文件是 /usr/lib/os-release 文件的软链接
注意:
- 不同的 Linux 发行版,都会有一些自身特有的配置,比如 /etc/sysconfg 目录,只会在 RedHat 相关发行版(比如.CentOS)中出现,Ubuntu 并没有这个目录。
os-release 详解
/etc/os-release 是本身是 Systemd 的一部分,包含了操作系统的识别数据。在这篇文章里,详解描述了为什么需要这个文件。该文件通常是操作系统供应商定义的,不应该手动修改。
os-release 是一个以换行符分隔的类似环境的 shell 兼容变量赋值列表。示例如下:
~# cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.2 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.2 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
这个文件可以很方便得让各种 shell 脚本获取到操作系统的信息,只需要脚本中执行 source /etc/os-release 命令即可。
Ubuntu 与 CentOS 的异同
安装镜像
CentOS 的 iso 中包含了所有基础环境所需的软件包,但是 iso 文件过大,7 是 4G 多,8 有 9G 多
Ubuntu 的 iso 中只有一点软件包,虚拟化环境的都没有,但是 iso 文件很小,只有不到 1G
网络配置
CentOS 对 NetworkManager 改动较大
Ubuntu 对 NetworkManager 改动几乎没有
反馈
此页是否对你有帮助?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.