2020-04-10 软件包管理

挂载光盘小技巧
确保设备状态下的两个选项已勾选如图


image.png

[root@centos7 ~]# systemctl start autofs
[root@centos7 ~]# systemctl enable autofs
Created symlink from /etc/systemd/system/multi-user.target.wants/autofs.service to /usr/lib/systemd/system/autofs.service.
[root@centos7 ~]# cd
[root@centos7 ~]# ls /misc
[root@centos7 ~]# cd /misc
[root@centos7 misc]# cd cd/ 进入系统光盘
[root@centos7 cd]# ls
CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7
EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL

CentOS系统上使用rpm命令管理程序包:
安装、卸载、升级、查询、校验、数据库维护
安装:
rpm {-i|--install} [install-options] PACKAGE_FILE…
-v: verbose
-vv:
-h: 以#显示程序包管理执行进度
rpm -ivh PACKAGE_FILE ...
[install-options]
--test: 测试安装,但不真正执行安装,即dry run模式
--nodeps:忽略依赖关系
--replacepkgs | replacefiles
--nosignature: 不检查来源合法性
--nodigest:不检查包完整性
--noscripts:不执行程序包脚本
%pre: 安装前脚本 --nopre
%post: 安装后脚本 --nopost
%preun: 卸载前脚本 --nopreun
%postun: 卸载后脚本 --nopostun
rpm包升级
升级:
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)后保留
[root@centos7 ~]# ldd /bin/cat 查看调用依赖的库
linux-vdso.so.1 => (0x00007ffeb6ff4000)
libc.so.6 => /lib64/libc.so.6 (0x00007f34f324a000)
/lib64/ld-linux-x86-64.so.2 (0x00007f34f3617000)
[root@centos7 Packages]# rpm -e tree 卸载包
[root@centos7 Packages]# tree
-bash: /usr/bin/tree: No such file or directory
[root@centos7 Packages]# rpm -qpi tree-1.6.0-10.el7.x86_64.rpm 查询包信息
Name : tree
Version : 1.6.0
Release : 10.el7
Architecture: x86_64
Install Date: (not installed)
Group : Applications/File
Size : 89505
License : GPLv2+
Signature : RSA/SHA256, Fri 04 Jul 2014 01:36:46 PM CST, Key ID 24c6a8a7f4a80eb5
Source RPM : tree-1.6.0-10.el7.src.rpm
Build Date : Tue 10 Jun 2014 03:28:53 AM CST
Build Host : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem http://bugs.centos.org
Vendor : CentOS
URL : http://mama.indstate.edu/users/ice/tree/
Summary : File system tree viewer
Description :
The tree utility recursively displays the contents of directories in a
tree-like format. Tree is basically a UNIX port of the DOS tree
utility.
[root@centos7 Packages]# rpm -ql tree 查询包的安装位置
/usr/bin/tree
/usr/share/doc/tree-1.6.0
/usr/share/doc/tree-1.6.0/LICENSE
/usr/share/doc/tree-1.6.0/README
/usr/share/man/man1/tree.1.gz
[root@centos7 Packages]# rpm -qa "tr" 查询安装过的包 可模糊查询 支持管道正则查询
tree-1.6.0-10.el7.x86_64
traceroute-2.0.22-2.el7.x86_64
trousers-0.3.14-2.el7.x86_64
tracker-1.10.5-6.el7.x86_64
[root@centos7 Packages]# rpm -qf /usr/bin/tree 查询文件来自哪个包
tree-1.6.0-10.el7.x86_64
[root@centos7 Packages]# rpm -e --nodeps tree 不考虑依赖性直接卸载
[root@centos7 cd]# rpm --import /misc/cd/RPM-GPG-KEY-CentOS-7 导入包验证 光盘导入
[root@localhost ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 系统本地导入
[root@centos7 cd]# rpm -qa "gpg-pubkey
" 查看秘钥
gpg-pubkey-f4a80eb5-53a7ff4b 秘钥
[root@centos7 cd]# rpm -qi gpg-pubkey-f4a80eb5-53a7ff4b 查看秘钥信息
Name : gpg-pubkey
Version : f4a80eb5
Release : 53a7ff4b
Architecture: (none)
Install Date: Thu 02 Apr 2020 05:22:08 PM CST
Group : Public Keys
[root@centos7 data]# ls
etc etc.tar fstab fstab.bak messages passwd shell tes tree-1.6.0-10.el7.x86_64.rpm t.sh
[root@centos7 data]# rpm -K tree-1.6.0-10.el7.x86_64.rpm
tree-1.6.0-10.el7.x86_64.rpm: rsa sha1 (md5) pgp md5 OK 校验包的完整安全性
/var/lib/rpm 包数据库 必要时可备份 在包库破损时恢复
rpm -ivh -e -qi -ql -qf -qpi rpmfile -qc -q --scripts -qa --force --nodeps 重点熟悉命令
yum

[root@centos7localdomain cd]# cd /etc/yum.repos.d/
[root@centos7localdomain yum.repos.d]# ls
CentOS-Base.repo CentOS-CR.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Sources.repo CentOS-Vault.repo
[root@centos7localdomain yum.repos.d]# mkdir bak
[root@centos7localdomain yum.repos.d]# mv *.repo bak/ 将系统自带的yum源剪切到bak文件夹中
[root@centos7localdomain yum.repos.d]# vim bash.repo
[root@centos7localdomain yum.repos.d]# cat bash.repo
[base] 基于光盘
name=cdrom base
baseurl=file:///misc/cd
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

校检包的合法性

[epel]
name=aliyun epel 基于网络 阿里云的epel
baseurl=https://mirrors.aliyun.com/epel/releasever/basearch/
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1

1启用 0 禁止

[root@centos7localdomain yum.repos.d]# ls /var/cache/yum//x86_64/7/
base extras timedhosts timedhosts.txt updates
[root@centos7localdomain yum.repos.d]# yum clean all
Loaded plugins: fastestmirror, langpacks
Cleaning repos: base epel
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
[root@centos7localdomain yum.repos.d]# rm -rf /var/cache/yum/* 清空yum源缓存 用于更改yum源后的操作 确保旧的缓存清理干净
[root@centos7localdomain yum.repos.d]# yum repolist 下载元数据
Loaded plugins: fastestmirror, langpacks
Determining fastest mirrors
base | 3.6 kB 00:00:00
epel | 4.7 kB 00:00:00
(1/5): base/group_gz | 166 kB 00:00:00
(2/5): base/primary_db | 3.1 MB 00:00:00
(3/5): epel/7/x86_64/group_gz | 95 kB 00:00:00
(4/5): epel/7/x86_64/updateinfo | 1.0 MB 00:00:00
(5/5): epel/7/x86_64/primary_db | 6.8 MB 00:00:00
repo id repo name status
base cdrom base 4,021
epel/7/x86_64 aliyun epel 13,246
repolist: 17,267
[root@centos7localdomain yum.repos.d]#

yum clean all 清空yum源缓存
rm -rf /var/cache/yum/* 清空yum元缓存 保持环境干净
yum repolist 下载元缓存

[root@centos7localdomain yum.repos.d]# yum remove httpd 卸载httpd包本身 不卸载依赖包

yum history undo 5 -y 卸载yum第五个
yum history redo 5 -y 重装第五个

[root@centos7localdomain yum.repos.d]# yum history info 3 查看第三个yum命令
Loaded plugins: fastestmirror, langpacks
Transaction ID : 3
Begin time : Sat Apr 18 10:52:29 2020
Begin rpmdb : 1364:91cf775895ed404174076e9ffc54b9a134a778a9
End time : 10:52:44 2020 (15 seconds)
End rpmdb : 1369:37319588d001be7f5b11d0f21eb9950c525c16c0
User : root <root>
Return-Code : Success
Command Line : install httpd yum命令
Transaction performed with:
Installed rpm-4.11.3-32.el7.x86_64 @anaconda
Installed yum-3.4.3-158.el7.centos.noarch @anaconda
Installed yum-plugin-fastestmirror-1.1.31-45.el7.noarch @anaconda
yum install /misc/cd/Packages/下载包 可根据需求直接安装依赖包

[root@centos7localdomain html]# echo '- - -' > /sys/class/scsi_host/host2/scan 扫描外接设备
[root@centos7localdomain html]# lsblk
[root@centos7localdomain html]# mount /dev/sr0 centos/7/os/x86_64/ 临时挂载
mount: /dev/sr0 is write-protected, mounting read-only

编译安装
功能可定制
配好yum源后 下载安装编译器
yum install gcc
C语言源代码编译安装三步骤:
1、./configure
(1) 通过选项传递参数,指定启用特性、安装路径等;执行时会参考用户的指定以及Makefile.in文件生成Makefile
(2) 检查依赖到的外部环境,如依赖的软件包
2、make 根据Makefile文件,构建应用程序
3、make install 复制文件到相应路径

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343