Linux|Linux 软件安装管理
软件包分类
源码包
脚本安装包
【优点】
1.开源,如果有足够的能力,可以修改源代码
2.可以自由选择所需的功能
3.软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高
4.卸载方便
【缺点】二进制包(RPM包,Deb包,系统默认包)
1.安装过程步骤较多,尤其安装较大的软件集合时(如LAMP环境搭建),容易出现编写错误。
2.编译过程时间较长,安装比二进制安装时间长。
3.因为是编译安装,安装过程中一旦报错新手很难解决。
【优点】RPM命令管理 rpm包位于安装光盘的Packages下(光盘需要先挂载哦。)
1.包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询、卸载。
2.安装速度比源码包安装快的多。
【缺点】
1.经过编译,不再能看到源代码
2.功能选择不如源码包灵活
3.依赖性
RPM包命名规则
httpd-2.2.15-15.el6.centos.1.i686.rpm
-httpd 软件包名
-2.2.15 软件版本
-15 软件发布的次数
-el6.centos 适合的Linux平台
-rpm 包扩展名
RPM包依赖性 树形依赖:a→b→c
环形依赖:a→b→c→a
模块依赖:查询网站
安装 包全名与包名
包全名:操作的包是没有安装的软件包时,使用包全名。而且要注意路径
包名:操作已经安装的软件包时,使用包名。是搜索/var/lib/rpm/中的数据库
安装
进入Packages之后安装或者使用包全名
rpm -ivh 包全名
选项:
-i(install) 安装
-v(verbose) 显示详细信息
-h(hash) 显示进度
--nodeps 不检测依赖性(不许用)
显示依赖的安装包,然后再安装所依赖的安装包。
升级 用升级也可以安装
rpm -Uvh 包全名
选项:
-U (upgrade) 升级
卸载
rpm -e 包名
选项:
-e (erase) 卸载
--nodeps 不检测依赖性(不许用)
查询
# 查询包是否安装(q query)
rpm -q 包名
# 查询所有已经安装的rpm包,然后加上 管道符 与包名 即可找到所有的相关的包
rpm -qa (| 包名)# 查询信息
rpm -qi 包名
# 查询未安装的包的信息
rpm -qip 包全名# 查询包中文件安装位置
rpm -ql 包名
# 查询未安装的包中文件安装位置
rpm -qlp 包全名# 查询系统文件属于哪个RPM包,这个文件必须是包安装出来的
rpm -qf 系统文件名# 查询软件包的依赖性
rpm -qR 包名
# 查询未安装的软件包的依赖性
rpm -qR 包全名
RPM包默认安装位置
路径 | 作用 |
---|---|
/etc/ | 配置文件安装目录 |
/usr/bin/ | 可执行的命令安装目录 |
/usr/lib/ | 程序所使用的函数库保存位置 |
/usr/share/doc/ | 基本的软件使用手册保存位置 |
/usr/share/man/ | 帮助文件保存位置 |
rpm -V 包名
验证内容中的8个信息的具体内容如下:
标识符|意义
S|文件大小是否改变
M|文件的类型或文件的权限(rwx)是否被改变
5|文件MD5校验和是否改变(可以看成文件内容是否改变)
D|设备的主从代码是否改变
L|文件路径是否改变
U|文件的属主(所有者)是否改变
G|文件的属组是否改变
T|文件的修改时间是否改变
文件类型
标识符|文件类型
c|配置文件
d|普通文档
g|鬼文件,很少见,就是该文件不应该被这个RPM包包含
L|授权文件
r|描述文件
提取
rpm2cpio 包全名 | cpio -idv .文件绝对路径- rpm2cpio # 将rpm包转换为cpio格式的命令
- cpio # 是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件cpio 选项 < [文件|设备]
选项:
-i: copy-in模式,还原
-d: 还原时自动新建目录
-v: 显示还原过程
实例:
文章图片
文件丢失解决 yum在线安装 好处:将所有软件包放到官方服务器上,当进行yum在线安装时,可以自动解决依赖性问题。
yum 源文件
vi /etc/yum.repos.d/CentOS-Base.repo
【文件内容】如下
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
"/etc/yum.repos.d/CentOS-Base.repo" 44L, 1664C
【解释】
[base]容器名称,一定要放在[]中
name 容器说明,可以自己随便写
mirrorlist 镜像站点。这个可以注释掉
baseurl yum源服务器的地址。默认是CentOS官方的yum源服务器,是可以使用的。可以改成自己喜欢的yum源地址。
enabled 此容器是否生效,如果不写或写成enabled=1都是生效,写成enable=0不生效。
gpgcheck 如果是1是指RPM的数字整数生效,如果是0则不生效
gpgkey 数字证书的公钥文件保存位置。不用修改。例如:`gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7` 其中的file://类似于 http://,是文件协议本身的// 后面是地址。
光盘yum源搭建 1.挂载光盘
2.使网络yum源失效
cd/etc/yum.repos.d/
# 修改后缀名
mv CentOS-Base.repo CentOS-Base.repo.bak
3.使光盘yum源生效
vim CentOS-Media.repo
# 将地址改为自己的光盘挂载地址,并且将不存在的地址注释掉。
baseurl=file:///mnt/cdrom
# 将enabled=0改成enabled=1
enabled=1
yum命令 常用yum命令
【查询】
# 查询所有可用软件包列表
yum list
# 搜索服务器上所有和关键字相关的包
yum search 关键字
【安装】
# 安装包
yum -y install 包名
选项:
install 安装
-y 自动回答yesyum -y install gcc
【升级】
# 升级包
yum -y update 包名
选项:
update 安装
-y 自动回答yes# 升级所有包,改变软件设置和系统设置,系统版本内核都升级
yum -y update
# 升级所有包,不改变软件设置和系统设置,系统版本升级,内核不改变
yum -y upgrade
【卸载】
# 卸载包
yum -y remove 包名
选项:
remove 卸载
-y 自动回答yes
服务器使用最小化安装,用什么软件安装什么,尽量不卸载
yum软件组管理命令
# 列出所有可用的软件组列表
yum grouplist
# 安装指定软件组,组名可以由grouplist查询出来
yum groupinstall
# 卸载指定软件组
yum groupremobe
更改语言:
LANG=en-US
LANG=zh-CN.utf8
源码包安装 源码包安装位置 安装在指定位置下,一般是
/usr/local/软件名/
,只能用绝对路径进行服务的管理。yum安装的可以 使用service运行。
# 运行
service httpd start
# 停止
servece httpd stop# centos7关闭防火墙
sudo systemctl stop firewalld.service && sudo systemctl disable firewalld.service
然后在浏览器内输入ip地址即可查看到It works!字样表示服务启动,实际访问的是
/var/www/html/
目录,空的时候访问测试页。默认为空,访问测试页。如果创建/var/www/html/index.html输入HelloWorld,则可以看到HelloWorld。apache建议用源码包,下载后在自己的机器上编译。下载地址http://mirror.bit.edu.cn/apache/httpd,使用winscp工具从本机拷贝到服务器。
安装注意事项 源代码保存位置: /usr/local/src
软件安装位置:/usr/local/
如何确定安装过程报错:安装过程停止并出现error、warning或no的提示。
源码包安装过程 1.下载源码包
2.解压缩下载的源码包
tar -zxvf httpd-2.2.31.tar.gz
3.进入解压缩目录
cd httpd-2.2.31/
4.
./configure
软件配置与检查:定义需要的功能选项;检查系统环境是否符合安装要求;把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续的编辑。./configure --prefix=/usr/local/apache2
5.meke 编译
make 如果报错执行`make clean`,清楚缓存临时文件,不需要删除/usr/local/apache2
6.make install 安装
make install如果报错需要删除/usr/local/apache2,执行`make clean`
7.启动
# 启动服务
/usr/local/apache2/bin/apachectl start
# 停止服务
/usr/local/apache2/bin/apachectl stop
使用方式查看 INSTALL 文件
8.访问
# centos7关闭防火墙
sudo systemctl stop firewalld.service && sudo systemctl disable firewalld.service
然后在浏览器内输入ip地址即可查看到It works!字样表示服务启动,实际访问的是
/usr/local/apache2/htdocs/index.html
源码包卸载 不需要卸载命令,直接删除安装目录即可。不会遗留任何垃圾文件。
脚本安装包 【Linux|Linux 软件安装管理】优点:简单,快速,方便
缺点:不能定义安装软件的版本;不能定义所需要的软件功能;源码包的优势丧失。
实例:安装Nginx Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,由俄国公司在2004年发布。
文章图片
Nginx/apache/lighttpd的综合对比 准备工作
关闭rpm包安装的httpd,mysql。
保证yum源正常使用。
关闭SELinux和防火墙。
# 永久关闭SELinux并重启
vi /etc/selinux/config
修改SELINUX=disabled# centos7关闭防火墙
sudo systemctl stop firewalld.service && sudo systemctl disable firewalld.service
推荐阅读
- Mac安装Chromedriver
- MongoDB,Wondows下免安装版|MongoDB,Wondows下免安装版 (简化版操作)
- MAC安装Mongo
- Linux下面如何查看tomcat已经使用多少线程
- Beego打包部署到Linux
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- 中国MES系统软件随工业化成长
- react|react 安装
- 迅捷流程图制作软件的使用方法!
- VueX--VUE核心插件