内容提要
在 CentOS 7 上升级 SQLite3:因兰空图床 2.0 要求 SQLite 3.8.8+,而系统默认版本为 3.7.17,需手动升级。从官网下载源码包,解压后依次执行 configure、make、make install,安装到 /usr/local/sqlite;备份旧文件后将新 sqlite3 移至 /usr/bin,最后验证版本为 3.38.1。
延伸解读
为何需要手动升级 SQLite
CentOS 7 默认提供的 SQLite 版本为 3.7.17,而兰空图床 2.0 要求 SQLite 3.8.8 及以上。由于系统仓库中的版本较旧,无法直接通过包管理器升级,因此需要从源码编译安装。这提醒我们,在部署依赖特定版本数据库的应用时,应提前检查系统自带版本是否满足要求。
编译安装的关键步骤
从 SQLite 官网下载源码包后,通过 configure 指定安装路径为 /usr/local/sqlite,然后执行 make 和 make install 完成编译安装。这一过程不覆盖系统原有文件,便于后续替换。注意,编译前需确保系统已安装 gcc 等开发工具,否则可能失败。
替换系统命令的注意事项
安装完成后,将旧版 /usr/bin/sqlite3 重命名为 sqlite3_old 作为备份,再把新编译的 sqlite3 移动到 /usr/bin 下。这样系统默认调用的就是新版本。操作前建议确认没有其他关键服务依赖旧版 SQLite,避免升级后出现兼容性问题。
验证升级结果
执行 sqlite3 --version 确认版本已变为 3.38.1,表明升级成功。此时可以继续部署兰空图床 2.0 并使用 SQLite 作为数据库。如果后续需要回滚,只需将备份的 sqlite3_old 恢复为 sqlite3 即可。
Q&A
CentOS 7 默认的 SQLite 版本是多少?
CentOS 7 默认的 SQLite 版本是 3.7.17。
为什么需要升级 SQLite 到 3.8.8 以上?
因为兰空图床 2.0 要求 SQLite 3.8.8+,而 CentOS 7 默认版本为 3.7.17,不满足要求。
在 CentOS 7 上编译安装 SQLite 的具体步骤是什么?
下载源码包,解压后进入目录,执行 ./configure --prefix=/usr/local/sqlite,然后 make && make install。
如何将新编译的 SQLite 替换系统旧版本?
先将旧文件重命名:mv /usr/bin/sqlite3 /usr/bin/sqlite3_old,再将新文件移动:mv /usr/local/sqlite/bin/sqlite3 /usr/bin/sqlite3。
升级后如何验证 SQLite 版本?
运行 sqlite3 --version,如果显示 3.38.1 即表示升级成功。
升级后 SQLite 的安装路径是什么?
编译时指定了 --prefix=/usr/local/sqlite,因此安装到 /usr/local/sqlite 目录。