本章說明了創建及安裝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的安裝。