Alpine Linux 常用命令

2023-12-05 20:30
文章标签 linux 常用命令 alpine

本文主要是介绍Alpine Linux 常用命令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Alpine Linux源管理

1.国内源简介:
这几个都有alpine的源
清华大学:https://mirror.tuna.tsinghua.edu.cn/alpine/
阿里云:https://mirrors.aliyun.com/alpine/
中科大:http://mirrors.ustc.edu.cn/alpine/
网易:http://mirrors.163.com/

2.配置:
直接抄中科大的帮助http://mirrors.ustc.edu.cn/help/alpine.html
一般情况下,将 /etc/apk/repositories 文件中 Alpine 默认的源地址 http://dl-cdn.alpinelinux.org/ 替换为 http://mirrors.ustc.edu.cn/ 即可。

sudo vi /etc/apk/repositories

Alpine Linux 包管理

1.简介
Alpine使用apk进行包管理,下面介绍常用命令

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

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

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

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

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

7.apk del
apk del openssh #删除一个软件

安装python

sudo apk add --no-cache python3 python3-dev
其中已自带pip
在这里插入图片描述
python其他依赖

sudo pip3 install Flask -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
sudo pip install paho-mqtt -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
sudo pip install redis -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
sudo pip install requests -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

Alpine Linux服务管理

1.简介
alpine没有使用fedora的systemctl来进行服务管理,使用的是RC系列命令
未安装openrc时需执行以下命令

sudo apk add --no-cache openrc

2.rc-update
rc-update主要用于不同运行级增加或者删除服务。

alpine:~# rc-update --help
Usage: rc-update [options] add <service> [<runlevel>...]or: rc-update [options] del <service> [<runlevel>...]or: rc-update [options] [show [<runlevel>...]]Options: [ asuChqVv ]-a, --all                         Process all runlevels-s, --stack                       Stack a runlevel instead of a service-u, --update                      Force an update of the dependency tree-h, --help                        Display this help output-C, --nocolor                     Disable color output-V, --version                     Display software version-v, --verbose                     Run verbosely-q, --quiet                       Run quietly (repeat to suppress errors)

3.rc-status
rc-status 主要用于运行级的状态管理。

alpine:~# rc-status --help
Usage: rc-status [options] <runlevel>...or: rc-status [options] [-a | -c | -l | -m | -r | -s | -u]Options: [ aclmrsuChqVv ]-a, --all                         Show services from all run levels-c, --crashed                     Show crashed services-l, --list                        Show list of run levels-m, --manual                      Show manually started services-r, --runlevel                    Show the name of the current runlevel-s, --servicelist                 Show service list-u, --unused                      Show services not assigned to any runlevel-h, --help                        Display this help output-C, --nocolor                     Disable color output-V, --version                     Display software version-v, --verbose                     Run verbosely-q, --quiet                       Run quietly (repeat to suppress errors)

4.rc-service
rc-service主用于管理服务的状态

alpine:~# rc-service --help
Usage: rc-service [options] [-i] <service> <cmd>...or: rc-service [options] -e <service>or: rc-service [options] -lor: rc-service [options] -r <service>Options: [ ce:ilr:INChqVv ]-e, --exists <arg>                tests if the service exists or not-c, --ifcrashed                   if the service is crashed then run the command-i, --ifexists                    if the service exists then run the command-I, --ifinactive                  if the service is inactive then run the command-N, --ifnotstarted                if the service is not started then run the command-l, --list                        list all available services-r, --resolve <arg>               resolve the service name to an init script-h, --help                        Display this help output-C, --nocolor                     Disable color output-V, --version                     Display software version-v, --verbose                     Run verbosely-q, --quiet                       Run quietly (repeat to suppress errors)

5.openrc
openrc主要用于管理不同的运行级。

alpine:~# openrc --help
Usage: openrc [options] [<runlevel>]Options: [ a:no:s:SChqVv ]-n, --no-stop                     do not stop any services-o, --override <arg>              override the next runlevel to change intowhen leaving single user or boot runlevels-s, --service <arg>               runs the service specified with the restof the arguments-S, --sys                         output the RC system type, if any-h, --help                        Display this help output-C, --nocolor                     Disable color output-V, --version                     Display software version-v, --verbose                     Run verbosely-q, --quiet                       Run quietly (repeat to suppress errors)

