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相关命令,如果没有网络环境的情况下使用

相关推荐
Lumistory4 小时前
超高层地标泛光照明落地:从方案到运维的避坑思路
运维·光照贴图
2301_794461574 小时前
Activiti/BPMN 2.0 的 4 种网关
java·服务器·开发语言
不怕犯错,就怕不做4 小时前
GIT的简单打patch应用format-patch and git am
linux·git·全文检索
web守墓人4 小时前
【go语言】gotar:使用go语言复刻tar命令,并加入7z支持,可独立运行在windows、linux、macos上
linux·macos·golang
就牙白4 小时前
中科方德服务器打包RPM
linux·python
Tizzgod4 小时前
W55MH32 开箱分享 — 一块板子同时连俩TCP服务器
服务器·网络协议·tcp/ip
REDcker4 小时前
基于 eBPF 的网络可观测:协议栈路径与 sk_buff
linux·服务器·网络·php·ebpf·bpf
看-是灰机5 小时前
使用go语言实现对接
linux·开发语言·后端·docker·语言模型·golang·飞书
Urbano5 小时前
工装夹克、职业单西口袋工艺自动化改造深度解析
运维·自动化
草莓熊Lotso5 小时前
【Linux网络】深入理解Linux IO多路复用:从本质到select服务器实战
linux·运维·服务器·c语言·网络·数据库·c++