下載準(zhǔn)備
UltraISO下載,Ubuntu Server iso下載
啟動(dòng)盤制作
啟動(dòng)UltraISO,打開Ubuntu iso文件,寫入硬盤映像

其他選項(xiàng)默認(rèn),便捷啟動(dòng)里選擇Syslinux引導(dǎo),點(diǎn)擊寫入,等待完成后再把Ubuntu iso原文件復(fù)制到U盤根目錄下,后面會(huì)用到。

系統(tǒng)安裝
插入U(xiǎn)盤,設(shè)置BIOS從U盤啟動(dòng),按提示一步步進(jìn)行,不需要檢測鍵盤和布局。
到Load Installer Components From CD這一步可能會(huì)失敗,解決方法如下:
- 按Alt+F2進(jìn)入命令行
- 通過
df -h,辨認(rèn)U盤識(shí)別符,如下假設(shè)為 /dev/sdd4
1521387956555.png
-
重新掛載U盤
umount /dev/sdd4 mount /dev/sdd4 /mnt -
掛載Ubuntu iso原文件到 /cdrom
mount -o loop /mnt/ubuntu-16.04.4-server-amd64.iso /cdrom 查看 /cdrom下是否有iso文件,確認(rèn)掛載成功。
按Alt+F1返回安裝界面,繼續(xù)安裝
分區(qū)建議單獨(dú)把/home放一個(gè)分區(qū)
手動(dòng)分區(qū)使用整塊系統(tǒng)盤
選擇系統(tǒng)盤,刪除分區(qū)

選擇磁盤空閑空間, Enter創(chuàng)建新分區(qū)

輸入分區(qū)大小,單位是MB、GB等,按/boot、/swap、/、/home,前三個(gè)都是主分區(qū),/home是邏輯分區(qū),大小依次為200MB、1-4G、10-20G、剩下的都給/home,默認(rèn)都是ext4文件系統(tǒng),除了swap要指定用于swap空間。

若沒有如上分區(qū),補(bǔ)救措施,/home遷移到新分區(qū)
sudo rsync -aXS --exclude='/*/.gvfs' /home/. /nhome/.
之后在主機(jī)上登錄root刪除/home下的東西,修改/etc/fstab掛載新分區(qū)到/home。用blkid查看UUID號(hào),用UUID號(hào)進(jìn)行掛載。
最后一步選擇開啟的服務(wù),選中openssh server,再按空格確認(rèn),下一步安裝完成,否則要再手動(dòng)安裝ssh服務(wù)。
本地iso源制作
復(fù)制原始iso文件到 /opt下,再掛載到/media/cdrom, apt-cdrom添加源
sudo mount /opt/ubuntu-16.04.4-server-amd64.iso /media/cdrom
sudo apt-cdrom -m -d=/media/cdrom add
sudo aptupdate更新源
sudo apt install openssh-server安裝ssh服務(wù),便于遠(yuǎn)程控制。
source.list換源
# deb cdrom:[Ubuntu-Server 16.04.4 LTS _Xenial Xerus_ - Release amd64 (20180228)]/ xenial main restricted
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted
deb https://mirrors.tuna.tsinghua.edu.cn/CRAN//bin/linux/ubuntu/ xenial/
apt設(shè)置配置文件/etc/apt/apt.conf
# 不安裝自動(dòng)推薦和建議的軟件包
APT::Install-Recommends "false";
APT::Install-Suggests "false";
創(chuàng)建/etc/apt/apt.conf.d/01lean配置文件,執(zhí)行sudo apt autoremove --purge 清除這些多余的包。
# 自動(dòng)刪除重要推薦
APT::AutoRemove::RecommendsImportant "false";
# 自動(dòng)刪除重要建議
APT::AutoRemove::SuggestsImportant "false";
# 取消安裝推薦
APT::Install-Recommends "false";
apt軟件下載
sudo apt install -d --reinstall xxx # 只下載某軟件
sudo mv xxx /var/cache/apt/archives/ # 將軟件移到apt的下載緩沖區(qū)
sudo apt install xxx # 在通過apt安裝該軟件
# 只下載依賴的包,而不下載該包
sudo apt-get install --reinstall -d `apt-cache depends python-numpy | grep Depends | grep -v "<.*>" | cut -d: -f2` # 下載python-numpy依賴的所有包,但不下載python-numpy
note: 選擇鏡像源對(duì)應(yīng)的軟件版本下載

另外有些時(shí)候下載下來的文件名會(huì)有點(diǎn)出入:

下載后文件名變成了python-dev_2.7.12-1_16.04_amd64.deb,波浪號(hào)變成了下劃線,需要手動(dòng)更正。
mv python-dev_2.7.12-1_16.04_amd64.deb python-dev_2.7.12-1~16.04_amd64.deb
有時(shí)需要批量改名
sudo rename 's/\d\://' *.deb # 刪除文件名中多余的數(shù)字和冒號(hào),比如 1: ,2:等
安裝python軟件會(huì)提示文件夾讀寫權(quán)限不夠,要手動(dòng)創(chuàng)建好文件夾。
apt添加第三方源比如:R,時(shí)要驗(yàn)證公鑰。
# 51716619E084DAB9替換為提示的公鑰,端口還是改為80,不通過代理的話 --keyserver-option不需要(代理配置見下面介紹)。
sudo apt-key adv --keyserver-option http-proxy=http://134.156.1.1:80 --keyserver keyserver.ubuntu.com --recv-keys 51716619E084DAB9
局域網(wǎng)配置
windows主機(jī)一塊網(wǎng)卡設(shè)置內(nèi)網(wǎng)IP和掩碼,其他不需要設(shè)置。

