<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    MDA/MDD/TDD/DDD/DDDDDDD
    posts - 536, comments - 111, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    ubuntu 超級優化,不僅僅是禁用幾個服務哦

    posted @ 2011-01-07 04:33 leekiang 閱讀(331) | 評論 (0)編輯 收藏

    About Shell
    -----------
    Q1.用戶登錄到Linux機器,系統會啟動login子程序處理用戶登錄請求,如何自動設置用戶環境變量?
    比如 PATH,CVS_RSH等等

    編輯/etc/profile 和 $HOME/.bash_profile $HOME/.bash_login $HOME/.profile
    當退出登錄時,shell會執行 ~/.bash_logout

    Q2.如何快速執行歷史命令?

    fc -s [cmd] 執行編號為cmd的命令,缺省的話,執行最近1條指令
    可以使用alias r='fc -s' 登記1個命令別名,減少鍵擊次數

    注:
    fc - Fix Command

    可以用bash內建的命令查找功能,在命令輸入狀態下輸入C-R,則再輸入命令,即可出現
    與當前輸入字符串匹配的命令列表

    Q3.如何快速查看一個用戶的id和組id?

    輸入id 即可查看當前用戶的id和組id(包括數字和名稱)
    輸入id [USERNAME] 即可查看 USERNAME的id和組id(包括數字和名稱)

    Q4.如何查看OS打開的所有文件句柄?

    輸入lsof,可查看所有的打開文件
    輸入lsof /path/of/file, 可查看/path/of/file目錄中被打開的文件

    Q5.如何轉化不同編碼的文件?

    例如 readme.txt 是GB2312編碼的,Console只支持utf-8的,要將readme.txt
    打印處理,如果不作編碼轉換,必然出現亂碼.
    可以用iconv工具進行轉化
    cat readme.txt| iconv -f gb2312 -t utf-8

    Q6.如何在當前的shell會話上下文中設置環境變量?

    將設置指令寫如一個特定的bash文件,如setup.sh
    執行 . setup.sh 命令
    注: . 也是bash的一個內建指令

    Q7.如何使用Bash的花括號自動擴展?

    假設我們要打印出從a到z的26個字母,那么通常做法是從a循環到z,逐個輸出,但我們知道
    Linux下這樣的輪子大多數已經被人發明過了,Bash中就有這樣的工具

    輸入 echo {a..z}

    擴展應用:
    a) 當我們要列出多個目錄下的文件時,這能給我們幫助
    ls /path/{dir1, dir2}
    b) 當我們要改變多個目錄的屬主時
    chown /path/{ex?.?*, how_ex}

    Q8.如何把一個命令的輸出賦值給某一個特定的變量?

    使用語句
    var1=$(command)
    或者反引號
    var1=`command`

    Q9. Bash中如何用快捷鍵鍵?

    輸入 CTRL-W 刪除左邊文本,直至遇到空格 ( vim 中 dB )
    輸入 CTRL-K 刪除從光標位置到行尾的文本 (vim 中 d$ )
    輸入 CTRL-Y 粘貼剪貼板中的文本至光標位置 (vim 中 p)
    輸入 CTRL-r或 CTRL-s, 可匹配增量匹配當前的字, 顯示出候選的命令.如果有多個匹配
    結果,則輸入C-r向后搜索,輸入C-s向前搜索.

    Q10. 如何讓Bash中在sudo/man等命令時也會自動補全命令?

    可利用Bash中的Programmable Completion Builtins功能,具體語法見
    INFO BASH :: Command Line Editing :: Programmable Completion
    比如要讓man 具備自動補全的功能,則這么寫
    complete -F _man $filenames man

    _man 函數會被執行,請求所有可能補全的值寫在COMPREPLY數組中

    Q11. Bash中如何Use Here Document?
    使用語法
    VAR=<<"EOF"
    Some here document
    EOF

    注: 詳見Bash Info - 3.6.5 Here Documents
    - read input from the current source until a line containing only WORD (with no trailing
    -blanks) is seen.

    Q12. Bash中[[和[有何不同?
    [[是復合命令,它可以構成測試用的表達式,表達式可以是bash中的條件表達式的任一種,
    單目和雙目運算的均可.可以用! && || 這樣的邏輯運算符.

    [是內建命令,同樣也是用來測試表達式,表達式可以是Bash條件表達式中的任一種.
    可以用! -a -o 這樣的邏輯運算符.
    兩者是除了邏輯運算符不同之外,并無明顯區別.

    About Man/Info
    ---------------
    Q1.用戶手冊將命令劃分為不同的類別,如何查看分屬不同Section的命令?

    man 7 locale # 7代表Section 號


    About X
    --------
    X1.如何獲得系統中所有的字體?

    輸入指令 xlsfonts

    X2. 如何在ssh登錄到遠程機器上后在本地運行X應用程序?

    假設你的本地主機HostA,遠程主機HostB,那么你要遠程連接到HostB上運行X應用,顯示在
    HostA的屏幕上.
    1. 配置HostA上 ~/.ssh/config 文件

    Host *
    ForwardAgent yes
    ForwardX11 yes

    ForwardX11Trusted yes
    2. ssh HostB
    3. 執行X應用程序

    注意:必須在HostA上開通X11的轉發而不是HostB.

    X3. 如果使用第2個屏幕-投影儀?

    在Ubuntu 7.04以上中自動支持投影儀,即插即用,但需要插上VGA的接口,重新啟動系統后方可使用
    在Ubuntu 7.10版本接上投影儀后,第2個屏幕無輸出,要LOGOUT后才有輸出

    About Maintain
    --------------
    R1. 目錄名字不要包含大寫字符,盡量少包含中文字符.

    1. 中文文件名在Unix/Linux下不易輸入,需要X/輸入法的支持.
    2. 如果采用Apache的文件訪問接口,非Latin字符大多需要URL轉義,這對于HTML作者不友好

    R2. 請及時清理一些臨時,系統日志文件,減少其對存儲空間的占用,也是加快程序運行速度
    1. /tmp
    2. /var/log

    R3. 不要直接用root用戶身份登錄系統

    如果你不想讓你系統中的重要文件因為你的操作不當在傾刻間消失,那就用吧.
    有人用chown命令把整個操作系統中文件的用戶/組屬性改成了asterisk:asterisk
    也有人曾經把/var, /etc兩個目錄刪除,系統必須重裝.

    R4. 為了有助于確保Web Mail您的密碼和帳戶的安全,請在每個會話結束時注銷帳戶。

    About System
    ------------
    S1. Linux在boot起來之后,先調用/sbin/init,它是其他所有進程的父進程
    1.啟動時先運行boot level master script
    2.執行硬件初始化腳本
    3.執行run level master script,運行級別定義在/etc/inittab中
    每級的腳本放在/etc/init.d/rc<X>.d中
    4.到最后用戶看到的即是mingetty登錄界面

    S2. Linux TTY這種用戶接口的設計思想
    用戶通過本地鍵盤或者網絡 -->命令 -->TTY -->Shell Interpreter
    --> Excute Cmd --> Output --> TTY --> 本地內存或者網絡 -->顯示器輸出
    優點: 可以用不同形式的終端登錄,比如本地鍵盤,遠程網絡,Modem,只有TTY與用戶
    之間存在某種連接即可

    S3. Linux如何同一張網卡如何支持多個IP?

    1. 配置 虛擬接口
    ifconfig eth0:0 192.168.12.240
    ifconfig eth0:0 netmask 255.255.255.0

    2. 增加一個路由表
    route add -net 192.168.12.0 netmask 255.255.255.0 dev eth0:0

    3. 增加一個缺省的路由表

    route add default gw 192.168.12.168

    S4. 如果Home分區中空間不夠,但是/usr分區中留有較大的空間,如何平衡利用這兩空間?

    目標: 1.通過Home分區文件的形式讀寫數據
    2.實際的數據確是存儲在/usr/分區中

    利用符號鏈接的方式,在Home分區中建立一個符號鏈接目錄,指向
    ln -s /usr/local/voip ~/project/voip

    S5. Apache 使用UserDir模塊時,~username形式訪問,Apache告之禁止訪問?

    比如/home/robbie 它具有drwx------屬性,必須將它改為
    drwxr-xr-x屬性,Apache服務器才可打開用戶目錄

    S6. 如何添加自定義的全局的初始化動作?

    比如要添加這兩個別名命令fcc,和fpp統計.c和.cpp源文件數目,
    可在/etc/bash.bashrc.local中添加如下腳本
    alias fcc='ll -R | grep "[:alpha:]*[.]c$" | nl |less'
    alias fpp='ll -R | grep "[:alpha:]*[.]cpp$" | nl |less'

    注:
    Linux Kernel 共有7454個源文件

    S7. 如何查看系統中打開某個目錄/文件的進程?

    fuser -v FILE_TO_LOOK_UP

    S8. 如何讓普通用戶以超級用戶身份執行命令,而不需要其輸入密碼?

    配置/etc/sudoers,按照如下方式指定
    asterisk ALL = NOPASSWD: /sbin/shutdown
    注:
    ALL是代表任何網絡主機.

    S9. 如何查看Linux系統運行了多長時間?

    輸入
    uptime
    輸出
    7:00pm up 3 days 9:49, 11 users, load average: 1.28, 1.29, 1.26

    S10.如何查看Linux系統運行狀態信息,比如cpu/內核版本/啟動參數/IO口?

    cat /proc/*

    S11.如何備份文件?

    使用cp命令,如

    cp src_files dst_files
    注意:
    SuSE 9.3 cp 的版本為 5.3.0,對于存在相同文件的覆蓋操作,默認動作是覆蓋
    Linux robbie 2.6.11.4-20a-default #1 Wed Mar 23 21:52:37 UTC 2005 i686 i686 i386 GNU/Linux
    CentOS 分發版
    Linux asterisk1.local 2.6.9-11.EL #1 Wed Jun 8 16:59:52 CDT 2005 i686 i686 i386 GNU/Linux
    CentOS SMP的版本
    Linux SVC9000.local 2.6.9-11.ELsmp #1 SMP Wed Jun 8 17:54:20 CDT 2005 i686 i686 i386 GNU/Linux

    S12. 如何給系統增加一個路由?

    存在如下的一條路由
    default 192.168.3.1 0.0.0.0 UG 0 0 0 eth0
    添加一條路由
    route add default 192.168.12.168

    S13. 如何使用NFS?

    服務器端設置 (以CentOS為例)

    A. 在目標主機上設置NFS 共享目錄,修改/etc/exports
    增加如下條目:
    /mnt/asterisk 192.168.12.0/255.255.255.0(rw)
    B. 啟動NFS服務
    service nfs start
    如果NFS服務已經啟動,那么重讀exports
    exportfs -ra

    客戶端設置 (2.2.18以上內核內建支持NFS)

    手工mount:
    mount 192.168.12.238:/mnt/asterisk /path/of/client/nfs

    自動mount:
    修改 /etc/fstab,增加一條
    192.168.12.238:/mnt/asterisk /path/of/client/nfs nfs rw 0
    然后執行: mount -a -t nfs

    注:
    1. 缺省,在服務器端的共享目錄的訪問權限即為mount后的訪問權限
    2. nfs服務依賴于portmap,啟動nfs前portmap必須先啟動

    S14.如何制作一張可以啟動的CD-ROM?

    1. 你需要具備以下這些文件, isolinux目錄以及目錄中的內核,配置,Ramdisk鏡像等
    可從Redhat安裝盤上獲得
    2. 將isolinux目錄拷貝至你的ISO光盤的根目錄
    3. 使用工具mkisofs
    mkisofs -o output.iso -b isolinux/isolinux.bin -c isolinux/boot.cat \
    -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T \
    -input-charset utf-8 /path/of/your/isoroot

    參考:
    http://syslinux.zytor.com/iso.php
    注:
    1. 制作SVC ISO文件耗時1m45.494s 43.170s(P4,CentOS 4.1)
    2. 可以使用mkisofs將多個redhat安裝盤合并為一個dvd的安裝盤
    使用到的開關有: -graft-points Psyche-i386-disc1
    溶合的項目有 .discinfo=.discinfo isolinux/=isolinux
    RedHat/=shrike-i386-disc2/RedHat RedHat/=shrike-i386-disc3/RedHat
    docs/=Psyche-docs

    S15. 如何刻錄一張CD-R 或者CD-RW?

    * 對于CD-R,假設要刻錄的是mydata.iso文件,使用

    cdrecord -v speed=4 dev=0,0,0 -data mydata.iso
    一般,cdrecord會使用TAO mode for single session模式.

    * 對于CD-RW,先要將CD-RW盤的數據內容擦除

    cdrecord -v speed=2 dev=0,0,0 -blank=fast
    然后和CD-R一樣,再使用刻錄指令.

    注:
    1. 參數dev=0,0,0是刻錄設備的地址,可以如下命令得到
    cdrecord -scanbus
    2. 需要的話,在dev參數上加 ATAPI指示符,如
    cdrecord -v speed=8 dev=ATAPI:0,0,0 -data boot.iso
    3. 一般刻錄一張 560M的CD-ROM,需925.050s

    S16. 如何在單一終端中執行多個任務,并在任務之間切換?

    舉例:
    A. vim hello.txt 編輯一個文檔
    B. 中途用戶想退出,查看系統的CPU 運行情況
    按 CTRL-Z,掛起當前vim任務;輸入top
    C. 用戶在top任務中又想看一下硬盤的分區信息
    按 CTRL-Z,掛起當前top任務;輸入fdisk /dev/hda
    D. 此時當前運行任務為fdisk,掛起的有2個:vim和top
    在fdisk中按 CTRL-Z一樣掛起它
    輸入: jobs -l
    系統輸出:
    [3]+ 21731 Stopped vim hello.txt
    [4] 21805 Stopped top
    [5]- 21827 Stopped fdisk /dev/hda
    []中的數字代表后臺任務編號,你可以根據它在任務間來回切換
    輸入 fg 1 或 fg vim 回到vim任務中,繼續執行
    輸入 fg 2 或 fg top 回到top任務中
    輸入 fg 3 或 fg fdisk 回到fdisk任務中

    S17. 如何快速查看Linux系統的分區信息?

    輸入 fdisk -lu /dev/hdx
    可看到指定硬盤設備的分區信息.

    S18. 我的FTP服務或者Web服務別人無法訪問到?

    很可能是你的防火墻做了限制,將你要提供的服務從禁用列表中去除即可.

    S19. 軟件A依賴于與庫B,我安裝了B,可A依然提示庫B找不到?

    有一種可能性,即庫B不是裝在系統的庫文件目錄/lib和/usr/lib,譬如安裝于
    /usr/local/lib下,這樣就找不到
    辦法:
    1 修改安裝路徑為/lib
    2 或將/usr/local/lib添加到系統庫目錄中
    * 編輯 /etc/ld.so.conf
    加入一行 /usr/local/lib
    * 重載庫 sudo ldconfig

    S20. 某些系統服務如mysql數據庫未在啟動時加載,如何配置啟動時加載?

    使用/sbin/chkconfig工具,如下
    /sbin/chkconfig --level 2345 mysql on
    就可使mysql服務器在2345級別啟動時自動運行

    S21. PHP許多模塊未加載,如何加載它們?

    修改/etc/php.ini ,比如你要加載session.so,應寫為
    extension=session.so

    S22. 如何監控系統從開機到出現登錄界面所使用的時間以及系統的運行狀態?

    安裝bootchart軟件包,之后,每次系統啟動完成后會在/var/log/bootchart目錄下生成
    監測圖,PNG格式的,里面包含著啟動耗費時間、每一個服務的起止時間.

    S23. Ubuntu下如何支持中文輸入?

      $sudo apt-get install scim scim-modules-socket scim-modules-table scim-pinyin scim-tables-zh scim-input-pad
       $sudo sh -c " echo 'export XMODIFIERS=@im=SCIM ; export GTK_IM_MODULE="scim" ; export QT_IM_MODULE="scim" ; scim -d ' > /etc/X11/Xsession.d/95xinput "
      $sudo chmod +755 /etc/X11/Xsession.d/95xinput

      # 注:在Dapper下省略后兩步
      #注:在Dapper里也可以直接選擇系統->系統管理—>語言支持(language support)勾選Chinese 就會自動安裝和配置scim

      分解一下看看:
      安裝scim輸入法平臺

    S24. NFS服務起來后,在客戶端mount一直提示"mount: RPC: Timed out\n"?

    表現:
    * 查了portmap, nfs都服務端都沒有問題
    * showmount -e nfs_server也沒有問題
    * 就是在mount -t nfs nfs_server:/path /local/path時出"mount: RPC: Timed out\n"的錯誤

    解決: 路由可能是原因
    出現這種問題,在查遍了許多文章還沒有結果的情況下,請查一下服務器的網絡配置,特別小心多網卡
    情況下的路由,如果你的缺省路由類似這樣
    default 220.250.26.1 0.0.0.0 UG 0 0 0 eth1
    那么很可能路由是罪魁禍首.

    S25. 雙網卡如何共享網絡連接?

    參考 nat.sh

    S26. 如何解決SCIM和Open Office不兼容,導致Open Office異常退出的問題?

    問題描述
    1.系統環境中設置了scim為輸入法
    export GTK_IM_MODULE=scim
    export QT_IM_MODULE=scim
    2.在KDE應用比如Konsole中可以正常輸入中文,但打開open office卻異常退出,
    打開其它應用Mozilla Thunderbird,也是異常退出

    這里也有描述 https://bugs.launchpad.net/openoffice/+bug/103079
    原因
    scim與GTK2的應用程序存在二進制的兼容性問題,scim是c++語言實現的,而gtk2
    應用比如openoffice, moizlla Thunderbird是采用C語言實現的,在加載輸入法
    時會導致應用程序內存分配錯誤.

    解決辦法
    1. 安裝scim-bridge模塊
    http://www.scim-im.org/projects/scim_bridge
    2. 修改GTK應用程序的輸入法配置
    export GTK_IM_MODULE=scim-bridge
    3. 登出桌面系統,再登錄,即可正常打開ooffice

    About Toolkit
    -------------
    T1. 使用grep查找.gz文件中包含特定字符串的行?
    舉例,有個文件,ls-lrR.txt.gz, 待查找的字符串為開頭為rms,結尾為ogg的文件,可以用下列方式
    gunzip -c ls-lrR.txt.gz | grep 'rms-.*ogg'
    注: *NIX環境下, .可代表任何字符, *代表任意匹配,+代表至少出現1次,?代表至多出現1次

    T2. Windows 2000運行有telnet服務,這樣可以使用linux的konsole/或者其他終端模擬器連接windows主機.

    telnet pc.window.address

    T3. 如何查看PDF/ps格式的文檔?

    gs ps_file_name3
    gs pdf_file_name

    Note: gs is PostScript and PDF language interpreter and previewer

    T4. 如何跟蹤IP報文的路徑?

    Linux下,輸入traceroute HOST_NAME|IP
    Win32下,輸入tracert HOST_NAME|IP

    T5. 如何查看內核的路由表?

    Linux下,輸入/sbin/route
    Win32下,輸入route PRINT

    T6. 如何內核中的網絡接口卡的物理地址?

    Linux下,輸入/sbin/arp
    Win32下,輸入 arp -a

    T7. 如何實現按1個快捷鍵即輸入"年-月-日 星期x"?

    可以使用map命令,將某一個快捷鍵變為命令輸入
    參考:map <F2> ggA<C-R>=strftime("%Y-%m-%d %A")<CR><Esc>

    T8. 如何使用Shell工具鏈統計一個目錄下所有.c的原文件數目?

    分析:.c原文件的特征是以.c字符為結尾,可以使用正則表達是[.]c表示
    ll -R | grep "[:alpha:]*[.]c$" | nl |less
    正則表達式 ([0-9]{5,}) 代表由5位數字構成的單詞,()是單詞控制字符

    T9. 如何高效的使用FTP客戶端工具?

    lftp 工具可以完美的支持,它支持提前信息獲取,Tab目錄或文件補齊.
    lftp 支持下載進度指示,%形式,下載速率.
    lftp 支持斷線后自動恢復連接.
    lftp 在絕大多數Linux分發版中都有安裝.

    T10. SSH遠程登錄工具,認證過程解析?

    * 客戶登錄到遠程主機,必須提供identity
    * SSH服務器認證這個identity
    * Host Key 和 Public Key的關系
    * Challenge = a random number, encrypted by user's public key

    T11. 如何快速的執行計算命令?

    比如,計算硬盤的大小,BLOCK數18335302,每個BLOCK為512字節
    echo "512*18335302" | bc

    T12. vsftpd/wu-ftpd如何啟用匿名ftp服務?

    對于vsftpd,編輯/etc/vsftpd.conf,確認開關
    anonymous_enable=YES
    注:
    1. 匿名ftp用戶登錄所見目錄對應于系統中ftp用戶的HOME目錄,一般為/var/ftp,可變更
    2. ftp用戶的HOME目錄owner:group要設為root:root,用戶才通過匿名訪問,否則有500錯誤

    T13. 如何快速得到文件系統中各個目錄對硬盤的占用情況?

    在根目錄下輸入 du -h --max-depth=1

    T14. 如何快速查看指定的man文件?

    輸入 man -l /path/of/your/man/file

    T15. 如何查看一個IP段范圍內的IP地址與前綴?

    利用 ipcount命令,比如查看起始地址為 192.168.3.2
    數量為100的所有ip地址前綴
    輸入
    ipcount 192.168.3.2+100

    T16. VsFtpd服務器登錄時,每個文件的owner和group都顯示為ftp,
    因為權限受限,無法上傳,怎么辦?

    編輯/etc/vsftpd.conff
    設置 hide_ids=NO

    T17. Lynx文本瀏覽器如何實現文本行的滾動?

    輸入 CTRL-N 向下翻動兩行
    輸入 CTRL-P 向上翻動兩行

    T18. 如何抓取網絡接口中傳輸的數據報文?

    tcpdump -i interface

    T19. 如何查看一臺主機的IP地址?

    host name 即可查看name對應的IP地址

    T20. 如何啟用NAT?

    192.168.3.0/24局域網主機通過WAN連接網絡

    iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -j SNAT --to 218.67.79.7
    echo 1 > /proc/sys/net/ipv4/ip_forward

    T21. 如何在命令行下查看word文檔?

    安裝antiword這個工具包,輸入
    antiword wordfile
    這個工具就會將word文檔內容輸出到標準輸出。

    注:
    可以使用mc這個外包shell調用antiword,即通過查看功能

    T22. 如何快速的排序一個文本文件?

    執行
    sort -u unsortedfile -o sortedfile

    T23. 如何給源代碼打上patch?

    舉例,給vsftpd服務器源碼打上補丁
    cd vsftpd-2.0.1
    patch -p1 -b < patchfile
    開關說明:
    -p1 表示patch中必須去除一級目錄前綴
    -b 表示patch前備份原始文件

    T24. 如何生成補丁文件?

    假設有文件origfile,經過修改變為destfile
    那么如何根據origfile和destfile的區別生成補丁呢?
    diff -u origfile destfile > patchfile

    如果是兩個目錄進行比較,那么需要使用
    diff -urN origdir destdir > patchfile

    注意: -N選項視新文件為空文件

    T25. 如何通過http協議訪問svn倉庫?

    使用apache2, 加載mod_dav.so和mod_dav_svn.so兩個模塊
    假設你的svn倉庫父目錄為/srv/svnroot,如下配置即可
    <Location /svn>
    DAV svn
    SVNParentPath /srv/svnroot
    </Location>
    重啟apache2,使用svn co http://localhost/svn/repos 即可checkout倉庫repos中的文件

    注意:
    1. 如果無法通過http commit,報告這樣的錯誤
    svn: Can't open activity db: APR does not understand this error code
    需要將/srv/svnroot/repos/dav目錄的訪問權限改寫為0777
    2. 如果提示對“%$s”的方法 %$s 失敗: 403 Forbidden (http://localhost)錯誤
    則查看apache2的error.log,并確認dav_svn的配置中
    LimitExcept GET PROPFIND OPTIONS REPORT是被注釋掉的
    3. 如果需要限制用安全鏈接訪問版本庫,則在Location配置選項中加入
    SSLRequireSSL

    T26. 如何啟用Apache的https安全協議?

    參考資料:
    * SSL Certificates HOWTO
    * Linux Apache SSL PHP/FI frontpage mini-HOWTO
    * svn-book.pdf R1876
    * Professional LAMP - Linux, Apache, MySQL, & PHP5 Web Development 2006.pdf
    1. 編譯或者下載apache2 的mod_ssl.so模塊
    2. 使用openssl的工具生成供您的站點使用的服務器證書和服務器公私鑰
    利用openssl庫提供的工具CA.pl,位于/usr/lib/ssl/misc. 這里講述自身構建CA,然
    后用該CA來簽名證書的過程,當然也可以提交給其他CA機構來簽名認證

    2.1 先生成CA以及相關的文件
    $ CA.pl -newca
    按照命令提示,依次輸入CA的私鑰密碼\Country Name\Province Name\Locality Name
    \Organization Name\Unit Name\Common Name\Email Address\A challenge password\
    optional company name, 提示A challenge password\optional company name可以不
    填.最后因為CA需要給自己簽發證書,所以還得填些最開始時輸入的CA的私鑰密碼.
    在當前目錄下會生成demoCA的目錄,內含若干文件

    2.2 再生成證書申請文件
    $ CA.pl -newreq
    按照命令提示,依次輸入待申請證書的私鑰密碼\Country Name\Province Name\
    Locality Name\Organization Name\Unit Name\Common Name\Email Address\
    A challenge password\optional company name,最后兩項亦可不填.
    在當前目錄下會生成證書申請文件newreq.pem和私鑰文件newkey.pem

    2.3 再用2.1步生成的CA為申請文件簽名,生成證書
    $ CA.pl -sign
    按照命令提示,輸入CA的私鑰密碼并確認簽名,并提交到CA的簽名數據庫中,得到簽名后的
    證書文件newcert.pem

    2.4 裁減證書,去除證書的私鑰密碼

    證書只需要包含機器可讀的部分,此外文字描述部分可以去掉,方法如下
    $ openssl x509 -in newcert.pem -out www.crt
    證書的私鑰提供給Apache使用,要求去除私鑰的密碼,方法如下
    $ openssl rsa -in newkey.pem -out wwwkey.pem
    該命令需要輸入私鑰密碼,之后生成的私鑰wwwkey.pem中就剝去密碼了
    3. 配置apache2,使用簽名的證書www.crt與私鑰wwwkey.pem
    添加對443端口的偵聽
    Listen 443 https
    加載mod_ssl.so模塊
    LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so
    配置https的虛擬服務器
    NameVirtualHost *:443
    <VirtualHost _default_:443>
    ServerAdmin webmaster@localhost

    SSLCertificateFile /etc/apache2/ssl/www.crt
    SSLCertificateKeyFile /etc/apache2/ssl/wwwkey.pem

    SSLEngine On

    DocumentRoot /var/www/
    <Directory />
    Options FollowSymLinks
    AllowOverride None
    </Directory>
    <Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
    # This directive allows us to have apache2's default start page
    # in /apache2-default/, but still have / go to the right place
    #RedirectMatch ^/$ /apache2-default/
    </Directory>
    ErrorLog /var/log/apache2/error.log
    </VirtualHost>
    注意:
    * NameVirtualHost *:443 后面要帶上443這個端口,普通80端口的VirtualHost要寫為
    NameVirtualHost *:80
    * VirtualHost總配置選現中寫為 _default_:443,表示偵聽任何網絡接口上的443端口
    * 如果先前80端口的站點配置為 VirtualHost *,將它改寫為VirtualHost _default_:80
    * SSLCertificateFile 指向證書文件的路徑
    * SSLCertificateKeyFile 指向證書對應的私鑰文件路徑
    重新啟動apache2,使用curl測試
    curl https://localhost/
    * SSLEngine On 啟用ssl連接

    T27. VMWare Guest操作系統中時鐘總是不準確,比如Guest OS為WinXP,時鐘總是比Host OS要慢?

    安裝vmware tools套件,然后復選Time synchronization between the virtual machine
    and the host operating system
    對于win, 在VMWare Workstation中選擇Install VMware Tools,然后在Guest Win OS中會自動
    出現虛擬驅動器,打開可以看到安裝程序
    對于lin, 在VMWare Workstation中選擇Install VMware Tools,然后在Guest Lin OS中會出現
    /dev/hdc設備,將此文件自動掛載,即可實現

    T28. 在更新Linux Kernel后,VMWare無法使用了?

    Ubuntu的內核更新到2.6.20-16-386之后,VMWare Workstation活VMWare Player都無法使用了,
    需要重新編譯內核模塊vmnet 和vmmon,使用vmvmware-config.pl工具,但這個工具依賴于內核
    版本,

    1. 下載vmware-any-any-update110.tar.gz
    http://knihovny.cvut.cz/ftp/pub/vmware/

    2. 解壓,運行runme.pl,程序會自動重新編譯vm內核模塊
    3. 再運行VMWare Workstation 或 VMWare Player OK

    T29. VMWare如何使用遠程管理接口,如果自動運行客戶操作系統?

    安裝VMWare Server ,當前版本為1.0.2, 它即可桌為虛擬機服務器,自動運行客戶操作系,
    通過網絡從遠程開啟,關閉,操作客戶操作系統.

    提示: VMWare Server Console的注冊序列號
    9AXPN-Y0QD0-24K7M-40K0M
    98WMH-Y2PF1-2F7EM-4022D

    注意: 1.0.2版本有個小BUG,GUEST OS通過網絡訪問HOST OS上資源速度很慢,有時還達不到
    1K/s,但HOST OS訪問GUEST OS上的速度正常,比如GUEST OS為win,開放文件共享,從HOST OS
    Ubuntu上Copy共享文件,速度正常.

    T30. 如何創建臨時文件,而保證文件名不重復?

    Bash中執行 mktemp 可以得到文件名

    或者

    通過<stdlib.h>中調用用戶接口
    char *mktemp(char *template);

    T31. 使用wget下載html文件中的所有鏈接文件?

    可以通過wget的遞歸下載功能,如下

    wget -r -l 1 http://www.sipfoundry.org/pub/sipX/3.6/CentOS/4/RPM/
    說明:
    -r 代表遞歸下載
    -l num 代表遞歸的深度
    -p 代表僅下載頁面必要的元素

    T32. 如何創建一個tap接口供虛擬機VirtualBox使用?

    對Debian/Ubuntu系統可參考VirtualBox的User Manual

    1. 配置tap0接口,在/etc/network/interfaces文件中增加
    auto tap0
    iface tap0 inet manual
    up ifconfig $IFACE 0.0.0.0 up
    down ifconfig $IFACE down
    tunctl_user robbie

    T33. 如何在linux下打開中文window下用zip壓縮的文件?
    使用unzip,但是要加上編碼的選項-O

    unzip -O cp936 zip_file_name
    說明:
    cp936是中文windows的默認編碼

    About Development
    -----------------
    D1. Makefile中的.PHONY目標有什么作用?

    寫法
    .PHONY: TARGET
    它讓.PHONY依賴的目標TARGET都能執行它的規則,而不關TARGET文件是否存在.

    http://blog.csdn.net/dadoneo/archive/2010/10/25/5965088.aspx

    posted @ 2011-01-07 02:05 leekiang 閱讀(2073) | 評論 (0)編輯 收藏

    1,sudo apt-get install ruby-full,
    ???? 安裝后執行ruby -v,顯示“ruby 1.8.7 (2010-06-23 patchlevel 299) [i686-linux]“
    ???? 查了一下(用的命令是locate ruby),安裝到了/usr/lib/ruby/1.8目錄,但哪些位置還有ruby的文件未知。
    ???? 注意:不需要再手動把ruby路徑加到PATH,因為已經加好了,見/usr/bin
    2,sudo apt-get install rubygems
    ???? 執行gem -v,顯示“1.3.7”
    ???? 注意:據說ruby1.9自帶gem。
    3,gem install rails -v=2.3.5
    ???? 發現會自動安裝rake-0.8.7,原來rake是rails自帶的東西。
    ???? 會自動安裝到/var/lib/gems/1.8/gems目錄下。
    ???? 但在命令行下,rails -v仍然報錯:"程序 rails 尚未安裝"。
    ?? ? 改正:在用戶的 .bashrc文件中追加export PATH=/var/lib/gems/1.8/bin:$PATH
    ???? 感謝這篇文章,也可看一下這篇
    ???? 后注:應該加到全局環境變量里,因為有的命令,如rake,需要root用戶執行


    4,下載redmine1.0.5,解壓,用netbeans6.9.1導入項目時提示缺少i18n,
    ???? 按照提示,在root下執行gem install -v=0.4.2 i18n
    5,
    把database.yml.example改為database.yml
    在每種環境下都加屬性socket: /var/run/mysqld/mysqld.sock,為什么

    6,解決mysql亂碼問題
    sudo? gedit? /etc/mysql/my.cnf
    在[client]區域和[mysqld]區域都添加一行:
    default-character-set = utf8
    然后重啟:sudo?/etc/init.d/mysql?restart
    可通過show variables like 'character%'命令查看修改前后的變化。
    參考
    http://jiessiedyh.javaeye.com/blog/468338
    有人提到[mysqld]的skip-character-set-client-handshake屬性

    7,mysql驅動
    執行gem install mysql,報
    Building native extensions.? This could take a while...
    ERROR:? Error installing mysql:
    ERROR: Failed to build gem native extension.
    解決:因為找不到mysql_config造成的,只要安裝“libmysqlclient15-dev”就可以了sudo apt-get install libmysqlclient15-dev

    8,"A key is required to write a cookie containing the session data. Use config.action_controller.session = {:key => "_myapp_session", :secret => "some secret phrase"} in config/environment.rb"
    please do as the suggestion, add following config to enviroment.rb file:
    config.action_controller.session = { :key => "_redmine_session", :secret => "aa3be4f950045ce76451b8197bf06b6d" }

    在typo上執行“刷新任務”時,報錯:Rake aborted! Uninitialized constant bundler ,搜索后執行gem install bundler,再執行“刷新任務”,提示執行“bundle install”,但在控制臺里報沒有這個命令。bundler是rails3出來的新東西?


    參考:
    在 Ubuntu 10.10下搭建ror(ruby on rails)開發環境
    在debian(ubuntu)上建立Ruby on Rails的開發環境step by step
    Ubuntu下搭建Redmine
    Ubuntu 10.04上搭建Ruby on Rails環境
    Ubuntu下一步安裝ruby on rails環境的腳本
    Ubuntu8.10下使用mysql數據庫方式安裝Redmine
    Redmine在Ubuntu10.04上的安裝配置
    Ubuntu 10.04默認安裝Redmine注意事項

    posted @ 2011-01-06 01:40 leekiang 閱讀(558) | 評論 (0)編輯 收藏

    環境:xp+vmware7.1.3+ubuntu10
    常見的網絡配置有兩種:
    1,Bridged方式,即橋接方式


    2,NAT方式



    NAT方式下有時候上不了網,在ubuntu運行ping www.163.com報錯:ping: unknown host www.163.com
    解決:gedit /etc/resolv.conf,
    ?加一行nameserver 192.168.0.1,此ip為主機的DNS。
    好像有時候管用,要等很久。但只要一重啟ubuntu,新加的這一行沒有了。

    不過上網的事情搞的很郁悶,Ubuntu不知道怎么每次重新啟動都會把我的eth0的配置改成auto,即使是改了/etc/network /interfaces也不起作用,后來只好換了一種方法,另外添加了一個eth1的配置,這樣子就不會被系統改動了。不過改的過程中一不小心注釋掉了 “iface lo inet loopback”,導致我可以ping通給這個機器指定的ip,卻始終不能ping通localhost(127.0.0.1),外面機器也無法 ping通這個Ubutntu的ip,不過“sudo ifconfig lo 127.0.0.1 up”一下就好了~? 出處


    VMware三種網絡模式根本區別:Bridged & NAT & Host-Only

    虛擬機Vmware下 linux上網設置 (bridged NAT 方式) +圖
    http://www.linuxdiyf.com/viewarticle.php?id=81538

    posted @ 2011-01-05 05:10 leekiang 閱讀(1783) | 評論 (0)編輯 收藏

    首先要啟動窗口混合特效,Compiz Fusion或是metacity。
    metacity的設置如下:
    ALT-F2打開運行程序窗口,輸入gconf-editor,導航到Apps->metacity->general,并選中compositing_manager

    sudo?add-apt-repository?ppa:docky-core/ppa
    sudo?apt-get?update
    sudo?apt-get?install?docky

    應用程序->附件->docky
    系統->首選項->外觀->主題,然后選擇"清爽"主題,勾選頂部和底部的面板的“顯示隱藏按鈕”屬性。
    暫時沒有安裝其他主題。

    參考:
    Ubuntu高仿MAC界面
    Docky官方wiki
    Ubuntu 10.10下安裝仿Mac OS X主題:Macbuntu
    Ubuntu 10.04下一鍵安裝Mac OS X主題桌面


    posted @ 2011-01-04 00:54 leekiang 閱讀(1029) | 評論 (0)編輯 收藏

    管理Linux主機的性能看起來經常象是在變魔術一樣。許多管理員在遇到性能問題的時候常常簡單化處理,依靠硬件的更新換代,更大的內存和更強的CPU來解決問題。事實上,利用一些簡單的命令,可以發現許多管理主機的細節問題并且能迅速而簡單地解決性能問題。?

      一、top

      對許多管理員來說,最新學會的就是TOP命令,它可以顯示出當前運行的所有內核任務,并且提供了一些主機狀態的統計報告。默認地,TOP命令每隔五分鐘自動更新一次這個數據(這個更新間隔是可設置的)。

    ?


    ?

      TOP命令的功能豐富到令人難以置信(估計很少有人使用過一半以上的功能)。一般來說你會以‘h’鍵開始,就是‘help’(說明文檔也非常精 彩)。幫助參數可以快速顯示出你能從中增加和減去的內容,同時也可以改變排序。你還可以用k來結束進程或者用r標注特別的進程。

    ?

      Top命令顯示當天的正常運行時間、系統負載、處理器的數量、內存的使用率和哪些進程使用了大多數CPU資源(包括每個進程的大量相關信息,例如在線用戶和正在執行的命令等)。

    二、vmstat ?

      Vmstat命令提供給你一個當前CPU、IO、進程和內存使用率的快照。和TOP命令一樣,它自動動態刷新,并且可以用下面的命令執行:

    ?

      $ vmstat 10

    ?

      在這里延遲是指兩次刷新間隔的以秒為單位的時間,這里是10秒鐘。VMSTAT命令會將檢查的結果不停刷新顯示在屏幕上,直到你用CTRL-C 命令結束它(或者你也可以在執行的時候設置一個限制)。這個持續輸出的結果有時候被用來導入到文件中用來分析性能趨勢,但是我們將找到更好的方式來做這件 事情,在文章后面的部分會介紹。

    ?

    ?

       第一列顯示的是處理器, r列是待命的處理器,而b列是休眠的處理器。如果你在這里看到好多個待命的處理器,那說明你可能在某個地方遇到了性能瓶頸。第二列顯示的是內存:虛擬的, 空閑的,緩沖和緩存內存。第三列顯示的是交換存儲以及具體有多少內存在和磁盤做交換。第四列則是I/O信息,顯示了塊服務接收和發送的塊數據信息。

    ?

      最后兩列顯示了系統和CPU相關的信息。系統列顯示的是沖突的數量和每秒鐘的交換。CPU列是顯示了特別有用的信息。每個分列顯示了一個CPU時間的百分比。這些分列如下:

    ?

      US:運行用戶任務和代碼耗費的時間
      SY:運行內核或者系統代碼耗費的時間
      ID:空閑時間
      WA:等待IO耗費的時間
      ST:虛擬機占用的時間

    ?

      VMSTAT命令擅長用來查詢CPU使用情況,雖然記住每個參數主要取決于持續的監控,因為對CPU進行短時間的觀察你可能無法獲知CPU真正的問題所在。你需要查看長期的運行趨勢來獲得一個確切的CPU性能信息。

    三、iostat ?

      我們接下來要講的命令是IOSTAT。IOSTAT命令(在UBUNTU、紅帽和FEDORA系統中都是由SYSSTAT軟件包提供的)可以提 供三個報告:CPU使用率、設備使用率和網絡文件系統使用率。如果你不加任何參數地運行該命令,它會顯示所有這三個報告,你可以通過加參數-c、-d和 -h來單獨顯示它們中的一種。

    ?

    iostat命令



      在上面的圖中你可以看到它們中的其中兩個報告,第一個是CPU使用率,它將各進程占用的CPU用百分比分類列出來了。你能看到用戶進程、系統進程、iowait和空閑時間等信息。

    ?

      第二個報告是關于設備使用率,顯示了安裝在該主機上的每個設備和一些有用的信息,諸如每秒傳輸量、數據塊讀寫,并且允許你對有性能問題的設備做 標記。你可以通過添加-k或者-m參數來按照千字節或者兆字節顯示統計信息,而不是以數據塊為單位,這樣在某些情況下會更便于查閱和理解。

    ?

      最后一個報告,沒有截圖,顯示的信息和上面介紹的設備使用率有點相似,只是對象從附件的設備換成了掛載的網絡文件系統。

    ?

      四、free

    ?

      下一個命令free,可以顯示主內存和交換內存的統計量。

    ?

    free命令

     你可以通過添加-t參數來顯示總的內存,或者通過添加-b參數和-m參數來用字節數顯示(默認情況是用千字節為單位)。

    ?

      FREE命令還可以通過使用-s參數來使其以某個間隔時間持續刷新地運行:

    ?

      $ free -s 5

    ?

      這個命令是以每隔5秒鐘刷新一次的方式運行FREE命令并輸出結果。

    五、sar ?

      象我們見過的許多其它工具一樣,我們可以用sar命令來收集、查看和記錄服務器的性能數據。它比我們見過的任何類似工具都更強大,并且可以收集 和顯示長時間段的數據。在紅帽和UBUNTU上,它通過SYSSTAT包來安裝。讓我們從不添加任何參數運行SAR命令開始吧:

    ?

      $ sar

    ?

    sar命令

    ?

      從這里我們可以看到sar命令的基本輸出信息,包括CPU統計(每隔10分鐘一次的數據和最后的平均數據)。該信息是從一個以24小時為單位不 停收集信息的日統計文件中抓取出來的(這個文件存儲在目錄/var/log/sa/中,并且被命令為saxx這樣的格式,xx代表該數據收集的日期)。另 外它還收集關于內存、設備、網絡等的統計信息(例如,通過加-b參數可以查看塊設備統計信息,-n采查看網絡數據,-r參數看內存使用)。你還可以用-A 參數來查看所有收集的數據。

    ?

      你還可以長時間運行sar命令然后將輸出數據導入一個文件中來收集數據。要達到這個效果,需要使用參數-o和一個文件名稱,要運行該命令的時間 間隔(記得收集數據會導致性能變差,所以最好確保這個間隔不要太短)和循環的次數-你要記錄的間隔次數。如果你不輸入循環次數,則sar命令會一直運行下 去,例如:

    ?

      $ sar -A -o /var/log/sar/sar.log 600 >/dev/null 2>&1 &

      這里我們將收集所有數據(-A),記錄到文件/var/log/sar/sar.log中,每隔600秒(或者5分鐘)收集一次,持續在后臺運行。如果接下來我們想要顯示這個數據我們可以用sar命令加上-f參數,例如:

      $ sar -A -f /var/log/sar/sar.log

      這是一個非常基本的sar命令介紹。用sar命令還可以得到許多很有用的數據,這能使得查看主機性能變得更加方便和有效。我建議你去查看一下sar命令的說明文檔從而獲得更詳細的方法來獲得你需要的數據。

      這這篇文章中,我們看到了5個基本的用在linux主機上管理和查看性能狀態的命令工具。除此之外,去看一下其它一些工具如munin和 collected等也是非常值得的,它們不僅收集關于性能的數據,還能查看應用程序和服務等,包括使用你自己的插件等。這些工具都支持增加圖形化的輸 入,這樣可以讓你用圖形更直觀的查看你的數據。

    轉自http://www.cnblogs.com/xhjsuccess/archive/2010/06/06/1752602.html

    posted @ 2011-01-03 23:05 leekiang 閱讀(355) | 評論 (0)編輯 收藏

    總有很多朋友對于Linux的內存管理有疑問,而在新版核心中,似乎對這個問題提供了新的解決方法。

    當在Linux下頻繁存取文件后,物理內存會很快被用光,當程序結束后,內存不會被正常釋放,而是一直作為caching。這個問題,貌似有不少人在問,不過都沒有看到有什么很好解決的辦法。通過以下方法,可以快速釋放你的內存。

    注:不建議在數據庫之類的服務器上手動釋放內存,有可能造成數據丟失。

    1.查看內存使用情況
    free -m
    2.釋放內存
    sync
    echo "1">/proc/sys/vm/drop_caches
    3.查看內存使用情況
    free -m

    轉自http://www.gaojinbo.com/%e5%9c%a8linux%e6%9c%8d%e5%8a%a1%e5%99%a8%e4%b8%8a%e6%89%8b%e5%b7%a5%e9%87%8a%e6%94%be%e5%86%85%e5%ad%98.html

    posted @ 2011-01-03 20:03 leekiang 閱讀(343) | 評論 (0)編輯 收藏

    Linux最早由Linus Benedict Torvalds在1991年開始編寫。在這之前,Richard Stallman創建了Free Software Foundation(FSF)組織以及GNU項目,并不斷的編寫創建GNU程序(此類程序的許可方式均為GPL: General Public License)。在不斷的有杰出的程序員和開發者加入到GNU組織中后,便造就了今天我們所看到的Linux,或稱GNU/Linux。

    Linux 的發行版本可以大體分為兩類,一類是商業公司維護的發行版本,一類是社區組織維護的發行版本,前者以著名的Redhat(RHEL)為代表,后者以 Debian為代表。下面介紹一下各個發行版本的特點:

    Redhat,應該稱為Redhat系列,包括RHEL(Redhat Enterprise Linux,也就是所謂的Redhat Advance Server,收費版本)、Fedora Core(由原來的Redhat桌面版本發展而來,免費版本)、CentOS(RHEL的社區克隆版本,免費)。Redhat應該說是在國內使用人群最多 的Linux版本,甚至有人將Redhat等同于Linux,而有些老鳥更是只用這一個版本的Linux。所以這個版本的特點就是使用人群數量大,資料非 常多,言下之意就是如果你有什么不明白的地方,很容易找到人來問,而且網上的一般Linux教程都是以Redhat為例來講解的。Redhat系列的包管 理方式采用的是基于RPM包的YUM包管理方式,包分發方式是編譯好的二進制文件。穩定性方面RHEL和CentOS的穩定性非常好,適合于服務器使用, 但是Fedora Core的穩定性較差,最好只用于桌面應用。

    Debian,或者稱Debian系列,包括Debian和Ubuntu 等。Debian是社區類Linux的典范,是迄今為止最遵循GNU規范的Linux系統。Debian最早由Ian Murdock于1993年創建,分為三個版本分支(branch): stable, testing 和 unstable。其中,unstable為最新的測試版本,其中包括最新的軟件包,但是也有相對較多的bug,適合桌面用戶。testing的版本都經 過unstable中的測試,相對較為穩定,也支持了不少新技術(比如SMP等)。而stable一般只用于服務器,上面的軟件包大部分都比較過時,但是 穩定和安全性都非常的高。Debian最具特色的是apt-get / dpkg包管理方式,其實Redhat的YUM也是在模仿Debian的APT方式,但在二進制文件發行方式中,APT應該是最好的了。Debian的資 料也很豐富,有很多支持的社區,有問題求教也有地方可去:)

    Ubuntu嚴格來說不能算一個獨立的發行版本,Ubuntu是基于 Debian的unstable版本加強而來,可以這么說,Ubuntu就是一個擁有Debian所有的優點,以及自己所加強的優點的近乎完美的 Linux桌面系統。根據選擇的桌面系統不同,有三個版本可供選擇,基于Gnome的Ubuntu,基于KDE的Kubuntu以及基于Xfc的 Xubuntu。特點是界面非常友好,容易上手,對硬件的支持非常全面,是最適合做桌面系統的Linux發行版本。

    Gentoo,偉大的 Gentoo是Linux世界最年輕的發行版本,正因為年輕,所以能吸取在她之前的所有發行版本的優點,這也是Gentoo被稱為最完美的Linux發行 版本的原因之一。Gentoo最初由Daniel Robbins(FreeBSD的開發者之一)創建,首個穩定版本發布于2002年。由于開發者對FreeBSD的熟識,所以Gentoo擁有媲美 FreeBSD的廣受美譽的ports系統 ——Portage包管理系統。不同于APT和YUM等二進制文件分發的包管理系統,Portage是基于源代碼分發的,必須編譯后才能運行,對于大型軟 件而言比較慢,不過正因為所有軟件都是在本地機器編譯的,在經過各種定制的編譯參數優化后,能將機器的硬件性能發揮到極致。Gentoo是所有Linux 發行版本里安裝最復雜的,但是又是安裝完成后最便于管理的版本,也是在相同硬件環境下運行最快的版本。

    最后,介紹一下FreeBSD,需要強調的是:FreeBSD并不是一個Linux系統!但FreeBSD與 Linux的用戶群有相當一部分是重合的,二者支持的硬件環境也比較一致,所采用的軟件也比較類似,所以可以將FreeBSD視為一個Linux版本來比 較。FreeBSD擁有兩個分支:stable和current。顧名思義,stable是穩定版,而 current則是添加了新技術的測試版。FreeBSD采用Ports包管理系統,與Gentoo類似,基于源代碼分發,必須在本地機器編后后才能運 行,但是Ports系統沒有Portage系統使用簡便,使用起來稍微復雜一些。FreeBSD的最大特點就是穩定和高效,是作為服務器操作系統的最佳選 擇,但對硬件的支持沒有Linux完備,所以并不適合作為桌面系統。

    下面給為選擇一個Linux發行版本犯愁的朋友一些建議:

    如果你只是需要一個桌面系統,而且既不想使用盜版,又不想花大量的錢購買商業軟件,那么你就需要一款適合桌面使用的Linux發行版本了,如果你不想自己 定制任何東西,不想在系統上浪費太多時間,那么很簡單,你就根據自己的愛好在ubuntu、kubuntu以及xubuntu中選一款吧,三者的區別僅僅 是桌面程序的不一樣。

    如果你需要一個桌面系統,而且還想非常靈活的定制自己的Linux系統,想讓自己的機器跑得更歡,不介意在Linux系統安裝方面浪費一點時間,那么你的唯一選擇就是Gentoo,盡情享受Gentoo帶來的自由快感吧!

    如果你需要的是一個服務器系統,而且你已經非常厭煩各種Linux的配置,只是想要一個比較穩定的服務器系統而已,那么你最好的選擇就是CentOS了,安裝完成后,經過簡單的配置就能提供非常穩定的服務了。

    如果你需要的是一個堅如磐石的非常穩定的服務器系統,那么你的唯一選擇就是FreeBSD。

    如果你需要一個穩定的服務器系統,而且想深入摸索一下Linux的各個方面的知識,想自己定制許多內容,那么我推薦你使用Gentoo。

    轉自http://www.it118.org/specials/56d6e494-acb5-403c-8676-f959ae5cf778/098d4e2e-26bc-4e31-a34c-28ff3875af42.htm


    對各種操作系統的用戶分布方面的概括:
      Mac –> Windows –> Linux–> BSD –> UNIX
      從左邊到右邊,分別是”使用該OS的人里精通電腦的用戶群最少”到”使用該OS的人里精通電腦的用戶群最多”的過渡。我們可以看到,Linux的被放置在了中間,而BSD則更接近于右邊。許多人會對此有爭論,也有些人可能會感覺被冒犯了。但是,個人認為這是一個對”哪些用戶使用哪些系統”相當準確的概括。
    來源:FreeBSD與Linux系統十個本質上的區別

    posted @ 2011-01-03 17:45 leekiang 閱讀(8877) | 評論 (0)編輯 收藏

    安裝emacs:sudo apt-get install emacs,然后敲入emacs就可以用了。
    安裝vim:sudo apt-get install vim-gnome


    參考:
    http://kooyee.javaeye.com/blog/432576
    從Vim到Emacs
    【Linux】vim的用法
    ubuntu上的vim
    Gvim安裝及幫助文檔的設置
    Vim和插件在Ubuntu


    GNU的精髓:為什么要學習Emacs

    lisp語言,如果一個程序員學過一兩門函數式語言可以更好的理解編程。學了函數語言特別是lisp我感覺徹底了解編程,自我感覺良好:-)。emacs是gnu進化的一環,如果沒有研究emacs,知識鏈就少一環。emacs里面的知識能把linux里面的知識相互驗證。

    posted @ 2011-01-02 03:58 leekiang 閱讀(315) | 評論 (0)編輯 收藏

    先安裝好jdk,見前面的博客。
    下載netbeans
    sudo chmod +x netbeans-6.9.1-ml-linux.sh
    ./netbeans-6.9.1-ml-linux.sh

    posted @ 2011-01-02 03:19 leekiang 閱讀(316) | 評論 (0)編輯 收藏

    僅列出標題
    共54頁: First 上一頁 5 6 7 8 9 10 11 12 13 下一頁 Last 
    主站蜘蛛池模板: 亚洲欧美黑人猛交群| 国产国拍亚洲精品福利 | 国产成人高清亚洲一区91| 欧洲 亚洲 国产图片综合| 亚洲一区二区三区高清视频| 亚洲国产综合自在线另类| 亚洲国产精品成人综合色在线婷婷 | 成人性做爰aaa片免费看| 少妇性饥渴无码A区免费| 成全在线观看免费观看大全 | 亚洲影院天堂中文av色| 亚洲欧美日韩自偷自拍| 国产成人综合久久精品亚洲| 国产亚洲Av综合人人澡精品| 日本在线观看免费高清| 99精品视频在线观看免费| 久久精品免费观看| 久久午夜夜伦鲁鲁片免费无码影视| 在线观看H网址免费入口| 成人免费无码大片A毛片抽搐色欲| 国产精品色午夜视频免费看| 亚洲AV日韩精品一区二区三区| 中文亚洲AV片不卡在线观看| 亚洲AV乱码久久精品蜜桃| 亚洲国产成人精品无码区在线秒播| 久久亚洲精品国产精品婷婷| 免费播放国产性色生活片| 日韩精品无码免费专区午夜| xx视频在线永久免费观看| 日韩在线免费播放| 久久精品国产精品亚洲| 精品亚洲麻豆1区2区3区| 在线观看亚洲AV日韩A∨| 一级毛片不卡免费看老司机| 久久国产乱子伦精品免费一| 亚洲第一成年免费网站| 亚洲精品无码久久毛片| 日韩精品一区二区亚洲AV观看| 亚洲人成网站999久久久综合| 亚洲精品视频免费观看| 久久久久久精品免费免费自慰|