一、常见的 Linux 系统版本
1.Linux 系统内核与 Linux 发行套件系统
Linux 系统内核 指的是一个由 Linus Torvalds 负责维护,提供硬件抽象层、磁盘、文件系统控制及多任务功能的系统核心程序。
Linux 发行套件系统 是我们常说的 Linux 操作系统,也就是由 Linux 内核与各种常用软件的集合产品。
Linux 软件包安装
rpm
yum
apt / apt-get(两者的区别请参考 这里)
dpkg
zypper
rpm、yum 适用于 Redhat、CentOS、Suse 等平台;
apt-get、dpkg 适用于 Debian、Ubuntu 等平台;
zypper 适合于Suse平台。
rpm(Redhat Package Manager):用于管理套件。
-a
查询所有套件。-b<完成阶段><套件档>+
或-t <完成阶段><套件档>+
设置包装套件的完成阶段,并指定套件档的文件名称。-c
只列出组态配置文件,本参数需配合"-l"参数使用。-d
只列出文本文件,本参数需配合"-l"参数使用。-e<套件档>
或--erase<套件档>
删除指定的套件。-f<文件>+
查询拥有指定文件的套件。-h或--hash
套件安装时列出标记。-i
显示套件的相关信息。-i<套件档>
或--install<套件档>
安装指定的套件档。-l
显示套件的文件列表。-p<套件档>+
查询指定的RPM套件档。-q
使用询问模式,当遇到任何问题时,rpm指令会先询问用户。-R
显示套件的关联性信息。-s
显示文件状态,本参数需配合"-l"参数使用。-U<套件档>
或--upgrade<套件档>
升级指定的套件档。-v
显示指令执行过程。-vv
详细显示指令执行过程,便于排错。-addsign<套件档>+
在指定的套件里加上新的签名认证。--allfiles
安装所有文件。--allmatches
删除符合指定的套件所包含的文件。--badreloc
发生错误时,重新配置文件。--buildroot<根目录>
设置产生套件时,欲当作根目录的目录。--changelog
显示套件的更改记录。--checksig<套件档>+
检验该套件的签名认证。--clean
完成套件的包装后,删除包装过程中所建立的目录。--dbpath<数据库目录>
设置欲存放RPM数据库的目录。--dump
显示每个文件的验证信息。本参数需配合"-l"参数使用。--excludedocs
安装套件时,不要安装文件。--excludepath<排除目录>
忽略在指定目录里的所有文件。--force
强行置换套件或文件。--ftpproxy<主机名称或IP地址>
指定FTP代理服务器。--ftpport<通信端口>
设置FTP服务器或代理服务器使用的通信端口。--help
在线帮助。--httpproxy<主机名称或IP地址>
指定HTTP代理服务器。--httpport<通信端口>
设置HTTP服务器或代理服务器使用的通信端口。--ignorearch
不验证套件档的结构正确性。--ignoreos
不验证套件档的结构正确性。--ignoresize
安装前不检查磁盘空间是否足够。--includedocs
安装套件时,一并安装文件。--initdb
确认有正确的数据库可以使用。--justdb
更新数据库,当不变动任何文件。--nobulid
不执行任何完成阶段。--nodeps
不验证套件档的相互关联性。--nofiles
不验证文件的属性。--nogpg
略过所有GPG的签名认证。--nomd5
不使用MD5编码演算确认文件的大小与正确性。--nopgp
略过所有PGP的签名认证。--noorder
不重新编排套件的安装顺序,以便满足其彼此间的关联性。--noscripts
不执行任何安装Script文件。--notriggers
不执行该套件包装内的任何Script文件。--oldpackage
升级成旧版本的套件。--percent
安装套件时显示完成度百分比。--pipe<执行指令>
建立管道,把输出结果转为该执行指令的输入数据。--prefix<目的目录>
若重新配置文件,就把文件放到指定的目录下。--provides
查询该套件所提供的兼容度。--queryformat<档头格式>
设置档头的表示方式。--querytags
列出可用于档头格式的标签。--rcfile<配置文件>
使用指定的配置文件。--rebulid<套件档>
安装原始代码套件,重新产生二进制文件的套件。--rebuliddb
以现有的数据库为主,重建一份数据库。--recompile<套件档>
此参数的效果和指定"–rebulid"参数类似,当不产生套件档。--relocate<原目录>=<新目录>
把本来会放到原目录下的文件改放到新目录。--replacefiles
强行置换文件。--replacepkgs
强行置换套件。--requires
查询该套件所需要的兼容度。--resing<套件档>+
删除现有认证,重新产生签名认证。--rmsource
完成套件的包装后,删除原始代码。--rmsource<文件>
删除原始代码和指定的文件。--root<根目录>
设置欲当作根目录的目录。--scripts
列出安装套件的Script的变量。--setperms
设置文件的权限。--setugids
设置文件的拥有者和所属群组。--short-circuit
直接略过指定完成阶段的步骤。--sign
产生PGP或GPG的签名认证。--target=<安装平台>+
设置产生的套件的安装平台。--test
仅作测试,并不真的安装套件。--timecheck<检查秒数>
设置检查时间的计时秒数。--triggeredby<套件档>
查询该套件的包装者。--triggers
展示套件档内的包装Script。--verify
此参数的效果和指定"-q"参数相同。--version
显示版本信息。--whatprovides<功能特性>
查询该套件对指定的功能特性所提供的兼容度。--whatrequires<功能特性>
查询该套件对指定的功能特性所需要的兼容度。
yum(Yellow dog Updater, Modified):基于 RPM 包管理,是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。
yum 语法
yum [options] [command] [package ...]
- options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为 “yes”),-q(不显示安装的过程)等等。
- command:要进行的操作。
- package:安装的包名。
yum常用命令
yum check-update
:列出所有可更新的软件清单命令
yum update
:更新所有软件命令
yum install <package_name>
:仅安装指定的软件命令
yum update <package_name>
:仅更新指定的软件命令
yum list
:列出所有可安裝的软件清单命令
yum remove <package_name>
:删除软件包命令
yum search <keyword>
:查找软件包命令
清除缓存命令
yum clean packages
:清除缓存目录下的软件包
yum clean headers
:清除缓存目录下的 headers
yum clean oldheaders
:清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders)
:清除缓存目录下的软件包及旧的 headers
apt / apt-get(Advanced Packaging Tool):是一个在 Debian 和 Ubuntu 中的 Shell 前端软件包管理器。apt 命令执行需要超级管理员权限(root)
apt 语法
apt [options] [command] [package ...]
- options:可选,选项包括 -h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。
- command:要进行的操作。
- package:安装的包名。
apt 常用命令
sudo apt update
:列出所有可更新的软件清单命令
sudo apt upgrade
:升级软件包
apt list --upgradeable
:列出可更新的软件包及版本信息
sudo apt full-upgrade
:升级软件包,升级前先删除需要更新软件包
sudo apt install <package_name>
:安装指定的软件命令
sudo apt install <package_1> <package_2> <package_3>
:安装多个软件包
sudo apt update <package_name>
:更新指定的软件命令
sudo apt show <package_name>
:显示软件包具体信息,例如:版本号,安装大小,依赖关系等等
sudo apt remove <package_name>
:删除软件包命令
sudo apt autoremove
:清理不再使用的依赖和库文件
sudo apt purge <package_name>
:移除软件包及配置文件
sudo apt search <keyword>
:查找软件包命令
apt list --installed
:列出所有已安装的包
apt list --all-versions
:列出所有已安装的包的版本信息
dpkg(Debian Package):是一个安装、构建、删除和管理Debian包的工具。
dpkg 语法
dpkg(选项)(参数)
dpkg 常用命令
-i
:安装软件包;-r
:删除软件包;-P
:删除软件包的同时删除其配置文件;-L
:显示于软件包关联的文件;-l
:显示已安装软件包列表;--unpack
:解开软件包;-c
:显示软件包内文件列表;--confiugre
:配置软件包。
zypper :Zypper是SUSE Linux中用于安装,升级,卸载,管理仓库、进行各种包查询的命令行接口。
zypper 语法
zypper [--global-opts] <command> [--command-opts] [command-arguments]
# 中括号中的部分可以不需要。
zypper 常用命令
zypper install package_name
:安装某个软件包
zypper install package_name=version
:安装某个版本的软件包
zypper install package_name*
:安装以某个单词名字开头的所有软件包
zypper remove package_name
:卸载某个软件包
zypper update package_name
:升级某个软件包
zypper install emacs -vim
或zypper remove emacs +vim
:要一次安装和删除多个包,请使用 +/-
或 ~/!
修改键一次性安装和删除包
zypper list-updates
:可使用此命令来获取所有可用新包的列表
zypper list-patches
:要列出所有所需的包
具体的软件管理有如下几项:
install
, in
安装软件包。
remove
, rm
删除软件包。
verify
, ve
检验软件包的依赖关系的完整性。
update
, up
将已经安装的软件包更新到新的版本。
dist-upgrade
, dup
执行整个系统的升级。
source-install
, si
安装源代码软件包和它们的编译依赖。