Linux系统软件包的管理   3月30日课程

Linux系统软件包的管理

一、 rpm工具

rpm Redhat Package Manager, 设计理念是开放的,不仅仅是在RedHat平台上,在SUSE上也是可以使用的。

rpm包名字构成由-和.分成了若干部分,如abrt-cli-2.0.8-15.el6.centos.i686.rpm,

abrt-cli:是包名

2.0.8-15:是版本号

el6:指的是redhat企业版6

centos:指的是这是在centos上用的

i686:指的是平台类型

有些rpm包并没有写具体的平台而是noarch,这代表这个rpm包没有硬件平台限制。

挂载光驱

[[email protected] ~]# mount /dev/cdrom /mnt/
mount: block device /dev/sr0 is write-protected, mounting read-only

write-protected:写保护

1、安装一个包

[[email protected] mnt]# rpm -ivh /mnt/Packages/libjpeg-turbo-devel-1.2.1-1.el6.i686.rpm

-i: 表示安装

-v :可视化

-h:显示安装进度

--force : 强制安装,即使覆盖属于其他包的文件也要安装

--nodeps : 当要安装的rpm包依赖其他包时,即使其他包没有安装,也要安装这个包

[[email protected] mnt]# rpm -ivh --nodeps  /mnt/Packages/libjpeg-turbo-devel-1.2.1-1.el6.i686.rpm
Preparing...                ########################################### [100%]
   1:libjpeg-turbo-devel    ########################################### [100%]

升级:rpm -Uvh filename.rpm

-U 就是升级的意思

[[email protected] mnt]# echo $?
0

检查上一步安装是否正确,如果正确显示数字0,如果不正确显示其他的数字

2、rpm的卸载:

rpm -e filename  #这里的filename是通过rpm的查询功能所查询到的

查询包名

[[email protected] mnt]# rpm -qa |grep libj
libjpeg-turbo-1.2.1-3.el6_5.x86_64
libjpeg-turbo-devel-1.2.1-1.el6.i686

这里libj并不是包名的全称,只是大概记得,类似于模糊搜索的功能,这样已查询就可以把所有

以libj开头的包全部显示出来,然后找到自己需要的那一个来卸载

卸载包

[[email protected] mnt]# rpm -e libjpeg-turbo-devel

查询一个包是否安装

rpm -q  包名   (不带有平台信息以及后缀名 )

[[email protected] mnt]# rpm -q libjpeg-turbo-devel
package libjpeg-turbo-devel is not installed

查询当前系统所有安装过的rpm包

rpm -qa

[[email protected] mnt]# rpm -qa
wdaemon-0.17-5.el6.x86_64
gnome-python2-bonobo-2.28.0-3.el6.x86_64
.........省略掉,太多了

查询rpm包的相关信息 :

rpm -qi 包名

[[email protected] mnt]# rpm -qi libjpeg-turbo-devel
Name        : libjpeg-turbo-devel          Relocations: (not relocatable)
Version     : 1.2.1                             Vendor: CentOS
Release     : 1.el6                         Build Date: 2013年02月22日 星期五 06时49分08秒
Install Date: 2015年03月29日 星期日 21时23分29秒      Build Host: c6b9.bsys.dev.centos.org
Group       : Development/Libraries         Source RPM: libjpeg-turbo-1.2.1-1.el6.src.rpm
Size        : 321085                           License: wxWidgets
Signature   : RSA/SHA1, 2013年02月24日 星期日 01时53分55秒, Key ID 0946fca2c105b9de
Packager    : CentOS BuildSystem <http://bugs.centos.org>
URL         : http://sourceforge.net/projects/libjpeg-turbo
Summary     : Headers for the libjpeg-turbo library
Description :
This package contains header files necessary for developing programs which
will manipulate JPEG files using the libjpeg-turbo library.

列出一个rpm所安装的文件:

rpm -ql 包名(好像不写版本号也是可以的)

