centos 安装软件

1)一种是软件的源代码,您需要自己动手编译它。这种软件安装包通常是用gzip压缩过的tar包(后缀为.tar.gz)。
2)另一种是软件的可执行程序,你只要安装它就可以了。这种软件安装包通常被是一个RPM包(Redhat Linux Packet Manager,就是Redhat的包管理器),后缀是.rpm。
  当然,也有用rpm格式打包的源代码,用gzip压缩过的可执行程序包。只要您理解了以下的思路,这两种形式的安装包也不在话下了。

第一部分:.tar.gz

首先,将安装文件拷贝至你的目录中。例如,如果你是以root身份登录上的,就将软件拷贝至/root中。
  ---- #cp filename.tar.gz /root
  ---- 由于该文件是被压缩并打包的,所以,应对其解压缩。命令为:
  ---- #tar xvzf filename.tar.gz
  ---- 执行该命令后,安装文件按路径被解压缩在当前目录下。用ls命令可以看到解压缩后的文件。通常在解压缩后产生的文件中,有名为"INSTALL"的文件。该文件为纯文本文件,详细讲述了该软件包的安装方法。
  ---- 对于多数需要编译的软件,其安装的方法大体相同。执行解压缩后产生的一个名为configure的可执行脚本程序。它是用于检查系统是否有编译时所需的库,以及库的版本是否满足编译的需要等安装所需要的系统信息。为随后的编译工作做准备。命令为:
  ---- #./configure
  ---- 如果检查过程中,发现有错误,configure将给予提示,并停止检查。你可以跟据提示对系统进行配置。再重新执行该程序。检查通过后,将生成用于编译的MakeFile文件。此时,可以开始进行编译了。编译的过程视软件的规模和计算机的性能的不同,所耗费的时间也不同。命令为:
  ---- #make
  ---- 成功编译后,键入如下的命令开始安装:
  ---- #make install
  ---- 安装完毕,应清除编译过程中产生的临时文件和配置过程中产生的文件。键入如下命令:
  #make clean
  #make distclean
  至此,软件的安装结束

 

第二部分
1.首先,使用tar -xzvf来解开这个包,如:
  #tar -xzvf apache_1_3_6_tar.gz
  这样就会在当前目录中创建了一个新目录(目录名与.tat.gz包的文件名类似),用来存放解压了的内容。如本例中就是apache_1.3.6

2.进入这个目录,再用ls命令查看一下所包含的文件,如:
  #cd apache_1.3.6
  #ls
  你观察一下这个目录中包含了以下哪一个文件:configure、Makefile还是Imake。
1)如果是configure文件,就执行:
  #./configure
  #make
  #make install
2)如果是Makefile文件,就执行:
  #make
  #make install
3)如果是Imake文件,就执行:
  #xmkmf
  #make

  #make install

make原理是执行一个叫(所生成的)Makefile文件里的指令,make的基本用处是自动根据makefile里的指令来编译源文件。它还可以用来做比如安装软件,卸载软件等事情,但前提是作者在makefile里写了。比如makefile里有这么些内容:
install : < commands >
然后用make install的话,make程序就会按照上面install:后面的指令< commands >执行安装,uninstall也是一样的道理,大部分的作者会写有卸载的部分,这时只要简单地执行make unistall就可以,如果作者懒没有写,那就只有根据make install中的步骤,看它把什么文件拷到哪去了,然后分别手动删除。
还有关键的一点是,编译安装完成后,不要删除源代码,不然就算作者写了unnistall目标,你也没有makefile可以执行了。

 

3.如果没有出现什么错误提示的话,就搞定了。至于软件安装到什么地方,通常会在安装时出现。否则就只能查阅一下README。


执行命令查看安装目录: rpm -ql apache
如果遇到错误提示,也别急,通常是十分简单的问题:
1)没有安装C或C++编译器:
  确诊方法:执行命令gcc(C++则为g++),提示找不到这个命令。
  解决方法:将Linux安装光盘mount上来,然后进入RPMS目录,执行命令:
   #rpm -ivh gcc* (哈哈,我们用到了第二种安装方式)
2)没有安装make工具:
  确诊方法:执行命令make,提示找不到这个命令。
  解决方法:将Linux安装光盘mount上来,然后进入RPMS目录,执行命令:
   #rpm -ivh make*
