前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >软件管理

软件管理

作者头像
用户8639654
修改2021-08-18 17:55:51
2K0
修改2021-08-18 17:55:51
举报
文章被收录于专栏:云计算运维

导语:

代码语言:javascript
复制
 安装软件
 rpm
 yum
 源码安装
 ​
 卸载软件

一、rpm介绍

代码语言:javascript
复制
 rpm软件包名称:
 软件名称 版本号(主版本、次版本、修订号) 操作系统 -----90%的规律
 #有依赖关系,不能自动解决依赖关系。
 举例:openssh-6.6.1p1-31.el7.x86_64.rpm  
 数字前面的是名称
 数字是版本号:第一位主版本号,第二位次版本号,带横杠的是修订号, el几---操作系统的版本。  
 ======
 ​
 #用rpm安装需要考虑如下信息:
 1.需要考虑系统的版本需要与rpm对应
 2.系统的架构:如32位还是64位
 3.需要考虑依赖关系

rpm安装

代码语言:javascript
复制
 语法 # rpm -ivh 软件包名称
 -i install
 -vh verbose human
 -U  upgrade  升级
 ​
 查找rpm包的网站:http://rpmfind.net/  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 指定存放路径
 [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

各种查询

代码语言:javascript
复制
 ==查询   
 (从本地的rpm数据库)
 -q query
 -l list
 -f file
 -a all
 [root@linux-server ~]# rpm -qa | grep 软件名    # 查找软件是否安装
 [root@linux-server ~]# rpm -ql httpd           #查询http安装的文件
 [root@linux-server ~]# rpm -qf /usr/share/httpd/noindex     #查询该文件属于哪个包
 [root@linux-server ~]# rpm -qf /etc/passwd  #查询某一个文件是哪个软件产生的:只能查询已经安装好的软件

卸载

代码语言:javascript
复制
 语法:# rpm -e 软件名称
 -e erase
 [root@linux-server ~]# rpm -e httpd
 rpm工具管理软件包总结:
 1. 很难解决包依赖关系 
 2. 如果某个文件没有,很难知道它由哪个rpm包提供

二 yum方式管理

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

yum操作

代码语言:javascript
复制
 安装好环境之后我们有centos自带的官方yum源,我们也可以自行更换或者制作自己的yum源
 ​
 清理yum缓存:
     # yum clean all
 ​
 缓存软件包信息:    
     提高搜索/安装软件的速度
     # yum makecache
     
 查询yum源信息:   
     # yum repolist     
         
 查找软件:
     # yum search  mysql   
     此命令会搜索到系统已经安装和yum源里没有安装的软件信息,可以用他简单测试yum是否好用
 ​
 查看命令属于哪个软件
     # yum provides rz    
 ​
 查看系统已经安装好的软件和没有安装的软件(源里存在即可查到):
     # yum list  
 ​
 安装软件:
     # yum install 软件名称
     # yum install mysql mysql-server -y         //-y跳过确认提示直接安装
 ​
 重装:
     # yum -y reinstall 软件名        
     
 卸载软件:
     # yum erase  mysql-server 
     # yum remove mysql-server 
     # yum -y remove mysql-server
 [root@linux-server ~]# yum -y remove `rpm -qa | grep httpd`  #yum卸载rpm查找出来所有与httpd相关的软件包全部卸载掉

更换网络yum源--aliyun

代码语言:javascript
复制
https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b11WaK1yM  --阿里yum源地址
 [root@linux-server ~]# cd /etc/yum.repo.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源方式

1.通过镜像制作本地yum源:

代码语言:javascript
复制
 首先需要挂载镜像
 [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 #检查软件

三 源码包管理

代码语言:javascript
复制
 而一个软件要在Linux上执行,必须是二进制文件,因此当我们拿到软件源码后,需要将它编译成二进制文件才能在Linux上运行。
 源码包的编译用到了linux系统里的编译器,通常源码包都是用C语言开发的,这也是因为C语言为linux上最标准的程序语言。Linux上的C语言编译器叫做gcc,利用它就可以把C语言变成可执行的二进制文件。
 源码安装的优点,编译安装过程,可以设定参数按照需求增加功能,进行安装,并且可以指定安装的版本,可以指定安装路径,灵活性比较大。

获得源码包途径 官方网站,可以获得最新的软件包

mysql: http://www.mysql.com/

代码语言:javascript
复制
 wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.27.tar.gz

Nginx: www.nginx.org

代码语言:javascript
复制
 安装源码包 
 准备工作(去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 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
代码语言:javascript
复制
 详解源码安装三步曲 
 # ./configure   #相对路径执行安装
 ​
  a. 指定安装路径,例如 --prefix=/usr/local/nginx     
  b. 检查安装环境,例如是否有编译器gcc,是否满足软件的依赖需求    最终生成:Makefile
  c. 软件模块或者功能的启用禁用
 ​
 #make             //按Makefile文件编译,产生可执行的文件。但是这个文件在当前目录中
 ​
 #make install       //按Makefile定义的文件路径安装,将产生的可执行文件,安装到合适的位置,相当于拷贝

四 源码安装错误(企业案例):

代码语言:javascript
复制
 错误1: ./configure: error: the HTTP gzip module requires the *zlib* library. You can either disable the module by using --without-http_gzip_module option, or install the zlib library into the system, or build the zlib library statically from the source with nginx by using --with-zlib=<path> option. 
 ​
 解决方案: 
 # yum -y install zlib-devel
 错误2: ./configure: error: SSL modules require the *OpenSSL* library. You can either do not enable the modules, or install the OpenSSL library into the system, or build the OpenSSL library statically from the source with nginx by using --with-openssl=<path> option. 
 ​
 解决方案: # yum -y install openssl-devel

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、rpm介绍
  • rpm安装
  • 二 yum方式管理
  • 制作本地yum源方式
    • 三 源码包管理
      • 四 源码安装错误(企业案例):
      相关产品与服务
      云数据库 SQL Server
      腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档