1. 程式人生 > >CUPS學習四:建立及安裝CUPS(一)

CUPS學習四:建立及安裝CUPS(一)

    本章說明了建立及安裝CUPS(“通用UNIX列印系統”)的方法。如果你正在安裝網站中的二進位制版本的話,請閱讀下一節“安裝二進位制發行包”。

1.1 安裝源版本

    本部分說明了使用原始碼在系統內編譯及安裝CUPS的方法。

1.1.1 獲取CUPS原始碼

    你可線上獲得CUPS的最新版本:

    http://www.cups.org

或者使用github直接搜尋cups獲得原始碼(參見圖1-1)


使用最新的CUPS原始碼有一定的風險:CUPS的最新版本可能不如正式版本穩定,這是因為CUPS經常進行改動。

1.1.2 需求說明

    需要ANSI相容C和C++編譯器,以在系統內建立CUPS。正如他的名字一樣,CUPS是為UNIX作業系統設計的。但是,CUPS提供的CUPS介面庫和大部分過濾器及後臺程式也可以在Microsoft Windows下編譯和執行。

    表1-1概括了編譯及安裝CUPS所需的庫及軟體包。

表1-1 CUPS所需的庫及軟體包

名稱是否必選URL說明
EPMhttp://www.easysw.com/epm/EPM軟體用以在所有受支援的平臺上建立二進位制發行包
GCChttp://gcc.gnu.org/GCC軟體為UNIX提供了編譯器,包括優秀的ANSI相容c和c++編譯器
GROFFftp://ftp.gnu.org/gnu/groff/groff軟體常用來格式化幫助頁。如有可能,也可以使用nroff程式
HTMLDOChttp://www.easysw.com/htmldoc/HTMLDOC軟體常用來格式化CUPS文件
JPEGhttp://www.ijg.org/JPEG庫提供對JPEG影象檔案,使PostScript檔案中的JPEG壓縮影象資料、TIFF檔案中的JPEG壓縮影象資料的支援。
OPENSLPhttp://www.openslp.org/OpenSLP庫為CUPS提供SLPv2支援
OPENSSLhttp://www.openssl.org/OpenSSL庫為CUPS提供128位TLS和SSL加密支援
PNGhttp://www.libpng.org/PNG庫pub/png/png.html提供對PNG影象檔案的支援
TIFFhttp://www.libtifff.org/TIFF庫提供對TIFF影象的支援
ZLIBhttp://www.info-zip.org/pub/infozip/zlib/ZLIB庫提供PNGTIFF影象檔案中的壓縮支援

1.1.3 配置CUPS原始碼

    CUPS使用GNU autoconf配置系統的makefile和原始碼。要配置系統,請輸入下列命令:

    ./configure ENTER

    configure指令碼採用多選項。如果要使用多選項配置CUPS,則在一行內要包括所有的選項,

如下所示:

    ./configure --prefix=/some/directory --enabler-debug --disable-shared ... ENTER

    1). 配置安裝目錄

    預設安裝將把CUPS軟體放在系統的/etc、/usr和/var目錄下,這將覆蓋系統中任何現有列印

命令。要在其他位置安裝CUPS軟體,使用--prefix選項:

    ./configure --prefix=/some/directory ENTER

--prefix選項影響所有檔案的配置。要改變由--prefix選項指定的位置,可使用表1-2中的一個或多個選項。

表1-2 配置指令碼的目錄選項
選項說明m預設值q字首值
--datadir共享資料檔案的位置/usr/share${prefix}/share
--exec-prefix可執行檔案的基礎目錄/usr${prefix}/
--includedir包含檔案的基礎目錄/usr/include${prefix}/include
--libdir庫檔案的位置/usr/lib${prefix}/lib
--libexecdir伺服器執行檔案的位置/usr/lib、/usr/libexec${prefix}/libexec
--localstatedir本地狀態資訊的基礎目錄/var${prefix}/var
--mandir幫助頁的基礎目錄/usr/man、/usr/share/man、/usr/share/catman/u_man${prefix}/man
--sysconfdir本地配置檔案的基礎目錄/etc${prefix}/etc

    典型的本地安裝可能將CUPS程式、庫和資料檔案放在/usr/local目錄下,將配置檔案放在/etc目錄下,並將狀態檔案放在/var目錄下。下列配置命令就可提供這種配置:

    ./configure --prefix=/usr/local --sysconfdir=/etc --localstatedir=/var ENTER

2). 定位標頭檔案和庫檔案

    configure指令碼通常只將標頭檔案和庫檔案放在標準系統位置,一般為/usr/include和/usr/lib。要使configure指令碼指向其他目錄,請設定CFLAGS、CXXFLAGS和LDFLAGS環境變數。如果你正使用Bourne shell或衍生shell,則命令為:

    CFLAGS="-I /foo/bar/include -I /bar/foo/include"; export CFLAGS ENTER

    CXXFLAGS="-I /foo/bar/include -I /bar/foo/include"; export CXXFLAGS ENTER

    LDFLAGS="-L /foo/bar/lib -L /bar/foo/lib"; export LDFLAGS ENTER

    如果你正在使用C shell或衍生shell,則命令為:

    setenv CFLAGS "-I /foo/bar/include -I /bar/foo/include" ENTER

    setenv CXXFLAGS "-I /foo/bar/include -I /bar/foo/include" ENTER

    setenv LDFLAGS "-L /foo/bar/lib -L /bar/foo/lib" ENTER

    -I選項告訴編譯器包含檔案的存放目錄。這些選項是累加的,在搜尋標準目錄之前將搜尋這些目錄。

    -L選項告訴連結器檔案的存放目錄。這些選項是累加的,在搜尋標準目錄之前將搜尋這些目錄。

