Clean upgrade from SAM3 to SAM4 with playlist in-tact

SAM4 has a slightly different database format and filesystem layout than SAM3. You should not try an in-place upgrade, or bad things can happen. The best way to upgrade if you have a large or refined playlist, is to install SAM4 along side SAM3 and copy the playlist tables over. This way you can leave SAM3 running while you install and set up SAM4’s settings and encoders, then make a clean cutover without losing your audience.

1. First, install SAM4 in it’s own location, separate from SAM3. For example, c:\program files\spacial audio\SAMBC4

2. When launching SAM4 for the first time, you MUST define custom MySQL database settings. Change the default database name from SAMDB to SAMDB4

3. Dump your SAM3 playlist with the following command (mysql/bin must be in your path):

mysqldump -u root --database SAMDB --table songlist --table category --table categorylist --skip-extended-insert --complete-insert --no-create-db --no-create-info > SAM3_songs.sql

4. Import the playlist into SAM4:

mysql -u root SAMDB4 < SAM3_songs.sql

5. Now, press F5 on the SAM4 playlist window to see your songs. Be sure to run ‘Tools -> Mass Tagger -> Load ALL Tags’

6. Configure all settings and encoders, set encoders to auto connect. Start one of the decks.

7. Shut down SAM3.

Now SAM4 should connect and take over your streams.

Vanilla Kernel on CentOS

If compiling a Vanilla kernel for CentOS, you may encounter the following after rebooting:

Setuproot: moving /dev failed: No such file or directory
Setuproot: error mounting /proc: No such file or directory
Setuproot: error mounting /sys: No such file or directory
[...]
Kernel panic - not syncing: Attempted to kill init!

To resolve the booting issues, be sure to modify .config to include the following and recompile the kernel:

CONFIG_SYSFS_DEPRECATED_V2=y

It can also be found in menuconfig:

General Setup --> Enable Deprecated Sysfs Features

Cpanel: Error invalid maildir size file

Sometimes an email account goes over quota and the quota can’t be adjusted due to the following error:

Error invalid maildir size file

The following commands ran as root will resolve most email quota issues for a Cpanel account, including incorrect quota calculations. Substitute <cpaneluser> with the Cpanel user which owns the email account having issues.

cd /home/<cpaneluser>/mail/
rm -f maildirsize
/scripts/generate_maildirsize --confirm --allaccounts --verbose <cpaneluser>
cd ../.cpanel
rm -f email_accounts
rm -f email_accounts*

Windows: Location of DNS zone files

If the file is not in the %systemroot%\system32\dns directory, the full path to the zone file will be shown on the General tab.

Since most zone data is held in the registry, restoring the %systemroot%\system32\dns from backup isn’t enough – you’ll need to manually populate the DNS zones in the DNS console, and choose the ‘specify location’ option for the zone file on each domain to get the records back.

Windows 2008: Disable password complexity requirement

Method 1

In Windows Server 2008, there is an option in Local Security Policy. Click on Start and then Administrative Tools and then click on Local Security Policy. In Local Security Policy, click on Account Policies and then click on Password Policy. Under Password Policy, double click on “Password must meet complexity requirements” and then select the Disabled option. Then click on Apply and then click on OK. Then close the Local Security Policy and then close the Administrative Tools window.

Method 2

You can use the Group Policy Editor to disable password complexity. Click on Start and then click on Run. In the Run dialog box, type gpedit.msc and hit Enter or click on OK. Then click on Computer Configuration and then Windows Settings and then Security Settings and then Account Policies and then click on Password Policy. Under Password Policy, double click on “Password must meet complexity requirements” and then select the Disabled option. Then click on Apply and then click on OK. Then close the Local Group Policy Editor.

Copy one disk to another using Linux and DD

The following will copy two disks, partition table and all, with forensic quality, and pad the destination disk with zeroes if any data is unreadable on the source disk. Be sure you’ve identified which disk is which using combinations of dmesg and ‘fdisk -l’. The destination disk must also be equal or greater in size.

sudo dd bs=512 if=/dev/sda of=/dev/sdb conv=noerror,sync

bs=512   = Block size 512 bytes
if=/dev/sda   = Source disk /dev/sda (found in dmesg and verified with fdisk -l)
of=/dev/sdb   = Target disk /dev/sdb (found in dmesg and verified with fdisk -l)
conv=noerror,sync   = Ignore errors, pad missing data with zeroes

Grab some coffee or take a drive, as the source disk and overall copy process can be VERY slow if it has medium errors.

Be careful, you will INSTANTLY and completely wipe out the destination disk, partitions and all, so build your command line carefully.

Windows: Ignore errors with Xcopy and RoboCopy

To copy entire directory structures as quickly as possible and ignore all disk errors (useful in data recovery) either of the following commands should work with robocopy being the quickest (if you’ve got Vista/7 or XP with the XP Resource Kit installed). Both commands use source -> destination path order.

xcopy /C/H/R/S/Y c:\ d:\

/C = Continues copying even if errors occur
/H = Copies hidden and system files also
/R = Overwrites read-only files
/S = Copies directories and subdirectories
/Y = Overwrites existing files without asking
robocopy c:\ d:\ /MIR /R:0 /W:0

/MIR = Mirror entire directory structure (can use /E instead)
/R:0 = 0 retries for read/write failures
/W:0 = 0 seconds between retries

Linux: Shutdown/Poweroff command

The other day I was surprised to find the ‘shutdown -h now’ command on the Redhat/Centos rescue CD doesn’t work. I’ve since discovered a few other ways to get a Linux OS to power off, each should accomplish the same thing – gracefully power down.

  shutdown -h now
  halt
  poweroff
  init 0