linux软件管理_马哥教育sre笔记

linux软件管理

  • 小技巧
  • rpm包管理器
  • centos的yum
  • ubuntu的apt

1 小技巧

1.1.1救援小实例:

删除 /lib64/libc.so.6之后,救援模式.

进入救援模式有一个/,这个是光盘的/. 原系统的根在/mnt/sysroot下.

救援模式下rpm安装,记得指定安装路径

rpm  -ivh /run/install/repo/Packages/rpm-xxxx --root=/mnt/sysroot

1.1.1光盘自动挂在实例

挂在iso文件,查看里面的rpm安装包

#自动安装的设置
[root@fyg cd]# yum install autofs -y
[root@fyg cd]# vim /etc/auto.master
/misc   /etc/auto.misc
[root@fyg cd]# systemctl start enable --now
#进入文件后会自动挂在
[root@fyg ~]# cd /misc/cd/
[root@fyg cd]# cd Packages/

#查看rpm包里面有什么
[root@fyg Packages]# rpm2cpio tree-1.6.0-10.el7.x86_64.rpm | cpio -tv
-rwxr-xr-x   1 root     root        62768 Jun 10  2014 ./usr/bin/tree
drwxr-xr-x   2 root     root            0 Jun 10  2014 ./usr/share/doc/tree-1.6.0
-rw-r--r--   1 root     root        18009 Aug 13  2004 ./usr/share/doc/tree-1.6.0/LICENSE
-rw-r--r--   1 root     root         4628 Jun 24  2011 ./usr/share/doc/tree-1.6.0/README
-rw-r--r--   1 root     root         4100 Jun 24  2011 ./usr/share/man/man1/tree.1.gz

img

2 包管理器

红帽用rpm命令

rpm常用命令

#查询是否安装
rpm -q vsftpd

#配合脚本使用
[root@fyg ~]# rpm -q tree | echo $?
0
[root@fyg ~]# rpm -q echo;echo $?
package echo is not installed
1

#安装,需要写路径与文件名
[root@fyg Packages]# rpm -ivh vsftpd-3.0.2-25.el7.x86_64.rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:vsftpd-3.0.2-25.el7              ################################# [100%]


#卸载软件,只需要写软件名就可以了.
[root@fyg Packages]# rpm -evh vsftpd
Preparing...                          ################################# [100%]
Cleaning up / removing...
   1:vsftpd-3.0.2-25.el7              ################################# [100%]

#查看文件路径
rpm -ql vsftpd

#查看包的安装信息
rpm -qi vsftp

#查看磁盘的文件来源自那个包
rpm -qf /etc/issue

#查看配置文件
[root@fyg Packages]# rpm -qc httpd

#查看文档
[root@fyg Packages]# rpm -qd httpd

2.1 rpm包的其他相关

ll /var/lib/rpm

如果误删除包,可以加–force强制重新安装

rpm -ivh /xxxx/xxx --force

判断包是否合法

rpm -K tree-xxx #前提是需要导入key

#导入key
ll /etc/pki/rpm-gpg/

rpm --import /etc/pki/rpm-gpg/rxxxx

3 centos:yum&apt

  • yum的客户端使用
  • yum的自建仓库
  • 利用别人封装好的rpm包升级内核(使用yum)

3.1 centos的软件管理工具yum

3.1.3组成

1、server:

  • rpm包文件夹
  • repodate文件夹。是包信息的索引