3). 定位字型檔案

    CUPS擁有PostScript RIP和文字過濾器的完整Type 1字符集。許多系統都已安裝了這些字型,但是你可能還需要使用其他Type1或TrueType字型。使用--fontpath選項,你能夠指定CUPS在列印時要查詢的字型目錄:

    ./configure --fontpath=/usr/share/cups/fonts:/foo/bar/fonts ENTER

    如上例所示,冒號(:)字元用以分隔各個目錄。字型路徑最長可達1024字元。

4). 支援Debug的編譯

    --enabler-debug選項使除錯資訊包含在CUPS庫和程式中。要配置CUPS以進行除錯,請輸入下列命令:

    ./configure --enabler-debug ENTER

5). 啟用Notification支援

    --enabler-notification選項使IPP Notification程式碼連線到CUPS。在作業已完成、印表機紙張用完等情況下,該選項使能夠通知自己或其他使用者。要配置CUPS以支援通知,請輸出下列命令:

    ./configure --enabler-notifications ENTER

6). 建立靜態庫

    --disable-shared 選項禁止建立可供CUPS程式共享的庫檔案。這樣做的結果是,可執行檔案和庫被靜態連結到CUPS API和印象庫。這會產生更大的可執行檔案。要配置使用靜態庫的CUPS,請輸入下列命令:

    ./configure --disable-shared ENTER

7). 啟用“伺服器位置協議”支援

    --enable-slp選項使“伺服器位置協議(SLP)”程式碼連線到CUPS。該選項使你能夠在網路上使用SLP目錄服務協議,這樣就可以更方便的查詢網路印表機,並可為CUPS系統提供列印服務。要配置支援SLP的CUPS,請輸入下列命令:

    ./configure --enable-slp ENTER

8). 啟用加密支援

    --enable-ssl選項使加密程式碼連線到CUPS。該選項需要使用OpenSSL庫,並使你能夠加密列印作業和遠端命令。要配置支援加密的CUPS,請輸入下列命令:

    ./configure --enable-ssl ENTER

9). 啟用全部可選特性

    CUPS的二進位制發行包含有全部便利特性。要配置具有全部可用特性的CUPS,請輸入下列命令:

    ./configure --enable-notifications --enable-ssl --enabler-slp ENTER

10). 配置選項摘要

    表1-3列出了配置指令碼中的所有配置選項

表1-3 CUPS的配置選項
選項說明預設值
--datadir共享資料檔案的位置/usr/share
--disable-debug禁用除錯支援禁用
--enable-debug啟用除錯支援禁用
--disable-notifications禁用IPP通知支援啟用
--enable-notifications啟用IPP通知支援啟用
--disable-shared禁用共享庫啟用
--enable-shared啟用共享庫啟用
--disable-slp禁用SLP支援啟用
--enable-slp啟用SLP支援啟用
--disable-ssl禁用加密支援啟用
--enable-ssl啟用加密支援

啟用

--exec-prefix可執行檔案的基礎目錄/usr
--fontpath=/dir1:/dir2字型檔案的搜尋路徑/usr/share/cups/fonts
--includedir包含檔案的基礎目錄/usr/include
--libdir庫檔案的位置/usr/lib
--libexecdir伺服器可執行檔案的位置/usr/lib、/usr/libexec
--localstatedir本地狀態資訊的基礎目錄/var
--mandir幫助頁的基礎目錄

/usr/man、/usr/share/man

1.4 編譯CUPS

    在配置了CUPS原始碼後,請輸入下列命令以建立該軟體:

    make ENTER

    根據計算機的速度,編譯過程大概要花費5分鐘。

1.5 測試軟體

    編譯成功戶,在安裝CUPS之前通常要對該軟體進行測試。“test”目標程式可以自動測試CUPS軟體。

1.6 安裝軟體

    使用“install”目標程式,以在配置軟體時選擇目錄中的安裝軟體:

    make install ENTER

    警告:CUPS通常會覆蓋現有作業系統原始的CUPS。如果使用CUPS軟體有困難,且需要恢復舊的列印系統,則需要從作業系統CD中重新安裝舊的列印系統。

1.7 升級軟體

    “install”目標程式會保留CUPS的任何現有配置檔案,因此它也可以用以升級軟體:

    make install ENTER

1.8 執行軟體

    在安裝完軟體後,就可以輸入下列命令啟動CUPS伺服器:

    /usr/sbin/cups ENTER

    到此,已經完成了CUPS的安裝。