[[email protected] mnt]# rpm -ql libjpeg-turbo-devel
/usr/include/jconfig.h
/usr/include/jerror.h
/usr/include/jmorecfg.h
/usr/include/jpeglib.h
/usr/lib/libjpeg.so
/usr/share/doc/libjpeg-turbo-devel-1.2.1
/usr/share/doc/libjpeg-turbo-devel-1.2.1/coderules.txt
/usr/share/doc/libjpeg-turbo-devel-1.2.1/example.c
/usr/share/doc/libjpeg-turbo-devel-1.2.1/jconfig.txt
/usr/share/doc/libjpeg-turbo-devel-1.2.1/libjpeg.txt
/usr/share/doc/libjpeg-turbo-devel-1.2.1/structure.txt

查询某个文件属于哪个rpm包安装的

rpm -qf filename  #这里可以结合反引号一起使用,比如 rpm -qf `which yum`

filename这里有两种写法:

第一种:

使用which yum得出yum的绝对路径

[[email protected] mnt]# which yum
/usr/bin/yum
[[email protected] mnt]# rpm -qf /usr/bin/yum
yum-3.2.29-60.el6.centos.noarch

第二种:

直接使用反引号一步得出接过来

[[email protected] mnt]# rpm -qf `which yum`
yum-3.2.29-60.el6.centos.noarch

反引号的作用表示就是把引号中命令的结果放在那个位置

二、 yum工具

列出所有可用rpm包资源

yum list

[[email protected] ~]# yum list

搜索某个包

yum search [关键词]

[[email protected] ~]# yum search vim

使用grep来过滤某个包

yum list |grep ‘关键词‘

[[email protected] ~]# yum list |grep ‘vim‘
vim-common.x86_64                        2:7.2.411-1.8.el6              @base   
vim-enhanced.x86_64                      2:7.2.411-1.8.el6              @base   
vim-minimal.x86_64                       2:7.2.411-1.8.el6              @anaconda-CentOS-201311272149.x86_64/6.5
vim-X11.x86_64                           2:7.2.411-1.8.el6              base

@:表示的是已经安装过的包

yum 安装包

yum install -y  filename(包名)

[[email protected] ~]# yum -y install vim

-y:省略掉和用户的交换,也就是问你是否要安装或者卸载

yum 卸载包:

yum remove  -y filename (包名)

[[email protected] ~]# yum remove -y vim

卸载包的时候一定要注意,最好不要使用-y,以防把其他有用的包卸载了,还不知道

yum升级包:

yum update -y filename(包名)

[[email protected] ~]# yum update -y vim

yum查找某个命令是由那个包安装的

yum provides  "*/vim"

[[email protected] ~]# yum provides ‘*/vim‘

列出所有的套件

yum grouplist

[[email protected] ~]# yum grouplist

安装套件

yum groupinstall

卸载套件

yum groupremove

三、创建本地的yum源

yum配置文件目录:/etc/yum.reos.d

1、挂载光盘

[[email protected] ~]# mount /dev/cdrom /mnt

2、修在yum配置文件,但是在修在之前先备份一下/etc/yum.repos.d这个目录

[[email protected] ~]# cp -r /etc/yum.repos.d/ /etc/yum.repos.d_back

-r:备份目录的参数

3、删除/etc/yum.repos.d目录下的所有文件

[[email protected] yum.repos.d]# rm -rf *

4、使用vim编辑一个dvd.reo文件

需要注意的是.repo是固定的格式不能更改。

[[email protected] yum.repos.d]# vim dvd.repo  #加入如下内容:
[dvd]              #yum源的名字,可以随意起
name=install dvd   #yum源的描述信息
baseurl=file:///mnt#光盘所在的挂载目录,也就是光盘的路径
enabled=1   #这里指的是yum源的开始或者关闭,1表示开始,0表示关闭
gpgcheck=0  #不进行gpg检测

退出保存

看是否有dvd的标志出现

yum list

[[email protected] yum.repos.d]# yum list |tail
yum-presto.noarch                        0.6.2-1.el6                    dvd     
yum-updateonboot.noarch                  1.1.30-14.el6                  dvd     
yum-utils.noarch                         1.1.30-14.el6                  dvd     
zip.x86_64                               3.0-1.el6                      dvd     
zlib.i686                                1.2.3-29.el6                   dvd     
zlib-devel.i686                          1.2.3-29.el6                   dvd     
zlib-devel.x86_64                        1.2.3-29.el6                   dvd     
zlib-static.x86_64                       1.2.3-29.el6                   dvd     
zsh.x86_64                               4.3.10-7.el6                   dvd     
zsh-html.x86_64                          4.3.10-7.el6                   dvd

