Ubuntu 安装清单
Ubuntu 上常用的安装与清理命令,留着以备复制粘贴。
~/posts/ubuntu-install-guide $ cat post.md
给低内存机器加 swap
sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon --show
sudo cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
sudo sysctl vm.swappiness=10
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl vm.vfs_cache_pressure=50
echo 'vm.vfs_cache_pressure=50' | sudo tee -a /etc/sysctl.conf
主题
sudo add-apt-repository ppa:noobslab/themes
sudo apt-get update
sudo apt-get install flatabulous-theme
sudo add-apt-repository ppa:noobslab/icons
sudo apt-get update
sudo apt-get install ultra-flat-icons
DigitalOcean agent
curl -sSL https://agent.digitalocean.com/install.sh | sh
G++
sudo apt-get install g++
Steam / NVIDIA 驱动
Ubuntu 14.04+ 安装 NVIDIA 驱动的现代做法:
添加 graphics-drivers PPA:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
安装推荐驱动:
sudo ubuntu-drivers autoinstall
重启:
sudo reboot
如果上面这套不行,或者想选别的驱动:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
清掉已有的 nvidia 相关包:
sudo apt-get purge nvidia\*
查看可用驱动:
ubuntu-drivers devices
安装某个驱动:
sudo apt-get install nvidia-361
重启:
sudo reboot
Chrome
在 Ubuntu 上安装 Chrome:
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list'
sudo apt-get update
sudo apt-get install google-chrome-stable
Ubuntu Tweak
wget -q -O - http://archive.getdeb.net/getdeb-archive.key | sudo apt-key add -
sudo sh -c 'echo "deb http://archive.getdeb.net/ubuntu xenial-getdeb apps" >> /etc/apt/sources.list.d/getdeb.list'
sudo apt-get update
sudo apt-get install ubuntu-tweak
UMake
sudo apt-get install python-software-properties
sudo apt-get install software-properties-common
VS Code(通过 UMake)
sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make
sudo apt-get update
sudo apt-get install ubuntu-make
umake web visual-studio-code
VS Code(通过 apt)
VS Code 在 2017 年 2 月(v1.10)启用了官方 Linux 仓库:
sudo add-apt-repository -y "deb https://packages.microsoft.com/repos/vscode stable main"
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EB3E94ADBE1229CF
sudo apt update
sudo apt -y install code
照常升级:
sudo apt -y upgrade
sudo apt -y dist-upgrade
字体
sudo mkdir -p /usr/share/fonts/consolas
sudo cp YaHei.Consolas.1.12.ttf /usr/share/fonts/consolas/
sudo chmod 644 /usr/share/fonts/consolas/YaHei.Consolas.1.12.ttf
cd /usr/share/fonts/consolas
sudo mkfontscale && sudo mkfontdir && sudo fc-cache -fv
NodeJS
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs
Git
apt-get install git
sudo apt-get install python-software-properties
sudo apt-get install software-properties-common
Python
sudo apt-get install python-pip
清理
1. 删除残余的配置文件
Debian/Ubuntu 删除软件包有两条命令:
sudo apt-get remove <package-name>
sudo apt-get purge <package-name>
remove 只删除软件包但保留配置文件,purge 会把配置一起删掉。
找出哪些包留下了残余的配置文件:
dpkg --list | grep "^rc"
第一栏的 rc 表示软件包已 Removed,但 Config-file 还在。提取这些包名:
dpkg --list | grep "^rc" | cut -d " " -f 3
删除它们:
dpkg --list | grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purge
可能的输出:
(Reading database ... 64538 files and directories currently installed.)
Removing libapt-inst1.4:amd64 (0.8.16~exp12ubuntu10.11) ...
Purging configuration files for libapt-inst1.4:amd64 (0.8.16~exp12ubuntu10.11) ...
Removing libbind9-80 (1:9.8.1.dfsg.P1-4ubuntu0.6) ...
Purging configuration files for libbind9-80 (1:9.8.1.dfsg.P1-4ubuntu0.6) ...
只想删除某个包的配置文件:
sudo dpkg --purge <package-name>
2. 删除不再需要的 deb 安装包
apt-get install 下载的 deb 包默认会留在 /var/cache/apt/archives 下。安装频繁时这部分占用不小。看一下大小:
du -sh /var/cache/apt/archives
清理:
sudo apt-get clean
sudo apt-get autoclean
3. 删除孤儿软件包
apt-get 安装某个包时会自动装上依赖,删掉主包后这些依赖也就用不上了,叫做孤儿包:
sudo apt-get autoremove
apt-get autoremove 只会删除 apt-get 自动装的依赖;手动装的依赖需要 deborphan:
sudo apt-get install deborphan
列出孤儿包:
deborphan
删除:
deborphan | xargs sudo apt-get purge -y
4. 删除过时的软件包
“过时(obsolete)“指的是 /etc/apt/sources.list 里所有源都已不再提供这个包的 deb——可能是上游不再维护、用户太少、或者改名了。这类包不再有安全更新,且升级时可能出问题,建议删除。
找出过时包:
sudo aptitude search ?obsolete
我的输出示例:
i linux-image-3.2.0-29-generic - Linux kernel image for version 3.2.0 on 64
删除它:
sudo apt-get purge linux-image-3.2.0-29-generic
也可以一次清理所有过时包:
sudo aptitude purge ~o
注意:有些包在源里找不到但并非真过时——比如自己下载安装的 ubuntu-tweak。aptitude purge ~o 会把这类也一并删掉。建议手动 apt-get purge 自己挑。
5. 清理日志
日志会越长越大。用 ncdu 看一下:
sudo apt-get install ncdu
sudo ncdu /var/log
清空某个日志:
sudo dd if=/dev/null of=/var/log/shadowsocks.log
6. baobab:硬盘空间分析
baobab 是个图形工具,可以找出哪个目录占了大量空间:
baobab
也可以用 ncdu:
sudo ncdu /home/<username>
服务器推荐 ncdu,桌面推荐 baobab。
7. 删除大体积软件包
先装 debian-goodies:
sudo apt-get install debian-goodies
列出占用最多的包:
dpigs -H
我的输出:
441.0M texlive-latex-extra-doc
230.1M valgrind-dbg
200.6M chromium-browser
171.4M google-chrome-stable
153.4M linux-image-extra-3.19.0-39-generic
153.4M linux-image-extra-3.19.0-37-generic
151.5M maltego
144.8M wine1.7-amd64
140.6M metasploit-framework
137.4M wine1.7-i386
默认显示前 10 个,可以指定 --lines=20 看更多:
dpigs -H --lines=20
8. 用 ubuntu-tweak 清理
从官网下载 deb,然后:
sudo apt-get install gdebi
sudo gdebi ubuntu-tweak*.deb
打开 ubuntu-tweak 后选 Janitor 标签,可以清理应用缓存、缩略图缓存、apt 缓存、旧内核、残余配置和孤儿包。
区域设置
查看当前区域:
locale
设置区域:
sudo locale-gen en_US en_US.UTF-8 en_CA.UTF-8
sudo dpkg-reconfigure locales