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

相关推荐
riveting1 小时前
SD2351核心板:重构AI视觉产业价值链的“超级节点”
大数据·linux·图像处理·人工智能·重构·智能硬件
易保山1 小时前
MIT6.S081 - Lab10 mmap(文件&内存映射)
linux·操作系统·c
NoneCoder1 小时前
HTML 模板技术与服务端渲染
服务器·servlet·html
禅与Bug的修复艺术2 小时前
JAVA后端开发常用的LINUX命令总结
java·linux·面试·java面试·后端开发·java后端·面试经验
Cloud_Air7542 小时前
从零开始使用SSH链接目标主机(包括Github添加SSH验证,主机连接远程机SSH验证)
运维·ssh
李詹2 小时前
Steam游戏服务器攻防全景解读——如何构建游戏级抗DDoS防御体系?
服务器·游戏·ddos
你熬夜了吗?2 小时前
spring中使用netty-socketio部署到服务器(SSL、nginx转发)
服务器·websocket·spring·netty·ssl
joke_xiaoli2 小时前
tomcat Server 连接服务器 进展
java·服务器·tomcat
Hello.Reader3 小时前
基于 Nginx 的 WebSocket 反向代理实践
运维·websocket·nginx
北冥有鱼被烹3 小时前
【微知】/proc中如何查看Linux内核是否允许加载内核模块?(/proc/sys/kernel/modules_disabled)
linux·服务器