Ubuntu

来自Gea-Suan Lin's Wiki
跳到导航 跳到搜索

Ubuntu是一种Linux操作系统。

移除

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

sudo apt purge -y snapd; sudo apt autoremove --purge -y; sudo apt clean

并且移除掉ubuntu-advantage-tools(Ubuntu Pro的广告):

sudo apt purge -y ubuntu-advantage-tools; sudo apt autoremove --purge -y; sudo apt clean

安装

apt

先更新系统的套件库以及系统:

sudo apt update; sudo apt upgrade -y

这边列出常用的套件:

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

另外建议每台机器都把除错用的套件装起来,遇到状况时可以马上处理[1]

sudo apt install -y bpfcc-tools bpftrace cpuid ethtool gdb iproute2 linux-tools-common msr-tools nicstat numactl procps sysstat tcpdump tiptop trace-cmd util-linux; sudo apt clean

跳板机会多装这些:

sudo apt install -y byobu keychain mosh zsh zsh-syntax-highlighting; sudo apt clean

开发机可以装这些,要注意这边装的是系统的版本,可能会偏旧:

sudo apt install -y build-essential bison byobu cmake cvs debhelper default-jdk devscripts git-flow golang mercurial 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" | sudo tee /etc/sudoers.d/gslin; sudo useradd -g staff -G adm,sudo -m -s /bin/bash 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 apt purge -y snapd ubuntu-advantage-tools; sudo apt update; sudo apt dist-upgrade -y; sudo apt install -y apache2-utils apt-transport-https aptitude bash-completion bpfcc-tools bpfcc-tools bpftrace build-essential cpuid curl dnsutils dstat ethtool gdb git iproute2 jc jq linux-tools-common locales moreutils most msr-tools mtr-tiny net-tools netcat nicstat numactl p7zip-full pigz procps prometheus-node-exporter rsync sharutils software-properties-common sysstat sysstat tcpdump telnet tiptop trace-cmd ubuntu-minimal unrar unzip util-linux vim-nox wget zstd; sudo apt autoremove --purge -y; sudo apt clean; sudo locale-gen en_US.UTF-8 zh_TW.UTF-8

服务器的部分可以停掉自动更新:

sudo apt purge -y unattended-upgrades; sudo systemctl disable apt-daily.timer; sudo systemctl disable --now packagekit.service

参考文献

  1. Brendan Gregg 推荐平常在 Linux 上先装好的工具. 2024-03-25 [2024-03-25] (中文(台湾)). 

外部链接