Ubuntu安装Python3.10.6

一、apt 安装相关依赖库

1.安装前期准备

需安装libffi-devel库。

 sudo apt-get install libffi-dev

如出现无法找到安装包,可按顺序安装依赖包

 sudo apt-get update
 sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus
 sudo apt-get install build-essential libncursesw5-dev libgdbm-dev libc6-dev
 sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev
 sudo apt-get install libssl-dev openssl
 sudo apt-get install libffi-dev
 sudo apt-get install libxpm-dev libxext-dev 
 sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev 

另外,安装以下依赖库

 sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget

2.安装python3.10.6

进入python官网下载(https://www.python.org/downloads/),找到Linux版本,并找到对应版本,在对应版本上右击,复制下载链接。

或者使用wget

wget  https://www.python.org/ftp/python/3.10.6/Python-3.10.6.tgz

下载完成后,解压文件

tar -vxf Python-3.10.6.tgz

进入到解压后的文件夹中

cd Python-3.10.6

使用configure对文件进行配置,并利用–prefix=指定安装路径为/usr/local/python3.10.6

./configure --prefix=/usr/local/python3.10.6

优化编译

./configure --enable-optimizations

编译

sudo make

安装

make install 

以上不出现问题的话,就完成了python解释器的安装~

为了在终端输入python时,使用安装的高版本python解释,需要将默认的解释器删除,并通过软链接新版的python解释器~
默认安装的python解释器在/usr/bin/python 或 /usr/bin/python3
删除

sudo rm /usr/bin/python

软连接

sudo ln -s /usr/local/python3.10.6/bin/python3.10 /usr/bin/python

查看软链接

ll | grep python

删除pip软连接

sudo rm ./pip
sudo rm ./pip3

更改pip软连接

sudo ln -s /usr/local/python3.10.6/bin/pip3.10 /usr/bin/pip
sudo ln -s /usr/local/python3.10.6/bin/pip3.10 /usr/bin/pip3

配置集群环境

安装docker 准备docker-compose

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 
sudo pip3 install docker-compose -i https://pypi.tuna.tsinghua.edu.cn/simple

配置环境

由于插件使用的是集群的模式,所以这里要创建一个单个服务器的集群

docker swarm init

然后将这个服务器加入集群

docker node update --label-add='name=linux-1' $(docker node ls -q)

最后要准备的是给 docker 更换镜像源,这里推荐将 daocloud 和 aliyun 的源都添加进去,不然会很龟速,修改文件 /etc/docker/daemon.json,两个镜像都需要自己取申请一下,改完后类似下面这样

{
    "registry-mirrors": ["https://x9o6tkhi.mirror.aliyuncs.com","http://f1361db2.m.daocloud.io"]
}

重启生效

sudo systemctl daemon-reload
sudo systemctl restart docker

安装

下载
首先使用我仓库中的 ctfd,已经做好了镜像换源等工作。

git clone https://github.com/Un1kTeam/CTFd --depth=1

配置frp

cd CTFd
vi conf/frp/frps.ini # token 一定要随机
vi conf/frp/frpc.ini # token 一定要随机

frps.ini

[common]
bind_port = 7000
vhost_http_port = 9123
token = your_token
subdomain_host =  //可以不用管

frpc.ini

[common]
token = your_token
server_addr = 172.1.0.3
server_port = 7000
admin_addr = 172.1.0.4
admin_port = 7400

然后安装插件并启动

git submodule update --init
docker-compose up -d

不出意外就应该成功了,使用

docker ps -a

WEB题环境

WEB 题环境

整体结构:files 是个文件夹,里面有 flag.sh 和 html文件夹,html 是题目源码

docker-compose.yml
Dockerfile
files--|
        |--flag.sh
        |--index.php
        |--flag.php
flag.sh
#!/bin/sh
sed -i "s/flag{testflag}/$FLAG/" /var/www/html/index.php 
export FLAG=""

使用CTFTraining上题

在dockerhub中查找镜像,然后在ctfwhale中上题即可,

https://github.com/CTFTraining/CTFTraining

https://hub.docker.com/u/ctftraining

相关动态flag

docker常用命令

docker build -t agreatly/webtest .
docker push agreatly/webtest
docker rmi 镜像id
docker stop/rm 容器id
docker exec -it 容器id  /bin/bash
docker images # 查看已有镜像

最后查看效果

最后修改:2023 年 01 月 06 日
如果觉得我的文章对你有用,请随意赞赏