Alpine基础用法

简介

alpine是一个轻量级的Linux发行版本,轻量级不仅体现在其占用空间的大小,还因为他没有图形化界面,只有命令行界面。

alpine特点:

  • 小巧:基于Musl libc和busybox,和busybox一样小巧,最小的Docker镜像只有5MB;

  • 安全:面向安全的轻量发行版;

  • 简单:提供APK包管理工具,软件的搜索、安装、删除、升级都非常方便。

  • 适合容器使用:由于小巧、功能完备,非常适合作为容器的基础镜像。

alpine国内源

清华大学:https://mirror.tuna.tsinghua.edu.cn/alpine/
阿里云:https://mirrors.aliyun.com/alpine/
网易:http://mirrors.163.com/

配置阿里云镜像源方法: (同理其他的也是一样的)

a. 编辑 /etc/apk/repositories
b. 将里面 dl-cdn.alpinelinux.org 的 改成 mirrors.aliyun.com ; 保存退出即可

sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories

基本命令使用

apk 相当于 yum
用法:apk[…]命令[…]

apk update 更新

apk update       #更新最新镜像源列表

apk search 查找

apk search                   #查找所以可用软件包
apk search -v               #查找所以可用软件包及其描述内容
apk search -v 'acf*'      #通过软件包名称查找软件包
apk search -v -d 'docker'     #通过描述文件查找特定的软件包

apk add 安装

apk add openssh                  #安装一个软件
apk add openssh openntp vim         #安装多个软件
apk add --no-cache -U apache2       #不使用本地镜像源缓存,相当于先执行update,再执行add

apk info 查看已安装

apk info                         #列出所有已安装的软件包
apk info -a zlib                #显示完整的软件包信息
apk info --who-owns /sbin/lbu   #显示指定文件属于的包

apk upgrade 升级

apk upgrade                      #升级所有软件
apk upgrade openssh                 #升级指定软件
apk upgrade openssh openntp vim     #升级多个软件
apk add --upgrade busybox           #指定升级部分软件包

apk del 卸载

apk del openssh          #删除一个软件add:   **相当于install**
del:   **相当于remove**

创建用户和组

//创建用户
adduser
-h          #创建家目录
-g          #用户的详细信息
-s          #登录shell
-G          #组
-S          #创建系统用户
-D          #不分配密码
-H          #不创建家目录
-u          #UID
-k          #创建框架目录//删除用户
deluser

Alpinel 编译软件注意事项

1. 使用国内镜像,加速下载2. 安装 autoconf(无 configure 脚本时):apk add --no-cache -U autoconf3. 安装 C 编译器:apk add --no-cache -U gcc、apk add --no-cache -U libc-dev4. 安装 make5. 安装 linux 内核文件头 linux-headers:apk add --no-cache -U linux-headers6. 报:/usr/lib/gcc/x86_64-alpine-linux-musl/8.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: cannot find Scrt1.o: No such file or directory/usr/lib/gcc/x86_64-alpine-linux-musl/8.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: cannot find crti.o: No such file or directory/usr/lib/gcc/x86_64-alpine-linux-musl/8.3.0/../../../../x86_64-alpine-linux-musl/bin/ld: cannot find -lssp_nonshared错误时需要安装 libc-dev:apk add --no-cache -U libc-dev7. 报 No curses library functions found,需安装 ncurses-dev:apk add --no-cache -U ncurses-dev8. Cannot locate header file libintl.h,需安装 gettext-dev:apk add --no-cache -U gettext-dev9. 安装 curl-dev 和 openssl-dev 时报:ERROR: unsatisfiable constraints:libressl-dev-2.7.5-r0:conflicts: openssl-dev-1.0.2r-r0[pc:libcrypto=2.7.5] openssl-dev-1.0.2r-r0[pc:libssl=2.7.5] openssl-dev-1.0.2r-r0[pc:openssl=2.7.5]satisfies: curl-dev-7.61.1-r2[libressl-dev] libssh2-dev-1.8.2-r0[pc:libcrypto] libssh2-dev-1.8.2-r0[pc:libssl]openssl-dev-1.0.2r-r0:conflicts: libressl-dev-2.7.5-r0[pc:libcrypto=1.0.2r] libressl-dev-2.7.5-r0[pc:libssl=1.0.2r] libressl-dev-2.7.5-r0[pc:openssl=1.0.2r]satisfies: world[openssl-dev] libssh2-dev-1.8.2-r0[pc:libcrypto] libssh2-dev-1.8.2-r0[pc:libssl]需改成 apk add --no-cache -U libressl-dev、apk add --no-cache -U curl-dev10. configure: error: Invalid C++ compiler or C++ compiler flags : apk add --no-cache -U g++

