7.1 安装软件包的三种方法

(1)rpm工具
(2)yum工具
(3)源码包

7.2 rpm包介绍

RPM是 “Redhat Package Manager” 的缩写,是以一种数据库记录的方式来将你所需要的套件安装到你的Linux 主机的一套管理程序。也就是说,你的linux系统中存在着一个关于RPM的数据库,它记录了安装的包以及包与包之间依赖相关性。

RPM包是预先在linux机器上编译好并打包好的文件,安装起来非常快捷。但是也有一些缺点,比如安装的环境必须与编译时的环境一致或者相当;包与包之间存在着相互依赖的情况;卸载包时需要先把依赖的包卸载掉,如果依赖的包是系统所必须的,那就不能卸载这个包,否则会造成系统崩溃。

如果你的光驱中还有系统安装盘的话,我们可以通过 mount /dev/cdrom /mnt 命令把光驱挂载到/mnt目录下,那么你会在/mnt/Packages目录下看到很多.rpm的文件,这就是RPM包了。
mount /dev/cdrom /mnt #挂载光驱
rpm包格式:
包名,版本号,发布版本号,平台,例如:
python-2.7.5-58.el7.x86_64.rpm

7.3 rpm工具用法

rpm -ivh rpm包文件 //安装
rpm -Uvh rpm包文件 //升级
rpm -e 包名 //卸载
rpm -qa //查询安装的包
rpm -q 包名 //查询指定的包是否安装
rpm -qi 包名 //查询指定包信息
rpm -ql 包名 //列出包安装的文件
rpm -qf 文件绝对路径 //查看一个文件是由哪个包安装的
<------------------------------------------------------------------------------------->
[root@localhost mnt]# rpm -ivh Packages/zsh-5.0.2-28.el7.x86_64.rpm
准备中... ################################# [100%]
正在升级/安装...
1:zsh-5.0.2-28.el7 ################################# [100%]
[root@localhost mnt]# rpm -e zsh
[root@localhost mnt]# rpm -qa | grep zip
zip-3.0-11.el7.x86_64
gzip-1.5-9.el7.x86_64
bzip2-libs-1.0.6-13.el7.x86_64
bzip2-1.0.6-13.el7.x86_64
unzip-6.0-16.el7.x86_64
[root@localhost mnt]# rpm -q zip
zip-3.0-11.el7.x86_64
[root@localhost mnt]# rpm -qi zip
Name : zip
Version : 3.0
Release : 11.el7
Architecture: x86_64
Install Date: 2018年01月06日 星期六 21时24分51秒
Group : Applications/Archiving
Size : 815173
License : BSD
Signature : RSA/SHA256, 2016年11月21日 星期一 05时04分58秒, Key ID 24c6a8a7f4a80eb5
Source RPM : zip-3.0-11.el7.src.rpm
Build Date : 2016年11月06日 星期日 00时49分55秒
Build Host : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org&gt;
Vendor : CentOS
URL : http://www.info-zip.org/Zip.html
Summary : A file compression and packaging utility compatible with PKZIP
Description :
The zip program is a compression and file packaging utility. Zip is
analogous to a combination of the UNIX tar and compress commands and
is compatible with PKZIP (a compression and file packaging utility for
MS-DOS systems).

Install the zip package if you need to compress files using the zip
program.
[root@localhost mnt]# rpm -ql zip
/usr/bin/zip
/usr/bin/zipcloak
/usr/bin/zipnote
/usr/bin/zipsplit
/usr/share/doc/zip-3.0
/usr/share/doc/zip-3.0/CHANGES
/usr/share/doc/zip-3.0/LICENSE
/usr/share/doc/zip-3.0/README
/usr/share/doc/zip-3.0/README.CR
/usr/share/doc/zip-3.0/TODO
/usr/share/doc/zip-3.0/WHATSNEW
/usr/share/doc/zip-3.0/WHERE
/usr/share/doc/zip-3.0/algorith.txt
/usr/share/man/man1/zip.1.gz
/usr/share/man/man1/zipcloak.1.gz
/usr/share/man/man1/zipnote.1.gz
/usr/share/man/man1/zipsplit.1.gz
[root@localhost mnt]# rpm -qf /usr/bin/ls
coreutils-8.22-18.el7.x86_64
[root@localhost mnt]#
[root@localhost mnt]# rpm -qf which cd#先查询cd的绝对路径然后将查询到的结果传给rpm去查询,此处`是反引号
bash-4.2.46-28.el7.x86_64
[root@localhost mnt]#
<------------------------------------------------------------------------------------->

