I needed to rename a zone on a Solaris 10 system earlier this week and here are some notes on how I did it.
The process of renaming a zone is essentially a task of renaming, editing and replacing strings in a series of (mostly XML) configuration files. All of the tasks below were carried out from the global zone on the system in question.
1. Shut down the zone to be renamed
# zoneadm -z <oldname> halt
2. Modify the configuration files that store the relevant zone configuration
# vi /etc/zones/index
Change all references of <oldname> to <newname> as appropriate
# cd /etc/zones
# mv <oldname>.xml <newname>.xml
# vi <newname>.xml
Change all references of <oldname> to <newname> as appropriate
3. Rename the main zone path for the zone
# cd /export/zones
# mv <oldname> <newname>
Your zone path may be different than the one shown above
4. Modify (network) configuration files of new zone
Depending on the applications installed in your zone, there may be several files you need to update. The essential networking files are:
# cd /export/zones/<newname>/root
# vi etc/hosts
# vi etc/nodename
But others containing your old host/zone name can also be found using this command:
# cd /export/zones/<newname>/root/etc
# find . -type f | xargs grep <oldname>
5. Boot the new zone again
# zoneadm -z <newname> boot