linux基础之软件安装

软件安装,这个是系统必须有的功能,自然Linux也有。而linux安装具有两种方式rmp和源码。

  • rpm:这个有点像是windows中exe文件,可以点击安装。而其的文件格式是rmp,是源码封装后的格式,类似与exe文件。
  • 源码:软件源代码,便于修改,优化。

rpm

rpm安装其实可以分两部分,一个是rpm命令本身对于rpm进行安装。还有一个通过是通过yum进行安装,而yum是一个shell前端的软件包管理器,几乎rpm包管理的。

rpm

虽然提到这个安装方式,但是不提倡,因为很多时候会提示你缺少某个关联软件,但是提示又不明显。除非是老手,不然使用起来会很捉急。

这个只是介绍一部分的参数命令,毕竟后面很多用户是更加习惯用yum这个命令。

现在看一些参数,以及意义。

参数 意义
-i 安装
-v 显示安装过程
-h hash 一般 rmp -ivh 一起用
-e 卸载rpm的软件包,如果其他软件有依赖此卸载软件就会产生错误,当然可以强制卸载:rpm -e --nodeps python。 但是一般不建议强制卸载,如果这样会引起其他的软件无法使用。
-q<安装包名> 查找 比如 rpm -q python
-qf<文件或者文件夹> 查看某个文件时属于哪个软件包
-qi<软件名> 查看软件包的信息【出厂信息】
-qa 查找已安装所有匹配XXX关键字的软件包 rpm -qa 会显示所有一般通过管道符使用rpm -qa | grep python
-ql 查看软件包包含哪些文件 rpm -ql python
-U 升级软件包

上面的命令了解即可,不太建议使用上面的命令安装rpm安装软件,为什么?

  • 非官方提供的rpm格式的包都是由别人基于源码打包的,虽然安装起来方便,但是是否被提供者修改过无法判断,所以安全无法保证。
  • rpm格式的包,一般都是比较旧的,除非官方提供。
  • rpm还有一点也是最致命的原因,那就是包的依赖问题。比如安装b需要安全了a才能使用,而有时候提示的很不详细,需要很深入了解。

所以rpm了解即可,比如工作中只提供rpm,而作用用户知道如何安装即可。

yum

yum 是一个Shell前端软件的软件包管理器,它是基于rpm包管理,能够从指定的服务器自动下载rpm包并且安装,并且可以一次安装所有依赖的软件包。yum是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。本人用的是centos7,作为RedHat 的社区版,所以可以用yum。其他的版本依然由各自的软件包管理器,比如:apt(Advanced Packaging Tool)是一个在 Debian 和 Ubuntu 中的 Shell 前端软件包管理器。(懒一次,下图是直接截取了他人的)

在这里插入图片描述

yum可以理解是redhat官方的rpm包整理,而且也会检查是否需要安装其他的依赖包。

还是列出常用的命令。

#列出所有可以更新的软件
yum check-update

# 更新软件
yum update  如果更新某个软件  yum update 软件名

# 安装软件
yum install   软件名

# 列出可以安装的软件列表
yum list  但是一般不会单独使用,而是  yum list | grep 软件 或者 yun list 名字(或者 名字*)

# 删除安装软件
yum remove  软件名

#查找软件包命令
yum search  名字(这个有点正则表达式一样,包含都会搜索出)

# 安装本地的rpm 包
yum localinstall 软件包名字  -y  安装本地软件包


# yum group 安装更新命令
     yum groupinstall 组名 比如yum install mysql 只会安装mysql ,但是   yum groupinstall msyql 除了安装mysql 还会  安装mysql的一些其他工具。
     yum groupupdate 组名 
     yum grouplist 组名 
     yum groupremove 组名   


# 清楚缓存
  yum clean packages: 清除缓存目录下的软件包
  yum clean headers: 清除缓存目录下的 headers
  yum clean oldheaders: 清除缓存目录下旧的 headers
  yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的 headers
  
# 安装python
yum install python

