一名叫做 Dmitry Grinberg 的國外駭客嘗試製作了一個 8 位的簡單電腦微控制裝置,在它上面運行Linux。他寫了一個 ARM 模擬器: 啟動 2 小時後看到了命令列提示符(init=/bin/bash),4 小時後看到了 Ubuntu 登入頁面。登入之後系統從某種程度上還是可用的,輸入一個命令後在一分鐘內能看到回應。按照一般情況來說,Linux 不會在少於 32 位的系統上運行,因此,駭客 Grinberg 不得不為 8 位處理器編寫了一個 32 位模擬器,他類比的 CPU
核心版本:2.6.34ICMP模組比較簡單,要注意的是icmp的速率限制策略,向IP層傳輸資料ip_append_data()和 ip_push_pending_frames()。在net/ipv4/af_inet.c中的inet_init()註冊icmp協議,從這裡也可以看出,ICMP模組是綁 定在IP模組之上的。inet_add_protocol()會將icmp_protocol加入到全域量inet_protos中。if
核心版本:2.6.34這部分的重點是三個核心的資料結構-鄰居表、鄰居緩衝、代理鄰居表,以及NUD狀態轉移圖。總的來說,要成功添加一條鄰居表項,需要滿足兩個條件:1. 本機使用該表項;2. 對方主機進行了確認。同時,表項的添加 引入了NUD(Neighbour Unreachability Detection)機制,從建立NUD_NONE到可用NUD_REACHABLE需要經曆一系列狀態轉移,而根 據達到兩個條件順序的不同,可以分為兩條路線:先引用再確認- NUD_NONE ->
核心版本:2.6.34這篇是關於IP層協議接收報文時的處理,重點說明了路由表的尋找,以及IP分區重組。ip_rcv 進入IP層報文接收函數丟棄掉不是發往原生報文,skb->pkt_type在網卡接收報文處理乙太網路頭時會根據dst mac設定, 協議棧的書會講不是發往原生廣播報文會在二層被丟棄,實際上丟棄是發生在進入上層之初。if (skb->pkt_type == PACKET_OTHERHOST) goto
核心版本:Linux-2.6.34網卡驅動:B4401什麼是NAPINAPI是linux一套最新的處理網口資料的API,linux
環境說明:linux核心版本:2.6.35開發板:WY-S5PV210一、按照下面的方法建立開機圖片1、用PhotoShop或網上下載80x80的圖片一張2、使用GIMP工具轉換成224色的ppm格式的圖片(1)開啟要轉換的圖片(2)依次選擇映像->模式->索引,在最大顏色數量選擇224(3)
cal命令可以用來顯示西曆(陽曆)日曆。西曆是現在國際通用的曆法,又稱格列曆,通稱陽曆。“陽曆”又名“太陽曆”, 系以地球繞行太陽一周為一年,為西方各國所通用,故又名“西曆”。1.命令格式:cal [參數][月份][年份]2.命令功能:用於查看日曆等時間資訊,如只有一個參數,則表示年份(1-9999),如有兩個參數,則表示月份 和年份3.命令參數:-1 顯示一個月的月曆-3 顯示系統前一個月,當前月,下一個月的月曆-s
find是我們很常用的一個Linux命令,但是我們一般尋找出來的並不僅僅是看看而已,還會有進一步的操作,這個時候exec的 作用就顯現出來了。exec解釋:-exec 參數後面跟的是command命令,它的終止是以;為結束標誌的,所以 這句命令後面的分號是不可缺少的,考慮到各個系統中分號會有不同的意義,所以前面加反斜線。{} 花括弧代
近日在最佳化oracle的時候,遇到了oracle的SGA大小遠遠大於linux系統共用記憶體的最大值,以至於當我用ipcs命令查看的時候,oracle的SGA區被分成了10個段,這大大影響的oracle的反應速度。後來經過查閱資料,得出一下簡便的修改共用記憶體的方法,和大家共用。一般的以為修改系統共用記憶體需要修改核心程式,然後make,很麻煩。其實,只要在rc.local的加入一點東西,就可以免去修改核心的麻煩。修改方法如下:修改/etc/rc.d/rc.local檔案。在檔案的前面注釋的後
虛擬私人網路(VPN)虛擬私人網路是藉助公用網路internet來串連在不同地理位置的本網,網路間的訪問就像本地訪問一般。由於VPN在傳輸資料的過程中對資料進行了加密,儘管這些資料在公用網路上傳輸,其安全性還是很高的。這幾年帶VPN功能的硬體裝置還是賣得很歡的,有些防火牆廠商還拿它的VPN功能作賣點呢。在這裡我們不關注硬體VPN,只講linux下的VPN。1、安裝VPN 包需要dkms-2.0.10-2.fc5.noarch.rpm,
在一個典型的Linux系統中,至少有兩個目錄或分區保持著臨時檔案。其中之一是/tmp目錄,再者 是/var/tmp。在更新的Linux核心的系統中,還可能有/dev/shm,它是用tmpfs檔案系統裝載的。儲存臨時檔案的目錄存在著一個問題,即這些目錄可以成為損害系統安全的殭屍和rootkit的溫床。這 是因為在多數情況下,任何人(或任何過程)都可以向這些目錄寫入東西,還有不安全的許可問題。我們 知道都sticky bit,該位可以理解為防刪除位元。如果希望使用者能夠添加檔案但同時不能刪除檔案,
1.1 platform匯流排、裝置與驅動在Linux
JDK的安裝下載JDK:事先找到的jdk下載位置複製到剪貼簿,用Putty通過SSH連到伺服器,找個合適的位置準備下載JDK安裝檔案,如"/usr/java ",然後在此目錄中輸入:server:/usr/java # wget http://www.sun.com/....../jdk-6u13-linux-x64-rpm.bin 斷行符號後即會開始下載。安裝:執行server:/usr/java #
Zorin OS是基於Ubuntu的Linux發行,特別為Linux新手而設計。它擁有類似Windows的圖形化使用者介面,以及很多類似Windows下的應用軟體。Zorin OS還帶有能讓使用者運行很多Windows軟體的程式。該發行的終極目標是提供一份可作為Windows替換的Linux選擇,並讓Windows使用者在 避免煩瑣的同時享受Linux的所有特性。Zorin OS 6.1 基於 Ubuntu 12.04(因為這是 LTS
環境:VirtualBox4.1 + RedHat Linux 6問題:按退格鍵出現問號如圖所示:問題分析:誤用reset命令所致。解決:設定環境變數(在文 字介面裡設定,也就是類似於Windows的Dos介面):在bash下,執行如 下語句:$ stty erase ^?或者把 stty erase ^?添加到.bash_profile 中。在csh下,執行如下語句:$ stty erase ^H或者把 stty erase ^H添加到.cshrc中。
popenLinux C進程I/O函數,與pclose函數一起使用。表標頭檔#include <stdio.h>函數定義FILE * popen ( const char * command , const char * type );int pclose ( FILE * stream );函數說明popen() 函數通過建立一個管道,調用 fork 產生一個子進程,執行一個 shell 以運行命令來開啟一個進程。這個進程必須由 pclose() 函數關閉,而不是 fclose()
可重新進入函數可重新進入函數(即可以被中斷的函數)可以被一個以上的任務調用,而不擔心資料破壞。可重新進入函數在任何時候都可以被中斷,而一段時間之後又可以恢複運行,而相應的資料不會破壞或者丟失。可重新進入函數使用的變數有兩種情況:1.使用局部變數,變數儲存在CPU寄存器中或者堆棧中;2.使用全域變數,但是這時候要注意保護全域變數(防止任務中斷後被其它任務改變變數)。void strcpy(*dest,*src){ while(* dest++ = *src ++){;} *dest =
首先我們用虛擬機器類比 裝linux系統,然後下一步下一步,然後完成後,編輯一些設定,把鏡像放上面就可以了選第一項,安裝系統,查看鏡像是否能運行,直接跳過,選擇語言 和鍵盤語言,建議都用英語。然後選擇本地時間,輸入你要設定的管理密碼 重複一次,然後下一步就可以了,等安裝完成就ok。這裡只介紹簡單的安裝,如果後續服務搭建,後續介紹!然後重啟後就可以了。圖附上
Linux在系統運行時修改核心參數(/proc/sys與/etc/sysctl.conf),而不需 要重新引導系統,這個功能是通過/proc虛擬檔案系統實現的。在/proc/sys目錄下存放著大多數的核心參數,並且設計成可以在系統啟動並執行同 時變更, 可以通過更改/proc/sys中核心參數對應的檔案達到修改核心參數 的目的(修改過後,儲存設定檔就馬上自動生效),不過重新啟動機器後之前修 改的參數值會失效,所以只能是一種臨時參數變更方案。(適合調試核心參數優 化值的時候使用,如果設定值有問題,
fork的作用是根據一個現有的進程複製出一個新進程,原來的進程稱為父進程(Parent Process),新進程稱為子進程(Child