linux 系统软件的安装
不管是什么系统,安装软件都有多种方式。而linux软件的安装稍微复杂。
linux 软件安装复杂主要体现在软件的依赖文件上,也叫做依赖包,要想安装某个软件,需要先安装它的依赖包。
编译安装
我们有时候安装软件,下载下来的是软件源代码,不能直接运行,需要编译之后才能运行,源代码 > 编译 > 二进制机器码,才能运行。
编译安装nginx的示例:
下载源代码
curl -o nginx.tar.gz http://nginx.org/download/nginx-1.20.1.tar.gz编译安装
解压文件
tar xf nginx.tar.gz切换到软件目录
cd nginx-1.20.1/配置编译参数
这个软件给我们提供了很多功能,我们在编译过程中可以选择需要哪些功能,哪些功能不需要。所有功能都要就是完整版,有些功能不要就是精简版。
./configure --prefix=/usr/local/nginx --without-pcre --withouthttp_rewrite_module --without-http_gzip_module--without:去掉某些功能--prefix:指定软件的安装目录,不存在的话会自动创建。./configure: 是使用相对路径执行这个文件(这是一个可执行文件,在linux系统中,如果一个可执行文件没有被注册的话,可以使用相对路径执行该文件)。这个指令执行之后,会自动检查各种依赖环境是否满足软件运行的要求,检查通过之后会生成一个叫做
Makefile的文件。其实还会生成objs文件,但主要是Makefile文件编译
使用
make指令进行编译。make会找到当前目录中的Makefile文件来进行编译,这个编译过程一般是比价长的。具体时长取决于:- CPU性能
- 软件功能复杂度
编译之后在
objs文件中会多一些文件,其中的nginx文件就是二进制可执行的文件。可以查看
nginx的版本:typescript./objs/nginx -v到这里只是编译完成,还需要进行安装。因为在编译过程中指定了安装路径,所以需要切换到
/usr/local/nginx目录。安装
查看目录结构:
typescript/usr/local/nginx/ ├── conf # 该软件的配置文件所在目录 │ ├── fastcgi.conf │ ├── fastcgi.conf.default │ ├── fastcgi_params │ ├── fastcgi_params.default │ ├── koi-utf │ ├── koi-win │ ├── mime.types │ ├── mime.types.default │ ├── nginx.conf │ ├── nginx.conf.default │ ├── scgi_params │ ├── scgi_params.default │ ├── uwsgi_params │ ├── uwsgi_params.default │ └── win-utf ├── html # 网站源代码存放目录,这个nginx其实主要是用来部署网站的,网站的代码可以放到这个目录中 │ ├── 50x.html │ └── index.html ├── logs # 这个软件自带日志记录功能,记录的日志存放在这个目录中 └── sbin └── nginx运行指令:
/usr/local/nginx/sbin/nginx因为没有配置环境变量,所以需要绝对路径执行。
关闭防火墙:
systemctl stop firewalld使用浏览器访问:
http://ip地址/就可以看到网站了。
rmp 安装
编译安装时比价繁琐的。为了方便使用者,一般都会编译之后发给使用者,用起来就不需要编译,会方便很多。只要有人编译过一次,直接将编译后的程序发布出来,供使用者下载即可。下载软件需要使用到对应系统的包管理工具。
redhat系打出来的包叫做:rpm包,用yum安装的程序包其实都是rpm包,rpm的包我们也可以不使用yum而手动安装。
手动安装过程
先安装
wgetyum install wget -y使用
wget下载rpm包wget https://mirrors.tuna.tsinghua.edu.cn/centos/7/os/x86_64/Packages/tree-1.6.0-10.el7.x86_64.rpm安装rpm包 #rpm -i是安装,vh是显示安装进度条的意思。
rpm -ivh tree-1.6.0-10.el7.x86_64.rpm卸载
rpm -e 包名升级
rpm -Uvh xxx.rpm查看已安装的软件
rpm -qa|grep httpd
rpm安装软件个小问题:
比如:安装vim,会提示安装失败,需要各种依赖包,需要先去安装依赖包。
所以,用rpm安装软件不好解决依赖包的问题,所以出来了下面的yum安装方式,自动下载安装需要的
依赖包。以后都用yum来安装。
yum 安装
使用yum可以结局rpm依赖的问题。
安装扩展yum库:
yum install epel-release -yyum安装nginx:
yum install nginx -yyum移除nginx:
yum remove nginx -y查看仓库rpm的数量:
yum repolist