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软件官网 : ...
随机推荐
- 关于监听与控制设备旋转全解析(UIDeviceOrientationDidChangeNotification)
一类情况: 初始化app的方向,比如只支持横屏或者竖屏.下面举例只支持竖屏的案例 在app的属性里面手动设置 上面标注了该app支持的方向种类,要是在app里支持Portrait方向,还需要添加以下代 ...
- 洛谷 P2053 [SCOI2007]修车 解题报告
P2053 [SCOI2007]修车 题目描述 同一时刻有N位车主带着他们的爱车来到了汽车维修中心.维修中心共有M位技术人员,不同的技术人员对不同的车进行维修所用的时间是不同的.现在需要安排这M位技术 ...
- [bzoj3238]差异(后缀数组+单调栈)
显然我们可以先把len(Ti)+len(Tj)的值先算出来,再把LCP减去.所有len(Ti)+len(Tj)的值为n*(n-1)*(n+1)/2,这个随便在纸上画一画就可以算出来的. 接下来问题就是 ...
- 【loj2639】[Tjoi2017]不勤劳的图书管理员
#2639. 「TJOI2017」不勤劳的图书管理员 题目描述 加里敦大学有个帝国图书馆,小豆是图书馆阅览室的一个书籍管理员.他的任务是把书排成有序的,所以无序的书让他产生厌烦,两本乱序的书会让小豆产 ...
- 【codechef】Children Trips
Portal -->CC_Children Trips Solution (英文题解看得真爽qwq不过写的好详细啊ovo) 首先这题有一个很重要的条件就是边权是\(1\)或者\(2\),所以虽然 ...
- git 列出两个 commit 之间变更的文件列表
git diff <commit1> <commit2> --stat 如: git diff 74ecf17dc 1ee25ed3c --stat src/assets 上面 ...
- 线程同步API及它们的属性
头文件:<pthread.h> 编译记得加 -lpthread库 1:互斥锁(mutex) 1.1:互斥锁API 数据类型:pthread_mutex_t // 初始化一个互斥锁 int ...
- 「Django」rest_framework学习系列-用户认证
用户认证:1.项目下utils文件写auth.py文件 from rest_framework import exceptions from api import models from rest_f ...
- 「Linux+Django」uwsgi服务启动(start)停止(stop)重新装载(reload)
转自:http://blog.51cto.com/12482328/2087535?cid=702003 1. 添加uwsgi相关文件 在之前的文章跟讲到过centos中搭建nginx+uwsgi+f ...
- (转) 使用vivado创建工程 4[完结]
由于自己手头暂时没有开发板,因此本节没有测试,故告之. Connecting to ZedBoardBefore we can run the application we have to conne ...