7.4 yum工具用法

yum与rpm工具不同之处在于yum能自动解决包依赖关系,不像rpm需要手动去安装依赖的包.
yum list //列出系统中可用的rpm包
yum list | grep 'vim' //搜索含有vim的包名
ls /etc/yum.repos.d/ //查看yum相关的配置文件,比较重要的有/etc/yum.repos.d/CentOS-Base.repo
yum search 包名 //搜索一个包
yum install [-y] //安装一个包
yum remove [-y] //卸载一个包(比较危险,谨慎使用!)
yum grouplist //列出系统中可用的组
yum groupinstall [-y] #安装组(里的所有包)
yum update [-y] #升级一个包
yum provides "/*/vim" #搜索包喊该命令的所有的包
<------------------------------------------------------------------------------------>
[root@localhost yum.repos.d]# yum grouplist
已加载插件:fastestmirror
没有安装组信息文件
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile

  • base: mirrors.cqu.edu.cn
  • extras: mirrors.cn99.com
  • updates: mirrors.cn99.com
    可用的环境分组:
    最小安装
    基础设施服务器
    计算节点
    文件及打印服务器
    基本网页服务器
    虚拟化主机
    带 GUI 的服务器
    GNOME 桌面
    KDE Plasma Workspaces
    开发及生成工作站
    可用组:
    传统 UNIX 兼容性
    兼容性程序库
    图形管理工具
    安全性工具
    开发工具
    控制台互联网工具
    智能卡支持
    科学记数法支持
    系统管理
    系统管理工具
    完成
    [root@localhost yum.repos.d]#
    <------------------------------------------------------------------------------------>

7.5 yum搭建本地仓库

我们通过yum安装一个包时,yum默认会连接到远程的仓库去下载并安装,这是在/etc/yum.repos.d/CentOS-Base.repo中配

