这篇文章上次修改于 1365 天前,可能其部分内容已经发生变化,如有疑问可询问作者。
title: kali 2019安装pyenv的正确姿势
date: 2021/02/26 13:00:00
updated: 2021/02/26 13:00:00
permalink: how-to-install-pyenv-on-kali-2019/
toc: true
众所周知我是miniconda
的重度用户,所以py环境都是miniconda
来管理的,请允许我振声高呼:miniconda yyds。
不过pyenv在kali 2019上的安装目前已经成为许多肉师傅课程初学者的一道坎,在此提供一种解决方案,让你再也不用担心pyenv
的安装了!
核心方案:
- 使用kali 2021 ×
- 使用kali 2020 ×
- 更新kali 2019到最新 √
环境和工具
- kali-linux-2019.4-vmware-amd64.zip
- 可用于
proxychains
的代理(可选)
步骤
首先解压kali-linux-2019.4-vmware-amd64.zip
,然后使用VMWare打开虚拟机,没有额外的配置建议,但请一定要取消掉加速3D图形
开机,用户名root
,密码toor
修改软件源(如果后面更新系统使用代理,那么建议不修改)
nano /etc/apt/sources.list
注释掉原有的地址,添加ustc
的地址
deb https://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src https://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
编辑之后按Ctrl S
保存,按Ctrl X
退出
然后使用apt update
你会遭遇下面的错误
Err:1 https://mirrors.ustc.edu.cn/kali kali-rolling InRelease
The following signatures were invalid: EXPKEYSIG ED444FF07D8D0BF6 Kali Linux Repository <[email protected]>
Reading package lists... Done
W: GPG error: https://mirrors.ustc.edu.cn/kali kali-rolling InRelease: The following signatures were invalid: EXPKEYSIG ED444FF07D8D0BF6 Kali Linux Repository <[email protected]>
E: The repository 'https://mirrors.ustc.edu.cn/kali kali-rolling InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
这个时候只需要重新获取添加一下key就可以了
wget -q -O - https://archive.kali.org/archive-key.asc | apt-key add
然后愉快地升级系统到最新,这个过程比较耗时(漫长等待)
以及可能出现一些提示,一路yes
即可,或者需要阅读的东西,按q
跳过即可
apt update && apt upgrade
注意上面的命令可能出现abort
,重新执行即可
中间还会下载一个网站上的firmware
,可能会笔记慢,耐心等待
或者在执行命令前配置好proxychains
,然后使用proxychains
更新
执行完成后,尝试安装pyenv依赖
,去掉了python-openssl
,不影响后面的过程
apt install -y build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev git
这个时候并没有解决依赖问题,于是将libgcc-9-dev
卸载(漫长等待)
apt remove libgcc-9-dev
再重新安装依赖(漫长等待)
这个时候就能愉快地安装pyenv
了(漫长等待)
curl https://pyenv.run | bash
PS,图中使用了proxychains
,可以不使用
注意,图中proxychains
只对竖线前面生效,后面部分在进行克隆代码,如果要让后面的过程也走代理,正确的命令是
proxychains curl https://pyenv.run | proxychains bash
根据提示将pyenv
添加到环境变量,即将下面的内容添加到/root/.bashrc
末尾
export PATH="/root/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
执行source /root/.bashrc
使之生效
执行pyenv
检查安装情况,出现版本号说明OK
然后可以安装特定版本的python
pyenv install 3.8.0
如果使用了proxychains
,可能会提示
Fatal: You must get working getaddrinfo() function.
or you can specify "--disable-ipv6".
这时使用下面的命令安装
PYTHON_CONFIGURE_OPTS="--disable-ipv6" proxychains pyenv install 3.8.0
然后测试下切换python版本
(没错系统python2没了,可以自己装一个)
重启一下系统
reboot
踩坑
Q:先卸载libgcc-9-dev
,再安装pyenv
依赖,再安装特定python版本可不可以呢?
A:可以。但是重启后你极有可能会丢失图形界面(甚至开机出现一个很丑的Debian logo),这个时候不用惊慌,输入tasksel
即可选择桌面环境。
具体操作:
按上下键移动至Xfce
,按空格
选中,按TAB
切换到OK
按钮回车,这时会进行安装,安装完成后重启即可
接下来你进入桌面会看到下面的样子(登录输入框可能也会变,但是不知道怎么改,但是不影响)
不要担心,打开Appearance
,按下图设置即可恢复原样
如果仍然有一些缺失,可以参考kali metapackages
比如把kali-linux-core
和kali-linux-default
之类的装上
这样就还是那个kali 2019
以上
有关参考
- https://unix.stackexchange.com/questions/421821/invalid-signature-for-kali-linux-repositories-the-following-signatures-were-i
- https://mirrors.ustc.edu.cn/help/kali.html
- https://github.com/pyenv/pyenv-installer
- https://www.kali.org/docs/general-use/using-eol-python-versions/
- https://www.kali.org/docs/general-use/metapackages/
没有评论