Ubuntu装机必备软件和配置
Ubuntu 基本配置
最近重装了 Ubuntu,在这里记录配置过程,方便以后做类似的操作。
既然要重装系统,那么就要考虑哪些是需要备份的。这里做个记录,普通文件不用说了,自己拷贝。这里主要记录一些配置文件
1 | /srv/ 下的一些配置文件 |
其实上述文件可以放在第二个硬盘中,因为重装过程不会影响第二个盘,多次尝试皆为如此。
用户及用户组
创建新用户
1 | sudo adduser $USER |
配置权限
1 | sudo usermod -aG sudo $USER |
设置免密 visudo
1 | rex ALL=(ALL:ALL) NOPASSWD:ALL |
设置服务器名称,比如 aliyun
1 | sudo hostnamectl set-hostname aliyun |
此外需在 /etc/hosts
添加相应行,比如
1 | 127.0.0.1 aliyun |
PATH 环境变量
关联知识
我们在终端输入命令时,通常不需要输入完整路径,比如运行 Python 输入 python
而不是 /usr/bin/python
。通过执行 which
可以查看实际执行文件的路径,比如不同 conda 环境输入 python
运行的程序不同,因此执行 which python
返回的路径也不同。
一些基础命令,比如 pwd, echo, source, which
,用 which
查询会提示你是内置命令(built-in command)。而其他大多数命令,比如 git, vim, nginx
等等,都是省略文件路径的命令。更具体地,执行 git
时,系统会在 PATH
给的路径中依次查找,如果存在该可执行文件则运行。因此,如果要省略绝对路径来执行某个文件,可以将该路径添加到 PATH
中。
一般地,用户启动 bash 时,会经过这几个文件:/etc/environment => /etc/profile => ~/.bashrc
,一些情况(比如用 ssh 连接服务器)还会经过 ~/.bash_pofile
。前两个是系统级别的文件,对所有用户生效,而 .bash_profile/.bashrc
只对用户生效。(zsh 类似,.bashrc
改成 .zshrc
即可)
简单说,我们可以通过修改 PATH
环境变量使可执行文件不需要输入路径就能执行,用户级别的修改可以在 ~/.bashrc
中进行,系统级别的修改可以在 /etc/environment
或 /etc/profile
中进行。
基础软件及配置
添加 ~/.local/bin
到环境变量中:
1 | mkdir -p $HOME/.local $HOME/.local/bin |
命令行安装的基础应用:
1 | # 更新软件包源列表 |
注:用 sudo dpkg -i xxx.deb
也能安装 .deb
文件,区别在 gdebi
会自动处理依赖问题,而前者需要手动处理。
安装 oh-my-zsh,使用脚本一键安装
1 | curl -sSL http://qiniu.wzhecnu.cn/scripts/oh-my-zsh-p10k.sh | bash |
如果有访问校园网的需求,可以装个 openconnect
1 | sudo apt install openconnect -y |
注:一般不建议在公网服务器上连接校园网,因为走 VPN 的网络较慢。如果要传输文件,可以反过来,从校园网连公网进行传输。
配置 ssh
通常,公网服务器自带 openssh,但如果是台式机一类的设备,需要手动安装后才能用 ssh 远程连接
1 | sudo apt install openssh-server -y |
网络测速
安装监控工具
1 | # 网络监控 |
sudo nethogs
查看当前网络流量, sudo nethogs -d 5
每 5 秒刷新一次:
1 | PID USER PROGRAM DEV SENT RECEIVED |
speedtest-cli
测试网络带宽:
1 | ❯ speedtest-cli |
iperf3
测试两个节点之间的网络传递速度
1 | # 服务器 1 |
桌面端软件
安装 vscode
1 | curl -o code.deb -L http://go.microsoft.com/fwlink/?LinkID=760868 |
安装 Chrome 浏览器
1 | wget -c https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb |
安装 typora
1 | # or run: |
安装截图工具 deepin-screenshot 与 QQ 截图非常类似的工具。
1 | sudo apt-get install deepin-screenshot -y |
文本复制工具:
1 | sudo apt install xclip -y |
然后编辑 .bash_aliases
1 | alias copy="xclip -selection clipboard" |
OBS 录屏软件
OBS 是开源的录屏软件和直播软件,功能强大,安装教程参考官网:
-
安装依赖
ffmpeg
1
sudo apt install ffmpeg -y
-
可选内容,如果需要录屏 + 录像功能
1
sudo apt install v4l2loopback-dkms -y
按提示设置重启密码
-
依次输入以下命令,安装
obs
软件1
2
3sudo add-apt-repository ppa:obsproject/obs-studio
sudo apt update
sudo apt install obs-studio -y -
可能存在的问题,文件下载失败(可能和网络有关)
可行方案为手动安装libfite
,将下载地址的域名cn.archive.
改为archive.
1
2wget -c http://archive.ubuntu.com/ubuntu/pool/universe/f/flite/libflite1_2.1-release-3_amd64.deb
sudo gdebi libflite1_2.1-release-3_amd64.deb
GIF 动图录制
参考链接: Ubuntu 录制 gif 动态图
-
下载工具 byzanz
1
sudo apt-get install byzanz
-
命令行输入
byzanz-record --help
查看帮助选项 -
常用选项:
-d
设置录制时间--delay=<秒数>
设置录制开始延时-x, -y
设置录制矩形区域左上位置的 x 坐标, y 坐标,默认为0, 0
-w, -h
设置录制矩形的宽度,高度
-
示例
1
byzanz-record -x 0 -y 0 -w 10 -h 20 -d 5 --delay=2 ~/test.gif
参数说明:
- 录制区域左上角起
- 区域为宽 10 高 20 的矩形
- 动画时间设置 5 秒,延迟 2 秒录制
- 文件保存在
~/test.gif
-
录制区域的确定
GIF 压缩工具
-
用 byzanz 录制的 gif 文件可能比较大,可配合 gifsicle 压缩文件,GitHub 下载地址。
1
wget -c https://github.com/kornelski/giflossy/archive/refs/tags/1.91.tar.gz
注:直接用
apt-install gifsicle
下载的版本还不支持loosy
参数,因而建议源码安装 -
下载后解压文件,依次执行下边命令
1
2
3
4tar -zxvf giflossy-1.91.tar.gz # 解压文件
bash bootstrap.sh # 生成 configure 文件
./configure # 生成 make install 文件
sudo make install # 源码安装-可能需要权限 -
gifsicle 的使用语法如下,其中
--lossy
参数值越高,文件压缩后越小1
gifsicle -O3 --lossy=80 -o lossy-compressed.gif input.gif
当然,也有些在线的压缩网站,比如 docsmall 或者 压缩图。
设置桌面应用图标
在Ubuntu20.04及以上,使用.desktop文件创建桌面快捷应用。
1 | vim myapp.desktop |
将该文件移动到应用程序目录,该目录用于存储用户的自定义程序快捷方式
1 | mv myapp.desktop ~/.local/share/applications/ |
现在可以去应用程序菜单或者Dash中找到你创建的桌面应用快捷,点击以运行。
搜狗输入法
1 | # 安装fcitx输入法框架 |
设置 fcitx 为系统输入法,安装完成以后,打开左下角“Show Applications” *—>* 在搜索框输入“Language Support” *—>* 双击 Language Support 应用图标。
在 Language Support 界面,将“Keyboard input method system:”设置为“fcitx” *—>* 点击“Apply System-Wide” *—>* 点击“Close”。
1 | # 设置 fcitx 开机自启动 |
进入搜狗官网,选择“Linux 个人版” *—>* 选择“x86_64”下载。
1 | sudo dpkg -i sogoupinyin_4.0.1.2800_x86_64.deb |
以上依赖安装完成后,重启系统。
鼠标左击桌面右上角输入法图标 *—>* 点击“Configure”
(3) 在“Input Method Configuration”界面 *—>* 点击左下角“*+*” *—>* 取消“Only Show Current Language” *—>* 搜索框输入“sogou” *—>* 选中“sogoupinyin” *—>* 点击“OK”
(4) 选中添加的“sogoupinyin” *—>* 点击“*^*”;
(5) 关闭配置界面,打开火狐浏览器,测试输入法OK;
安装openssh-server
1 | sudo apt-get install openssh-server # 安装 |
安装NVIDIA驱动
1 | ubuntu-drivers devices |
安装Conda环境
安装 miniconda,比 Anaconda 更轻量级,只包含了 Python 和 Conda 并没有预装其他库。
1 | wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py39_4.9.2-Linux-x86_64.sh |
根据提示进行,如果全局安装,路径可以改修改,比如 /opt/miniconda3
输入项建议选 yes
为 Conda 和 Pip 修改镜像源
1 | # Conda 换源 |
pip 可以通过 -i
指定镜像源,在 .zshrc
中添加别名
1 | alias tspip="pip install -i https://pypi.tuna.tsinghua.edu.cn/simple" |
conda环境导出yaml配置文件:
1 | conda activate your_env_name |
安装 askchat
用 pip
安装并创建路径 https://github.com/RexWzh/askchat
1 | pip install askchat --upgrade |
设置环境变量
1 | export OPENAI_API_KEY= |
安装 Jupyter
推荐使用 Jupyterlab
,通过 pip 或 conda 安装
1 | conda install jupyter |
设置访问密钥并初始化配置文件
1 | jupyter-lab password # 改密码需要在tmux中重新启动服务才能生效 |
修改配置文件 ~/.jupyter/jupyter_lab_config.py
1 | # 设置允许访问的 IP 地址 |
如果要将 conda 某个环境下的 Python 添加到 Jupyter,先切换到该环境并执行
1 | conda activate <该环境> |
Docker-compose & nvm
安装 docker 及新版 docker-compose
1 | sudo apt install docker.io -y |
创建 Docker 用户组,并将用户添加到其中,以免 sudo 运行 docker
1 | # 创建用户组 |
创建 docker
目录用于存放镜像,并修改访问权限,比如
1 | sudo mkdir -p /srv/docker |
docker是一个小型的环境,是有ip和网络的,这个网络容易和服务器的ip冲突,导致无法上网,下面设置docker的网段在一个不常用的范围:
1 | cd /etc/docker |
添加如下内容
1 | { |
然后重启docker服务,sudo systemctl restart docker
docker网络常用指令
1 | docker network ls |
安装 nvm
1 | curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash |
通过 nvm 安装 nodejs,先 source ~/.bashrc
,然后安装
1 | nvm install 18 |
配置Bash_alias & git
.bash_alias
可以单独写在文件中,然后用 source
引入,比如
1 | source $HOME/.bash_aliases |
git 配置
1 | # 保存 git 连接信息 |
安装 Julia
在官网下载最新版 Julia,当前版本为 1.9.4
1 | wget -c https://julialang-s3.julialang.org/bin/linux/x64/1.9/julia-1.9.4-linux-x86_64.tar.gz |
添加环境变量
1 | export PATH=$HOME/software/julia19/bin:$PATH |
安装 IJulia,用于 Jupyter 系列
1 | using Pkg |
如果存在多个 Julia 环境,需要执行 build 选项,将其他 Julia 版本的 kernel 添加到 Jupyter 中。
安装微信
wine比deepin好用,目前测试ubuntu18和22是好用的,ubuntu20不可用。从软件目录看,deepin 的原理好像是将 windows 的软件放在容器中,里边有不少 exe
文件。
1 | wget -c http://172.23.132.104:9080/ukylin-wine_70.6.3.25_amd64.deb |
安装 Vpn
可以去github下载,然后Profiles粘贴订阅链接,IMPORT即可
以上配置好以后,需要重启电脑才可以生效,不要傻傻等待。
vpn rules修改:找到配置文件,通常在~/.config/clash/config.yaml
,打开编辑,想将 example.com
添加到白名单中,您可以添加以下规则:
1 | Rule: |
重启clash使生效。
视频播放
1 | sudo apt install vlc |
安装Times New Roman字体
在基于 Ubuntu 的系统中,你可以使用以下命令安装字体:
1 | sudo apt update |
安装完成后,更新字体缓存:
1 | fc-cache -fv |
检查字体是否安装成功:
1 | fc-list | grep "Times New Roman" |
如果安装成功,你应该会看到类似于以下的输出:
1 | /usr/share/fonts/truetype/msttcorefonts/Times_New_Roman.ttf: Times New Roman,Times |
spotlight
1 | sudo add-apt-repository ppa:agornostal/ulauncher && sudo apt update && sudo apt install ulauncher |
输入ctrl+space
调出窗口,点击右边的设置,再点击顶部的EXTENSIONS,点击左侧的Add extension,
复制https://github.com/brpaz/ulauncher-file-search
到输入框,点击add,失败也没关系,重启ulauncher。再次点击设置,EXTENSTIONS–> File Search–> 滑到最底端的Base dir, 将/
改成你需要搜索的目录,否则会在整个操作系统中搜索,拖慢搜索速度。好了,现在可以愉快的享用ulauncher了。
小结
好了,先整理这么多,后续再换服务器,遇到什么好用的继续更新,欢迎关注。