「Ubuntu」:修訂間差異

出自Gea-Suan Lin's Wiki
跳至導覽 跳至搜尋
本頁面具有訪問限制。如果您看見此訊息,這代表您沒有訪問本頁面的權限。
→‎apt
行 28: 行 28:


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
sudo apt install -y apache2-utils apt-transport-https bash-completion bpfcc-tools build-essential curl dnsutils dstat git jq locales moreutils most mtr-tiny net-tools p7zip-full pigz prometheus-node-exporter rsync sharutils software-properties-common sysstat unrar unzip vim-nox wget zsh zsh-syntax-highlighting zstd; sudo apt clean
sudo apt install -y apache2-utils apt-transport-https bash-completion bpfcc-tools build-essential curl dnsutils dstat git jq locales moreutils most mtr-tiny net-tools netcat p7zip-full pigz prometheus-node-exporter rsync sharutils software-properties-common sysstat telnet unrar unzip vim-nox wget zsh zsh-syntax-highlighting zstd; sudo apt clean
</syntaxhighlight>
</syntaxhighlight>



於 2023年3月7日 (二) 18:36 的修訂

Ubuntu是一種Linux作業系統。

移除

目前社群的建議都是先移除掉Snap:

sudo apt purge -y snapd

並且關閉廣告訊息:

sudo pro config set apt_news=false

安裝

apt

先更新系統的套件庫以及系統:

sudo apt update; sudo apt upgrade -y

這邊列出常用的套件:

sudo apt install -y apache2-utils apt-transport-https bash-completion bpfcc-tools build-essential curl dnsutils dstat git jq locales moreutils most mtr-tiny net-tools netcat p7zip-full pigz prometheus-node-exporter rsync sharutils software-properties-common sysstat telnet unrar unzip vim-nox wget zsh zsh-syntax-highlighting zstd; sudo apt clean

跳板機會多裝這些:

sudo apt install -y keychain mosh; sudo apt clean

開發機可以裝這些:

sudo apt install -y build-essential cmake cvs debhelper default-jdk devscripts golang nasm python3-minimal subversion; sudo apt clean

設定

有些機器沒有對應的locale,可以讓系統產生:

sudo locale-gen en_US.UTF-8 zh_TW.UTF-8

在VPS或是雲端上的機器通常會利用swapfile增加一些記憶體使用空間:

sudo fallocate -l 512M /swapfile; sudo chmod 600 /swapfile; sudo mkswap /swapfile; sudo swapon /swapfile; echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

但還是要避免使用到Swap:

echo "vm.swappiness=1" | sudo tee /etc/sysctl.d/99-vm.conf; sudo sysctl -p /etc/sysctl.d/99-vm.conf

然後設定TCP BBR,需要Linux Kernel 4.9+(如果是Ubuntu 16.04,預設是4.4,會需要安裝linux-image-generic-hwe-16.04):

echo -e "net.core.default_qdisc=fq\nnet.ipv4.tcp_congestion_control=bbr" | sudo tee /etc/sysctl.d/99-tcp.conf; sudo sysctl -p /etc/sysctl.d/99-tcp.conf

如果無法使用TCP BBR,可以改用Westwood:

echo -e "net.ipv4.tcp_congestion_control=westwood" | sudo tee /etc/sysctl.d/99-tcp.conf; sudo sysctl -p /etc/sysctl.d/99-tcp.conf

使用者

這邊是增加我自己的帳號(以及Sudo權限),然後設定密碼:

echo "gslin ALL = (ALL:ALL) NOPASSWD: ALL" | tee /etc/sudoers.d/gslin; sudo useradd -g staff -G adm,sudo -m -s /bin/zsh gslin; sudo passwd gslin

總結

一般性的快速安裝:

sudo fallocate -l 512M /swapfile; sudo chmod 600 /swapfile; sudo mkswap /swapfile; sudo swapon /swapfile; echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab; echo "vm.swappiness=1" | sudo tee /etc/sysctl.d/99-vm.conf; sudo sysctl -p /etc/sysctl.d/99-vm.conf; echo -e "net.core.default_qdisc=fq\nnet.ipv4.tcp_congestion_control=bbr" | sudo tee /etc/sysctl.d/99-tcp.conf; sudo sysctl -p /etc/sysctl.d/99-tcp.conf; sudo pro config apt_news=false; sudo apt update; sudo apt purge -y snapd; sudo apt dist-upgrade -y; sudo apt install -y apache2-utils apt-transport-https bash-completion bpfcc-tools build-essential curl dnsutils dstat git jq locales moreutils most mtr-tiny net-tools p7zip-full pigz prometheus-node-exporter rsync sharutils software-properties-common sysstat unrar unzip vim-nox wget zsh zsh-syntax-highlighting zstd; sudo apt clean; sudo locale-gen en_US.UTF-8 zh_TW.UTF-8

外部連結