Full progress of changing ArchLinux to Debian
Jump to navigation
Jump to search
ArchLinux 挺好的,不过我的电脑有点旧了,加上我需要 mediawiki,pacman -Syu 时常常因 mediawiki 而中断,导致启动项丢失,恰逢 Debian 13 发布,于是换回用了多年的 Debian。以下为切换过程的全记录。
- 从 USTC 下载 Debian 13 iso:https://mirrors.ustc.edu.cn/help/debian-cd.html
- 校验下载文件的 sha512
- 用 Ventoy 制作安装盘
- 备份浏览器书签及密码
- 备份 MediaWiki 数据库
grep wgDBname /usr/share/webapps/mediawiki/LocalSettings.php # 查清数据库名
grep wgDBuser /usr/share/webapps/mediawiki/LocalSettings.php # 查清数据库用户名
grep wgDBpassword /usr/share/webapps/mediawiki/LocalSettings.php # 查清数据库用户密码
mariadb-dump -u DBuser -p DBname > mysqlbackup20250815.sql # 导出数据库文件
先在新系统的 MariaDB 中创建同名数据库和用户
mysql -u DBuser -p DBname < mysqlbackup20250815.sql # 在新系统中导入数据库文件
- 备份 MediaWiki LocalSettings.php
- 备份 MediaWiki images 文件夹
或直接使用 ChatGPT 写的这个脚本:
#!/bin/bash
# 一键备份 MediaWiki (ArchLinux MariaDB + Apache 安装方式)
# 运行时请确保 MariaDB 正在运行
# ===== 配置区 =====
BACKUP_DIR="$HOME/mediawiki_backup"
DATE=$(date +"%Y%m%d_%H%M%S")
BACKUP_FILE="mediawiki_full_${DATE}.tar.gz"
# 从 LocalSettings.php 获取数据库名、用户和密码
CONFIG_FILE="/usr/share/webapps/mediawiki/LocalSettings.php"
DB_NAME=$(grep '^\$wgDBname' "$CONFIG_FILE" | sed -E 's/.*"([^"]+)".*/\1/')
DB_USER=$(grep '^\$wgDBuser' "$CONFIG_FILE" | sed -E 's/.*"([^"]+)".*/\1/')
DB_PASS=$(grep '^\$wgDBpassword' "$CONFIG_FILE" | sed -E 's/.*"([^"]+)".*/\1/')
# ===== 开始备份 =====
mkdir -p "$BACKUP_DIR"
echo ">>> 导出数据库: $DB_NAME"
mysqldump -u"$DB_USER" -p"$DB_PASS" "$DB_NAME" > "$BACKUP_DIR/${DB_NAME}_${DATE}.sql"
if [ $? -ne 0 ]; then
echo "!!! 数据库导出失败,请检查用户名/密码"
exit 1
fi
echo ">>> 复制 MediaWiki 代码和配置"
cp -a /usr/share/webapps/mediawiki "$BACKUP_DIR/mediawiki_code"
cp -a /var/lib/mediawiki "$BACKUP_DIR/mediawiki_images"
echo ">>> 打包所有文件"
tar -czvf "$BACKUP_FILE" -C "$BACKUP_DIR" .
echo ">>> 备份完成:$BACKUP_FILE"
echo "你可以将这个文件复制到新服务器进行恢复"
- 去新系统里,按以下方式解压:
tar -xzvf mediawiki_full_20250812_213045.tar.gz
- 转移 ArchLinux 内的文件至别的硬盘
- 备份输入法 yaml 文件