The NoteBook of EricKong

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            611 Posts :: 1 Stories :: 190 Comments :: 0 Trackbacks

          #

          //IBMUSERC JOB 'COMP BATCH',CLASS=A,MSGCLASS=H,                        
          //       NOTIFY=IBMUSER,MSGLEVEL=(1,1)                                 
          //*********************************************************************
          //        SET SRC=HELLO                                                
          //*********************************************************************
          //* JOB TO COMPILE AND LINK-EDIT COBOL PROGRAM                         
          //*********************************************************************
          //***************  COMPILE STEP **********************************     
          //COBOL EXEC PGM=IGYCRCTL,REGION=2048K,                                
          //      PARM='NODYNAM,LIB,OBJECT,RENT,RES,APOST,MAP,XREF,OFFSET'       
          //STEPLIB DD DSNAME=IGY410.SIGYCOMP,                                   
          //           DISP=SHR                                                  
          //SYSPRINT DD SYSOUT=*                                                 
          //SYSLIN DD DSNAME=&&LOADSET,UNIT=SYSDA,                               
          //        DISP=(MOD,PASS),SPACE=(TRK,(3,3)),                           
          //        DCB=(BLKSIZE=3200)                                           
          //SYSIN DD DSN=IBMUSER.TEST.COBOL(&SRC),DISP=SHR                       
          //SYSLIB DD DSN=IBMUSER.TEST.COPY,DISP=SHR                             
          //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(1,1))  
          //SYSUT2  DD UNIT=SYSDA,SPACE=(CYL,(1,1))                               
          //SYSUT3 DD UNIT=SYSDA,SPACE=(CYL,(1,1))                                
          //SYSUT4 DD UNIT=SYSDA,SPACE=(CYL,(1,1))                                
          //SYSUT5 DD UNIT=SYSDA,SPACE=(CYL,(1,1))                                
          //SYSUT6 DD UNIT=SYSDA,SPACE=(CYL,(1,1))                                
          //SYSUT7 DD UNIT=SYSDA,SPACE=(CYL,(1,1))                                
          //****************** LINK STEP *****************************************
          //LKED EXEC PGM=HEWL,COND=(8,LT,COBOL),REGION=1024K,                    
          //          PARM='LIST,XREF'                                            
          //SYSLIB DD DSNAME=CEE.SCEELKED,DISP=SHR                                
          //       DD DSN=IBMUSER.TEST.LOAD,DISP=SHR                              
          //SYSPRINT DD SYSOUT=*                                                  
          //SYSLIN DD DSNAME=&&LOADSET,DISP=(OLD,DELETE)                          
          //SYSLMOD  DD DSNAME=IBMUSER.TEST.LOAD(&SRC),DISP=SHR                   
          //SYSUT1 DD UNIT=SYSDA,SPACE=(TRK,(10,10))                              
          //**********************************************************************
          //*      RUN THE COMBOL PROGRAM                                         
          //**********************************************************************
          //STEP020 EXEC PGM=HELLO   
          //STEPLIB DD DSN=IBMUSER.TEST.LOAD(HELLO),DISP=SHR                      
          //SYSOUT DD SYSOUT=*                                                    
          //  
          posted @ 2013-07-28 15:56 Eric_jiang 閱讀(452) | 評論 (0)編輯 收藏

          IGYWC - Enterprise COBOL Compile only
          IGYWCG - Enterprise COBOL Compile, load and run
          IGYWCL - Enterprise COBOL Compile and link
          IGYWCLG - Enterprise COBOL Compile, link and run
          IGYWCPG - Enterprise COBOL Compile, prelink, load and run
          IGYWCPL - Enterprise COBOL Compile, prelink and link
          IGYWCPLG - Enterprise COBOL Compile, prelink, link and run  
          posted @ 2013-07-28 15:28 Eric_jiang 閱讀(416) | 評論 (0)編輯 收藏

          Data set record formats
          數據集記錄根式
          z/OS concepts
          Z/OS的概念
          Traditional z/OS® data sets are record oriented, and have one of five possible formats.
          傳統意義上來說,Z/OS的數據集的都是面向記錄,有5種可能的格式。

          In normal usage, there are no byte stream files such as are found in PC and UNIX® systems. (z/OS UNIX has byte stream files, and byte stream functions exist in other specialized areas. These are not considered to be traditional data sets.)
          在一般的使用上,Z/OS是沒有像PC和Unix系統的上的字節流文件(Z/OS Unix有字節流文件,而這些字節流功能存在其他特定的功能區域,但是這些已經不是傳統意義上的數據集了,另當別論)

          In z/OS, there are no new line (NL) or carriage return and line feed (CR+LF) characters to denote the end of a record. Records are either fixed length or variable length in a given data set. When editing a data set with ISPF, for example, each line is a record.
          在Z/OS中,沒有新行符號(NL)或者(CR+LF) 等字符作為記錄的結束標志。在一個給定的數據集,記錄總是固定長度的或者是可變長度的。

          Traditional z/OS data sets have one of five record formats, as follows:
          傳統Z/OS有下面5中的記錄格式:

          F (Fixed)
          Fixed means that one physical block on disk is one logical record and all the blocks and records are the same size. This format is seldom used.
          F(固定)
                 在磁盤的上一個物理塊就是一個邏輯記錄,而且所有的塊和記錄都是同樣大小的,這種格式是很少用的了。

          FB (Fixed Blocked) 
          This format designation means that several logical records are combined into one physical block. This format can provide efficient space utilization and operation. This format is commonly used for fixed-length records.
          FB(定長 分塊)
              這種格式意味著幾個邏輯記錄組合成為一個物理塊,這種格式能夠提供高效的空間利用率和操作行,是一種經常被固定長度記錄使用的格式。

          V (Variable) 
          This format has one logical record as one physical block. A variable-length logical record consists of a record descriptor word (RDW) followed by the data. The record descriptor word is a 4-byte field describing the record. The first 2 bytes contain the length of the logical record (including the 4-byte RDW). The length can be from 4 to 32,760 bytes. All bits of the third and fourth bytes must be 0, because other values are used for spanned records. This format is seldom used.
          V(變長)
                這種格式中,一個邏輯的記錄作為一個物理塊,一個可變長度的邏輯記錄包含一個記錄描述符(RDW),它放置在在數據的前面。這個記錄描述符有4個字節,前兩個字節描述了邏輯記錄的長度(長度也包含了RDW的長度在內)。長度范圍可以是4字節到32760個字節,第三和第四個字節必須是0,因為其他值已經被跨越式的記錄使用,這種格式也是很少使用的。

          VB (Variable Blocked)
          This format places several variable-length logical records (each with an RDW) in one physical block. The software must place an additional Block Descriptor Word (BDW) at the beginning of the block, containing the total length of the block.
          VB(變長,分塊)
                 這種格式將多個可變長度的邏輯記錄(每一個都包含了RDW)放在一個物理塊里面。系統必須放置一個額外的塊描述符(BWD)在塊的開始部位,BDW它包含了這個塊全部長度。

          U (Undefined) 
          This format consists of variable-length physical records and blocks with no predefined structure. Although this format may appear attractive for many unusual applications, it is normally used only for executable modules.
          U(未定義)
                 這個格式包含了可變長度的記錄和沒有預先定義好格式的塊,這種格式對于那些不常用的應用程序是多么的吸引,但是一般來說,主要用于可執行模塊的存儲格式。

          We must stress the difference between a block and a record: a block is what is written on disk, while a record is a logical entity.
          我們這里需要強調一個塊和一個記錄的區別,一個塊是用于寫入磁盤,而一個記錄是一個邏輯實體。
          The terminology here is pervasive throughout z/OS literature. The key terms are:
          這些技術詞匯貫穿了Z/OS技術文化里面中,下面是關鍵的一些項目:
          Block Size (BLKSIZE) is the physical block size written on the disk for F and FB records. For V, VB, and U records, it is the maximum physical block size that can be used for the data set.

          塊大小(BLKSIZE),是指用于寫入F或者FB格式的物理塊的大小。而對于V,VB和U格式的記錄,BLKSIZE是數據集能夠使用的最大物理塊大小。
          Logical Record Size (LRECL) is the logical record size (for formats F and FB) or the maximum allowed logical record size (for formats V and VB) for the data set. Format U records have no LRECL.
          邏輯記錄格式大小(LRECL)是指一個邏輯記錄的大小(對于F和FB的格式)或是最大的可允許的邏輯記錄大小(對于V和VB格式的)數據集,對于格式U來說,是沒有LRECL可言的。

          Record Format (RECFM) is F, FB, V, VB, or U as just described.
          記錄格式(RECFM)F, FB, V, VB, or U,上面已經講過了
          These terms are known as data control block (DCB) characteristics, named for the control block where they may be defined in an assembly language program. The user is often expected to specify these parameters when creating a new data set. The type and length of a data set are defined by its record format (RECFM) and logical record length (LRECL). Fixed-length data sets have a RECFM of F, FB, FBS, and so on. Variable-length data sets have a RECFM of V, VB, VBS, and so on.

          這些項目就是我們知道的(DCB)數據控制塊,被命名的DCB常用于匯編程序,當我們需要創建新的數據集的時候,我們經常需要指明這些項目的數值。數據集的類型和長度由它的記錄格式(RECFM)和邏輯記錄長度(LRECL)來決定的。固定長度的數據集有記錄格式(RECFM)F, FB等等其他,可變長度的數據集有記錄格式(RECFM)V, VB, VBS,等等其他

          A data set with RECFM=FB and LRECL=25 is a fixed-length (FB) data set with a record length of 25 bytes (the B is for blocked). For an FB data set, the LRECL tells you the length of each record in the data set; all of the records are the same length. The first data byte of an FB record is in position 1. A record in an FB data set with LRECL=25 might look like this:
          Positions 1-3: Country Code = 'USA'
          Positions 4-5: State Code = 'CA'
          Positions 6-25: City = 'San Jose' padded with 12 blanks on the right
          使用了RECFM=FB and LRECL=25進行定義的數據集是一個固定長度的數據集,數據集的記錄長度為25個字節,B意味指分塊的,在一個FB格式的數據集中,LRECL項告訴了你這個數據集每個記錄的長度,他們長度都是一樣的,如上面的記錄。

          A data set with RECFM=VB and LRECL=25 is a variable-length (VB) data set with a maximum record length of 25 bytes. In a VB data set, the records can have different lengths. The first four bytes of each record contain the RDW, and the first two bytes of the RDW contain the length of that record (in binary). The first data byte of a VB record is in position 5, after the 4-byte RDW in positions 1-4. A record in a VB data set with LRECL=25 might look like this:
          定義為RECFM=VB and LRECL=25的數據集是一個可變長度的數據集,它最大的長度是25個字節,在一個定義為VB格式的數據集中,記錄可以有不同的才長度,前面的四個字節是記錄描述(RDW),前面兩個字節包含了記錄的長度(二進制表示),因此,可變長度的記錄的開始的數據位是5,定義為VB格式,LRECL=25的數據集的一條記錄會像下面這樣保存。
          Positions 1-2: Length in RDW = hex 0011 = decimal 17
          Positions 3-4: Zeros in RDW = hex 0000 = decimal 0
          Positions 5-7: Country Code = 'USA'
          Positions 8-9: State Code = 'CA'
          Positions 10-17: City = 'San Jose'
          Figure 1 shows the relationship between records and blocks for each of the five record formats.

          下面的圖展示了,在不同格式下,5個記錄和塊的關系
          Figure 1. Basic record formats 基本記錄格式
          posted @ 2013-07-27 17:49 Eric_jiang 閱讀(360) | 評論 (0)編輯 收藏

                如果數據集是一個分區數據集,如果是一個剛剛建立的分區數據集,我們按前述進行編輯的時候,右上角會提示 No member in data set,這個就是說明了,一個分區數據集是不能拿來直接編輯的,因為它是一個順序數據集的集合,它相當于一個文件夾,怎么可以拿來直接編輯呢,所以要先在其中建立順序數據集,這個順序數據集一般被稱為MEMBER,然后再對MEMBER進行相應的編輯。如何給分區數據集添加順序數據集呢?很簡單,就在如上的兩處環境下在Data set name一項中填上數據集名稱,然后在后面加上一個括號,其中寫上要添加的成員的名字就可以了(例如LIB.COURCE(MEM1)),然后回車就直接進入編輯狀態了。如果是一個已經有成員的分區數據集,填寫好數據集名稱,不用加什么括號然后直接回車,會出現一個成員列表,再在其中進行選擇,然后選擇一個數據集來編輯就可以了,編輯命令當然跟前面說過的那兩種命令相同了。
          posted @ 2013-07-27 14:04 Eric_jiang 閱讀(219) | 評論 (0)編輯 收藏

          IBM提供的400環境! 1、用IE訪問400的地址如下:http://iseriesd.dfw.ibm.com/webaccess/iWA5250 2、用PCOM400的配置如下:主機IP: iSeriesD.DFW.IBM.COM端 口: 23 用 戶: WUSER密 碼: DEMO2PWD
          posted @ 2013-07-26 16:51 Eric_jiang 閱讀(404) | 評論 (0)編輯 收藏


          你可以start命令再開一個
          然后用F9切換
          用=X刪除
          posted @ 2013-07-18 22:31 Eric_jiang 閱讀(316) | 評論 (0)編輯 收藏

          dataset:數據集,主機上最基本的存儲單元,相當于fat文件系統中的文件。主要有四種數據集類型:順序數據集(PS),分區數據集(PDS),擴展分區數據集(PDSE),VSAM數據集以及UNIX文件格式。

          PS:順序數據集,數據集的一種,它相當于一個文本文件,但在物理存儲上完全按照數據存入的先后順序存儲的。

          PDS(PO):分區數據集,相當于一個文件夾,PDS內包含若干個順序的member,每個member都是一個數據集。但物理存儲上,每個PDS包含兩部分:Directory(目錄)和members(數據集成員)。Directory中存有每個member的名字和地址。PDS的缺陷是member被刪除后,該member所占用的空間沒有釋放,無法立即使用,需要對該分區數據集壓縮之后才會被釋放。

          PDSE(Library):擴展分區數據集,與分區數據集的區別是,PDSE的目錄可根據存儲member的增加而擴大,member被刪除后,其占用的空間會被立即釋放。主機中PDSE又稱Library。

          VSAM:VSAM數據集(Virtual Storage Access Method)是在虛擬存儲器和樹型數據結構的基礎上,為了滿足數據量大、存放速度快和維護方便的要求發展起來的一種文件形式。

          HFS:全稱叫做Hierarchical file system,層次型文件系統。在Z/OS上定義一個HFS數據集,這個HFS數據集就是一個完整的層次型文件系統。文件系統里所看到的所有數據其實都存儲在這個數據集里。從外面來看,這是一個普通的數據集,到這個數據集里面看,里面是與其他數據集不一樣的結構:它的內部是樹形結構。從根開始,有一些節點,,節點上再連著節點。目錄和文件就掛在這些節點上,100% UNIX風格。UNIX文件系統就是這樣的結構。可以理解為,HFS是在數據集里創建了一個UNIX特別行政區,UNIX SERVICE可以在這個區域里進行UNIX方式的操作。值得注意的是,支持HFS的數據集只能在DASD的卷上。HFS的數據集屬性中的DSNTYPE(數據集名屬性)是“HFS”。

          posted @ 2013-07-14 17:44 Eric_jiang 閱讀(492) | 評論 (0)編輯 收藏

          HDFS和MapReduce只是打造Hadoop平臺最基本的核心套件,在Apache基金會的網站中還有其他的相關開源套件,共同組成了一個Hadoop體系(Hadoop Ecosystem)。

            通過這些相關項目的延伸,開發人員就算不懂Java,也可以用特定Script語言來寫Hadoop上的MapReduce程序,甚至可以用SQL語法來查詢HDFS上的數據。這些周邊項目可說是大幅強化Hadoop功能的軟件軍火庫,想要善用Hadoop的開發人員不可錯過。其中重要的周邊項目包括HBase、Hive 、ZooKeeper、Pig和Mahout.

            HBase 能容納PB數據量的分布式數據庫  HBase是專門用于Hadoop文件系統上的數據庫系統,采取Column-Oriented 數據庫設計,不同于傳統的關系數據庫,例如沒有數據表、Schema數據架構等功能,而是采用Key-Value形式的數據架構,每筆數據都有一個Key值對應到一個Value值,再通過多維度的對應關系來建立類似表格效果的數據架構。如此就能采取分布式儲存方式,可以擴展到數千臺服務器,應對PB級的數據處理。

            Hive 可用SQL語法存取Hadoop數據  Hive是部署在HDFS上的一套分布式數據存儲系統,可讓用戶以慣用的SQL語法,來存取Hadoop文件中的大型數據集,例如可以使用Join、Group by、Order by等,而這個語法稱為Hive QL.不過,Hive QL和SQL并非完全相同,例如Hive就不支持Store Procedure、Trigger等功能。   Hive會將用戶輸入的Hive QL指令編譯成Java程序,再來存取HDFS文件系統上的數據,所以,執行效率依指令復雜度和處理的數據量而異,可能有數秒鐘,甚至是數分鐘的延遲。和HBase相比,Hive容易使用且彈性高,但執行速度較慢。不少數據庫系統,都是通過先連結到Hive,才能與Hadoop整合。例如微軟就是通過Hive ODBC驅動程序,將SQL指令轉換成Hive QL,讓Excel可以存取Hadoop上的數據。

            在同一個Hadoop集群中,Hive可以存取HBase上的數據,將HBase上的數據對應成Hive內的一個表格。

            Pig 不懂Java開發也能寫MapReduce  Pig提供了一個Script語言Pig Latin,語法簡單,類似可讀性高的高等Basic語言,可用來寫MapReduce程序。Pig會自動將這些腳本程序轉換,成為能在Hadoop中執行的MapReduce Java程序。

            因此,使用者即使不懂Java也能寫出MapReduce.不過,一般來說,通過Pig腳本程序轉換,會比直接用Java寫MapReduce的效能降低了25%.

            ZooKeeper 讓Hadoop內部服務器能協同運作  Zookeeper是監控和協調Hadoop分布式運作的集中式服務,可提供各個服務器的配置和運作狀態信息,用于提供不同Hadoop系統角色之間的工作協調。

            以HBase數據庫為例,其中有兩種服務器角色:Region服務器角色和Master服務器角色,系統會自動通過ZooKeeper監看Master服務器的狀態,一旦Master的運作信息消失,代表當機或網絡斷線,HBase就會選出另一臺Region服務器成為Mater角色來負責管理工作。

            Mahout 立即可用的常用MapReduce程序庫  在Hadoop中,開發人員必須將數據處理作法拆解成可分散運算的Map和Reduce程序,因為思考邏輯和常見的程序開發邏輯不同,所以開發難度很高。Mahout則提供了一個常用的MapReduce函式庫,常見的數值分析方法、集群分類和篩選方式,都已經有對應的MapReduce函數可呼叫,開發人員就不必再重復開發一次。

          posted @ 2013-07-01 22:02 Eric_jiang 閱讀(387) | 評論 (0)編輯 收藏

          Linux環境下的軟件安裝,并不是一件容易的事情;如果通過源代碼編譯后在安裝,當然事情就更為復雜一些;現在安裝各種軟件的教程都非常普遍;但萬變不離其中,對基礎知識的扎實掌握,安裝各種軟件的問題就迎刃而解了。Configure腳本配置工具就是基礎之一,它是autoconf的工具的基本應用。

          與一些技巧相比,Configure顯得基礎一些,當然使用和學習起來就顯得枯燥乏味一些,當然要成為高手,對基礎的熟悉不能超越哦。

          為此我轉載了一篇關于Configure選項配置的詳細介紹。供大家參考

          'configure'腳本有大量的命令行選項.對不同的軟件包來說,這些選項可能會有變化,但是許多基本的選項是不會改變的.帶上'--help'選項執行'configure'腳本可以看到可用的所有選項.盡管許多選項是很少用到的,但是當你為了特殊的需求而configure一個包時,知道他們的存在是很有益處的.下面對每一個選項進行簡略的介紹:

          --cache-file=FILE

          'configure'會在你的系統上測試存在的特性(或者bug!).為了加速隨后進行的配置,測試的結果會存儲在一個cache file里.當configure一個每個子樹里都有'configure'腳本的復雜的源碼樹時,一個很好的cache file的存在會有很大幫助.

          --help

          輸出幫助信息.即使是有經驗的用戶也偶爾需要使用使用'--help'選項,因為一個復雜的項目會包含附加的選項.例如,GCC包里的'configure'腳本就包含了允許你控制是否生成和在GCC中使用GNU匯編器的選項.

          --no-create

          'configure'中的一個主要函數會制作輸出文件.此選項阻止'configure'生成這個文件.你可以認為這是一種演習(dry run),盡管緩存(cache)仍然被改寫了.

          --quiet

          --silent

          當'configure'進行他的測試時,會輸出簡要的信息來告訴用戶正在作什么.這樣作是因為'configure'可能會比較慢,沒有這種輸出的話用戶將會被扔在一旁疑惑正在發生什么.使用這兩個選項中的任何一個都會把你扔到一旁.(譯注:這兩句話比較有意思,原文是這樣的:If there was no such output, the user would be left wondering what is happening. By using this option, you too can be left wondering!)

          --version

          打印用來產生'configure'腳本的Autoconf的版本號.

          --prefix=PEWFIX

          '--prefix'是最常用的選項.制作出的'Makefile'會查看隨此選項傳遞的參數,當一個包在安裝時可以徹底的重新安置他的結構獨立部分. 舉一個例子,當安裝一個包,例如說Emacs,下面的命令將會使Emacs Lisp file被安裝到"/opt/gnu/share":

          $ ./configure --prefix=/opt/gnu

          --exec-prefix=EPREFIX

          與'--prefix'選項類似,但是他是用來設置結構倚賴的文件的安裝位置.編譯好的'emacs'二進制文件就是這樣一個問件.如果沒有設置這個選項的話,默認使用的選項值將被設為和'--prefix'選項值一樣.

          --bindir=DIR

          指定二進制文件的安裝位置.這里的二進制文件定義為可以被用戶直接執行的程序.

          --sbindir=DIR

          指定超級二進制文件的安裝位置.這是一些通常只能由超級用戶執行的程序.

          --libexecdir=DIR

          指定可執行支持文件的安裝位置.與二進制文件相反,這些文件從來不直接由用戶執行,但是可以被上面提到的二進制文件所執行.

          --datadir=DIR

          指定通用數據文件的安裝位置.

          --sysconfdir=DIR

          指定在單個機器上使用的只讀數據的安裝位置.

          --sharedstatedir=DIR

          指定可以在多個機器上共享的可寫數據的安裝位置.

          --localstatedir=DIR

          指定只能單機使用的可寫數據的安裝位置.

          --libdir=DIR

          指定庫文件的安裝位置.

          --includedir=DIR

          指定C頭文件的安裝位置.其他語言如C++的頭文件也可以使用此選項.

          --oldincludedir=DIR

          指定為除GCC外編譯器安裝的C頭文件的安裝位置.

          --infodir=DIR

          指定Info格式文檔的安裝位置.Info是被GNU工程所使用的文檔格式.

          --mandir=DIR

          指定手冊頁的安裝位置.

          --srcdir=DIR

          這個選項對安裝沒有作用.他會告訴'configure'源碼的位置.一般來說不用指定此選項,因為'configure'腳本一般和源碼文件在同一個目錄下.

          --program-prefix=PREFIX

          指定將被加到所安裝程序的名字上的前綴.例如,使用'--program-prefix=g'來configure一個名為'tar'的程序將會使安裝的程序被命名為'gtar'.當和其他的安裝選項一起使用時,這個選項只有當他被`Makefile.in'文件使用時才會工作.

          --program-suffix=SUFFIX

          指定將被加到所安裝程序的名字上的后綴.

          --program-transform-name=PROGRAM

          這里的PROGRAM是一個sed腳本.當一個程序被安裝時,他的名字將經過`sed -e PROGRAM'來產生安裝的名字.

          --build=BUILD

          指定軟件包安裝的系統平臺.如果沒有指定,默認值將是'--host'選項的值.

          --host=HOST

          指定軟件運行的系統平臺.如果沒有指定,將會運行`config.guess'來檢測.

          --target=GARGET

          指定軟件面向(target to)的系統平臺.這主要在程序語言工具如編譯器和匯編器上下文中起作用.如果沒有指定,默認將使用'--host'選項的值.

          --disable-FEATURE

          一些軟件包可以選擇這個選項來提供為大型選項的編譯時配置,例如使用Kerberos認證系統或者一個實驗性的編譯器最優配置.如果默認是提供這些特性,可以使用'--disable-FEATURE'來禁用它,這里'FEATURE'是特性的名字.例如:

          $ ./configure --disable-gui

          -enable-FEATURE[=ARG]

          相反的,一些軟件包可能提供了一些默認被禁止的特性,可以使用'--enable-FEATURE'來起用它.這里'FEATURE'是特性的名字.一個特性可能會接受一個可選的參數.例如:

          $ ./configure --enable-buffers=128

          `--enable-FEATURE=no'與上面提到的'--disable-FEATURE'是同義的.

          --with-PACKAGE[=ARG]

          在自由軟件社區里,有使用已有軟件包和庫的優秀傳統.當用'configure'來配置一個源碼樹時,可以提供其他已經安裝的軟件包的信息.例如,倚賴于Tcl和Tk的BLT器件工具包.要配置BLT,可能需要給'configure'提供一些關于我們把Tcl和Tk裝的何處的信息:

          $ ./configure --with-tcl=/usr/local --with-tk=/usr/local

          '--with-PACKAGE=no'與下面將提到的'--without-PACKAGE'是同義的.

          --without-PACKAGE

          有時候你可能不想讓你的軟件包與系統已有的軟件包交互.例如,你可能不想讓你的新編譯器使用GNU ld.通過使用這個選項可以做到這一點:

          $ ./configure --without-gnu-ld

          --x-includes=DIR

          這個選項是'--with-PACKAGE'選項的一個特例.在Autoconf最初被開發出來時,流行使用'configure'來作為Imake的一個變通方法來制作運行于X的軟件.'--x-includes'選項提供了向'configure'腳本指明包含X11頭文件的目錄的方法.

          --x-libraries=DIR

          類似的,'--x-libraries'選項提供了向'configure'腳本指明包含X11庫的目錄的方法.

          在源碼樹中運行'configure'是不必要的同時也是不好的.一個由'configure'產生的良好的'Makefile'可以構筑源碼屬于另一棵樹的軟件包.在一個獨立于源碼的樹中構筑派生的文件的好處是很明顯的:派生的文件,如目標文件,會凌亂的散布于源碼樹.這也使在另一個不同的系統或用不同的配置選項構筑同樣的目標文件非常困難.建議使用三棵樹:一棵源碼樹(source tree),一棵構筑樹(build tree),一棵安裝樹(install tree).這里有一個很接近的例子,是使用這種方法來構筑GNU malloc包:

          $ gtar zxf mmalloc-1.0.tar.gz

          $ mkdir build && cd build

          $ ../mmalloc-1.0/configure

          creating cache ./config.cache

          checking for gcc... gcc

          checking whether the C compiler (gcc ) works... yes

          checking whether the C compiler (gcc ) is a cross-compiler... no

          checking whether we are using GNU C... yes

          checking whether gcc accepts -g... yes

          checking for a BSD compatible install... /usr/bin/install -c

          checking host system type... i586-pc-linux-gnu

          checking build system type... i586-pc-linux-gnu

          checking for ar... ar

          checking for ranlib... ranlib

          checking how to run the C preprocessor... gcc -E

          checking for unistd.h... yes

          checking for getpagesize... yes

          checking for working mmap... yes

          checking for limits.h... yes

          checking for stddef.h... yes

          updating cache ../config.cache

          creating ./config.status

          這樣這棵構筑樹就被配置了,下面可以繼續構筑和安裝這個包到默認的位置'/usr/local':

          $ make all && make install

          一個軟件包通過編譯源代碼安裝后,如何完全的卸載??

          如果原先的source還在的話,很多source的Makefile都有寫uninstall規則,直接在Souce里make uninstall就可行,不過碰到無良作者沒寫的,那一句一句看Makefile里install部分他都干了些什么,然后挨個刪除。

          如果source沒了.....那就一邊郁悶吧

          到目前為止, 我裝的都可以make uninstall.......

          (因為總是不小心裝錯地方, 結果就make uninstall&&make clean,然后重新configure......)

          linux下軟件的基本安裝和卸載

          Linux軟件的安裝和卸載一直是困擾許多新用戶的難題。在Windows中,我們可以使用軟件自帶的安裝卸載程序或在控制面板中的“添加/刪除程序”來實現。與其相類似,在Linux下有一個功能強大的軟件安裝卸載工具,名為RPM。它可以用來建立、安裝、查詢、更新、卸載軟件。該工具是在命令行下使用的。在Shell的提示符后輸入rpm,就可獲得該命令的幫助信息。

          軟件的安裝

          Linux下軟件的安裝主要有兩種不同的形式。第一種安裝文件名為xxx.tar.gz;另一種安裝文件名為xxx.i386.rpm。以第一種方式發行的軟件多為以源碼形式發送的;第二種方式則是直接以二進制形式發送的。

          對于第一種,安裝方法如下:

          1 .首先,將安裝文件拷貝至你的目錄中。例如,如果你是以root身份登錄上的,就將軟件拷貝至/root中。

          #cp xxx.tar.gz /root

          2 .由于該文件是被壓縮并打包的,應對其解壓縮。命令為:

          #tar xvzf filename.tar.gz 如果是filename.tar.bz2格式的,應該是tar jxvf filename.tar.bz2來解壓

          3. 執行該命令后,安裝文件按路徑,解壓縮在當前目錄下。用ls命令可以看到解壓縮后的文件。通常在解壓縮后產生的文件中,有“Install”的文件。該文件為純文本文件,詳細講述了該軟件包的安裝方法。

          4.執行解壓縮后產生的一個名為configure的可執行腳本程序。它是用于檢查系統是否有編譯時所需的庫,以及庫的版本是否滿足編譯的需要等安裝所需要的系統信息。為隨后的編譯工作做準備。命令為: #./configure

          如果您想把軟件安裝到指定目錄,應該用#./configure --prefix=/您自己指定的目錄,比如我想把一個mlterm安裝到/opt/mlterm目錄中,應該如下輸入

          #./configure --prefix=/opt/mlterm

          5.檢查通過后,將生成用于編譯的MakeFile文件。此時,可以開始進行編譯了。編譯的過程視軟件的規模和計算機性能的不同,所耗費的時間也不同。命令為: #make。

          6.成功編譯后,鍵入如下的命令開始安裝:

          #make install

          7.安裝完畢,應清除編譯過程中產生的臨時文件和配置過程中產生的文件。鍵入如下命令:

          #make clean

          #make distclean

          至此,軟件的安裝結束。

          對于第二種,其安裝方法要簡單得多。

          同第一種方式一樣,將安裝文件拷貝至你的目錄中。然后使用rpm來安裝該文件。命令如下:

          #rpm -i filename.i386.rpm

          rpm將自動將安裝文件解包,并將軟件安裝到缺省的目錄下。并將軟件的安裝信息注冊到rpm的數據庫中。參數i的作用是使rpm進入安裝模式。

          軟件的卸載

          1.軟件的卸載主要是使用rpm來進行的。卸載軟件首先要知道軟件包在系統中注冊的名稱。鍵入命令:

          #rpm -q -a

          即可查詢到當前系統中安裝的所有的軟件包。

          2. 確定了要卸載的軟件的名稱,就可以開始實際卸載該軟件了。鍵入命令:

          #rpm -e [package name]

          即可卸載軟件。參數e的作用是使rpm進入卸載模式。對名為[package name]的軟件包進行卸載。由于系統中各個軟件包之間相互有依賴關系。如果因存在依賴關系而不能卸載,rpm將給予提示并停止卸載。你可以使用如下的命令來忽略依賴關系,直接開始卸載:

          #rpm -e [package name] -nodeps

          忽略依賴關系的卸載可能會導致系統中其它的一些軟件無法使用

          如果想知道rpm包安裝到哪里了呢?

          應該用 #rpm -ql [package name]

          3.如何卸載用源碼包安裝的軟件?

          最好是看README和INSTALL ;一般的情況下都有說,但大多軟件沒有提供源碼包的卸載方法;我們可以找到軟件的安裝點刪除。主要看你把它安裝在哪了。

          比如:

          如果安裝軟件時,指定個目錄。這個問題也不會難;

          比如用源碼包安裝gaim 的

          #./configure --prefix=/opt/gaim

          #make

          #make install

          如果安裝mlterm

          #./configure --prefix=/opt/mlterm

          #make

          #make install

          把源碼包安裝的軟件,都指定安裝在 /opt目錄中,這樣不就知道了??

          如果刪除,就刪除相應的軟件目錄;

          有些軟件要在解壓安裝目錄中執行 make uninstall ,這樣就卸載掉了
          posted @ 2013-06-30 13:42 Eric_jiang 閱讀(484) | 評論 (0)編輯 收藏

          1.網卡配置

          要使主機接入網絡必須正確配置網卡,網卡配置存放在/etc/sysconfig/network-script/目錄中。
          目錄里面存放了很多關于網絡配置的腳本,其中網卡配置使用了ifcfg-eth0的形式編號。
          修改指定網卡配置文件ifcfg-eth0。
          修改網卡配置后需要重啟network服務(參照8)。

          例如:
          /etc/sysconfig/network-scripts/ifcfg-eth0
          # Advanced Micro Devices 79c970 [PCnet32 LANCE]
          DEVICE=eth0 #設備名稱
          BOOTPROTO=static|dhcp #使用靜態配置還是使用dhcp分配的ip地址
          HWADDR=00:0C:29:26:A2:A6 #網卡的物理地址mac
          ONBOOT=yes
          DHCP_HOSTNAME=192.168.1.1 #dhcp地址
          IPADDR=192.168.1.9 #網卡ip
          NETMASK=255.255.255.0 #子網掩碼
          GATEWAY=192.168.1.1 #網關ip
          BROADCAST=192.168.1.255 #廣播ip

          2.network網絡配置
          /etc/sysconfig/network文件記錄了一些網絡配置信息。
          例如(結合網絡收集):
          NETWORKING=YES|NO #YES表示需要配置網絡。 NO:表示不需要配置網絡。
          HOSTNAME=yezee #主機的全限定域名
          GATEWAY=gw-ip #網絡網關的IP地址
          GATEWAYDEV=gw-dev #網關設備的名稱(例如eth0或IP地址)
          NISDOMAIN=dom-name #表示NIS(名稱信息服務)域(如果有的話)
          FORWARD_IPV4=”NO” #配置路由器時,是否轉發IPV4。
          NETWORKING_IPV6=yes #ipv6網絡協議

          3.配置DNS
          保存DNS配置的文件是/etc/resolv.conf
          nameserver最多可以有3個DNS服務器.
          search最多可以指定6個域名

          格式:
          domain a.yezee.org
          search b.yezee.org c.yezee.org
          nameserver 202.96.128.86
          nameserver 192.168.1.1

          在網上找了段關于domain和search關鍵字的說明,說明domain和search關鍵字的作用其實是一樣的。

          domain linpro.no
          search linpro.no uio.no ifi.uio.no
          domain function:
          Had I typed telnet math.uio.no. with the trailing dot, the resolver would have known it was an FQDN and would have looked up math.uio.no at once, without trying to append the specified domain first. Not all applications are tolerant of the trailing dot, though, so it can’t always be specified.
          search function:
          When ssh gram is executed, the resolver first looks for gram.linpro.no, which does not exist; then gram.uio.no, which does not exist, either; and finally gram.ifi.uio.no, which will succeed because it does exist
           

          4.配置host

          主要是/etc/hosts配置文件 。
          文件記錄了IP地址和主機名的映射關系,作用和WindowsXp下的C:\WINDOWS\system32\drivers\etc\hosts相仿。
          格式:
          192.168.1.9 www.yezee.org(Hostname主機名) yezee(Alias別名)

          5.配置DNS解析順序

          /etc/host.conf文件配置決定了/etc/resolv.conf和/etc/hosts的配置解析順序。

          一般系統中會同時存在DNS域名解析和靜態/etc/hosts配置,/etc/host.conf則確定這些配置的解析順序。

          格式:
          order hosts,bind #DNS解析順序
          multi on|off #允許或禁止/etc/hosts配置中一個主機是否能擁有多個IP地址
          nospoof on #禁止(檢查)IP地址欺騙
          alert on #若檢查出有IP欺騙,則把警告信息通過syslog記錄

          order關鍵字定義了DNS的解析順序,先使用本機hosts表解析域名,如果不能解析,再使用指定的DNS服務器。

          6.服務端口配置

          配置文件/etc/services 記錄了端口號和服務之間的端口對應關系。
          通過配置這個文件,服務器和客戶端的程序便能夠把服務的名字轉成端口號。

          配置完成后,就需要使用一些命令來檢查和啟用新的配置。

          7.ifconfig命令

          7.1 使用ifconfig命令來檢查網絡配置,直接輸入ifconfig回車即可.
          格式:ifconfig 或者 ifconfig eth0 #查看指定網卡配置
          顯示如下:

          7.2 使用ifconfig來激活和禁止網卡(網絡設備)
          格式:ifconfig eth0 up|down
          up為激活網卡eth0;down為禁止網卡eth0。

          7.3 使用ifconfig來修改網卡配置
          格式:Ifconfig eth0 192.168.1.9 netmask 255.255.255.0
          網卡ip被修改為192.168.1.9,子網掩碼為255.255.255.0

          7.4 使用ifconfig來讓網卡獲取dhcp動態分配的地址
          格式:ifconfig eth0 -dynamic

          8.使用/etc/rc.d/init.d/network啟動和停止network服務

          格式:/etc/rc.d/init.d/network
          使用該腳本可啟動、停止、重啟network網絡服務,
          命令實際上是調用了/etc/sysconfig/network-scritps/目錄下相關腳本。

          9.更多常用CentOS檢查網絡的命令:

          ping www.yezee.org #ping,簡單連通性測試
          traceroute www.yezee.org #查看路由測試情況
          netstat –t #查看tcp連接情況,netstat還有很多好用的參數,具體可參考幫助
          hostname yezee #更改主機名為yezee
          arp #查看arp緩存
          arp –s IP MAC #網arp緩存中添加ip和mac映射
          arp –d IP #從arp緩存中刪除映射

          posted @ 2013-06-28 22:26 Eric_jiang 閱讀(4883) | 評論 (0)編輯 收藏

          僅列出標題
          共57頁: First 上一頁 21 22 23 24 25 26 27 28 29 下一頁 Last 
          主站蜘蛛池模板: 三都| 桐庐县| 阜城县| 临沭县| 宝丰县| 邮箱| 东山县| 中江县| 海原县| 财经| 卓资县| 咸丰县| 潮安县| 肥乡县| 涟水县| 杭州市| 朔州市| 兴隆县| 油尖旺区| 兰坪| 宜州市| 岳西县| 富裕县| 营山县| 海安县| 疏勒县| 资阳市| 江山市| 乌鲁木齐县| 盘锦市| 江孜县| 大渡口区| 正蓝旗| 仙游县| 荔浦县| 开远市| 梅河口市| 新疆| 湘阴县| 鹰潭市| 嵊州市|