Debian 和 Ubuntu 使用 dpkg 來執行 Debian 套件 (.deb) 的安裝與刪除等功能,等同於 RHEL 和 fedora 的 rpm 指令。dpkg 也被作為高階安裝指令如 apt (advance package tool) 等程式的底層呼叫。對於 dpkg 的指令用法,本文就不贅述了。但有部分套件在安裝過後需要透過 dpkg-reconfigure 指令,讓使用者更簡單的去變更設定。在此列出部分常用 dpkg-reconfigure 指令做為參考。 繼續閱讀
分類彙整:Linux
Debian/Ubuntu 新增開機自動執行程式
在 Debian/Ubuntu 系統上,有一個程式我們想要讓他在開機後自動執行,該怎麼做? 繼續閱讀
使用 pidstat 取得指定行程的 CPU 使用率
使用libmodbus實作Modbus協定
Modbus 是一個簡單且實用的工業用的網路協定,因為標準開放且容易實作,非常廣泛的應用於許多工業設備如PLC, AMI, … 等。Modbus協定目前由 Modbus Organization 維護,可以到該網站下載相關 specifications。Modbus 在 OSI 分層架構中屬於應用層,多數建構於串列傳輸 Serial (RS-232/RS-485) 或乙太網 (TCP/IP) 之上。(關於 Modbus 也可以參考小弟的拙於 slideshare) 即便 Modbus 協定相當容易實作,但基於"不要重新製造輪子"的立場,使用 libmodbus 函式庫來幫助我們快速開發,降低錯誤率與減少偵錯時間是個明智的選擇。
創建 Daemon 程式
Daemon 的原意其實就是小精靈(或是小惡魔),一般人是看不見的。而 Daemon 程式是指常駐在 Linux(或 Unix/Unix-Like)作業系統背景中執行的行程,無法被使用者直接操作或控制。這些 Daemon 可能是個 Server 在等待與處理 Client 端的請求,也可能是系統的維護程式。 繼續閱讀
安裝顯示卡驅動程式於Ubuntu
安裝 Linux Distribution 於個人電腦或 Laptop 最大的麻煩之處就是顯示卡驅動程式了!一般的驅動程式托 Kernel developer 之福,很難碰到找不到驅動程式的情形了! 繼續閱讀
Linux 下取得網路界面 MAC Address By C
在 Linux Shell 下要取得網路界面 Interface 的 MAC Address 是相對容易的,只要輸入指令或是藉由 sed 等命令去 parser 即可。若要在程式碼中使用 C 語言取得 MAC Address 資訊其實也非難事,透過 socket 的 I/O control 命令即可。 繼續閱讀
實作 System V Shared Memory in Linux User Space
System V Shared Memory
在撰寫 process 時,有時會希望一些數值或是資料結構可以在不同 process 之間傳遞或是修改。但是資料結構儲存於虛擬記憶體中,不同 process 之間的記憶體區塊都是各自獨立的,無法存取到其他 process 的記憶體位置。如果要實現不同 process 之間存取相同一塊記憶體這樣的功能,就必須使用共享記憶體 (shared memory) 了。 繼續閱讀
BusyBox 應用 – udhcpc
Light-Weight DHCP Client
BusyBox 這套超強瑞士刀套件在嵌入式系統中幾乎可以說是必備,裡面也不乏網路 service 與 application。前陣子 review code 剛好看到 DHCP client 相關程式,就順便記錄 busybox 內建的 udhcpc 的用法吧! 繼續閱讀