文件位置:

    系统命令:/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. 使用git进行源代码管理

    git是一款非常流行的分布式版本控制系统,使用Local Repository追踪代码的修改,通过Push和Pull操作,将代码changes提交到Remote Repository,或从Remote ...

  2. 在配有英特尔® Iris™ 显卡的系统上通过优化对 Just Cause 3 进行增强

    高端 PC 继续通过高性能显卡驱动桌面游戏. 一流的"梦想机器"基于第六代智能 英特尔® 酷睿™ 处理器i7-6700K等 CPU,通常与高端独立显卡配合使用以运行要求最严苛的游戏 ...

  3. 关于HTML语义化的一些理解

    语义化这个词我想大家都看到了无数次,特别是在一些招聘广告上. 其实我自己也是,不过每次看到都觉得是那些招聘公司复制的,其实他们根本说不清语义化是什么,而且也根本不看重. 所以我一直也没把这东西当回事过 ...

  4. Netty构建分布式消息队列(AvatarMQ)设计指南之架构篇

    目前业界流行的分布式消息队列系统(或者可以叫做消息中间件)种类繁多,比如,基于Erlang的RabbitMQ.基于Java的ActiveMQ/Apache Kafka.基于C/C++的ZeroMQ等等 ...

  5. ENode 2.8 最新架构图简介

    ENode架构图 什么是ENode ENode是一个.NET平台下,纯C#开发的,基于DDD,CQRS,ES,EDA,In-Memory架构风格的,可以帮助开发者开发高并发.高吞吐.可伸缩.可扩展的应 ...

  6. 领域驱动设计实战—基于DDDLite的权限管理OpenAuth.net

    在园子里面,搜索一下“权限管理”至少能得到上千条的有效记录.记得刚开始工作的时候,写个通用的权限系统一直是自己的一个梦想.中间因为工作忙(其实就是懒!)等原因,被无限期搁置了.最近想想,自己写东西时, ...

  7. C++模板编程:如何使非通用的模板函数实现声明和定义分离

    我们在编写C++类库时,为了隐藏实现,往往只能忍痛舍弃模版的强大特性.但如果我们只需要有限的几个类型的模版实现,并且不允许用户传入其他类型时,我们就可以将实例化的代码放在cpp文件中实现了.然而,当我 ...

  8. CSharpGL(19)用glReadPixels把渲染的内容保存为PNG图片(C#)

    CSharpGL(19)用glReadPixels把渲染的内容保存为PNG图片(C#) 效果图 本文解决了将OpenGL渲染出来的内容保存到PNG图片的方法. 下载 CSharpGL已在GitHub开 ...

  9. 速算1/Sqrt(x)背后的数学原理

    概述 平方根倒数速算法,是用于快速计算1/Sqrt(x)的值的一种算法,在这里x需取符合IEEE 754标准格式的32位正浮点数.让我们先来看这段代码: float Q_rsqrt( float nu ...

  10. ABP(现代ASP.NET样板开发框架)系列之1、ABP总体介绍

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之1.ABP总体介绍 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)” ...