Ubuntu主機(jī)修改/etc/network/interfaces,添加IP和網(wǎng)關(guān)即可。網(wǎng)卡未啟動(dòng)的話,用ifconfig -a顯示完整的網(wǎng)卡信息,在如下設(shè)置網(wǎng)卡。

首次添加網(wǎng)卡靜態(tài)ip后要resolvconf -u;
修改/etc/network/interfaces更改IP,通過/etc/init.d/networking restart重啟網(wǎng)絡(luò)可能無效,就按如下操作進(jìn)行:
ip addr flush dev SSXX # SSXX換成ifconfig識(shí)別的網(wǎng)卡標(biāo)識(shí),刪除IP
ifdown SSXX # 禁用網(wǎng)卡
ifup SSXX # 啟用網(wǎng)卡
Note 配置完成后,在windows防火墻全開的情況下,windows主機(jī)能ping通Ubuntu主機(jī)和ssh登錄操作,反過來不行;需要關(guān)閉windows的公用網(wǎng)絡(luò)防火墻,才能讓Ubuntu主機(jī)ping通windows主機(jī)。
局域網(wǎng)代理配置
windows下載安裝CCProxy,配置需要的網(wǎng)絡(luò)協(xié)議,輸入windows本地主機(jī)局域網(wǎng)端口IP;端口808可調(diào)整為80。
關(guān)閉windows的公用網(wǎng)絡(luò)防火墻才能聯(lián)網(wǎng)?。?!
非必須聯(lián)網(wǎng),不要聯(lián)網(wǎng)

到局域網(wǎng)Ubuntu服務(wù)器端,配置個(gè)人.bashrc文件,添加以下內(nèi)容(按需):
# 分別添加http和https的代理, 端口改為80
export http_proxy=http://134.156.1.1:80 # 假設(shè)windows端IP為: 134.156.1.1
export https_proxy=https://134.156.1.1:80
# 聯(lián)網(wǎng)測試,會(huì)下載index.html文件
wget www.baidu.com
Ubuntu自帶的apt聯(lián)網(wǎng)還需單獨(dú)設(shè)置,在/etc/apt/下創(chuàng)建apt.conf文件并輸入如下內(nèi)容:
Acquire::http::Proxy "http://134.156.1.1:80"; # 雙引號(hào)、分號(hào)都不能少
Acquire::https::Proxy "https://134.156.1.1:80";
性能優(yōu)化
- 設(shè)置緩存和共享內(nèi)存,可以在/etc/sysctl.conf中加上兩行:
vm.swappiness=5 # 內(nèi)存使用比達(dá)到95%,才啟用swap
vm.min_free_kbytes=10485760 # 10G
kernel.shmmax = 33721946112
kernel.shmall = 8232897
新建shmsetup的腳本:
#!/bin/bash
page_size=`getconf PAGE_SIZE`
phys_pages=`getconf _PHYS_PAGES`
shmall=`expr $phys_pages / 2`
shmmax=`expr $shmall \* $page_size`
echo kernel.shmmax = $shmmax
echo kernel.shmall = $shmall
運(yùn)行
./shmsetup >> /etc/sysctl.conf # 追加kernel.shmmax, kernel.shmall到/etc/sysctl.conf
sudo sysctl -p # 生效
- 在linux文件系統(tǒng)有一個(gè)預(yù)讀的參數(shù),可以通過如下命令查看:
blockdev --getra /dev/sdb # 一般默認(rèn)值為256
可以將此數(shù)據(jù)改大一點(diǎn),建議的范圍是在4096-16384之間,預(yù)讀不足的常見問題是寫磁盤的速度要比讀取的速度要高。
在/etc/rc.local 中exit 0之前添加 blockdev --setra 4096 /dev/sdb。

-
在linux中,用戶每訪問一個(gè)文件,系統(tǒng)都會(huì)更新文件的其中一個(gè)屬性(上次訪問時(shí)間),當(dāng)用戶在訪問數(shù)據(jù)時(shí),系統(tǒng)會(huì)需要不斷的進(jìn)行寫操作,這個(gè)在系統(tǒng)中也是一筆不小的開銷,可以在/etc/fstab文件中,對(duì)掛載的卷加上noatime選項(xiàng)來禁用此行為:
/dev/sda1 / ext3 noatime,errors=remount-ro 0 1修改完以后,執(zhí)行sudo mount -a 命令生效即可。
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda5 during installation
UUID=89b5-7a-448-833-67a0507 / ext4 errors=remount-ro 0 1
# swap was on /dev/sda6 during installation
#UUID=fafd-06-4c0-bd0-ff29677 none swap sw 0 0
/dev/mapper/cryptswap1 none swap sw 0 0
UUID=8874-af-47b-bb0-df97b32 /home ext4 errors=remount-ro 0 1
/dev/sdb5 /mnt/D5 ext4 defaults,noatime,errors=remount-ro 0 2
/dev/sdb6 /mnt/D6 ext4 defaults,noatime,errors=remount-ro 0 2
/dev/sdb7 /mnt/D7 ext4 defaults,noatime,errors=remount-ro 0 2
/dev/sdb8 /mnt/D8 ext4 defaults,noatime,errors=remount-ro 0 2
- ssh過段時(shí)間掉線的問題,解決方法:編輯/etc/ssh/sshd_config,添加如下內(nèi)容:
ClientAliveInterval 60
ClientAliveCountMax 3
xshell保持活動(dòng)狀態(tài)(keepalive)設(shè)置如下:putty類似

- 通過sysv-rc-conf關(guān)閉一些不必要的啟動(dòng)項(xiàng)。
