Riding Tokyo
Planning to travel Tokyo’s vast Metro system? You’d better be packing this awesome colour map of the system!
(Found via: http://oduinn.com/2009/03/18/directions-to-hombu-dojo-tokyo/)
MySQL: “Access denied for user ‘debian-sys-maint’@'localhost’”
For all you Ubuntu/MySQL developers out there, have you ever seen the following?
neo@thematrix:~$ sudo /etc/init.d/mysql restart
* Stopping MySQL database server mysqld [fail]
* Starting MySQL database server mysqld [ OK ]
/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'debian-sys-maint'@'localhost' (using password: YES)'So, what is this “debian-sys-maint” user? Well, this MySQL user is created for the Ubuntu to be able to start/stop the database and to carry out other maintenance operations.
Sounds well enough, but then why do I keep running into the “access denied” problem for this user? Well, the issue is that with each update to MySQL, the user’s password in the database is overwritten. Ubuntu seems to go to the file /etc/mysql/debian.cnf in order to find this user’s password, but obviously the password is out of sync after the update has been applied.
As a result of this behaviour, I’ll run into the “access denied” problem every so often. Thankfully, the solution to this issue is fairly simple.
First, list the contents of the /etc/mysql/debian.cnf file:
neo@thematrix:~$ sudo cat /etc/mysql/debian.cnfThe contents of the file should look something like the following:
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = n4aSHUP04s1J32X5
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
user = debian-sys-maint
password = n4aSHUP04s1J32X5
socket = /var/run/mysqld/mysqld.sock
basedir = /usrSee that password? That’s what we’re looking for!
Next, we want to issue a command to MySQL that tells it to grant the debian-sys-maint user all necessary privileges using the new password.
Login to your mysql server using your root account and the root password you had originally set:
neo@thematrix:~$ mysql -u root -p <password>Issue the GRANT command now to grant those permissions:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY 'n4aSHUP04s1J32X5';Voila! If you restart MySQL, you’ll find that you should no longer be getting the “access denied” error message.
neo@thematrix:~$ sudo /etc/init.d/mysql restart
* Stopping MySQL database server mysqld [ OK ]
* Starting MySQL database server mysqld [ OK ]
* Checking for corrupt, not cleanly closed and upgrade needing tables.Bear in mind, because we just switched the password, and the change hasn’t been affected yet, you may need to kill the MySQL server processes in order to get MySQL to shut down at all.
dpkg problems relating to ‘cups’ in Ubuntu
Firefox 3.0.5, Mozilla’s latest security fix for the venerable browser has recently been released. Tonight it was pushed out to Ubuntu 8.10 users, and so I promptly updated my Ubuntu installation. Noticing that there were other updates as well, I applied them all.
Unfortunately, dpkg wasn’t able to complete the update of all selected packages. I wanted to review the problem, so from the command-line I brought up aptitude via:
sudo aptitude
Aptitude was nice enough to let me know that I needed to run the following command to correct the problem:
sudo dpkg --configure -a
… unfortunately it didn’t work:
$ sudo dpkg --configure -a
dpkg: ../../src/packages.c:221: process_queue: Assertion `dependtry <= 4' failed.
Aborted
I decided to go back into aptitude to see if any packages would be selected there for installation due to a failure to install previously. Sure enough, when I pressed ‘g’ to process all actions, it attempted to install cups, cups-bsd, and cups-client, but failed:
dpkg: error processing cups (--configure):
package cups is not ready for configuration
cannot configure (current status `triggers-awaited')
dpkg: error processing cups-client (--configure):
package cups-client is not ready for configuration
cannot configure (current status `triggers-awaited')
dpkg: ../../src/packages.c:221: process_queue: Assertion `dependtry <= 4' failed.
E: Sub-process /usr/bin/dpkg exited unexpectedly
A package failed to install. Trying to recover:
dpkg: ../../src/packages.c:221: process_queue: Assertion `dependtry <= 4' failed.
Aborted
These were the packages that had failed to install successfully earlier.
What could I do to get around this? Aptitude wasn’t able to handle it for me, and nor could dpkg process the configuration of these packages. After some futzing around, I even tried downgrading the packages in aptitude, but the same dpkg errors came up:
Preconfiguring packages ...
Selecting previously deselected package cups.
(Reading database ... 148514 files and directories currently installed.)
Preparing to replace cups 1.3.9-2ubuntu4 (using .../cups_1.3.9-2_amd64.deb) ...
* Stopping Common Unix Printing System: cupsd [ OK ]
Unpacking replacement cups ...
Selecting previously deselected package cups-bsd.
Preparing to replace cups-bsd 1.3.9-2ubuntu4 (using .../cups-bsd_1.3.9-2_amd64.deb) ...
Unpacking replacement cups-bsd ...
Selecting previously deselected package cups-client.
Preparing to replace cups-client 1.3.9-2ubuntu4 (using .../cups-client_1.3.9-2_amd64.deb) ...
Unpacking replacement cups-client ...
Processing triggers for doc-base ...
Processing 1 changed doc-base file(s)...
Registering documents with scrollkeeper...
Processing triggers for man-db ...
Processing triggers for ufw ...
ERROR: Couldn't stat '/etc/default/ufw'
dpkg: subprocess post-installation script returned error exit status 1
E: Sub-process /usr/bin/dpkg returned an error code (2)
A package failed to install. Trying to recover:
Setting up cups-client (1.3.9-2) ...
Setting up ufw (0.23.2) ...
Setting up cups (1.3.9-2) ...
Installing new version of config file /etc/apparmor.d/usr.sbin.cupsd ...
Reloading AppArmor profiles : done.
* Starting Common Unix Printing System: cupsd [ OK ]
dpkg: ../../src/packages.c:221: process_queue: Assertion `dependtry <= 4' failed.
Aborted
Press return to continue.
But wait, what’s that error?
Processing triggers for ufw ...
ERROR: Couldn't stat '/etc/default/ufw'
dpkg: subprocess post-installation script returned error exit status 1
E: Sub-process /usr/bin/dpkg returned an error code (2)
A-hah! It looked like the cups installation needed to process some triggers for the package ufw, and this failed. ufw is Uncomplicated FireWall package for Ubuntu, but it’s a package I’m not using.
So, maybe if I were to uninstall ufw, the cups packages would successfully install?
sudo aptitude purge ufw
If you want to keep the ufw configuration files, you can try this instead:
sudo aptitude remove ufw
Removing ufw may display some cups errors, but ufw should still successfully uninstall.
At this point, the resolution that aptitude first suggested worked as well:
sudo dpkg --configure -a
And now to install the latest version of cups instead of the downgraded versions I attempted to install.
Preconfiguring packages ...
(Reading database ... 148481 files and directories currently installed.)
Preparing to replace cups 1.3.9-2 (using .../cups_1.3.9-2ubuntu4_amd64.deb) ...
* Stopping Common Unix Printing System: cupsd [ OK ]
Unpacking replacement cups ...
Preparing to replace cups-bsd 1.3.9-2 (using .../cups-bsd_1.3.9-2ubuntu4_amd64.deb) ...
Unpacking replacement cups-bsd ...
Preparing to replace cups-client 1.3.9-2 (using .../cups-client_1.3.9-2ubuntu4_amd64.deb) ...
Unpacking replacement cups-client ...
Processing triggers for doc-base ...
Processing 1 changed doc-base file(s)...
Registering documents with scrollkeeper...
Processing triggers for man-db ...
Setting up cups (1.3.9-2ubuntu4) ...
Installing new version of config file /etc/apparmor.d/usr.sbin.cupsd ...
Reloading AppArmor profiles : done.
* Starting Common Unix Printing System: cupsd [ OK ]
Setting up cups-client (1.3.9-2ubuntu4) ...
Setting up cups-bsd (1.3.9-2ubuntu4) ...
Press return to continue.
Presto! It worked!
At this point I reinstalled ufw and all was as it should be.
Along the way I was also able to find a cool way of listing packages on one’s system that are not completely installed. From a command line terminal, you can enter the following:
sudo dpkg -l | grep -v ^ii
The first portion of this command, sudo dpkg -l, will list all the packages on your system. The second portion, grep -v ^ii, says, ’search through that list of packages for any line that does not start with “ii“‘. The letters “ii” at the beginning of a line of the package listing indicates the package is successfully installed.
Quite an eventful application of system updates! I love Ubuntu for its simplicity, and the fact that upgrades and installations are usually hassle-free. But, even when there’s a problem, the power inherent in Linux allows you to quickly and effectively resolve the issue.
NB: Sorry about the poor formatting of this post, WordPress is simply not co-operating.
Star Trek beams onto Apple Movie Trailers
May 8th, 2009, a date which previously had no meaning to me, is now a date marked on my calendar.
What’s up on that auspicious day? Star Trek is up, that’s what:

Read the rest of this entry »
The Disappearing Male
Earlier in November, the CBC broadcast an investigative news piece titled The Disappearing Male on Doc Zone. I’ve now read or seen a number of pieces on the issue covered in the report, that of relatively a sharp drop in the number of males of most animal species.
The documentary goes into the details of this phenomenon and discusses how human sexual function and sexual development are experiencing impairment due to the potpourri of man-made chemicals and materials that are present in our natural environment. This impairment is somehow resulting in a reduction in the male to female birth ratio.
In a nutshell, we are experiencing the feminization of the human race.
The long term impact of this such an imbalance in males to females would result in large-scale social imbalances. With a greater number of females, this means fewer females getting married. This would likely negatively impact the already shrinking birth-rate in developed nations resulting in an even larger elderly care problem. This is not even to speak of the social unrest associated with a large population of unmarried individuals, or of the genetic impact this may have on future generations.
I personally feel this issue is huge and warrants greater attention and more research.
Health Canada has recently taken some strong steps towards restricting the presence of the chemical Bisphenol A on the Canadian market. Bisphenol A is considered to be a potential hazard to young children, and as such it’s use in baby bottles is now prohibited. Unfortunately we may only find out the long-term health consequences of these chemicals once it’s too late to reverse the trend, but certainly reducing the exposure of young children to such chemicals is a positive development.
If you haven’t seen The Disappearing Male yet, you can now watch it on Google Video: