文件位置:

    系统命令:/bin和sbin目录,或shell内部指令;

    应用程序:/usr/bin和/usr/sbin目录。

        /usr/bin:普通执行程序文件;

        /usr/sbin:服务器执行程序或管理程序。

 

常见软件包:

    rpm:扩展名.rmp软件包;

    deb:扩展名.deb软件包;

    源代码软件包:一般打包为.tar.gz或.tar.bz2等格式。

    附带安装程序的软件包:如提供install.sh,setup等安装程序,或以.bin格式的单个执行文件提供;

    绿色免安装的软件包:压缩包内已有编译好的执行程序文件,解压即可使用;

 

RPM包:

    由red hat提出,被众多linux发行版采用的方案;

    软件包格式:

 

查询已安装的rpm软件信息:

    rpm –q[子选项] [软件名]

例: rpm –qa :查看系统所有已安装的软件信息;

    rpm –qc httpd:查看httpd软件的配置文件;

    rpm –ql httpd:查看httpd软件所安装的目录和文件列表;

    rpm –q httpd:查看httpd是否安装。

    rpm –qf 文件或目录名:查看某个文件或目录属于哪个RPM软件。

 

如果查询未安装的RPM软件包信息,可使用:rpm –qp[子选项] 软件包全称。

例:    rpm –qpi ethool-3.5-1.el6.x86_64.rpm:查询该软件包要安装的目录和文件。

 

安装或升级RPM软件:rpm [选项] rpm包文件

    选项:

    -i:安装新软件,加vh显示进度条;

    -U:升级软件,未装则进行安装;

    -F:升级软件,未装则放弃;

卸载RPM软件:rpm –e 软件

 

实际上,安装RPM软件包并不容易,因为软件包有依赖关系。

 

RPM数据库:

    记录linux系统中安装、卸载、升级应用程序的相关信息;

    RPM包管理系统自动完成维护,一般不需要用户干预

    存放位置:/var/lib/rpm

    文件名:__db.001, __db.002 ……

重建RPM数据库:

    rpm –rebuilddb

    重建前先删除原有的数据库文件:rm –rf /var/lib/rpm/--db.*

 

RPM软件包公钥:用于验证软件包完整性。

    查看是否有公钥:rpm –qa gpg-pubkey

    导入公钥:rpm –import /media/RPM-GPG-KEY-redhat-release

    查看公钥信息:rpm –qi 公钥名

    验证软件包完整性:

        rpm –K /media/Packages/httpd-2.2.15-29.e16_4.x86_64.rpm

        如果要显示更详细的验证信息,可以用-vvK。

    卸载公钥:

        rpm –e 公钥名

 

