Ubuntu 22.04 配置

前言

这里记录一下配置Ubuntu22.04的过程,主要实现了:

  • ssh 远程免密访问
  • 配置 git & github
  • 内网穿透远程 ssh 访问
  • v2ray、v2raya(虽然最后采用了其它的网络加速方案,但也是可行的)
  • zsh 美化
  • 远程桌面访问(目前只能在同一局域网下,内网穿透失效)
  • 换软件源
  • 开机启动脚本
  • hexo & npm

ssh 远程免密访问

因为这台电脑的角色是一台服务器,但是我安装的是桌面版,主要考虑到的可能会偶尔用到桌面,比如做仿真实验的时候,虽然 99% 的时间都不到桌面。ssh 远程访问就很重要。
在 server 上 安装 openssh-server:

1
sudo apt-get install openssh-server

之后就可以登录了,详见:buntu开启SSH服务远程登录

首先在 local 机器上生成密钥对:

1
2
ssh-keygen -t rsa -C "xxx@xxx.com"
//执行后一直回车即可

然后将秘钥传送到 server:

1
ssh-copy-id -i ~/.ssh/id_rsa.pub username@ip地址

详见:SSH 三步解决免密登录

配置 git、github

初始化:

1
2
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com

在 server 上生成密钥对:

1
2
ssh-keygen -t rsa -C "xxx@xxx.com"
//执行后一直回车即可

将 publickey 复制粘贴到 github ssh keys,具体参考:Github配置ssh key的步骤

内网穿透远程 ssh 访问

这个需要注册一下,还需要实名认证(很简单,几分钟就搞定了)。

详见:内网穿透实现ssh远程连接Ubuntu(Sakura frp实现方法)

这里需要注意的是,我们最后需要执行的是:

1
nohup frpc -f <复制的密钥> &

这个命令的意思是放在后台的进程忽略 HUP信号,可以在 shell 进程结束时,它也不会终止。这个进程应该开机自动运行,可以尝试把它放到某个开机自动执行的脚本中。

v2ray、v2raya

添加公钥,验证软件安全性:

1
wget -qO - https://apt.v2raya.org/key/public-key.asc | sudo tee /etc/apt/keyrings/v2raya.asc

添加软件源、更新 list:

1
2
3
echo "deb [signed-by=/etc/apt/keyrings/v2raya.asc] https://apt.v2raya.org/ v2raya main" | sudo tee /etc/apt/sources.list.d/v2raya.list
sudo apt update

安装核心和基于核心的软件:

1
sudo apt install v2raya v2ray

然后配置就行了。

详见:用户文档

也可以使用同一个局域网下的代理模式,这样加速更好一些。

zsh 美化

简单至极:直接看Zsh 安装与配置,使用 Oh-My-Zsh 美化终端

这里需要阅读上面的 proxy() 那里,对于 git、curl、wget 等服务的加速效果非常好。

换软件源

换 alibaba 的源,其它的源现在很慢。直接在图形化界面进行操作。

远程桌面访问

这个没啥意思,挺无聊的,没啥用。

开机启动脚本

由于内网穿透等工具需要在开机的自动执行,因此需要将我们的某些操作加在开机自动启动的脚本中。

这里以 fprc 服务为例,来创建 systemd 控制的程序。

对于包括 nohup& 的命令,可以稍微调整 systemd 服务文件的写法,因为 systemd 默认就是在后台运行服务,并且会处理程序的守护化,使之不受终端关闭的影响。因此,通常不需要使用 nohup&

如果你的命令是 nohup frpc XXXX &,在 systemd 服务文件中,你只需要直接指定 ExecStart 即可,如下所示:

修改后的 systemd 服务文件

  1. 打开或创建服务文件

    1
    sudo vim /etc/systemd/system/frpc.service
  2. 服务文件内容

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    [Unit]
    Description=Frpc Client Service
    After=network.target

    [Service]
    Type=simple
    ExecStart=/usr/local/bin/frpc XXXX
    Restart=always
    RestartSec=5

    [Install]
    WantedBy=multi-user.target
    • 这里 Type=simple 默认适用,systemd 认为该服务在启动后将持续运行。
    • Restart=alwaysRestartSec=5 选项意味着如果服务失败,systemd 将在 5 秒后尝试重启服务。
  3. 启用并启动服务

    1
    2
    sudo systemctl enable frpc.service
    sudo systemctl start frpc.service
  4. 检查服务状态

    1
    sudo systemctl status frpc.service

通过这种方式,systemd 将负责启动和守护 frpc 进程,不需要 nohup&。这也使得服务管理(如启动、停止、重启和查看状态)更为一致和标准化。

直接 reboot,就可以了。

npm

npm 由于某些问题下载很慢,这里可以这样做(一般安装软件都需要 sudo 权限,因为要写入系统目录):

下载 cnpm:

1
2
sudo npm install -g cnpm --registry=https://registry.npmmirror.com

1
sudo cnpm install [name]

然后利用 cnpm 来安装 hexo:

1
sudo cnpm install -g hexo-cli

Ubuntu 22.04 配置
http://blog.luliang.online/2024/09/10/Ubuntu22.04设置/
作者
Luyoung
发布于
2024年9月10日
许可协议