3)没有安装autoconf工具:
  确诊方法:执行命令make,提示找不到这个命令。
  解决方法:将Linux安装光盘mount上来,然后进入RPMS目录,执行命令:
   #rpm -ivh autoconf*
4)缺少某些链接库;
  确诊方法:在make时,提示需要某些文件。
  解决方法:安装包含这个文件的包,这就需要积累了。

 

第二部分:.rpm

  RPM是Red Hat公司随Redhat Linux推出了一个软件包管理器,通过它能够更加轻松容易地实现软件的安装。

将安装文件拷贝至你的目录中/usr/src。然后使用rpm来安装该文件。命令如下:
  ---- #rpm -ivh filename.i386.rpm
  ---- rpm将自动将安装文件解包,并将软件安装到缺省的目录下。并将软件的安装信息注册到rpm的数据库中。

  1.安装软件:执行rpm -ivh rpm包名,如:
   #rpm -ivh apache-1.3.6.i386.rpm
  2.升级软件:执行rpm -Uvh rpm包名。
  3.反安装:执行rpm -e rpm包名。
  4.查询软件包的详细信息:执行rpm -qpi rpm包名
  5.查询某个文件是属于那个rpm包的:执行rpm -qf rpm包名
  6.查该软件包会向系统里面写入哪些文件:执行 rpm -qpl rpm包名

转载于:https://www.cnblogs.com/Struts-pring/p/5150337.html

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

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

相关文章

【图像处理】——傅里叶变换、DFT以及在图像上的应用

目录 1、傅里叶变换 2、DFT 1)一维离散傅里叶变换: 离散傅里叶变换例子

JAVA开发Web Service几种框架介绍

下面分别介绍一个这几种Web Service框架的基本概念 1、JWS是Java语言对WebService服务的一种实现&#xff0c;用来开发和发布服务。而从服务本身的角度来看JWS服务是没有语言界限的。但是Java语言为Java开发者提供便捷发布和调用WebService服务的一种途径。 2、Axis2是Apache下…

基于CMake构建MSVC_CUDA及MinGW编译环境下的的OpenCV项目

前言 第一次搭建OpenCV开发环境的时候各种报错&#xff0c;内心那个烦啊&#xff0c;简直了。当时只能针对某个特定的错误去寻找特定的解决方法&#xff0c;在OpenCV构建过程中出现最多的问题就是各个模块文件的下载问题&#xff0c;本质上这类问题的解决思路都是一样的&#…

OC Autorelease

