系統更新
一開始先更新系統,然後安裝常用套件,尤其是字型安裝特別重要,否則 Python 顯示中文時會出現例外。
sudo apt update
sudo apt upgrade
sudo apt install net-tools ffmpeg ttf-wqy-zenhei meld qtcreator git-core filezilla rar automake cmake unzip g++ pkg-config
4K 純文字字体大小
Server 版純文字模式如果使用 4K 螢幕字体太小看不清楚,可以使用如下指令讓字体變大
sudo dpkg-reconfigure console-setup
選取 UTF-8/Guess optimal character set/VGA,再選擇 16×32
然後重新開機,開機後在螢幕顯示的字体就會放大。
Server 版安裝 chrome 瀏覽器
在 Python 中如果要使用 selenium 爬蟲,需先安裝 chrome 覽瀏器,但 Server 並沒有視窗介面,所以安裝一般的 chrome 瀏覽器是無法執行的,因此在 Server 中要安裝特殊的 chrome 版本,安裝指令如下。
sudo su curl -sS -o - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list exit sudo apt-get -y update sudo apt-get -y install google-chrome-stable
sudo 免密碼
sudo visudo,加入如下設定
thomas ALL=(ALL) NOPASSWD: ALL
然後按 ctrl+o 儲存,ctrl+x 離開
帳號管理
新增帳號
sudo useradd -m -s /bin/bash thomas : 新增帳號, 新增家目錄, 並指定bash(如此才會有提示符號及歷史記錄) sudo passwd thomas : 設定密碼 sudo adduser thomas sudo : 帳號加入sudo Group, 可以使用sudo指令
刪除帳號
sudo userdel -r thomas : 刪除帳號, -r 是連家目錄一起刪除
加入群組
sudo usermod -a -G www-data thomas
ip設定
輸入如下指令更改設定檔
sudo vim /etc/netplan/50-cloud-init.yaml
sudo netplan apply : 啟動剛剛的設定 ifconfig : 查詢ip ip addr : 查詢ip
掛載share folder
此說明是在VmWare裏啟動Ubuntu Server時, 掛載 share folder的方法
VmWare需先enabled folder
cd /media
sudo mkdir cdrom
sudo mount /dev/cdrom cdrom
cd
mkdir tmp && cd tmp
#將cdrom裏的所有檔案 copy 到 ~/tmp內再執行
cp -r /media/cdrom/. .
tar zxvf VMwareTools-10.3.22-15902021.tar.gz
cd vmware-tools-distrib
#sudo ./vmware-install.pl
然後一直按enter
sudo reboot
重新開機後, 就可以在/mnt/hgfs看到share folder了
變更時區
預設時區為 US,可使用底下比較麻煩的方式變更時區
sudo dpkg-reconfigure tzdata
也可以使用底下更簡易的方法變更
sudo timedatectl set-timezone Asia/Taipei
啟動ntp : network time protocol
啟動系統就與 ntp 伺服器校正時間的指令
sudo apt-get install ntp sudo service ntp restart
系統監控
持續監控系統資源狀況的指令如下
top
RAID 監控
執行 cat /proc/mdstat 即可看到如下的資訊
Personalities : [raid6] [raid5] [raid4] [raid0] [raid1] [raid10] md126 : active raid5 sda[2] sdb[1] sdc[0] 7814032384 blocks super external:/md127/0 level 5, 128k chunk, algorithm 0 [3/3] [UUU] [==============>......] resync = 73.4% (2867853728/3907016192) finish=131.8min speed=131327K/sec md127 : inactive sdc[2](S) sdb[1](S) sda[0](S) 7176 blocks super external:imsm unused devices:
上述 resync 是正在同步的完成度,此時使用 top 會看到 md126_raid5 及 md126_resync 二支程式一直在跑。
常見狀態:
[UUU] → RAID 正常(所有磁碟都在)
[U_U] → 其中一顆磁碟失效(降級模式)
[__U] → 兩顆磁碟失效(可能已經無法修復)
另外 sudo mdadm –detail /dev/md126 亦可顯示 Raid 的詳細狀態
/dev/md126: Container : /dev/md/imsm0, member 0 Raid Level : raid5 Array Size : 7814032384 (7.28 TiB 8.00 TB) Used Dev Size : 3907016192 (3.64 TiB 4.00 TB) Raid Devices : 3 Total Devices : 3 State : active, resyncing Active Devices : 3 Working Devices : 3 Failed Devices : 0 Layout : left-asymmetric Chunk Size : 128K Consistency Policy : resync Resync Status : 82% complete UUID : 8045de65:69a840a2:cffc0a06:9ffc2611 Number Major Minor RaidDevice State 2 8 0 0 active sync /dev/sda 1 8 16 1 active sync /dev/sdb 0 8 32 2 active sync /dev/sdc
dd壓縮
sudo dd if=/dev/sda | gzip > sdadisk.img.gz gzip -dc sdadisk.img.gz | sudo dd of=/dev/sda
清除cache
ubuntu 執行久了,都會佔用 cache。而此 cache 都是位於記譩体中,所以會導致沒重新開機,可用記憶体愈來愈少,此時可以定期執行如下指令,讓cache釋放掉。
sudo -i sync;echo 1 > /proc/sys/vm/drop_caches exit
測試網路速度
安裝 speedtest-cli 套件
sudo apt-get install speedtest-cli
執行 speedtest-cli 的結果
thomas@mahaljsp:~$ speedtest-cli Retrieving speedtest.net configuration... Testing from Chunghwa Telecom (59.126.186.195)... Retrieving speedtest.net server list... Selecting best server based on ping... Hosted by Chief Telecom (Changhua) [16.19 km]: 12.48 ms Testing download speed............... Download: 514.51 Mbit/s Testing upload speed................. Upload: 491.25 Mbit/s
嘸蝦米安裝
sudo apt-get install fcitx
sudo apt-get install fcitx-table-boshiamy
sudo apt-get install fcitx-chewing
git 設定
sudo apt-get install git-core
vim ~/.gitconfig, 加入如下設定
[user] name = Thomas email = mahaljsp@gmail.com [color] ui = auto [core] editor = vim
GRUB設定
cd /etc/grub.d/
sudo chmod 444 20_* 30_*
sudo mv 40_custom 06_custom
cat /boot/grub/grub.cfg 將Windows 開機設定copy 到 /etc/grub.d/06_custom
sudo update-grub
GRUB等待問題
sudo vim /etc/default/grub 將 GRUB_TIMEOUT=0 改為 GRUB_TIMEOUT=0.01 然後更新grub設定 :sudo update-grub
Openjdk-7
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-7-jdk
開機自動連線wifi
在網路設定的圖型介面中, 除了設定IP外, 要切換到General, 然後勾選 All user may connect to this internet
如此才能在開機且未登入前, 就連上wifi, 也才能透過wifi, 使用ssh連線進去
使用指令更改IP
有人可能會問, 直接點選右上角的圖示, 就可以改IP了, 為什麼還要自找麻煩使用指令更改IP呢! 因為ubuntu Server版, 是沒有圖型介面的
安裝套件
等一下會使用到 ifupdown 及network-manager二個套件, 所以先進行安裝
sudo apt-get install net-tools ifupdown network-manager
查詢網路介面名稱
使用 ifconfig , 如下所示, 本人的網路介面名稱為ens33. 請注意, 每台電腦都不一樣
更改設定檔
sudo vim /etc/network/interfaces, 然後加入如下 auto ens33 //要更改的網路介面 iface ens33 inet static //改成靜態IP address 192.168.1.10 //指定的IP netmask 255.255.255.0 //子網路遮罩 gateway 192.168.1.1 //匣道 dns-nameservers 168.95.1.1 //DNS
刷新IP
sudo ip addr flush ens33
sudo systemctl restart networking.service
修改設置
本人測試, 1804不用此步驟, 1604以前需操作此步驟
sudo vim /etc/NetworkManager/NetworkManager.conf
將 managed=false改為true, 允許手動設定
然後重啟manager
sudo service network-manager restart
更改系統字型大小
此方法可調整整体畫面的字型大小及比例. 適用於ubuntu系統, 但不能用於 raspbian系統.
sudo apt install gnome–tweaks
再按下Alt-F2, 然後輸入gnome-tweaks, 再選擇字型大小及縮放比例
支援exFat, NTFS
sudo apt-get install exfat-utils exfat-fuse ntfs-3g
開機自動啟動 Web Server
在 /etc/init.d/ 下新增 django 檔案,檔案內容如下
#!/bin/sh /data/server/pyweb/.venv/bin/python3 /data/server/pyweb/manage.py runserver 0.0.0.0:7000
要注意的是,一定要用 ./.venv/bin 裏的 python3,這樣才能啟動虛擬環境的所有設定,如果使用 /usr/bin/python3,會因為系統沒有安裝套件,無法啟動成功。
然後更改django權限
sudo chmod 755 django
最後在 rc3.d 目錄下新增軟連結
cd /etc/rc3.d sudo ln -s ../init.d/django S99django
重新開機後即可自動啟動。
懶人包
下載 init.sh後, sudo chmod 777 init.sh, 再執行 ./init.sh, 即可全部安裝完成
ubuntu Server 1804 修改ip
修改 /etc/netplan/*.yaml
啟動 : sudo netplan apply
常用指令
grep -ir “abc” : 搜尋目錄下所有檔案的內容是否有abc
find ./|grep “abc.txt” 搜尋目錄下是否有abc.txt檔案
apt-cache search openjdk : 搜尋套件
apt-get install openjdk-7-jdk : 安裝套件
ifconfig 可查看網路狀況
sudo ifconfig eno1 down, 關閉網路
sudo ifconfig eno1 up, 啟動網路