我想在运行版本 3.8.2 的 Ubuntu 实例上升级 SQLite3。当前版本是 3.11.1.x。我想知道这样做是否有风险,因为 SQLite3 是 Ubuntu 的核心工具,许多应用程序都使用它。
如果这样做是安全的,最好的方法是什么?从 Linux 发行版安装还是下载源代码并构建?
谢谢
答案1
恐怕没人能告诉你它是安全的。这意味着我们可以 100% 确定 3.8.2 之后所做的更改不会影响您的安装。这显然是不可能的。谨慎的做法是在未用于生产的测试系统上测试新版本,如果据您所知没有出现任何问题,则升级您的生产系统。
也许读一读发行说明尽管。
答案2
我怀疑从 3.8.2 到 3.8.11 的小版本变更中是否会做出任何重大更改。
如果 SQLite 使用语义版本控制和许多项目一样,唯一会影响兼容性的重大更改是在主要版本之间(例如,在本例中为 3.xx -> 4.xx)。因此,您应该升级它是可以的,但当然你应该阅读更新日志确认。
至于正确的做法,如果你保持系统更新,那么你将在官方存储库中获得适用于你的 Ubuntu 版本的最新版本的 SQLite3。你可以通过运行来确保这一点sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
。
目前,14.04 LTS 中可用的 SQLite3 最新版本是 3.8.2,根据这一页. 最新版本可通过官方存储库获取时期是3.8.11.1版本,可用于15.10版本。
因此,如果您想在系统上使用 3.11.x,您必须从 SQlite 提供的源中手动执行此操作。
答案3
如果你在 3.8.2 上一切正常,我建议你不要升级。请查看变更日志看看是否有任何对你来说重要的改变。
SQLite 3.8.2 是 Ubuntu 14.04 的最新稳定和受支持的版本。
SQLite 3.11.1 是针对 Ubuntu 15.04 的软件包,目前仅存在于 Vivid Vervet 存储库中。
参考这里了解更多信息。
如果您仍想升级:
在 Ubuntu 15.04 上,您只需运行以下命令来更新您的 SQLite 包:
sudo apt-get update
sudo apt-get upgrade
在 Ubuntu 14.04 上,你必须下载并安装Linux 的预编译二进制文件可在 SQLite 网站上找到。
答案4
是的,它可以
只需按照此 dockerfile 最后几行的说明进行操作即可https://github.com/disarticulate/docker-python-sqlite新的 libsqlite3.so 将安装到 /usr/lib
然后发现系统范围 libsqlite3.so 的实际位置(例如 /usr/lib/x86_64-linux-gnu)以及指向 /usr/lib/libsqlite3.so 的正确符号链接,这些符号链接之前已经编译过