CentOS 透過 yum 自動安裝”安全性”修正更新

參考安裝步驟:
http://alvinalexander.com/linux-unix/centos-yum-installing-only-security-updates

# install the security plugin
yum -y install yum-plugin-security

# display all security-related updates
yum --security check-update

# list all bugs fixed
yum updateinfo list bugzillas

# summary of advisories
yum updateinfo summary

# upgrade all packages with security info to latest available package
yum --security update

# upgrade all packages with security info to last security update
# (as opposed to the latest possible update)
yum --security update-minimal

# help
man 8 yum-security

 

虛擬串列埠 (Serial Port) 模擬器 VIRTUAL SERIAL PORTS EMULATOR (工作的好幫手)

VSPE (Virtual Serial Ports Emulator) 是 Eterlogic 開發的一套軟體.

可以虛擬多個虛擬串列埠(virtual serial port), 並可按照設定由軟體將其橋接(bridge)起來,
開發相關串列埠軟體的開發員、測試員可以方便使用.

也能夠以 Splitter 的方式, 創建出一個虛擬串列埠, 供上層應用軟體重複開始並同始使用該串列埠, 再也不用在各個軟體之間開開關關了.

這套軟體目前提供 32位元操作環境下免費使用(安裝檔內附有註冊碼),
若要使用在 64位元操作環境, 目前似乎沒有時間限制(只是每次開啟時會有註冊提示).

若覺得好用, 可以支持一下, 這套軟體的售價比其他類似軟體便宜很多(其他常見的軟體約 100 USD, 這套一組 64-bit 授權碼約 22~24 USD, 網路上可以找到 COUPON code).

使用過其它套類似軟體, 最後發現在 TCL 上使用會有問題, 但這套軟體都可以正常使用.
因此推薦它.

官方網站: http://www.eterlogic.com/
下載網址: http://www.eterlogic.com/downloads/SetupVSPE.zip

使用範例:
創建一 Splitter 串列埠:

老舊的電腦、筆電 去哪裡找驅動程式? (遺失或損毀、如何更新)

推薦兩款免費的軟體, 可以協助安裝系統時, 驅動程式的下載與更新:

 

使用方式很簡單, 僅要安裝該軟體後, 該程式會自動掃描該電腦的硬體設備(規格),
並提示目前使用的驅動程式版本, 以及目前最新的版本. 可以自行選擇哪些裝置的驅動程式要更新.

免費看美國影集、電影的軟體 – 爆米花時間 (Popcorn Time)

下載網址: https://popcorntime.io
開源專案網址: https://github.com/popcorn-official

從國外論壇看到這軟體, 可以正常使用.

據說是採用 bit torrent 的技術, 高清(HD), 且可以有英文字幕.

軟體介面有多國語言.

其它版本:
http://popcorn-time.se/

若需要支援中文字幕版本的軟體(非官方), 可從此下載:
http://1somethings.blogspot.tw/2014/05/popcorn-time_25.html

C 語言程式設計 – 除錯用巨集範例(print message for debugging)

這是一個可重複使用, 事先定義在 common header 中, 用來列印除錯訊息的範例.

主要是利用 __FILE__, __LINE__, __FUNCTION__ 等 compilier build-in 提供的資訊.
此時所有的 debug message 就不用再次(重覆)寫這幾個內容.

#define DBG_PRINTF_EN   (0)

#define DBG_PRINTF(fmt, …)
do {
if (DBG_PRINTF_EN)
printf(“%s:%d:%s(): ” fmt, __FILE__, __LINE__, __FUNCTION__, ##__VA_ARGS__);
} while (0)

 

[教學] Subversion (svn) 如何將部份檔案標記為不提交(commit).

Subversion此範例以 bash (Shell) 為例:

定義一個名為 svn 的 bash function, 輸入指令:

$ svn() { if [[ $1 = “ci” ]]; then command svn ci `svn st | sed -e “/^— Changelist ‘ignore-on-commit’/,/^— Changelist/d” | grep ‘^[ADMR]’ | awk ‘{print $NF}’`; elif [[ $1 = “skip” ]]; then command svn cl ‘ignore-on-commit’ “${@:2}”; elif [[ $1 = “unskip” ]]; then command svn cl –remove “${@:2}”; else command svn “$@”; fi; }

當使用 svn ci 指令時, 會自動將 ‘ignore-on-commit’ 此 changelist 中的檔案剃除.
此名稱是 SVN Tortoise 預設使用的名稱. 所以建議使用此 changelist 名單.

增加 [欲忽略的檔案] 到 ‘ignore-on-commit’ 名單中:
$ svn skip FILENAME
或自行採用原生指令:
$ svn cl ‘ignore-on-commit’ FILENAME
A [ignore-on-commit] FILENAME

FILENAME 為欲忽略的檔案名稱.

反之, 欲取消忽略此檔案:
$ svn unskip FILENAME
或自行採用原生指令:
$ svn cl –remove FILENAME
D [ignore-on-commit] FILENAME

備註:
目前已知問題為, 當除了 ‘ignore-on-commit’ 中的檔案以外, 沒有其他變動的檔案, 會視為想要 commit ‘ignore-on-commit’ 此名單中的所有檔案.

Shell: bash, tcsh, sh 的比較 (不同)

bash:
Linux 的使用者普遍使用的 shell, 網路上找到的 Linux script 或相關教程. 都是以 bash 為範本.

tcsh:
若你是個 C 語言的開發者, tcsh 的語法較為接近 C.

sh:
在各種 Unix-like 平台之間, 相容性最高的 shell, 若要寫一個通用的 script, 以 sh 最為理想.
(建議一定要瞭解 sh 的基本用法)

[參考網頁]

個人建議學 bash + sh. 參考網頁: https://web.fe.up.pt/~jmcruz/etc/unix/sh-vs-csh.html

冠詞的用法 (Using Articels)

主要參考出處: https://owl.english.purdue.edu/owl/resource/540/01/

冠詞(article)有兩種: 定冠詞(definite article) 與不定冠詞(indefinite article).

定冠詞指的是 the, 而不定冠詞指的是 a/an.

從詞性來分,主要差別在於 the 是修飾後面名詞,表達【限定某群體中的特定某一個/些】.
而 a/an 有兩類含義, 表達【一個(數量上)】或【非特定的某一個】。

例如:

“Let’s read the book (我們來讀這本書吧)”
“Let’s read a book (我們來讀一本書吧)”

大部分的專有名詞都不需要加定冠詞 (the).
特例部分:

  1. 河流、海洋、海域: 尼羅河(the Nile), 太平洋(the Pacific)
  2. 地球(世界)座標: 赤道(the Equator)、南北極 (the North/South Pole)
  3. 地理區域: 中東(the Middle East)、西方(the West)
  4. 沙漠、叢林、海灣、半島: 撒哈拉沙漠(the Sahara)

Linux 指令: find 尋找目錄或檔案

用檔名尋找

(預設區分檔案名稱英文大小寫)
find -name “檔案名稱”

(不區分檔案名稱英文大小寫)
find -iname “檔案名稱”

反向尋找(即不符合此名稱的檔案)
find -not -name “檔案名稱”

find -type 檔案類型
檔案類型有:
f: 一般檔案
d: 目錄
l: 連結
c: 字元裝置
b: 區塊裝置

指令格式:
find [-H | -L | -P] [-EXdsx] [-f path] path … [expression]
find [-H | -L | -P] [-EXdsx] -f path [path …] [expression]