Termux
手机用linux:Termux
wiki:https://wiki.termux.com/wiki/Main_Page
软件包:https://github.com/termux/termux-app
这里我选的arm64-v8a下载安装的
安装curl
pkg install curlhttps://blog.csdn.net/YiBYiH/article/details/127422099
换源(通常不需要换)
官方换源命令(通常不需要换)
termux-change-repohttps://blog.csdn.net/DANGDIWEI/article/details/136094157
源有问题时(通常执行这里,源就可用了)
termux使用pkg update 报错Error: None of the mirrors are accessiblee
先使用下面命令
apt full-upgrade -y小工具Tmoe
pkg install -y curl ; bash -c "$(curl -L gitee.com/mo2/linux/raw/2/2)";有了curl之后只用命令就可以了
bash -c "$(curl -L gitee.com/mo2/linux/raw/2/2)";启动小工具之后,选择安装 跨架构容器
使用amd64的debian13版本
指令不方便记忆,做成.sh执行
1. 创建 .sh 文件
使用你喜欢的文本编辑器(如 nano、vim、gedit 等)创建一个新的 .sh 文件。例如,使用 nano:
nano tmoe.sh2. 将命令写入文件
将你的命令粘贴到文件中,并保存。确保命令是脚本的唯一内容,或者你可以添加一些注释来说明脚本的用途。
#!/bin/bash
bash -c "$(curl -L gitee.com/mo2/linux/raw/2/2)"3. 保存并退出编辑器
在 nano 中,你可以按 Ctrl+X,然后按 Y 确认保存,最后按 Enter 确认文件名。
4. 赋予可执行权限
为了使脚本可执行,你需要使用 chmod 命令赋予其执行权限:
chmod +x tmoe.sh5. 运行脚本
现在你可以通过以下方式运行脚本:
./tmoe.sh完整脚本文件示例
以下是一个完整的 tmoe.sh 文件示例:
#!/bin/bash
# This script runs a command fetched from a remote URL
bash -c "$(curl -L gitee.com/mo2/linux/raw/2/2)"注意事项
安全性:运行从远程获取的脚本代码时,请务必确认来源的可靠性。执行未知或不受信任的脚本可能会带来安全风险。
网络连接:确保你的系统可以访问 gitee.com,并且网络状况良好。
URL 持久性:请确认 gitee.com/mo2/linux/raw/2/2 这个 URL 是持久有效的,否则脚本将无法正确执行。
希望这能帮助你将命令转化为 .sh 脚本文件!
安装docker
参考:https://blog.csdn.net/m0_57021623/article/details/138590870
1. 更新现有的包列表
首先,确保你的包管理器的列表是最新的:
sudo apt update2. 安装必要的软件包
在安装Docker之前,需要确保系统已安装以下必需的软件包,这些包帮助apt通过HTTPS使用仓库:
sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release3. 添加Docker的官方GPG密钥
为了验证下载的Docker包的真实性,需要添加Docker的官方GPG密钥:
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg这一步会下载Docker的公钥,并使用gpg --dearmor命令将其转换为适用于apt的格式,存储在/usr/share/keyrings目录下。
4. 设置Docker稳定版仓库
你需要将Docker的仓库地址添加到系统的apt源列表中。首先,创建一个新的文件docker.list在/etc/apt/sources.list.d/目录下:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null这个命令做了以下几件事:
使用
echo命令构造源配置字符串。$(dpkg --print-architecture)获取系统架构。$(lsb_release -cs)获取当前Debian发行版的代号。tee命令将这些信息写入/etc/apt/sources.list.d/docker.list文件中,以便apt可以读取这个新的源。
上面的命令在容器里不太行,需要换成
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
bookworm stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null因为他返回的trixie不属于发行版本中的任何一种
root@localhost:~# lsb_release -cs
trixie发行版本有以下几种 https://download.docker.com/linux/debian/dists/,因为是debian13,所以原指令$(lsb_release -cs)替换为bookworm就行
bookworm
bullseye
buster
jessie
stretch
wheezybookworm
这是Debian的一个较新版本代号。每个Debian版本都会有一个独特的代号,这些代号通常与动物或昆虫有关,并遵循一定的字母顺序。
bookworm版本引入了新的特性和改进,以及一系列的安全更新和修复。
bullseye
bullseye是Debian的一个稳定版本代号,发布于2021年。该版本提供了大量的软件包和更新,以满足用户对稳定性和安全性的需求。
buster
buster是Debian的一个早期版本代号,发布于2019年。虽然它不再是最新的稳定版本,但仍然受到Debian社区的支持和维护。
jessie
jessie是Debian 8的代号,发布于2015年。这个版本在发布时引入了许多新的特性和改进,并在随后的几年中得到了广泛的支持和更新。
stretch
stretch是Debian 9的代号,发布于2017年。它提供了比
jessie更多的软件包和更新,并改进了系统的稳定性和性能。
wheezy
wheezy是Debian 7的代号,发布于2013年。虽然这个版本已经相对较旧,但它仍然是许多用户的可靠选择,特别是那些需要稳定性和兼容性的用户。
5. 再次更新软件包列表
添加了新的源之后,再次更新包列表以确保apt知道新添加的源:
sudo apt update6. 安装Docker Engine
现在,你可以安装最新版本的Docker Engine及其依赖:
sudo apt install docker-ce docker-ce-cli containerd.io7. 验证Docker安装
安装完成后,检查Docker是否正确安装并运行:
sudo systemctl status docker你还可以运行一个测试容器来验证Docker的安装:
sudo docker run hello-world8. 换源、修改配置
内容参考:烧饼博客
以下配置会增加一段自定义内网 IPv6 地址,开启容器的 IPv6 功能,以及限制日志文件大小,防止 Docker 日志塞满硬盘(泪的教训):
cat > /etc/docker/daemon.json <<EOF
{
"log-driver": "json-file",
"log-opts": {
"max-size": "20m",
"max-file": "3"
},
"ipv6": true,
"fixed-cidr-v6": "fd00:dead:beef:c0::/80",
"experimental":true,
"ip6tables":true,
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://dockerhub.icu",
"https://docker.anyhub.us.kg",
"https://docker.1panel.live"
]
}
EOF这里的源有可能失效,需要自行找到可用源替换
然后重启 Docker 服务:
systemctl restart docker9. (可选)允许非root用户执行Docker命令
如果你希望非root用户也能运行Docker命令,可以将用户添加到docker组:
sudo usermod -aG docker $USER注销并重新登录,或者重启计算机以应用这些更改。
安装docker-compose
集成版本 Compose v2
一般来说使用命令sudo apt-get install docker-ce docker-ce-cli containerd.io 安装的都带docker-compose,不过是Docker CLI的一部分,通常来讲用的是旧版的,需要单独安装的
解释
你看到的两个命令是 Docker Compose 的不同用法:
docker-compose --version是旧版 Docker Compose 的命令,它是一个独立的二进制文件。
docker compose version是 Docker 的新集成版本 Compose v2,它作为 Docker CLI 的一部分提供。如果你能使用
docker compose version,说明你已经安装了 Docker Compose v2,而不需要单独安装旧版的docker-compose。这种新版本通常更推荐使用,因为它集成在 Docker CLI 中,更加方便。如果你希望使用旧版
docker-compose,你可以按之前提到的步骤单独安装它,但通常推荐使用集成的版本。
docker compose version #查看 docker-compose 版本,Docker CLI提供的不需要横杠-经典版本
经典的 docker-compose github仓库
https://github.com/docker/compose/
安装命令
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version #查看 docker-compose 版本docker命令转换docker-compose命令
项目仓库:https://github.com/magicmark/composerize
搭建教程:https://blog.laoda.de/archives/composerize-docker-cli
在线使用:https://www.composerize.com/
部分教程内容
前言
我们在搭建docker项目的时候,通常会有两种形式,
一种是类似这样的命令行模式的(比如zfile):
docker run -d --name=zfile --restart=always \
-p 8080:8080 \
-v /root/data/docker_data/zfile/conf:/root/.zfile \
-v /root/data/docker_data/root/zfile/db:/root/.zfile-new/db \
-v /root/data/docker_data/root/zfile/data:/root/zfile/data \
stilleshan/zfile还有一种是docker-compose的形式的(比如qBittorrent):
version: "2"
services:
qbittorrent:
image: linuxserver/qbittorrent
container_name: qbittorrent
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai # 你的时区
- UMASK_SET=022
- WEBUI_PORT=8081 # 将此处修改成你欲使用的 WEB 管理平台端口
volumes:
- /root/data/docker_data/qBittorrent/config:/config # 绝对路径请修改为自己的config文件夹
- /root/data/docker_data/qBittorrent/downloads:/downloads # 绝对路径请修改为自己的downloads文件夹
ports:
# 要使用的映射下载端口与内部下载端口,可保持默认,安装完成后在管理页面仍然可以改成其他端口。
- 6881:6881
- 6881:6881/udp
# 此处WEB UI 目标端口与内部端口务必保证相同,见问题1
- 8081:8081
restart: unless-stopped很明显,相比前一种方式,后一种docker-compose的方法更简单一些,所有配置文件都在docker-compose.yml里头,我们只需要在这个文件夹下,运行docker-compose up -d就可以了,搬家换服务器的时候,也把这份配置文件带上,可以很轻松地完成服务器迁移工作。
那么,有没有办法,把前面的那种类似命令行的模式,改成docker-compose的模式呢?其实,仔细观察,就会发现,他们是一个东西,我们没有深入研究docker compose,也能猜到,docker-compose的文件,其实就是把命令行的那串东西,通过一定的规则,转换而来的。
你对照着,其实也能大概写出一个雏形。
而今天,我们要分享的,就是利用工具,快速完成这个转换的动作!
搭建过程
担心项目链接失效的可自行搭建
视频教程:
YouTube:https://youtu.be/hH-ezOV4lY0
哔哩哔哩【高清版本可以点击去吐槽到B站观看】:https://www.bilibili.com/BV1aU4y1176c
其实很简单。首先我们要安装一个NPM(注意,这里的NPM是真的NPM,不是指Nginx Proxy Manager)
npm是Node.js默认的、用JavaScript编写的软件包管理系统。 维基百科
然后用NPM来安装。
apt update -y
sudo apt install npm -y
npm install composerize -g # -g 表示全局安装使用方法:
composerize docker run -d --name tinypin -p 3030:3000 -v "$(pwd)/data:/data" --restart=unless-stopped slynn1324/tinypin注意事项
遇到部分复杂的命令,可能会转换不成功,例如:
docker run -d --name=Whiteboard -p 8080:8080 --memory=2g --cpus=1 --restart=always --net=vlan100 --ip=192.168.100.17 rofl256/whiteboard 转换结果如下:
version: '3.3'
services:
whiteboard:
container_name: Whiteboard
ports:
- '8080:8080'
restart: always
network_mode: vlan100
image: rofl256/whiteboard可以发现,丢失了很多东西 = =
项目还在维护中,希望能越来越好。
shell学习
下载的版本说明
介绍
版本号后面的信息,是Android设备的ARM处理器类型及版本,目前通常分为以下几种:
1、arm64-v8a:第8代、64位ARM处理器。目前,国内Android应用生态正在向64位架构过渡。同时,移动芯片平台也将逐步弱化对32位应用的支持。
2、armeabiv-v7a:第7代及以上的 ARM 处理器,是目前主流版本,大部分Android设备都使用它。
3、armeabi:第5代、第6代的ARM处理器,早期的手机用的比较多,缺乏对浮点数计算的硬件支持,在须要大量计算时有性能瓶颈。
4、x86 / x86_64:x86 架构的手机都会包含由 Intel 提供的称为 Houdini 的指令集动态转码工具,实现对arm .so 的兼容。考虑 x86不到1% 的市场占有率,x86 相关的两个 .so 也是可以忽略的。
5、mips/mips64:极少用于手机可忽略。
选择
应该下载哪个版本的安卓安装包,arm64-v8a、armeabi-v7a、x86、x86_64?
普通手机用户,建议下载 arm64-v8a (第8代、64位ARM处理器)版本,能够发挥手机最佳性能,小编也是一直这么选择的。
怎么查看自己的手机是64位还是32位呢?只要本型号手机支持8G运行内存以上,有8G内存版本在出售,就都是64位处理器。
如果是很老的手机,也有可能不是64位处理器,那么就选择armeabi-v7a,几乎通用所有手机,而且也兼容64位处理器。
通用版本,有的不标明处理器架构,有的应用会写上“-universal”。下载这个版本肯定没错,所有安卓手机都兼容。但是,APK安装包文件大小是其他版本的几倍。无论从手机上网流量还是存储空间考虑,都没必要选择,忽略该版本。
最后面两个版本几乎没有手机在用了,也忽略掉。
只剩下arm64-v8a和armeabi-v7a了,这两个版本都可以正常运行,但是arm64-v8a可以覆盖armeabi-v7a安装,而后者不能覆盖前者,会提示“不能降级安装”,需要卸载arm64-v8a才能安装armeabi-v7a。
下面是一些补充
Android 设备的CPU类型
armeabiv-v7a: 第7代及以上的 ARM 处理器。2011年15月以后的生产的大部分Android设备都使用它.
arm64-v8a: 第8代、64位ARM处理器,当前主力设备都支持稳定性更好,三星 Galaxy、vivo、oppo等高端机型都支持,主要看cpu。
armeabi: 第5代、第6代的ARM处理器,早期的手机用的比较多。
x86: 平板、模拟器用得比较多。
x86_64: 64位的平板
armeabi设备只兼容armeabi,不支持硬件辅助浮点运算,支持所有的 ARM* 设备;
armeabi-v7a设备兼容armeabi-v7a、armeabi;
arm64-v8a设备兼容arm64-v8a、armeabi-v7a、armeabi;
x86设备兼容x86、armeabi;
x86_64设备兼容x86_64、x86、armeabi;
mips64设备兼容mips64、mips;
mips只兼容mips;
参考
群友聊天
安卓软件APK安装包arm64-v8a、armeabi-v7a、x86、x86_64有何区别_安卓手机_手机学院_脚本之家
【建议收藏】Debian系统上安装Docker全流程_debian安装docker-CSDN博客
【2024最新】国内的服务器安装并配置Docker(以树莓派4B为例子)-我不是咕咕鸽
【Docker小知识】告别长命令,Composerize你的Docker部署命令!Docker-compose YYDS!-我不是咕咕鸽