Go 語言是由 Google 開發的開源程式語言, 語法簡單易用。以下會示範如何在 Ubuntu 安裝 Golang, 以及編譯一個 Go 語言的 “Hello World!” 程式。 首先下載 golang 的 binary 檔: /linux/golang $ wget https://dl.google.com/go/go1.11.5.linux-amd64.tar.gz 解壓下載回來的壓縮檔, 並把 binary 檔放到 /usr/local: /linux/golang …
以前在 Ubuntu 設定固定 IP 是修改檔案 /etc/network/interfaces, 但從 Ubuntu 17.10 開始在 CLI 要修改網路設定, 便要使用 NetPlan, NetPlan 會讀取所有在 /etc/netplan/ 下的 *.yaml 設定檔. 以下是在 Ubuntu 18.04 設定固定 IP 的方法, 並假設要設定的網卡名稱是 enp0s3. NetPlan …
基於保安理由, 很多伺服器都會禁止 root 登入 SSH, 我認為這個設定也是必須的。在一些內部測試用的伺服器, 為了方便可能會允許 root 登入, 另一個較好的做法是設定只讓個別 IP 用 root 帳號登入 SSH. 透過 sshd 的 “Match Address” 便可以實現, 除了登入 root 帳號外, 也可以設定其他帳號, 只允許個別 IP 登入。 首先開啟 …
wget 是很常用的 Linux 下載工具, 支援 HTTP, HTTPS, FTP 等通訊協定下載檔案, 但如果有些下載的檔案是需要支援 cookie 的話, 直接使用 wget 預設選項便不能下載了。 另一種情況是需要輸入使用者名稱及密碼, 然後將使用者名稱及密碼儲存 cookie 內, 這樣也是不能下載。 解決方法是先用 wget 開啟 cookie, 並將 cookie 資訊儲存到檔案, 然後再執行 wget …
TCP wrappers 是主機存取控制列表系統, 作用是限制 IP, hostname 存取 TCP 網路。TCP wrappers 透過以下兩個設定檔設定過濾的 IP: /etc/hosts.allow /etc/hosts.deny 當客戶端嘗試從遠端連線時, 以從上面兩個檔案讀取規則, 決定客戶端的連線是允許還是禁止。設定 /etc/hosts.allow 及 /etc/hosts.deny 的格式是這樣: daemon_list : client_list 上面三個欄位的意思是: daemon_list: 設定的 daemons, 用逗號 …
現在很多網站也是使用 Nginx 架設網站伺服器, 相比起 Apache 有更高效能及負載能力。 最近資安廠商 F5 Networks 宣佈會收購 Nginx, Nginx 被收購後仍會維持開源, 原來的管理層也會留下來。 不知 Nginx 往後會不會像 MySQL 一樣, Nginx 在新公司下繼續開發, 而創辦人之類的就另起爐灶, 建立可以跟 Nginx 兼容的替代 fork.
Python 輸出內容跟其他程式語言差不多, 用 print 便可以印出想要的內容, 例如: 這樣就會印出 “Hello World!” 到顯示器。 但同時 Python 也會自動在最後加上換行 “\n” 的字串, 例如: 上面會印出: Hello World! Hello World! Python 3 要解決較容易, 只要在 print 裡面定義參數便可以, 寫法如下: 上面第一個 …
當使用 PuTTY 連接到 Linux 的 SSH 時, 用 vi 或 vim 開啟檔案後, 會發覺鍵盤右邊的鍵盤數字區 (NumPad) 無法使用。按下右邊 NumPad 的數字後會輸入以下內容: 原因是當按下 NumPad 的數字鍵時, PuTTY 向 SSH 傳送 “跳脫序列” (Escape Sequences), 而不是傳送數字。在終端機軟體 (PuTTY) …
lsblk 指令的作用是列出系統的可用 Block Device, 當中包括硬碟, USB 隨身碟, DVD-ROM 等, 但 RAM disk 則不會列出。 要使用 lsblk 需要安裝 util-linux-ng 或 util-linux 套件: RHEL / CentOS: /linux/install/util-linux-ng $ sudo yum install util-linux-ng …
在 Ubuntu 開啟及關閉虛擬主機, 會用 a2ensite 及 a2dissite 指令, 這個方法在管理多個 Virtual Host 時方便很多, 以下是在 RHEL 7 及 Centos 7 下, 設定類似 Ubuntu 管理 Virtual Host 的方法。 Ubuntu 在 /etc/httpd 目錄下建立兩個目錄, …