跳转至

Unix Basic

导言

一些linux相关的知识和概念:

  • Unix Linux Debian Centos Ubuntu

Unix\Linux

Unix、Linux、Debian、CentOS 和 Ubuntu 这些名词和系统之间的关系可以通过一个层次结构来理解:

Unix 是一个操作系统家族
  • 最早由 AT&T 贝尔实验室在 1970 年代开发。
  • Unix 是现代操作系统的奠基石,许多操作系统的设计思想和概念(如多用户、多任务、文件系统层次结构等)都源自 Unix。
  • Unix 自身有多个商业化版本,如 AIX、HP-UX、Solaris 等。
Linux 是一个 Unix 类操作系统的内核(kernel)
  • 由林纳斯·托瓦兹(Linus Torvalds)于 1991 年首次发布。
  • Linux 并不是一个完整的操作系统,而只是内核。为了使用 Linux 内核,开发者们创建了包括应用程序、系统工具和用户界面在内的完整系统,这些系统被称为 Linux 发行版。

Linux 发行版"

  • Linux 发行版 是基于 Linux 内核的完整操作系统,每个发行版通常包括了内核、系统工具、应用程序包管理器和用户界面。
  • 常见的 Linux 发行版有:
    • Debian:一个以稳定性和自由软件为核心的社区驱动的发行版。Debian 是许多其他发行版(如 Ubuntu)的基础。
    • Red Hat Enterprise Linux (RHEL):一个由红帽公司开发和维护的商业发行版,以企业级应用为目标。
    • Fedora:由红帽公司赞助的社区发行版,RHEL 的上游源头,主要用于测试和开发。
    • Arch Linux:一个以简洁和灵活为特点的发行版,适合高级用户。
    • Gentoo:一个源代码编译的发行版,用户可以自行优化和定制。

Debian 家族

  • Debian 作为基础,衍生出了许多其他发行版:
    • Ubuntu:最流行的 Debian 衍生发行版之一,由 Canonical 公司维护,目标是提供易用的桌面和服务器系统。
    • Linux Mint:基于 Ubuntu 的用户友好发行版,侧重于提供更符合传统用户习惯的桌面体验。
    • Raspberry Pi OS(原 Raspbian):基于 Debian 的发行版,专门为 Raspberry Pi 硬件设计。

Red Hat 家族

  • Red Hat 及其衍生发行版包括:
    • CentOS:一个基于 RHEL 源代码的社区支持发行版,曾被广泛用于服务器环境。CentOS Stream 是其更新的版本,它是 RHEL 的开发版。
    • Fedora:RHEL 的上游发行版,是一个社区驱动的发行版,用于测试新技术。
    • OpenEuler: EulerOS 华为开发的版本,对华为的硬件有特殊优化。

macOS

  • macOS: 基于 UNIX 的内核,称为 XNU(X is Not Unix),它结合了 Mach 微内核和部分 BSD 组件。macOS 属于 UNIX 系统,并且通过了 UNIX 认证。
  • macOS: macOS 原生不带包管理器,但可以通过 Homebrew、MacPorts 等第三方工具来管理软件包。

关系概述

  • Unix 是现代操作系统的起源。
  • Linux 是基于 Unix 设计思想的开源内核。
  • DebianRed Hat 是两个不同的 Linux 发行版家族,各自衍生出多个著名的发行版,如 UbuntuCentOS

这些系统之间的关系可以看作是从 Unix 的起源发展到 Linux,再到 Linux 发行版的一个演变过程。

aptyumdnf

aptyumdnf是Linux系统中常用的包管理工具,它们用于安装、更新、配置、卸载和管理软件包。尽管它们的基本功能相似,但它们在不同的Linux发行版中使用,并且有一些关键的区别:

  1. apt (Advanced Package Tool)
  2. 发行版兼容性:主要用于基于Debian的系统,如Ubuntu、Debian等。
  3. 软件包格式:使用.deb格式的软件包。
  4. 特点apt支持自动处理依赖关系,可以从多个源(repositories)安装软件包。
  5. 命令:使用apt-getapt-cacheapt-config等命令行工具。

  6. yum (Yellowdog Updater Modified)

  7. 发行版兼容性:最初是为Red Hat Linux设计的,现在主要用于基于Red Hat的系统,如CentOS、Fedora、RHEL(Red Hat Enterprise Linux)等。
  8. 软件包格式:使用.rpm格式的软件包。
  9. 特点yum同样支持自动处理依赖关系,它使用元数据来管理软件包,可以进行快速的依赖分析和安装。
  10. 命令:主要通过yum命令来执行各种包管理任务。

  11. dnf (Dandified YUM)

  12. 发行版兼容性:是yum的升级版,被设计为更加高效和灵活。它被用作Fedora和一些其他发行版的默认包管理器,并且正在逐渐取代yum
  13. 软件包格式:也使用.rpm格式的软件包。
  14. 特点dnf提供了更快的包管理操作,改进了依赖处理和软件包搜索功能。它支持yum的所有功能,并且增加了一些新的功能,如模块管理和更灵活的仓库配置。
  15. 命令:使用dnf命令来执行包管理任务,它的命令行选项与yum类似,但更加现代化和用户友好。

主要区别

  • 性能和效率dnf通常被认为比yum更快,因为它采用了更高效的算法和数据结构。
  • 依赖关系处理:所有这三个工具都能处理依赖关系,但它们的内部实现可能有所不同。
  • 用户界面dnf提供了更好的用户体验,包括更清晰的错误信息和更直观的命令行界面。
  • 未来发展方向aptdnf都在持续发展中,而yum则逐渐被dnf取代。

选择哪个工具通常取决于你使用的Linux发行版。例如,如果你使用的是Ubuntu,那么apt是默认的选择;如果你使用的是Fedora,那么dnf可能是更好的选择。

十分不建议交替安装包(Ubuntu安装rpm包),需要手动解决依赖,还有可能的bug
Macbook常见使用Homebrew管理

参考文献

评论