目录
四、源码包管理
一、rpm 介绍
rpm 软件包名称:
软件名称 版本号 (主版本、次版本、修订号)操作系统
不能自动解决依赖关系
举例:openssh-6.6.1p1-31.el7.x86_64.rpm
数字前面的是名称 数字是版本号 :第一位主版本号,第二位次版本号,带横杠的是修订号, el 几-------操作版本的系统
用rpm 安装需要考虑如下信息:
1. 需要考虑系统的版本需要与rpm 对应
2. 系统的架构:如32位还是64位
3. 需要考虑依赖关系
1.1rpm 安装
ypm -ivh 软件包名称
-i install
-vh verbose human
-u upgrade
查找rpm 包的网站 :Rpmfind mirror http://pkgs.org
1.通过rpm 安装
可以先下载下来
[root@linux-server ~]# wget http://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/n/ntfs-3g-2017.3.23-11.el7.x86_64.rpm
#wget 下载命令
#wget -o 指定存放路径
#crul 下载地址 -o 另存为的地址
[root@linux-server ~]# rpm -ivh ntfs-3g-2017.3.23-11.el7.x86_64.rpm #本地安装rpm包
2.直接通过连接安装rpm 包
[root@linux-server ~]# rpm -ivh http://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/n/ntfs-3g-2017.3.23-11.el7.x86_64.rpm
1.2各种查询
rpm -qa 展示出来下载的全部安装包
-q query
-l list
-f file
-a all
rpm -qa |grep 软件名 查找软件是否安装
rpm -ql httpd 查询http 安装的文件
rpm -qf /usr/share/httpd/noindex 查询该文件属于哪个包zhi
rpm -qf /etc/passwd 查询某一个文件是那个软件产生的 ;只能查询已经安装好的软件
卸载
rpm -e 软件名称
-e erase
rpm 工具管理软件包总结
-
很难解决包依赖关系
-
如果某个文件没有,很难知道它由哪个rpm 包提供
二、yum 方式管理文件
#可以自动解决rpm软件依赖关系,虽然是通过yum安装的但是最后执行的还是rpm,也就是说没有rpm命令yum也就不能用了。
文本传输协议
分类:本地yum和远程yum
本地yum:
file://
远程yum:
http:// 超文本传输协议
ftp://
2.1yum 操作
安装好环境之后我们有centos自带的官方yum源,我们也可以自行更换或者制作自己的yum源
yum clean all 清理yum 缓存
yum makecache 缓存软件包信息 提高搜索/安装软件的速度
yum repolist 软件包地址列出 缓存后显示
yum provides rz #根据命令查看安装包名
yum list
yum install 软件名称 -y
yum -y reinstall 软件名
yum erase 软件名
yum remove 软件名 -y
yum -y remove
`rpm -qa | grep httpd`
(反单引号)yum 卸载rpm 查找出来的所有与 httpd 相关的软件包全部卸载掉
2.2更换网络yum源 --aliyun
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
整体思路:
切换至放有yum 源仓库的目录即 /etc/yum.repos.d
创建一个back目录
mv *.repo ./back
下载所需yum 源
wget -O /etc/yum.repos.d/ 及以*.repo结尾 (存放路径 ) 下载链接
yum clean all && yum repolist
#cd /etc/yum.repos.d (切换至yum.repos.d目录)
#mkdir back (做个备份)
#mv *.repo back
#wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo (下载到CentOS-Base.repo *必须是.repo 否则无效)
#curl -o 指定存放路径
安装扩展源 --epel.repo
#wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
#cd /etc/yum.repos.d
三、制作本地yum 源方式
3.1 挂载镜像
整体思路:
上传镜像 在/mnt下创建挂载目录
使用mount挂载镜像 mount 挂载设备 挂载点(即目录)
此时yum源仓库可用
切换至/etc/yum.repos.d 即放置yum源仓库的目录 创建 back 目录 (这一步是防止冲突)
将该目录下的*.repo移动到back目录下
仓库有了 现在需要找到它 在放置yum源仓库的目录下 创建一个配置文件 该配置文件必须以.repo结尾
vim XXX.repo
[标签] ------>yum 源区别名称,用来区别其他的yum源
name=
baseurl=file://镜像所在位置绝对路径 (本地用file://)
gpgcheck=0 关闭检查
enabled=1 可不写默认开启 (是否使用词yum 源)
:wq 保存退出
yum clean all && yum repolist
-------------------------------------
umount /mnt/CentOS7 (取消挂载)
3.2通过开启yum下载缓存功能制作自己的yum源
整体思路:
开启保存缓存 /etc/yum.conf keepcache=1
(开启后下载rpm包,安装后软件不会删除)
建立缓存目录
将缓存数据(元数据)复制到该目录下 此时该目录是普通目录 不能生效
通过 createrepo 目录位置
使该目录生效, 切换到 /etc/yum.reposd/ 创建一个配置文件(*.repo)[标签] 名字 baseurl yum源仓库指向地址 gpgcheck 关闭0
使用find (范围) -name "httpd" | xargs -i mv { } 指定目录的位置
四、源码包管理
整体思路:
配置(configure) 编译 (make) 安装 (make install)
设置编译环境 (源码包一般由c语言组成,虚拟机使用的是二进制文件)
yum -y install gcc make zlib-devel pcre pcre-devel openssl-devel
下载源码包
wget -O 存放位置 链接
解压缩
tar xzf 文件
进入解压后的目录
开始编译
./configure --prefix=/usr/local/nginx --user=qqq --group=qqq
(服务必须要有一个用户才能开启)
创建用户
useradd qqq
开始编译 (在解压目录下)
make
开始安装
make install
/usr/local/nginx/sbin/nginx 启动nginx
systemctl stop firewalld
停止
在解压缩目录下
/usr/local/nginx/sbin/nginx -s stop