安装及管理程序(yum搭建本地源,了解rmp命令,查询卸载软件包,编译安装的过程)
文章目录
安装及管理程序
前言
在主机中安装了Linux操作系统之后,就具备了提供软件服务,系统一起安装的软件包毕竟只有少数,实现的功能也比较有限,安装程序成为我们必要的工作
linux命令与应用程序的关系
命令和应用的关系
系统命令 | 应用程序 | |
---|---|---|
文件位置 | 在/bin和/sbin中,称为shell内部命令 | 通常在/usr/local目录 |
主要用途 | 对系统的基本管理工作,如IP配置工具(ipconfig) | 完成相对独立的其他辅助任务,如网页浏览器 |
适用环境 | 符操作界面中运行(init3字符界面,init5桌面) | 根据实际需要,有些程序可以在图形界面中运行 |
运行格式 | 一般包括命令字,命令选项和命令参数 | 通常没有固定的执行格式 |
典型应用程序的目录结构
文件类型 | 保存目录 |
---|---|
普通执行程序文件 | /usr/bin(管理员和其他用户都可以使用) |
服务器执行程序文件和管理程序文件 | /usr/sbin(仅管理员使用) |
应用程序配置文件 | /etc(应用程序配置文件默认路径,yum,vpm,httpd) |
日志文件 | /var/log(可变长文件存放位置) |
应用程序文档文件 | /usr/share/doc(一般都是一些说明文档在此) |
应用程序手册页文件 | /usr/local/share/man(手册可以查看命令帮助信息和程序帮助信息) |
常见的软件包封装类型
文件类型 | 保存目录 |
---|---|
rpm软件包 | rmp软件包一般针对特定版本的系统量身定制rpm”只能在使用RPM(RPM Package Manager,RPM软件包管理器) |
deb软件 | 扩展名为“.deb”只能在使用DPKG(Debian Package,Debian包管理器)机制的Linux操作系统中进行安装 |
源代码软件包 | 一般为“.tar.gz”,“.tar.bz2”等格式的压缩包,这种软件包是程序员开发完成的原始代码,因多数使用tar命令打包而成,安装源码软件包需要使用相应的编译工具,如Linux中的C语言编译器gcc。 |
绿色免安装的软件包 | 解开压缩包后的文件即可直接使用 |
查询RPM软件包信息
rpm概述
rmp是由RED HAT公司提出,成为众多Linux发行版中公认的软件包管理标准。RPM包管理器通过建立统一的文件数据库,对在Linux系统中安装,卸载,升级的各种.rpm软件包进行了详细的记录
RPM机制封装命令格式
查询RPM软件包信息
使用命令的基本格式
rpm -q[子选项] [软件名]
常用选项有以下几种
-qa 显示当前系统中RPM方式安装的软件
-qi 查看指定的软件包的名称,版本,许可协议,用途描述
-ql 显示指定的软件在当前系统中安装的所有目录,文件
-qf 查看指定的文件或目录是由哪个软件包所安装的
-qc 列出当前系统中以RPM安装的软件包
-qd 查看软件包的文档
例如,查询系统中已安装RPM软件包个数
[aaa@qq.com ~]# rpm -qa | wc -l
417
[aaa@qq.com ~]# rpm -q elinks lynx
未安装软件包 elinks
未安装软件包 lynx
查询未安装的RPM软件包文件中信息
使用“-qp”选项时,必须以RPM包文件的路径作为参数(可以有多个),而不是软件包名称
使用命令的基本格式
rpm -qp[子选项] RPM包文件
常用选项有以下几种
-qpi 查看指定的软件包的名称,版本,许可协议,用途描述
-qpl 显示指定的软件在当前系统中安装的所有目录,文件
-qpc 列出当前系统中以RPM安装的软件包
-qpd 查看软件包的文档
安装,升级,卸载RPM软件包
命令 | 解释 |
---|---|
-i | 在当前系统中安装(Install)一个新的RPM软件 |
-e | 卸载指定名称的软件包 |
-U | 检查并升级系统中的某个软件包,若该软件包原来并未安装,则等同于“-i”选项 |
-F | 检查并更新系统中的某个软件包,若该软件包原来并未安装,则放弃安装 |
–force | 强制安装某个软件包 |
–nodeps | 在安装或升级,卸载一个软件包时,不检查与其他软件包的依赖关系 |
-h | 在安装或升级软件包的过程中,以“#”号显示安装进度 |
-v | 显示软件安装过程中的详细信息 |
安装,升级软件包
若要一次性安装多个RPM软件包,可以使用通配符“*”,这种方式在安装存在相互依赖关系的多个软件包时特别有用,系统会自动检查依赖性并决定安装顺序,而无需管理员去判断应该先装哪一个包。
在安装一个新的软件包时,通常使用“-ivh”的组合选项,这样便于了解软件安装的过程信息,及时跟踪安装进度
若是使用新版本的软件包替换旧版本的软件包,只需将“-i”替换成“-U”即可。
命令使用格式
rpm [选项] RPM包文件
常用选项有
-i 安装新的软件包
-U 检查并升级软件包
-F 强制安装
卸载软件包
卸载一个软件包时,主要使用“-e”选项。
rpm -e 软件名称
维护RPM数据库
由RPM包管理系统自动完成维护,一般不需要用户干预,当RPM数据库发生损坏(误删文件,非法关机),且Linux系统无法自动完成修复时,这时候可以使用rpm命令的“–rebuilddb”或“–initdb”功能对RPM数据库进行重建
例如
[aaa@qq.com~]#rpm --rebuilddb 表示重建
或者
[aaa@qq.com~]#rpm --initdb 表示初始化
Yum概述与常用命令
能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装
安装软件(以foo-x.x.x.rpm为例)
yum install foo-x.x.x.rpm
删除软件
yum remove foo-x.x.x.rpm
或者
yum erase foo-x.x.x.rpm
升级软件
yum upgrade foo
或者
yum update foo
查询信息
yum info foo
搜索软件(以包含foo字段为例)
yum search foo
显示软件包依赖关系
yum deplist foo
清空yum仓库缓存
yum clean all
手工编译(yum本地源)
aaa@qq.com ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
[aaa@qq.com ~]# df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda3 xfs 295G 1.5G 293G 1% /
devtmpfs devtmpfs 2.2G 0 2.2G 0% /dev
tmpfs tmpfs 2.2G 0 2.2G 0% /dev/shm
tmpfs tmpfs 2.2G 12M 2.2G 1% /run
tmpfs tmpfs 2.2G 0 2.2G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 138M 877M 14% /boot
tmpfs tmpfs 437M 0 437M 0% /run/user/0
/dev/sr0 iso9660 4.3G 4.3G 0 100% /mnt
[aaa@qq.com ~]# cd /etc/yum.repos.d/ 进入yum配置文件
[aaa@qq.com yum.repos.d]#
[aaa@qq.com yum.repos.d]# mkdir backup
[aaa@qq.com yum.repos.d]# ll
[aaa@qq.com yum.repos.d]# mv C* backup/ 把centos放到到backup
[aaa@qq.com yum.repos.d]# touch local.repo
[aaa@qq.com yum.repos.d]# vim local.repo
[local.repo]
name=local.repo
baseurl=file:///mnt 本地仓库
gpgcheck=0 **验证
enabled=1 开启
[aaa@qq.com yum.repos.d]# yum clean all 清空原有yum
[aaa@qq.com yum.repos.d]# yum makecache
编译安装的基本过程
解压过程
开源软件的源代码包一般为TarBall形式,扩展名为“.tar.gz”或“.tar.bz2”,都可以使用tar命令进行解压。
[aaa@qq.com opt]# tar zxvf apr-1.4.6.tar.gz /opt/httpd-2.4.25/server/
把arp的文件减压到http的server目录中
配置过程
在编译应用程序之前,需要进入源代码目录,对软件的安装目录,功能选择等参数进行配置
编译过程
配置完成后,只需要在源代码目录中执行**“make**”命令即可执行编译操作。
安装过程
编译完成后,就可以执行“make install”命令将软件的执行程序,配置文件,帮助文档等相关文件复制到Linux系统中了,也就是应用程序的最后“安装”过程。同样是在源代码目录中执行命令。
使用并查看
如查看apache运行状态,如果看到“ it works’” 表示工作正常
上一篇: linux下rpm及yum安装jdk
下一篇: 无重复字符的最长子串_力扣_算法_滑窗格