How to: Migrate Linux Printer Configuration to Another System

last updated in Categories CentOS, Debian Linux, Gentoo Linux, Hardware, Howto, Linux, Linux desktop

I’ve already outlined the detailed steps for migrating users, home directories and email to a new Linux server. I received a couple of emails asking about migrating printer configuration. From my mail bag:

Is it possible to migrate the printer configuration from one machine to another, just like user migration?

Yes, it is possible since Linux uses CUPS i.e. the common unix printing system. It is a modular printing system for Unix-like computer operating systems that allows a computer to act as a print server. A computer running CUPS is a host that can accept print jobs from client computers, process them, and send them to the appropriate printer.

Migrate Linux Printer Configuration

CUPS stores its configuration at /etc/cups directory, so all you have to do is copy /etc/cups to a new computer. Open terminal and type the commands on old Linux computer:
# tar -cvzf /tmp/cups-$(hostname).tar.gz /etc/cups
Copy /tmp/cups* to new system using SCP or use USB pen driver:
# scp /tmp/cups*

Now login to new system and type the following commands:
# mv /etc/cups /etc/cups.backup
# cd /
# tar -zxvf /tmp/cups*

Finally, restart the cups service:
# /etc/init.d/cupsys restart

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

14 comment

  1. the fact that this page was the first on my google search (something like “migrate linux printers terminal”) made the whole process be a matter of less than three minutes.

  2. Thanks for the info, but there is small typo on the remote server. Instead of tar -zcvf /tmp/cups*, it should say “tar -zxvf /tmp/cups*” — “x” for expand the cups* file.

  3. I’m sure we’re all great sysadmins, but in the steps above, to unpack the tar file you copied over you use:

    # tar -zcvf /tmp/cups*

  4. The above commands worked great but I still can not see my printers under the Text Mode Setup Utility & printer configuration menu in red hat enterprise 4. The cups service was restarted

  5. Thanks for this post, it was really helpful, a massive time saver.

    Finding someone knowledgeable who says, yes it is actually still ok to copy config files in Linux is very re-assuring.

  6. Hello,

    On the new Linux box – cups will fail to restart if in the config file:
    you have a line like this:
    where is the IP of the the Old Linux box.
    Replacing the IP of the old Linux box with IP of the new one, solves the problem!

    1. You could also set the IP address to – in which case it will work no matter what machine it is on

  7. Guys,

    On my RHEL6.3, I was getting “Filter “/usr/lib64/cups/filter/foomatic-rip” error after restart the cups daemon. Issue solved once installed the foomatic rpm.


    Thanks nixCraft!! 🙂

    Have a question? Post it on our forum!