安装yum扩展源

[[email protected] yum.repos.d]# rpm -ivf http://www.lishiming.net/data/attachment/forum/epel-release-6-8_32.noarch.rpm

其他地址http://www.aminglinux.com/bbs/thread-6721-1-1.html)

四、利用yum下载一个rpm包

1、安装一个插件来支持只下载不安装

搜索插件

[[email protected] ~]# yum list |grep downloadonly

安装插件

[[email protected] ~]# yum install -y yum-plugin-downloadonly.noarch           1.1.30-14.el6

下载一个rpm包而不安装

yum install 包名 -y --downloadonly   #这样就已经下载,默认在 /var/cache/yum/base/packages/

指定一个下载目录

yum install 包名 -y --downloadonly --downloaddir=/usr/local/src  #指定一个下载目录

如果是已经安装过的rpm包这样不成功,需要使用reinstall:

yum reinstall  包名  -y --downloadonly --downloaddir=/usr/local/src

五、 源码包安装

源码包是开源的可自行更改的程序包,大多用C语音开发,不能直接使用,需要编译成二进制的可执行文件

编译源码包的必须有gcc支持,如果没有需要安装 yum install -y gcc

通常情况编译三步曲: ./configure 配置各种编译参数; make 根据指定的编译参数进行编译;make install 安装到指定目录

实例:

1、下载源码包到指定的目录

cd /usr/local/src/

2、安装wget,如果已经安装了,可以略过这一步

[[email protected] src]# yum instrall -y wget

3、下载apache这个包

[[email protected] src]# wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.2.27.tar.bz2

4、解压

[[email protected] src]# tar -jxvf httpd-2.2.27.tar.bz2

5、安装gcc编译器

[[email protected] httpd-2.2.27]# yum install -y gcc

指定编译参数 ./configure --help

6、配置相关选项,并生成Makefile

[[email protected] httpd-2.2.27]# ./configure --prefix=/usr/local/apache2

--prefix=:后面是指定软件包的安装位置

验证是否成功

[[email protected] httpd-2.2.27]# echo $?
0

7、编译

[[email protected] httpd-2.2.27]# make

验证是否成功

[[email protected] httpd-2.2.27]# echo $?
0

8、安装

[[email protected] httpd-2.2.27]# make install

9、检查是否安装成功

[[email protected] httpd-2.2.27]# ls /usr/local/apache2/
bin    cgi-bin  error   icons    lib   man     modules
build  conf     htdocs  include  logs  manual

小白学习笔记,不足之处还请大神指正

博客地址:http://www.aminglinux.com/bbs/thread-7688-1-1.html

时间: 2024-10-15 05:20:51

Linux系统软件包的管理   3月30日课程的相关文章

2015年8月30日课程作业(练习)

linux运维实战练习-2015年8月30日课程作业(练习)安排 一.作业(练习)内容: 1.总结文本编辑工具vim的使用方法: vim: 全屏幕的编辑器 编辑模式:命令模式 输入模式: 末行模式: 编辑模式 --> 输入模式: i: insert, 在光标所在在位置前可输入内容 a:append,在光标所在在位置后可输入内容 I: 行首,在光标所在在位置行首可输入内容 A:行尾,在光标所在在位置行尾可输入内容 O:在光标所在位置上方新建行,在行首可输入内容 o:new line,在光标所在位置

linux运维实战练习-2015年8月30日课程作业(练习)安排

一.作业(练习)内容: 1.总结文本编辑工具vim的使用方法: 2.总结文件查找命令find的使用方法: 3.总结bash环境变量的相关内容: 4.总结Linux文件系统上的特殊权限(SUID.SGID.Sticky)的知识点: 5.总结Linux磁盘管理.文件系统相关知识点及其相关命令的使用方法: 6.复制/etc/grub.cfg配置文件至/tmp目录,用查找替换命令删除/tmp/grub.cfg文件中的行首的空白字符: 7.复制/etc/rc.d/init.d/functions文件至/t

2015年8月30日课程作业(练习)-JY1506402-19+liuhui880818

