Linux软件管理器(如何使用软件管理器来管理软件)2---安装及管理Linux应用程序
安装及管理Linux应用程序
Linux应用程序的组成
1.普通的可执行程序文件,一般保存在/usr/bin目录中,普通用户即可执行。
2.服务器程序、管理程序文件,一般保存在/usr/sbin目录中,需要管理员才能执行。
3.配置文件,一般保存在/etc目录中,配置文件较多时会建立相应的子目录。
4.日志文件,一般保存在/var/log目录中。
5.关于应用程序的参考文档等数据,一般保存在/usr/share/doc/目录中。
6.执行文件及配置文件的man手册页,一般保存在/usr/share/man目录中。
软件包的封装类型
1.RPM软件包:这种软件包文件的扩展名为".rpm",只能在使用RPM机制的Linux操作系统中安装。RPM软件包一般针对特定版本的系统定制,因此依赖性较强。安装RPM包需要使用rpm命令。
2.DEB软件包:这种软件包文件的扩展名为".deb",只能在使用DPKG机制的Linux操作系统中安装。安装DEB软件包需要使用Linux系统中的dkpg命令。
3.源代码包:这种软件包是程序员开发完成的原始代码,一般被制作成".tar.gz"、".tar.bz2"等格式的压缩包文件,因多数使用tar命令打包而成,所以经常被称为"TarBall"。安装源代码软件包需要使用相应的编译工具,由于大部分Linux系统中都安装有基本的编译环境,因此使用源码软件包要更加灵活。
4.提供安装程序的软件包:这种软件包的扩展名不一,但仍以TarBall格式的居多。软件包中会提供用于安装的可执行程序或脚本文件,如install.sh、setup等,只需运行安装文件就可以根据向导完成安装。
5.绿色免安装的软件包:这种软件包直接包含有编译好的执行程序文件,因此不需要特别安装。
RHEL6系统的光盘中携带大部分软件包都组织在Server目录中,通过该目录中的文件可以熟悉RPM软件包的一般命名格式。挂载光盘的命令如下(假设sss.rpm为应用软件包):
#mount /dev/cdrom /media/
#ls -ls /media/Server/sss.rpm
使用RPM包管理工具及命令
RPM软件包管理机制最早由Red Hat公司提出,后来随着版本的升级逐渐融入了更多的优秀特性,成为众多Linux发行版中工人的软件包管理标准。
使用RPM机制封装的软件包文件拥有约定俗成的命名格式,一般使用“软件名-软件版本-发布次数.硬件平台类型.rpm”的文件名形式。
使用rpm命令能够实现几乎所有对RPM软件包的管理功能,执行"man rpm"命令可以查看关于rpm命令的帮助信息。
1.查询RPM软件包信息
rpm -qa
rpm -qa |grep httpd
rpm -qa |grep gcc
常用参数说明
-qa:显示当前系统中以RPM方式安装的所有软件列表
-qf:查看指定文件或目录是由哪个软件包所安装的。
-qd:显示指定软件包在当前系统中安装的文档文件(--docfiles)列表。
2.安装、升级、卸载RPM软件包
-i:在当前系统中安装(Install)一个新的RPM软件包。
-e:卸载指定名称的软件包。
-U:检查并升级系统中某个软件包,若该软件包并未安装,则等同于"-i"选项。
-F:检查并更新系统中某个软件包,若该软件包并未安装,则放弃安装。
-h:在安装或升级软件包过程中以"#"号显示安装过程。
-v:显示软件安装过程中的详细信息。
更多选项参考man信息。
在安装包时,千万要注意U选项,这会升级Linux内核,有可能致linux启动不起来。
安装rpm命令:
rpm -ivh sss.rpm
rpm -ivh --force sss.rpm --强制安装软件包,但是70%的可能是装好后不好使用;
rpm -ivh --nodeps sss.rpm 安装时忽略软件依赖性;
删除RPM软件包:
rpm -e sss ---删除时不要带扩展名
rpm -ivh sss.rpm
rpm -ivh --force sss.rpm 强制安装软件包,但是70%的可能是装好后不好使用;
怎么解决软件包安装循环依赖?
将所有的软件包放到一个目录下后,进入目录后执行如下:
rpm -ivh *.rpm
rpm -ivh sss.rpm
rpm -ivh --force sss.rpm 强制安装软件包,但是70%的可能是装好后不好使用;
rpm -ivh --nodeps sss.rpm 安装时忽略软件依赖性;
3.维护RPM数据库
当RPM数据库损坏时,使用rpm命令的"--rebuilddb"或"--initdb"功能进行重建。
从源代码编译安装程序
现代的Linux发行版本通常使用包管理机制对软件进行打包安装,这样就省去了软件的编译安装过程,大大简化了Linux系统的安装和使用难度。但是在有些情况下,仍然需要使用源代码编译的方式为系统安装新的应用程序,例如:
1.安装较新版本的应用程序时
2.当前安装的程序无法满足应用需求:对于RPM格式封装的应用程序,一般只包含了该软件所能实现的一小部分功能,而难以由用户自行修改、定制。通过对程序的源码进行重新配置并编译安装后,可以定制更灵活、更丰富的功能。
3.为应用程序添加新功能时:当需要利用现有的应用程序源代码进行适当的修改,以便增强新的功能时,也必须释放出该软件的源代码,进行适当修改后重新编译安装。
编译源代码需要相应的开发环境,对于自由软件来说,gcc编译器是最佳选择。确认系统中编译环境:
源码编译安装的基本过程
1.解包:源代码吧一般为TallBall形式,使用tar命令进行解压释放。在Linux系统中,可以将各种软件的源代码文件保存到/usr/src/目录中,便于集中管理,如:
#tar xzf sss.tar.gz -C /usr/src
2、预编译,makefile
配置工作通常由源代码目录中的"configure"脚本文件来完成,具体参数可以在源码目录中执行"./configure --help"进行查看。不同的程序其配置参数会存在区别,但是"--prefix"形式的参数却是大多数开源软件通用的,该配置参数用于指定软件包安装的目标文件夹,未指定参数时,"configure"配置脚本将采用默认值。若将应用程序的相关文件安装到同一个目录中,需要卸载时就非常方便,一般只要将程序文件夹删除即可
以MySql为例, tar.gz/gz tar.bz2
./configure --help
--prefix=/usr/local/soft
这步骤可能出现一些出现一些缺少库文件。当出现错误时,一定要把预编译失败生成的makefile删除掉。
怎么删除,就用rm命令删除
3.Make编译
编译:编译的过程主要是根据Makefile文件中的配置信息,将源代码文件编译、连接成二进制的模块文件、执行程序等。第二步的配置完成后执行"make"命令可以完成编译工作,一般比需配置步骤更长的时间, make 10 并行编译,加开编译速度,在这一步出现错误,要进行make clean ,将中间状态的二进制文件都要删除掉。
4.安装:编译完成后,就可以执行"make install"命令将软件的执行程序、配置文件、帮助文档等相关文件复制到Linux系统中了,即应用程序的最后安装过程。
上述过程中,有时候为了简单起见,也可以将编译、安装的步骤写成一行命令执行,中间使用"&&"符合分隔即可(make && make install)
.make install
第三部很少有问题
如果源码安装调试的合理,性能将会提升10倍甚至几十倍的提升。尤其是数据库和apache类此的服务软件。
原文链接:http://www.linuxidc.com/Linux/2015-04/116418.htm
Linux软件管理器(如何使用软件管理器来管理软件)2---安装及管理Linux应用程序的更多相关文章
- IOS开发中Xcode常用插件安装与管理(转)
XCode中插件管理工具:Alcatraz 转自http://www.cocoachina.com/industry/20140506/8325.html 苹果现在的成绩得益于其始终如一的坚持. ...
- 下载与安装---tensorflow on linux
http://wiki.jikexueyuan.com/project/tensorflow-zh/get_started/os_setup.html 你可以使用我们提供的 Pip, Docker, ...
- 运维笔记10 (Linux软件的安装与管理(rpm,yum))
概述:用rpm安装和管理软件(rpm解决依赖性),用yum安装与管理软件(yum解决依赖性). 1.linux的软件 linux能够说是一款改变时代的操作系统,可是一个操作系统再优秀假设没有好用的应用 ...
- 如何在Linux上安装服务器管理软件Cockpit
Cockpit 是一个自由开源的服务器管理软件,使得我们可以通过它好看的 Web 前端界面轻松地管理我们的 GNU/Linux 服务器,非常轻量级,Web 界面也非常简单易用. Cockpit 使得 ...
- 在 Linux 上安装服务器管理软件 Cockpit
Cockpit 是一个自由开源的服务器管理软件,它使得我们可以通过它好看的 web 前端界面轻松地管理我们的 GNU/Linux 服务器.Cockpit 使得 linux 系统管理员.系统维护员和开发 ...
- Linux软件安装——服务管理的命令
Linux软件安装——服务管理的命令 摘要:本文主要学习了Linux系统中服务管理的命令. service命令 service命令用于对系统服务进行管理,比如启动(start).停止(stop).重启 ...
- Linux软件安装——服务管理
Linux软件安装——服务管理 摘要:本文主要学习了Linux中有关服务管理的知识. 什么是服务 服务一般是放置在后台运行的一个或多个进分程,为用户或系统提供某项特定的服务,有些是系统服务,有些则是独 ...
- rpm---linux软件安装与管理
linux的安装命令选项太多,整理一下,方便后期查找. 汇总: install: rpm -ivh 包全名 安装 upgrade: rpm -Uvh 包全名 升级 erase: rpm -e 包名 删 ...
- 细说Linux下软件包的安装与管理
一 源码安装方式 由于linux操作系统开放源代码,因而在其上安装的软件大部分也都是开源软件,例如apache.tomcat.php等软件.开源软件基本都提供源码下载,源码安装的方式:源码安 ...
- 安装完Kali linux 之后 需要配置的一些 常用软件 记录
apt 阿里云开源镜像站 deb http://mirrors.aliyun.com/kali sana main non-free contribdeb http://mirrors.aliyun. ...
随机推荐
- Django获取多个数据及文件上传
1. 选择性别: 1)更新login.html模板 2)views.py中获取客户端提交的数据 3)当选择性别为“男”后,后台得到了gender=1. 2.选择爱好,可以多选,所以后台会获得多个数据. ...
- 【转】.gitignore失效的解决办法
转自:http://foreverdo.diandian.com/post/2012-09-20/40038034798 How to make .gitignore works? Just got ...
- 【刷题】BZOJ 4349 最小树形图
Description 小C现在正要攻打科学馆腹地------计算机第三机房.而信息组的同学们已经建好了一座座堡垒,准备迎战.小C作为一种高度智慧的可怕生物,早已对同学们的信息了如指掌. 攻打每一个人 ...
- Spring Boot系列教程三:使用devtools实现热部署
一.前言 Eclipse下使用spring-tool-suite插件创建一个spring boot 工程,通过右键“Run As”--->"Spring Boot App"来 ...
- BZOJ3527:[ZJOI2014]力——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=3527 给出n个数qi,给出Fj的定义如下: 令Ei=Fi/qi,求Ei. 参考:https://ww ...
- 洛谷P4559 [JSOI2018]列队 【70分二分 + 主席树】
题目链接 洛谷P4559 题解 只会做\(70\)分的\(O(nlog^2n)\) 如果本来就在区间内的人是不用动的,区间右边的人往区间最右的那些空位跑,区间左边的人往区间最左的那些空位跑 找到这些空 ...
- dfs序七个经典问题(转)
我这个人不怎么喜欢写轻重链剖分和LCT 还是喜欢dfs序.括号序列之类的 毕竟线段树好写多了 然后就有了这篇转载的文章 写在这边以后有时间看看 原文链接:https://www.cnblogs.com ...
- java 根据包名、目录名获取所有定义的类
/** * Scans all classes accessible from the context class loader which belong to the given package a ...
- POJ 3260 完全背包+多重背包+思维
传送门:https://vjudge.net/problem/20465/origin 题意:你有n种钞票,面值为c[i],数量为v[i],便利店老板有无数张面值为c[i]的钞票,问你买一个价值为T的 ...
- wordpress初始化安装
数据名,用户名,密码的选择: 从主机购买商的控制面板里面查询: 然后填入到WordPress数据库初始化页面..