Now suppose you have a b0rked hard disk that will no longer boot, but it still seems to be partly there. And it has LVM on it. So you pop the disk into a USB enclosure, plug it into another machine, and:
vgchange -a y
to make all logical volumes mounted anywhere on the machine (including the USB drive) available. (At this point you will be very glad if you have been in the habit of giving every volume group you have a unique name, otherwise you will now be trying to figure out how to rename a volume group.)
will now display all LVM volumes, and you can mount the LVM partitions on the USB drive per usual, with the device name (at least on debian) being:
Lately SugarCRM's up-until-recently rock-solid upgrade process has become flaky, and I have had to turn to the "silent upgrade" tool to get the job done. I have not yet stumbled across official documentation, but this does the trick for me.
The first step is to get the upgrade zip, for example SugarCE-Upgrade-6.5.x-to-6.5.12.zip, onto the server. Then just run something like this:
php -f /home/sugartest/public_html/modules/UpgradeWizard/silentUpgrade.php /home/clayton/SugarCE-Upgrade-6.5.x-to-6.5.12.zip /tmp/sugarUpgrade.log /home/sugartest/public_html/ admin
where most of the parameters should be fairly self-evident: the last is the account name you login to SugarCRM with, the second last is the path to the SugarCRM installation you are upgrading.
Then you probably have to correct the permissions, as you probably ran the above as root:
chown -R www-data:sugarcrm public_html/
And finally login to SugarCRM and click through the menus to do the following:
Admin --> Repair --> Rebuild Relationships
A single file:
sed -i 's/maverick/natty/g' /etc/apt/sources.list
In multiple files and subdirectories:
perl -e "s/OLDSTRING/NEWSTRING/g;" -pi.save $(find /path/to/directory/to/be/searched -type f)
grep -rl OLDSTRING . | xargs perl -pi~ -e 's/OLDSTRING/NEWSTRING/'
Note that "." above seems to include hidden files. Replace "." with "*" and hidden files are not included.