一、流行的软件包管理有两种:

Debian Linux的Deb软件包和

Redhat Linux的Rpm软件包,

Debian Linux首先提出将应用程序的二进制文件、配置文档、man/info帮助页面等文件合并打包在一个文件中,用户使用软件包管理器直接操作软件包,完成获取、安装、卸载、查询等操作。

二、软件包的管理分为2种:本地管理和网络管理

本地管理:--apkg命令

dpkg -i <package>     全称的安装命令,必须全称
dpkg -L <package>    列出安装的路径,可以查看怎么使用, package只需要前边的名字就可以
dpkg -r <package>     卸载, package只需要前边的名字就可以
dpkg -P <package>    卸载软件及配置文件
dpkg -s <package>    显示软件安装的状态,看是不是安装了

在线安装:apt-

由于操作系统中软件包存在复杂的依赖关系,为了解决软件包的依赖性问题和获取问题,出现了APT(是Debian Linux开发的)

APT是Ubuntu Linux中的命令行软件包管理工具,用于获取、安装、编译、卸载和查询Deb软件包,以及检查软件包的依赖关系。常用的APT实用程序是apt-get、apt-cache、apt-file、apt-cdrom等。

Ubuntu采用集中式的软件仓库机制,将各式各样的软件包分门别类的存放在软件仓库中,进行有效的组织和管理。然后,将软件仓库至于许许多多的镜像服务器中,并保持基本一致。这样,所有的Ubuntu用户随时都能获得最新版本的安装软件包。因此,对于用户,这些镜像就是他们的软件源。

需要知道的3个路径

/etc/apt/sources.list 这是安装包的镜像站点
/var/lib/apt/lists       本地软件包索引(这样才能快速的定位用哪个网站)
/var/cache/apt/archives/  
    安装包的默认下载目录
apt的命令如下:
sudo apt-get update            更新本地索引,即更新/var/lib/apt/lists里边的内容
sudo apt-get upgrade          所有软件包都更新。。。慎用

sudo apt-get install xxxx                      (不是全称,软件包名即可)安装
sudo apt-get --reinstall install xxxx      重新安装,可以在不卸载的情况下更新版本

sudo apt-get remove --purge xxxx       彻底卸载(--purge是彻底)

sudo apt-get clean                     删除默认目录下的deb包

sudo apt-get source xxx    下载 xxx的源码到当前目录


sudo apt-cache policy xxx    查看已经安装的软件的信息
sudo apt-cache show xxx     查看索引文件中已有软件包的详细信息
sudo apt-cache showpkg xxx     跟show差不多
sudo apt-cache depends xxx     列出xxx所依赖的文件
sudo apt-cache rdepends xxx    列出xxx被依赖的文件

版权声明:本文为博主原创文章,未经博主允许不得转载。

