Linux_ppc下软件包安装,Linux下软件包安装详解

一、概述

现在Linux上软件的安装方式有多种,有源码包编译,软件包管理器,软件包管理器前端工具,通用二进制编译等。源码包,优点是,灵活性和可定制性比较好,缺点是,技术要求高,操作复杂,虽然网上有编译安装软件的文档,也有很多人在使用,也都是默认或者简单配置后编译的。后来出了软件包管理工具RPM,RPM软件包管理软件方便多了但是它的依赖关系让人头疼,所以又推出出了YUM解决了让人头疼的依赖关系。在这里我给大家介绍一下几种常用Linux软件安装方式。

二、软件包的组成

一个软件包安装之后包含多种类型文件,我们先了解一下它的组成与分布的位置

1、二进制文件

分布的目录:/bin,    /sbin,    /usr/bin,   /usr/sbin,   /usr/local/bin,   /usr/local/sbin

2、库文件

分布目录: /lib,   /usr/lib,   /usr/local/lib

3、配置文件

分布目录: /etc

4、帮助文件(通常这里会教你如何进行安装)

手册:README   INSTALL   /usr/share/doc

三、程序安装方式

1、通用二进制编译:别人编译好的,解压之后配置就能使用。

2、软件包管理器:使用rpm命令安装就可以使用了,但安装时要考虑到依赖关系。

3、软件包管理器前端工具:可以自动解决软件包的依赖关系。

4、源码包:源码包就是程序的源代码,必须通过编译器编译成二进制后才能使用,在编译时,软件所需的库文件一定要有,不然编译是不能成功的。

这里着重说一下源码包安装,由于一些特殊的个性化设置,我们需要源码包安装一个服务,我觉得它的基本思路就是遇到问题解决问题,当我们源码包安装一个服务时,最常见的问题就是缺少基础程序,也就是库文件(devel包),这时我们通过yum逐条击破安装,直到服务安装成功即可(不在报错)

源码包安装的基本流程:解压→进入目录→./configure --prefix=自己定义的安装路径(这个时候通常就是之前说的遇到问题的时候,提示缺少环境、依赖关系,用yum逐条安装即可)→make→make install

四、RPM软件包管理工具

1、基本功能:

打包、安装、查询升级、校验、写在、数据管理(重建)

2、rpm软件包包含:

文件清单、文件存放路径、提供的功能说明、依赖关系

3、数据库:软件包信息,软件包校验

4、源程序命名方式:

name-version.tar.{gz|bz2|xz}

版本号:major.minor.release 主版本号.次版本号.发行号

5、rpm包的命名方式:

name-version-release.arch.rpm

发行号:用于标识rpm包的本身发行号,可还包含所适用的操纵做系统

例如:el6:RHEL6

arch:主机平台

例如:i386、x86_64、amd64、ppc、noarch不区分平台

注意:下载软件包时要注意区分操作系统和平台,不然可能会装不上的

6、rpm分包

主包:核心包

分包:支包

例如:bind

bind-devel

7、常用软件包下载地址:

http://mirrors,sohu.com

http://rpmfind.net

8、安装软件包:rpm -i /path/to/rpm_file1 rpm_file2…

-i|–install    :安装一个新的软件包

-v :显示安装过程,-vv显示更详细的安装过程

-h :以#显示安装进度。一个#号表示2%的进度;

-ivh :通常这几个选项组合使用

–nodeps :安装时忽略依赖关系

–test :测试安装

–replacepkgs :重新安装

9、卸载软件包: rpm -e

10、查询软件包: rpm -q

-qa    :查询所有已安装的软件包

rpm -qa |grep 'pattern'

-qi    :查询软件包的摘要信息

-ql    :查询软件包生成的文件清单:

-qf    :查询某文件由那个软件包安装生成:

-qc    :查询包安装生成的配置文件

-qd    :查询包安装生成的帮助文件

-q –scripts    :查询软件包相关的脚本

preinstall    :安装前脚本

postinstall   :安装后脚本

preuninstall   :卸载前脚本

postuninstall  :卸载后脚本

11、升级

-U:升级+安装

-F:升级

-Uvh

-Fvh

–force     强制安装

–nodeps    不检查依赖关系

注:内核不应该升级,应该尽可能安装,允许多版本并存

12、rpm数据库

rpm database:/var/lib/rpm

重建rpm数据库

rpm –initdb    :新建,不覆盖原有的数据库

rpm –rebuilddb    :覆盖,覆盖原有数据库(常用)

五、YUM软件包管理

1、自行解决依赖关系(比所有方法都方便,yum是Linux最佳实践)

2、repository:仓库,yum源

repodata/    :所在的父目录就是yum仓库,如果当前目录有repodata就说明这是一个yum仓库

RHEL6:的光盘镜像就是一个yum源

例如:把RHEL6的光盘挂载到/media/cdrom,那yum源配置文件里"baseurl=file:///media/cdrom"

