文件位置:

    系统命令:/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—基于微信开放平台v3SDK,开发微信支付填坑。

    接触微信支付之前听说过这是一个坑,,,心里已经有了准备...我以为我没准跳坑出不来了,没有想到我填上了,调用成功之后我感觉公司所有的同事都是漂亮的,隔着北京的大雾霾我仿佛看见了太阳~~~好了,装逼结束 ...

  2. SpringMVC视图解析器

    SpringMVC视图解析器 前言 在前一篇博客中讲了SpringMVC的Controller控制器,在这篇博客中将接着介绍一下SpringMVC视 图解析器.当我们对SpringMVC控制的资源发起 ...

  3. vim+vundle配置

    Linux环境下写代码虽然没有IDE,但通过给vim配置几个插件也足够好用.一般常用的插件主要包括几类,查找文件,查找符号的定义或者声明(函数,变量等)以及自动补全功能.一般流程都是下载需要的工具,然 ...

  4. openfire的组件(Component)开发

    在之前的文章<Openfire阶段实践总结>中提到过一种openfire的扩展模式Compoent.本文将主要探讨对这种模式的应用与开发方法. 内部与外部组件介绍 在openfire中的许 ...

  5. python实现一个控制台下的进度条

    今天写练习爬虫感觉很需要个进度条,就随手用函数实现了一个,到了晚上突然感觉到这个东西应该单独写出来以后肯定用用得着. 代码也很简单,我就不细讲了,直接上代码了. 测试代码: instance.py i ...

  6. 大数据之Oozie——源码分析(一)程序入口

    工作中发现在oozie中使用sqoop与在shell中直接调度sqoop性能上有很大的差异.为了更深入的探索其中的缘由,开始了oozie的源码分析之路.今天第一天阅读源码,由于没有编译成功,不能运行测 ...

  7. linux安装mvn后提示权限不够

    Maven - 环境配置 Maven 是一个基于 Java 的工具,所以要做的第一件事情就是安装 JDK. 系统要求 项目 要求 JDK Maven 3.3 要求 JDK 1.7 或以上Maven 3 ...

  8. SQL统计

    --按周统计SELECT TOP 10DATENAME(year,AddDate) 年,DATENAME(week,AddDate) 周,COUNT(1) 单量,SUM(total) 总金额,AVG( ...

  9. Redis数据结构详解之Set(三)

    序言 在Redis中,Set和list都是字符串序列,非常相似,不同之处在于Set是用哈希表来保持字符串的唯一性,没有先后顺序,不像list一样,可以在首尾增删数据.但是set也有自己的相应处理命令来 ...

  10. 【.net 深呼吸】连接Access数据库应注意的几点

    本地数据库可以有Y种选择,比如Sqlite.SQL Server Express.SQL Local DB.SQL Server CE.Access等,本文老周选用比较著名的Access本地数据库,在 ...