lv3 嵌入式开发-2 linux软件包管理

目录

[1 软件包管理](#1 软件包管理)

1.1流行的软件包管理机制

1.2软件包的类型

1.3软件包的命名

[2 在线软件包管理](#2 在线软件包管理)

2.1APT工作原理

2.2更新软件源

2.3APT相关命令

[3 离线软件包管理](#3 离线软件包管理)


1 软件包管理

1.1流行的软件包管理机制

Debian Linux首先提出"软件包"的管理机制---Deb软件包

将应用程序的二进制文件、配置文件、man/info帮助页面等文件合并打包在一个文件中,用户使用软件包管理器直接操作软件包,完成获取、安装、卸载、查询等操作。

Redhat Linux基于这个理念推出了自己的软件包管理机制---Rpm软件包

随着Linux操作系统规模不断扩大,系统中软件包间复杂的依赖关系,导致Linux用户麻烦不断

Debian Linux开发出了APT软件包管理器,包含2个特点。

  • 检查和修复软件包依赖关系
  • 利用Internet网络帮助用户主动获取软件包

APT工具再次促进了Deb软件包更为广泛地使用,成为Debian Linux的一个无法替代的亮点。

1.2软件包的类型

Ubuntu有两种类型的软件包:二进制软件包(deb)和源码包(deb-src)

  • 二进制软件包(Binary Packages):它包含可执行文件、库文件、配置文件、man/info页面、版权声明和其它文档。
  • 源码包(Source Packages):包含软件源代码、版本修改说明、构建指令及编译工具等。

先由tar工具归档为.tar.gz文件,然后再打包成.dsc文件。

如果不确定一个软件包类型时,可以使用file命令查看文件类型。

例1:

复制代码
linux@ubuntu:~$ file  g++_4.1.2-9ubuntu2_i386.deb
g++_4.1.2-9ubuntu2_i386: Debian binary package (format 2.0)

例2:

1.3软件包的命名

软件包的命名遵循以下约定:

2 在线软件包管理

2.1APT工作原理

Ubuntu采用集中式的软件仓库机制,将各式各样的软件包分门别类地存放在软件仓库中,进行有效地组织和管理。然后,将软件仓库置于许许多多的镜像服务器中,并保持基本一致。因此,对于用户,这些镜像服务器就是他们的软件源(reposity)。

在Ubuntu系统中,使用软件源配置文件/etc/apt/sources.list 列出最合适访问的镜像站点地址

2.2更新软件源

方式一:修改/etc/apt/sources.list (直接复制粘贴网址)

方式二:图形界面更换软件源

更换完再去检测sources.list文件查看内容是否更新,建议更改为中国区的。

最后需要更新

sudo apt-get update

2.3APT相关命令

可通过man apt-get查看更多解释,操作案例:

3 离线软件包管理

dpkg相关命令,如果没有网络环境的情况下使用

相关推荐
珠海西格电力科技6 分钟前
微电网能量平衡理论的实现条件在不同场景下有哪些差异?
运维·服务器·网络·人工智能·云计算·智慧城市
A星空12318 分钟前
一、Linux嵌入式的I2C驱动开发
linux·c++·驱动开发·i2c
释怀不想释怀24 分钟前
Linux环境变量
linux·运维·服务器
zzzsde30 分钟前
【Linux】进程(4):进程优先级&&调度队列
linux·运维·服务器
凡人叶枫40 分钟前
C++中智能指针详解(Linux实战版)| 彻底解决内存泄漏,新手也能吃透
java·linux·c语言·开发语言·c++·嵌入式开发
yuanmenghao1 小时前
Linux 性能实战 | 第 7 篇 CPU 核心负载与调度器概念
linux·网络·性能优化·unix
qq_297574671 小时前
Linux 服务器 Java 开发环境搭建保姆级教程
java·linux·服务器
70asunflower2 小时前
Emulation,Simulation,Virtualization,Imitation 的区别?
linux·docker
聆风吟º2 小时前
CANN开源项目实战指南:使用oam-tools构建自动化故障诊断与运维可观测性体系
运维·开源·自动化·cann
神梦流2 小时前
ops-math 算子库的扩展能力:高精度与复数运算的硬件映射策略
服务器·数据库