3、客户端:

/etc/yum.conf    //yum主配置文件

/etc/yum.repos.d/*.repo    //yum配置文件

全局配置//对所有的yum仓库都生效# yum主配置文件详解

#/etc/yum.conf

#[main]    //定义yum源名称

#cachedir=/var/cache/yum    //定义yum的缓存目录

#keepcache=0    //保存缓存

#debuglevel=2    //调试级别

#logfile=/var/log/yum.log    //日志文件所在目录

#distroverpkg=redhat-release    //验证rpm发行版所使用的密钥文件

#tolerant=1    //忽略已安装的软件

#exactarch=1    //必须做平台的精确匹配

#obsoletes=1    //是否检查废弃的包

#gpgcheck=1    //是否检查rpm包的签名,验证rpm包来源的合法性

#plugins=1    //是否启用插件

# Note: yum-RHN-plugin doesn't honor this.

#metadata_expire=1h    //缓存文件在本地缓存多长时间#配置文件 /etc/yum.repos.d/*.repo详解

#[repo]

#name=Primary Yum repository

#baseurl=http://mirror.sohu.com/fedora-epel/6/i386/    //yum源网址

#enabled={0|1}       //{不开启|开启}

#gpgcheck={0|1}      //{不检查|检查签名}

#gpgkey=file:///etc/pki/RPM-GPG-KEY-redhat-base    //指定验证用的密钥文件

4、常用的yum命令//查询、清除建立缓存

#yum list {all|installed|available}    :列出软件包 {所有|已安装|可安装}

#yum repolist {all|enabled|disabled}   :列出yum源  {所有|开启的|未开启的}

#yum clean all                         :清除yum缓存

#yum makecache                         :生成yun缓存

//安装

#yum install package_name              :安装软件包,添加 -y可以自动回答yes

#yum reinstall package_name …         :重新安装软件包

#yum groupinstall "package-group_name" :安装一个包组

//升级

#yum update package_name               :升级软件包

#yum check-update                      :查询可升级的包

#yum update-to                         :升级到指定的版本

#yum groupupdate "group_name"          :升级包组

//卸载

#yum remove package_name …            :卸载一个软件包

#yum groupremove "group_name"          :卸载一个包组

总结了一下Linux下软件包安装方式,欢迎提问留言。

原文:http://blog.51cto.com/13210651/2116545

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/506007.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

部编版是什么版本_部编版是人教版吗

部编版是人教版吗2019-09-07 17:06:05文/陶凯月部编版不是人教版,部编版教材由教育部组织编写,而人教版即由人民教育出版社出版。下面是小编整理的内容,供大家参考。什么是部编版教材部编版教材由教育部组织编写,2016年&#xff0…

下面哪个字段是http请求中必须具备的_HTTP 协议报文结构及示例

HTTP 基本架构下面我们用一张简单的流程图来展示 HTTP 协议基本架构,以便大家先有个基本的了解Web Client 可以是浏览器、搜索引擎、机器人等等一切基于HTTP 协议发起 http 请求的工具。Web Server 可以是任何的能解析 HTTP 请求,并返回给Web Client 可识…

文件名为空linux,文件系统:隐匿在Linux背后的机制

原标题:文件系统:隐匿在Linux背后的机制在 Linux 中,最直观、最可见的部分就是 文件系统(file system) 。下面我们就来一起探讨一下关于 Linux 中国的文件系统,系统调用以及文件系统实现背后的原理和思想。这些思想中有一些来源于…

xshell怎么让程序后台运行_使程序在Linux下后台运行

我们计算的程序都是周期很长的,通常要几个小时甚至一个星期。我们用的环境是用putty远程连接到日本Linux服务器。所以使程序在后台跑有以下三个好处:1:我们这边是否关机不影响日本那边的程序运行。(不会像以前那样,我们这网络一断…

docker安装elasticsearch_Elasticsearch amp; Kibana 部署安装 (Docker)

为什么要使用 Docker来部署 Elasticsearch 和 Kibana 呢,传统使用软件在操作系统上安装和配置的方法过于繁琐,并且受一些跨平台的约束,例如Mac、Windows、Linux等,所以无论安装什么软件,通过 Docker 进行部署是最为简单…

linux 多域名访问数据库,Linux下虚拟域名的实现

目前Linux操作系统十分火爆,所以很多朋友希望了解一下Linux下虚拟域名的实现过程。下面就基于目前比较流行的RedHat来讨论一下。一、DNS服务器的设置我们知道互联网网是基于TCP/IP协议的,要进行通信必须获得对方的IP地址,这是通过DNS服务器来…

mfc 对话框透明 控件不透明_你不知道的丨透明胶用法

家家都有的透明胶带,而它的作用不仅仅是用来粘东西。别看它是这么小小一块,可是作用却很多。平时我们穿的衣服,裤子难免会粘上些毛。在我们紧急出门的时候,突然发现衣服粘有毛,这时候我们的透明胶就派上用场了。用透明…

sscanf取固定长度的int_sscanf函数用法详解-阿里云开发者社区

函数原型:Int sscanf( string str, string fmt, mixed var1, mixed var2 ... );int scanf( const char *format [,argument]... );说明:sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)为输入源,前者以固定字符串为输入源…

安卓盒子刷rec linux启动,ADB命令刷入recovery刷机

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼特点:需要手机获取Root权限,需掌握相关cmd命令和ADB命令;虽然命令不同, 但跟fastboot模式刷入方式类似 提示:①新手机未获取Root权限的在CMD命令行输入su后到手机上点击程…

python partial_Python--并行计算框架(pathos)

​应用python进行数据挖掘或计算时,往往需要遍历多种参数进行数据建模,而单次的建模或计算有时候非常耗时,这时候可以利用python的并行计算功能,加快计算速度。python能够应用并行计算的模块有多个multiprocessing、pathos等。其中…

linux mono apache2,如何利用Mono创建Apache+mono环境(2)

我决定用一种比较主流的linux系统来构建,运行Mono。一方面是因为我比较熟悉它,而另一方面的原因是我们内部的FTP服务器上已经有了一个DVD的iso格式的安装文件.没有一个下载点能下载完美的东西(注:我这里有疑问).你能猜到我选择的是什么吗? SuSE 9.2 Professional.我…

c# out关键字 vb_c# 关键字:ref 和 out

.NET Ref和Out关键字对于值类型。如果不使用ref /out则传递的只是这些值的COPY,使用了Ref和Out的效果就几乎和C中使用了指针变量一样。(传递的就是原值),它能够让你直接对原数进行操作,而不是对那个原数的Copy进行操作对于引用类型:如果不使用ref /out,因为传递的是…

endnote怎么改成中文版_毕业论文面对大量的参考文献标注,应该怎么办?(便捷整理的技巧和方法)...

毕业论文不同于一般的小论文,特别是硕士毕业论文或者博士毕业论文。一般的小论文就四五页,而硕士论文动辄五六十页,有的甚至七八十页,因此有些东西如果要人工的去修改,将是一件非常痛苦的事情,比如目录自动…

linux 多个cpu使用率,统计多台linux的CPU使用率

依赖于 paramiko 模块,python2 ,测试环境是在 rhel5,初学python,请大家指教;#!/usr/bin/python# -*- coding:utf8 -*-import paramikoimport refrom time import sleeplinux_info([ssoweb12,192.168.5.32],[ssoweb17,192.168.5.37…

typescript的类型描述_TypeScript类型声明书写详解

本文总结一下TypeScript类型声明的书写,很多时候写TypeScript不是问题,写类型就特别纠结,我总结下,我在使用TypeScript中遇到的问题。如果你遇到类型声明不会写的时候,多看看lodash的声明,因为lodash对数据…

怎么创建数据表的实体类和业务类_微服务项目第13天:商品分类业务的实现

今天是刘小爱自学Java的第143天。感谢你的观看,谢谢你。学习计划安排如下:商品分类业务的初步实现。数据模型的分析:数据表字段的设计,Java中对应的实体类,前端页面vue组件。业务模型的分析:请求路径是什么…

power iso linux启动盘,Power ISO Maker/ISO燃烧到磁盘工具 V3.0版

电源国际标准化组织是一个专业的工具,使国际标准化组织文件,并将其燃烧到磁盘。它可以快速地创建一个ISO文件从您的计算机,和ISO文件刻录到CD / DVD光盘。该软件还可以将你的光盘/光盘刻录到一个标准的文件,并烧毁它。你可以使用的…

js整体缩小网页_妙用JavaScript实现网页的任意缩放

现在网页上的字体是越来越小&#xff0c;别说是视力欠佳者就是好眼睛看久了也疼的难受&#xff0c;于是编写了下面这段小脚本&#xff0c;建议网页制作人能够加到网页代码的< head>中&#xff0c;以方便弱视人群放大浏览(仅适用于IE浏览器)&#xff01;代码如下&#xff…

scripts文件夹_常用Scripts整理

常用scripts整理--2020.05.13平时在进行数据处理时&#xff0c;经常会用到一些脚本文件&#xff0c;可以提高效率&#xff0c;我把自己常用到的进行整理总结&#xff0c;希望可以有所帮助1.批量修改图片名字#codingutf-8code by zzg 2020-04-07import os import re import sy…

linux vi如何输入井号,为什么我可以使用井号(#)来破坏vim用户功能命名规则

vimscript帮助文件在定义用户函数时说明&#xff1a;The function name must start with an uppercase letter, to avoidconfusion with builtin functions.这是强制执行的,除了我通过查看其他代码发现的以下情况."This should not work."But it does as long as the…