cenetos常用的yum命令与Ubuntu常用的apt命令

软件管理

查看二进制程序所依赖的库文件

查看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

yum和dnf

yum软件仓库格式

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

yum命令

查看可安装的程序包

[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
网络不通:
解决方法:网卡配置  

Ubuntu 软件管理

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

你可能感兴趣的:(linux基础,运维,centos,ubuntu)