7.1 安装软件包的三种方法 7.2 rpm包介绍 7.3 rpm工具用法 7.4 yum工具用法 7.5 yum搭建本地仓库


7.1 安装软件包的三种方法

安装的三种方法

  1. rpm 工具

  2. yum 工具

  3. 源码包

rpm 安装路径和配置,基本都是固定好的 安装包时,如果有依赖,是需要一个一个的手动去安装

yum 属于用Python开发 的工具,支持自动安装依赖的包 安装包时,如果有依赖,会自动同步安装

源码包 可以看到当时作者编程时的内容,需要通过编译器编译为可执行的文件

7.2 rpm包介绍

要使用rpm包,首先得有工具,文件

先挂载光驱

[root@aminglinux-01~]#mount/dev/cdrom/mnt/mount:/dev/sr0写保护,将以只读方式挂载

光盘内 Packages 目录里就是存放rpm 包的\

  • rpm包的信息

tdb-tools-1.3.8-1.el7_2.x86_64.rpm

包名 - 版本号 - 发布版本号 - 平台位数
包名有时有会有 - 在内
版本号 1.3.8 主版本号 . 次版本号 . 修正版本号
发布版本号 1.el7 为centos 7
平台位数 x86_64(i386)centos7 不再区分32和64位,高位数版本系统向下兼容 rpm 包

7.3 rpm工具用法

rpm 命令用法

命令 运行描述
rpm -ivh 包文件(rpm包的全名) //安装
rpm -Uvh 包文件 (rpm包的全名) //升级
rpm -e 包名 //卸载(卸载,一般都会有依赖的包,需要先吧依赖的包卸载以后,才能卸载这个包)
rpm -qa //查询已经安装的包
rpm -q 包名 //查询指定包是否安装
rpm -qi 包名 //查询指定包信息
rpm -ql 包名 //列出包安装的文件
rpm -qf 文件绝对路径 //查看一个文件是由哪个包安装的

-q示例 :

[root@aminglinux-01Packages]#rpm-qpppppp-2.4.5-33.el7.x86_64
[root@aminglinux-01Packages]#rpm-qppp1未安装软件包ppp1

安装的会直接提示,ppp 的全名,未安装也会有相关提示

-qi 示例:

[root@aminglinux-01Packages]#rpm-qivim-enhanced
Name:vim-enhanced
Epoch:2
Version:7.4.160Release:1.el7_3.1Architecture:x86_64InstallDate:2017年06月06日星期二21时36分38秒Group:Applications/EditorsSize:2292098License:Vim
Signature:RSA/SHA256,2016年12月22日星期四01时14分11秒,KeyID24c6a8a7f4a80eb5SourceRPM:vim-7.4.160-1.el7_3.1.src.rpmBuildDate:2016年12月22日星期四01时00分52秒BuildHost:c1bm.rdu2.centos.org
Relocations:(notrelocatable)
Packager:CentOSBuildSystem<http://bugs.centos.org>
Vendor:CentOSURL:http://www.vim.org/
Summary:AversionoftheVIMeditorwhichincludesrecentenhancements
Description:
VIM(VIsualeditoriMproved)isanupdatedandimprovedversionofthe
vieditor.Viwasthefirstrealscreen-basededitorforUNIX,andisstillverypopular.VIMimprovesonvibyaddingnewfeatures:
multiplewindows,multi-levelundo,blockhighlightingandmore.The
vim-enhancedpackagecontainsaversionofVIMwithextra,recently
introducedfeatureslikePythonandPerlinterpreters.Installthevim-enhancedpackageifyou'dliketouseaversionofthe
VIMeditorwhichincludesrecentlyaddedenhancementslike
interpretersforthePythonandPerlscriptinglanguages.You'llalso
needtoinstallthevim-commonpackage.

-ql 示例:

[root@aminglinux-01Packages]#rpm-qlvim-enhanced
/etc/profile.d/vim.csh
/etc/profile.d/vim.sh/usr/bin/rvim
/usr/bin/vim/usr/bin/vimdiff
/usr/bin/vimtutor

-qf 示例:

[root@aminglinux-01Packages]#rpm-qf/usr/bin/rvimvim-enhanced-7.4.160-1.el7_3.1.x86_64

-qf 拓展:

[root@aminglinux-01Packages]#rpm-qf`whichcd`bash-4.2.46-20.el7_2.x86_64

