Linux环境搭建、配置记录(不定时更新)
ubuntu虚拟机安装 ¶
Init ¶
安装Ubuntu时候语言选择默认英文 ¶
0. 设置root密码 ¶
1 | sudo passwd # 修改root密码 |
1. 先更新源 ¶
1 | sudo apt update |
2. 安装VMwareTools ¶
1 | sudo apt install open-vm-tools-desktop -y |
3. Ubuntu换源 ¶
ubuntu22.04可以直接在设置->关于->软件更新中,选择合适的源,无需修改文件
ubuntu镜像_ubuntu下载地址_ubuntu安装教程-阿里巴巴开源镜像站 (aliyun.com)
Ubuntu系统中,软件源文件地址为:/etc/apt/sources.list
1.备份原来的源,将以前的源备份一下,以防以后可以用的。
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
2.打开/etc/apt/sources.list
文件,在前面添加如下条目,并保存。
sudo vim /etc/apt/sources.list
(可将vim更换为自己熟悉的编辑器)
1 | deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse |
4. 更新系统软件 ¶
1 | sudo apt-get upgrade -y |
5. 更换终端 ¶
安装Terminator ¶
1 | sudo apt-get install terminator -y |
从Ubuntu的全部软件中找到Terminator软件图标,右键添加到收藏夹。
安装zsh ¶
-
安装zsh
1
sudo apt-get install zsh -y
-
配置zsh为默认终端(直接安装oh-my-zsh可以设置)
1
2
3
4
# which zsh | sudo tee -a /etc/shells #(好像不用)
sudo chsh -s /bin/zsh
# 或者 chsh -s $(which zsh)
reboot
-
-
安装
1
sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
-
配置主题
1
2
3
4
5vim ~/.zshrc
# SH_THEME="robbyrussell"
# SH_THEME="ys"
ZSH_THEME="agnoster" # 特殊字符无法显示?
-
-
oh-my-zsh插件配置
1. zsh-autosuggestions
安装
1
2
3
4
5
6
7
8
9
10
11
12git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
# 修改zshrc使配置生效
vim ~/.zshrc
plugins=(
# other plugins...
zsh-autosuggestions
)
# 使提示文本为灰色(可改可不改)
# export TERM=xterm-256color
2. zsh-syntax-highlighting
1
2
3
4
5
6
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
# 修改zshrc使配置生效
vim ~/.zshrc
plugins=( [plugins...] zsh-syntax-highlighting)
3. autojump
1
2
3
4
5
6
7
8
9
10
11
git clone https://github.com/wting/autojump.git
cd autojump && ./install.py
# 根据提示 修改zshrc使配置生效
vim ~/.zshrc
plugins=( [plugins...] autojump)
[[ -s /home/yhnkkio/.autojump/etc/profile.d/autojump.sh ]] && source /home/yhnkkio/.autojump/etc/profile.d/autojump.sh
autoload -U compinit && compinit -u
- 其他zsh配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14plugins=(git
zsh-autosuggestions
zsh-syntax-highlighting
autojump
)
# history 命令查看历史输入命令的时间展示格式
HIST_STAMPS="yyyy-mm-dd"
# 配置个人环境变量
if [ -f ~/.bash_profile ]; then
. ~/.bash_profile
fi
5(optional). 将Ubuntu系统语言更换为简体中文 ¶
ubuntu 16.04 更改系统语言为简体中文
System Settings→Language Support
重启后会改变
标准文件夹不要更新名称!!!
6. 安装输入法 ¶
安装Fcitx5 ¶
Ubuntu22.04
-
安装软件及依赖
1
sudo apt install fcitx5 fcitx5-chinese-addons fcitx5-frontend-gtk4 fcitx5-frontend-gtk3 fcitx5-frontend-gtk2 fcitx5-frontend-qt5 gnome-tweaks
-
设置为默认输入法
1
im-config
根据弹出窗口的提示,将首选输入法设置为 Fcitx 5 即可
-
安装中文词库
1
2
3wget https://github.com/felixonmars/fcitx5-pinyin-zhwiki/releases/download/0.2.4/zhwiki-20231016.dict
mkdir -p ~/.local/share/fcitx5/pinyin/dictionaries/
mv zhwiki-20231016.dict ~/.local/share/fcitx5/pinyin/dictionaries/去Releases · felixonmars/fcitx5-pinyin-zhwiki (github.com)找最新的词库文件
-
配置bash_profile
1
2
3GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx -
设置开机自启动
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16gnome-tweaks
/**************/
或者(未尝试)
sudo vim /etc/rc.local
#!/bin/bash
sleep 5
fcitx5 &
sudo chmod a+x /etc/rc.local
sudo systemctl enable rc-local.service -
fcitx5配置
1
fcitx5-configtool
-
gnome无法使用输入法解决(自带的火狐、vscode等):
1
gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'fcitx'>}"
(未尝试)Jetbrains输入框在左下角问题解决:RikudouPatrickstar/JetBrainsRuntime-for-Linux-x64 官方已跟进,但还未集成youtrack.jetbrains.com/issue/JBR-2460
安装谷歌输入法 ¶
Ubuntu22.04不行,20.04可以
-
安装谷歌拼音
1
sudo apt-get install fcitx-googlepinyin -y
-
打开软件
language support(语言支持)
,切换Keyboard input method system(键盘输入法系统)
为fcitx
,然后重启 -
重启后在右上角状态栏点击键盘图标,在下拉单里选择倒数第三个
Configure(配置)
进入配置界面。 -
左下角点
+
号,取消Only Show Current Language(只选择当前语言)
勾选,搜索Google
,选择Google 拼音
并点击OK -
切换输入法快捷键:
ctrl space
7. 卸载自带软件 ¶
https://www.htcp.net/2568.html
Ubuntu选择最小安装不会有这些东西
1 | sudo apt purge gnome-mahjongg aisleriot gnome-mines gnome-sudoku |
8. 安装软件列表 ¶
为64位系统提供32位运行环境支撑 ¶
1 | sudo dpkg --add-architecture i386 |
安装pyenv ¶
https://github.com/pyenv/pyenv
1 | # 安装依赖 https://github.com/pyenv/pyenv/wiki |
.bash_profile添加(配置到bashrc或zshrc)
1 | #* 使用installer提示即可 *# |
pyenv离线安装python:将下载的python包放在~/.pyenv/cache
目录下
1 | pyenv virtualenv 3.8.10 common |
安装node.js ¶
1 | sudo apt-get update |
新方法nodesource/distributions: NodeSource Node.js 二进制发行版 (github.com)
npm换tb源:
1 | npm config set registry https://registry.npm.taobao.org/ |
该方法即将被弃用,使用上述方法
https://www.cnblogs.com/feiquan/p/11223487.html
这个16根据官网大版本号修改
1 | curl -sL https://deb.nodesource.com/setup_18.x | sudo -E bash - |
各种不需要配置软件 ¶
1 | sudo apt install -y git python3 python3-venv python3-pip curl vim gcc net-tools tree jnettop p7zip-full htop proxychains open-vm-tools-desktop terminator zsh openssh-server |
工具 | 作用 |
---|---|
tree | tree -afNh 查找文件 |
jnettop | 查看网络流量 |
htop | 查看CPU占用 |
9. pip换源 ¶
1 | mkdir ~/.pip && echo "[global] |
(此处用的是清华大学的pip源,可自行更换pip源网址)
10. vscode安装 ¶
-
Ubuntu自带软件中心中搜索Visual Studio Code下载,页面中就可以直接选择安装**(不推荐,不能使用谷歌拼音)**
-
从vscode官网下载最新版本,下载deb包
安装命令:dpkg -i 安装包
-
启动命令:
code
-
可以在左侧图标右键,
添加到收藏夹
命令行安装
1 | sudo apt-get install wget gpg |
11. 安装java OracleJDK ¶
-
下载jdk压缩包,解压到相关位置(
/opt/
) -
配置
.bashrc
1
2
3
4
5
6# JAVA jdk11 start
export JAVA_HOME=/opt/jdk-11.0.13
export CLASSPATH=.:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
# java8-> export PATH=$JAVA_HOME/jre/bin:$PATH
# JAVA jdk11 end
12. 安装AndroidStudio ¶
使用https://www.jetbrains.com/zh-cn/toolbox-app/
-
去官网下载linux压缩包,解压到相关位置(
/opt/
) -
寻找
/bin/studio.sh
文件,命令行打开 -
固定到左侧
- 随便使用AndroidStudio新建一个项目
- 菜单栏选择
Tools
->Create DesktopEntry
来创建快捷方式
-
解决AndroidStudio无法调试问题
1
sudo apt install libncurses5
-
配置sdk目录,
~/.bashrc
中添加1
2
3
4
5
6
7
8
9
10# Android start
# 不确定这个是否有用
export ANDROID_SDK_HOME="$HOME/Android"
# 配置sdk及ndk
export PATH=$HOME/Android/Sdk/tools:$PATH
export PATH=$HOME/Android/Sdk/platform-tools:$PATH
export PATH=$HOME/Android/Sdk/ndk/21.4.7075529:$PATH
export PATH=$HOME/Android/Sdk/build-tools/30.0.3:$PATH
# Android end -
配置adb usb
1
2
3问题:
List of devices attached
FA77D0303724 no permissions (missing udev rules? user is in the plugdev group); see [http://developer.android.com/tools/device.html]两条命令解决(之后重插usb/重启):
1
2sudo usermod -aG plugdev $LOGNAME
sudo apt-get install android-sdk-platform-tools-commonold:
-
运行
lsusb
,找到设备对应的ID值;前四位为PID, 后四位为VID -
创建adb_usb.ini文件,写入android设备的VID**(非必须?)**
1
echo 0x12d1 > ~/.android/adb_usb.ini
-
添加
.rule
规则1
2sudo vim /etc/udev/rules.d/70-android.rules
SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="4ee7",MODE="0666",GROUP="plugdev",symlink+="android",symlink+="android_adb"需要修改
ATTRS{idVendor}
和ATTRS{idProduct}
-
赋予权限
1
sudo chmod 666 /etc/udev/rules.d/70-android.rules
-
重启usb服务
1
sudo service udev restart
-
重启adb
1
2
3adb kill-server
adb start-server
adb devices
-
13. 开机提示“检测到系统程序出现问题” ¶
提示”检测到系统程序出现问题“;提示”ubuntu出现了内部错误“
1 | sudo rm /var/crash/* # 删除错误报告 |
14. 真机远程ssh连接虚拟机 ¶
虚拟机安装ssh-server
1 | sudo apt install -y openssh-server |
查看虚拟机ip地址:(或者ifconfig
)
1 | hostname -I |
真机:
Git Bash中输入命令
1 | ssh [username]@[ipAddress] |
虚拟机中配置ssh免密登录 ¶
在客户端输入如下命令(输入被控端的user和ip)
1 | ssh-copy-id remoteuser@remotehost |
Windows系统中,可以通过git-bash
来使用该命令
15. 安装配置proxychains ¶
1 | sudo apt install proxychains -y |
编辑配置
1 | sudo vim /etc/proxychains.conf |
最下方的[ProxyList]
下的socks4
注释掉,注释掉proxy_dns
添加:ip填含有代理的主机ip;prot填监听端口(v2rayN为:设置->参数设置->基础设置->本地监听端口)
1 | socks5 [ip] [port] |
注释掉proxy_dns
名字太长 设置别名:
1 | sudo vim ~/.bash_aliases |
环境变量 ¶
.bash_profile
1 | if [ -f ~/.bash_aliases ]; then |
.bash_aliases
1 | alias pc='proxychains' |
自写环境变量可添加到.bash_profile
中,在.bashrc
中添加source .bash_profile
拓展 ¶
Ubuntu打开文件夹命令 ¶
1 | nautilus . |
Vmwaretools缓存目录 ¶
1 | rm -rf ~/.cache/vmware/drag_and_drop/ |
vm虚拟机速度优化 ¶
- 优化快照速度:
vm虚拟机菜单栏→编辑→首选项→优先级→【取消对勾】尽可能在后台拍摄/还原快照 - vm虚拟机菜单栏→编辑→首选项→
优先级→抓取的输入内容(高)
内存→【勾选】调整所有虚拟机内存使其适应预留的主机RAM - 编辑虚拟机设置→高级→抓取的输入内容(高)
【勾选】禁用内存页面修整
安装VMwareTools ¶
在 Linux 虚拟机中手动安装 VMware Tools
(将VMtools安装包解压到目录,在目录里管理员运行vmware-install.pl
即可)【弃用】
现使用:安装VMwareTools
1 | sudo apt install open-vm-tools-desktop |
修改Ubuntu短密码 ¶
1 | sudo passwd # 修改root密码 |
按提示修改密码
突然连不上网,网络图标消失 ¶
1 | sudo service network-manager restart |
ubuntu20
1 | service NetworkManager stop |
修改/etc/NetworkManager/NetworkManager.conf
managed=true
1 | sudo service network-manager restart |
Ubuntu系统更新软件 ¶
1 | sudo apt-get update |
Ubuntu16.04安装ibus中文输入法 ¶
[现推荐谷歌拼音输入法](#6. 安装谷歌输入法)
-
安装Chinese语言包
-
安装ibus拼音
1
sudo apt-get install ibus-pinyin
-
sudo ibus-setup
-
重启系统
-
sudo ibus-setup
打开ibus首选项 -
Ubuntu系统设置→文本输入(Text Entry)
添加上ibus拼音输入法
无法锁定管理目录(/var/lib/dpkg/) ¶
1 | sudo rm /var/cache/apt/archives/lock |
无法获得锁
1 | sudo rm /var/lib/dpkg/lock |
E: 无法获得锁 /var/lib/apt/lists/lock - open (11: 资源暂时不可用)
E: 无法对目录 /var/lib/apt/lists/ 加锁
1 | sudo rm /var/lib/apt/lists/lock |
apt-get系列命令 ¶
卸载软件 ¶
1 | sudo apt-get remove <软件名> #只删除软件 |
删除软件安装包 ¶
1 | sudo apt-get clean |
除非必要,不要使用sudo apt-get autoremove(虽然好像没啥事)
【Archived】 ¶
学习初期写下的记录,可能有不少错误,仅供参考
ubuntu16.04升级python到3.7 ¶
1 | sudo add-apt-repository ppa:deadsnakes/ppa |
ctf环境安装 ¶
安装PWNGDB ¶
1 | sudo apt install git |
若报错
改为sudo -H ./setup.sh
安装完后pwngdb文件夹不能删除
安装peda ¶
1 | git clone https://github.com/longld/peda.git ~/peda |
安装python ¶
1 | sudo apt-get install python3 |
安装pwntools ¶
1 | sudo apt-get update |
安装过程中如果报“error in cryptography setup command: Invalid environment marker: python_version < ‘3’”这个错误
解决方法:
1 | pip install --upgrade setuptools |
通过在python中输入from pwn import *
来验证是否安装成功
安装OneGadget ¶
1 | sudo apt-get -y install ruby |
安装OneGadget ¶
1 | git clone https://github.com/JonathanSalwan/ROPgadget.git |
gcc编译环境安装 ¶
1 | sudo apt-get install gcc |
qira调试工具安装 ¶
1 | git clone https://github.com/BinaryAnalysisPlatform/qira.git |
安装后使用qira -s /bin/ls
来测试是否安装成功
如果报TypeError: type object got multiple values for keyword argument ‘log’ 错误
解决方法:
1 | source <qira-dir>/venv/bin/activate |
python库安装 ¶
z3约束器安装 ¶
1 | git clone https://github.com/angr/angr-z3.git |
其中第三个命令有参数,自定义z3包的安装位置
1 | # 示例 python2安装z3 |
python安装gmpy2库 ¶
- 安装三个依赖库gmp mpfr mpc
1 | sudo apt-get install libgmp-dev |
- gmpy2 安装
1 | sudo pip3 install gmpy2 |
python安装Angr ¶
- 安装依赖
(最好安装虚拟环境)
1 | sudo apt-get install python-dev libffi-dev build-essential virtualenvwrapper |
- 安装angr
1 | mkvirtualenv --python=$(which python3) angr && pip install angr |
-
若报错:ERROR: pyvex 7.8.9.26 has requi rement future=-0.16.0, but you’ll have future 0.18.2 which is incompatible.
将python2和python3的future均改为0.16.0版本
命令:1
2
3
4sudo pip uninstall future
sudo pip install future==0.16.0
sudo pip3 uninstall future
sudo pip3 install future==0.16.0
python安装pysm4库 ¶
**安装完成后pysm4文件夹不能删除!!**提前选好安装位置
(好像可以删除)
1 | git clone https://github.com/yang3yen/pysm4.git |
python安装pycrypto,pycrytodome和crypto ¶
1 | pip install pycryptodome |
即可安装