Category: Linux

CentOS 安裝 Golang 及撰寫 Hello World

Go 語言是由 Google 開發的開源程式語言, 語法簡單易用。以下會示範如何在 RHEL 及 CentOS 7 安裝 Golang, 以及編譯一個 Go 語言的 “Hello World!” 程式。 首先開啟 EPEL Repo: $ sudo yum install epel-release 然後用 yum 安裝 golang 及 …

Shell Script 檢查檔案內容是否空白

在 Shell Script 要檢查檔案內容是否空白, 可以用 find 指令, 或者用 -s 參數檢查, -s 會在檢檔檔案存在及檔案體積大於 0 時, 回傳 TRUE, 否則回傳 FALSE. find 指令 find 指令只要加上 -empty 參數, 就可以找出空白檔案, 例如要檢查 /home/phpini/tmp_file 是否空白檔案, 可以這樣做: $ …

為何我從編譯原始碼改用 yum

在 Linux 安裝體一般會用編譯原始碼, 或者 yum 及 apt-get 這類套件管理工具安裝。剛學習 Linux 時, 很多套件都愛自行編譯, 當時還是 PHP3 的年代, 下載 Apache, PHP, MySQL 及相關套件的原始碼編譯, 就連 Linux 核心都要自己編譯才覺得覺得舒服, 打造出一套 LAMP 環境就自以為很了不起, 其實這感覺只是自 high, 一直到生產環境的伺服器都是這樣。 起初運作是沒有甚麼問題的, 但後來發覺編譯原始碼的後期維護工作的確很累。首先如果伺服器只有我自己操作還好, …

traceroute 指令 — 路由跟蹤工具

traceroute 是一個網路檢測工具, 可以追蹤網路封包經過的路由指令。例如當發現瀏覽一個網站很慢, 使用 traceroute 檢查時, 可以顯示經過的每一個網路節點, 以及每個節點返回的時間。traceroute 會對經過的網路設備送出封包 3 次, 測試所需的時間, 而返回的時間單位是 ms。(注: 在 Windows 不是用 traceroute, 是用 tracert) Redhat 及 CentOS 預設沒有安裝 traceroute, 先用用 yum 安裝: # yum …

Ubuntu 安裝 Sublime Text 3

Sublime Text 3 是一套跨平台的文字編輯器, 我覺得 Sublime Text 寫程式 十分好用。Sublime Text 可以免費使用, 如果想支持一下開發者, 可以付出 $70 美元購買版權。 在 Ubuntu 安裝 Sublime Text 3, 可以先加入 PPA Repository, 然後用 apt-get 安裝: 加入 PPA Repository: …

Linux 設定 setuid 及 setgid 權限

setuid 是檔案權限其中一種特性, 檔案加入 setuid 權限後, 其他用戶可以用檔案持有者身份執行檔案。而 setgid 跟 setuid 類以, 是其他用戶可以用檔案所屬群組的身份執行。 如果 setuid 使用不當, 會有很嚴重的安全問題, 所以使用前要小心。雖然有安全的問題, 但很多情況都要借助 setuid 解決, Linux 最常見的例子有 passwd 及 sudo, 一個普通帳號執行 passwd 修改自己的密碼時, 其實是用 root 身份修改系統內的密碼檔; …