针对 Alpine 系统的包管理简要使用
1. 相关 Alpine 包管理地址
- 包管基础:https://wiki.alpinelinux.org/wiki/Alpine_Linux_package_management
- 包内容检索:https://pkgs.alpinelinux.org
2. apk 命令使用
2.1. 包检索
|
|
2.2. 包内容查看
|
|
2.3. 包缓存生成(通常不用处理)
Alpine 支持将下载的包缓存到一个指定的目录,方便其他 Alpine 复用(通过挂载)
|
|
2.4. 包统计
|
|
3. busybox 与 busybox-extra
busybox
是一款多功能的系统工具,支持许多 UNIX/Linux 命令,支持 shell 脚本,可以用在嵌入式系统中。
busybox-extra
是 busybox 的一个扩展,它支持更多的 UNIX/Linux 命令,可以在更多的嵌入式系统中使用。
3.1. busybox 提供的可执行文件查看
BusyBox 是一个多调用的二进制程序,它结合了许多常见的 Unix 将实用程序转换为单个可执行文件。
大多数命令通过软链到 busybox:
|
|
|
|
3.2. busybox-extras 支持的扩展内容查看
Busybox-extra 支持的扩展内容包括:
- 压缩和解压缩:gzip,bzip2,xz,lzma,lzop,lz4,zstd,zip,unzip,unrar,tar,cpio,p7zip,arj
- 文件系统:e2fsprogs,dosfstools,btrfs-progs,util-linux,xfsprogs,ntfs-3g
- 网络:curl,wget,iptables,iproute2,openssh
- 编程:gcc,g++,make,automake,autoconf,libtool
- 数据库:sqlite3
- 图形:X11,Xorg,mesa,libdrm,libX11,libXext,libXrender,libXdamage,libXfixes,libXcomposite,libXcursor,libXinerama,libXrandr,libXi,libXft,libXmu,libXpm,libXt,libXv,libXvMC,libXxf86vm
- 其他:nano,vim,emacs,bash,zsh,screen,tmux,dialog,ncurses,libpam,libcap,pam_unix,pam_pwdb,pam_krb5,pam_ldap,pam_cracklib,pam_debug,pam_selinux,pam_namespace,pam_mkhomedir,pam_issue,pam_motd,pam_loginuid,pam_shells,pam_timestamp,pam_umask,pam_deny,pam_limits,pam_env,pam_xauth,pam_access,pam_keyinit,pam_permit,pam_listfile,pam_userdb,pam_group,pam_wheel,pam_securetty,pam_rhosts,pam_migrate,pam_mail
|
|
4. 基于 alpine 系统构建 Docker 镜像
4.1. 基于命令查询安装包
alpine
官方提供的包检索 Page 查询:https://pkgs.alpinelinux.org/contents?file=ss&path=&name=&branch=edge
4.2. alpine 常见网络调试工具
- telnet
- apk add busybox-extras
- busybox 自带工具
- nc
- netstat
- 需要安装:
- curl (curl)
- tcpdump (tcpdump)
- dig (bind-tools)
- 可选安装:
- socat (socat)
- ss (iproute2)
|
|
4.3. 可能需要修改的 Mirror 仓库源
|
|
4.4. Dockerfile - 简单的 GO 服务 && 网络工具
|
|
4.5. Dockerfile - 软件编译 && 网络调试环境镜像构建
|
|