设为首页 收藏本站
查看: 2987|回复: 0

[经验分享] Ubuntu软件包管理器

[复制链接]

尚未签到

发表于 2017-11-22 10:34:47 | 显示全部楼层 |阅读模式
  Ubuntu软件包管理
  Ubuntu下对软件管理工具有:apt,dpkg,tasksel,aptitude等,我们常用的就是前三个工具。下面就介绍这三个工具的用法。

dpkg
  在Linux发展之初,安装软件的时候是需要下载以tar.gz结尾的软件源码包,然后对源码包进行编译安装。这是极其麻烦的使用。后来Debian(Ubuntu是基于Debian系统的)开发了dpkg(Debian Package)管理工具来管理软件,软件都是以deb结尾的编译好的二进制包,通过dpkg命令可以安装软件和卸载软件(CentOS中使用rpm包管理器)。

dpkg常用命令


  • 安装软件:dpkg -i
  • 移除软件:dpkg -r
  • 查看某个软件包是否已经安装:dpkg -l
  • 查看某个软件包中都包含哪些文件:dpkg -L
  • 查看系统中的某个文件是由哪个软件包提供的: dpkg -S /path/to/file
  • 查看哪些软件包未完成安装:dpkg -C
  • 重置软件配置文件 dpkg-reconfigure
  dpkg是底层的包管理工具,不太常用,最常用的是apt

apt
  ​ dpkg不够人性化的一点就是不能自动解决依赖问题,比如A软件包依赖于B软件包,那么你先得安装B才能安装A。而且使用dpkg需要将软件下载到本地才能安装。使用apt安装软件时会自动从软件仓库下载软件进行安装,并且apt能自动解决依赖问题,当有依赖的时候它也会自动从软件仓库下载依赖的包进行安装。当然apt底层还是调用dpkg来进行软件安装的。

apt相关文件


  • /etc/apt/source.list 配置软件包来源,也就是上面说的软件仓库
  • /ect/apt/apt.conf.d 存在apt的零碎配置文件
  • /ect/apt/preferences 制定软件包的版本参数
  • /var/cache/apt/archives 存放已下载的软件包
  • /var/cache/apt/archives/partial 存放正在下载的软件包
  • /var/lib/apt/lists 存放已下载的软件包详细信息
软件源
  软件源(软件仓库)中存放这大量的软件包,apt会从软件源中下载软件。在/ect/apt/soure.list中可以为apt配置软件源。在这个文件中deb关键字定义已编译的软件包来源,deb-src定义源码包的来源。每一行的格式如下:
  

deb(或deb-src) 软件源地址  主版本代号  软件仓库1 软件仓库2 软件仓库3 ...  

  下面时我的source.list中的内容,我是用的时网易的软件源镜像
  

deb http://mirrors.163.com/ubuntu/ xenial main restricted universe multiverse  
deb http://mirrors.163.com/ubuntu/ xenial-security main restricted universe multiverse
  
deb http://mirrors.163.com/ubuntu/ xenial-updates main restricted universe multiverse
  
deb http://mirrors.163.com/ubuntu/ xenial-proposed main restricted universe multiverse
  
deb http://mirrors.163.com/ubuntu/ xenial-backports main restricted universe multiverse
  

  Ubuntu的软件仓库被分为4个部分,分别是main,restricted,universemultiverse


  • main:软件包是自由软件,Ubuntu提供及时性,安全性支持****
  • restricted:不是完全的自由软件,但是由于被广泛使用,所以Ubuntu也提供及时性,安全性支持****
  • universe:一般由社区维护的软件,但Ubuntu不提供安全性的支持
  • multiverse:非自由软件,不被Ubuntu认可,不建议使用
apt-get 命令
  apt-get 命令一般用于软件包的安装,更新和移除,下面是它的一些常用命令

命令
功能介绍
update
将软件仓库中的软件包列表更新到本地,一般我们在安装软件之前需要执行该操作
upgrade
升级系统中的所有软件包,如果一个软件包在升级时会导致其他已安装的软件包被删除,那么这个软件包将不会被升级
dist-upgrade
该命令时upgrage的升级版,它会尝试去解决安装时出现冲突,比如会删除已安装的软件包,所以慎用
remove
卸载软件包(保留配置文件),同时也会卸载依赖于该软件的包,A依赖于B,卸载B时也会卸载A
install
安装软件包
source
下载源码包
clean
删除本地缓存的所有软件安装包
check
检查是否存在有问题的依赖关系  当然,在使用apt-get时还可以带一些选项,关于apt-get的详细说明可以查看手册man apt-get
  

安装MySQL数据库  
#apt-get install mysql
  

  
升级软件
  
#apt-get update && apt-get upgrade
  

apt-cache命令
  apt-cache一般用于软件包查找和显示软件包信息
  当我们安装某个软件包时,但是却不知道具体包名时可以使用apt-cache进行查找
  

查找mysql数据库安装包的包名  
# apt-cache search mysql
  

  
显示mysql-server(也就是mysql数据库)的安装包信息
  
#apt-cache show mysql-server
  

tasksel
  tasksel命令是用来安装“任务”的,任务就是一些软件的组合,比如LAMP这个任务,就是由apache,php,MySQL等软件包组成,tasksel安装任务就是安装一系列的软件包而已。
  查看系统提供的任务
  

# tasksel  --list-tasks  
u manual    Manual package selection
  
u dns-server    DNS server
  
u edubuntu-desktop-gnome    Edubuntu desktop
  
u kubuntu-desktop   Kubuntu desktop
  
u kubuntu-full  Kubuntu full
  
i lamp-server   LAMP server
  
u lubuntu-core  Lubuntu minimal installation
  
u lubuntu-desktop   Lubuntu Desktop
  
u mail-server   Mail server
  

  上面显示LAMP已经安装
  使用tasksel安装和卸载任务
  

安装LAMP  
# tasksel install lamp-server
  

  
移除LAMP
  
# tasksel remove lamp-server
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-409448-1-1.html 上篇帖子: 使用树莓派常用的命令 下篇帖子: 项目Docker化流程与问题总结(1)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表