置的.如果访问不了网络又想使用yum,则可搭建本地的yum仓库,方法如下:
(1)首先,要有光盘镜像可供使用(提供这些包啊)
(2)挂载镜像到/mnt目录
(3)先备份yum配置目录/etc/yum.repos.d/
cp -r /etc/yum.repos.d /etc/yum.repos.d.bak
(4)删除yum配置目录/etc/yum.repos.d下所有配置文件
rm -f /etc/yum.repos.d/*
(5)vim /etc/yum.repos.d/dvd.repo //内容如下:
[dvd]
name=install dvd
baseurl=file:///mnt
enable=1
gpgcheck=0
(6)yum clean all #清除yum历史信息
(7)yum list #查看新的可用的包

转载于:https://blog.51cto.com/13517946/2058833

2018-1-8 Linux学习笔记相关推荐

  1. Linux学习笔记-文件权限与路径

    Linux学习笔记-文件与目录 目前从电子信息科学与技术转到了计算机专业,因此想趁着大四比较闲的时候补一些计算机的知识.我想说:你好,生活[斜眼笑]!愿生活温柔以待!哈哈,这是我写的第一篇博客,谨以此 ...

  2. Linux学习笔记---命令篇

    Linux学习笔记-命令篇 本笔记是根据尚硅谷的Linux视频,经过自己的总结得出来的笔记,分为两个大章节,一-四章讲的是Linux的文件目录结构.vim编辑器.网络配置和系统管理.进程和服务.第二个 ...

  3. linux rcs文件中的ip,linux学习笔记之diff和patch命令

    关键字:Linux 学习笔记 运维 系统 命令 一.命令的功能 diff命令的功能为逐行比较两个文本文件,列出其不同之处.可是做成diff记录也就是补丁. patch就是利用diff制作的补丁来打到文 ...

  4. (零)我为什么要写Linux学习笔记?

    我对Linux有强烈的好奇心,兴趣:写学习笔记会让我有成就感:我记忆力实在不好.好吧,其实真正原因是:如果我能把自己学到的知识简明扼要的讲出来,写出来,那便证明我真的学懂了我想学的知识.没时间怎么办? ...

  5. linux添加自己的库,Linux学习笔记——例叙makefile 增加自定义共享库

    Linux学习笔记--例说makefile 增加自定义共享库 0.前言 从学习C语言开始就慢慢开始接触makefile,查阅了很多的makefile的资料但总感觉没有真正掌握makefile,如果自己 ...

  6. Linux 学习笔记之超详细基础linux命令 Part 3

    Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 2----------------- ...

  7. Linux学习笔记(二)|常用命令

    Linux学习笔记(二)常用命令 1.文件处理命令 1.1命令格式与目录处理 -ls 功能描述:显示目录文件 原意:list 所在路径:/bin/ls 语法: ls-a 显示所有文件,包括隐藏文件 l ...

  8. Linux学习笔记(一)|目录结构

    Linux学习笔记(一) #一.Linux的目录结构 Linux采用层级式的树状目录结构,根目录为"/",在此目录下创建其他目录. /lib 系统开机所需要最基本的动态链接共享库 ...

  9. 20155303狄惟佳预备作业三Linux学习笔记

    20155303狄惟佳预备作业三Linux学习笔记 初次接触Ubuntu系统以及Linux内核,了解了其产生的历史,从感性来讲,深深吸引我的是其中蕴含的珍贵的开源精神,以及Stallman等人对&qu ...

  10. LINUX学习笔记共五部分

    LINUX学习笔记1--LINUX系统命令 1.         界面切换: a)         进入字符界面:按住ctrl+alt+F1: 1.         首先需要进入用户登入,输入用户名和 ...

最新文章

  1. IO模型之非阻塞IO
  2. wxpython 安装_下载和安装wxPython
  3. 分号是c语言中,问什么C程序里总是提示缺少分号;,而明明有分号?
  4. personalization icon is missing in UI
  5. 在屏幕上将1234逐位打印出来1,2,3,4
  6. 捣蛋鹅显示服务器已满,无题大鹅模拟奖杯攻略分享
  7. instrumentation模拟很多activity的操作
  8. java8新特性(3)--- 函数式接口
  9. hdf5 matlab,通过MATLAB将矩阵数据写入HDF5文件中的每个数据类型成员
  10. eclipse在线安装ivy和ivyde
  11. OpenCV精进之路(十五):特征检测和特征匹配方法汇总
  12. dw向右滚动字幕HTML,DW滚动文字代码肿么添加?
  13. A4988驱动步进电机教学
  14. 通向实在之路暂记002:毕达哥拉斯定理与平行公设
  15. Adaptive vision
  16. [容斥 状压DP] Atcoder ARC093 F - Dark Horse
  17. 钒酸钠的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  18. Jenkins 如何使用 CrumbIssuer 防御 CSRF 攻击
  19. python有哪些主要功能包括_python是什么 特点及功能
  20. Nokia n97详解

热门文章

  1. 华为nova3android,华为nova3和3i哪个好 华为nova3i和nova3区别对比
  2. Html做弹出式菜单,JavaScript制作的可折叠弹出式菜单示例
  3. C语言playsoundw函数,使用inline hook实现修改PC微信通知铃声-哥哥微信来了
  4. iis7.5 php7.0,(原创)win7自带IIS7.5+php7.0.10安装教程(图)
  5. 5首页加载慢_5个 外贸建站谷歌SEO优化技巧
  6. 2021年春季学期-信号与系统-第十五次作业参考答案-第八小题参考答案
  7. 智能车大赛AI视觉组参考答案
  8. 第十一届全国大学生智能汽车竞赛获奖名单
  9. 动图与数据同步关系研究
  10. linux nat span端口镜像,端口镜像span、rspan实现数据检测