Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

这里主要介绍2种方法。
第一种方法安装的sage的版本会相对旧一些,但是整体的安装流程非常快速。
而第二种方法安装的是最新版的sage,功能会相对多很多(尤其是某些Lattice相关的功能),只不过整体流程会很长。

使用Miniforge安装sage

注意,这个方法安装的sage的版本会相对旧一些,但是整体的安装流程非常快速,一般10分钟内就可以完成。

一共分成2个步骤:

  1. 安装Miniforge(Anaconda的轻量化替代品)
  2. 使用conda安装sage
  3. 下载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
2
. "$HOME/miniforge3/etc/profile.d/conda.sh"
conda activate base

然后使用Ctrl + oCtrl + 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的插件

image-20250331142857212

之后在当前wsl的命令行里输入:

1
2
code .
# 用vscode打开当前文件夹

它便会开始自动下载wsl版的vscode。

下载完成后,每次启动wsl之后只需要先打开vscode:

1
code .

然后在vscode的命令行里输入:

1
conda activate sage

便可以编写并运行import了sage库的python代码。

image-20250331143508887

记住要先开vscode再开启sage的环境,不然先开启了sage环境后,进到vscode里会掉回base的环境!

下载sage源码并编译

这种方法安装的是最新版的sage,功能会相对多很多(尤其是某些Lattice相关的功能),只不过整体流程会很长,可能会持续一个小时。(主要是编译那步需要等很久。)

稍微解释一下,在sage的官网:https://www.sagemath.org/download-linux.html

可以看到:

image-20250629234700374

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
2
3
sudo apt install pkg-config texinfo libmpfr-dev libgmp-dev libmpc-dev \
zlib1g-dev libncurses-dev libgdbm-dev libpng-dev libcurl4-openssl-dev \
libglpk-dev texlive texlive-latex-extra

建议存储够的话全都下了。

下载 Sage 源码

1
2
git clone https://github.com/sagemath/sage.git
cd sage

配置项目

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