顯示具有 Ubuntu 標籤的文章。 顯示所有文章
顯示具有 Ubuntu 標籤的文章。 顯示所有文章

2019/02/25

Ubuntu 18.04 網路設定檔異動

在 Ubuntu 14.04 時代,網路介面的設定檔在 /etc/network/interfaces,但在 18.04 以後改用了 netplan 來做網路介面的管理,設定檔也跟著改變。

打開 /etc/network/interfaces 後,你會看到以下的說明:
# ifupdown has been replaced by netplan(5) on this system.  See
# /etc/netplan for current configuration.
# To re-enable ifupdown on this system, you can run:
#    sudo apt install ifupdown

若要修改網路設定檔,大至上要二個步驟:
確認網路介面的 ID (Ubuntu 18.04 的網路介面代號與 14.04 不同)
修改網路設定檔:/etc/netplan/50-cloud-init.yaml


確認網路介面的 ID


舊版的網路卡 ID 會是「eth0」這樣的表示,不過在 Ubuntu 18.04 代號有變動,記得先使用 ifconfig 確認:
$ ifconfig -a
ens33: flags=4163  mtu 1500
        inet 192.168.0.102  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::20c:29ff:fead:d664  prefixlen 64  scopeid 0x20
        ....


修改網路設定檔


Ubuntu 18.04 使用的 netplan 設定檔位於 /etc/netplan/*.yaml,如果是新安裝好的機器,應該可以看到「50-cloud-init.yaml」這個檔案。

開啟檔案後,可以看到以下格式的設定:
network:
    ethernets:
        ens33:
            addresses: []
            dhcp4: true
    version: 2

YAML 的檔案格式可以參考 netplan.io 的說明

假設要改成 static IP,則設定檔的大概會改成以下這個樣子:
network:
    ethernets:
        ens33:
            addresses: [192.168.0.10/24]
            gateway4: 192.168.0.1
            nameservers: 
                addresses: [8.8.8.8, 1.1.1.1]
            dhcp4: false
    version: 2

設定檔修改以後不會立即生效,需要呼叫 netplan 讀取並套用新的設定:
$ sudo netplan apply

2019/02/07

Ubuntu 14.04 將停止維護



Ubuntu 14.04 將在 2019 四月後中止維護,還有機器還沒更新的記得更新。

ps. 在 terminal 中執行「do-release-upgrade」即可。

2017/05/05

為 ufw 建立應用程式的 rule set

以往在 ufw 加入防火牆規則時,都是一條一條新增上去:
ufw allow 80
ufw allow 443
ufw allow 8080
.....

這種方式雖然簡單,但是之後要維護會有點困難:到底哪個 port 是為了哪一個應用程式開的?

ufw 其實還有其他特別功能,叫做 app list:
zero@zero-x230:~$ sudo ufw app list
Available applications:
  Apache
  Apache Full
  Apache Secure
  CUPS
  Samba

會自動增測,並有預設的設定檔來幫你新增 rule set。來看一下「Apache Full」設定檔到底寫了什麼,打開「/etc/ufw/applications.d/」:
[Apache]
title=Web Server
description=Apache v2 is the next generation of the omnipresent Apache web server.
ports=80/tcp

[Apache Secure]
title=Web Server (HTTPS)
description=Apache v2 is the next generation of the omnipresent Apache web server.
ports=443/tcp

[Apache Full]
title=Web Server (HTTP,HTTPS)
description=Apache v2 is the next generation of the omnipresent Apache web server.
ports=80,443/tcp

預設有三個 rule sets,一個是 port 80,另一個是 HTTPS 的 port 443,亦或二者都開啟。

我們可以依樣畫葫蘆,建立自己的 app rule sets,像是我幫 Resilio Sync 湊出來的 rule set

你也可以參考 Ubuntu forum 上面的教學,建立自己需要的 rule set。

2017/01/18

修改 grub 開機選單等待時間 (timeout)

查了很多資料,大多都說是去修改 /boot/grub/grub.cnf 的設定,但新版的 grub.cnf 事實上是電腦自動產生的,不管怎麼改參數,數值都會被覆蓋掉。

正確解法應該是直接修改 /etc/default/grub:
GRUB_TIMEOUT=10  # wait for 10 secs

修改完畢後記得更新設定:
sudo update-grub2

詳細的解說,可以參考 Grub2 - Ubuntu community wiki 上的說明。

2016/06/26

在 gnome-teminal 使用 Ctrl + arrow 切換 GNU screen 視窗

這邊標題應該下的不是很好,其實問題和 gnome-teminal 應該是沒什麼關係的。

在 windows 透過 pietty (快換 putty 吧) 連上 server 時,都是直接用 Ctrl + 左/右 來切換 windows, .screenrc 設定方式如下:
bindkey \033[C next
bindkey \033[D prev

不過當 client 是 Ubuntu 時,在 gnome-terminal 操作時,Ctrl + arraow 卻完全沒有效果。後來友人提示在 screen 底下可以先 ctrl + V,再按下 key binding,screen 會把收到的 key code 顯示出來,方便 debug。嘗試了不少種組合都沒有成功。

當 Google 第一頁搜尋結果無法找到方法時,只好往第二頁找屍體。慢慢看到有人提到需要修改 /etc/inputrc 的設定
# allow the use of the Home/End keys
"\e[1~": beginning-of-line
"\e[4~": end-of-line

# allow the use of the Delete/Insert keys
"\e[3~": delete-char
"\e[2~": quoted-insert

....

# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
"\e[1;5C": forward-word
"\e[1;5D": backward-word
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word

設定檔中間可以看到 Ctrl + arrow 已經被轉成 forward-word 等操作,把那幾行註解掉即可。

ps. 除了 ssh client 這邊的 inputrc 需要修改外,server side 若有 inputrc 也需要一起修改,不然 client 送過去的 key binding 還是會被 server 改掉。

2016/03/24

aptitude update 找不到 GPG key 的處理

執行的 aptitude update 以後,出現錯誤訊息:
W: GPG error: http://ppa.launchpad.net trusty InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 00A6F0A3C300EE8C
W: GPG error: http://ppa.launchpad.net trusty InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4F4EA0AAE5267A6C

可以透過下列指令去 import keys:
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com {KEY}

例如上面的錯誤,可以這樣 import key:
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 00A6F0A3C300EE8C
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 4F4EA0AAE5267A6C

reference: How do I fix the GPG error “NO_PUBKEY”?

2013/07/01

Firefox PPA on Ubuntu 12.04

Mozilla 官方 PPA:
sudo add-apt-repository ppa:mozillateam/firefox-next
sudo aptitude update
sudo aptitude install firefox  # or aptitude update

2013/06/29

修改 Ubuntu 12.04 登入畫面背景圖片

開啟 /usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml,並找到「com.canonical.unity-greeter」,將 key「background」改成新的圖片路徑:
<?xml version="1.0" encoding="UTF-8"?>
<schemalist gettext-domain="unity-greeter">
  <schema id="com.canonical.unity-greeter" path="/com/canonical/unity-greeter/">
    <key name="background" type="s">
      <default>'/usr/share/backgrounds/warty-final-ubuntu.png'</default>
      <summary>Background file to use, either an image path or a color (e.g. #772953)</summary>
    </key>


將設定值重新編譯:
cd /usr/share/glib-2.0/schemas/
sudo glib-compile-schemas .

2013/06/23

CapsLock 提示 on Ubuntu with Mate Desktop

因為手賤,發現 ThinkPad x230 上並沒有 CapsLock 警示燈,而 Ubuntu 上面預設也不會提示,好在有工具可以用。

Indicator Keylock 能讓大小寫鎖定時,在工具列顯示圖示:


安裝 Indicator Keylock:
sudo add-apt-repository ppa:tsbarnes/indicator-keylock && sudo apt-get update
sudo apt-get install indicator-keylock


安裝完以後執行「indicator-keylock」即可。


Regerence:
Indicator Keylock Displays The Keyboard Lock Keys On Machines Without Keyboard LEDs ~ Web Upd8: Ubuntu / Linux blog
http://www.webupd8.org/2010/07/indicator-keylock-displays-keyboard.html

2012/06/08

取消 Ubuntu 上 MySQL 的開機自動啟動

由於小筆電跑很慢、記憶體也不多,想說 Apache 和 MySQL 都取消開機自動啟動,有需要在手動執行,便把 /etc/init.d 底下二個 script 砍刪除:
$ cd /etc/init.d/
$ rm apache2 mysql

重新啟動後,Apache 沒有啟動,但是 MySQL 卻活的好好的!

執行 /etc/init.d/mysql stop 後才注意到提示訊息,MySQL 必須使用 service 來控制啟動與停止:
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysql start

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the start(8) utility, e.g. start mysql
mysql start/running, process 2035

service 似乎只能控制啟動或是停止服務,並沒有辦法修改開機啟動設定,問了男人以後看到「see also」有個 update-rc.d,男人說是用來設定不同 run-level 底下服務是否啟動。

印象中 Ubuntu 沒有 run-level 這東西吧,不過試試也無妨:
$ update-rc.d mysql disable 2 3 4 5    # /etc/init.d/mysql missing LSB information
$ update-rc.d -f mysql remove   # Nothing special

重新開機,還是看到 MySQL 在對我微笑 ......

找了 chkconfig、sysv-rc-conf 來看到底是自己代賽還是哪裡出錯,不過確實看到 MySQL 在 run-level 2 3 4 5 下都是關著的,開機仍舊會自動啟動。

Linux 上 everything is a file,不會用工具至少還可以改設定檔內容,用 find 和 grep 把 /etc 底下所有和 mysql  有關的檔案都掃了一遍,發現 /etc/init (不是 init.d) 下還有個 mysql.conf,而且把這個設定檔砍掉以後 service 就無法辨識服務。

開啟 /etc/init/mysql.conf,前面有幾行,註解掉以後開機就不會自動啟動 MySQL 了:
start on (net-device-up
          and local-filesystems
          and runlevel [2345])
stop on runlevel [016]


Ref:
Disable autostart from mysql
http://ubuntu.5.n6.nabble.com/Disable-autostart-from-mysql-td1537743.html



ps. 太久沒寫文章,手感都沒了 QQ

2012/04/28

在 Ubuntu 手動安裝 Qt SDK

以前一向都是從套件庫直接安裝 Qt SDK:
aptitude install qt-sdk

今天 checkout 別人的 project 出來編譯時,發現套件庫中的 Qt lib 版本有點舊 (好像是 4.6 吧),乾脆直接去 Qt 官網抓檔安裝來裝。

裝好後無意間發現 OpenGL 的範例程式編譯時都會出錯,弄了半天原來是從套件庫安裝時會自動把 OpenGL lib 裝上去,但是官網的安裝檔不會處理相依性問題。所以要自己手動補:
aptitude install libgl1-mesa-dev libglu1-mesa-dev libglut3-dev 

Ubuntu 12.04 手冊

Ubuntu 12.04 LTS 發佈,這次官方同時做好了操作手冊,簡潔、清楚的介紹,讓對新環境不熟悉的人可以快速上手。

Ubuntu 桌面版手冊
https://help.ubuntu.com/12.04/ubuntu-help/index.html

ps. 沒看到中文請調整瀏覽器預設語言

2012/04/07

更改 Ubuntu 10.04 登入畫面背景圖片

從「系統」=>「偏好設定」=>「外觀」中只能修改登入後的桌面背景,登入畫面的背景還是不會變。

若要修改登入畫面的背景圖片,則需要使用 gdm 身份開啟 gnome-control-center 來修改設定:

  1. 首先,先將帳號登出,退回到登入畫面
  2. 接著按下 Ctrl+Alt+F1 切換 tty
  3. 使用自己的帳號、密碼登入
  4. 設定圖形介面應用程式顯示位置:
    export DISPLAY=:0.0
  5. 使用 gdm 身份執行 gnome-control-center:
    sudo -u gdm gnome-control-center
  6. 按下 Ctrl+Alt+F8 切換回圖形介面,這時候會看到「控制中心」
  7. 接著就能從「外觀」中設定登入畫面的背景圖片

2011/06/06

ClamAV in Ubuntu

安裝 Clam AntiVirus:
sudo aptitude install clamav clamav-freshclam

安裝完畢先更新病毒定義檔:
sudo freshclam

掃描資料夾內容:
clamscan -r /home

將有問題的檔案移動到 tmp/ 目錄:
clamscan -r /home --move=tmp/

Clamav 辨識率還可以接受,不過話說 tar 把包以後沒掃壓縮檔內容,不知道是不是自己參數下錯:
clamscan --bytecode=yes --include-pua=packed --include-pua=spy --scan-archive=yes packed.tbz

若 ClamAV 沒掃出已知病毒,可以透過下面網址將病毒樣本交給 ClamAV 團隊測試建檔:
http://cgi.clamav.net/sendvirus.cgi

2011/05/26

Ubuntu 客製化

安裝 Ubuntu Customization Kit:
sudo aptitude install uck

主選單 => 系統工具 => Ubuntu Customization Kit 啟動。

製作 LiveCD 或 LiveUSB 用系統內建的「開機磁碟建立工具 (usb-creator-gtk)」似乎就夠了。


自己改了 Ubuntu 11.04 映像檔,主要塞了一些 CLI 常用工具,另外裝了 ClamAV 拿來掃毒。二個載點內容相同,用 7zip 解壓縮後大約 1.9GB,再用 Universal USB Installer 轉到 USB 上。

MediaFire:
http://www.mediafire.com/?dvlhhf8ix5mv9rh
http://www.mediafire.com/?0bdvcvrp7nagqt3
http://www.mediafire.com/?bv3hixm0ymu867u
http://www.mediafire.com/?lilbp55s4k88bw9

MegaUpload:
http://www.megaupload.com/?d=1NF2VTHL
http://www.megaupload.com/?d=3G8HFY6V
http://www.megaupload.com/?d=9ERGNZ1F
http://www.megaupload.com/?d=PDBFV8VG

MD5 checksum:
b8ed7023636b8d67070e0aced87d6416 ubuntu-11.04.1-desktop-i386-custom.iso

94a8700b13c33362592cf1083114ead8 ubuntu-11.04.1-desktop-i386-custom.7z.001
3589b1e8d61e51df3df6b1f34267ecbf ubuntu-11.04.1-desktop-i386-custom.7z.002
181ec1c6b7a2290a4a5f01582b616bbb ubuntu-11.04.1-desktop-i386-custom.7z.003
30893200b18e46cede41d93eac40fe6d ubuntu-11.04.1-desktop-i386-custom.7z.004

2011/05/24

藍星侵略地圖


在較大的地圖上查看藍星侵略地圖


我還蠻好奇那個在海上的是怎麼回事? XD

2011/05/14

打包檔案的好幫手:tar 與 split

想幫資料做備份,可用 tar 合併成一個檔案:
tar -cvf backup.tar mydata/

tar 只是將多個檔案合併在一起,若希望將資料壓縮省點空間,可以使用 -z (gzip) 或是 -j (bzip2) 壓縮:
tar -zcvf backup.tgz mydata/

若是壓縮後的資料還是太大沒辦法燒錄是光碟,可以使用 split 工具將備份檔分割。先使用 tar 將資料打包、壓縮,在傳給 split 做分割:
tar -xcvf - mydata/ | split -b 650M - backup.tgz.

split 預設使用 a、b、c 當作分割檔標記,上述方式讓單檔最大 650M,檔名分別為 backup.tgz.a、backup.tgz.b、backup.tgz.c ...。

若要讓 split 以數字方式為檔案命名,可以加上 -d 參數,檔案 suffix 則會改為 1、2、3 ...。另外 split 預設字串遞增一次為二個位數,表示檔名後面會是:00、01、02、03 ....,用參數 -a 1 可讓字串遞增改為一位數。


要還原資料時,使用 cat 把資料串接回來即可:
cat backup.tgz.* | tar -xvf -



參考資料:仲佑的網誌 » Blog Archive » Tar and Split
http://yowlab.shps.kh.edu.tw/wordpress/?p=289

wget 續傳、限制速度

wget 是 Linux 上幾個很長用來下載檔案的工具,使用方法很簡單:
wget http://my.url.com/file.zip


當下載到一半斷線,wget 參數 -c 讓檔案續傳:
wget -c http://my.url.com/file.zip


如果下載的檔案很大,想留先頻寬給其他程式使用,則加上 --limit-rate 參數:
wget --limit-rate=400k http://my.url.com/file.zip


下載檔總是需要等待,如果想先去做其他事情,用 -b 參數讓 wget 在背景下載檔案:
wget -b http://my.url.com/file.zip