Linux是一种自由和开放源代码的类UNIX操作系统.该操作系统的内核由林纳斯·托瓦兹在1991年10月5日首次发布。在加上用户空间的应用程序之后,成为Linux操作系统。Linux也是自由软件和开放源代码软件发展中最著名的例子。只要遵循GNU通用公共许可证,任何个人和机构都可以自由地使用Linux的所有底层源代码,也可以自由地修改和再发布。大多数Linux系统还包括像提供GUI的X Window之类的程序。除了一部分专家之外,大多数人都是直接使用Linux发行版,而不是自己选择每一样组件或自行设置。
Linux诞生
1991年,在赫尔辛基,Linus Torvalds开始那个后面成为了Linux内核的项目。最初它只是一个Torvalds用来访问大学里的大型的Unix服务器的虚拟终端。他专门写了一个用于他当时正在用的硬件的,与操作系统无关的程序,因为他要用他那用80386处理器的新PC机的功能。开发是在Minix上,用至今仍为首选的编译器——GCC——来完成的。
![]()
1996年,Torvalds为Linux选定了企鹅作为它的吉祥物。Larry Ewing提供了吉祥物的初稿。现在正在使用的著名的吉祥物就是基于这份初稿的。James Hughes根据“Torvalds’s Unix”为它取了名字Tux。

Tux吉祥物
一些相关术语
FSF:Free Software Foundation自由软件基金会。
GPL:General Public License通用公共许可。是广泛使用的免费软件许可证,可以保证终端用户得自由运行,学习,共享和修改软件。GPL提供的Copyleft对于基于Linux的系统的成功至关重要,给予向内核贡献的程序员保证他们的工作将有益于整个世界并保持自由,而不至于被不提供回馈给社区的不肖软件公司所剥削。通俗地讲,就是软件行业的共产主义运动章程,目的保持开源软件最大自由。
BSD:Berkeley Software Distribution伯克利软件套件
GNU:GNU’s Not Unix! GNU操作系统起源于GNU计划,由理查·斯托曼在MIT人工智能实验室发起,希望发展出一套完整的开放源代码操作系统来取代Unix,计划中的操作系统,名为GNU。
ASF:Apache Software Foundation Apache软件基金会
Linux发行版

基于Dpkg (Debian系)
Debian GNU / Linux是一种强调使用自由软件的发行版。它支持多种硬件平台。Debian及其派生发行版使用deb软件包格式,并使用dpkg及其前端作为包管理器。
商业发行版
社区发行版
基于RPM (Red Hat系)
Red Hat Linux和SUSE Linux是最早使用RPM格式软件包的发行版,如今RPM格式已广泛运用于众多的发行版。这两种发行版后来都分为商业版本和社区支持版本。Red Hat Linux的社区支持版本现称为Fedora,商业版本则称为Red Hat Enterprise Linux。
商业发行版
- Red Hat Enterprise Linux,Fedora的商业版,由Red Hat维护和提供技术支持。
- Mandriva,最初为Red Hat的派生版,现在由法国一个同名的公司维护。
- openSUSE,最初由Slackware分离出来,现在由Novell维护。
社区发行版
基于其他包格式
- ArchLinux,一个基于KISS(Keep It Simple and Stupid)的滚动更新的操作系统。
- Chakra,一个从ArchLinux派生出来,只使用KDE桌面的半滚动更新发行版。
- Gentoo,一个面向高级用户的发行版,所有软件的源代码需要自行编译。
- Slackware,最早的发行版之一,1993年创建,由Patrick J. Volkerding维护。
在DistroWatch网站可以看到很多发行版的排名和信息。
Linux包管理
最受欢迎的四个linux发行版的软件包管理方式。
- Debian(包括 Ubuntu, Linux Mint, elementary OS, Zorin OS 和其他Debian衍生版本)
- OpenSUSE
- Fedora(包括 Red Hat Enterprise Linux, CentOS, Scientific Linux 和 基于Fedora的发行版)
- Mageia 和 OpenMandriva
在基于Fedora的发行版中,yum包管理器在2015年的某个时间点被替换为dnf(从Fedora 22开始),但目前看来大部分dnf软件包管理命令与yum命令保持一致(例外情况是“localinstall”,它尚未在dnf中实现,和“update”,这已被弃用,以支持“upgrade”)。
Ubuntu的当前版本使用apt来操作deb包。但是,Ubuntu的实验版本使用新的snap包管理器。
| 任务 | apt (deb) Debian, Ubuntu | zypp (rpm) openSUSE | yum/dnf (rpm) Fedora, CentOS | urpmi (rpm) Mandriva, Mageia |
|---|---|---|---|---|
| 管理软件 | ||||
| 从软件包存储库安装新软件 | apt-get install pkg | zypper install pkg | yum install pkg | urpmi pkg |
| 从软件包文件安装新软件 | dpkg -i pkg | zypper install pkg | yum localinstall pkg | urpmi pkg |
| 更新现有软件 | apt-get install pkg | zypper update -t package pkg | yum update pkg | urpmi pkg |
| 删除不需要的软件 | apt-get remove pkg | zypper remove pkg | yum erase pkg | urpme pkg |
| 更新系统 | ||||
| 更新软件包列表 | apt-get updateaptitude update | zypper refresh | yum check-update | urpmi.update -a |
| 更新系统 | apt-get upgradeaptitude safe-upgrade | zypper update | yum update | urpmi —auto-select |
| 搜索软件包 | ||||
| 按包名搜索 | apt-cache search pkg | zypper search pkg | yum list pkg | urpmq pkg |
| 按模式搜索 | apt-cache search pattern | zypper search -t pattern pattern | yum search pattern | urpmq —fuzzy pkg |
| 按文件名搜索 | apt-file search path | zypper wp file | yum provides file | urpmf file |
| 列出已安装的包 | dpkg -l | zypper search -is | rpm -qa | rpm -qa |
| 配置对软件存储库的访问 | ||||
| 列出存储库 | cat /etc/apt/sources.list | zypper repos | yum repolist | urpmq —list-media |
| 添加存储库 | (edit /etc/apt/sources.list) | zypper addrepo path name | (add repo to /etc/yum.repos.d/) | urpmi.addmedia name path |
| 移除存储库 | (edit /etc/apt/sources.list) | zypper removerepo name | (remove repo from /etc/yum.repos.d/) | urpmi.removemedia media |
Linux发展时间线
如果想要看到更详细的Linux发展版本及发展分支。可以访问 http://futurist.se/gldt