Alpine基础用法相关推荐

  1. 【docker基础用法】

    docker基础用法 文章目录 docker基础用法 什么是docker OCI&OCF OCI OCF 断续器 docker架构 docker镜像与镜像仓库 docker对象 安装及使用do ...

  2. Pandas基础用法合集(中文官档)

    本节介绍 pandas 数据结构的基础用法.下列代码创建示例数据对象: In [1]: index = pd.date_range('1/1/2000', periods=8) In [2]: s = ...

  3. Promise基础用法

    什么是Promise? Promise是用来处理异步的; Promise就是承诺,对未来的承诺; 所谓的Promise(承诺),里面保存着未来才会结束的事件的结果; Promise是异步编程的一种解决 ...

  4. pandas object转float_数据分析篇 | Pandas基础用法6【完结篇】

    这是最后一篇,至此Pandas系列终于连载完了,有需要的也可以看看前面6篇,尽请收藏. 数据分析篇 | Pandas 概览 数据分析篇 | Pandas基础用法1数据分析篇 | Pandas基础用法2 ...

  5. dubbo官方文档中文_Pandas中文官方文档:基础用法5

    本文授权转载自Python大咖谈禁止二次转载 大家好,我是老表 阅读文本大概需要 16 分钟 建议从头开始学习,本系列前四篇 Pandas中文官方文档:基础用法1 Pandas中文官方文档:基础用法2 ...

  6. struct用法_精讲响应式webclient第1篇-响应式非阻塞IO与基础用法

    笔者在之前已经写了一系列的关于RestTemplate的文章,如下: 精讲RestTemplate第1篇-在Spring或非Spring环境下如何使用 精讲RestTemplate第2篇-多种底层HT ...

  7. Promise详解(一) ----基础用法

    什么是Promise Promise是由社区最早提出并实现的,后加入到es6规范中.为更好处理javascript异步问题,用于解决其多次异步回掉嵌套问题.下面先尝试下promise的基础用法吧. 创 ...

  8. ORACLE的基础用法

    ORACLE的基础用法 转 自:http://blog.163.com/kelly_19831017/blog/static/6196787020083133348873/ sqlplus sys/o ...

  9. MongoDB 基础用法及学习笔记

    MongoDB 基础用法 环境配置与安装 安装 查看MongoDB版本 启动MongoDB服务 检查服务状态 启动服务 打开配置文件,连接MongoDB 查看数据列表 退出 MongoDB 连接 Mo ...

最新文章

  1. 综合评价模型的缺点_浅谈交通影响评价中不同交通预测方法的特性
  2. MES系统模块设计之物料控制 Material Control -- 1
  3. javascript 与vbscript 互相调用
  4. mysql从表截取信息_mysql中循环截取用户信息并插入到目标表对应的字段中
  5. Java面试题:线程实现的两种方式及匿名内部类实现
  6. 3-7 DNA序列(DNA Consensus String, ACM/ICPC Seoul 2006, UVa1368)
  7. python的常量和变量_python中的常量和变量代码详解
  8. C源文件到ELF可执行文件的生成过程
  9. mySQL及可视化界面navicat在window的配置
  10. Windows系统下载Android源码
  11. 高并发高可用高性能的解决方案
  12. 堆栈平衡(子程序调用)
  13. 【C++】1079:计算分数加减表达式的值(信息学奥赛)
  14. Clipboard.js实现复制文本到剪贴板功能
  15. 【水文】2345——卸载!拜拜了您嘞
  16. Ubuntu网络域名解析失败记录
  17. google 语音识别 VS 百度语音识别
  18. bug:点击element的级联选择器 级联面板偶尔不显示 触发条件未知
  19. 弘辽科技:淘宝老链接很难做起来吗?淘宝老链接如何做起来?
  20. think python 第9章 case study:word play

热门文章

  1. 中原银行实时风控体系建设实践
  2. Linux:内核调试之内核魔术键sysrq
  3. 浙江环宇集团“营改增”项目启动会成功举办
  4. 专升本培训机构如何用自媒体做品牌推广
  5. 从viewport发现小米手机参数不一致
  6. 推荐几款好用的企业级文档管理软件
  7. 深度学习实战06-循环神经网络(RNN)实现股票预测
  8. 照片编辑软件:DxO PhotoLab 4 Mac版
  9. 如何快速备份linux文件夹?【高效】
  10. iPhone Plus手机的分辨率到底是多少,是1080×1920还是1242×2208?