linux软件管理 第八章

rpm介绍

rpm软件包名称:
软件名称 版本号 (主版本、次版本、修订号) 操作系统 -----90%的规律
#有依赖关系,不能自动解决依赖关系。
举例:openssh-6.6.1p1-31.el7.x86_64.rpm  
数字前面的是名称
数字是版本号:第一位主版本号,第二位次版本号,带横杠的是修订号, el几---操作系统的版本。  
noarch : 32位64位都支持
x86_64 :  64位
i4-686的包 :32位
devel:表示这个RPM包是软件的开发包;
============================================================================

#用rpm安装需要考虑如下信息:
1.需要考虑系统的版本需要与rpm对应
2.系统的架构:如32位还是64位
3.需要考虑依赖关系

案例:
不同的操作系统,需要安装软件的版本,以及类型,肯定不相同;
Windows:httpd.exe
Linux:httpd.rpm

下载httpd.rpm包,下载到虚拟机上,rpm -ivh httpd.rpm 进行安装;
考虑httpd.rpm是否依赖于其他rpm包;
如果有依赖其他rpm包,rpm -ivh httpd.rpm单独安装,安装失败;
httpd.rpm依赖于httpd-devel.rpm
httpd-devel.rpm依赖于httpd-openssl.rpm

rpm -ivh httpd-openssl.rpm

rpm -ivh httpd-devel.rpm
rpm -ivh httpd.rpm

rpm安装方式,只能用来安装没有依赖关系的rpm包;

yum -y install httpd.rpm

rpm安装

1、wget rpm包的链接地址

[root@localhost ~]# wget http://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/n/ntfs-3g-2017.3.23-11.el7.x86_64.rpm

2、rpm -ivh rpm包

[root@localhost ~]# rpm -ivh ntfs-3g-2017.3.23-11.el7.x86_64.rpm

 或者直接rpm -ivh rpm包的链接地址

[root@localhost ~]# rpm -ivh http://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/n/ntfs-3g-2017.3.23-11.el7.x86_64.rpm

rpm的常用命令

rpm -qa |grep 软件名    #查询软件是否安装

rpm -ql httpd                 #查询httpd安装的文件

rpm -qf /usr/share/httpd/noindex  #查询该文件属于哪个软件包

rpm -qf /etc/passwd      #查询某个文件是哪个软件产生的:只能查询已经安装好的软件包

rpm -e 软件名称           #卸载

rpm工具管理软件包总结:
1. 很难解决包依赖关系
2. 如果某个文件没有,很难知道它由哪个rpm包提供

yum方式管理

#可以自动解决rpm软件依赖关系,虽然是通过yum安装的但是最后执行的还是rpm,也就是说没有rpm命令yum也就不能用了。
分类:本地yum源和远程yum源
本地yum:
file://

远程yum:
http://
ftp://

yum源配置文件:/etc/yum.repos.d/
163 、阿里云、腾讯云、清华云、百度云

虚拟机安装好后有centos自带的官方yum源,我们也可以自行更换或者制作自己的yum源

yum的常用命令

yum -y install    #下载

yum clean all 或者rm -rf /var/cache/yum  #清除yum缓存

yum repolist    #查看yum源信息

yum makecache   #缓存软件包信息 (可以提高搜索/安装软件的速度)

yum search      #查找软件   (此命令会搜索到系统已经安装和yum源里没有安装的软件信息,可以用他简单测试yum是否好用)

yum provides    #查询命令属于哪个软件

yum list   #查看系统已经安装好的软件和没有安装的软件(源里存在即可查到)

yum -y remove  yum -y erase#卸载

[root@localhost ~]# yum -y remove `rpm -qa|grep httpd`
反引号起着命令替换的作用。命令替换是指shell能够将一个命令的标准输出插在一个命令行中任何位置。

更换yum源


1、找到yum源的连接地址

2、将之前的yum源备份,wget -o /etc/yum.repos.d/Centos-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

3、下载扩展源wget -o etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

制作本地yum源
制作本地镜像yum源


1、将镜像上传的虚拟机,记住所在位置

2、将之前的yum源备份

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo
[root@localhost yum.repos.d]# mkdir back
[root@localhost yum.repos.d]# mv * back

3、创建挂载目录,挂载镜像

[root@localhost yum.repos.d]# mkdir /jingxiang
[root@localhost yum.repos.d]# mount 镜像设备 /jingxiang

4、编辑yum源的配置文件

[root@localhost yum.repos.d]# vim /etc/yum.repos.d/myyum.repo
[myyum]
name=myyum
baseurl=file:///jingxiang
enabled=1
gpgcheck=0

5、查看yum源信息

[root@localhost yum.repos.d]# yum repolist

通过开启yum下载缓存功能制作自己的yum源(了解即可)

1、开启yum下载缓存功能(可以下载几个软件测试使用)

[root@localhost yum.repos.d]# vim /etc/yum.conf
......
keepcache=1
......
[root@localhost yum.repos.d]# yum -y install 测试使用的软件

2、创建一个目录,将所有缓存包拷贝到该目录中,将该目录作为yum仓库

