查看二进制程序所依赖的库文件
查看ls软件所依赖的库文件
[root@client ~]# ldd /usr/bin/ls
查看当前已加载的库
Kldconfig -p
解决依赖包管理工具
yum:rpm包管理器的前端工具
dnf:Fedora 18+ rpm包管理器前端管理工具,CentOS 8 版代替 yum
apt:deb包管理器前端工具
zypper:suse上的rpm前端管理工具
查看最近安装的包
rpm -qa --last|head
查看所有安装的包
rpm -qa
查找包含关键字的包
rpm -qa |grep mysql
查看包信息
rpm -qi mysql-server
查看指定的程序包安装后生成的所有文件
rpm -ql httpd
查询程序的文档
rpm -qd mysql
查询程序的配置文件
rpm -qc mysql-server
查询指定的程序包所依赖的CAPABILITY
rpm -qR mysql-server
查看命令来自哪个包
[root@client yum.repos.d]# rpm -qf `which mysql`
mysql-8.0.26-1.module+el8.4.0+652+6de068a7.x86_64
阿里云
https://mirrors.aliyun.com/
华为云
https://mirrors.huaweicloud.com
腾讯云
https://mirrors.cloud.tencent.com
清华大学
https://mirrors.tuna.tsinghua.edu.cn
repo仓库配置文件的路径,必须以.repo结尾才有用
/etc/yum.repos.d/*.repo
[repositoryID] #仓库名
name=Some name for this repository #别名
baseurl=url://path/to/repository/ #yum仓库服务器路径
enabled={1|0} #是否启用
gpgcheck={1|0} #安装包前要做包的合法和完整性校验
gpgkey=URL #key
keepcache=0 #如果为1,则下载rpm并缓存下来,不删除,默认安装rpm后会删除rpm包
cachedir=/var/cache/yum/$basearch/$releasever #缓存路径
[AppStream]
name=myappstream
baseurl=https://mirrors.aliyun.com/rockylinux/$releasever/BaseOS/$basearch/os/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
yum服务器的baseurl形式:
file:// 本地路径
http://
https://
ftp://
注意上面配置的相关变量
yum的repo配置文件中可用的变量:
$releasever: 当前OS的发行版的主版本号,如:8,7,6
$arch: CPU架构,如:aarch64, i586, i686,x86_64等
$basearch:系统基础平台;i386, x86_64
$contentdir:表示目录,比如:centos-8,centos-7
$YUM0-$YUM9:自定义变量
创建仓库配置docker-ce
[root@client yum.repos.d]# ls
backup local.repo
[root@client yum.repos.d]# yum -y install yum-utils
[root@client yum.repos.d]# rpm -qf `which yum-config-manager`
yum-utils-4.0.21-11.el8.noarch
[root@client yum.repos.d]# yum-config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
[root@client yum.repos.d]# ls
backup docker-ce.repo local.repo
[root@client yum.repos.d]# yum clean all ;yum makecache
查看所有仓库
[root@client ~]# yum repolist all
启用和禁用仓库
yum-config-manager --disable epel
yum-config-manager --enable epel
查看可安装的程序包
[root@client ~]# yum list mysql*
只查看已经安装的包
yum list installed|head
查看可以升级的包
yum list updates
安装epel源
yum -y install epel-release
升级最新内核
#去elrepo官网下载对应的包
https://www.elrepo.org/
#安装yum源
yum install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
#发现[elrepo-kernel]是未启用的,可手动修改为启用的,或者使用下面的命令安装
yum repolist all
#临时启用禁用的仓库查看可安装的版本列表
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
#临时启用禁用的仓库,安装内核
yum -y --enablerepo="elrepo-kernel" install kernel-ml
只下载相关的依赖包,而不安装
#--downloadonly只下载 --downloaddir=/root/指定路径,路径下面的httpd文件夹自动创建
[root@client ~]# yum -y install --downloadonly --downloaddir=/root/httpd httpd
[root@client httpd]# tree /root/
/root/
└── httpd
├── apr-1.6.3-12.el8.x86_64.rpm
├── apr-util-1.6.1-6.el8.1.x86_64.rpm
├── apr-util-bdb-1.6.1-6.el8.1.x86_64.rpm
├── apr-util-openssl-1.6.1-6.el8.1.x86_64.rpm
├── httpd-2.4.37-47.module+el8.6.0+985+b8ff6398.2.x86_64.rpm
├── httpd-filesystem-2.4.37-47.module+el8.6.0+985+b8ff6398.2.noarch.rpm
├── httpd-tools-2.4.37-47.module+el8.6.0+985+b8ff6398.2.x86_64.rpm
├── mailcap-2.1.48-3.el8.noarch.rpm
├── mod_http2-1.15.7-5.module+el8.6.0+823+f143cee1.x86_64.rpm
└── rocky-logos-httpd-86.2-1.el8.noarch.rpm
1 directory, 10 files
只下载相关的依赖包,而不安装
下载包也可以通过启用配置文件实现
[root@centos7 ~]# cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever #缓存路径
keepcache=1 #如果为1,则下载rpm并缓存下来,不删除,默认安装rpm后会删除rpm包
yum安装rpm包解决依赖问题
yum -y install httpd-2.4.37-47.module+el8.6.0+985+b8ff6398.2.x86_64.rpm
下载阿里云的extras源,制作私有yum源
yum repolist
#下载相关仓库包和元数据
#--download-metadata 加此选项可以下载元数据
dnf reposync --repoid=epel --download-metadata -p/tmp
#下载相关的key文件,指定路径,可不下载,不开启验证就可以
wget -P /var/www/html/epel/ https://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-8
#CentOS 7 以前版本,reposync工具来自于yum-utils包
reposync --repoid=REPOID --download-metadata -p /path
创建rpm包meta数据
createrepo 文件夹路径
卸载程序包
yum remove httpd
检查可升级的程序包
yum check-update
yum check-update grub2-tools
升级和降级
yum upgrade|update [package1] [package2] [...]
yum upgrade-minimal #最小化升级
yum downgrade package1 [package2] [...] (降级)
查看程序包信息
yum info mysql
查看指定的命令(可以是某文件)是由哪个程序包提供
yum provides route
yum provides */route
指定的关键字搜索程序包名
yum search mysql
查看指定包所依赖的功能
yum deplist mysql
centos8 查看未安装包的文件列表
dnf repoquery -l httpd
清除目录/var/cache/yum/缓存
yum clean all
构建缓存
yum makecache
yum 执行安装卸载命令会记录到相关日志中
cat /var/log/dnf.log
日志命令
yum history
root@client ~]# yum history
ID | Command line | Date and time | Action(s) | Altered
-----------------------------------------------------------------------------------------------------
15 | install https://www.elrepo.org/elrepo-release- | 2022-09-03 16:23 | Install | 1
14 | -y install yum-utils | 2022-09-03 15:49 | Install | 1
13 | -y install mysql | 2022-09-02 22:06 | Install | 3
12 | -y install autofs | 2022-08-29 19:45 | Install | 1
11 | -y install screen | 2022-08-29 19:45 | Install | 1
10 | -y install postfix | 2022-08-29 19:35 | Install | 2
9 | -y install tree | 2022-08-29 19:34 | Install | 1
8 | -y install man-pages | 2022-08-29 19:34 | Install | 2
7 | -y install net-tools | 2022-08-29 19:30 | Install | 1
6 | -y install vim | 2022-08-29 19:12 | Install | 4
5 | -y install zip | 2022-08-29 14:04 | Install | 2
4 | -y install wget | 2022-08-29 14:04 | Install | 2
3 | -y install lrzsz | 2022-08-29 14:03 | Install | 1
2 | -y install bash-completion | 2022-08-29 14:02 | Install | 5
1 | | 2022-08-29 10:06 | Install | 374 EE
[root@client ~]# yum history info 13
Transaction ID : 13
Begin time : Fri 02 Sep 2022 10:06:43 PM CST
Begin rpmdb : 393:af1e5c0bee68d8a5db04a379ce2fb150fcf7fbe7
End time : Fri 02 Sep 2022 10:06:45 PM CST (2 seconds)
End rpmdb : 396:e4e8ef50065ce13f8d36de2ab5f2fc6812ad4bfe
User : root <root>
Return-Code : Success
Releasever : 8
Command Line : -y install mysql
Comment :
Packages Altered:
Install mariadb-connector-c-config-3.1.11-2.el8_3.noarch @BaseOS
Install mysql-8.0.26-1.module+el8.4.0+652+6de068a7.x86_64 @BaseOS
Install mysql-common-8.0.26-1.module+el8.4.0+652+6de068a7.x86_64 @BaseOS
yum grouplist [hidden] [groupwildcard] [...]
yum groupinstall group1 [group2] [...]
yum groupupdate group1 [group2] [...]
yum groupremove group1 [group2] [...]
yum groupinfo group1 [...]
最小化安装的系统安装图形环境
#查看包组
yum grouplist
yum groupinfo "Server with GUI"
#安装图形环境
dnf groupinstall GNOME -y
#切换运行级别
init 5
yum 和 dnf 失败最主要原因:
yum的配置文件格式或路径错误
解决方法:检查/etc/yum.repos.d/*.repo文件格式
yum cache
解决方法:yum clean all
网络不通:
解决方法:网卡配置
dpkg 常见用法
#安装包,不支持包的依赖
dpkg -i package.deb
#删除包,不建议,不自动卸载依赖于它的包
dpkg -r package
#删除包(包括配置文件)
dpkg -P package
#列出当前已安装的包,类似rpm -qa
dpkg -l
#显示该包的简要说明
dpkg -l package
#列出该包的状态,包括详细信息,类似rpm –qi
dpkg -s package
#列出该包中所包含的文件,类似rpm –ql
dpkg -L package
#搜索包含pattern的包,类似rpm –qf
dpkg -S <pattern>
#配置包,-a 使用,配置所有没有配置的软件包
dpkg --configure package
#列出 deb 包的内容,类似rpm –qpl
dpkg -c package.deb
#解开 deb 包的内容
dpkg --unpack package.deb
apt
apt 命令 | 被取代的命令 | 命令的功能 |
---|---|---|
apt install | apt-get install | 安装软件包 |
apt remove | apt-get remove | 移除软件包 |
apt purge | apt-get purge | 移除软件包及配置文件 |
apt update | apt-get update | 刷新存储库索引 |
apt upgrade | apt-get upgrade | 升级所有可升级的软件包 |
apt autoremove | apt-get autoremove | 自动删除不需要的包 |
apt full-upgrade | apt-get dist-upgrade | 在升级软件包时自动处理依赖关系 |
apt search | apt-cache search | 搜索应用程序 |
apt show | apt-cache show | 显示安装细节 |
#安装包:
apt install tree
#安装图形桌面
apt install ubuntu-desktop
#删除包:
apt remove tree
#更新包索引,相当于yum clean all;yum makecache
apt update
#升级包:要升级系统,请首先更新软件包索引,再升级
apt upgrade
#apt列出仓库软件包,等于yum list
apt list
#搜索安装包
apt search nginx
安装桌面
apt install ubuntu-desktop -y
init 5
ubuntu 建议安装的常用包
[root@ubuntu1804 ~]#apt purge ufw lxd lxd-client lxcfs liblxc-common
[root@ubuntu1804 ~]#apt install iproute2 ntpdate tcpdump telnet traceroute nfskernel-server nfs-common lrzsz tree openssl libssl-dev libpcre3 libpcre3-dev
zlib1g-dev gcc openssh-server iotop unzip zip