文件位置:

    系统命令:/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. Android MVP+Retrofit+RxJava实践小结

    关于MVP.Retrofit.RxJava,之前已经分别做了分享,如果您还没有阅读过,可以猛戳: 1.Android MVP 实例 2.Android Retrofit 2.0使用 3.RxJava ...

  2. CentOS 7 安装出现 /dev/root does not exits 导致无法安装的问题

    本人在官网下的是这个 CentOS-7-x86_64-DVD-1611.iso ,然后用UltraISO 9.6制作的U盘启动盘,不过在安装的时候出现了这个错误, 然后也是搜了好久,试了一下,下面这个 ...

  3. ASP.NET Aries 2.0 发布(原来的源码SVN已关闭,开源源码已迁移到GitHub)

    主要更新: 1:增加子目录部署支持. 2:增加Taurus.MVC支持. 3:优化及Bug修复. 1:增加子目录部署支持: 其实在重写Aries框架的时候,我是去掉了目录部署功能的,主要是为了加快Ar ...

  4. Vue.js——60分钟browserify项目模板快速入门

    概述 在之前的一系列vue.js文章,我们都是用传统模式引用vue.js以及其他的js文件的,这在开发时会产生一些问题. 首先,这限定了我们的开发模式是基于页面的,而不是基于组件的,组件的所有代码都直 ...

  5. CSharpGL(30)用条件渲染(Conditional Rendering)来提升OpenGL的渲染效率

    CSharpGL(30)用条件渲染(Conditional Rendering)来提升OpenGL的渲染效率 当场景中有比较复杂的模型时,条件渲染能够加速对复杂模型的渲染. 条件渲染(Conditio ...

  6. 浅析Java 泛型

    泛型是JavaSE5引入的一个新概念,但是这个概念在编程语言中却是很普遍的一个概念.下面,根据以下内容,我们总结下在Java中使用泛型. 泛型使用的意义 什么是泛型 泛型类 泛型方法 泛型接口 泛型擦 ...

  7. 简化SSH框架的整合

    一.开发环境: (1)    OS:Windows 7 (2)    DB:MySql 5.1.6 (3)    JDK:1.8.0_17 (4)    Server:Apache Tomcat 8. ...

  8. Atitit 会话层和表示层的异同

    Atitit 会话层和表示层的异同 会话层 这一层也称为会晤层或对话层.在会话层及以上的更高层次中,数据传送的单位没有另外再取名字,一般都可称为报文. 会话层虽然不参与具体的数据传输,但它却对数据传输 ...

  9. 快消品迎来B2B元年,行业将如何变革?

    一年接近尾声,又到了年终总结的时候,宴会厅里传来各种激情澎湃的演讲,有的行业遍地开花.欢声笑语不绝于耳:有的行业却没能迎来"昨夜东风",只能嗟叹"不堪回首".2 ...

  10. JavaScript高级编程 (1) - javscript是什么

    <重温javascript>这是一系列 javascript 的学习笔记,部分内容摘自书本或者网络,我这里只是基于自己的理解进行了梳理整理. 一个完整的 javscript 实现是由以下3 ...