Time of Update: 2018-12-04
Virtual Box是一款深受多人喜歡,功能強大的開源虛擬機器軟體。有關於介紹它的文章網上比比皆是,這裡不再累贅。 前些時間在winXP下安裝了virtual box,接下來在virtual box中安裝Linux(此處Linux往往稱為Linux Guest,出於擔心翻譯過後引起誤解,固使用了官方的直接稱呼)。可是在啟動Linux後,在winXP下無法直接通過ssh直接連接到Linux。查了不少資料,曆經好多嘗試,終於搞定,貼出來與大家分享。 第一步:首先在Virtual
Time of Update: 2018-12-04
在Linux (RHEL)下,當我使用whatis命令的時候,比如想尋找一下ls命令的相關釋意,shell提示說: 可我記得以前是好用的啊,現在是怎麼了?上網找了找,沒遇到什麼好的解決方案,也可能是沒查到吧,靠人不如靠自己啦。查man手冊吧: 手冊上其中有這樣一句: 哇,原來是這樣。在命令列上執行下面的命令: 經過一段時間的硬碟檢索後,終於解決了這個問題,哈哈。
Time of Update: 2018-12-04
緊接前面兩篇,前面已經搭建了.111上icinga的伺服器,並且監控了遠程.131Linux伺服器的HTTP服務。因為HTTP服務屬於public service, 不需要在遠程機器上安裝agent,但是如果需要監控.131的本地資源,比如磁碟,CPU等,就需要安裝一個軟體。icinga提供了兩種模式,一種叫做active check,就是server .111輪詢.131,這種效率不搞,不推薦。還有另一種模式,passive check,
Time of Update: 2018-12-04
在ubuntu中,終止一個進程或終止一個正在啟動並執行程式,一般是通過 kill 、killall、pkill、xkill 等進行。-------------------------------------------------------------------先看兩個例子: 例子一:結束某個程式,如Firefox 鍵入命令:pkill firefox 例子二: 結束某個進程,如find 先用ps命令來查看該進程對應的PID。鍵入ps,顯示如下:PID TTY
Time of Update: 2018-12-04
fork函數學習:#include <sys/types.h>#include <unistd.h>#include <stdio.h>#include <stdlib.h>main () { pid_t pid; pid=fork(); if (pid < 0) printf("error in fork!"); else if (pid == 0) printf("i am the child process,
Time of Update: 2018-12-04
1.SHELL //得到已經使用的磁碟空間,以位元組為單位 #ifdef _LINUX sprintf(cmd, "cd %s;find . -name /"*.*/"|xargs ls -l|awk '{size+=$5}END{print size}'", str_FilePath.c_str()); //sprintf(cmd, "du -s %s|awk '{print $1}'",
Time of Update: 2018-12-04
1.從 ftp://ftp.gnu.org/gnu/下載最新版本flex、bison、GNU
Time of Update: 2018-12-04
int system(const char * cmdstring){ pid_t pid; int status; if(cmdstring == NULL){ return (1); } if((pid = fork())<0){ status = -1; } else if(pid == 0){ execl("/bin/sh", "sh", "-c", cmdstring, (char *)0); -exit(127);
Time of Update: 2018-12-04
可以看到,在頂層makefile的第278行,包含了scripts/Kbuild.include檔案,在這裡定義了大量的函數和變數,供頂層makefile和其他makefile檔案使用。在頂層makefile檔案的第412行,包含了arch/arm/Makefile。這個是體繫結構相關makefile檔案。它定義了體繫結構相關的一些變數及規則。當執行”make”時,arch/arm/Makefile中的185行的規則將是make遇到的第一個規則:all: $(KBUILD_IMAGE)
Time of Update: 2018-12-04
ioremap void * ioremap (unsigned long offset, unsigned long size) ioremap是一種更直接的記憶體“分配”方式,使用時直接指定物理起始地址和需要分配記憶體的大小,然後將該段 物理地址映射到核心地址空間。ioremap用到的物理地址空間都是事先確定的,和上面的幾種記憶體
Time of Update: 2018-12-04
常用記憶體配置函數 __get_free_pages unsigned long __get_free_pages(gfp_t gfp_mask, unsigned int order) __get_free_pages函數是最原始的記憶體配置方式,直接從夥伴系統中擷取原始頁框,傳回值為第一個頁框的起始地址。__get_free_pages在實現上只是封裝了alloc_pages函
Time of Update: 2018-12-04
描述 popen() 函數 用 建立管道 的 方式啟動一個 進程, 並調用 shell. 因為 管道是被定義成單向的, 所以 type 參數 只能定義成 唯讀或者 唯寫, 不能是 兩者同時, 結果流也相應的 是唯讀 或者 唯寫.command 參數 是 一個 字串指標, 指向的是一個 以 null 結束符 結尾的字串, 這個字串包含 一個 shell 命令. 這個命令 被送到 /bin/sh 以-c 參數 執行, 即由 shell 來執行. type 參數 也是 一個 指向 以 null
Time of Update: 2018-12-04
1、位元組轉換函式 在網路上面有著許多類型的機器,這些機器在表示資料的位元組順序是不同的, 比如i386晶片是低位元組在記憶體位址的低端,高位元組在高端,而alpha晶片卻相反. 為了統一起來,在Linux下面,有專門的位元組轉換函式. unsigned long int htonl(unsigned long int hostlong) unsigned short int htons(unisgned short int hostshort) unsigned
Time of Update: 2018-12-04
本來想直接看UNIX環境進階編程,發現還是有點啃不懂,就先把鳥哥私房菜拿來看看了!學校的書都被借光了,只能看電子版了。先說一下Linux的一些發展1.兩個重要的思想:所有的程式或系統裝置都是檔案;不管構建編輯器還是附屬檔案,所寫的程式只有一個目的:要有效完成目標;2.BSD:Berkerley Software Distribution 開發人員 Bill Joy,他開創了Sun公司;3.Richard Mathew Stallman 創造了gcc,BASHshell,Emacs,glibc;4
Time of Update: 2018-12-04
學號:sa×××310 姓名:××濤 通過上面一些對進程的學習和一些代碼的驗證,我們對Linux下的進程方面的知識有了一個很好的瞭解。相關的文章:進程式控制制Linux作業系統分析(2)- 進程的建立與可執行程式的載入下面來簡單總結一些核心裝載ELF的過程總結。簡單的說,整個流程分為三步:1)建立一個獨立的虛擬位址空間;2)讀取可執行檔頭,並且建立虛擬空間與可執行檔的映射關係;3)將cpu的指令寄存器設定成可執行檔的入口地址。過程的基本流程如
Time of Update: 2018-12-04
1. 資料截斷:由於long類型變數的運算(賦值、比較、移位等)產生。long定義在x86上為32bits,而在ia64上為64bits.容易在與int型變數運算時出現異常。處理方法:盡量避免不同類型變數間的運算,避免將長度較長的變數賦值到較短的變數中,統一變數長度可以解決這個問題。簡單的對於32位轉移到64位可以將所有long定義轉換為int定義。2.
Time of Update: 2018-12-04
一、什麼是Linux裝置檔案系統
Time of Update: 2018-12-04
文章並沒有完全一對一翻譯,主要是意譯,有時會省略原文內容,有時會增加自己理解。摘要學習如何為你的Linux系統選擇和配置一個種啟動管理器。(Lilo不再是LPI的要求,但是本文還是包含了LILO)。概述在本文,你將學會如何為Linux系統選擇和配置啟動管理器,具體是:配置多位置啟動和備份啟動選項安裝和配置一種啟動管理器,如GRUB,GRUB2,或者是LILO在啟動時增加核心啟動參數或者運行載入器命令從常見的啟動問題中恢複使用GRUB啟動GRUB2本文討論了PC的啟動流程和用於Linux系統的三種
Time of Update: 2018-12-04
1 問題描述VMware中複製虛擬機器是經常的事情,對於客戶機是Winows的虛擬機器直接複製就可以使用。對於客戶機是Linux的虛擬機器複製後會出現網路無法啟動的問題。使用service network start 命令會出現報錯如下:device eth0 does not seem to be present2
Time of Update: 2018-12-04
每次都去查,總是記不住,最終還是在這裡做個筆記吧。添加使用者useradd和adduser都能添加使用者,區別是:1.adduser會提示設定密碼,而useradd不會。2.adduser會建立使用者目錄,比如/home/freebird freebird是使用者,useradd不會3.adduser會建立使用者組,預設和使用者名稱相同4.adduser會詢問全名,房間號碼,電話號碼等使用者資訊,useradd不會下面是用adduser建立的例子:root@ubuntu1204-dell:~#