`
fudehai001
  • 浏览: 502230 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Chapter 4. 软件包管理工具APT(for Debian)

阅读更多

APT

from : http://www.ringkee.com/note/opensource/debian/ch04s02.html

 

软 件包管理是区分不同发行版的一大特征,如RedHat使用RPM软件包来管理软件,Debian使用deb软件包来管理软件。apt是Debian的 deb软件包高级管理工具,由一组以apt开头的命令组成,如apt-get、apt-cache和apt-setup等。它的最低底层还是调用dpkg 程序来处理软件包的。通过apt-get工具可自动解决软件包的依赖关系,方便软件的安装和升级。它是Debian发行版的最大特色,一定要好好掌握。

要 使用好apt-get就要配置好一个名为sources.list的资源列表,资源列表指向Debian系统的软件库,apt-get会从该软件库安装各 种软件包。sources.list文件位于/etc/apt目录下,下面是Sarge、Etch和Sid三个版本的写法,你可任选一种,最好不要多版本 混用:

#sources.list for Sarge(stable):
deb http://http.us.debian.org/debian stable main contrib non-free
deb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
deb http://security.debian.org stable/updates main contrib non-free
#Uncomment if you want the apt-get source function to work
#deb-src http://http.us.debian.org/debian stable main contrib non-free
#deb-src http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free

#sources.list for Etch(testing):
deb http://http.us.debian.org/debian testing main contrib non-free
deb http://non-us.debian.org/debian-non-US testing/non-US main contrib non-free
deb http://security.debian.org testing/updates main contrib non-free
#Uncomment if you want the apt-get source function to work
#deb-src http://http.us.debian.org/debian testing main contrib non-free
#deb-src http://non-us.debian.org/debian-non-US testing/non-US main contrib non-free

#sources.list for Sid(unstable):
deb ftp://ftp.us.debian.org/debian unstable main contrib non-free
deb ftp://non-us.debian.org/debian-non-US unstable/non-US main contrib non-free
#Uncomment if you want the apt-get source function to work
#deb-src http://http.us.debian.org/debian unstable main contrib non-free
#deb-src http://non-us.debian.org/debian-non-US unstable/non-US main contrib non-free

sources.list文件的内容决定了Debian的版本。安全更新只存在于stable和testing版中,unstable 没有安全更新。进入stable的软件都经过严格的依赖测试和安全测试,所以如果你想系统稳定,用于工作,最好使用stable,如果你想使用最新版的软 件,就使用testing或unstable。Woody、Sarge和Sid是Debian 3.x三个版本中的代号,我们一般都是以代号来称呼debian不同版本。所有Debian发行版的代号全都取自电影Toy Story,Woody是那个牛仔,Sarge是绿色塑胶军队的领导,Sid是破坏玩具的小孩。

我们也可把Debian的发行光盘做为软件库,直接在光盘上安装软件。这时就要用到apt-cdrom命令。命令格式如下:

debian:~# apt-cdrom --help
apt 0.6.46.4 for linux i386 ,编译于 Dec  4 2006 17:48:23
Usage: apt-cdrom [options] command

apt-cdrom is a tool to add CDROM's to APT's source list. The
CDROM mount point and device information is taken from apt.conf
and /etc/fstab.

Commands:
   add - 增加一个CDROM安装源到sources.list列表
   ident - 报告CDROM的验证信息

Options:
  -h   帮助
  -d   指定CDROM挂装点
  -r   为一个已经识别的光盘改名
  -m   不挂装
  -f   快速模式,不检查软件包文件
  -a   完整扫描模式
  -c=? 指定读取的配置文件
  -o=? 设置附加选项
See fstab(5)

还有一种是使用硬盘上的目录做为源。我们把下载的iso文件挂载到系统的一个目录下,如挂载到/mnt/disk中。

deian:~# mount -o loop debian-testing-dvd-1.iso /mnt/disk

配置sources.list使用硬盘上的文件作为安装源。

deb file:///mnt/disk testing main

使用硬盘上的目录做为安装源的优势是安装速度快很多。安装一个gnome系统只要几分钟时间,如果上网下载可能要几十分钟。

  • apt-get update

    更 新软件包信息库。在Debian中,软件包是通过一个数据库来管理的,通过这个数据库中可跟踪你系统中已安装、没有安装和现在可安装的软件包信息。 apt-get安装软件包时就是依靠这个数据库来解决软件包间的依赖关系,从而可自动安装相关软件。我们需定期运行该命令,从而保持数据库的信息为最新。

  • apt-get install package_name1 package_name2 package_name3 ...

    安 装软件包。如果软件包需其它软件包支持,apt-get会通过搜索软件包数据库找到这种依赖关系,一起下载相关软件。在一个命令行中可同时安装多个软件 包,中间用空格隔开即可。安装的软件包默认会存放在/var/cache/apt/archives目录下,以便以后重新安装。如果已安装的软件包损坏 了,你可通过--reinstall选项来重新安装。如:

    # apt-get --reinstall install package_name
    

    Note

    在需安装的软件包名后加一个减号会删除软件包,如:apt-get install package_name-。

    只是下载软件,不解包和安装使用-d选项,如:

    # apt-get -d install package_name
    

    使用--dry-run选项可使apt-get在安装软件包前进行测试,如:

    # apt-get install package_name --dry-run
    

    Debian软件包的名字和软件名不同,所以在安装前如不知道软件包的名字,可到Debian的官方软件库查询,网址是:http://www.debian.org/distrib/packages/ 。或者用下面介绍的apt-cache search package_name命令来查询。

  • apt-get remove package_name1 package_name2 package_name3 ...

    删除软件包。如果你想删除软件包,只要使用该命令即可。如果你想把该软件的配置文件也删除,可以用--purge选项,如:

    # apt-get --purge remove package_name
    

    Note

    类似地,在删除软件包名后加一个加号会安装软件包,如:apt-get remove package_name+。

  • apt-get source package_name1 package_name2 package_name3

    下载软件包的的源码版本。

  • apt-get build-dep package_name

    构造软件包的源码的编译环境,为编译软件包下载必须的其它软件包。

  • apt-get upgrade package_name1 package_name2 package_name3 ...

    软 件包升级功能是APT系统这么成功的主要原因。通过该命令,我们就可把软件升级到最版本。在使用该命令前,最好先运行apt-get update命令,以更新软件包数据库。但该方案不是更新系统最好的方法,一些包会因为包依赖问题而保留(kept back)一些旧的软件包。Debian提供了一个更好的升级方案,就是用dis-upgrade。下面一节会详细介绍。

  • apt-get dist-upgrade

    更新整个Debian系统。可从网络或本地更新整个系统。它会重新安排好包的依赖性。如果有些包由于一些原因实在不能更新,我们可通过以下命令查询原因:

    # apt-get -o Debug::pkgProblemResolver=yes dist-upgrade
    

    Note

    用apt-show-versions -u可获得可升级软件包的列表。该命令还有一些有用的选项,可用-h选项查看详细帮助,了解更多功能。

  • apt-get clean

    删除下载了的软件包,当我们通过apt-get安装软件包时,APT会把软件包下载到本地/var/cache/apt/archives/目录。该命令会删除该文件夹内的除锁住外的所有软件包。该文件夹下的文件不可用rm命令删除,一定要使用apt-get命令来删除。

  • apt-get autoclean

    删除已下载的旧版本的软件包。该命令类似于上面的命令,但它会有选择地删除旧版本的软件包。

  • apt-get autoremove

    自动移除随其它软件自动安装但又不再有用的软件。

  • apt-get dselect-upgrade

    通过dselect的“建议”和“推荐”功能更新系统。dselect是Debian中一个功能强大的包管理工具。它可帮助用户选择软件包来安装,其中一个有用功能是它会建议和推荐安装其它相关软件包。我们可在APT中使用它这个功能。

  • apt-get check

    检查系统中已安装软件包的依赖性。

  • apt-get的secret cow powers

    debian:~# apt-get moo
             (__)
             (oo)
       /------\/
      / |    ||
     *  /\---/\
        ~~   ~~
    ...."Have you mooed today?"...
    
分享到:
评论

相关推荐

    LIUNX学习PPT

    4. **Chapter 2 管理软件包.ppt** - 这一章可能讨论了在Linux系统中管理软件包的方法,如使用APT(Advanced Package Tool)在Debian/Ubuntu系统或YUM(Yellowdog Updater, Modified)在Red Hat/CentOS系统中的操作。...

    基于4GGPRS DTU开发板的硬件图纸与软件代码全套资源,军工级电路,支持多种通信协议与数据加密,适合物联网应用 ,基于4GGPRS DTU开发板的硬件图纸与软件代码全套,军工级电路,支持多种通信协

    基于4GGPRS DTU开发板的硬件图纸与软件代码全套资源,军工级电路,支持多种通信协议与数据加密,适合物联网应用。,基于4GGPRS DTU开发板的硬件图纸与软件代码全套,军工级电路,支持多种通信协议与数据加密,适用于多种物联网应用。,资料:4g GPRS DTU 开发板软件代码硬件图纸料包括:原理图,版图,单片机代码,sim800c官方资料 不含PCB板 本公司批产产品,已无故障运行数年 全套硬件图纸和软件代码。 程序比正点原子的可靠,军工级485电路。 NBIOT和4G等采用AT指令的均可参照此代码 GPRS具有比NBIOT更低的价格更好的网络,是目前低速物联网的主要通讯技术之一。 485转GPRS GPRS支持协议: TCP UDP HTTP-GET HTTP-POST FTP Md5数据加密 心跳包 电源部分,带共模电感,防反接二极管,Tvs管,5-30Vdc转5V和4V 485部分,硬件延时电路,可靠稳定 引出网络状态(兼电源)指示灯,收发指示灯,设置状态指示灯 微动按键设置工作状态 已预留LORA模块位置,若不用可将他的Io口改做他用,能引出一路串口,2路Io口 单片机

    scala-intellij-bin-2024.1.1.zip

    scala-intellij-bin-2024.1.1.zip

    基于Android的平台书架设计实现源码.zip

    基于Android的平台书架设计实现源码,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。

    (源码)基于nRF5系列芯片和SoftDevice SDK的蓝牙低能耗应用_1.zip

    # 基于nRF5系列芯片和SoftDevice SDK的蓝牙低能耗应用 ## 项目简介 这是一个基于nRF5系列芯片和SoftDevice SDK的蓝牙低能耗(BLE)应用程序的示例项目。项目包含基于nRF51822和nRF52832芯片的示例代码,以及设备固件升级(DFU)相关的代码。 ## 项目的主要特性和功能 基于nRF5系列芯片项目代码适用于Nordic Semiconductor的nRF51822和nRF52832芯片,这些芯片是专为蓝牙低能耗应用设计的。 使用SoftDevice SDK项目使用了Nordic的SoftDevice SDK,这是一个高度优化的BLE堆栈,适用于nRF5系列芯片。 支持UART通信项目中的BLE应用程序通过UART接口进行通信,允许数据通过BLE连接进行发送和接收。 设备固件升级(DFU)支持项目包含用于安全设备固件升级的引导加载程序,支持固件更新的验证和存储。

    矿业生产管理数字化平台解决方案.doc

    矿业生产管理数字化平台解决方案.doc

    【ACO三维路径规划】基于matlab蚁群算法ACO无人机巡检三维路径规划【含Matlab源码 13058期】.zip

    Matlab领域上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    battery 电池信息表

    kylin v10 SP1 系统下 可以查看本机电池容量放电和充电电流

    基于深度学习的movielens推荐模型新版算法源码+数据+说明文档

    【资源介绍】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,也可以作为小白实战演练和初期项目立项演示的重要参考借鉴资料。 3、本资源作为“学习资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研和多多调试实践。 基于深度学习的movielens推荐模型新版算法源码+数据+说明文档.zip 基于深度学习的movielens推荐模型新版算法源码+数据+说明文档.zip 基于深度学习的movielens推荐模型新版算法源码+数据+说明文档.zip 基于深度学习的movielens推荐模型新版算法源码+数据+说明文档.zip 基于深度学习的movielens推荐模型新版算法源码+数据+说明文档.zip 基于深度学习的movielens推荐模型新版算法源码+数据+说明文档.zip 基于深度学习的movielens推荐模型新版算法源码+数据+说明文档.zip 基于深度学习的movielens推荐模型新版算法源码+数据+说明文档.zip 基于深度学习的movielens推荐模型新版算法源码+数据+说明文档.zip 基于深度学习的movielens推荐模型新版算法源码+数据+说明文档.zip 基于深度学习的movielens推荐模型新版算法源码+数据+说明文档.zip 基于深度学习的movielens推荐模型新版算法源码+数据+说明文档.zip 基于深度学习的movielens推荐模型新版算法源码+数据+说明文档.zip

    【雷达通信】基于matlab雷达系统极化对消仿真【含Matlab源码 9700期】.mp4

    海神之光上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    STM32的智能养老服务机器人系统设计.pdf

    1、以上文章可用于参考,请勿直接抄袭,学习、当作参考文献可以,主张借鉴学习 2、资源本身不含 对应项目代码,如需完整项目源码,请私信博主获取

    基于STM32的智能风扇系统设计.pdf

    1、以上文章可用于参考,请勿直接抄袭,学习、当作参考文献可以,主张借鉴学习 2、资源本身不含 对应项目代码,如需完整项目源码,请私信博主获取

    14.智能台灯(语音模式)_20240318_205506.zip

    14.智能台灯(语音模式)_20240318_205506.zip

    数字信号处理中的采样与重构理论及其应用

    数字信号处理中的采样与重构理论及其应用

    Python快速入门.zip

    python快速入门,零基础也能轻松掌握的入门指南,看着一个就够了。

    LabView与三菱全系列通讯方法详解:上位机读取方法及实践,LabView与三菱全系列通讯方法及上位机数据读取攻略,labview和三菱全系列通讯方法 labview和三菱全系列通讯办法,和上位机读

    LabView与三菱全系列通讯方法详解:上位机读取方法及实践,LabView与三菱全系列通讯方法及上位机数据读取攻略,labview和三菱全系列通讯方法 labview和三菱全系列通讯办法,和上位机读取方法。 ,LabVIEW; 三菱全系列通讯方法; 三菱全系列通讯办法; 上位机读取方法,LabVIEW与三菱全系列通讯方案及上位机读取方法详解

    基于51的多参数水质监测与报警系统设计20250304

    题目:基于51单片机的多参数水质监测与报警系统设计 主控:AT89C51 显示:LCD1602 DS18B20温度传感器 浊度传感器(PCF8591+滑动变阻器模拟) PH传感器(ADC0832+滑动变阻器) 声光报警 led*4 功能: 1.实时检测水质温度、浊度、PH 2.实时显示相关数据 3.可以通过按键修改阈值 4.各数值不在标准范围内启动声光报警 5.ph低于下限红色小灯点亮;ph高于上限绿色小灯电亮;温度低于阈值蓝色小灯电亮;浑浊度高于阈值橙色小灯电亮

    B站黑马程序员python第二章06-标识符(个人笔记)

    在B站看黑马程序员视频,整理的个人笔记

    java项目之水果系统源码.zip

    java项目之水果系统源码

    Delphi 12.3 控件之Office-Tool-with-runtime-v10.14.28.0-x64.zip.rar

    Office_Tool_with_runtime_v10.14.28.0_x64.zip.rar

Global site tag (gtag.js) - Google Analytics