It said "Install ncurses (ncurses-devel) and try again.", but I couldn't find this
package on Ubuntu.
After searching, there's a package named "libnurses5-dev" could help, so just
"sudo apt-get install libncurses5-dev".
Then "make menuconfig" works.
2012年2月29日 星期三
2012年2月27日 星期一
[Linux][Ubuntu][Free Memory]
幾天前,心血來潮下了 free 來看看 memory usage,意外發現可利用的 memory
剩不到 1/4,明明我也沒用的特別兇猛阿。(雖然 Fx 的確可能會吃的很兇啦....)
但用 ps aux 來看,自己加一加卻發現全體 processes 沒有用到那麼大量的記憶體。
那到底是怎麼回事呢??
再仔細看了一下 free show 出的內容,怎麼 cached 那一塊特別的大!?
該不會是都被 cache 用走了吧 Orz
看了 Reference 的部份才發現 Linux 2.6.16 後的版本在顯示上並不會說有
釋放 memory 的動作,不過實際上當有需要時還是會壓榨出來使用。
若想強勢清除 cache 以達到 free memory 的動作,用以下的指令:
sudo su
echo 3 > /proc/sys/vm/drop_caches
sudo su 就事變身為 root,我有試過
sudo echo 3 > /proc/sys/vm/drop_caches
結果是 permission denied....
所以還是先變身為 root 再執行動作吧。
/proc/sys/vm/drop_caches 裡頭原本的值是 0。
不同的值所代表的意義如下:
0 # default
1 # free pagecache
2 # free dentries, inodes
3 # free pagecache, dentries, inodes
(奇怪,我沒有 drop_caches 的 man page....)
現在把值改為 3,再觀察一陣子看看。
Reference:
http://gwokae.mewggle.com/wordpress/index.php/archives/544
ftp://ftp.alaska.edu/pub/sois/man/drop_caches.html
剩不到 1/4,明明我也沒用的特別兇猛阿。(雖然 Fx 的確可能會吃的很兇啦....)
但用 ps aux 來看,自己加一加卻發現全體 processes 沒有用到那麼大量的記憶體。
那到底是怎麼回事呢??
再仔細看了一下 free show 出的內容,怎麼 cached 那一塊特別的大!?
該不會是都被 cache 用走了吧 Orz
看了 Reference 的部份才發現 Linux 2.6.16 後的版本在顯示上並不會說有
釋放 memory 的動作,不過實際上當有需要時還是會壓榨出來使用。
若想強勢清除 cache 以達到 free memory 的動作,用以下的指令:
sudo su
echo 3 > /proc/sys/vm/drop_caches
sudo su 就事變身為 root,我有試過
sudo echo 3 > /proc/sys/vm/drop_caches
結果是 permission denied....
所以還是先變身為 root 再執行動作吧。
/proc/sys/vm/drop_caches 裡頭原本的值是 0。
不同的值所代表的意義如下:
0 # default
1 # free pagecache
2 # free dentries, inodes
3 # free pagecache, dentries, inodes
(奇怪,我沒有 drop_caches 的 man page....)
現在把值改為 3,再觀察一陣子看看。
Reference:
http://gwokae.mewggle.com/wordpress/index.php/archives/544
ftp://ftp.alaska.edu/pub/sois/man/drop_caches.html
2012年2月20日 星期一
[Linix][Ubuntu][Windows XP on KVM]
來做個空的 12GB img file。 dd if=/dev/zero of=/home/user/xp.img bs=1024k count=12000 接下來就是直接灌了。 kvm -m 1024 -cdrom /home/user/winxp.iso -boot d /home/user/xp.img -m 的部份是設定 memory (MB),每次啟動時可以自行調整, 有次想說用 512 結果 XP 慢到無法忍受。 安裝 XP 的步驟就跟平常一樣。 xp.img 製作好了之後,可以直接用下列指令以該 image 開啟。 kvm -m 1024 -hda /home/user/xp.img References: http://www.howtoforge.com/virtualization-with-kvm-on-ubuntu-10.10
http://www.howtoforge.com/installing-windows-xp-as-a-kvm-guest-on-ubuntu-8.10-desktop
2012年2月9日 星期四
[Linux][Ubuntu][Apache2 change Document Root]
Apache2 把設定檔分散的挺細的。
不過光看檔案及資料夾名稱,還是能猜出它們的用途。
而在 Apache2 要更改 Document Root 的話。
有兩種作法,一種是直接改 sites-available/default 裡面的資訊,
把預設的 /var/www 改成自己想要指定的路徑,然後重新啟動 apache2。
另一種就是複製一份 default 自己改 XD
後者的作法需要 a2dissite default 這個指令來 disalbe default。
然後再用 a2ensite 來指定你希望 enable 的 site。
然後再 restart apache2 就 OK 了。
=========================================================
作法二指令化:
在此假設我要把 Document Root 改成 /var/www/MySite,
並且指定在 Apache2 中的代號是 mysite。
sudo mkdir /var/www/MySite
cd /etc/apache2/sites-available
sudo cp default mysite
sudo vi mysite
Change all the "/var/www" to "/var/www/MySite". <--- 這是動作不是指令。
sudo a2dissite default
sudo a2ensite mysite
sudo /etc/init.d/apache2/restart
此時你會發現在 /etc/apache2/sites-enable 中會產生個 mysite 的 symbol link。
搞定。
=========================================================
Reference:
http://www.ajopaul.com/2010/05/01/ubuntu-apache2-change-default-documentroot-varwww/
不過光看檔案及資料夾名稱,還是能猜出它們的用途。
而在 Apache2 要更改 Document Root 的話。
有兩種作法,一種是直接改 sites-available/default 裡面的資訊,
把預設的 /var/www 改成自己想要指定的路徑,然後重新啟動 apache2。
另一種就是複製一份 default 自己改 XD
後者的作法需要 a2dissite default 這個指令來 disalbe default。
然後再用 a2ensite 來指定你希望 enable 的 site。
然後再 restart apache2 就 OK 了。
=========================================================
作法二指令化:
在此假設我要把 Document Root 改成 /var/www/MySite,
並且指定在 Apache2 中的代號是 mysite。
sudo mkdir /var/www/MySite
cd /etc/apache2/sites-available
sudo cp default mysite
sudo vi mysite
Change all the "/var/www" to "/var/www/MySite". <--- 這是動作不是指令。
sudo a2dissite default
sudo a2ensite mysite
sudo /etc/init.d/apache2/restart
此時你會發現在 /etc/apache2/sites-enable 中會產生個 mysite 的 symbol link。
搞定。
=========================================================
Reference:
http://www.ajopaul.com/2010/05/01/ubuntu-apache2-change-default-documentroot-varwww/
2012年2月6日 星期一
[Linux][Script][Shell Programming 333 個應用範例技巧大全集 Memo]
編號是我自己編的,跟書內範例的次序不同。 001. 「echo ${PIPESTATUS[1]}」可得到 pipe 中第二個指令的執行回傳值, 以判斷是否執行成功。 002. 「nohup command &」可以使得 command 在背景執行時即使使用者登出或 終端被關閉依然繼續執行。 003. 「eval $variable」可將 $variable 的值當作指令執行。 004. 「ls | tee list.txt | sort -r > list_rev.txt」中,tee 將 stdio 得出的 ls stdout 寫到 list.txt 中,同時也寫到 tee 自己的 stdout。在此例中 list.txt 與 list_rev.txt 會是兩份資料次序相反 的檔案。 005. 「command > filename 2&1」,將 command stdout 跟 stderr 的訊 息都寫到 filename 中。更精確來說,是將 stderr 的 message redirect 到 stdout。 006. 在 script 中 self-defined 的 function 可以用 unset 來取消, 不過真的有人會要這麼做嗎.... 007. Argument $1, $2..等的個數,可用 $# 來顯示。 008. Shell 中沒有絕對的 Global Variable. 009. 可以用「shift」來將 arguments 的 index 移動到第 number 個 argument 處。 010. Arguments 為「a b c」時,若是「"$*"」的話是「"a b c"」, 而「"$@"」的話則是「"a" "b" "c"」。 011. 「${var_name:=default_value}」,var_name 未定義或是空值時會將 default_value 設定為它的值。 012. 「$(var_name:?message}」,var_name 未被定義時,會顯示 message 並且中止 script. 013. 「readonly var_name」,之後 var_name 這個變數無法被改變。 014. (1) 用「"..."」,字串整體會被當成個單字處理,會進行變數展開及指令替換 等展開動作。 (2) 用「'...'」,字串整體會被當成個單字處理,但不會進行展開動作。 (3) 直接寫入,(1) 的情況加上 tilde expansion 和路徑名稱的展開。 015. 「set -- $var」可以將 $var 這個字串分割成多個單字, 結果可用 $1 到 $9 來參照。 016. 「substr=`echo "$str" | cut -c${start}-${end}」可取出 字串 $str 中第 start 到 end 的結果存到 substr. 017. 「echo "$text" | tr 'a-z' 'A-Z'」,將 $text 中的小寫轉成大寫。 018. 「echo "${#text}」,顯示 $text 這一字串的長度。 019. 「random=$(((RANDOM % 10) + 1))」會產生 1~10 的亂數。 020. 「if tty -s; then」,判斷是否是在終端執行。 021. 「basename dir1/dir2/sample.txt .txt」會輸出 sample,看起來 像是只得到檔名而消除了副檔名。 022. 「bname=`expr "$1" : '\(.*\)\.'`」消除副檔名; 「ext=`expr "$1" : '.*\(\..*\)'`」取得副檔名。 023. 消除像是 -test 這類的檔案,可以用「rm -- '-test'」。 024. 「: >file_name」會得到個內容為空的 file_name 檔案。 若使用 touch 的話,當檔案本身已存在時,僅會更改更新日期,而內容不變。 025. 「mkdir -p dir1/dir2/dir3」,當 dir2 跟 dir3 不存在時不會出現 錯誤,而是會自行幫你產生 dir2 跟 dir3. 026. 在 cp 時加上 "-p",可以保留所有權、存取權、更新日期等資訊, 但 symbolic link 在複製過去時會變成普通的檔案。 027. 「dd if=/dev/zero of=bigimage bs=1024 count=1024」會製作一 個 1024x1024 (1M) 大小,名稱為 bigimage 的空檔案。 028. getopts:用來拆參數列。 029. 「echo -n "message"」,輸出 message 後不會換行。 030. 「stty raw」,終端會被設定在 raw 模式,此時就會在每次輸入一個字時 把資料傳給程式。若想恢復成原本的模式,則用「stty -raw」。 031. stty 的「echo」「-echo」是設定是否要把輸入的文字顯示在畫面上。 032. 「stty raw -echo char=`dd bs=1 count=1 2>/dev/null` stty -raw echo echo "Key pressed: '$char'"」 程式執行時,按一個鍵不用按 Enter,資料就會被送入程式進行處理。 033. 「stty sane」可以重置終端。 034. 「pgrep '^sshd$'」會顯示執行中的一個名稱叫作 sshd 的行程的 pid 一覽表。 035. 優先順位的數值越大,形程執行的優先順位越低。 036. 「trap '' INT」中,「''」是代表預執行的處理部份是空值,所以在程式執行過程 中下 ctrl+c 並不會被受理。 037. 「tar cf -path | gzip -c | ssh host "cat > filename.tar.gz」, 似乎挺有趣的,改天再來試試。
訂閱:
文章 (Atom)