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

相关文章

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2

Linux中shell解析脚本的通配符、元字符、转义符说明

《Linux中shell解析脚本的通配符、元字符、转义符说明》:本文主要介绍shell通配符、元字符、转义符以及shell解析脚本的过程,通配符用于路径扩展,元字符用于多命令分割,转义符用于将特殊... 目录一、linux shell通配符(wildcard)二、shell元字符(特殊字符 Meta)三、s

Kubernetes常用命令大全近期总结

《Kubernetes常用命令大全近期总结》Kubernetes是用于大规模部署和管理这些容器的开源软件-在希腊语中,这个词还有“舵手”或“飞行员”的意思,使用Kubernetes(有时被称为“... 目录前言Kubernetes 的工作原理为什么要使用 Kubernetes?Kubernetes常用命令总

Linux之软件包管理器yum详解

《Linux之软件包管理器yum详解》文章介绍了现代类Unix操作系统中软件包管理和包存储库的工作原理,以及如何使用包管理器如yum来安装、更新和卸载软件,文章还介绍了如何配置yum源,更新系统软件包... 目录软件包yumyum语法yum常用命令yum源配置文件介绍更新yum源查看已经安装软件的方法总结软

linux报错INFO:task xxxxxx:634 blocked for more than 120 seconds.三种解决方式

《linux报错INFO:taskxxxxxx:634blockedformorethan120seconds.三种解决方式》文章描述了一个Linux最小系统运行时出现的“hung_ta... 目录1.问题描述2.解决办法2.1 缩小文件系统缓存大小2.2 修改系统IO调度策略2.3 取消120秒时间限制3

Linux alias的三种使用场景方式

《Linuxalias的三种使用场景方式》文章介绍了Linux中`alias`命令的三种使用场景:临时别名、用户级别别名和系统级别别名,临时别名仅在当前终端有效,用户级别别名在当前用户下所有终端有效... 目录linux alias三种使用场景一次性适用于当前用户全局生效,所有用户都可调用删除总结Linux

Linux:alias如何设置永久生效

《Linux:alias如何设置永久生效》在Linux中设置别名永久生效的步骤包括:在/root/.bashrc文件中配置别名,保存并退出,然后使用source命令(或点命令)使配置立即生效,这样,别... 目录linux:alias设置永久生效步骤保存退出后功能总结Linux:alias设置永久生效步骤

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用