reinstall
tutorials
linux
ubuntu
nvidia driver
和設定 Desktop use intergrated graph card
後會需要重啟電腦,或許可以等所有套件都裝完後再一起重啟$ 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
) 所以是- 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 XXXX
的XXXX
部分要改為自己要設定的 portsshd: YYY.YYY.YYY.YYY/ZZZ.ZZZ.ZZZ.ZZZ :allow
的YYY.YYY.YYY.YYY
、ZZZ.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
XXX
改為要設定的 ipnvidia-smi
docker
$ sudo reboot
$ sudo systemctl restart docker
$ sudo apt-mark hold $(uname -r)
$ 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
-v: verbose 模式,輸出比較詳細的訊息。
May 8, 2025介紹 screen 就是可以開啟一個在內部背景執行的新 shell 的指令,即使關閉 screen 外部 shell (main shell),screen 所開啟的內部 shell 只要是 detach 狀態,就仍會繼續在背景執行,也就是即使今天在電腦 A 連線 server,並以 screen 開啟一個 screen shell,只要電腦 A 連線 server detach 該 screen 後,到電腦 B 也可以連線至 server attach 該 screen shell 另一個好處就是,如果今天 docker container 是 execute 在 screen shell 內,如果進入不能 detach container(像是 machine learning 的 training),甚至是遇到 windows 的「善意」(自動更新並重新啟動電腦) 的時候,可以 detach screen shell,並在別的 shell re-attach 而當你要處理多種類多任務時,也建議依種類開啟多 screen 之後再各種類的 screen 內部再多開多任務的 shell 舉例來說,如果今天有需要安裝套件、建立 docker、執行影像辨識還有物件偵測的多種類任務,而其中要建立 2 個 docker image(多任務)和有 3 種關於影像辨識的測試就會像以下圖示 digraph screen {
May 25, 2022Flow Re-install flow OS setting Network setting Upgrade OS ~/.bashrc
Jun 6, 2021Run container $ docker run -it -p 5566:6006 -p 7788:8888 -d docker_image -p 5566:6006: 將 container 內部的 6006 port 連到外部系統的 5566 port :::info tensorboard 預設 port 為 6006 ::: -p 7788:8888: 將 container 內部的 8888 port 連到外部系統的 7788 port :::info jupter 預設 port 為 8888
May 21, 2021or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up