Ubuntu20.04安装pwntools过程中遇到的坑

官方安装文档

apt-get update
apt-get install python3 python3-pip python3-dev git libssl-dev libffi-dev build-essential
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade pwntools

第一步遇到的问题见另一篇博文
第二步遇到的问题:

正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
build-essential 已经是最新版 (12.8ubuntu1)。
build-essential 已设置为手动安装。
python3 已经是最新版 (3.8.2-0ubuntu2)。
python3 已设置为手动安装。
有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是
因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件
包尚未被创建或是它们已被从新到(Incoming)目录移出。
下列信息可能会对解决问题有所帮助:

下列软件包有未满足的依赖关系:
 python3-dev : 依赖: libpython3-dev (= 3.8.2-0ubuntu2) 但是它将不会被安装
               依赖: python3.8-dev (>= 3.8.2-1~) 但是它将不会被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

解决方案:aptitude

sudo apt-get install aptitude

结果报错如下:

E: 无法下载 http://cn.archive.ubuntu.com/ubuntu/pool/main/libf/libfcgi-perl/libfcgi-perl_0.79-1_amd64.deb  连接失败 [IP: 91.189.91.38 80]
E: 有几个软件包无法下载,要不运行 apt-get update 或者加上 --fix-missing 的选项再试试?

按照提示:

sudo apt-get update
sudo apt-get install aptitude --fix-missing
# 到这里应该就安装aptitude成功了
sudo apt-get update
sudo aptitude install python3-dev
# 提示如下
下列“新”软件包将被安装。         
  libexpat1-dev{a} libpython3-dev{a} libpython3.8-dev{ab} python3-dev 
  python3-distutils{a} python3.8-dev{ab} zlib1g-dev{a} 
0 个软件包被升级,新安装 7 个,0 个将被删除, 同时 0 个将不升级。
需要获取 4,874 kB 的存档。解包后将要使用 22.8 MB。
下列软件包存在未满足的依赖关系:
 libpython3.8-dev : 依赖: libpython3.8-stdlib (= 3.8.2-1ubuntu1) 但是 3.8.2-1ubuntu1.1 已安装
                    依赖: libpython3.8 (= 3.8.2-1ubuntu1) 但是 3.8.2-1ubuntu1.1 已安装
 python3.8-dev : 依赖: python3.8 (= 3.8.2-1ubuntu1) 但是 3.8.2-1ubuntu1.1 已安装
                 依赖: libpython3.8 (= 3.8.2-1ubuntu1) 但是 3.8.2-1ubuntu1.1 已安装
下列动作将解决这些依赖关系:

     保持 下列软件包于其当前版本:
1)     libpython3-dev [未安装的]  
2)     libpython3.8-dev [未安装的]
3)     python3-dev [未安装的]     
4)     python3.8-dev [未安装的]   



是否接受该解决方案?[Y/n/q/?] n
下列动作将解决这些依赖关系:

     降级 下列软件包:                                                        
1)     libpython3.8 [3.8.2-1ubuntu1.1 (now) -> 3.8.2-1ubuntu1 (focal)]        
2)     libpython3.8-minimal [3.8.2-1ubuntu1.1 (now) -> 3.8.2-1ubuntu1 (focal)]
3)     libpython3.8-stdlib [3.8.2-1ubuntu1.1 (now) -> 3.8.2-1ubuntu1 (focal)] 
4)     python3.8 [3.8.2-1ubuntu1.1 (now) -> 3.8.2-1ubuntu1 (focal)]           
5)     python3.8-minimal [3.8.2-1ubuntu1.1 (now) -> 3.8.2-1ubuntu1 (focal)]   



是否接受该解决方案?[Y/n/q/?] y
下列软件包将被“降级”:
  libpython3.8 libpython3.8-minimal libpython3.8-stdlib python3.8 
  python3.8-minimal 
下列“新”软件包将被安装。
  libexpat1-dev{a} libpython3-dev{a} libpython3.8-dev{a} python3-dev 
  python3-distutils{a} python3.8-dev{a} zlib1g-dev{a} 
0 个软件包被升级,新安装 7 个,5 个被降级,0 个将被删除, 同时 0 个将不升级。
需要获取 11.1 MB 的存档。解包后将要使用 22.8 MB。
您要继续吗?[Y/n/?] Y
……
sudo apt-get update
sudo apt-get install python3 python3-pip python3-dev git libssl-dev libffi-dev build-essential
# 报错如下
E: 无法下载 http://cn.archive.ubuntu.com/ubuntu/pool/main/g/git/git_2.25.1-1ubuntu3_amd64.deb  连接失败 [IP: 91.189.91.39 80]
E: 有几个软件包无法下载,要不运行 apt-get update 或者加上 --fix-missing 的选项再试试?

解决方案同第二步中,按照提示运行
第三、四步遇到的问题:

raise ReadTimeoutError(self._pool, None, "Read timed out.")
urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.

解决方案:

python3 -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple
python3 -m pip install --upgrade pwntools -i https://pypi.tuna.tsinghua.edu.cn/simple
sudo apt-get update

至此安装完成
可以参考如下:
python-dev无法安装
pwntools安装使用
pip更新报错

你可能感兴趣的:(CTF)