这里主要介绍2种方法。
第一种方法安装的sage的版本会相对旧一些,但是整体的安装流程非常快速。
而第二种方法安装的是最新版的sage,功能会相对多很多(尤其是某些Lattice相关的功能),只不过整体流程会很长。
使用Miniforge安装sage
注意,这个方法安装的sage的版本会相对旧一些,但是整体的安装流程非常快速,一般10分钟内就可以完成。
一共分成2个步骤:
- 安装Miniforge(Anaconda的轻量化替代品)
- 使用conda安装sage
- 下载vscode的wsl版(可选)
安装Miniforge
1 | wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh |
然后安装脚本:
1 | bash Miniforge3-Linux-x86_64.sh |
如果安装时询问你是否要把它加入 .bashrc
, 选择是,这样一来每次打开wsl它都会自动启动并进入base环境,会比较方便。
当然如果这个自启没有设置成功,也可以手动设置:
先打开.bashrc
编辑器
1 | nano ~/.bashrc |
在文件末尾添加:
1 | . "$HOME/miniforge3/etc/profile.d/conda.sh" |
然后使用Ctrl + o
和Ctrl + x
保存并退出。
最后再运行:
1 | source ~/.bashrc |
安装sage
通过
1 | conda create -n sage sage -c conda-forge |
安装sage。然后每次使用
1 | conda activate sage |
激活sage环境并用
1 | sage |
打开sage。
下载vscode的wsl版
由于单纯用命令行运行sage代码不太方便,并且只用sage的话有些python的命令(比如说连接服务器等)容易出问题,可以安装一个vscode的wsl版。
首先在Windows里的vscode下载wsl
的插件
之后在当前wsl的命令行里输入:
1 | code . |
它便会开始自动下载wsl版的vscode。
下载完成后,每次启动wsl之后只需要先打开vscode:
1 | code . |
然后在vscode的命令行里输入:
1 | conda activate sage |
便可以编写并运行import了sage库的python代码。
记住要先开vscode再开启sage的环境,不然先开启了sage环境后,进到vscode里会掉回base的环境!
下载sage源码并编译
这种方法安装的是最新版的sage,功能会相对多很多(尤其是某些Lattice相关的功能),只不过整体流程会很长,可能会持续一个小时。(主要是编译那步需要等很久。)
稍微解释一下,在sage的官网:https://www.sagemath.org/download-linux.html
可以看到:
Sage官方不再提供编译好的二进制文件了,所以我们才需要自己在本地编译。
准备系统环境
使用
1 | sudo nano /etc/apt/sources.list |
打开sources.list
文件并添加以下内容(或替换):
1 | deb http://http.kali.org/kali kali-rolling main contrib non-free non-free-firmware |
保存并退出(Ctrl+O,回车,Ctrl+X),然后执行更新:
1 | sudo apt update && sudo apt upgrade |
安装构建依赖
Sage 依赖大量开发工具,先装些最基本的:
1 | sudo apt install build-essential m4 perl git curl python3 gfortran libbz2-dev libssl-dev libffi-dev libsqlite3-dev libreadline-dev automake cmake |
也可能会用到:
1 | sudo apt install pkg-config texinfo libmpfr-dev libgmp-dev libmpc-dev \ |
建议存储够的话全都下了。
下载 Sage 源码
1 | git clone https://github.com/sagemath/sage.git |
配置项目
1 | ./configure |
检测你的系统工具和库,并准备 Makefile。如果缺少依赖,它会告诉你缺了什么。
编译 Sage
1 | make -j$(nproc) |
有些时候编译时会报cmake
编译失败的错误,这时可以先跳过编译 cmake 的步骤,直接用系统自带的版本来代替 Sage 自己编译的版本:
设置 Sage 使用系统的 cmake:
1 | export SAGE_INSTALL_USE_SYSTEM_CMAKE=yes |
然后重新开始编译:
1 | make -j$(nproc) |
启动 Sage
1 | ./sage |
出现类似如下输出则表示成功:
1 | SageMath version 10.7.beta7, Release Date: 2025-06-29 |
加入全局环境变量(可选)
你可以把 ./sage
添加到 PATH,方便全局使用。
首先编辑 .bashrc
:
1 | nano ~/.bashrc |
在这份文件的最下方添加:
1 | export PATH="$HOME/ctf-kali/sage:$PATH" |
然后刷新配置:
1 | source ~/.bashrc |
验证:
1 | which sage |
应该输出类似:
1 | /home/archer/sage/sage |