2、client:

  • /etc/yum.conf
  • /etc/yum.repo.d/*.repo

3.2 yum客户端

yum客户端的配置文件位置

/etc/yum.cof
/etc/yum.repos.d/*.repo
3.2.1 配置网络路径:
#腾讯仓库
https://mirrors.cloud.tencent.com/centos/8/BaseOS/x86_64/os/

#清华仓库
https://mirrors.tuna.tsinghua.edu.cn/centos/8-stream/

#使用仓库的标准为,查看文件夹内是否含有目录repodate/,如果含有repodate/ 就使用这个目录即可.

vim /etc/yum.repo.d/base.repo

-------------------------------

[Base]
name=base
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/
gpgcheck=0


[Extra]
name=extra
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/7/extras/x86_64/
gpgcheck=0


[Epel]
name=epel
baseurl=https://repo.huaweicloud.com/epel/7/x86_64/
gpgcheck=0
~
3.2.2 本地光盘如何做镜像仓库
#安装自动挂在
[root@fyg cd]# yum install autofs -y
[root@fyg cd]# vim /etc/auto.master
/misc   /etc/auto.misc
[root@fyg cd]# systemctl start enable --now
#进入文件后会自动挂在
[root@fyg ~]# cd /misc/cd/
[root@fyg cd]# cd Packages/

#编辑.repo文件
[base] #如果是centos8就需要分开appstream和baseos
name=CentOS
baseurl=file:///misc/cd #本地光盘,事先fs挂在好.参考低第10章,软件包管理中的挂在
        https://mirrors.cloud.tencent.com/centos/7/os/x86_64/ #网上的数据腾讯云
        https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/ #网上的清华云
gpgcheck=0

yum的命令

查看自己有哪些源
yum repolist

3.3 利用httpd,搭建yum服务器

一般会搭建两个源,一个是光盘带有的rpm包源,一个是epel源

#前提准备
yum install httpd
systemctl enabled httpd --now
firewall-cmd --add-port=80/tcp
setenforce 0
mkdir /var/www/html/7
mkdir -r /var/www/html/7/x86_64/

#创建仓库
cp "光盘里的所有东西" /var/www/html/7/x86_64/ 


#如果没有repodata源数据的情况下。
yum install createrepo -y
#在rpm安装包目录。
createrepo .

#这样rpm这个安装包目录就可以成为你的yum源了
11.1.3.1、自建epel仓库
#事先配好epel源
reposync --repoid=epel --download-metadate -p /var/www/html

#执行完成后会出现一个epel子目录,这个子目录就是仓库指定路径
11.1.3.2、centos7删除干净安装的包. centos8是自动全部卸载的
#因为yum的时候,yum会安装依赖包,但是卸载的时候不会,所以这里说一下怎么删除干净数据包
yum history

#查看第10步是什么操作
yum history info xx

#把第10步里的操作全部卸载掉.
yum history undo 10 

#如果不应该卸载10的,那就
yum histoy redo 10
11.1.3.3、yum的缓存meta数据
#清理缓存
yum clearn all

3.4 yum重点掌握的参数

yum repolist install remove info list clean all provides

3.5 实例应用

3.5.1 实例:使用elrepo,升级内核

www.elrepo.org

#[centos7]
yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm

#更新一下
yum repolist

#启用elrepo.repo里面的kernel仓库,并查看
yum list *kernel*
yum install kernel-lt.x86_64

#安装好以后会有两个内核.一个本身的内核,一个是最新安装的内核,开机的时候可以选择.
uname -r

#卸载新内核,记得重启使用旧内核
yum history undo xxx
yum remove 
3.5.2 在一个不能上外网的机器上安装指定软件

这个软件依赖多,不仅是base源,还有epel源.

#能上网的机器,下载到指定目录下,这里是/data/
yum install nginx  --downloadonly=/data/

#把这个文件拷贝到不能上网的机器上去
rpm -ivh /data/*
#或
yum install /data/*.rpm

4 ubuntu的软件管理apt

是debian流派.

  • 类rpm的工具是dpkg.
  • 类yum的工具是apt

4.1、dpkg包管理器

-i:安装软件

-r:卸载

-l:列出已经安装的包

-s: 安装详情

-L: 安装的文件有哪些

-S:来源于哪个包

4.2、apt安装

仓库信息路径: /etc/apt/sources.list

只要把原来的xxx.ubuntu.com 换成国内的就行了

记得更新apt update

这个是删除不干净的,配置文件会留下来:apt remove

彻底删除程序,apt purge

apt list

查看软件的详细信息:apt show ls

查看软件的不同的版本:apt-cache madison

4.3 apt-file

#用正则表达式搜索,以/sl结尾的
apt-file search -x '/sl$'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值