linux软件安装(rpm,源码编译)
1、rpm(redhat package manager)管理器主要目的在于解决软件的安装、卸载、升级、查询、验证等,例如升级过程中,保留软件的配置文件,安装过程中,检查软件依赖的库文件,以及卸载过程中,检查依赖的包关系,最主要的是它以二进制的方式进行操作,不用用户自己编译源文件。但是有个问题就是他只能检查依赖关系,却不能帮助用户解决依赖关系,所以用户安装某个文件可能就会陷入庞大的依赖关系中不能自拔。
2、yum管理器最大的功能是解决了rpm所不能解决的包依赖关系。
3、关于rpm命令的相关指令,常用组合有以下:
-1 rpm -ivh [rpm] 安装及显示安装过程,v表示输出级别,h表示输出过程
-2 rpm -qa | grep [...] 查询已经安装的包
-3 rpm -qf [file] 查询文件隶属哪个包
-4 rpm -qc [rpm] 查询包的配置文件路径
-5 rpm -qi [rpm] 查询包的摘要(包含是否安装的日期信息)
-6 rpm -q --scripts [rpm] 查询包的常用脚本信息
-7 rpm -qd [rpm] 查询包的帮助文档
-8 rpm -ql [rpm] 查询包所含文件
-9 rpm -Uvh [rpm] 打升级包(若没有此套件,则安装) -Fvh 打升级包(若没有此套件,则不安装)
-10 rpm -e [rpm] 删除包
4、关于yum命令的相指令,常用的有以下:
-1 yum list [all|installed|available] #显示程序包
-2 repolist #显示库源,并创建
-3 info [rpm_name] #查看包信息
-4 groupinfo [group_name] #查看包组信息
-5 clean all #清空所有缓存
-6 makecache #生成缓存
-7 install [rpm_name] #安装 -y 直接安装不提醒
-8 reinstall [rpm_name] #重新安装
-9 check-update #检查可升级的包
-10 update [rpm_name] #若不指定,查询全部升级包,并提示是否升级
-11 update-to [rpm_name_release] #指定升级版本
-12 remove [rpm_name] #卸载
-13 provides [rpm_file] #显示文件由哪个包安装
-14 groupinstall #安装包组 groupremove #删除包组
-15 localinstall [rpm_name] #本地安装,可以安装rpm包,并解决依赖关系
5、本地yum库创建过程:
-1 createrepo rpms_dir_path #生成repodata文件夹
-2 编写库配置文件.repo /etc/yum.repo.d/
另:yum主信息 /etc/yum.conf
[main] #默认配置(唯一)
cachedir= #缓存路径
keepcache= #rpm是否保存在本地0否,1是
debuglevel= #显示调试信息的级别
logfile= #日志文件路径
exactarch= #rpm包是否跟本地平台完全匹配,默认1匹配
gpgcheck= #是否检查数字签名,默认1检查
-3 .repo格式如下:
[repo_name]
name= #更类似于description描述信息
baseurl= #库源路径,可ftp,http,本地,为repodata文件夹所在的父路径,此处路径可用一些内置变量替代
eg:http://mirror.sohu.com/centos/$releasever/os/$basearch/
$releasever #系统主版本号
$arch #内核版本 uname -r
$basearch #取得平台的基准平台架构,例如586,686,都取386
gpgcheck= #数字签名检测,默认检测,可不设置
gpgkey= #数字签名检测所需的密钥
enabled= #是否开启,默认开启,可不设置
cost= #优先级,数字越大,优先级越低,可不设置
-4 yum clean all #清理缓存
-5 yum repolist #写入repo列表,使其生效
6、怎么将*.src.rpm制作成二进制版本的rpm
-1 rpm -ivh *.src.rpm
-2 cd 到 spec目录
-3 rpmbuild -bb *.spec 只生成二进制格式的rpm包,不再生成源码格式的rpm包,若需源码格式-ba
7、编译安装完后,所需执行的步骤:
1、执行命令环境变量问题:
-1 hash会告知你执行的命令是否是原装的rpm还是新编译的
-2 环境变量应设置在原环境变量之前,若没有删除原rpm的话
2、库文件搜索路径:
-1 添加搜索路径,/etc/ld.so.conf.d/*.conf,创建的新文件中加入新的lib路径
eg:vim /etc/ld.so.conf.d/apache.conf
加入/usr/local/apache/lib
-2 ldconfig -v 重新搜索库路径,生成缓存/etc/ld.so.cache
3、man文件定位
-1 vim /etc/man.config
加入 MANPATH /usr/local/apache/share/man
4、头文件链接:
-1 ln -sv /usr/local/apache/include /usr/include/httpd
linux软件安装(rpm,源码编译)的更多相关文章
- Linux软件安装管理---源码安装
在Linux平台下,软件包的类型可以划分为两类:源码包.二进制包. 源码包: 即程序软件的源代码(一般也叫Tarball,即将软件的源码以tar打包后再压缩的资源包). 二进制包: 如 Red Hat ...
- nginx在linux下安装(源码编译)
下载 http://nginx.org/en/download.html 安装 安装依赖 yum -y install gcc gcc-c++ zlib zlib-devel pcre-devel o ...
- 第五部分 linux 软件安装RPM SRPM与YUM
第五部分 linux 软件安装RPM SRPM与YUM 软件管理员简介 RPM与DPKG两大主流 rpm: redhat centos suse 命令:yum ...
- linux操作之软件安装(二)(源码安装)
源码安装 linux上的软件大部分都是c语言开发的 , 那么安装需要gcc编译程序才可以进行源码安装. yum install -y gcc #先安装gcc 安装源码需要三个步骤 1) ./confi ...
- Linux学习笔记(13)linux软件安装rpm与yum--理论篇
该文章linux知识点如下 1.linux中 软件包介绍 2.linux源码软件安装 3.linux二进制软件安装 4.linux rpm软件包管理 5.linux yum软件包管理 1.linux中 ...
- yum安装与源码编译安装实际使用区别
总结一些我实际生产使用的区别: 1.yum安装不是说不行,都行,各有千秋. 2.yum安装目录不集中,但基本遵循Linux文件夹的作用去划分文件,比如配置文件通常在/etc下. 3.yum安装说的模块 ...
- MySQL数据库的二进制安装、源码编译和基础入门操作
一.MySQL安装 (1)安装方式: 1 .程序包yum安装 优点:安装快,简单 缺点:定死了各个文件的地方,需要修改里边的相关配置文件,很麻烦 2 .二进制格式的程序包:展开至特定路径,并经过简单配 ...
- 第22章 软件安装:源码与Tarball
开放源码的软件安装与升级简介 什么是开放源码.编译程序与可执行文件 开放源码:程序代码,写给人类看的程序语言 编译程序:将源码编译成机器能看得懂的语言 可执行文件:经过编译变成二进制程序后机器看得懂可 ...
- 【运维技术】Nginx安装教程(yum安装,源码编译)
安装方式 yum直接更新源安装 源码直接编译之后安装 使用yum进行直接安装 Installing a Prebuilt CentOS/RHEL Package from an OS Reposito ...
随机推荐
- Jasper_passValue_return value from the subreport to main report
create a variable In subreport say returnValue variable class type --> whatever u want calculati ...
- 单片微机原理P3:80C51外部拓展系统
外部拓展其实是个相对来说很好玩的章节,可以真正开始用单片机写程序了,比较重要的是外部存储器拓展,81C55拓展,矩阵键盘,动态显示,DAC和ADC. 0. IO接口电路概念与存储器拓展 1. 为什 ...
- Xcode中C、C++、Object-C3种语言的混编
转自: http://hi.baidu.com/onejw/item/f34390c997cdc226a1b50ae http://www.cocoachina.com/ask/questions/s ...
- 自定义栈类型,具有找到站内最小元素的min函数 ,且min(),pop(),push()函数的时间复杂度为O(1)
基本思想: // 借助一个辅助栈,入栈时,若新元素比辅助栈栈顶元素小,则直接放入辅助站 // 反之,辅助站中放入次小元素(即辅助栈栈顶元素)====保证最小元素出栈时,次小元素被保存 static c ...
- 基于Android的物理类游戏,源代码(JAVA)分享
游戏视频DEMO:http://v.youku.com/v_show/id_XNTM5MzM1Mzg0.html?from=s1.8-1-1.2 说明:一个自己做的Android上的物理类游戏,物理引 ...
- (转载) C/C++编译和链接过程详解 (重定向表,导出符号表,未解决符号表)
转载http://blog.csdn.net/neo_ustc/article/details/9024839 有 些人写C/C++(以下假定为C++)程序,对unresolved external ...
- Linux上夏时令的应对
问题 今天,有游戏客户找来说,2016.11.6号洛杉矶将会进入冬时令,他们在洛杉矶机房的ECS在使用的是洛杉矶的当地时间,问我,进入冬时令,对他们的linux有啥影响?是否需要做好,批量修改linu ...
- 04747_Java语言程序设计(一)_第7章_图形、图像与多媒体
例7.1小应用程序用6种字型显示字符串,显示内容说明本身的字型. import java.applet.*; import java.awt.*; public class Example7_1 ex ...
- ubuntu 14.04 下试用Sublime Text 3
很多源代码都没有IDE支持的,尤其是开源的源代码.从github上下载的,很多也不用IDE.包括我自己公司的代码,基本都是脚本,也不用IDE.通常情况下,都是用notepad++.UE之类的文本编辑器 ...
- pyqt 简单判断指定的内容强度(比如帐号)
# -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' from PyQt4.QtGui import * from PyQ ...