Linux——包源管理工具
一、概要
Linux下的包/源管理命令:主要任务就是完成在Linux环境下的安装/卸载/维护软件。
1.rpm 是最基础的rpm包的安装命令,需要提前下载相关安装包和依赖包。
2.yum/dnf (最好用)是基于rpm包的自动安装命令,可以自动在仓库中匹配安装软件和依赖包。
以上是安装指令,以下是安装源。
3光盘源是指的 安装系统时候的操作系统光盘,它里面有很多自带的常用软件安装包,定位于当前
4.局域网源是指本地局域网不便连接互联网,而且客户机都在局域网内,定位于网内自建仓库局部
5.互联网源是指当前主机可以直接外接互联网,通过外网提供的的仓库完成在线安装软件。
6.源码安装是指从互联网下载相关软件的源代码,在本机上进行配置,编译,安装的过程。
二、离线管理rpm命令
rpm命令来自英文词组redhat package manager的缩写,中文译为“红帽软件包管理器”,
其功能是在Linux系统下对软件包进行安装、卸载、查询、验证、升级等工作,
常见的主流系统(如RHEL、Cent0s、Fedora等)都采用这种软件包管理器,
推荐用固定搭配“rpm -ivh 软件包名"安装软件
而卸载软件则用固定搭配“rpm -evh 软件包名”
语法格式:
rpm 参数 软件包名
使用实例:
rpm -ivh cockpit-185-2.el8.x86_64.rpm #正常安装软件包,需要提前下载rpm文件
rpm -evh cockpit-185-2.el8.x86_64.rpm #卸载
-i 安装软件包
-v 显示执行过程信息
-h 安装软件包时显示标记信息
rpm -ivh gthumb-3.12.4-1.1.x86 64.rpm #安装需要依赖
rpm -evh --nodeps(--force强制卸h) gthumb-3.12.4-1.1.x86 64.rpm #卸载忽略依赖
三、本地源管理yum命令
该命令自动解决文件依赖关系,一次性安装所需全部软件,从指定的服务器自动下载、更新、删除软件包。
语法格式: yum 参数 动作 软件包
常用参数:
install | 安装软件包 | clean | 清理过期缓存 |
update | 更新软件包 | shell | 设置使用shell提示符 |
remove | 删除软件包 | localinstall | 安装本地软件包 |
list | 显示软件包的信息 | localupdate | 更新本地软件包 |
check-update | 检查有无可用的更新软件包 | rerolvedep | 显示软件包的依赖关系 |
search | 搜索指定软件包 | deplist | 显示软件包的依赖关系 |
info | 显示指定软件包的信息 |
参考示例:(无仓库时不能使用)
yum clean all #清理原有仓库信息
yum makecache #建立最新的软件仓库信息缓存
默认源:/etc/yum.repos.d/redhat.repo
yum (-y不提示) install httpd #安装指定的服务及相关安装包
以上为命令,若没有搭建本地源,以上所有代码均无法使用。
四、本地光盘仓库搭建过程
1.虚拟机加载并连接系统安装光盘
2.挂在光盘到本地临时目录:
mount /dev/sr0 /mnt/ #挂在光盘到本地临时目录
mount——挂载命令,可以将指定文件挂在到另一个位置
sr0是dev目录下的光盘文件
若成功,则/mnt/目录中为:
如果挂在失败,要主动断开 unmount /mnt
3.如果有文件就备份本地原有配置
cd /etc/yum.repo.d/ #进入本地配置目录
mkdir bak #创建一个备份目录
mv *.repo ./bak/ #将原来的repo资源拷贝到当前bak目录中
4.创建新的本地配置文件
注:要使用root用户 su root
vim local.repo #创建本地配置文件
写入:
本地源配置信息
[RHEL9-BaseOS]
name=RHEL9-BaseOS
baseurl=file:///mnt/BaseOS
gpgcheck=0[RHEL9-AppStream]
name=RHEL9-AppStream
baseurl=file:///mnt/AppStream
gpgcheck=0
5.刷新缓存
yum clean all
yum makcache
以上yum本地光盘元仓库创建成功
6.测试安装软件
yum install httpd
五、局域网源架设过程
局域网yum源配置:建设一个本地网络仓库给本地局域网用户提供下载安装。
互联网yum源配置:在线获取最新安装文件的通道。
1.环境搭建:
两台虚拟机:192.168.68.99 client
192.168.68.129 server
2.配置服务器端:提供yum安装服务
192.168.68.129 server
操作流程
su root #切换为管理员身份
yum install -y httpd #安装并启动httpd
setenforce 0 #关闭SELinux
getenforce #查看当前情况 Permissive#关闭状态 Enforcing#开启状态
systemctl stop firewalld #临时关闭防火墙
systemctl status firewalld #查看防火墙状态,空圈为关闭,绿点为打开
q按键退出查看状态命令
httpd服务的目录在 var/www/html中
cd var/www/html #进入该目录
mkdir rhiso #创建httpd的工作目录
mount /dev/sr0 var/www/html/rhiso #将光盘挂载到rhiso
systemctl restart httpd.service # 重启httpd
systemctl status httpd #查看状态
在本地浏览器中输入本机ip/rhiso http://192.168.68.129/rhiso/
或http://127.0.0.1/rhiso/ #本机回环地址
出现下面页面表示服务器端配置完成:
中文乱码解决方法:在/etc/httpd/conf/httpd.conf
配置文件中加入 IndexOptions Charset=UTF-8
3.配置客户端:访问服务端的yum源
192.168.68.99 client
当在上一台机器已经配置好httpd后,我们选择同一网段内的其他机器配置yum源去访问此台服务器
测试一下客户机与服务端的联通情况 ping 192.168.68.129
su root #切换管理员
cd /etc/yum.repos.d/
vim network.repo 加入如下内容:
#本地局域网配置:vim network.repo文件中的内容 [RHEL9-BaseOS] name=RHEL9-BaseOS baseurl=http://192.169.68.129/rhiso/BaseOS gpgcheck=0[RHEL9-AppStream] name=RHEL9-AppStream baseurl=http://192.168.68.129/rhiso/AppStream gpgcheck=0
其中ip地址为服务端的IP地址
4.测试(客户端在服务器端下载)
yum clean all #清理就缓存
yum makcache #建立新缓存
yum repolist #查看仓库列表
yum install telnet #在服务器端下载telnet
注意:用户端一定不能有本地源
五、建立第三方互联网络源
CSDN上收集的各个版本的REHL的镜像地址:
Redhat系列系统在线镜像源-CSDN博客
操作流程:
su root
cd /etc/yum.repo.d/
vim aliyun.repo #阿里云
写入以下内容:
#互联网源配置 [BaseOS] name=BaseOS baseurl=https://mirrors.aliyun.com/centos-stream/9-stream/BaseOS/x86_64/os/ gpgcheck=0[AppStream] name=AppStream baseurl=https://mirrors.aliyun.com/centos-stream/9-stream/AppStream/x86_64/os/ gpgcheck=0
yum makcache #创建新缓存
验证能否安装:
yum install gcc -y #下载c语言编译器
gcc hello.c #编译事先准备好的c语言程序,编译完成后会生成一个可执行文件a.out
./a.out #执行程序
yum install gthumb #安装失败没有资源
#下载扩展源
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
再次下载就可以安装了
gthumb test.png #测试提前准备的图片
成功
yum install -y sl #有趣的玩具,ls写成sl时会跑出个小火车
yum install tmux #多终端
yum install git #管理控制
git clone https://github.com/dustinkirkland/hollywood.git #克隆github上的文件
收尾:
cd /etc/yum.repos.d
mkdir ./bak
mv local.repo ./bak
mv network.repo ./bak
mv redhat.repo ./bak
六、源码管理命令
源码安装三部曲:
第一步:./configure(定制组件)
指定安装路径,例如:--prefiix=/opt/nginx-1.12
启用或禁用某项功能,例如L:--enable--ssl
和其它软件关联,例如:-with-pcre
检查安装环境,例如是否由编译器gcc,是否满足软件的依赖需求
检查通过后生成Makefile文件
第二步:make(生成程序)
执行make命令进行编译,可以使用-j指定CPU核心数进行编译
按Makefile文件进行编译,编译成可执行的二进制文件
生成各类模块和主程序
第三步:make install
按照Makefile定义好的路径拷贝至安装目录中
举例练习源码包编译:(nginx)
0、先停止httpd服务(httpd与nginx都用的时80端口会有冲突)
systemctl stop httpd.services
1、基础环境准备:
编辑器:yum -y install gcc gcc-c++ make wget
依赖包:yum -y install zlib zlib-devel openssl pcre pcre-devel
2.下载安装包
cd /usr/src
wget http://nginx.org/download/nginx-1.12.2.tar.gz
3.解压源码包并进入相应的目录
tar -zxvf nginx-1.12.2.tar.gz
cd nginx-1.12.2
4.配置相关选项,并生成Makefile
./configure --prefiix=/opt/nginx-1.12
5.编译并安装
make #开始编译源码
make install
6.建立软连接
ln -s /usr/src/nginx-1.12.2 /opt/nginx
7.测试效果
cd objs
./nginx
打开浏览器,输入127.0.0.1
成功