ubuntu 設定

      在〈ubuntu 設定〉中尚無留言

系統更新

一開始先更新系統,然後安裝常用套件,尤其是字型安裝特別重要,否則 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

ubuntu_server_1

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. 請注意, 每台電腦都不一樣

ip1

更改設定檔

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 gnometweaks
再按下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, 即可全部安裝完成

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, 啟動網路

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *