提示:文章写完后,目录可以自动生成linux修改文件名,如何生成可参考右边的帮助文档
文章目录
前言
提示:以下是本篇文章正文内容,下面案例可供参考
文件位置 :一般在/bin和/sbin目录中,或为Shell内部命令
主要用途:完成对新系统的基本管理工作,例如IP 配置工具
使用环境:一般只在字符操作界面中运行
运行格式:一般包括命令字、选项、参数
2、应用程序
文件位置 :一般在/usr/bin和/usr/sbin目录中
主要用途:完成相对独立的其他符咒任务,例如网页浏览器
使用环境:根据实际需要linux运行应用程序,有些程序可在图形界面中运行
运行格式:通畅没有固定的执行格式
二、典型应用程序的目录结构 文件类型保存目录
普通执行程序文件
/usr/bin
服务器执行程序文件和管理程序文件
/usr/sbin
应用程序配置文件
/etc
日志文件
/var/log
应用程序参考文档文件
/usr/share/doc
应用程序手册页文件
/usr/local/share/man
三、常见的软件包分装类型 文件类型保存目录
RPM软件包
扩展名为“.rpm”
DEB软件包
扩展名为“.deb”
源代码软件包
一般为“.tar.gz”、“tar.bz2”等格式安装包
绿色免安装的软件包
软件包的扩展名不一,以TarBall格式居多,在压缩包内提供已编译号的可执行程序文件,解开压缩包后的文件即可直接使用
1、rpm命令格式
rpm命令能够实现几乎所有对RPM软件包的管理功能
执行“man rpm”命令可以获得关于rpm命令的详细帮助信息
2、rpm命令功能
查询、验证RPM软件包的相关信息
安装、升级、卸载RPM软件包
维护RPM数据库信息等综合管理操作
1、rpm -q 软件名 ★★#查询指定软件是否已安装
2、rpm -qi 软件名 #显示已安装的指定软件的详细信息
3、rpm -ql 软件名 #显示已安装的指定软件的文件列表
4、rpm -qc 软件名 ★★#列出已安装的指定软件的配置文件
5、rpm -qd 软件名 ★★#列出已安装的指定软件的软件包文档所在位置
6、rpm -qR 软件名 #列出已安装的指定软件的以来的软件包及文件
7、rpm qF 文件/目录 #查询已安装的指定软件属于哪个安装包
8、rpm -qa ★★#显示当前系统中以rpm方式安装的偶有软件列表
9、rpm -qf /user/bin/paswd #查看指定文件或目录是哪个软件包所安装的
3、查询未安装的RPM软件包文件中信息
rpm -qpi RPM包文件名 #查询指定软件包的详细信息
rpm -qpl RPM包文件名 #查询指定软件包的文件列表
rpm -qpc RPM包文件名 #查询指定软件包的配置文件
rpm -qpd RPM包文件名 #查询指定软件包的软件包文档的位置
4、安装、升级、卸载RPM软件包
格式:
rpm 【选项】 RPM包文件
rpm -ivh RPM 包文件
常用选项
-i 安装一个新的RPM安装包
-U 升级某个软件包,若未安装过,则进行安装
-F 升级某个软件包,如未安装过,则放弃安装
-h 在安装或升级软件包的过程中,以”#“号显示安装进度。
-v 显示软件安装过程中的详细信息。
–force 强制安装某个软件包,比如要安装版本更旧的软件包
-e 卸载指定名称的软件包
–nodeps 在安装或升级、卸载一个软件包时,不检查与其他软件包的依赖关系。
5、维护RPM数据库 1、重建RPM数据库
当RPM数据库发生损坏,可通过重建RPM数据库修复
rpm --rebuilddb 或者 rpm --initdb
2、导入验证公钥
在没有验证公钥之前,安装光盘中的一部分RPM软件包时会报错,需要向RPM数据库中导入位于光盘根目录下的公钥文件
mount /dev/sr0 /mnt/
rpm --import /mnt/RPM-GPG-KEY-CentOS-7
辅助选项
1.–nodeps就是安装时不会检查依赖关系,比如你这个rpm需要A,但是你没有装A,这样你的包就安装不了,用了–nodeps你就能装上了。
2.–force就是强制安装,比如你装过这个rpm的版本1,如果你想安装这个rpm的版本2,就需要用–force强制安装。
–force、–nodeps、-h、-v
四、配置本地yum源仓库
安装源代码软件包需要编译安装linux运行应用程序,需要安装支持c和c++程序语言的编译器,如gcc、gcc-c++、make 如果使用rpm方式安装,则需要先安装多个依赖包,这样会很繁琐,这里可以使用yum方式来进行一键安装。
先配置本地yum源仓库(最好保存目录是空的)
本地yum仓库的小结
1、yum是一个半自动化的下载、更新、安装的工具 2、yum下载、安装的时候,默认指向的位置是公共仓库,通过识别/etc/yum.repos.d 目录下的(Centos-*.repo yum)源文件(文件中指向了Centos的yum公共仓库位置) 有时候我们网络不佳或者无网环境,就需要将yum默认指向的位置改为本地yum仓库 如何配置本地yum仓库 必要的时候红帽linux系统下载,可以在机器空闲的时候,来更新自己的本地yum仓库中的 *.rpm包的版本
关键点
1、/etc/yum.repos.d 目录下有很多*.repo文件(将原本指向公共仓库的yum源文件,修改为指向本地的yum源文件) 2、考虑到缓存 需要先清空缓存,再加载我们自定义的本地yum仓库的配置yum clean all && yum makecache
细致化:
[root@zhb mnt]# mount /dev/cdrom /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@zhb mnt]# cd /etc/yum.repos.d/
[root@zhb yum.repos.d]# ls
CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-Media.repo
CentOS-Debuginfo.repo CentOS-Sources.repo
[root@zhb yum.repos.d]# mkdir bak
[root@zhb yum.repos.d]# ls
bak CentOS-Debuginfo.repo CentOS-Sources.repo
CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-Media.repo
[root@zhb yum.repos.d]# mv CentOS-* bak/
[root@zhb yum.repos.d]# ls
bak
[root@zhb yum.repos.d]# vim local.repo
[root@zhb yum.repos.d]# ls
bak local.repo
[root@zhb yum.repos.d]#
[root@zhb yum.repos.d]#
[root@zhb yum.repos.d]#
[root@zhb yum.repos.d]#
[root@zhb yum.repos.d]# yum clean all
已加载插件:fastestmirror, langpacks
正在清理软件源: local
Cleaning up list of fastest mirrors
Other repos take up 1.1 G of disk space (use --verbose for details)
[root@zhb yum.repos.d]#
[root@zhb yum.repos.d]#
[root@zhb yum.repos.d]#
[root@zhb yum.repos.d]# yum makecache
已加载插件:fastestmirror, langpacks
Determining fastest mirrors
local | 3.6 kB 00:00
(1/4): local/group_gz | 166 kB 00:00
(2/4): local/filelists_db | 3.2 MB 00:00
(3/4): local/primary_db | 3.1 MB 00:00
(4/4): local/other_db | 1.3 MB 00:00
元数据缓存已建立
[root@zhb yum.repos.d]#
[root@zhb yum.repos.d]#
[root@zhb yum.repos.d]#
[root@zhb yum.repos.d]#
[root@zhb yum.repos.d]# yum install -y mariadb
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 mariadb.x86_64.1.5.5.60-1.el7_5 将被 安装
--> 解决依赖关系完成
依赖关系解决
=======================================================================
Package 架构 版本 源 大小
=======================================================================
正在安装:
mariadb x86_64 1:5.5.60-1.el7_5 local 8.9 M
事务概要
=======================================================================
安装 1 软件包
总下载量:8.9 M
安装大小:49 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : 1:mariadb-5.5.60-1.el7_5.x86_64 1/1
验证中 : 1:mariadb-5.5.60-1.el7_5.x86_64 1/1
已安装:
mariadb.x86_64 1:5.5.60-1.el7_5
完毕!
[root@zhb yum.repos.d]#
[root@zhb yum.repos.d]#
测试
在断网环境下,是否能正常“安装”软件包 ifdown ens33
是否能“安装”成功 yum install -y httpd / yum install mariadb -y
以上完成本地yum仓库的配置
实验过程
[ZHB@zhb ~]$ ifdown ens33
用户不能控制这一设备。
[ZHB@zhb ~]$ su root
密码:
[root@zhb ZHB]# ifdown ens33
成功断开设备 'ens33'。
[root@zhb ZHB]# yum install -y httpd / yum install mariadb -y
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
软件包 filesystem-3.2-25.el7.x86_64 已安装并且是最新版本
软件包 yum-3.4.3-161.el7.centos.noarch 已安装并且是最新版本
没有可用软件包 install。
软件包 1:mariadb-5.5.60-1.el7_5.x86_64 已安装并且是最新版本
正在解决依赖关系
--> 正在检查事务
---> 软件包 httpd.x86_64.0.2.4.6-88.el7.centos 将被 安装
--> 正在处理依赖关系 httpd-tools = 2.4.6-88.el7.centos,它被软件包 httpd-2.4.6-88.el7.centos.x86_64 需要
--> 正在处理依赖关系 /etc/mime.types,它被软件包 httpd-2.4.6-88.el7.centos.x86_64 需要
--> 正在检查事务
---> 软件包 httpd-tools.x86_64.0.2.4.6-88.el7.centos 将被 安装
---> 软件包 mailcap.noarch.0.2.1.41-2.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
===========================================================================
Package 架构 版本 源 大小
===========================================================================
正在安装:
httpd x86_64 2.4.6-88.el7.centos local 2.7 M
为依赖而安装:
httpd-tools x86_64 2.4.6-88.el7.centos local 90 k
mailcap noarch 2.1.41-2.el7 local 31 k
事务概要
===========================================================================
安装 1 软件包 (+2 依赖软件包)
总下载量:2.8 M
安装大小:9.6 M
Downloading packages:
---------------------------------------------------------------------------
总计 96 MB/s | 2.8 MB 00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : mailcap-2.1.41-2.el7.noarch 1/3
正在安装 : httpd-tools-2.4.6-88.el7.centos.x86_64 2/3
正在安装 : httpd-2.4.6-88.el7.centos.x86_64 3/3
验证中 : httpd-tools-2.4.6-88.el7.centos.x86_64 1/3
验证中 : mailcap-2.1.41-2.el7.noarch 2/3
验证中 : httpd-2.4.6-88.el7.centos.x86_64 3/3
已安装:
httpd.x86_64 0:2.4.6-88.el7.centos
作为依赖被安装:
httpd-tools.x86_64 0:2.4.6-88.el7.centos mailcap.noarch 0:2.1.41-2.el7
完毕!
[root@zhb ZHB]#
完成本地yum仓库的配置
yum常用的操作命令
yum -y install 软件名 #安装、升级软件包,-y 选项表示自动确认安装依赖关系
yum -y remove 软件名 #卸载软件包,可自动解决其依赖关系
yum -y update 软件名 #升级软件包
yum list #查询软件包列表
yum list installed #查询系统中已安装的软件包
yum list available #查询仓库中尚未安装的软件包
yum list update #查询可以升级版本的软件包
yum info 软件名 #查询软件包的描述信息
yum info httpd
yum search [all] 关键词 #根据某个关键词来查找相关的软件包
yum whatprovides 命令 #查询命令属于哪个软件包
yum install 包名 -y --downloadonly --downloaddir=/tmp/ #下载RPM包到指定目录
yum history 查看历史记录清单,后面可以加undo +ID数可以卸载器软件并解决依赖关系