一.作业(练习)内容: 1.总结文本编辑工具vim的使用方法: 2.总结文件查找命令find的使用方法: 3.总结bash环境变量的相关内容: 4.总结Linux文件系统上的特殊权限(SUID.SGID.Sticky)的知识点: 5.总结Linux磁盘管理.文件系统相关知识点及其相关命令的使用方法: 6.复制/etc/grub.cfg配置文件至/tmp目录,用查找替换命令删除/tmp/grub.cfg文件中的行首的空白字符: 7.复制/etc/rc.d/init.d/functions文件至/t

马哥linux+python——2015年8月30日课程作业

1.总结文本编辑工具vim的使用方法: 2.总结文件查找命令find的使用方法: 3.总结bash环境变量的相关内容: 4.总结Linux文件系统上的特殊权限(SUID.SGID.Sticky)的知识点: 5.总结Linux磁盘管理.文件系统相关知识点及其相关命令的使用方法: 6.复制/etc/grub.cfg配置文件至/tmp目录,用查找替换命令删除/tmp/grub.cfg文件中的行首的空白字符: 7.复制/etc/rc.d/init.d/functions文件至/tmp目录,用查找替换命令

linux运维实战练习-2015年8月30日课程作业

1.总结文本编辑工具vim的使用方法: 全屏幕的编辑器:VIM vim: 模式化: 编辑模式:命令模式 输入模式: 末行模式: 编辑模式 --> 输入模式: i: insert, a:append, o:new line, I: 行首 A:行尾 O:上方新建行 输入模式 --> 编辑模式: ESC 编辑模式 --> 末行模式: : 末行模式 --> 编辑模式 ESC 关闭vim: :q 退出 :q! 强制退出,不保存 :wq 保存退出 :x ZZ:保存退出 光标跳转: 字符间跳转:

linux运维实战练习-2015年8月30日课程作业(2)

6.复制/etc/grub.cfg配置文件至/tmp目录,用查找替换命令删除/tmp/grub.cfg文件中的行首的空白字符: 7.复制/etc/rc.d/init.d/functions文件至/tmp目录,用查找替换命令为/tmp/functions的每行开头为空白字符的行的行首加一个#; 原有空白字符保留: 8.替换/tmp/functions文件中的/etc/sysconfig/init为/var/log: 9.删除/tmp/functions文件中所以#开头,且#后面至少跟了一个空白字符

5月30日课程

1.9 使用PuTTY远程连接Linux 1.10 使用xshell连接Linux 1.11 PuTTY密钥认证 1.12 xshell密钥认证 下载putty软件: PUTTY下载网址:https://www.putty.org/ 然后安装 下载xshell 远程软件 下载网址:https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html 点击新建 设置连接主机名称  输入主机ip 端口号 然后点击确定 会自动保存到常用会话选项里

Linux系统的磁盘管理及分区应用

要求: 第一部分:磁盘分区 1)为虚拟机添加一块80GB.SCSI接口的硬盘 2)划分2个10GB的EXT4主分区,剩余的作为扩展分区 3)划分一个2G的swap交换分区 4)划分一个10G的FAT32的VFAT逻辑分区 第二部分:新磁盘分区的应用 a)将系统中的普通用户king的宿主目录迁移到所添加的新硬盘的其中一个主分区上 并能实现开机自动挂载,不影响开机时用户king的正常登陆(修改fstab配置文件) b)实现新添加交换分区的开机自动挂载(修改fstab配置文件) c)实现先添加另一个主

3月30日作业:采购管理、信息管理和配置管理

3月30日作业:采购管理.信息管理和配置管理 一.采购管理 1.采购管理包括哪些过程?(记) 编制采购计划.编制询价计划.请求卖方回应.卖方选择.合同签订.合同收尾 2.编制采购计划过程的成果是什么? 采购管理计划.采购工作说明书 3.判断:每个采购工作说明书都来自于项目范围基准. 每个采购工作说明书都来自于项目范围基准 4.结合P388页表14-1,工作说明书应该清楚地描述哪些内容? 1.采购目标的详细描述 2.采购工作范围 3.工作地点 4.产品及服务的供货周期 5.适用标准 6.验收标准