Time of Update: 2018-07-30
背景 伺服器重啟了一次,每次都會出現一點小小的問題,這一次出現的問題是無法正常訪問外網(因為伺服器需要通過校內網路認證),於是開始了折騰。。 過程 首先查看了一下DNS之類的是否正常, 然後再去訪問一下baidu.com試一試 發現無法正常訪問baidu.com,於是判斷是否還未進行校園網認證,訪問校園網認證網址(172.18.2.2),發現無法ping通。。 於是開始思考(PS:主機IP:172.18.72.18), 查看路由資訊 預設路由是172.18.
Time of Update: 2018-07-30
1. struct device不再包含bus_id,取而代之的是.init_name,修改ldd_bus struct device ldd_bus = { .init_name = "ldd0", .release = ldd_bus_release};修改函數register_ldd_device如下: 將strncpy(ldddev->dev.bus_id,
Time of Update: 2018-07-30
一、Linux目錄結構 你想知道為什麼某些程式位於/bin下,或者/sbin,或者/usr/bin,或/usr/sbin目錄下嗎。例如,less命令位於/usr/bin目錄下。為什麼沒在/bin中,或/sbin,或/usr/sbin目錄中。所有這些目錄之間有什麼不同。 在這篇文章中,讓我們回顧一下Linux的檔案系統結構,並理解各上層目錄的含義。 藍色:表示目錄 青色:表示連結 黑色:表示檔案 1、/- 根
Time of Update: 2018-07-30
1. 記憶體映射 所謂的記憶體映射就是把實體記憶體映射到進程的地址空間之內,這些應用程式就可以直接使用輸入輸出的地址空間,從而提高讀寫的效率。Linux提供了mmap()函數,用來映射實體記憶體。 在驅動程式中,應用程式以裝置檔案為對象,調用mmap()函數,核心進行記憶體映射的準備工作,產生vm_area_struct結構體,然後調用裝置驅動程式中定義的mmap函數。 2. 映射的種類 把同
Time of Update: 2018-07-30
有兩種方法可以實現: 方法1: 用svn merge 1) 先 svn up,保證更新到最新的版本,如20; 2) 然後用 svn log ,查看曆史修改,找出要恢複的版本,如10 。如果想要更詳細的瞭解情況,可以使用svn diff -r 10:20 [檔案或目錄]; 3) 復原到版本號碼10:svn merge -r 20:10 [檔案或目錄],注意版本號碼之間的順序,這個叫反向合并; 4)
Time of Update: 2018-07-30
一,最少安裝原則 只安裝你確實需要的那些程式包。要是有不需要的程式包,那就清除。程式包數量越少,代碼沒打上補丁的可能性就越小。在安裝任何軟體和依賴程式包(比如ownCloud)之前,你應該讀一下ownCloud的說明文檔,只安裝它需要的那些程式包。 二、最少運行原則 只運行需要的那些服務。許多發行版或程式包可能會開啟某些服務,在不同的連接埠上運行。這可能會帶來安全風險。 三、限制訪問原則
Time of Update: 2018-07-30
導讀 當使用 Linux 下的 find 命令時,請使用 -ok 選項來避免檔案被意外刪除,這個選項會在移除任何檔案之前都會請求你的許可。 當使用 Linux 下的 find 命令時,請使用 -ok 選項來避免檔案被意外刪除,這個選項會在移除任何檔案之前都會請求你的許可。 最近有朋友提醒我有一個有用的選項來更加謹慎地運行 find 命令,它就是 -ok。除了一個重要的區別之外,它的工作方式與 -exec 相似,它使 find
Time of Update: 2018-07-30
測試環境是ubuntu15.04,使用的圖形庫是gtk+。 圖片格式採用的是X11的xpm格式,首先從網上找一個背景透明的png圖片,然後用圖形轉換工具(比如gimp)轉換為xpm格式。 程式碼如下: #include <gtk/gtk.h>void close_app(GtkWidget *widget,GdkEvent *event,gpointer data){ gtk_main_quit();}int main(int argc,char **argv){
Time of Update: 2018-07-30
1.基本概念。 JAVA_MEM_OPTS=" -server -Xmx2g -Xms2g -Xmn512m -XX:PermSize=128m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:+UseFastAccessorMethods
Time of Update: 2018-07-30
Docker Web的安全專家發現了一個新的IoT殭屍網路,它使用了Linux.ProxyM惡意軟體,正試圖攻擊網站。 Linux.ProxyM是一款Linux惡意軟體,它在受感染的裝置上通過SOCKSProxy 伺服器建立一個代理網路,用於轉寄惡意流量,掩蓋其真實來源。 根據Dr. Web的說法,Linux.ProxyM最初於今年2月被發現,在5月下旬其活動達到頂峰,到7月份感染Linux.ProxyM的裝置數量已經達到了1萬台。
Time of Update: 2018-07-30
1.ctags ctags命令配合vim編輯器可以協助程式員很方便地查看原始碼,使用方法: (1)在原始碼頂層目錄下執行ctags -R * 遞迴建立原始碼資訊庫; (2)vim -t tagname 開啟含有tagname的檔案;
Time of Update: 2018-07-30
Linux配置svn以及TortoiseSVN的安裝和使用 在此簡單地總結了一下svn伺服器的配置和TortoiseSVN的使用 httpd和subversion. httpd是web伺服器,用來通過web訪問subversion 這裡我把伺服器的ip地址設定成了 192.168.1.110 一、安裝和配置web服務 考慮到linux安裝rpm包會有很多的依賴包,因此這裡我用的是yum來安裝,配置yum這裡就不詳細講解了 (1)在終端執行命令 yum install
Time of Update: 2018-07-30
一、基本選項 GCC是開源軟體中的一個頂級的C編譯器 gcc -Wall -o hello hello.c -W是開啟警告選項 -all開啟所有 -v顯示詳細資料 -c只編譯產生目標檔案,不產生可執行檔,就是產生.o檔案 GCC不存在連結次序的問題,但最好遵守定義在後、調用在前的規則 有效管理龐大的項目,有make 二、連結外部庫 標準庫: gcc -Wall
Time of Update: 2018-07-30
現在,我們來編寫自己第一個字元裝置驅動 —— 點亮LED。(不完善,後面再完善) 硬體平台:Exynos4412(FS4412) 編寫驅動分下面幾步: a -- 查看原理圖、資料手冊,瞭解裝置的操作方法; b -- 在核心中找到相近的驅動程式,以它為模板進行開發,有時候需要從零開始; c -- 實現驅動程式的初始化:比如向核心註冊這個驅動程式,這樣應用程式傳入檔案名稱,核心才能找到相應的驅動程式;
Time of Update: 2018-07-30
gdb提供了一個python的指令碼介面,核心提供了一些有用的指令碼用來簡化核心的調試步驟。 設定 為QEMU/KVM建立一個虛擬機器。 編譯核心時啟用CONFIG_GDB_SCRIPTS,但不要啟用CONFIG_DEBUG_INFO_REQUCED。如果你的機器架構支援CONFIG_FRAME_POINTER,也開啟這個選項。 把核心安裝在guest,關閉KASLR。 在QEMU/KVM上開啟gdb樁。 cd
Time of Update: 2018-07-30
都支援regular expression1. find-name 按名字尋找 -perm 根據許可權尋找 -ctime –n +m 根據建立時間尋找,-n n天內,+n n天之前 -mtime –n +n 最後修改時間 -exec command {} \; 對每條記錄執行command -ok command {}\;同上 例:find . –name “*.log” –exec ls –al {} \; find /var -name "*.log" -mtime +1
Time of Update: 2018-07-30
入侵偵測系統(IDS)是對電腦和網路系統資源上的惡意使用行為進行識別和響應的處理系統,它像雷達警戒一樣,在不影響網路效能的前提下,對網路進行警戒、檢測,從電腦網路的若干關鍵點收集資訊,通過
Time of Update: 2018-07-30
1.vim代碼編輯工具,解決vi編寫代碼時,方向鍵出現不相容問題 sudo apt-get install vim 2.minicom串口調試工具,與嵌入式開發板串口調試 sudo apt-get install minicom 3.nfs伺服器安裝,用於主機與開發板檔案傳輸 sudo apt-get install nfs-kernel-server#安裝伺服器端 sudo apt-get install nfs-commom#安裝用戶端
Time of Update: 2018-07-30
進程空間布局: text segment(文本段):包含進程啟動並執行機器指令 initiallized data segment(初始化資料區段):包含顯式初始化的全域變數和靜態變數 uninitiallized data segment(未初始化資料區段):包含未顯式初始化的全域變數和靜態變數 stack(棧):動態增長和收縮,由stack frames(棧幀)組成 heap(堆):運行時動態分配,堆頂為program break
Time of Update: 2018-07-30
1、下載ffmpeg。 在網上搜尋一下,或者到官方網站下載 2、解壓 tar命令解壓 3、配置 ./configure --enable-shared --prefix=/usr/local/ffmpeg 其中:--enable-shared 是允許其編譯產生動態庫,在以後的編程中要用到這個幾個動態庫。--prefix設定的安裝目錄。 4、編譯並安裝 make make