[root@localhost ~]# mkdir /myyum
[root@localhost ~]# cp /var/cache/yum/x86_64/7/base/packages/* /myyum

3、下载制作repo工具,将yum仓库的目录制作为yum源

[root@localhost ~]# yum -y install createrepo
[root@localhost ~]# createrepo /myyum

4、编辑yum源的配置文件

[root@localhost ~]# vim /etc/yum.repos.d/myyum.repo
[myyum]
name=myyum
baseurl=file:///myyum
enabled=1
gpgcheck=0

5、将之前的yum源备份,只留下myyum.repo,将测试使用的软件卸载

[root@localhost ~]# cd /etc/yum.repos.d
[root@localhost yum.repos.d]# mkdir back
[root@localhost yum.repos.d]# mv * back    (记得留下myyum.repo)
[root@localhost ~]# yum -y remove 测试软件

6、重新下载测试使用的软件,看能不能下载

[root@localhost ~]# yum -y install 测试软件

yum排错:
1.yum配置文件必须以.repo结尾      
2.yum.conf里面8,9行的值设置成0
3.配置文件关键字错误
4.检查yum源是否存在
5.baseurl路径是否正确
6.镜像大小是否正确
7.当有Yum进程存在的时,无法同时再打开一个Yum进程

源码包管理

一个软件要在Linux上执行,必须是二进制命令文件,因此当我们拿到软件源码包后,需要将它编译成二进制命令文件才能在Linux上运行。
源码包的编译用到了linux系统里的编译器,通常源码包都是用C语言开发的,这也是因为C语言为linux上最标准的程序语言。Linux上的C语言编译器叫做gcc,利用它就可以把C语言变成可执行的二进制文件。

源码安装的优点,编译安装过程,可以设定参数按照需求增加功能,进行安装,并且可以指定安装的版本,可以指定安装路径,灵活性比较大。

编译安装nginx

1、获取nginx的软件压缩包(在官网上可以找到),安装编译工具。

[root@localhost ~]# wget http://nginx.org/download/nginx-1.18.0.tar.gz
[root@localhost ~]# yum -y install gcc make zlib-devel pcre pcre-devel openssl-devel 

 2、解压

[root@localhost ~]# tar zxvf nginx-1.18.0.tar.gz

3、编译并安装文件

[root@localhost ~]# cd nginx-1.18.0/
[root@localhost nginx-1.18.0]# ./configure --user=www --group=www --profix=/usr/local/nginx
[root@localhost ~]# make && make install

4、创建nginx用户

[root@localhost ~]# useradd www 

5、关闭防火墙selinux,启动nginx

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# /usr/local/nginx/sbin/nginx

6、用Windows浏览器访问虚拟机ip地址

源码安装三步曲

# ./configure   #相对路径执行安装

 a. 指定安装路径,例如 --prefix=/usr/local/nginx     
 b. 检查安装环境,例如是否有编译器gcc,是否满足软件的依赖需求    最终生成:Makefile
 c. 软件模块或者功能的启用禁用

#make              //按Makefile文件编译,产生可执行的文件。但是这个文件在当前目录中

#make install        //按Makefile定义的文件路径安装,将产生的可执行文件,安装到合适的位置,相当于拷贝

 

局域网远程yum源制作(企业案例)----扩展作业

准备两台虚拟机

服务端1192.168.242.133

客户端192.168.242.128

1、两台虚拟机互相ping一下对方,测试是否可以通信,关闭防火墙和selinux

服务端
[root@localhost ~]# ping 192.168.242.128
PING 192.168.242.128 (192.168.242.128) 56(84) bytes of data.   #可以通信
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
 
客户端
[root@localhost ~]# ping 192.168.242.133
PING 192.168.242.133 (192.168.242.133) 56(84) bytes of data.  #可以通信
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0

2、服务端制作本地镜像yum源 

[root@localhost ~]# mkdir /mnt/centos7u4
[root@localhost ~]# mount 镜像设备 /mnt/centos7u4
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir back
[root@localhost yum.repos.d]# mv * back
[root@localhost ~]# vim /etc/yum.repos.d/myyum.repo
[centos7u4]
name=centos7u4
baseurl=file:///mnt/centos7u4
enabled=1
gpgcheck=0
[root@localhost ~]# yum clean all
[root@localhost ~]# yum makecache
[root@localhost ~]# yum repolist
 

3、下载vsftpd,启动,把挂载目录中的文件全部拷贝到vsftpd的默认共享目录

[root@localhost ~]# yum -y install vsftpd
[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# cp /mnt/centos7u4/* /etc/ftp/pub/

4、下载createrepo工具,将pub/目录制作成yum源

[root@localhost ~]# yum -y install createrepo
[root@localhost ~]# createrepo /etc/ftp/pub

客户端上的操作:

5、将之前的yum源备份

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir back
[root@localhost yum.repos.d]# mv * back

6、编写yum源的配置文件

[root@localhost ~]# vim /etc/yum.repos.d/ftp.repo
[ftp]
name=ftp
baseurl=:ftp://192.168.242.133:/pub
enabled=1
gpgcheck=0
[root@localhost ~]# yum clean all
[root@localhost ~]# yum makecache
[root@localhost ~]# yum repolist

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值