Linu基础笔记10软件管理

1.安装软件

        rpm

        yum

        源码安装

一.rpm介绍

        有依赖关系不能自动解决依赖关系。

        rpm -ivh 软件包名称

        -i install

        -vh verbose human

        -u upgrade 升级

        查找rpm包的网站:http://rpmfind.net/  http://pkgs.org

        wget  # 下载

        wget -o 指定下载路径

各种查询

(从本地的rpm数据库)

-q query 查询

-l list

-f file

-a all

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

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

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

卸载

rpm -e 软件名 

        -e erase

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

二.yum方式管理

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

yum配置文件:/etc/yum.repos.d/

yum操作

1. 清理yum缓存

        yum clean all

2.缓存软件包信息,提高软件搜索或安装速度

        yum makecache

3.查看yum源信息

        yum repolist

4.查询软件

        yum search mysql 

5.查询命令属于哪个软件

        yum provides rz

6.查询系统已经安装和没有安装的软件

        yum list

7.安装和重装

        yum install

        yum reinstall

8.卸载软件

        yum erase 软件名

        yum remove 软件名

更换网络yum源

        [root@linux-server ~]# cd /etc/yum.repos.d
        [root@linux-server yum.repos.d]# mkdir back
        [root@linux-server yum.repos.d]# mv *.repo back
        [root@linux-server yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo         http://mirrors.aliyun.com/repo/Centos-7.repo  #下载aliyun的yum源
        参数解释
        curl -o  指定存放路径
                或者
        wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos- 7.repo
        安装扩展源–epel.repo
        [root@linux-server ~]# wget -O /etc/yum.repos.d/epel.repo         http://mirrors.aliyun.com/repo/epel-7.repo
        [root@linux-server ~]# cd /etc/yum.repos.d/
        [root@linux-server yum.repos.d]# ls
        CentOS-Base.repo  epel.repo

通过镜像制作本地yum源:

        首先需要挂载镜像
        [root@linux-server ~]# mkdir /mnt/centos7u4
        将本地镜像上传到虚拟机中
        [root@linux-server ~]# mv /usr/local/home/dir10/CentOS-7-x86_64-DVD-1708.iso /root/
        [root@linux-server ~]# mount CentOS-7-x86_64-DVD-1708.iso /mnt/centos7u4/
        [root@linux-server ~]# rm -rf /etc/yum.repos.d/*
        [root@linux-server ~]# cd /etc/yum.repos.d/   #yum源配置文件存放目录
        [root@linux-server yum.repos.d]# vim CentOS.Base.repo  #在编写yum配置文件是必须是.repo
        [centos7u4]  #yum源区别名称,用来区分其他的yum源
        name=centos7u4  #yum源描述   yum源名字
        baseurl=file:///mnt/centos7u4  #指定本地yum源的路径
        enabled=1  #是否使用此yum源(1为打开,0为关闭)
        gpgcheck=0 #检查软件

2.通过开启yum下载缓存功能制作自己的yum源

        制作自己的yum源:
        打开Yum缓存功能:安装完软件之后,软件不会被删除(默认安装完之后,不会保留安装包)
        先用网站yum源,记得清空yum缓存
        [root@linux-server ~]# rm -rf /var/cache/yum
        [root@linux-server ~]# vim /etc/yum.conf  修改下面参数的值为1,软件会被保存到cachedir指定的目录下
        keepcache=1
        [root@linux-server ~]# yum install -y mariadb wget
        [root@linux-server ~]# cd /var/cache/yum/x86_64/7/base/packages/  #yum缓存仓库
        [root@linux-server packages]# ls
        mariadb-5.5.68-1.el7.x86_64.rpm        wget-1.14-18.el7_6.1.x86_64.rpm

        自己制作yum源
        [root@linux-server ~]# mkdir /myyum   (把rpm安装包放到此目录里面)
        把想用yum安装的软件包拷贝到目录下
        [root@linux-server ~]# cp /var/cache/yum/x86_64/7/base/packages/* /myyum/
        [root@linux-server ~]# yum install -y createrepo  #创建repo文件工具
        [root@linux-server ~]# createrepo /myyum         //此目录就可以作为yum源了。
        [root@linux-server ~]# vim /etc/yum.repos.d/myyum.repo
        [myyum]
        name=myyum
        baseurl=file:///myyum
        enabled=1
        gpgcheck=0
        [root@linux-server ~]# yum repolist
        [root@linux-server ~]# yum -y install wget

源码安装

        安装源码包 
        准备工作(去Nginx官网下载Nginx软件的源码包) 
        1.编译环境如编译器gcc、make 
        # yum -y install gcc make zlib-devel pcre pcre-devel openssl-devel  #编译环境的准备

        gcc是编译工具,编译单个文件
        make工具可以看成是一个智能的批处理工具,通过调用makefile文件中用户指定的命令来进行编译和链接的。(将这种高级语言写的代码编译成二进制语言)
        pcre支持正则表达式
        zlib-devel,有些应用依赖于这个库才能正常运行,因此需要安装zlib-devel
        openssl-devel 某些库文件等跟开发相关的东西。

        2. 准备软件 nginx-1.16.0.tar.gz 
        3. 部署安装Nginx软件服务

        实战:                                                                            
        [root@linux-server ~]# wget http://nginx.org/download/nginx-1.16.1.tar.gz
        [root@linux-server ~]# tar xzf nginx-1.16.1.tar.gz
        [root@linux-server ~]# cd nginx-1.16.1/
        [root@linux-server nginx-1.16.1]# ./configure –user=www –group=www –prefix=/usr/local/nginx  #配置
        [root@linux-server nginx-1.16.1]# make  #编译文件
        [root@linux-server nginx-1.16.1]# make install  #安装文件
        [root@linux-server ~]# useradd www   #创建nginx用户
        [root@linux-server ~]# /usr/local/nginx/sbin/nginx  #启动nginx
        [root@linux-server ~]# systemctl stop firewalld  #关闭防火墙

        停止nginx
        [root@linux-server nginx-1.16.1]# /usr/local/nginx/sbin/nginx -s stop

详解源码安装三步曲 
        # ./configure   #相对路径执行安装

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

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

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

        

局域网远程yum源制作

        

操作系统:centos7.4

资源: CentOS-7-x86_64-DVD-1708.iso镜像

实验服务器两台:

192.168.246.170  (作为vsftpd服务端)

192.168.246.169  (客户端)
 
首先测试两台主机可否ping通
 
在192.168.246.170上操作
[root@192 ~]# ping 192.168.246.169
PING 192.168.246.169 (192.168.246.169) 56(84) bytes of data.
64 bytes from 192.168.246.169: icmp_seq=1 ttl=64 time=0.644 ms
[root@192 ~]# systemctl stop firewalld
[root@192 ~]# setenforce 0  #关闭selinux

在192.168.246.169上操作:
[root@linux-server ~]# ping 192.168.246.170
PING 192.168.246.170 (192.168.246.170) 56(84) bytes of data.
64 bytes from 192.168.246.170: icmp_seq=1 ttl=64 time=0.374 ms
[root@linux-server ~]# systemctl stop firewalld
[root@linux-server ~]# setenforce 0

==========================================================
在192.168.246.170上操作—制作本地yum源,作为yum服务端

将CentOS-7-x86_64-DVD-1708.iso 上传到/opt目录下

[root@192 ~]# mkdir /opt/yum-iso   #创建挂载点

[root@192 ~]# mount /opt/CentOS-7-x86_64-DVD-1708.iso /opt/yum-iso/

[root@192 ~]# yum install -y vsftpd

[root@192 ~]# systemctl start vsftpd

[root@192 ~]# cp -r /opt/yum-iso/* /var/ftp/pub/

[root@192 ~]# cd /var/ftp/

[root@192 ftp]# yum install -y createrepo

[root@192 ftp]# createrepo pub/

[root@192 ftp]# cd /etc/yum.repos.d/
[root@192 yum.repos.d]# vim myyum.repo
[ftpYum]
name=ftpYum
baseurl=file:///opt/yum-iso
enabled=1
gpgcheck=0
[root@192 yum.repos.d]# yum clean all
[root@192 yum.repos.d]# yum makecache
[root@192 yum.repos.d]# yum repolist 
===================================================================
yum客户端
在192.168.246.169上操作:
[root@linux-server ~]# cd /etc/yum.repos.d/
[root@linux-server yum.repos.d]# vim my.repo
[ftpYum]
name=centos
baseurl=ftp://192.168.246.170/pub
enabled=1
gpgcheck=0
[root@linux-server yum.repos.d]# yum clean all
[root@linux-server yum.repos.d]# yum makecache
[root@linux-server yum.repos.d]# yum repolist

来源:云水城彭于晏

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年6月3日
下一篇 2021年6月3日

相关推荐