Linux软件安装

软件管理

安装软件
rpm
yum
源码安装
​# wget -O [filename] url(#curl -o [filename] url)
卸载软件

一、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.需要考虑依赖关系

rpm安装

语法 # rpm -ivh 软件包名称 或 rpm -Uvh 软件包名称
-i install
-vh verbose human 详细模式,安装时输出hash记号
-U  upgrade  升级
-q query -a all 查询 (从本地的rpm数据库)
​
查找rpm包的网站:http://rpmfind.net/  http://pkgs.org
1.通过rpm安装
下载并保存到本地
# curl -o http://rpmfind.net/linux/centos/7.9.2009/os/x86_64/Packages/lftp-4.4.8-12.el7_8.1.x86_64.rpm 
或者
# wget http://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/n/ntfs-3g-2017.3.23-11.el7.x86_64.rpm
# rpm -ivh ntfs-3g-2017.3.23-11.el7.x86_64.rpm  #本地安装rpm包
2.直接通过连接安装rpm包
# rpm -ivh http://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/n/ntfs-3g-2017.3.23-11.el7.x86_64.rpm
3.查询
# rpm -qa | grep 软件名   # 查找软件是否安装

卸载

语法:# rpm -e 软件名称

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

二、yum方式管理

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

yum操作

安装好环境之后我们有centos自带的官方yum源,我们也可以自行更换或者制作自己的yum源
清理yum缓存:
    # yum clean all
缓存软件包信息:    
    提高搜索/安装软件的速度
    # yum makecache 
查询yum源信息:   
    # yum repolist         
查看命令所属的安装包
    # yum provides rz   
    # yum search rz
查看系统已经安装好的软件和没有安装的软件(源里存在即可查到):
    # yum list  
​列出所有可更新的软件包
    # yum list updates
列出所有已安装的软件包
    # yum list installed
查看指定程序包是否安装成功
    # yum list httpd
安装软件:
    # yum install 软件名称
    # yum install mysql mysql-server -y         #-y跳过确认提示直接安装
重装:
    # yum -y reinstall 软件名            
卸载软件:
    # yum erase  mysql-server  
    # yum -y remove mysql-server
yum卸载,
# yum -y remove `rpm -qa | grep httpd`  #rpm查找将所有与httpd相关的软件包全部卸载        

配置网络yum源--aliyun

--阿里yum源地址
https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b11WaK1yM  
验证网络是否可以连接阿里云镜像
ping mirrors.aliyun.com
(1)删除原Yum源
cd /etc/yum.repos.d    #yum源配置文件的存放路径
方法一:
rm -rf *
方法二:(稳妥备份)
mkdir /etc/yum.repos.d/back
mv *.repo back
(2)下载aliyun的yum源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo  
参数解释
curl -o  指定存放路径(http访问)
或者
wget -O 指定存放路径  下载链接
(3)安装扩展源--epel.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
查看是否安装成功
cd /etc/yum.repos.d/
ls
CentOS-Base.repo  epel.repo
(4)清除yum缓存
yum clean all
(5)缓存阿里云镜像
yum makecache
(6)查看yum源信息
yum repolist

本地镜像配置本地yum源

首先需要挂载镜像
# mkdir /mnt/centos7u4  #创建挂载点
将本地镜像上传到虚拟机中,可以通过鼠标拖拽
# mv /usr/local/home/dir10/CentOS-7-x86_64-DVD-1708.iso /root/
# mount CentOS-7-x86_64-DVD-1708.iso /mnt/centos7u4/
# rm -rf /etc/yum.repos.d/* #移除系统原有的yum仓库设置
# cd /etc/yum.repos.d/      #yum源配置文件存放目录
# 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                     #检查软件

yum排错 

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

三、源码包管理

一个软件要在Linux上执行,必须是二进制文件,因此当我们拿到软件源码后,需要将它编译成二进制文件才能在Linux上运行。
源码包的编译用到了linux系统里的编译器,通常源码包都是用C语言开发的,这也是因为C语言为linux上最标准的程序语言。Linux上的C语言编译器叫做gcc,利用它就可以把C语言变成可执行的二进制文件。
源码安装的优点,编译安装过程,可以设定参数按照需求增加功能,进行安装,并且可以指定安装的版本,可以指定安装路径,灵活性比较大。
获得源码包途径 官方网站,可以获得最新的软件包 mysql: MySQL/
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.27.tar.gz

Nginx: www.nginx.org

安装源码包 
准备工作(去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软件服务
实战:                                                                            
~]# wget http://nginx.org/download/nginx-1.16.1.tar.gz #下载安装包
~]# tar xzf nginx-1.16.1.tar.gz #编译
-v 显示解压过程,-C 指定解压路径:
# tar xzvf nginx-1.26.1.tar.gz -C /usr/local/
nginx-1.16.1]# ./configure --user=www --group=www --prefix=/usr/local/nginx                 #指定编译路径
nginx-1.16.1]# make  #编译文件
nginx-1.16.1]# make install  #安装文件
~]# useradd nginx  #创建nginx用户
~]# /usr/local/nginx/sbin/nginx  #启动nginx
~]# 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定义的文件路径安装,将产生的可执行文件,安装到合适的位置,相当于拷贝

四、源码安装错误

错误1: 缺少 zlib库
./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: 缺少 OpenSSL 库
./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
  • 21
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值