Songqian Li's Blog

去历史上留点故事
  1. eBPF 技术简介
  2. 基于 eBPF 的网络检测实践
  3. Chapter 2. Debian package management

2.1.6. Package dependencies

The Debian system offers a consistent set of binary packages through its versioned binary dependency declaration mechanism in the control file fields. Here is a bit over simplified definition for them.

  • “Depends”
    • This declares an absolute dependency and all of the packages listed in this field must be installed at the same time or in advance.
  • “Pre-Depends”
    • This is like Depends, except that it requires completed installation of the listed packages in advance.
  • “Recommends”
    • This declares a strong, but not absolute, dependency. Most users would not want the package unless all of the packages listed in this field are installed.
  • “Suggests”
    • This declares a weak dependency. Many users of this package may benefit from installing packages listed in this field but can have reasonable functions without them.
  • “Enhances”
    • This declares a weak dependency like Suggests but works in the opposite direction.
  • “Breaks”
    • This declares a package incompatibility usually with some version specification. Generally the resolution is to upgrade all of the packages listed in this field.
  • “Conflicts”
    • This declares an absolute incompatibility. All of the packages listed in this field must be removed to install this package.
  • “Replaces”
    • This is declared when files installed by this package replace files in the listed packages.
  • “Provides”
    • This is declared when this package provide all of the files and functionality in the listed packages.

Note
Please note that defining “Provides”, “Conflicts” and “Replaces” simultaneously to an virtual package is the sane configuration. This ensures that only one real package providing this virtual package can be installed at any one time.

  1. 现代 C++ 教程:高速上手 C++ 11/14/17/20
  2. linux-5.10.y-prjc-lts 源码
  3. APT 2.2.4 源码
  4. Linux 内核调度器源码分析
  5. 《操作系统真象还原》第 0/1 章
  6. 《LInux 内核设计》第 2 章
  7. 《Linux 内核观测技术 BPF》第 1/2 章
相关文章
评论
分享
  • 6月阅读总结

    “零拷贝”技术 Sogou C++ Workflow:搜狗公司的 C++服务器引擎,支持 500k QPS Reducing CPU scheduler latency in Linux:CPU 调度算法 BMQ 和 CFS 的对比...

    6月阅读总结
  • 4月阅读总结

    怎样设计出一个让面试官满意的架构 扩展视野,作者介绍了从一百个到千万级并发情况下服务端架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让读者可以对架构的演进有一个整体的认知。 《Effective C++》笔记 - 条款...

    4月阅读总结
  • 《操作系统真象还原》:第八章 内存管理系统

    8.1 makefile 简介 这部分可参考阮一峰的讲解:https://www.ruanyifeng.com/blog/2015/02/make.html 8.1.1 makefile 是什么 makefile 是 Linu...

    《操作系统真象还原》:第八章 内存管理系统
  • 《操作系统真象还原》:第七章 中断

    7.1 中断是什么,为什么要有中断 运用中断能够显著提升并发,从而大幅提升效率。 7.2 操作系统是中断驱动的 略 7.3 中断分类 把中断按事件来源分类,来自 CPU 外部的中断就称为外部中断,来自 CPU 内部的中断称为内部...

    《操作系统真象还原》:第七章 中断
  • 《操作系统真象还原》:第六章 完善内核

    6.1 函数调用约定简介 咱们实验使用cdecl。这里提一下stdcall,cdecl与stdcall的区别在于由谁来回收栈空间。 stdcall是被调用者清理参数所占的栈空间。 举例来说: 12int subtract(int ...

    《操作系统真象还原》:第六章 完善内核
  • 《操作系统真象还原》:第五章 保护模式进阶——加载内核

    5.3 加载内核 5.3.1 用 C 语言写内核 第一个 C 语言代码: 1234int main(void) { while(1); return 0;} 这个内核文件什么都没做,通过while(1)这个死循...

    《操作系统真象还原》:第五章 保护模式进阶——加载内核
  • 《操作系统真象还原》:第五章 保护模式进阶——内存分页机制

    从这一刻起,我们才算开始了真正的操作系统学习之旅 5.1 获取物理内存容量 5.1.1 Linux 获取内存的方法 在 Linux 2.6 内核总是用detect_memory函数来获取内存容量的。其函数本质上是通过调用 BI...

    《操作系统真象还原》:第五章 保护模式进阶——内存分页机制
  • 《操作系统真象还原》:第四章 保护模式入门

    4.1 保护模式概述 在本章大家会见到全局描述符表、中断描述符表、各种门结构,这是 CPU 提供给应用的,咱们用好就行。 保护模式强调的是“保护”,它是在 Intel 80286 CPU 中首次出现,这是继 8086 之后,Inte...

    《操作系统真象还原》:第四章 保护模式入门
  • 《操作系统真象还原》:第三章 完善MBR——I/O接口

    3.3 让我们对显示器说点什么吧 3.3.1 CPU 如何与外设通信——IO 接口 IO 接口功能: 设置数据缓冲,解决 CPU 与外设的速度不匹配 设置信号电平转换电路 设置数据格式转换 设置时序控制电路来同步 CPU 和外部...

    《操作系统真象还原》:第三章 完善MBR——I/O接口
  • 《操作系统真象还原》:第三章 完善MBR——CPU的实模式

    针对汇编 几个知识点: 第 1 行和第 4 行的 mov 操作,机器码第 1 个宇节都是B8,而另外第 2、3 行同样是 mov 指令,机器码却有天壤之别,似乎找不到共性。原因是机器码是由很多部分组成的,比如指令前缀、主操作码字...

    《操作系统真象还原》:第三章 完善MBR——CPU的实模式