Linux命令学习(七)
一、
1. 软件下载及安装方式
-
1.1 源码安装
-
1.1.1 原理:将软件原始代码(C/C++)下载下来,将其编译后安装使用
-
1.1.2 源码文件:编写者使用C或C++等语言编写的原始代码文件
-
1.1.3 源码文件使用.tar.gz或.tar.bz2打包成压缩文件
-
1.1.4 源码安装过程:
- ① 下载解压源码压缩包
- ② 分析软件安装环境
- ③ 编译软件
- ④ 安装软件
-
1.1.5 源码安装特点:
-
① 源码包可移植性好,与待安装软件的工作环境依赖性不大
-
② 由于有编译过程,其代码运行效率高,是对当前使用者工作环境的 “量体裁衣”
-
③ 安装功能可以定制,可以选择需要的功能进行安装使用
-
④ 卸载时,只需删除对应安装目录即可,没有Windows的注册表概念
-
⑤ 安装过程繁琐
-
-
1.1.6 源码下载解压缩分析
-
① 下载:wget URL
-
② 解压缩
-
.tar.gz格式:tar xzvf 压缩包名称
-
.tar.bz2格式:tar xjvf 压缩包名称
-
-
-
1.1.7 例1:下载安装Apache源码包
-
① 必须先安装编译器:yum install -y gcc gcc-c++
-
② 下载Apache源码包:
wget https://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.46.tar.gz
-
③ 解压缩:tar xzvf httpd-2.4.46.tar.gz
-
④ 进入安装目录:cd httpd-2.4.46
-
⑤ 源码包安装文件分析及安装环境分析
- 意义:目录中有configure可执行文件,用于对安装环境进行测试、检测所需库文件、工具文件是否存在、检测依赖性关系、编译器和汇编器与连接器检查
- 执行方式:./configure
-
⑥ 接上例:
-
检查环境:./configure
-
提示缺少apr文件,则安装apr依赖文件:yum install -y apr*
-
重新检查:./configure
-
提示缺少pcre文件,在提供的网站下载
cd ~
wget https://ftp.pcre.org/pub/pcre/pcre-8.00.tar.gz
-
解压缩pcre后,检查pcre安装环境并安装
- 解压缩:tar xzvf pcre-8.00.tar.gz
- 进入目录:cd pcre-8.00/
- 检查pcre安装环境:./configure
- 编译:make
- 安装:make install
-
返回上一级目录:cd ..
-
进入apache目录:cd httpd-2.4.46/
-
再次检查apache安装环境:./configure
-
编译:make
-
安装:make install
-
-
⑦ 编译软件
- 作用:对./configure命令生成的makefile文件记录的信息进行编译,生成二进制安装文件、
- 格式:make
- 注意:make过程中若报错,需要查看提示信息,根据信息修改,一般为缺少头文件等问题
-
⑧ 安装软件
- 根据make命令生成的二进制安装文件进行安装,默认安装目录:/user/local或/user/local/bin目录
- 方法:make install
-
⑨ 例2:源码安装python3编译器
- wget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz
- 解压缩:tar xzvf Python-3.9.0.tgz
- 进入目录:cd Python-3.9.0
- 检查安装环境:./configure
- 安装:yum install -y zlib*
- 编译:make
- 安装:make install
-
⑩ 注意:
- 可以使用 echo $? 检查上一步动作是否正常返回,正常返回0
- 遇到yum进程被占用:kill 进程ID
- 源码包解压缩后一般会有README和INSTALL文件,一般记录安装注意事项及安装方式
- 检查安装环境时,可以指定安装目录,格式:./configure -prefilx=目录路径
- 检查环境与编译和安装可以使用 “并且运算符”(&&)进行连接,按顺序执行:./configure && make && make install
-
-
2. RPM安装
- 2.1 产生原因:软件制作者在其工作环境下将软件编译完毕后再发布,以此减少安装编译时间,但要求软件环境与编译时环境要相同
- 2.2 RPM:红冒软件管理器
- 2.3 RPM安装软件的流程
- 2.3.1 读取RPM软件包头部数据,进行软件依赖性检查
- 2.3.2 若满足条件则安装软件,否则失败要求
- 2.4 要求
- 2.4.1 软件安装环境要与打包软件环境一致
- 2.4.2 必须满足软件依赖性
- 2.4.3 软件卸载时必须小心,最底层软件不能先卸载
- 2.4.4 RPM软件包名称解释:
- 例:zip-3.0-11.el7.x86_64.rpm
- 软件名 - 版本号 - 编译次数 - 适用平台
- noarch:无平台限制
- I386:32位运行平台
- x86_64 及 AMD64:64位平台
- el7:红帽版本
- 例:zip-3.0-11.el7.x86_64.rpm
- 2.4.5 RPM软件安装方式
- 格式:rpm -ivh 软件包名称.rpm
- 参数:
- -i:安装软件
- -v:查看安装信息
- -h:查看安装进度
- --nodeps:发生安装依赖时,进行强制安装,但安装后可能无法使用
- --force:安装时提示已安装,则进行覆盖安装
- 例1:适用RPM方式安装Nginx
- 下载:wget http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.8.0-1.el7.ngx.x86_64.rpm
- 安装:rpm -ivh nginx-1.8.0-1.el7.ngx.x86_64.rpm
- 例2:手动安装gcc编译器
- rpm -e gcc rpm -q gcc
- 2.4.6 RPM查询及其他命令
- rpm -q 软件包全名:查询指定软件是否安装
- rpm -qa :查询所有已安装软件
- rpm -qi 软件名:显示已安装软件的详细信息
- rpm -qc 软件名:显示软件的配置文件
- rpm -qd 软件名:显示软件帮助文件
- rpm -ql 软件名:列出软件所有文件与目录
- rpm -e 软件名:卸载软件(卸载时注意依赖性,从最上层软件开始卸载)
3. yum软件安装方式
-
3.1 机制:将编译好的软件放置在yum服务器中,并将这些软件的依赖性信息记录下来形成表格组成数据库,用户安装软件时会向网络中的yum服务器下载对应依赖数据库并与本机rpm数据库进行比较,最后一同下载全部软件进行安装,自动解决依赖性问题
-
3.2 yum软件仓库:记录软件依赖性信息的数据库
-
3.3 修改yum源
- 作用:Centos系统默认的yum仓库网址服务器位于国外,下载速度过慢,应将其修改为国内的yum仓库地址
- 方法:
- 删除yum配置文件目录:rm -rf /etc/yum.repos.d
- 重新建立该目录:mkdir /etc/yum.repos.d
- 进入目录:cd /etc/yum.repos.d
- 下载网易开源镜像站配置文件:wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
- 清除yum缓存:yum clean all
- 重新建立yum缓存:yum makecache
-
3.4 安装软件:yum install -y 软件列表
-
3.5 升级软件:yum update -y 软件列表
-
3.6 卸载软件:yum remove 软件名
-
3.7 例:yum install http tomcat -y
-
3.8 安装带有URL的rpm包:
yum install https://wdl1.cache.wps.cn/wps/download/ep/Linux2019/9662/wps-office-11.1.0.9662-1.x86_64.rpm
-
3.9 yum配置文件分析
-
存储路径:/etc/yum.repos.d/CentOS-Base.repo
-
分析:
- [base]:表示yum软件仓库名,[]不能省略,内容可以自行设置
- name:描述软件仓库的意义,可省略
- baseurl:yum仓库服务器地址,非常重要
- enabled=1:是否启用,1启用,0不启用
- gpgcheck=1:检查数字签名,0不检查
- gpgkey:检查数字签名的公钥,gpgcheck=0时可省略
-
使用本地光盘制作yum仓库
-
作用:当本地无网络时,安装软件可以使用本地DVD光盘作为软件源
-
步骤:
-
挂载光盘:mount /dev/sr0 /media
cd /etc/yum.repos.d
mv CentOS7-Base-163.repo CentOS7-Base-163.repo.back
-
新建文件:vim DVD.repo
-
输入以下内容
-
保存并退出
-
清除缓存:yum clean all
-
新建缓存:yum makecache
-
查看是否启用:yum repolist all
-
-
-
原文作者:絷缘
作者邮箱:zhiyuanworkemail@163.com
原文地址:https://zhiyuandnc.github.io/vLqK58UZf/
版权声明:本文为博主原创文章,转载请注明原文链接作者信息