implementation ViewController - (void)viewDidLoad {[super viewDidLoad];__unsafe_unretained NSObject *obj1 [ViewController getObj];NSLog("%",obj1); // 运行OK__unsafe_unretained NSObject *obj2 [ViewController getObj];NSLog("%",obj2); //…

【opencv】——钢管计数(霍夫圆变换 + 阈值 + canny)

目录 方法一:霍夫圆变换 + canny 方法二 阈值 + 寻边 对图中的钢管进行计数 方法一:霍夫圆变换 + canny

svn服务器搭建-SuSE Linux Enterprise Server 11 SP3

svn存储版本数据也有2种方式&#xff1a;1.bdb&#xff1b;2.fsfs。因为BDB方式在服务器中断时&#xff0c;有可能锁住数据&#xff08;搞ldap时就深受其害&#xff0c;没法根治&#xff09;&#xff0c;所以还是FSFS方式更安全一点&#xff0c;我也选择这种方式。下载相关软件…

Swift 2.0初探:值得注意的新特性

转眼间&#xff0c;Swift已经一岁多了&#xff0c;这门新鲜、语法时尚、类型安全、执行速度更快的语言已经渐渐的深入广大开发者的心。我同样也是非常喜爱这门新的编程语言。 今年6月&#xff0c;一年一度的WWDC大会如期而至&#xff0c;在大会上Apple发布了Swift 2.0&#xff…

Android 自定义WebView弹窗及屏蔽弹窗

额&#xff0c;还是那个WebView的问题&#xff0c;内核已换成腾讯X5内核&#xff0c;所以接下来的内容会有一些X5内核的方法。但我们的H5是不能改的&#xff0c;还是只有委屈我们自己。先看看H5自带的弹窗 这样子的弹窗在不同的手机上呈现的可能是不同的效果&#xff0c;效果不…

【图像处理】——Python实现two_pass方法来进行连通域的提取

目录 一、相关知识 1、two_pass算法思想 2、并查集算法 二、自定义的two_pass算法

C++ 多线程使用future传递异常

如果 std::async 调用的函数抛出异常&#xff0c;那么这个异常会被存储在值的位置&#xff0c;同时 future 变为 ready ,如果调用 get() 会重新抛出存储的异常。 Note: 标准并没有指定原来的异常对象是被重新抛出或者拷贝后抛出&#xff0c;不同的编译器会做不同的选择。 对于 …

期货黄金与现货黄金比较

现货黄金与期货黄金是目前市场上最热门的黄金投资方式&#xff0c;与国内任何的金融投资品相比&#xff0c;都具有一定的优势。 其实金投网小编觉得现货黄金与期货黄金最主要的不同点是这个&#xff1a;期货黄金做的是国内市场&#xff0c;同股票市场一样&#xff0c;里面有庄家…

DNS域传送漏洞

0x00 相关背景介绍 Dns是整个互联网公司业务的基础&#xff0c;目前越来越多的互联网公司开始自己搭建DNS服务器做解析服务&#xff0c;同时由于DNS服务是基础性服务非常重要&#xff0c;因此很多公司会对DNS服务器进行主备配置而DNS主备之间的数据同步就会用到dns域传送&#…

封装之--通过类中公有方法访问私有成员变量

如何在ClassB中访问ClassA的私有成员变量&#xff1f;&#xff08;典型的封装案例&#xff09; 通过在ClassA中定义公有的成员方法&#xff0c;然后&#xff0c;在ClassB中通过ClassA的对象调用ClassA中的公有方法&#xff0c;来访问ClassA中的私有成员变量。 转载于:https://w…

匹配物镜放大倍数与相机像元尺寸

通常来说&#xff0c;相机内部的CCD或者CMOS传感器上都有感光阵列&#xff0c;由一个一个的感光元件构成&#xff0c;每一个感光元件负责完成光电转换的过程。简单理解&#xff0c;一个感光元件可以认为就是一个像素(pixel)或像元(pel)。像元具有一定尺寸&#xff0c;如果像的尺…

2016/11/10 kettle概述

ETL(Extract-Transform-Load&#xff0c;即抽取&#xff0c;转换&#xff0c;加载)&#xff0c;数据仓库技术&#xff0c;是用来处理将数据从来源&#xff08;以前做的项目&#xff09;经过抽取&#xff0c;转换&#xff0c;加载到达目的端&#xff08;正在做的项目&#xff09…

【深度学习】——非极大值抑制(nms/soft-nms)

目录 一、相关概念 1、iou 1&#xff09;理论计算 2&#xff09;Python代码&#xff08;代码参考yolov3模型util.py文件&#xff09; 2、nms 1)基本思路 2&#xff09;标准nms和soft-nms 3&#xff09;Python代码实现&#xff08;yolov3中util.py文件&#xff0c;增加了…

移动服务安全现状分析!

2019独角兽企业重金招聘Python工程师标准>>> 由于Android开源的环境&#xff0c;导致Android的整体环境都存在很多不安全的因素&#xff0c;同时用户在移动APP客户端的便捷应用&#xff0c;也给用户带来了巨大的安全隐患。未经过移动服务安全加固的APP存在被静态反编…

封装不同类模板的随机数生成器

最近准备刷题&#xff0c;打算简单封装下随机数生成器&#xff0c;方便产生测试数据。C11的STL提供了很多分布类型&#xff0c;我比较常用的是均匀分布&#xff0c;均匀分布的值有两种类型&#xff0c;一类是整数&#xff0c;另一类是浮点数&#xff0c;STL根据值的类型定义了两…

Log4j详细设置说明

1. 动态的改变记录级别和策略&#xff0c;即修改log4j.properties,不需要重启Web应用&#xff0c;这需要在web.xml中设置一下。2. 把log文件定在 /WEB-INF/logs/ 而不需要写绝对路径。3. 可以把log4j.properties和其他properties一起放在/WEB-INF/ &#xff0c;而不是Class-Pat…

【机器学习】——卷积神经网络(Keras)修改学习率(定值+自适应)

目录 1、直接获取现有模型的学习率 2、打印显示学习率 3、调整学习率 1&#xff09;1.LearningRateScheduler 2&#xff09;ReduceLROnPlateau 利用tensorflow的Keras模块我们可以建立我们自己定义的卷积神经网络模型&#xff0c;但是一般不会触碰到学习率这个问题&#x…