每次登录一台新的机器,总是需要配置一次。肥肠的麻烦,因此本文想出了一种方法,可以火速配置好,你的Linux系统。

我在Gitee上新建了一个仓库。

在仓库中包含了,我全部的Linux配置文件。

配置Linux

因此,每次有新机器时,我只需要把配置文件克隆下来即可。然后bash run.sh即可。

为什么运行一下就可以配置好了呢?这就需要看一下run.sh的内容了。内容如下所示:

#!/bin/bash

# 查看系统默认的shell,如果不是bash,就修改为bash
if [ $SHELL != "/bin/bash" ]
then
    echo "Switch to bash, so please enter the password"
    chsh -s /bin/bash
fi

# 把自己的bash配置文件添加到.bashrc中去
echo "source ~/.ly_config/bash/bashrc.sh" >> ~/.bashrc
# 把自己的.vimrc配置,链接到本机中去
ln -s ~/.ly_config/.vimrc ~/.vimrc

echo "Bash Config Success"

其中最关键的内容就是一行echo语句,这个语句把source ~/.ly_config/bash/bashrc.sh追加到了我的.bashrc中。因此以后启动时,我的bash的配置就加载成功了。

一键安装软件

我在Linux常用的软件有conda、ranger、tmux,每次有新机器装起来非常麻烦,于是有了下面的脚本,帮我一键安装好需要的软件。核心代码为install/miniconda3.sh,然后运行即可,帮我安装好。代码如下所示:

# 下载miniconda3软件
wget <https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh>
# 把miniconda3安装在$CONDA_HOME目录下,这个变量需要在special_machines.sh配置
# 默认安装在~/opt/miniconda3目录下
bash Miniconda3-latest-Linux-x86_64.sh -b -p $CONDA_HOME
# 配置CONDA
conda init bash
source ~/.bashrc
conda config --add channels <https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/>
conda config --add channels <https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/>
conda config --add channels conda-forge

# 创建py38环境
yes | conda create -n py38 python=3.8
conda activate py38
yes | conda install tmux
yes | pip install ranger-fm

echo "Miniconda3 Install Successfully"

这些代码可以帮助我,一键安装好conda、ranger、tmux三个软件。

遇到的问题

问题:shell脚本里刷新环境变量失效了?

答:因为每次执行脚本时,bash启动的时候用了一个子进程,每次都是刷新了子进程的环境变量。

问题:python安装东西时,总是需要输入y来确定安装,无法全部自动化?

答:在命令前加上yes指令,比如yes | pip install ranger-fm,这样就可以不用自己手动输入y了,因为yes指令会帮助用户,自动输入y。