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 | 說明 |
EPM | 否 | http://www.easysw.com/epm/ | EPM軟體用以在所有受支援的平臺上建立二進位制發行包 |
GCC | 否 | http://gcc.gnu.org/ | GCC軟體為UNIX提供了編譯器,包括優秀的ANSI相容c和c++編譯器 |
GROFF | 是 | ftp://ftp.gnu.org/gnu/groff/ | groff軟體常用來格式化幫助頁。如有可能,也可以使用nroff程式 |
HTMLDOC | 否 | http://www.easysw.com/htmldoc/ | HTMLDOC軟體常用來格式化CUPS文件 |
JPEG | 是 | http://www.ijg.org/ | JPEG庫提供對JPEG影象檔案,使PostScript檔案中的JPEG壓縮影象資料、TIFF檔案中的JPEG壓縮影象資料的支援。 |
OPENSLP | 否 | http://www.openslp.org/ | OpenSLP庫為CUPS提供SLPv2支援 |
OPENSSL | 否 | http://www.openssl.org/ | OpenSSL庫為CUPS提供128位TLS和SSL加密支援 |
PNG | 是 | http://www.libpng.org/ | PNG庫pub/png/png.html提供對PNG影象檔案的支援 |
TIFF | 是 | http://www.libtifff.org/ | TIFF庫提供對TIFF影象的支援 |
ZLIB | 是 | http://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中的一個或多個選項。
選項 | 說明 | 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列出了配置指令碼中的所有配置選項
選項 | 說明 | 預設值 |
--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的安裝。