1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- #!/bin/bash
- # 检查是否以root权限运行
- if [ "$EUID" -ne 0 ]; then
- echo "错误:请以root权限运行此脚本"
- exit 1
- fi
- # 重新挂载/usr为可写模式
- echo "重新挂载/usr为读写模式..."
- sudo mount -o remount,rw /usr
- # 检查挂载是否成功
- if [ $? -ne 0 ]; then
- echo "错误:无法重新挂载/usr为读写模式"
- exit 1
- fi
- # 定义文件路径和目标替换内容
- FILE_PATH="/usr/lib/python3/dist-packages/middlewared/plugins/catalog/utils.py"
- OLD_URL="https://github.com/truenas/apps"
- NEW_URL="https://git.seembox.com/root/apps"
- # 检查文件是否存在
- if [ ! -f "$FILE_PATH" ]; then
- echo "错误:文件 $FILE_PATH 不存在"
- sudo mount -o remount,ro /usr 2>/dev/null
- exit 1
- fi
- # 备份原始文件
- BACKUP_FILE="${FILE_PATH}.backup.$(date +%Y%m%d_%H%M%S)"
- echo "创建备份文件: $BACKUP_FILE"
- cp "$FILE_PATH" "$BACKUP_FILE"
- # 执行替换操作
- echo "正在替换文件内容..."
- sed -i "s|${OLD_URL}|${NEW_URL}|g" "$FILE_PATH"
- # 检查替换是否成功
- if [ $? -eq 0 ]; then
- echo "替换成功完成!"
- echo "已将所有的 '${OLD_URL}' 替换为 '${NEW_URL}'"
-
- # 验证替换结果
- echo "验证替换结果:"
- grep -n "$NEW_URL" "$FILE_PATH"
-
- # 重新挂载为只读模式(可选)
- # sudo mount -o remount,ro /usr
- else
- echo "错误:替换操作失败"
- # 恢复备份
- mv "$BACKUP_FILE" "$FILE_PATH"
- sudo mount -o remount,ro /usr 2>/dev/null
- exit 1
- fi
- echo "操作完成!"
|