YUM(Yellowdog Updater Modified)概述:

    基于RPM包构建的软件更新机制,可自动解决软件依赖关系。

    所有软件包由集中的YUM软件仓库提供。

    软件仓库的提供方式:

        FTP服务:ftp://....

        HTTP服务:http://....

        本地目录:fiel:///….

    RPM软件包来源:

        red hat发布;第三方组织;用户自定义。

        EPEL软件源:Fedora小组维护的一个软件仓库项目,提供他们默认不提供的软件包。

    安装EPEL软件源:

    查看EPEL源是否添加:

        yum repolist

    YUM仓库位置:/etc/yum.repos.d/*.repo

    YUM的配置文件:

        基本设置:/etc/yum.conf

仓库设置:/etc/yum.repos.d/*.repo

日志文件:/var/log/yum.log

    查询软件包命令:

        yum list [软件名]:可省略软件名查看所有软件包;

        yum info [软件名]:查看某个软件包的信息;

        yum search <关键词>: 搜索某个软件包;

        yum provides <关键词>: 搜索某个文件是属于哪个软件包的(此命令很常用)。

    查询软件包组:软件包是用于对一系列软件分组,方便安装和管理。

        yum grouplist [包组名]:查询所有软件包。

        yum groupinfo <包组名>:查询某个软件包的信息。

    安装软件:

        yum install [软件名]

        yum groupinstall <包组名>

    升级软件:

        yum update

        yum groupupdate

    卸载:

        yum remove <软件名>

        yum groupremove <包组名>

        yum grouperase <包组名>

    

    

Linux应用程序基础的更多相关文章

  1. Linux C 程序 基础语法(1)

    1.Linux 下第一支C程序,控制台打印一句话. vi first.c //linux新建文件 #include<stdio.h> int main() { printf("w ...

  2. Linux C 程序 基础(FOUR)

    1.标识符:C语言本身不限制变量长度,但是某些编译器会限制变量长度,命名最好不要超过8位.         以数字开头,保留字,*,空格非法 2.关键字:类型说明符,int , 语句定义符,if el ...

  3. 自学Linux Shell19.1-gawk程序基础特性

    点击返回 自学Linux命令行与Shell脚本之路 19.1-gawk程序基础特性 linux世界中最广泛使用的两个命令行编辑器: sed gawk 1. gawk概念 awk是一个强大的文本分析工具 ...

  4. linux发行版基础目录

    linux发行版基础目录 linux 基础目录 linux基础目录 目录 作用 / 根目录,起源 /boot linux引导启动目录 /lib 库目录 /bin 常用内部命令 /sbin 常用内部管理 ...

  5. LINUX二十个基础命令

    LINUX二十个基础命令 一. useradd命令 1.命令格式: useradd 选项 用户名 2.命令功能: 添加新的用户账号 3.常用参数: -c comment 指定一段注释性描述.-d 目录 ...

  6. 详细介绍Linux shell脚本基础学习

    Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提.1. Lin ...

  7. linux 脚本编写基础(一)

    1. Linux 脚本编写基础 1.1 语法基本介绍 1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在 ...

  8. Linux shell入门基础(六)

    六.Shell脚本编程详解 将上述五部分的内容,串联起来,增加对Shell的了解 01.shell脚本 shell: # #perl #python #php #jsp 不同的脚本执行不同的文本,执行 ...

  9. 服务器编程入门(5)Linux服务器程序规范

    问题聚焦:     除了网络通信外,服务器程序通常还必须考虑许多其他细节问题,这些细节问题涉及面逛且零碎,而且基本上是模板式的,所以称之为服务器程序规范.     工欲善其事,必先利其器,这篇主要来探 ...

随机推荐

  1. CSS3自定义滚动条样式 -webkit-scrollbar(转)

    有没有觉得浏览器自带的原始滚动条很不美观,同时也有看到很多网站的自定义滚动条显得高端,就连chrome32.0开发板都抛弃了原始的滚动条,美观多了.那webkit浏览器是如何自定义滚动条的呢? 前言 ...

  2. mono for android 用ISharedPreferences 进行状态保持 会话保持 应用程序首选项保存

    由于项目需要 要保持用户登录状态 要进行状态保持 用途就好像asp.net的session一样 登录的时候进行保存 ISharedPreferences shared = GetSharedPrefe ...

  3. .Net中的AOP系列之《间接调用——拦截方法》

    返回<.Net中的AOP>系列学习总目录 本篇目录 方法拦截 PostSharp方法拦截 Castle DynamicProxy方法拦截 现实案例--数据事务 现实案例--线程 .Net线 ...

  4. ARM的栈指令

    ARM的指令系统中关于栈指令的内容比较容易引起迷惑,这是因为准确描述一个栈的特点需要两个参数: 栈地址的增长方向:ARM将向高地址增长的栈称为递增栈(Descendent Stack),将向低地址增长 ...

  5. 借助亚马逊S3和RapidMiner将机器学习应用到文本挖掘

    本挖掘典型地运用了机器学习技术,例如聚类,分类,关联规则,和预测建模.这些技术揭示潜在内容中的意义和关系.文本发掘应用于诸如竞争情报,生命科学,客户呼声,媒体和出版,法律和税收,法律实施,情感分析和趋 ...

  6. ABP框架 - 应用服务

    文档目录 本节内容: IApplicationService 接口 ApplicationService 类 CrudAppService 和 AsyncCrudAppService 类 简单的CRU ...

  7. [译]ZOOKEEPER RECIPES-Queues

    队列 分布式队列是一种常见的数据结构.为了在ZooKepeer中实现分布式队列,第一步是要使用一个znode代表队列本身.分布式客户端通过create()方法将内容放入一个名叫"queue- ...

  8. AngularJs之四

    一,数据循环:特别要注意作用域 使用ng-repeat指令. <div ng-app="myApp" ng-controller="myCtrl"> ...

  9. 1.Kali安装到移动硬盘或者U盘中~Linux系通用方法(包括Android)

    0.1.保证这个服务必须启动(虚拟机服务最好都启动) 0.2.看看U盘接口类型是否对应 1.安装第一步 2.安装第二步,选择kali镜像 3.设置存放位置(上面的名字无所谓,最后不会用它的,虚拟机只是 ...

  10. 阿里云服务器的坑=====部署EF+MVC

    异常处理汇总 ~ 修正果带着你的Net飞奔吧!http://www.cnblogs.com/dunitian/p/4599258.html 先参考:http://www.cnblogs.com/dun ...