linux下系统软件包管理(rpm、yum、源码包安装)

简介:

1. 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包没有硬件平台限制。 

安装一个包:rpm -ivh /mnt/Packages/libjpeg-turbo-devel-1.2.1-1.el6.i686.rpm 
-i    表示安装

-v    可视化

-h    显示安装进度 
--force : 强制安装,即使覆盖属于其他包的文件也要安装 
--nodeps : 当要安装的rpm包依赖其他包时,即使其他包没有安装,也要安装这个包 

1
2
3
[root@localhost mnt] # rpm -ivh tree-1.5.3-2.el6.i686.rpm 
Preparing...                 ########################################### [100%]
    1:tree                    ########################################### [100%]


升级:rpm -Uvh filename.rpm
-U    就是升级的意思 

rpm的卸载:
rpm -e filename  //这里的filename是通过rpm的查询功能所查询到的 
rpm -qa |grep libjpeg-turbo-devel
rpm -e libjpeg-turbo-devel 

1
2
3
4
5
[root@localhost ~] # rpm -q tree
tree-1.5.3-2.el6.i686
[root@localhost ~] # rpm -e tree
[root@localhost ~] # echo $?
0

echo $?    查看上一条命令执行状态,返回0表示执行成功,非0为不成功;

查询一个包是否安装 

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

1
2
[root@localhost ~] # rpm -q tree
package tree is not installed


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

查询rpm包的相关信息 : 
rpm -qi 包名

列出一个rpm所安装的文件: 
rpm -ql 包名

1
2
3
4
5
6
7
8
9
10
11
[root@localhost ~] # rpm -ql vim-enhanced
/etc/profile .d /vim .csh
/etc/profile .d /vim .sh
/usr/bin/ex
/usr/bin/rvim
/usr/bin/vim
/usr/bin/vimdiff
/usr/bin/vimtutor
/usr/share/man/man1/rvim .1.gz
/usr/share/man/man1/vimdiff .1.gz
/usr/share/man/man1/vimtutor .1.gz

查看某个文件属于哪个rpm包: 
rpm -qf filename 

1
2
[root@localhost ~] # rpm -qf /etc/passwd
setup-2.8.14-20.el6_4.1.noarch



2. yum工具
yum list 列出所有可用rpm包资源
搜索某个包: yum search  ‘keywords’或     yum list |grep ‘keywords’
yum 安装包: yum install -y  filename(包名)
yum 卸载包: yum remove  -y filename (包名)
yum 升级包: yum update -y filename(包名)

yum 查找包:yum provides  "*/vim"   //这里用通配,可以查找一个命令由哪个包安装来的

yum grouplist  列出所有的套件
yum groupinstall    安装套件
yum groupremove   卸载套件