6.我常用的RC系列命令
1.增加服务到系统启动时运行,下例为docker

rc-update add docker boot

2.重启网络服务

rc-service networking restart

3.列出所有服务

rc-status -a

服务开机自启

Alpine Linux 的 开机自启目录在/etc/local.d下,这个目录用于放置我们需要在本地服务启动或停止后执行的脚本

先上目录下的说明文档:

This directory should contain programs or scripts which are to be run
when the local service is started or stopped.If a file in this directory is executable and it has a .start extension,
it will be run when the local service is started. If a file is
executable and it has a .stop extension, it will be run when the local
service is stopped.All files are processed in lexical order.Keep in mind that files in this directory are processed sequentially,
and the local service is not considered started or stopped until
everything is processed, so if you have a process which takes a long
time to run, it can delay your boot or shutdown processing.

简单翻译了下:

此目录应包含在启动或停止本地服务时要运行的程序或脚本。
如果此目录中的文件是可执行文件且扩展名为.start,
则在启动本地服务时将运行该文件。
如果文件是可执行的并且具有.stop扩展名,
则在本地服务停止时将运行该文件。所有文件都按词汇顺序处理。
请记住,此目录中的文件是按顺序处理的,并且在处理完所有内容之前不会将本地服务视为已启动或停止,
因此如果您的进程需要很长时间才能运行,则可能会延迟启动或关闭处理。

自定义开机自启服务,由于Alpine Linux自带了nohup后台守护,我们就直接使用nohup设置开机自启。

先编辑下startup.start文件,注意,.start后缀需要固定,前面名称随意
vi startup.start
我的内容如下

#!/bin/bash
sudo nohup python3 /home/plugin/main.py & >> /home/plugin/plugin.log

然后保存退出。

赋予脚本可执行权限:

chmod +x startup.start

设置 local 服务开机启动:

rc-update add local
sudo service local start

如执行rc-update add local失败,可能需执行sudo touch /run/openrc/softlevel之后在执行rc-update add local
这样当系统开机时就能执行startup.start开达到开机自动的目的。
在这里插入图片描述
bashps -a 查看启动的进程
在这里插入图片描述
总结:以上内容也适用于在docker 中基于Alpine 镜像的业务扩展。

这篇关于Alpine Linux 常用命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/459021

相关文章

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

在Linux终端中统计非二进制文件行数的实现方法

《在Linux终端中统计非二进制文件行数的实现方法》在Linux系统中,有时需要统计非二进制文件(如CSV、TXT文件)的行数,而不希望手动打开文件进行查看,例如,在处理大型日志文件、数据文件时,了解... 目录在linux终端中统计非二进制文件的行数技术背景实现步骤1. 使用wc命令2. 使用grep命令

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文

基于Linux的ffmpeg python的关键帧抽取

《基于Linux的ffmpegpython的关键帧抽取》本文主要介绍了基于Linux的ffmpegpython的关键帧抽取,实现以按帧或时间间隔抽取关键帧,文中通过示例代码介绍的非常详细,对大家的学... 目录1.FFmpeg的环境配置1) 创建一个虚拟环境envjavascript2) ffmpeg-py

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

Linux链表操作方式

《Linux链表操作方式》:本文主要介绍Linux链表操作方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、链表基础概念与内核链表优势二、内核链表结构与宏解析三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势六、典型应用场景七、调试技巧与

详解Linux中常见环境变量的特点与设置

《详解Linux中常见环境变量的特点与设置》环境变量是操作系统和用户设置的一些动态键值对,为运行的程序提供配置信息,理解环境变量对于系统管理、软件开发都很重要,下面小编就为大家详细介绍一下吧... 目录前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

Linux实现线程同步的多种方式汇总

《Linux实现线程同步的多种方式汇总》本文详细介绍了Linux下线程同步的多种方法,包括互斥锁、自旋锁、信号量以及它们的使用示例,通过这些同步机制,可以解决线程安全问题,防止资源竞争导致的错误,示例... 目录什么是线程同步?一、互斥锁(单人洗手间规则)适用场景:特点:二、条件变量(咖啡厅取餐系统)工作流