如下:懒得卸载了,因为安装了,所以这个就出现如下图所示,其中更应该关心的,是python是2.7版本而且提示最新,可见yum虽然比rpm更方便,但是其有一个

在这里插入图片描述

很多时候如果安装最新的软件的话,需要从软件官网下载压缩包,然后进行处理。

补充:rpm 的基本格式

python-2.7.5-90.el7.x86_64

名称:python
版本号:2.7.5-90
适用的操作系统:el7.x86_64

补充修改yum源头

因为yum默认的服务器是国外的,而国内有时候下载会很慢,所以国内有很多资源,比如网易的,清华,阿里的。

为了方便下载,有时候需要我们将其修改成国内的资源

配置文件为:etc/yum.repos.d/CentOS-Base.repo

# 首先将其备份
mv etc/yum.repos.d/CentOS-Base.repo etc/yum.repos.d/CentOS-Base.repo.bak

#下载国内对应的CentOS-Base.repo 文件,因为我用的centos7 所以下载7
  阿里源头:http://mirrors.aliyun.com/repo/Centos-7.repo
  网易源头:http://mirrors.163.com/.help/CentOS7-Base-163.repo
  
# 这个需要wget命令,如果不会可以直接将网址输入浏览器可以直接下载
   wget  http://mirrors.aliyun.com/repo/Centos-7.repo

# 下载后放入 etc/yum.repos.d 文件下,并且记得改名字
   mv  Centos-7.repo  /etc/yum.repos.d/CentOS-Base.repo
  

补充: wget

wget是一个从网络上自动下载文件的自由工具。其最常用的有两种:

# 下载httts://www.test.com/test.tar.gz 文件
wget  httts://www.test.com/test.tar.gz   其默认是下载到当前文件目录下

#下载httts://www.test.com/test.tar.gz 文件 ,在本地的时候名字为t.tar.gz
wget -o  t.tar.gz   httts://www.test.com/test.tar.gz  

源码安装

源码安装就是将源码进行编译,然后安装。这种安装可以适用用所有的linux。

首先演示一些,通过安装nginx。进行一次演示吧。

看是否依赖的几个软件是否安装
   #需要gcc编译器,这个是源码进行编译的一个软件如果有忽略没有请下载
    yum -y install gcc
    
   #pcre 这个也是需要,有时候自带pcre这个库,但是提示没有安装是因为缺少 pcre-devel (pcre开发工具)
   yum Install -y pcre pcre-devel
   
   #zlib ,openssl 和pcre 一样
   
   yum install -y zlib zlib-devel
   yum install -y openssl openssl-devel


前面是将源码安装nginx安装的依赖包安装好后,开始源码安装

# 第一步下载 nginx 源码压缩包
wget  https://nginx.org/download/nginx-1.12.0.tar.gz

#第二步: 解压
tar -zxvf nginx-1.12.0.tar.gz

# 进入解压后的文件,看一下具体ls

在这里插入图片描述

官网都会给一个帮助文档,告诉你如何安装,如果想了解仔细可以看一些README.

源码安装需要三个命令:

命令 作用
configure 指定软件功能及安装路径,以及检查环境是否有问题,比如前面说的缺少pcre库等信息
make 将源码进行编译,其实学过c的话就明白,就是将c文件编译成二进制的文件o文件
make install 将软件安装到前面指定的路径下。
#指定安装的地址 一般nginx文件安装在 /usr/local/nginx
 ./configure  --prefix=/usr/local/nginx   指定安装的地址

# 开始编译
make   如果有异常可以忽略,只要不是erro,

#将软件安装在前面指定的位置
make install

源码安装是通过源码进行安装的,有时候安装软件的时候,有些软件类似与windows的绿色软件,而直接通过修改配置文件即可,还有一些官方将软件进行了简单的整理,可以通过运行其sh格式文件即可安装。

下面单独安装jdk,myql,以及编程软件ide等进行演示。

猜你喜欢

转载自blog.csdn.net/u011863822/article/details/120494426