创建本地的yum源
mount /dev/cdrom /mnt  
cp -r /etc/yum.repos.d  /etc/yum.repos.d.bak    //先备份一下
rm -f /etc/yum.repos.d/*
vim /etc/yum.repos.d/dvd.repo  #加入如下内容:
[dvd]
name=install dvd
baseurl=file:///mnt
enabled=1
gpgcheck=0
yum list  //查看是否有dvd的标志出现


安装yum扩展源epel    可以安装nginx、zabbix

rpm -ivh www.lishiming.net/data/attachmen ... e-6-8_32.noarch.rpm   

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

1
2
[root@localhost ~] # rpm -ivh http://www.lishiming.net/data/attachment/forum/epel-release-6-8_32.noarch.rpm
Retrieving http: //www .lishiming.net /data/attachment/forum/epel-release-6-8_32 .noarch.rpmwarning:  /var/tmp/rpm-tmp .YcVQW6: Header V3 RSA /SHA256  Signature, key ID 0608b895: NOKEYPreparing...                 ########################################### [100%]   1:epel-release           ########################################### [100%]

安装完成之后yum list 右侧可以列出很多epel的包,供以后使用;



使用yum下载rpm包,而不安装,方法1:

yum有一个plugin(插件)叫做yum-downloadonly,可以实现让用户只下载软件包的功能;

首先需要安装插件:yum install -y yum-plugin-downloadonly

安装完成后:yum install 包名 -y --downloadonly   

#这样就已经下载,centos6默认在 /var/cache/yum/i386/6/base/packages 我这里是32位的显示为i386目录;

yum install 包名 -y --downloadonly --downloaddir=/usr/local/src  #指定一个下载目录,如果是已经安装过的rpm包这样不成功,需要使用reinstall: yum reinstall  包名  -y --downloadonly --downloaddir=/usr/local/src
reinstall    重新安装;


示例:

1
2
3
4
5
[root@localhost yum] # yum install -y yum-plugin-downloadonly
[root@localhost packages] # pwd
/var/cache/yum/i386/6/base/packages
[root@localhost packages] # ls -l
-rw-r--r--. 1 root root 36464 Jul  3  2011 tree-1.5.3-2.el6.i686.rpm


使用yum下载rpm包,而不安装,方法2:

通过一个专门的包下载工具--yumdownloader。 这个工具是yum工具包(包含了用来进行yum包管理的帮助工具套件)的子集。

使用命令安装:yum install -y yum-utlis

安装完成后,下载rpm包,使用命令:yumdownloader 包名

下载的包保存到当前的目录,你需要使用root权限,因为yumdownloader会在下载过程中更新包索引文件。与yum命令不同的是,任何依赖包不会被下载。



设置yum保留下载的rpm包

yum 默认情况下,升级或者安装后,会删除下载的rpm包。

修改 /etc/yum.conf 配置文件保留下载的包;
[main]
cachedir=/home/soft/yumcache
keepcache=1
debuglevel=2

cachedir 存放下载包的地址,可以修改为自己放置的地址;

keepcacahe设置为1,表示保存已经下载的rpm包;



3. 源码包安装
源码包是开源的可自行更改的程序包,大多用C语言开发,不能直接使用,需要编译成二进制的可执行文件;
编译源码包的必须有gcc支持,如果没有需要安装 yum install -y gcc
通常情况编译三步曲: ./configure 配置各种编译参数; make 根据指定的编译参数进行编译;make install 安装到指定目录

实例:
1、下载源码包#cd /usr/local/src/ #约定目录;

   首先安装wget,安装命令:yum install -y wget    

   #wget http://mirrors.hust.edu.cn/apache//httpd/httpd-2.2.29.tar.gz 
2、解压tar zxvf httpd-2.2.29.tar.gz  //查看README或者INSTALL说明文件
3、指定编译参数 ./configure --help  可以查看帮助

   #./configure --prefix=/usr/local/apache2    指定一个路径;

   执行时提示checking for gcc... no    需要安装gcc编译器;安装命令#yum install -y gcc
4、#echo $? 验证是否成功
5、#make    编译成二进制的文件;
6、#make install    安装编译后的文件;







本文转自 模范生 51CTO博客,原文链接:http://blog.51cto.com/mofansheng/1626892,如需转载请自行联系原作者

目录
相关文章
|
17天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
58 3
|
17天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
49 2
|
11天前
|
Ubuntu Linux 网络安全
linux系统ubuntu中在命令行中打开图形界面的文件夹
在Ubuntu系统中,通过命令行打开图形界面的文件夹是一个高效且实用的操作。无论是使用Nautilus、Dolphin还是Thunar,都可以根据具体桌面环境选择合适的文件管理器。通过上述命令和方法,可以简化日常工作,提高效率。同时,解决权限问题和图形界面问题也能确保操作的顺利进行。掌握这些技巧,可以使Linux操作更加便捷和灵活。
15 3
|
17天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
55 3
|
20天前
|
安全 Linux 数据安全/隐私保护
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。本文介绍了使用 `ls -l` 和 `stat` 命令查找文件所有者的基本方法,以及通过文件路径、通配符和结合其他命令的高级技巧。还提供了实际案例分析和注意事项,帮助读者更好地掌握这一操作。
37 6
|
20天前
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
57 6
|
21天前
|
机器学习/深度学习 自然语言处理 Linux
Linux 中的机器学习:Whisper——自动语音识别系统
本文介绍了先进的自动语音识别系统 Whisper 在 Linux 环境中的应用。Whisper 基于深度学习和神经网络技术,支持多语言识别,具有高准确性和实时处理能力。文章详细讲解了在 Linux 中安装、配置和使用 Whisper 的步骤,以及其在语音助手、语音识别软件等领域的应用场景。
52 5
|
21天前
|
监控 网络协议 算法
Linux内核优化:提升系统性能与稳定性的策略####
本文深入探讨了Linux操作系统内核的优化策略,旨在通过一系列技术手段和最佳实践,显著提升系统的性能、响应速度及稳定性。文章首先概述了Linux内核的核心组件及其在系统中的作用,随后详细阐述了内存管理、进程调度、文件系统优化、网络栈调整及并发控制等关键领域的优化方法。通过实际案例分析,展示了这些优化措施如何有效减少延迟、提高吞吐量,并增强系统的整体健壮性。最终,文章强调了持续监控、定期更新及合理配置对于维持Linux系统长期高效运行的重要性。 ####
|
17天前
|
存储 缓存 Linux
【Linux】另一种基于rpm安装yum的方式
通过本文的方法,您可以在离线环境中使用RPM包安装YUM并进行必要的配置。这种方法适用于无法直接访问互联网的服务器或需要严格控制软件源的环境。通过配置本地YUM仓库,确保了软件包的安装和更新可以顺利进行。希望本文能够为您在特定环境中部署YUM提供实用的指导。
108 0