Linux软件管理器(如何使用软件管理器来管理软件)
- 我们的Linux系统大部分都是某个Linux厂商的系统,所以这些厂商可以编译好一些软件来提供用户下载,用户下载完了之后就可以直接安装,从而省去了编译源码及其过程中的各种问题。这时我们就可以使用相应的软件管理器来操作软件(下载、安装、删除)。
我们使用的是Linux厂商的系统,即我们的系统和他们的系统是一样的,所以他们编译的软件我们当然可以用。
在安装软件的时候可以添加一些有关软件的一些信息,将这些信息新建成数据库,那么就可以进行卸载、更新和验证等相关操作了。(类似于windows下面的添加或删除程序)
两种常见的软件管理机制:RPM( RedHat Package Manager)和DPKG
distribution代表 软件管理机制 使用命令 在线升级机制(命令)(可以用来解决依赖问题)
RedHat/Fedora RPM rpm,rpmbuild YUM(yum)
Debian/Ubuntu DPKG dpkg APT(apt-get)
RedHat、Fedora、Centos、SuSE等发行商使用的RPM机制;Debian、B2D、Ubuntu(派生于Debian,所以可以用于Debian想用的机制)使用的是DPKG。
横向比较:rpm/dpkg 不能用来解决包依赖,用来安装、卸载、更新*.rpm 或者 *.ded
文件RPM:RedHat Package Manager,
以一种数据库记录方式安装软件的一套管理机制。
RPM最大的一个特点就是将要安装的软件先编译好并打包成RPM机制的安装包,通过包装好的软件中默认的数据库记录这个软件的依赖的软件。
优点:
- 已经编译且打包完毕,所以软件的传输和安装都很方便。(省去了编译源码的麻烦)
- 软件的 信息都已记录在数据库中方便查询、升级、卸载等操作。
缺点:
- RPM文件已经是编译好的文件,那么其中的数据就无法修改了。该软件只能安装在原本默认的环境(硬件和操作系统)中,也就是说你的主机系统要和当初建立这个软件的主机环境相同。
- 所以,一个发行商的RPM文件不能用在另一个不相同的发行商的系统上。比如说,RedHat推出的RPM无法直接SuSE上进行安装。并且,很可能同一个发行商的不同版本的系统之间的RPM包也是无法兼容的,例如,Centos4.x的RPM包无法直接应用在Centos5.x上
总结:要想使用相同的RPM包最好做到:1、同一个系统的发行商的RPM 2、同一个发行商的系统版本最好也是相同的 3、最好是完全相同的一个系统- 软件的安装环境必须和当初编译该软件的机器的环境是一样的或者时候相当的
- 需要满足依赖关系
- 卸载的时候特别是不能先删除最底层的软件,否则可能造成系统出问题
apt-get:
jack@jackvirtual:~$sudo apt-get install packagename #这里是安装packagename这个软件,当使用这个命令的时候系统会去“下载源”文件中获取下载源地址然后去指定的地方下载软件几个命令:
-dbkg: 这里详细的介绍了dbkg的15个用法
- dbkg -i packagename #安装或者更新某个软件,如果这个包没有下载的话那么就会保存,所以可以先使用wget命令下载下来.deb软件
wget http://archive.canonical.com/pool/partner/a/adobe-flashplugin/adobe-flashplugin_11.2.202.228-0maverick1_amd64.deb -O flashplugin.deb
- 这里将下载下来的软件包重命名为flashplugin.deb,然后使用sudo dpkg -i flashplugin.deb安装这个软件
- [flashplugin.deb的地址](http://archive.canonical.com/pool/partner/a/adobe-flashplugin/)
- dpkg -l #列出所有安装的软件
- dpkg -r `packagename_without_.deb`#卸载软件软件,这里的软件名不带后缀
- dpkg -R --install directory/ #安装direcory目录下的所有的*.deb软件
当提示有依赖错误时:apt-get -f -y install,之后再运行dpkg -i *.deb进行安装
- apt-get:[apt-get的介绍和用法](http://www.tecmint.com/useful-basic-commands-of-apt-get-and-apt-cache-for-package-management/)
- sudo apt-get install packagename1 packagename2 #安装或者升级一个或多个软件
- `sudo apt-get install '*name*'` #使用通配符安装软件
- sudo apt-get install packageName --only-upgrade #指定的软件升级
- sudo apt-get install packageName --no-upgrade #不升级已经安装的软件
- sudo apt-get install vsftpd=2.5.3-3ubuntu #安装指定版本的软件
- sudo apt-get remove packageName #移除指定的软件且不删除其配置文件
- sudo apt-get purge packageName #移除指定文件且删除其配置文件,完全删除了这个文件
- sudo apt-get remove --purge packageName #跟上面的命令一样
- sudo apt-get --download-only source vsftpd #只下载指定软件的源码
- sudo apt-get --compile source goaccess #下载、解压、编译源码一气呵成
- sudo apt-get source vsftpd #下载并解压一个包
- sudo apt-get download nethogs #只下载不安装
- sudo apt-get upgrade #升级所有已经安装的软件
- sudo apt-cache pkgnames#列出所有available软件原文链接:http://blog.csdn.net/u010378878/article/details/51675506
Linux软件管理器(如何使用软件管理器来管理软件)的更多相关文章
- Linux基础3(用户/组管理,rpm,yum,源码安装软件)
用户管理 与用户相关的配置文件 /etc/passwd /etc/shadow /etc/skel /etc/defalut/useradd /etc/login.defs useradd userm ...
- [课程分享]IT软件项目管理(企业项目甘特如是评价、维护管理、文档管理、风险管理、人力资源管理)
[课程分享]IT件项目管理(企业项目甘特图案例评价.维护管理.文档管理.风险管理.人力资源管理) 对这个课程有兴趣的朋友能够加我的QQ2059055336和我联系 课程讲师:丁冬博士 课程分类:Jav ...
- linux包安装,解压,压缩,包管理,环境变量
linux 包安装,解压,压缩,包管理 centoscentos上有系统包管理器yum yum的配置一般有两种方式,一种是直接配置/etc目录下的yum.conf文件,另外一种是在/etc/yum.r ...
- linux(raspbian)下mysql的安装,权限设置和用户管理
一 MySQL安装:(1) 使用apt-get安装, 由于raspbian是基于Debian的自由操作系统,debian默认自带apt-get指令安装应用因此可以使用来安装 sudo apt-get ...
- Linux企业级项目实践之网络爬虫(25)——管理源代码之SVN
软件项目开发中,一般会用到源代码管理工具SVN.版本控制是管理数据变更的一种技术.对于程序员来说,它已经成为不可或缺的工具,因为他们经常修改软件代码,产生部分的变更,然后第二天再取消所有的变更.想象有 ...
- (转)用户管理 之 Linux 用户(user)和用户组(group)管理概述
用户管理 之 Linux 用户(user)和用户组(group)管理概述 原文:http://www.cnblogs.com/licheng/p/6103992.html 一.理解Linux的单用户 ...
- Linux 文件系统错误的修复方法 ddrescue替代dd的恢复软件 备用超级块
Linux 文件系统错误的修复方法 ddrescue替代dd的恢复软件 备用超级块 最近处理的一件 linux 服务器断电导致文件系统启动后文件系统不可读写,数据不可用的案例,现总结下 Linux ...
- Unix/Linux环境C编程入门教程(33) 命令和鼠标管理用户和组
Linux是一个多用户.多任务的实时操作系统,允许多人同时访问计算机, 并同时运行多个任务.UNIX系统具有稳定.高效.安全.方便.功能强大等诸多优点,自20世纪70年代开始便运行在许多大型和小型计算 ...
- lucene全文搜索之二:创建索引器(创建IKAnalyzer分词器和索引目录管理)基于lucene5.5.3
前言: lucene全文搜索之一中讲解了lucene开发搜索服务的基本结构,本章将会讲解如何创建索引器.管理索引目录和中文分词器的使用. 包括标准分词器,IKAnalyzer分词器以及两种索引目录的创 ...
- linux学习:【第3篇】远程连接及软件安装
狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! linux学习:[第3篇]远程连接及软件安装 远程连接 xshell , xftp软件官网 : ...
随机推荐
- Stream My Contest UVA - 11865(带权最小树形图+二分最小值最大化)
#include <iostream> #include <cstdio> #include <sstream> #include <cstring> ...
- 【BZOJ2436】【NOI2011】NOI嘉年华(动态规划)
[BZOJ2436]NOI嘉年华(动态规划) 题面 BZOJ 题解 考虑第一问如何求解 发现状态与选择了哪些活动无关,只与时间有关 设\(f[i][j]\)表示前\(i\)个单位时间(离散后),一个嘉 ...
- Codeforces 895.E Eyes Closed
E. Eyes Closed time limit per test 2.5 seconds memory limit per test 256 megabytes input standard in ...
- lightoj 1020 (博弈水题)
lightoj 1020 A Childhood Game 链接:http://lightoj.com/volume_showproblem.php?problem=1020 题意:一堆石子有 m 个 ...
- 装饰器--decorator2
装饰器加参数 import time def timer(func): # timer(test2) func = test2 def deco(): start_time = time.time() ...
- Gogent相关问题的解决(不断更新)
1:今天早上打开推特,发现进不去了,google浏览器一直提示404……找不到网址,真心郁闷.后来,查了查,才知道,最近google在北京的主干服务器被xx了,某些省就上不了了…… ……乱七八糟的不说 ...
- 游戏AI:行为树
Behavior Tree 行为树通过子Task的返回值决定整棵树的走向 Task 行为树上的每个节点都称为一个Task, 每个Task存在三种状态, success, failure, runnin ...
- IO流-读取写入缓冲区
例如FileReader和FileWriter在读取的时候是读一次或者写一次就请求磁盘,这样使用的时间非常的长,效率比较低,因此引入BufferedReader和BufferedWriter作为读取和 ...
- 【BZOJ】1497: [NOI2006]最大获利 最大权闭合子图或最小割
[题意]给定n个点,点权为pi.m条边,边权为ci.选择一个点集的收益是在[点集中的边权和]-[点集点权和],求最大获利.n<=5000,m<=50000,0<=ci,pi<= ...
- 【BZOJ】2165: 大楼
[题意]从第0层开始有无穷层,每层有n个房间,给定矩阵A,A[i][j]表示从第x层的房间 i 可以跳到第x+A[i][j]层的房间 j (x任意),A[i][j]=0表示不能跳.初始在第0层第1个房 ...