tags: reinstall tutorials linux ubuntu

Re-install flow







reinstall_recommend_flow



Network


Network setting





OS


Upgrade OS
(if necessary)





Network->OS





SSH


SSH





OS->SSH





disk


mount disks





sf_link


soft link





disk->sf_link


if necessary



nv


nvidia driver
(need to reboot)





igd


Desktop use intergrated graph card
(need to reboot)





nv->igd


if necessary



docker


docker





nv->docker





docker_compose


docker-compose





docker->docker_compose





SSH->disk





SSH->nv





packages


packages





SSH->packages





samba


samba





SSH->samba





bashrc


~/.bashrc





SSH->bashrc





not_update


Disable update packages and kernel





SSH->not_update





  • 其中安裝完 nvidia driver 和設定 Desktop use intergrated graph card 後會需要重啟電腦,或許可以等所有套件都裝完後再一起重啟
  • 要看更多相關資訊請點上面流程圖中的 block 來看更多相關資訊
super lazy mode
  • 設定網路
$ y=($(ls /etc/netplan/*.yaml)) && n=$(ls /sys/class/net | grep '^eth'); n=${n:-$(ls /sys/class/net | grep 'en')}; sudo sh -c "echo \" ethernets:\n ${n}:\n addresses: [XXX.XXX.XX.YYY/24]\n gateway4: XXX.XXX.XX.ZZZ\n nameservers:\n addresses: [8.8.8.8]\" >> ${y[0]}" && sudo netplan apply
  • addresses: XXX.XXX.XX.YYY 要自行修改為指定 ip
  • addresses 中的 24 是因為 netmask(這裡是設定為 255.255.255.0) 所以是
    8×3+0=24
  • getway4: XXX.XXX.XX.ZZZ 要自行設為指定的 gateway(或是稱為 route)
  • 可以直接在這行末加上 && 後並接續下行
  • 安裝 SSH
$ sudo apt-get update && sudo apt-get -y install ssh && sudo sed -i 's/^#Port 22/Port XXXX/' /etc/ssh/sshd_config && sudo sh -c "echo \"sshd: YYY.YYY.YYY.YYY/ZZZ.ZZZ.ZZZ.ZZZ :allow\" >> /etc/hosts.allow" && sudo sh -c "echo \"sshd:ALL :Deny\" >> /etc/hosts.deny" && sudo /etc/init.d/ssh restart
  • Port XXXXXXXX 部分要改為自己要設定的 port
  • sshd: YYY.YYY.YYY.YYY/ZZZ.ZZZ.ZZZ.ZZZ :allowYYY.YYY.YYY.YYYZZZ.ZZZ.ZZZ.ZZZ 要改為自己設定允許連進的網域,並透過接下來寫的 /etc/hosts.deny 來封鎖其他所有網域連線
  • 安裝完後可以使用 SSH 遠端完成剩餘安裝作業
  • 也可以直接在這行末加上 && 後並接續下行
$ sudo apt-get update && sudo apt-get -y install cmake wget curl git vim software-properties-common samba lm-sensors && cp ~/.bashrc ~/.bashrc_bk && sed -i '0,/PS1.*/ s/PS1.*/'"\PS1=\'\$\{debian_chroot:\+\(\$debian_chroot\)\}\\\[\\\033\[01;36m\\\]\\\u\\\[\\\033\[00;33m\\\]@\\\[\\\033\[01;31m\\\]\\\h\\\[\\\033\[00m\\\]:\\\[\\\033\[01;34m\\\]\\\w\\\[\\\033\[00m\\\]$ \'"'/' ~/.bashrc && sed -i 's/^#force_color_prompt=yes/force_color_prompt=yes/' ~/.bashrc && echo -e "alias nv='nvidia-smi'\nalias wnv='watch -n 1 nvidia-smi'\nalias wwnv='watch -n 0.1 nvidia-smi'\nwuu='watch -n 1 \"sensors && nvidia-smi\"'\nalias wwuu='watch -n 0.1 \"sensors && nvidia-smi\"'" >> ~/.bash_aliases && source ~/.bashrc && sudo add-apt-repository -y ppa:graphics-drivers/ppa && sudo apt update && sudo ubuntu-drivers autoinstall ; sudo apt-get -y remove docker docker-engine docker.io ; sudo apt-get -y update && sudo apt-get install -y apt-transport-https ca-certificates && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" && sudo apt-get -y update && docker_version=$(apt-cache madison docker-ce | grep -m1 "ubuntu") && docker_version=${docker_version#*|} && docker_version=${docker_version%|*} && docker_version=${docker_version//+([[:space:]])/} && sudo apt-get -y install docker-ce=$docker_version && curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - && distribution=$(. /etc/os-release;echo $ID$VERSION_ID) && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list && sudo apt-get -y update && sudo apt-get -y install nvidia-container-toolkit && sudo groupadd docker ; sudo usermod -aG docker $USER ; v=$(curl -s https://github.com/docker/compose/releases/latest) && v=${v#*href} && v=${v#*\"} && v=${v%\"*} && v=${v##*/} && sudo curl -L "https://github.com/docker/compose/releases/download/${v}/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && sudo chmod +x /usr/local/bin/docker-compose && sudo ln -sf /usr/local/bin/docker-compose /usr/bin/docker-compose
  • 此指令沒有對 ubuntu 版本做更動
  • 此指令安裝的是自動安裝版本的 nvidia-smi
  • 此指令安裝的是最新版 Docker
  • 要看更多相關資訊請點上面流程圖中的 block 來看更多相關資訊
  • 等所有東西都設定安裝完畢後再重啟電腦和 docker
$ sudo reboot $ sudo systemctl restart docker
  • 等所有東西都設定安裝完畢後或許要禁止 ubuntu 自動更新 kernel
$ sudo apt-mark hold $(uname -r)
  • 等所有東西都設定安裝完畢後或許要禁止 ubuntu 自動更新套件
$ sudo systemctl disable --now apt-daily{,-upgrade}.{timer,service} && sudo sed -i 's/APT::Periodic::Update-Package-Lists "1"/APT::Periodic::Update-Package-Lists "0"/' /etc/apt/apt.conf.d/20auto-upgrades