标签:在线安装 编译器 软件包 yum linux. rpm
Linux中软件包大致可以分为两类:源码包和二进制包。
其中源码包是由C语言编写的开源(可修改)的软件包。源码包在编译安装时可以自由选择功能,卸载时可直接方便删除即可,因为它是编译安装的,所安装的软件可以更兼容本机的硬件平台,更加稳定高效。但是源码包编译安装安装大型软件集合时步骤繁琐容易出错。
二进制包也叫RPM包,它安装方便,通常一个命令就可以搞定一个软件,但是它是经过编译的,看不到源码,更不能进行修改,而且它最大的缺点是安装软件必须解决软件包的依赖关系,yum在线安装解决了这个棘手问题。
源码包的安装
源码包安装在指定位置,一般是/usr/local/software_name/,跟rpm安装在默认的位置不同的是所安装的服务不能通过服务管理器设别,只能用绝对路径管理服务。
安装源码包因为需要编译所以要先在linux中安装C语言编译器GCC。
解压缩源码包(源码包一般放在/usr/local/scr/中),进入解压缩目录开始安装。
安装前先看一下INSTALL文件和README文件。
1、.configure #软件的配置和检查,并将定义好的功能和系统环境的信息写入Makefile文件中
2、make #编译
3、make install #编译安装
RPM软件包安装
rpm命令安装
rpm包的包名格式一般是【名字-版本-发行号-平台.rpm】
rpm包还有二进制格式和源码格式,源码格式跟源码包一样在本机编译,能更好发挥本机的硬件性能。
安装:
rpm -ivh /path/包全名
选项
-i #install安装
-v #verbose 显示详细信息(-vv)
-h #hash 显示进度,以#显示进度,每个#表示2%
--replacepkgs #重新安装,替换原有安装
--force #强行安装,可以实现重装或降级
- - nodeps #不检测依赖性
升级:
rpm -Uvh /path/包全名
-U #升级软件
卸载:
rpm -e 包名
-e erase 卸载
- - nodeps 不检查依赖性
查询:
1.查询是否安装
rpm -q 包名 query是否安装
rpm -qa 包名 查询所有已经安装的rpm包
[root@localhost ~]# rpm -q screen screen-4.0.3-4.el5 [root@localhost ~]# rpm -qa | head rmt-0.4b41-4.el5 desktop-backgrounds-basic-2.0-37 man-pages-2.39-15.el5 popt-1.10.2.3-18.el5 libusb-0.1.12-5.1 readline-5.1-3.el5 bzip2-libs-1.0.3-4.el5_2 gdbm-1.8.0-26.2.1 elfutils-libelf-0.137-3.el5 libfontenc-1.0.2-2.2.el5
2.查询软件包详细信息
rpm -qi 包名
-i information查询软件信息
-p package 查询未安装包信息
[root@localhost ~]# rpm -qi screen Name : screen Relocations: (not relocatable) Version : 4.0.3 Vendor: CentOS Release : 4.el5 Build Date: 2011年05月04日 星期三 23时29分00秒 Install Date: 2015年10月25日 星期日 05时17分39秒 Build Host: builder10.centos.org Group : Applications/System Source RPM: screen-4.0.3-4.el5.src.rpm Size : 757243 License: GPL2 Signature : DSA/SHA1, 2011年05月05日 星期四 01时13分55秒, Key ID a8a447dce8562897 URL : http://www.gnu.org/software/screen Summary : 在一个终端机上支持多重登录的屏幕管理器。 Description : screen 工具允许您在一个终端机上有多重登录。 screen 对于远程登录到一个机器上或通过一个简单 终端来连接的,但又想有多个登录的用户来说 很有用处。 如果您需要一个能够支持在一个终端机上的多重 登录的屏幕管理器,请安装 screen 软件包。
3.查询包中文件呢安装位置
rpm -ql 包名
-l list 列表
-p package 查询未安装包信息
[root@localhost ~]# rpm -q screen screen-4.0.3-4.el5 [root@localhost ~]# rpm -ql screen /etc/pam.d/screen /etc/screenrc /usr/bin/screen /usr/share/doc/screen-4.0.3 /usr/share/doc/screen-4.0.3/FAQ /usr/share/doc/screen-4.0.3/NEWS /usr/share/doc/screen-4.0.3/README /usr/share/doc/screen-4.0.3/README.DOTSCREEN /usr/share/info/screen.info.gz /usr/share/man/man1/screen.1.gz /usr/share/screen /usr/share/screen/utf8encodings /usr/share/screen/utf8encodings/01 /usr/share/screen/utf8encodings/02 /usr/share/screen/utf8encodings/03 /usr/share/screen/utf8encodings/04 /usr/share/screen/utf8encodings/18 /usr/share/screen/utf8encodings/19 /usr/share/screen/utf8encodings/a1 /usr/share/screen/utf8encodings/bf /usr/share/screen/utf8encodings/c2 /usr/share/screen/utf8encodings/c3 /usr/share/screen/utf8encodings/c4 /usr/share/screen/utf8encodings/c6 /usr/share/screen/utf8encodings/c7 /usr/share/screen/utf8encodings/c8 /usr/share/screen/utf8encodings/cc /usr/share/screen/utf8encodings/cd /usr/share/screen/utf8encodings/d6 /var/run/screen
4.查询系统文件属于哪个rpm包
rpm -qf 系统文件名
-f file查询系统文件属于哪个软件包
5.查询软件包的依赖性
rpm -qR 包名
-R 查询软件包的依赖性requires
[root@localhost ~]# rpm -qR screen /bin/sh /bin/sh /bin/sh /sbin/install-info /sbin/install-info /usr/sbin/groupadd config(screen) = 4.0.3-4.el5 libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.2) libc.so.6(GLIBC_2.3.4) libc.so.6(GLIBC_2.4) libcrypt.so.1 libcrypt.so.1(GLIBC_2.0) libncurses.so.5 libpam.so.0 libpam.so.0(LIBPAM_1.0) libutempter.so.0 libutil.so.1 rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rtld(GNU_HASH)
RPM包校验:
rpm -V 已安装的包名
-V 校验指定RPM包中的文件verify
验证内容包括文件大小(S)、文件的类型或文件的权限rwx(M)、文件的MD5校验和(5)、设备的代码(D)、文件路径(L)、文件的属主(所有者U)、属组(G)、文件的修改时间(T)、对应位置没有被修改过 (T)。
RPM包中文件提取:
rpm2cpio 包全名 | cpio -idv .文件绝对路径
将rpm包转换为cpio格式
yum命令安装
常用命令
查看配置文件/etc/yum.repos.d/CentOS-Base.repo(查看网络yum源)
[root@localhost ~]# vim /etc/yum.repos.d/CentOS-Base.repo [base] #容器名称 name=CentOS-5 - Base #容器说明 baseurl= #yum源服务器地址 gpgcheck=1 #RPM数字证书生效与否(1为生效) gpgkey= #数字证书的公钥文件保存位置 #released updates [update] name=CentOS-5 - Updates baseurl=http://centos.ustc.edu.cn/centos/5/updates/$basearch/ gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 #packages used/produced in the build but not released [addons] name=CentOS-5 - Addons baseurl=http://centos.ustc.edu.cn/centos/5/addons/$basearch/ gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 #additional packages that may be useful [extras] name=CentOS-5 - Extras baseurl=http://centos.ustc.edu.cn/centos/5/extras/$basearch/ gpgcheck=1 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-5 - Plus baseurl=http://centos.ustc.edu.cn/centos/5/centosplus/$basearch/ gpgcheck=1 enabled=0 #容器生效与否,不写或=1为生效,=0为不生效 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 #contrib - packages by Centos Users [contrib] name=CentOS-5 - Contrib baseurl=http://centos.ustc.edu.cn/centos/5/contrib/$basearch/ gpgcheck=1 enabled=0 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5 #packages in testing [testing] name=CentOS-5 - Testing baseurl=http://centos.ustc.edu.cn/centos/5/testing/$basearch/ gpgcheck=1 enabled=0 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
查询所有可用软件包列表:
[root@localhost ~]# yum list | head Loading mirror speeds from cached hostfile Installed Packages Deployment_Guide-en-US.noarch 5.2-11 installed Deployment_Guide-zh-CN.noarch 5.2-11 installed Deployment_Guide-zh-TW.noarch 5.2-11 installed GConf2.i386 2.14.0-9.el5 installed GConf2-devel.i386 2.14.0-9.el5 installed ImageMagick.i386 6.2.8.0-4.el5_1.1 installed MAKEDEV.i386 3.23-1.2 installed Exiting on Broken Pipe
搜索服务器上匹配到的包
[root@localhost ~]# yum search gimp Loading mirror speeds from cached hostfile ================================= Matched: gimp ================================= glib-devel.i386 : The GIMP ToolKit (GTK+) and GIMP Drawing Kit (GDK) support : library. gtk+.i386 : The GIMP ToolKit (GTK+), a library for creating GUIs for X. gtk+-devel.i386 : Development tools for GTK+ (GIMP ToolKit) applications. gimp.i386 : GNU Image Manipulation Program gimp-devel.i386 : GIMP 插件和扩展开发工具包 gimp-libs.i386 : GIMP libraries gimp-data-extras.noarch : GIMP 的附加文件。 gimp-help.noarch : GIMP 的帮助文件。 gimp-print.i386 : 一组高质量的打印机驱动程序集合。 gimp-print-cups.i386 : 用于 Canon、Epson、HP 及兼容打印机的 CUPS 驱动程序 gimp-print-devel.i386 : 开发使用 gimp-print 的应用程序所需的文件。 gimp-print-plugin.i386 : 用于 gimp-print 的 GIMP 插件 gimp-print-utils.i386 : gimp-print 的工具程序 glib2-devel.i386 : GIMP 工具包 (GTK+) 和 GIMP 绘图包 (GDK) 支持库。 gtk2.i386 : The GIMP ToolKit (GTK+), a library for creating GUIs for X xsane-gimp.i386 : 一个提供 SANE 扫描仪接口的 GIMP 插件。
yum源安装/升级/卸载(-y 自动进行)
[root@localhost ~]# yum -y install screen [root@localhost ~]# yum -y update screen #必须指定包名,不然linux会全部升级(包括内核,但是内核不能yum升级) [root@localhost ~]# yum -y remove screen #yum卸载会卸载很多系统相关的软件,很危险
yum软件组管理
yum grouplist #列出所有可用的软件组列表
yum groupinstall #软件组名 安装指定软件组,组名可以由grouplist查询出来
yum groupremove 软件组名 #卸载指定软件组
[root@localhost ~]# yum grouplist Setting up Group Process Loading mirror speeds from cached hostfile Installed Groups: GNOME 桌面环境 X 窗口系统 X 软件开发 Yum Utilities 万维网服务器 办公/生产率 图形 图形化互联网 基于文本的互联网 开发工具 开发库 打印支持 拨号联网支持 授权和出版 服务器配置工具 游戏和娱乐 管理工具 系统工具 编辑器 网络服务器 老的网络服务器 老的软件开发 老的软件支持 视频和音频 邮件服务器 Available Groups: Beagle DNS 名称服务器 Eclipse FTP 服务器 FreeNX and NX GNOME 软件开发 Horde HyperV Java开发 KDE 软件开发 KDE (K 桌面环境) Mono MySQL 数据库 OpenFabrics 企业版发行 PostgreSQL 数据库 Tomboy Windows 文件服务器 XFCE-4.4 Xen 基本 工程和科学 新闻服务器 集群 集群存储 Done
光盘yum源搭建
挂载光盘 mount /dev/cdrom /mnt/cdrom
让网络yum源文件失效(把.repo改成.repo.bak)
修改光盘yum源文件
[root@xxx yum.repos.d]# vim CentOS-Media.repo [c6-media] name=CentOS-$releasever - Media baseurl=file:///mnt/cdrom #地址改为光盘挂载地址 #注释掉两个不存在的地址: # file:///media/cdrom/ # file:///media/cdrecorder gpgcheck=1 #值改为1 enabled=1 #值改为1使yum源配置文件生效 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS -6 #不用修改
本文出自 “阿填的博客” 博客,请务必保留此出处http://laizetian.blog.51cto.com/10728827/1707177
标签:在线安装 编译器 软件包 yum linux. rpm
原文地址:http://laizetian.blog.51cto.com/10728827/1707177