How to copy printer drivers from one server to another

  • 7000237
  • 29-Apr-2008
  • 14-Jul-2016

Environment

Novell iPrint for Linux

Situation

How to move or copy printer drivers hosted by server to another.  The source and target servers can be either OES or the iPrint Appliance.

Resolution

The process involves two steps; copying the driver(s) and setting the ownership of the file(s). It can be done for all drivers or for just a single driver.

Copy all drivers:


1. In a terminal prompt on the target server, copy the driver folder from the source server to the destination server.

scp -Cr <IP or DNS name of the source server>:/var/opt/novell/iprint/resdir/* /var/opt/novell/iprint/resdir/

chown -R iprint.iprint /var/opt/novell/iprint/resdir


Copy a single driver:

Note: This example is for an HP LaserJet 4 driver in the Windows XP repository. The steps are similar for other drivers, and in other OS repositories.

Execute the following commands in a terminal prompt on the target server:

1. Copy the driver folder from the source server to the destination server.

scp -Cr <IP or DNS name of the source server>:"/var/opt/novell/iprint/resdir/driver_windows-nt-5.1_x86-32_en/HP\\ LaserJet\\ 4" /var/opt/novell/iprint/resdir/driver_windows-nt-5.1_x86-32_en/

Note:  The printer driver directories usually have spaces.  To accommodate spaces, scp requires double-quotes around the path and double back slashes before each space.

2. Change Ownership/Permissions

chown -R iprint.iprint /var/opt/novell/iprint/resdir

3. Verify that the driver(s) are listed in the Driver Store

Go to iManager -> iPrint -> Manage Driver Store -> and view the driver list. The newly copied drivers should be available.  If they are not, then most likely an Ownership or Permission is incorrect. Identify and correct the ownership or permission problem, and verify again.

If the drivers are still not listed:

4. Restart the Driver Store and verify (Step 3) again.

rcnovell-idsd restart


If the drivers are still not listed:

5. Delete the ids_toc.ini file of the platform for the driver. In the case of this example, the file is /var/opt/novell/iprint/resdir/driver_windows-nt-5.1_x86-32_en/ids_toc.ini

This INI file is the Table of Contents file read by the Driver Store. It defines which printer drivers are hosted by the Driver Store. This file is auto created by the ids daemon if it does not exist. By deleting and recreating this INI, the driver store will determine which printer drivers exist within the resdir directory structure.

Note 1: There are multiple ids_toc.ini files under the resdir directory structure. The only one that needs to be deleted in these steps is the one for the platform where the new driver was copied.

Note 2: If the drivers are still not listed after deleting the ids_toc.ini files, then check the server for sufficient disk space.  Running out of disk space can cause the drivers to not be listed.  If you find the server is low on disk space, the following command can show you the server's top 10 largest files under the /var partition (you can change that to any path):

find /var -printf '%s %p\n'| sort -nr | head -10

Restart the Driver Store (Step 4) and verify (Step 3) again.

Additional Information

Novell recommends using a single Driver Store, if possible. Multiple driver stores require unnecessary management, since the first time a driver is used, it is copied to the local Print Manager server for later re-use.

When the printer installation is begun, the Print Manager is consulted to confirm that a driver has been associated with the printer being installed. Once the driver is identified, iPrint first attempts to locate the driver on the workstation where the printer is being installed. If the driver exists, the printer is installed without further processing. If not, iPrint looks for the driver in the mod_ipp folder on the server where the Print Manager is located. If the driver is found there, the printer is installed using that driver. If the driver doesn't exist in the mod_ipp, iPrint looks in the Driver Store. If the driver is located in the Driver Store, it is copied to the mod_ipp on the server where the Print Manager is located. Then, iPrint installs the printer using the mod_ipp copy of the driver. Subsequent attempts to install the printer will use the copy of the driver in the mod_ipp folder, so the driver doesn't need to be copied from the Driver Store again. This keeps the drivers "close" to the users of the Print Manager where the printers are located.