前言 ubuntu简介 Ubuntu
是一个以桌面应用为主的Linux发行版 操作系统,其名称来自非洲南部祖鲁语或豪萨语的”ubuntu“一词,意思是“人性”“我的存在是因为大家的存在”,是非洲传统的一种价值观。Ubuntu基于Debian发行版 和GNOME桌面环境 ,而从11.04版起,Ubuntu发行版放弃了GNOME桌面环境,改为Unity 。此前人们认为Linux难以安装、难以使用,在Ubuntu出现后这些都成为了历史。Ubuntu也拥有庞大的社区力量,用户可以方便地从社区获得帮助。自Ubuntu 18.04 LTS起,Ubuntu发行版重新开始使用GNOME3桌面环境。
通用必备配置 更换软件源 备份list文件 失败了也可以回溯
1 2 cd /etc/apt/sudo cp sources.list sources.list.bak
更改list文件 1 sudo vi /etc/apt/sources.list
替换其中内容,更换为阿里源
1 2 3 4 5 6 7 8 9 10 11 12 13 14 deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
更新软件列表 1 2 sudo apt update 或 sudo apt-get update sudo apt upgrade 或 sudo apt upgrade
更改root密码
跟随指引操作即可
构建工具安装 安装gcc、g++、make等
1 sudo apt install build-essential
Git安装 常用于拉取github上的一些工具
1 2 sudo apt install gitgit --version
vim安装 常用文本编辑器
1 2 sudo apt install vimvim -v
安装glibc-doc GNU C Library (glibc) 的文档
1 sudo apt install glibc-doc
安装python2及pip2 一些python脚本需要在python2环境下运行
安装python2 1 2 sudo apt install python2python2 --version
安装pip2 1 2 3 4 curl https://bootstrap.pypa.io/pip/<你的python2版本,例如2.7>/get-pip.py --output get-pip.py sudo python2 get-pip.py pip2 --version rm get-pip.py
安装pip3 常用python版本,一般自带了python3
1 2 sudo apt install python3-pippip --version 或 pip3 --version
pip换源(清华源) 1 2 3 mkdir ~/.pip 或 mkdir -p ~/.config/pipcd ~/.pip 或 cd ~/.config/pipvim pip.conf
修改pip.conf的内容为
1 2 3 4 5 6 7 8 9 10 11 [global] index-url =https://pypi.tuna.tsinghua.edu.cn/simple timeout = 6000 [install] trusted-host =pypi.tuna.tsinghua.edu.cn disable-pip-version-check = true
其他源
1 2 3 4 5 6 https://pypi.douban.com/ https://pypi.hustunique.com/ https://pypi.sdutlinux.org/ https://pypi.mirrors.ustc.edu.cn/ https://mirrors.aliyun.com/pypi/simple/ https://pypi.tuna.tsinghua.edu.cn/simple/
其他软件安装 安装fd 项目地址cha0ran/fd-zh: fd Chinese document
fd
是一个在你文件系统中查找条目的程序。它是一个简单、快速、友好的 find
替代品。
在ubuntu19.04及更新版本安装:
1 2 3 4 5 6 apt install fd-find vim /root/.bashrc source /root/.bashrc fd -h
安装anaconda 多环境切换工具
查找并安装所需版本 在清华大学开源软件镜像站 中查找符合自己版本的anaconda
这里选择https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2024.06-1-Linux-x86_64.sh
这个版本,安装其他版本替换相应链接即可
1 2 3 4 5 6 7 8 wget --user-agent=“Mozilla” + https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2024.06-1-Linux-x86_64.sh bash Anaconda3-2024.06-1-Linux-x86_64.sh vim /etc/profile vim ~/.bashrc source /etc/profilesource ~/.bashrc conda -V rm Anaconda3-2024.06-1-Linux-x86_64.sh
换源 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --set show_channel_urls yes conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/ conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/ conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/ conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/ conda config --set show_channel_urls yes conda config --remove-key channels conda config --show
conda常用命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 conda update -n base -c defaults conda conda create -n <虚拟环境名称> python=<X.X(3.6、3.7等)> source activate <虚拟环境名称> source deactivate <虚拟环境名称> conda remove -n <虚拟环境名称> --all conda list conda install <包名> conda install scrapy==1.3 conda install -n <环境名> <包名> conda env list 或 conda info -e 或 conda update conda conda update anaconda conda update --all conda update python
xrdp安装 微软的远程桌面协议(RDP) 是一个允许从一台计算机到另一台计算机进行图形化远程桌面连接的协议。RDP 的工作原理是让一台主机运行软件,允许其他几台计算机连接到它。
XRDP是 RDP 的一个开源实现,不需要运行任何专有程序。XRDP 不仅试图遵循 RDP,而且还与常规的 RDP 客户端兼容,如Remmina和GNOME Boxes。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 sudo apt install xrdpsudo systemctl set-default multi-user.targetsudo systemctl set-default graphical.targetsudo systemctl enable xrdpsudo systemctl start xrdpsudo systemctl stop xrdpsudo adduser xrdp ssl-certreboot
安装远程连接xrdp的客户端(二选一即可)
1 2 sudo apt install gnome-boxessudo apt install remmina
Nodejs及npm安装 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 sudo apt-get remove --purge npmsudo apt-get remove --purge nodejssudo apt-get remove --purge nodejs-legacysudo apt-get autoremoverm -r /usr/local/bin/npmrm -r /usr/local/lib/node-moudelsfind / -name npm rm -r /tmp/npm*sudo apt-get updatesudo apt-get install nodejssudo apt-get install nodejs-legacysudo apt-get install npmsudo npm config set registry https://registry.npmmirror.comsudo npm config listsudo npm install -g nsudo n stablesudo node -vsudo npm -v
更换python版本 有时,系统自带的python版本不符合我们的需要,那么就需要我们自己再重新安装和配置python版本
以安装python3.10.4为例
安装python3.10 1 2 sudo apt-get install python3.10
从官网下载自行安装 1 2 3 4 5 6 7 8 9 10 11 12 13 sudo apt updatesudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-devcd /homesudo wget https://www.python.org/ftp/python/3.10.4/Python-3.10.4.tgzsudo tar -zvxf Python-3.10.4.tgzcd Python-3.10.4/./configure --enable-optimizations make sudo make install python3.10 --version
更新python默认指向 修改软链接指向 1 2 3 4 5 6 7 8 9 which python sudo rm /usr/bin/pythonwhich python3.10 sudo ln -s /usr/local/bin/python3.10 /usr/bin/python
现在使用python
命令显示的就是python3.10.4了
设置python的环境变量 编辑.bashrc文件
找到
1 2 3 alias ll='ls -alF' alias la='ls -A' alias l='ls -CF'
修改为
1 2 3 4 alias ll='ls -alF' alias la='ls -A' alias l='ls -CF' alias python='/usr/local/bin/python3.10'
其中新添加内容的引号中部分换成自己的python安装路径
最后按下esc
,然后依次输入:wq
回车即可
更新pip默认指向 修改软链接指向 1 2 3 4 5 6 7 which pipsudo rm /usr/local/bin/pipsudo ln -s /usr/local/bin/pip3.10 /usr/local/bin/pip
现在使用pip命令指向的就是python3.10的pip了
PWN环境配置 gdb-multiarch 1 2 sudo apt-get install gdb-multiarchgdb-multiarch -v
主要的攻击武器,本质是一个python库
LibcSearcher 1 2 git clone https://github.com/lieanu/LibcSearcher.git python ./LibcSearcher/setup.py develop
pwndbg 动态调试
如果还未安装gdb,请先安装gdb
随后执行
1 2 git clone https://github.com/pwndbg/pwndbg ./pwndbg/setup.sh
checksec 检查二进制文件的受保护状态
1 2 3 git clone https://github.com/slimm609/checksec.sh.git sudo cp ./checksec.sh/checksec /usr/local/bin/checksec rm checksec.sh
ROPgadget One_gadget 1 2 3 sudo apt install rubysudo apt install gemgem install one_gadget
main_arena_offset 1 git clone https://github.com/bash-c/main_arena_offset
1 2 sudo apt install gcc ruby-devsudo gem install seccomp-tools
可能出现的问题及解决方案 使用apt更新或安装软件时,提示“由于没有公钥,无法验证下列签名” 例如这样的情况
1 2 W: GPG 错误:https://download.docker.com/linux/ubuntu focal InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY 7EA0A9C3F273FCD8 E: 仓库 “https://download.docker.com/linux/ubuntu focal InRelease” 没有数字签名。
执行以下命令即可
1 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7EA0A9C3F273FCD8
注意最后的7EA0A9C3F273FCD8
需要根据你的报错提示中给出的NO_PUBKEY
进行替换
error: externally-management-environment 在ubuntu24.04及更新版本中,尝试使用pip安装python模块可能会出现以下问题:
这是由于 PEP 668 造成的更改。从 Ubuntu 23.04 开始,它建议使用特定于 Python 的包管理工具(例如 pip)使用虚拟环境安装包,以避免与操作系统包管理器安装的包发生冲突。不过,用户仍然可以像以前一样强制 pip 安装到解释器的全局上下文中。
方法一:通过添加 --break-system-packages
标志来绕过 例如安装imagesearch
1 pip install --user imagesearch --break-system-packages
如果不想每次都输入**–break-system-packages**,可以将其写入配置文件。
1 2 mkdir -p ~/.config/pip echo -e "[global]\nbreak-system-packages=true" > ~/.config/pip/pip.conf
方法二:使用 pipx代替pip Pipx 是一种替代命令行工具,用于在隔离环境中安装和运行 Python 应用程序。然而,它仅适用于Python 应用 。
1 2 sudo apt install pipx pipx ensurepath