![](/images/logo.jpg)
介绍常见 Linux 操作系统的安装包管理工具,主要介绍其使用命令!
包管理系统除了安装软件外,它还提供了工具来更新已经安装的包。包存储库有助于确保你的系统中使用的代码是经过审查的,并且软件的安装版本已经得到了开发人员和包维护人员的认可。
apk
Alpine Linux
==Alpine Linux== 是基于 musl libc 和 busybox 的面向安全的轻量级 Linux 发行版。Alpine 的体积非常小,Alpine 的 Docker 镜像大小仅 5 MB 左右。Alpine 功能比 buysbox 完善,还提供了软件包管理工具 ==apk== (Alpine Package Keeper)。
- 使用示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48# 查看系统信息
# cat /etc/*-release
3.11.6
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.11.6
PRETTY_NAME="Alpine Linux v3.11"
HOME_URL="https://alpinelinux.org/"
BUG_REPORT_URL="https://bugs.alpinelinux.org/"
# 更换阿里云的源
cd /etc/apk/
/etc/apk # cat repositories
http://dl-cdn.alpinelinux.org/alpine/v3.11/main
http://dl-cdn.alpinelinux.org/alpine/v3.11/community
vi repositories
https://mirrors.aliyun.com/alpine/v3.11/main/
https://mirrors.aliyun.com/alpine/v3.11/community/
#http://dl-cdn.alpinelinux.org/alpine/v3.11/main
#http://dl-cdn.alpinelinux.org/alpine/v3.11/community
# 安装vim命令
/etc/apk # apk add vim
fetch https://mirrors.aliyun.com/alpine/v3.11/main/x86_64/APKINDEX.tar.gz
fetch https://mirrors.aliyun.com/alpine/v3.11/community/x86_64/APKINDEX.tar.gz
(1/5) Installing xxd (8.2.3437-r0)
(2/5) Installing lua5.3-libs (5.3.5-r2)
(3/5) Installing ncurses-terminfo-base (6.1_p20200118-r4)
(4/5) Installing ncurses-libs (6.1_p20200118-r4)
(5/5) Installing vim (8.2.3437-r0)
Executing busybox-1.31.1-r9.trigger
OK: 38 MiB in 21 packages
# 安装zip命令
/etc/apk # apk add zip
(1/2) Installing unzip (6.0-r7)
(2/2) Installing zip (3.0-r7)
Executing busybox-1.31.1-r9.trigger
OK: 39 MiB in 23 packages
apk install xxx
apk search xxx # 支持正则
apk info xxx # 查看包的详细信息
apk show # list local package
# 卸载并删除 包
apk del openssh openntp vim - 升级
upgrade命令升级系统已安装的所以软件包(一般包括内核),当然也可指定仅升级部分软件包(通过-u或–upgrade选择指定)。
1
2
3apk update # 更新最新本地镜像源
apk upgrade # 升级软件
apk add --upgrade busybox # 指定升级部分软件包 - 搜索
1
2
3
4apk search # 查找所以可用软件包
apk search -v # 查找所以可用软件包及其描述内容
apk search -v 'acf*' # 通过软件包名称查找软件包
apk search -v -d 'docker' # 通过描述文件查找特定的软件包 - 查看包信息
1
2
3
4# info命令用于显示软件包的信息。
apk info # 列出所有已安装的软件包
apk info -a zlib # 显示完整的软件包信息
apk info --who-owns /sbin/lbu # 显示指定文件属于的包 - 笔记
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80apk add iproute2 # ss vs netstat
ss -ptl
apk add drill # drill vs nslookup&dig
crond # 开启 cron 服务
crontab -l -e
apk add xxx
apk search -v xxx
apk info -a xxx
apk info
echo -e "http://mirrors.aliyun.com/alpine/v3.6/main\nhttp://mirrors.aliyun.com/alpine/v3.6/community" > /etc/apk/repositories
apk update
# storage
ibu # alpine local backup
# network
echo "shortname" > /etc/hostname
hostname -F /etc/hostname
/etc/hosts
/etc/resolv.conf # conig DNS
modprobe ipv6 # enable ipv6
echo "ipv6" >> /etc/modules
iface # config interface
apk add iptables ip6tables iptables-doc
/etc/init.d/networking restart # activate change
apke add iputils # IPv6 traceroute
traceroute6 ipv6.google.com
awall # alpine wall
# setup a openvpn server
# post-install
/etc/apk/repositories
apk add cherokee --update-cache --repository http://dl-3.alpinelinux.org/alpine/edge/testing/ --allow-untrusted
apk search -v --description 'NTP' # show description and search from description
apk info -a zlib
apk info -vv|sort
apk info -r -R # require / depency
apk version -v -l '<' # show available updates
apk upgrade -U -a
apk add -u xxx # update xxx
/etc/runlevels # runlevel
apk add openrc # use openrc for init system
rc-update add xxx # set to start on
rc-service xxx start # equal -> /etc/init.d/xxx start
rc-status
adduser xxx
passwd xxx
apk add ansible # server
ssh-keygen
/etc/ansible/hosts
apk add python # node
ssh-copy-id
apk add man man-pages mdocml-apropos less less-doc
export PAGER=less
/etc/rc.conf # /etc/rc.conf -> funny character
apk add bash bash-doc bash-completion # bash
apk add util-linux pciutils usbutils coreutils binutils findutils grep # grep / awk
apk add build-base gcc abuild binutils binutils-doc gcc-doc # compile
apk add cmake cmake-doc extra-cmake-modules extra-cmake-modules-doc
apk add ccache ccache-doc
apk add docker # docker
rc-update add docker boot
rc-service docker start
apk add py-pip
pip install docker-compose
ln -s /usr/bin/docker-compose /usr/bin/doc
# application
apk add openssh # ssh
rc-update add sshd
/etc/init.d/sshd start
/etc/sshd_config
apk add dropbear # another openssh implementation
dpkg
Ubuntu、Debian
==dpkg== 命令是 ==Debian Linux== 系统用来安装、创建和管理软件包的实用工具。
- 命令行使用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16# dpkg(选项)(参数)
$ dpkg --help
Usage: dpkg [<option> ...] <command>
# 选项
-i:安装软件包
-r:删除软件包
-P:删除软件包的同时删除其配置文件
-L:显示于软件包关联的文件
-l:显示已安装软件包列表
--unpack:解开软件包
-c:显示软件包内文件列表
--confiugre:配置软件包
# 参数
Deb软件包:指定要操作的.deb软件包 - 示例演示说明
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34# 安装包
$ dpkg -i package.deb
# 删除包
$ dpkg -r package
# 删除包(包括配置文件)
$ dpkg -P package
# 列出与该包关联的文件
$ dpkg -L package
# 显示该包的版本
$ dpkg -l package
# 解开deb包的内容
$ dpkg --unpack package.deb
# 搜索所属的包内容
$ dpkg -S keyword
# 列出当前已安装的包
$ dpkg -l
# 列出deb包的内容
$ dpkg -c package.deb
# 配置包
$ dpkg --configure package
# 列出已安装软件包
$ sudo dpkg-query -l
$ sudo dpkg-query -l | less
$ sudo dpkg-query -l | grep tmux
apt
Ubuntu、Debian
==apt-get== 命令是 ==Debian Linux== 发行版中的 APT 软件包管理工具。所有基于 ==Debian== 的发行都使用这个包管理系统。deb 包可以把一个应用的文件包在一起,大体就如同 Windows 上的安装文件。
命令行使用
1
2
3
4
5
6
7
8
9
10# apt-get(选项)(参数)
$ apt --help
Usage: apt [options] command
# 选项
-c:指定配置文件
# 参数
管理指令:对APT软件包的管理操作
软件包:指定要操纵的软件包示例演示说明
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28# 更新所有已安装的软件包
$ apt-get upgrade
# 将系统升级到新版本
$ apt-get dist-upgrade
# 更新
$ apt-get update
# 安装一个新软件包
$ apt-get install packagename
# 卸载一个已安装的软件包(保留配置文件)
$ apt-get remove packagename
# 卸载一个已安装的软件包(删除配置文件)
$ apt-get –purge remove packagename
# 来删除你已经删掉的软件
$ apt-get autoclean apt
# 会把安装的软件的备份也删除
$ apt-get clean
# 列出已安装软件包
$ sudo apt list --installed
$ sudo apt list --installed | less
$ sudo apt list --installed | grep tmux使用示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49cd /etc/apt
# 更新
apt-get update
apt-get upgrade
# 安装vim
apt-get install vim
# 安装命令补全
apt-get install bash-completion
# 配置环境变量
vim ~/.bashrc
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
# 激活环境
source ~/.bashrc
# Ubuntu20无法使用source命令的解决(source: not found)source: not found
方法:
命令行执行:dpkg-reconfigure dash
在跳出的界面选NO
原因:
Ubuntu是用dash来进行解析的,运行 ls -s /bin/sh 后显示 /bin/sh -> dash 可以验证
修改之后,再运行 ls -s /bin/sh 后显示 /bin/sh -> bash ,或者运行 ls -l 'which sh' ,看到变化,就说明修改成功了。
重新进容器:
# 变成sh-5.0#
# 安装lrzsz
apt-get install lrzsz
apt-get install net-tools
# PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
# NAME="Debian GNU/Linux"
# 解决:http://t.zoukankan.com/goloving-p-15150122.html
# 使用 root 用户进去
docker exec -u 0 -it sonarqube /bin/bash
apt-get update
apt-get install vim更换阿里云的源
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22# 先安装lrzsz
apt-get install lrzsz
mv sources.list sources.list-1
# 上传sources.list
deb http://mirrors.aliyun.com/debian stretch main contrib non-free
deb-src http://mirrors.aliyun.com/debian stretch main contrib non-free
deb http://mirrors.aliyun.com/debian stretch-updates main contrib non-free
deb-src http://mirrors.aliyun.com/debian stretch-updates main contrib non-free
deb http://mirrors.aliyun.com/debian-security stretch/updates main contrib non-free
deb-src http://mirrors.aliyun.com/debian-security stretch/updates main contrib non-free
# 你也可以把"Stretch"换成"jessie","wheezy"。分别对应Debian9,Debian8,Debian7版本。
# 如何查询自己的Linux版本参考如下:
cat /etc/issue
# 更新源
apt-get update
# 安装软件速度很快
apt-get install net-tools
apt-get install unzip
apt-get install zip
rpm
RHEL、CentOS
==rpm== 命令是 RPM 软件包的管理工具。==rpm== 原本是 ==Red Hat Linux== 发行版专门用来管理 ==Linux== 各项套件的程序,由于它遵循 ==GPL== 规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。==RPM== 套件管理方式的出现,让 ==Linux== 易于安装,升级,间接提升了 ==Linux== 的适用度。
命令行使用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24# rpm(选项)(参数)
$ rpm --help
Usage: rpm [OPTION...]
# 选项
-a:查询所有套件
-c:只列出组态配置文件,本参数需配合"-l"参数使用
-d:只列出文本文件,本参数需配合"-l"参数使用
-e<套件档>或--erase<套件档>:删除指定的套件
-f<文件>+:查询拥有指定文件的套件
-h或--hash:套件安装时列出标记
-i:显示套件的相关信息
-i<套件档>或--install<套件档>:安装指定的套件档
-l:显示套件的文件列表
-p<套件档>+:查询指定的RPM套件档
-q:使用询问模式,当遇到任何问题时,rpm指令会先询问用户
-R:显示套件的关联性信息
-s:显示文件状态,本参数需配合"-l"参数使用
-U<套件档>或--upgrade<套件档>:升级指定的套件档
-v:显示指令执行过程
-vv:详细显示指令执行过程,便于排错
# 参数
软件包:指定要操纵的rpm软件包示例演示说明
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24# 安装
$ rpm -ivh your-package.rpm
# 强制安装
$ rpm --force -ivh your-package.rpm
# 卸载
$ rpm -e proftpd-1.2.8
# 列出所有安装过的包
$ rpm -qa
$ rpm -qa | grep sql
# rpm包中的文件安装到那里
$ rpm -ql ***.rpm
# 一个没有安装过的软件包
$ rpm -qlp ***.rpm
# 一个已经安装过的软件包
$ rpm -ql ***.rpm
# 某个程序是哪个软件包安装
$ rpm -qf `which 程序名` # 返回软件包的全名
$ rpm -qif `which 程序名` # 返回软件包的有关信息
$ rpm -qlf `which 程序名` # 返回软件包的文件列表
- 本文标题:linux系统安装包管理工具中文使用指南
- 本文作者:xjzyy
- 创建时间:2022-08-12 09:11:37
- 本文链接:https://xjzyy.xyz/2022/08/12/linux系统安装包管理工具中文使用指南/
- 版权声明:本博客所有文章均采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。转载请注明出处!