linux中软件包管理的更多相关文章

  1. linux RPM软件包管理

    linux RPM软件包管理 目录 1.软件包的介绍 2.rpm包管理 3.rpm包管理前端工具 1.软件包的介绍 在我们在对软件包管理前,先对软件包有个很好的了解,这样更方便我们来对其进行管理. 软 ...

  2. 【转】Linux中包管理与定时任务

    [转]Linux中包管理与定时任务 第1章 软件查询 1.1 查询软件是否安装 rpm -qa |grep cron 查询是否安装了这个软件. [root@znix ~]# rpm -qa |grep ...

  3. Linux的软件包管理

    此博客的环境任意. 主题Linux的软件包管理 一软件管理工具 1编译安装      2rpm包管理          3yum管理 二软件运行和编译 1ABI 应用程序的二进制接口 ABI:Appl ...

  4. 深入理解Linux中内存管理

    前一段时间看了<深入理解Linux内核>对其中的内存管理部分花了不少时间,但是还是有很多问题不是很清楚,最近又花了一些时间复习了一下,在这里记录下自己的理解和对Linux中内存管理的一些看 ...

  5. 【Linux基础】Linux下软件包管理(rpm-deb-yast-yum)

    软件包管理是指系统中一种安装和维护软件的方法.通常软件以包的形式存储在仓库(repository)中,能满足许多人所有需要的软件. 在GNU/Linux(以下简称Linux)操作系统中,RPM和DPK ...

  6. linux系统管理-软件包管理

    概述: inux家族中的软件包管理有很多工具. 一种是在debiton系列的linux中,以像ubuntu的apt-get为代表.对于此种方式的管理方式,个人感觉挺简单方便的, 一种是在Fedora和 ...

  7. Linux学习-软件包管理安装

    rpm RPM是Red-Hat Package Manager(RPM软件包管理器)的缩写 软件包类型 二进制包:已经使用GCC编辑后的 tar源码包:需要编译 rpm包获取方式 1,系统镜像   需 ...

  8. Linux中包管理与定时任务

    第1章 软件查询 1.1 查询软件是否安装 rpm -qa |grep cron 查询是否安装了这个软件. [root@znix ~]# rpm -qa |grep cron crontabs-1.1 ...

  9. 【Linux】深入理解Linux中内存管理

    主题:Linux内存管理中的分段和分页技术 回顾一下历史,在早期的计算机中,程序是直接运行在物理内存上的.换句话说,就是程序在运行的过程中访问的都是物理地址. 如果这个系统只运行一个程序,那么只要这个 ...

随机推荐

  1. oracle 数据库 存储过程

    destinct(去除重复行), to_char(转换自符串), to_date(日期格式函数), substr(截取自符串), lower(将字母转换为小写), upper(将字母转换为小写), t ...

  2. php设计模式学习之工厂模式

    我的认为:所为工厂模式是事先有一系类class,一个工厂类' 工厂类根据不同的参数创建不同的对象,调用各自的方法; php利用工厂模式实现计算器: ?php /** * Created by PhpS ...

  3. hihocoder1776 序列

    思路: 考虑从左至右依次向每个位置放置数字,对于第i个位置,以i为结尾的i个前缀和模P是不能相等的(因为不存在和为P的倍数的子串),所以第i个位置只能放置P - i个不同的数字.则答案就是(P - 1 ...

  4. Java之instanceof

    class Base{     int x = 1;     static int y = 2;     String name(){         return "mother" ...

  5. 浅谈table和DIV网页布局

    DIV+CSS是网站标准(或称“WEB标准”)中常用的术语之一,通常为了说明与HTML网页设计语言中的表格(table)定位方式的区别,因为XHTML网站设计标准中,不再使用表格定位技术,而是采用DI ...

  6. Clown without borders 2017/1/10

    原文 You'll laugh, you'll cry It's aesy to imaginehow the activities of CWB produce many emotional and ...

  7. 洛谷 P1732 活蹦乱跳的香穗子

    题目描述 香穗子在田野上调蘑菇!她跳啊跳,发现自己很无聊,于是她想了一个有趣的事情,每个格子最多只能经过1次,且每个格子都有其价值 跳的规则是这样的,香穗子可以向上下左右四个方向跳到相邻的格子,并且她 ...

  8. (一)SpringMVC之警告: No mapping found for HTTP request with URI

    这个警告往往是因为url路径不正确. 所以从三个地方下手: 1.springmvc-config.xml中的配置handle,看看是不是因为handle没有配置导致的. 2.如果是使用注解的方式的话, ...

  9. Codeforces Round #274 (Div. 2)-C. Exams

    http://codeforces.com/contest/479/problem/C C. Exams time limit per test 1 second memory limit per t ...

  10. Swift 中 String 与 CChar 数组的转换

    在现阶段Swift的编码中,我们还是有很多场景需要调用一些C函数.在Swift与C的混编中,经常遇到的一个问题就是需要在两者中互相转换字符串.在C语言中,字符串通常是用一个char数组来表示,在Swi ...