Provided by: manpages-zh_1.5-1_all bug

NAME

       lilybbs-faq - linux入門以及百合 Linux 版精華區導讀

QUESTIONSDP答
  nRO紹
       歷史   (APUE  提到了1990年之前的unix歷史,還有各種標準  ANSI  ISO  IEEE
              posix xpg3....  但是linux 和 BSD 尤其是freebsd 在其後才大行其道)
              unix 的歷史與 c 是緊密相關的,無論是產生發展還是後來的標準制定。
              標準的制定反映出的,是當時的競爭之激烈。競爭在標準制定之後得到了抑制,
              但是這段紛爭的時間卻使unix的發展減緩了                     另一-
              茠礙發展的因素是版權,BSD的發展被延遲了,linux在版權上的障礙才-
              鳷開始 歷史問題可以參閱精華區的「歷史」目錄

       版權模式
              自由軟體版權和開源軟體版權的區別,在於對l生工作的制。   GPL  的-
              制指出,你可以蚹顊PL軟體,但是如果n再發行蚹儮L的版本,
              就必須允許其他任何人對這茠岩辣i行再次-
              蚹鵅C根據這一條,很多討論都是               沒有必n的。如果你的-
              蚹鴾ㄦ|再發行,那麼就不必考慮是否公布蚹麊熔虒`。
              也就是說,政府/x隊的保密制和GPL是不會沖突的。      FDL       的-
              制似乎僅僅需n保留聲明
              這種保証使用者權力的做法是否有道理,還是不清楚
              開源軟體版權,例如BSD和類似的X版權,n求在任何l生工作中保留-
              鴔@者的信息      對再次發行蚹麉嶊漯岩豪S有制       不明白為什麼-
              n這樣做--其中有一種自信,「舍我其誰」的勇氣吧
              參閱精華區「歷史文化」目錄

       合作開發模式
              有很多工具用於實現合作開發 參閱精華區「軟體開發」目錄

       linux最吸引人的地方是什麼?
              很多人想知道linux為什麼那麼好,為什麼讓人著迷
              我想我喜歡它,因為它的歷史悠久,結構很清楚很漂亮,很多思想很巧妙
              也許僅僅是「歷史」就足夠了。懷古的人不在少數吧
              合作開發,集中大家的智慧,從中可以產生無的可能
              自由?共產主義的狂熱精神?天下大同?
              當然,最直接的就是可以牢牢地將電腦控制在自己手裏,想把它袡╪
              什麼樣子就做成什麼樣子,可以想出和別人完全不同的生活方式,比如
              iloveqhq的scheme生活環境,是一般人享受不到的
              各種新鮮的想法,隨時可以試驗一下--讓想法時時刺激頭腦     像一-
              蚢C戲,耗時,費力,需n經常上論壇找攻略,從來沒有一定的玩法

       FUD 是什麼意思?
              2003年末,伴隨SCO對各-
              茼傢闤inux的公司的指控,還有對使用者的威脅恐嚇,
              各種媒體也紛紛興概@浪,發表聳人聽聞的新聞,例如新浪的一些報道。
              FUD                                                不僅指這些不-
              t責任的話,還包括對linux等自由軟體/開源軟體的懷疑,       對自-
              的懷疑我自己認為過分的狂熱也可以叫做FUD。           總之,沒有-
              和的態度就沒辦法實實在在地作事情,所以技術問題之外,
              爭論還是少一點好,懷疑更n少一點
              其實所有初學者都會情不自禁地自稱「菜鳥」,會「問弱弱的問題」。問題在於,
              有沒有抓緊時間提高水

       目錄 檔案 路徑概念
              APUE 中開始就講目錄 檔案 路徑的概念,因為這幾虓妝壑荌臕忖F。自從
              「檔案」出現之後,又出現了層次目錄結構,對電腦中資源的管理才逐步
              發展起來。檔案很適合於描z電腦上的資源
              unix的目錄結構是非常嚴謹的樹形結構,根目錄是「/」,其他目錄和檔案都必須
              在這茈媬下情C每茈媬下-
              掖ㄔi以有子目錄和檔案,目錄和檔案名稱的長度   是與檔案系統有關的
              路徑是引用一-
              茈媬或檔案時用到的,指示它的位置的字符串。絕對路徑是說
              從根目錄「/」開始,沿著目錄樹找到需-
              n引用的目錄或檔案,然後將中間經歷的
              節點都寫出來。例如,「/root/abc」               是說n找到「abc」
              檔案,就必須從   「/」開始,中間經歷   「root」   目錄才能找到。
              當前目錄是說使用者正處於樹形目錄的虒`點上,相對路徑就是-
              n引用的目錄  或檔案相對於當前目錄的位置。例如,我現在在「/root」
              目錄當中,n引用   「/root/def/xyz」   的話,只n用    「def/xyz」
              就可以了

       檔案類型
              檔案有不同的類型,在windows裏就可以看到,有純文字檔,圖像,聲-
              窗A視頻                                 但是在linux中的檔案類型-
              n更多。例如,符號鏈接就是非常有用的類型
              另外,linux中的二進制可執行檔案是ELF格式的,不需-
              n擴展名;而windows中         是PE格式,有固定的擴展名。所以,兩-
              茖t統的應用程式不能換用,有朝一日也許可以            linux中很-
              n的一種檔案就是設備檔案。幾乎所有的設備都有一蚢奰釭瑰仵蛂A
              在「/dev」當中       例如,硬碟harddisk簡稱hd,那麼系統中的第一-
              茧w碟就是hda,第二荋N是hdb.....,
              然後對應的設備檔案就是「/dev/hda」。硬碟上的各-
              茪幫洏弮r來編號,例如                         第一茧w碟的第一-
              茪幫炴N是「/dev/hda1」,第二茪幫炴N是「/dev/hda2」       再舉一-
              茖狺l,顯卡的設備檔案「/dev/fb0」,滑鼠設備檔案「/dev/input/mice」
              和「/dev/psaux」
              n注意的是,linux中的可執行檔案可以是二進制的,也可以是純文字檔。
              「可執行」僅僅是檔案的一-
              蚅搣呇茪w,不像windows中由於檔案系統中能保存的
              屬性信息少,只能通過擴展名來識別檔案類型。linux中的檔案可以不用擴展名,
              也可以用任意的擴展名各種各樣的檔案類型,是為了將不同的對象進行統一的處理。
              我怚i以用open    lseek    read     write     close     來讀寫一-
              荅瞻憒r檔,也可以用這幾       函數來處理滑鼠,讓聲卡播放一段聲-
              窗A讀寫一塊硬碟(如果你敢的話)。
              在windows中,不同的設備處理的方法是不同的,而unix環境中的處理方法是
              整齊劃一的。控制方法一般是fcntl和ioctl。(誰能告訴我ioctl犯了什麼錯誤了?)

       硬碟分區方式
              硬碟有很多種,分區也有各種各樣的方法。linux支持它-
              怴A但是常用的分區方法              就只有一種了。這種分區方法的-
              n求是這樣,一塊硬碟上只能有最多四茈D分區,               最多一-
              蚋X展分區;在擴展分區中可以劃分無多的邏輯分區。記住這三虓妝嚏C
              每茪幫洈熔臚@荇偽洃@般都是保留分區信息的,數據一般從第二-
              荇偽炩}始。                        分區信息中很南的內容是「下一-
              茪幫洈漲鼽m在什麼地方」還有「本分區的
              大小是多少」。因此,linux對分區進行編號的順序並不是硬碟上分區的物理排列順序,
              而是從第一茪幫炩}始,不斷查找下一-
              茪幫洁C這樣的結果是編號很容易弄錯。           n處理分區時,一定-
              n把當前分區情況備份一下
              pqmagic分區軟體不如linux中的分區軟體好用,因為它對混亂的分區編號處理
              更容易出錯           啟動引導程式一般都裝到某茪幫洈熔臚@荇偽秕-
              情A和分區信息放到一起。
              但是,如果安裝啟動引導程式時指定的設備錯了,那麼可能會把數據破壞掉,
              或者將其他分區的引導程式破壞掉。典型的情況是這樣:windows將自己的引導程式
              放在第一茪幫洁苤苭D分區1的開頭,我怐槌inux
              fans想把linux的引導程式,                    lilo或者grub放到整-
              茧w碟的開頭--MBR裏情CMBR的設備名是              「/dev/hda」,
              但是主分區1的設備名是                         「/dev/hda1」。一-
              茪ㄓp心,系統就啟動不了,壞掉了

       國際化,locale的概念,utf8 等字符編碼的含義和用法
              後兩-
              茪w經不用再多說了。是很過時的話題。但是前日還有人問turbolinux是不是核心漢
              化的。使用者並不是直接和核心打交道,為什麼-
              n漢化核心呢?目前的核心包含各種編碼,
              用於檔名的轉換,但是並沒有包含字型,因為使用者不是直接和核心打交道!
              國際化是整茖t統-
              S圍內的,對編碼進行規範,對輸入輸出方式的函數接口和通信協議進
              行整體的設-
              p,提供處理各種語言環境的統一方法。本地化中,對編碼的規定和對日期時
              間、貨幣格式的規定是國家標準,而輸入法、字型還有應用程式界-
              悸甄衝間A還需n大家                                    共同努力。
              國際化和本地化都應當在應用程式中實現,例如zhcon和cce。視窗系統中的國際化和本地
              化也是由應用程式實現的,視窗系統本言u提供通信協議
              zhcon還不是很完善,支持的編碼太少了

       中文化是本地化的一種,終端的本地化不是很完整
              對世界上所有的字符進行編碼,就是unicode。但是,具體的實現方法有很多種,有的採用
              定長編碼,有的採用變長編碼。utf8編碼是變長的,能實現unicode的大部分-
              n求            zh_CN.UTF-8,zh_CN.GB18030             這些locale
              的定義,前一部分是國家代碼,語言代碼,後
              一部分是編碼。不同的國家代碼和語言代碼對應著不同的輸入法,日期時間貨幣格式等等
              ,對使用者比較南,編碼則不是很-
              n,不同的語言可以使用相同的編碼,推薦使用utf8

       模塊化的設p思想 界接L關 設備無關
              這一段還沒有想好                                 很多程式是和界-
              惆S有關系的。例如,字型的使用一般使用Xft2字型庫,但是它和視窗環
              境沒有必然聯系。大部分bt工具是和界惆S有關系的。圖形應用程式  我-
              怢洏庣q腦時,我-
              怐漱@舉一動都是在和系統通信。系統中程式執行時也在互相通信  。想-
              n打開輸入法,我怮鬗Uctrl-space,這時-
              埥擗J法和應用程式之間就通過XIM協議開
              始通信了--過些日子,也許就不是這種協議了,但是通信是一定存在的
              一方情A每茧{式都關心自己的功能,另一方情A每茧{式都-
              n和其他程式進行通信。

       進程的概念 線程
              APUE                                           中提到,進程是一-
              茧{式的運行中的實例。進程有很多屬性,比如編號,所有者,當
              前運行狀態,啟動時的命令行,環境變量,運行時間,打開了什麼檔案....
              線程和進程類似,也有很多屬性。同一-
              荈i程的不同線程可以很容易地互相訪問數據。so
              laris的線程實現很不錯,非常靈活

       什麼發行版好?什麼unix好?
              精華區目錄中有各種unix的對比,linux的使用感受,可以看一看
              還有對書和網站的推薦      debian      發展太慢了,除非用unstable
              版本,但是那又太快了。用     knoppix      上上手不錯      redhat
              一直很好用,但是升級時最好-
              姜邡t統。現在fedora的網路升級不知道能不能完全             升級?
              redhat對中文的支持也很好,但是需n手動安裝的軟體比較多 turbolinux
              magic             還有國內廠商的版本              對中文支持不錯
              茪H不喜歡mandrake,很難定制。slackware   需n自己處理的東西太多了
              freebsd 的使用和debian 很相似,自動化程度很高

  nXRO~iH@
       檔案權 檔案權並不是檔案類型。所謂「可執行」,僅僅是檔案的權而不是類型。
              傳統的檔案權是九茼r符rwxrwxrwx三-
              茪@組一共三組,再加上檔案所有者和組。高級的              檔案權-
              就不是這麼簡單了,類似ntfs,可以指定任何使用者/組對某-
              蚗仵蛌漲U種各樣的權           用            「ls            -l」
              命令可以看到當前目錄中所有目錄和檔案的權  用 「chmod」 「chown」
              和 「chgrp」 命令可以蚹幭v

       運行程式 來自bash手冊
              假如看到檔案的權中帶有x,那麼它是一茈i執行的程式。-
              n執行它,可以使用相對路徑
              ,也可以使用絕對路徑。例如,我的目錄中有一荂urun-me」
              檔案是可執行的,那麼我可       以運行       「/root/bin/run-me」
              ,或者先運行  「cd  /root」  再運行  「bin/run-me」。  假如說這-
              茈i執行檔案的位置在                                 「/usr/bin」
              當中,那麼我不必使用路徑也可以直接執 行它,因為環境變量 「PATH」
              中包含了 「/usr/bin」。運行 「export」 可以看到 「 PATH」 的定義

       具體目錄的作用 來自FHS 標準
              這蚍郱ㄛO很正式,但是很多unix系統都在用。意思就是,「/」
              根目錄下悸漱l目錄                                  和檔案都有它-
              怞U自的用處,不能隨意增加刪除。比如說,「/dev」
              就是設備,「/etc」
               就是所有配置檔案,「/var」
              是應用程式自動管理的數據,比如用rpm安裝了一茬n體,    rpm會將那-
              茬n體的信息存在「/var」                           當中。「/usr」
              當然就是應用程式的目錄。「/bo       ot」       是核心還有啟動時-
              n用到的檔案。試一試,「ls lR /」 :)

       安裝和刪除軟體--最簡單的辦法
              最簡單的,把這荇M件含的檔案--一般是一茈i執行檔案,複製到
              「/usr」  當中就   可以了。複製到什麼地方呢?FHS   對   「/usr」
              目錄中的子目錄也有規定。「/usr/bin」
               是可執行檔案,「/usr/lib」            是庫檔案,就是xxxxxx.so.1
              之類的,「/usr/share」   是    不需n蚹麊獐琚A比如幫助手冊,桌-
              措牳迮扔央C                             n卸載軟體,只n從「/usr」
              當中把複製過去的檔案刪掉就可以了  複製用  cp   命令,刪除用   rm
              命令。小心不n誤刪除了有用的東西  和windows裏惜ㄓ茪@樣,不會在一-
              茖t統中安裝四茤峈怳紝Q卻仍然找不到QQ裝在什麼 地方。一般安裝軟體-
              n用make,rpm 或者dpkg 等等方法,不用自己操心複製刪除檔案

       進程間的關系,應當使用APUE 中的敘z
              用ps      命令可以查看進程。用top命令可以動態地查看進程。當然,-
              n搞清楚輸出是什麼意     思,需n仔細看看幫助     fg     和     bg
              可以在一些進程中切換   kill   和killall   可以控制進程停止和退出
              一邊執行命令,一邊可以到「/proc」       目錄看一看。這茈媬是整-
              茖t統的情況,包括硬 件和軟體的信息。多練一練 「cd」,「ls」 還有
              「cat」。看了足夠多之後,對於ps              和              top
              命令的輸出就大概明白了。我認為「/proc」 是新手訓練的最佳場合

       fork exec 環境變量 守護進程(daemon)

       shell 編程初步-shell,awk,perl

       命令   cd  ls  ;cat  less  ;rm cp mv ln ;mkdir chmod chgrp ; reboot
              poweroff ;mount umount df du ;tar make ;  fdisk  parted  ;vi
              ;man info ; rpm apt-get apt-cache dpkg ;lilo grub modprobe ;
              gcc g++ ;ps fg bg top ; 最常用的命令是不是poweroff  和  reboot
              ?

       命令的通用選項
              cd   -   切換到上次所在的目錄   cd  ..   切換到上層目錄  ls  -lh
              很多命令的參數中,「-h」  表示的是將檔案大小轉換為以  「MB」  和
              「kB」  為單位  「-l」 是長格式,可以看到檔案更多的信息 df -h du
              -h             查看磁碟空間,已用多少,剩餘多少             free
              查看記憶體和交換空間使用情況。不過一般用top來看更好一些     less
              -isr                                                   可以用這-
              茤R令來看看很多類型的檔案的內容,包括純文字檔,壓縮包等等。加上參數就
              能處理中文了   rm    -rf    強制刪除,包括目錄和檔案    cp    -a
              完全複製,保留鴩蚗仵蛌漫狾傍搣               cp              -R
              複製,包括目錄和檔案。預設不包括目錄            ln            -s
              建立符號鏈接。符號鏈接的目標可以是目錄或檔案,也可以不存在。產生的新檔案和鏈接
              目標屬性和作用完全一P。  tar  zxf  tar  zcf  tar  jxf  tar   jcf
              創建壓縮檔案(c)和解壓縮(x)   j   對應的是   .tar.bz2,而   z
              對應的是   .tar.gz   fdisk    -l    列出一茧w碟的分區情況。fdisk
              命令交互執行更有意思  rpm  -ivh rpm -Uvh 安裝一荇M件 或者升級一-
              荇M件 rpm -qip rpm -qpl 查詢一荇M件的信息和內容 rpm -qf  查詢一-
              蚗仵袎搣嚲荇M件          apt-get          update         升級整-
              茖t統,但是不會強制升級一些不合規範的內容    apt-get     install
              安裝一茬n體。debian最吸引人的地方就在於容易地安裝和刪除軟體 dpkg
              -i dpkg -l apt-cache search 如果軟體名稱更容易記就好了

  習
       安裝X輸入法
              X 輸入法一般需n兩蚗藿疻僆q,一茯O XMODIFIERS, 另外一茯O LC_CTYPE
              比如n使用fcitx     輸入法,XMODIFIERS    最好是    「@im=fcitx」
              (也可以是其他^,LC             _CTYPE             是一胵ocale
              類型的變量,其中的國家代碼必須是zh,語言代碼和編碼邠O無所
              謂再比如n使用scim  輸入法,XMODIFIERS  應當是   「@im=scim」   ,
              LC_CTYPE  在輸入  中文時同上,輸入其他文字時可以是其他國家代碼。
              當然,如果你的系統中連中文字型都沒有,就不n指望有中文輸入法了。
              因為不同的進程有自己獨特的環境變量設置,所以完全可以在同一-
              茧礸”t統的不同應用                    程式中使用各種輸入法,只-
              n在啟動應用程式之前先設置          XMODIFIERS         就可以了。
              安裝X輸入法最困難的是如何使輸入法可以隨著X視窗系統而啟動和退出。不同的發行版有
              不同的運行輸入法的方法,比如redhat/fedora                可以蚹
              「/etc/X11/xinit/xinit.d/xi nput」 檔案

       安裝終端的中文環境

       遍歷 /proc 目錄

       安裝軟體 查詢套件

       配置檔案,fstab lilo.conf grub.conf XF86Config

       配置lilo 或者 grub, 問題袨_
              建議找一茼n一點的lilo.conf            或者             grub.conf
              看一看,至少是能用的配置檔案看一看,             然後再著手進行-
              袨_工作。有可能需n手動從頭開始寫一荌t置檔案
              確定真的弄清楚了硬碟分區情況了嗎?在BBS上求助時,一定-
              n把分區情況和配置檔案,還

              有導P出錯的步驟都貼上來            精華區lilo             和grub
              目錄都各有上百篇帖子,講z安裝和袨_的過程

       mount  mount                                 命令用於將一茬]備掛載到一-
              茈媬上,然後就可以訪問其中的檔案了。                      mount
              命令可選的參數非常多,但是n想正確掛載一茬]備,必須搞清楚一些事情
              例如:       mount  /dev/sda1  /mnt/u-disk/sda1   -t   vfat   -o
              defaults,users             其中,USB移動硬碟設備對應的設備檔名是
              「/dev/sda1」。如果設備檔名
              搞錯了,那麼掛載肯定會出錯。很多出錯都是因為       「/dev/sda1」
              對應的設備                     根本不存在                     -o
              可以指定的選項非常多,不同的檔案系統都有自己特定的選項。常用的就是
              users   iocharset   fmask    dmask    rw/ro    這一些。iocharset
              是自己的編碼,在掛載     windows    網上鄰居的目錄時,iocodepage
              是對方的編碼。                 看幫助,man                 mount
              非常長。常見的/etc/fstab中的一行是這樣:
                    /dev/hda1    /mnt/harddisk/C vfat defaults,users,umask=0 0
              0 如果是kernel-2.6 那麼還可以加上fmask=111,dmask=0 來控制權

       安裝X字型
              非常簡單。字型有兩茖t統,一茯O舊一點的X系統,一-
              茯O新一點的Xft2系統。n想在兩    茖t統中同時使用某茼r型,需n將這-
              茼r型複製到某荂u/usr/local/share/fonts」  的  子目錄中去,然後在
              「/etc/X11/fs/config」  中加入這茈媬,最後執行 「fc-cache -fv」
              刷新字型列表,「service       xfs       restart」       就可以了
              不同的系統中,完成這幾-
              茖B驟的具體執行的命令可能不一樣。複製字型應該都一樣,然
              後可能需n將這茈媬加入到                 「/etc/X11/XF86Config」
              當中去,最後也有可能需n垮 動圖形系統。n靈活一點

       配置latex 和 ps 系統

       分區,奐s安裝系統
              這裏是實踐部分。硬碟分區,常見的分區方法是一茈D分區,一-
              蚋X展分區,然後在擴展
              分區中可以劃分很多很多邏輯分區。也有分區方法是劃分兩-
              茈D分區,例如IBM的系統還               分區,還有dell也是這樣。
              為linux系統分區可以只分一茳wap分區和一                    「/」
              分區。swap分區大小三丹艽就可以     了。而     「‘/’     分區」
              的說法只是為了方便,意思是將某茪幫洇@為     「/」     目錄來使用
              。類似的,如果安裝程式n劃分   「‘/boot’  分區」,那麼也是將某-
              茪幫洇@為 「/boo t」  目錄來使用。  任何一茈媬都可以單獨劃為一-
              茪幫洁A例如可以將         「/usr/local」         目錄單獨劃為一
              分區,這樣把數據放在裏情A姜邡t統時不會被刪除掉。 高級的lvm和lvm2
              只在大硬碟上才有用

HISTORYv
       版上討論了很久是不是n提高技術性了。的確,大部分入門級問題在
       從前的帖子中都有涉及,精華區中大概也有答案,契_地提問「將有價
       的論題淹沒了」。

           n提高技術水央A就n找到更多的論題和提出更好的想法。但是,魯
       迅先生說得好,n有「天才的土壤」才行。所以,對於新手問題也不能封
       殺。一種設想,是請幾位熟練的使用者專人t責某一茪鞊的問題,用信
       件聯系,然後把有價滌Q論結果發上來。但是,這樣效率不高。

           我想試行一下這樣的做法,就是入門級問題以及解答就跟在這茤咫l     後-
       情A過一段時間就清理一下,總結到一篇文章中。請大家配合。暫時設
       定精華區的第19茈媬和第29茈媬分別用作已解決/未解決問題的保存 之處。

           後續的第二篇帖子是一些快速解答,可以在firefox  的搜索欄中使用  「-
       惜熒j索」功能來查找關心的內容。

           歡迎蚹

Copyright

       Permission is granted to copy, distribute and/or modify this page under
       the terms of the GNU Free Documentation License,  Version  1.2  or  any
       later  version  published  by  the  Free  Software  Foundation; with no
       Invariant Sections, no Front-Cover Texts and no Back-Cover Texts.

AUTHOR

       最後一次蚹麊怴Gbbbush<bbbush@lilybbs>@2004年2月11日

       最初的格式是txt 沒有排版,沒有鏈接