上传文件至 /

This commit is contained in:
2025-10-11 00:09:15 +08:00
commit 5f18131b39
5 changed files with 206 additions and 0 deletions

55
glibc.py Normal file
View File

@@ -0,0 +1,55 @@
#!/usr/bin/env python3
"""
Alpine glibc 纯离线自动安装工具
"""
import os
import subprocess
import sys
def run_cmd(cmd):
try:
result = subprocess.run(cmd, shell=True, capture_output=True, text=True, timeout=30)
return result.returncode == 0
except:
return False
def main():
# 检查权限
if os.geteuid() != 0:
print("[✗] 需要 root 权限")
sys.exit(1)
# 检查是否已安装
if os.path.exists("/usr/glibc-compat/lib/libc.so.6"):
print("[✓] glibc 已安装")
sys.exit(0)
# 检查本地文件
apk_file = "./glibc-2.35-r1.apk"
if not os.path.exists(apk_file):
print(f"[✗] 找不到 {apk_file}")
sys.exit(1)
print("[*] 开始离线安装...")
# 创建密钥目录
os.makedirs("/etc/apk/keys", exist_ok=True)
# 纯离线安装命令(按优先级排序)
commands = [
f"apk add --allow-untrusted --no-network {apk_file}",
f"apk add --allow-untrusted --force-non-repository {apk_file}",
f"apk add --allow-untrusted {apk_file}"
]
# 依次尝试安装
for cmd in commands:
if run_cmd(cmd):
print("[✓] glibc 安装成功")
sys.exit(0)
print("[✗] 安装失败")
sys.exit(1)
if __name__ == "__main__":
main()