` 等同于先执行查找 cd 的路径,然后再通过 rpm -qf 查找 这个路径文件是由哪个rpm 包安装的(前提,这个包已经安装了,如果没有安装是查找不到的),如果 命令做有别名,是没有办法执行的

7.4 yum工具用法

  • yum 命令用法 yum 安装工具,能自动解决依赖关系的安装包问题

yum list //列出可用rpm包

列出的部分信息:

安装的名字、信息
版本号 及 平台版本号 仓库名字
zsh.x86_64 5.0.2-25.el7_3.1 updates
zsh-html.x86_64 5.0.2-25.el7_3.1 updates
zziplib.i686 0.13.62-5.el7 base
zziplib.x86_64 0.13.62-5.el7 base

查看yum的配置文件信息

运行 ls /etc/yum.repos.d/ 可以查看到以下信息

[root@aminglinux-01Packages]#cat/etc/yum.repos.d/CentOS-Base.repo#CentOS-Base.repo##ThemirrorsystemusestheconnectingIPaddressoftheclientandthe#updatestatusofeachmirrortopickmirrorsthatareupdatedtoand#geographicallyclosetotheclient.YoushouldusethisforCentOSupdates#unlessyouaremanuallypickingothermirrors.##Ifthemirrorlist=doesnotworkforyou,asafallbackyoucantrythe#remarkedoutbaseurl=lineinstead.##[base]仓库
name=CentOS-$releasever-Basemirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#releasedupdates[updates]
name=CentOS-$releasever-Updatesmirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

yum search vim //搜索包 搜索到的包,匹配的字母信息,不论大小写,不够精准

yum list |grep 'vim' 搜索命令属于哪个包,会以红色高亮匹配字符

yum install [-y] -y 免询问

yum grouplist 把可用的组显示出来,看到的组都可以使用yum 进行安装,因为是centos7 所以默认显示的中文,中文的组是没有办法直接安装的,需要使用 LANG=en 切换为英文以后才能进行组的安装

yum groupinstall [-y] 安装组,如果,组有特殊字符,需要使用‘’这个字符括起来,

yum remove [-y] 卸载

yum update [-y] 如果不加任何包名,会默认的升级所有的安装包,包括系统、内核;已经安装了一些环境以后,最好不要做这个操作

yum provides “/*/vim”搜索命令,由哪个包安装,前提是vim 是没有安装的

7.5 yum搭建本地仓库

因为默认的仓库是需要联网的,有时,yum 没有联网,就没有办法使用yum ,这是就需要搭建本地的仓库 搭建仓库的前提是,必须有一个镜像,能访问到这个文件

创建一个 dvd.repo 文件 将下面的信息添加到其中

[dvd]
name=installdvd定义名字
baseurl=file:///mnt源的路径enable=1是否可用1为可用
gpgcheck=0是否检查0为不检查
yumcleanallyum的缓存清除
yumlist|less分屏查看rpm包
biosdevname.x86_640.7.2-1.el7@anaconda
btrfs-progs.x86_644.4.1-1.el7@anaconda
bzip2.x86_641.0.6-13.el7@base

最后一想,有 @ 表示已经安装过的rpm包

这样操作的理由是,方便使用本地的光盘,作为一个仓库,能很方便的去安装依赖的包。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2280端口映射到公网,发现经常被暴力破解,自己写了个临时封禁ip功能的脚本,实现5分钟内同一个ip登录密码错误10次就封禁这个ip5分钟,并且进行邮件通知使用步骤openwrt为19.07.03版本,其他版本没有测试过安装bashmsmtpopkg
#!/bin/bashcommand1&command2&wait从Shell脚本并行运行多个程序–杨河老李(kviccn.github.io)
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/phpls-ls 2.编辑修改.bash_profile文件(没有.bash_profile文件的情况下回自动创建)sudovim~/.bash_profile在文件的最后输入以下信息,然后保存退出exportPATH="/Applications/MAMP/bin/php/php7.2.20/b
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如zh_CN之类的语言包,进行中文语言包装:apt-getinstalllanguage-pack-zh-hans3、安装好后我们可以进行临时修改:然后添加中文支持: locale-genzh_CN.UTF-8临时修改> export LC_ALL='zh_CN.utf8'> locale永久
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexadecimalbash2#[0~1]0[0~7]0x[0~f]or0X[0~f]perl0b[0~1]0[0~7]0x[0~f]tcl0b[0~1]0o[0~7]0x[0~f]bashdifferentbaserepresntationreference2.StringlengthLanguageStr
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全命令补全方法:yum-yinstallbash-completionsource/usr/share/bash-completion/bash_completionsource<(kubectlcompletionbash)echo"source<(kubectlcompletionbash)">>~/.bashrc 
参考这里启动jar包shell脚本修改过来的#!/bin/bash#默认应用名称defaultAppName='./gadmin'appName=''if[[$1&&$1!=0]]thenappName=$1elseappName=$defaultAppNamefiecho">>>>>>本次重启的应用:$appName<
#一个数字的行#!/bin/bashwhilereadlinedon=`echo$line|sed's/[^0-9]//g'|wc-L`if[$n-eq1]thenecho$linefidone<1.txt#日志切割归档#!/bin/bashcd/data/logslog=1.logmv_log(){[-f$1]&&mv$1$2
#文件增加内容#!/bin/bashn=0cat1.txt|whilereadlinedon=[$n+1]if[$n-eq5]thenecho$lineecho-e"#Thisisatestfile.\n#Testinsertlineintothisfile."elseecho$linefidone#备份/etc目录#
# su - oraclesu: /usr/bin/ksh: No such file or directory根据报错信息:显示无法找到文件 /usr/bin/ksh果然没有该文件,但是发现存在文件/bin/ksh,于是创建了一个软连接,可以规避问题,可以成功切换到用户下,但无法执行系统自带命令。$. .bash_profile-ksh: .: .b
history显示历史指令记录内容,下达历史纪录中的指令主要的使用方法如果你想禁用history,可以将HISTSIZE设置为0:#exportHISTSIZE=0使用HISTIGNORE忽略历史中的特定命令下面的例子,将忽略pwd、ls、ls-ltr等命令:#exportHISTIGNORE=”pwd:ls:ls-ltr:”使用HIS
一.命令历史  1.history环境变量:    HISTSIZE:输出的命令历史条数,如history的记录数    HISTFILESIZE:~/.bash_history保存的命令历史记录数    HISTFILLE:历史记录的文件路径    HISTCONTROL:     ignorespace:忽略以空格开头的命令
之前在网上看到很多师傅们总结的linux反弹shell的一些方法,为了更熟练的去运用这些技术,于是自己花精力查了很多资料去理解这些命令的含义,将研究的成果记录在这里,所谓的反弹shell,指的是我们在自己的机器上开启监听,然后在被攻击者的机器上发送连接请求去连接我们的机器,将被攻击者的she
BashOne-LinersExplained,PartI:Workingwithfileshttps://catonmat.net/bash-one-liners-explained-part-oneBashOne-LinersExplained,PartII:Workingwithstringshttps://catonmat.net/bash-one-liners-explained-part-twoBashOne-LinersExplained,PartII
Shell中变量的作用域:在当前Shell会话中使用,全局变量。在函数内部使用,局部变量。可以在其他Shell会话中使用,环境变量。局部变量:默认情况下函数内的变量也是全局变量#!/bin/bashfunctionfunc(){a=99}funcecho$a输出>>99为了让全局变量变成局部变量
1、多命令顺序执行;  命令1;命令2  多个命令顺序执行,命令之间没有任何逻辑联系&&  命令1&&命令2  逻辑与,当命令1正确执行,才会执行命令2||  命令1||命令2  逻辑或,当命令1执行不正确,才会执行命令2例如:ls;date;cd/home/lsx;pwd;who ddif=输入文件of=输
原博文使用Linux或者unix系统的同学可能都对#!这个符号并不陌生,但是你真的了解它吗?首先,这个符号(#!)的名称,叫做"Shebang"或者"Sha-bang"。Linux执行文件时发现这个格式,会把!后的内容提取出来拼接在脚本文件或路径之前,当作实际执行的命令。 Shebang这个符号通常在Unix系统的脚本
1、历史命令history[选项][历史命令保存文件]选项:-c:  清空历史命令-w:  把缓存中的历史命令写入历史命令保存文件 ~/.bash_historyvim/etc/profile中的Histsize可改存储历史命令数量历史命令的调用使用上、下箭头调用以前的历史命令使用“!n”重复执行第n条历史
目录1.Shell脚本规范2.Shell脚本执行3.Shell脚本变量3.1环境变量3.1.1自定义环境变量3.1.2显示与取消环境变量3.1.3环境变量初始化与对应文件的生效顺序3.2普通变量3.2.1定义本地变量3.2.2shell调用变量3.2.3grep调用变量3.2.4awk调用变量3.3
   http://www.voidcn.com/blog/wszzdanm/article/p-6145895.html命令功能:显示登录用户的信息命令格式:常用选项:举例:w显示已经登录的用户及正在进行的操作[root@localhost~]#w 11:22:01up4days,21:22, 3users, loadaverage:0.00,0.00,0.00USER