linux select用法,select基本用法和软件包管理

一、select语句

select语句在脚本中用于创建菜单,按数字顺序排列的菜单项显示在标准输出上,并用PS3提示符,等待用户输入。用户输入菜单中的某个数字,执行相应的命令,并被保存在内置变量REPLY中。

用法:

select NAME [in WORDS … ;] do COMMANDS; done

注意:

select默认无限循环,因此,要配合break或ctrl+c退出循环,或配合exit退出脚本。

3c8ce6380daa33c267ccb0e2e66a02de.png

select可以与case配合使用

3c8ce6380daa33c267ccb0e2e66a02de.png

二、rpm

rpm(RedHat Package Manager)类似于windows中的“添加/删除程序功能”,rpm执行安装包分为二进制包和源代码包,其中二进制包可以直接安装在程序中,,而源代码包将会由rpm自动编译、安装。源代码包一般以src.rpm作为后缀。

安装:

rpm {-i|–install} [INSTALL-OPTIONS] PACKAGE_FILE…

-v    详细显示

-vv    更加详细显示

-h    用#显示程序包执行进度

[install-options]

–test: 测试安装,但不真正执行安装;dry run模式

–nodeps:忽略依赖关系

–replacepkgs | replacefiles

–nosignature: 不检查来源合法性

–nodigest:不检查包完整性

–noscipts:不执行程序包脚本片断

%pre: 安装前脚本; –nopre

%post: 安装后脚本; –nopost

%preun: 卸载前脚本; –nopreun

%postun: 卸载后脚本; –nopostun

升级

rpm {-U|–upgrade} [install-options] PACKAGE_FILE…

rpm {-F|–freshen} [install-options] PACKAGE_FILE…

upgrade:安装有旧版程序包,则“升级”如果不存在旧版程序包,则“安装”

freshen:安装有旧版程序包,则“升级”如果不存在旧版程序包,则不执行升级操作

rpm -Uvh PACKAGE_FILE …

rpm -Fvh PACKAGE_FILE …

–oldpackage:降级

–force: 强行升级

注意:

(1) 不要对内核做升级操作;Linux支持多内核版本并存,因此 ,对直接安装新版本内核

(2) 如果原程序包的配置文件安装后曾被修改,升级时,新版本 的提供的同一个配置文件并不会直接覆盖老版本的配置文件,而 把新版本的文件重命名(FILENAME.rpmnew)后保留

包查询

rpm {-q|–query} [select-options] [query-options]

[select-options]

-a: 所有包

-f: 查看指定的文件由哪个程序包安装生成

-p rpmfile:针对尚未安装的程序包文件做查询操作;

–whatprovides CAPABILITY:查询指定的CAPABILITY 由哪个包所提供

–whatrequires CAPABILITY:查询指定的CAPABILITY被 哪个包所依赖

rpm2cpio 包文件|cpio –itv 预览包内文件

rpm2cpio 包文件|cpio –id  “*.conf” 释放包内文件

[query-options]

–changelog:查询rpm包的changelog

-c: 查询程序的配置文件

-d: 查询程序的文档

-i: information

-l: 查看指定的程序包安装后生成的所有文件;

–scripts:程序包自带的脚本片断

-R: 查询指定的程序包所依赖的CAPABILITY;

–provides: 列出指定程序包所提供的CAPABILITY;

卸载:

rpm {-e|–erase} [–allmatches] [–nodeps] [-noscripts] [–notriggers] [–test] PACKAGE_NAME …

包校验

rpm {-V|–verify} [select-options] [verify-options]

S file Size differs

M Mode differs (includes permissions and file type)

5 digest (formerly MD5 sum) differs

D Device major/minor number mismatch

L readLink(2) path mismatch

U User ownership differs

G Group ownership differs

T mTime differs

P capabilities differ

包来源合法性验正及完整性验正:

完整性验正:SHA256

来源合法性验正:RSA

公钥加密:

对称加密:加密、解密使用同一密钥;

非对称加密:密钥是成对儿的

public key: 公钥,公开所有人

secret key: 私钥, 不能公开

导入所需要公钥:

rpm  -K|checksig rpmfile 检查包的完整性和签名

rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

CentOS 7发行版光盘提供:RPM-GPG-KEY-CentOS-7 rpm -qa gpg-pubkey*

rpm数据库

数据库重建

/var/lib/rpm

rpm {–initdb|–rebuilddb}

initdb: 初始化 如果事先不存在数据库,则新建之 否则,不执行任何操作

rebuilddb:重建 无论当前存在与否,直接重新创建数据库

三、yum的配置

yum(Yellow dog Updater,Modifid)是linux中shell前端的软件包管理器,基于rpm包管理,能够从指定的服务器自动下载rpm包并且安装,可以自动处理依赖性关系,并且依次安装所有以来的软体包。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令。

yum客户端配置文件

/etc/yum.conf:为所有仓库提供公共配置

/etc/yun.repos.d/*.repo:为仓库的指向提供配置

仓库指向定义:

[repositoryID]    软件源名称

namee=Some name for this repository    仓库名称

baseurl=url://path/to/repository/    源镜像地址

enabled={1|0}    是否启用源

gpgcheck={1|0}    是否进行gpg的校验下载的rpm包

gpgkey=URL    用于定义gpg校验的密钥

enablegroups={1|0}

failovermethod={roundrobin|priority}

默认为:roundrobin,意为随机挑选镜像服务器中的地址;

priorty,表示顺序选择地址

cost=    默认为1000

3c8ce6380daa33c267ccb0e2e66a02de.png

原创文章,作者:zhanghuanyu,如若转载,请注明出处:http://www.178linux.com/37984

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值