linux常用命令之软件管理

安装软件的三种方式:
1、rpm
2、yum
3、源码安装

卸载软件

一、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 软件包名称
-i install
-vh verbose human
-U upgrade 升级

查找rpm包的网站:http://rpmfind.net/ http://pkgs.org
##1.通过rpm安装
可以先下载下来
[root@linux-server ~]# wget http://mirror.centos.org/centos/7/os/x86_64/Packages/unzip-6.0-21.el7.x86_64.rpm
#wget下载命令
#wget 下载地址 -O 指定存放路径

#curl 下载地址 -o 另存为的文件路径

[root@linux-server ~]# rpm -ivh unzip-6.0-21.el7.x86_64.rpm #本地安装rpm包

##2.直接通过连接安装rpm包
[root@linux-server ~]# rpm -ivh http://mirror.centos.org/centos/7/os/x86_64/Packages/unzip-6.0-21.el7.x86_64.rpm
各种查询
==查询
(从本地的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 #查询某一个文件是哪个软件产生的:只能查询已经安装好的软件
卸载
语法:# rpm -e 软件名称
-e erase的意思
[root@linux-server ~]# rpm -e httpd
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 list

安装软件:
# yum -y install 软件名称

例如:
# yum -y install httpd            //-y跳过确认提示直接安装

重装:
# yum -y reinstall 软件名

卸载软件:
# yum erase 软件名
# yum remove 软件名

例如:
# yum -y remove httpd

更换网络yum源–aliyun
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源
首先需要挂载镜像
[root@linux-server ~]# mkdir /mnt/centos7u4
将本地镜像上传到虚拟机中的/root目录中

#语法: mount 挂载设备 挂载点

[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缓存功能:安装完软件之后,软件不会被删除(默认安装完之后,不会保留安装包)
#vim /etc/yum.conf 修改下面参数的值为1,软件会被保存到cachedir指定的目录下
keepcache=1
[root@linux-server ~]# yum install -y httpd

[root@linux-server ~]# mkdir /yum_cache

[root@linux-server ~]# find /var/cache/yum/ -name “*.rpm” | xargs -i mv {} /yum_cache/

[root@linux-server ~]# ls /yum_cache/
apr-1.4.8-7.el7.x86_64.rpm
apr-util-1.5.2-6.el7.x86_64.rpm
httpd-2.4.6-97.el7.centos.5.x86_64.rpm
httpd-tools-2.4.6-97.el7.centos.5.x86_64.rpm
mailcap-2.1.41-2.el7.noarch.rpm

[root@linux-server ~]# yum install -y createrepo #创建repo文件工具
[root@linux-server ~]# createrepo /yum_cache/ //此目录就可以作为yum源了。
[root@linux-server ~]# vim /etc/yum.repos.d/myyum.repo
[myyum]
name=myyum
baseurl=file:///yum_cache/
enabled=1 #默认是开启的
gpgcheck=0
[root@linux-server ~]# yum repolist

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语言变成可执行的二进制文件。
源码安装的优点,编译安装过程,可以设定参数按照需求增加功能,进行安装,并且可以指定安装的版本,可以指定安装路径,灵活性比较大。
获得源码包途径 官方网站,可以获得最新的软件包
mysql: http://www.mysql.com/
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 某些库文件等跟开发相关的东西。

  1. 准备软件 nginx-1.16.0.tar.gz
  2. 部署安装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定义的文件路径安装,将产生的可执行文件,安装到合适的位置,相当于拷贝

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

错误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= 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= option.

解决方案: # yum -y install openssl-devel

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值