本章说明了创建及安装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的安装。