Zorin OS (Linux) source update

Today I finally decided to fix several
errors that were happening while I was updating a Zorin OS box.

I update over the network using ssh, but this will also work if you do it
from the terminal.

First, we will update the source list

sudo apt-get update

Now we will run the updates

Sudo apt-get upgrade

All normal now. I mean, we run these commands weekly right? (or at least you
have your system to auto update)

The difference today is that we will read the output.

Lets fix the easy parts fix. Most likely we have old kernels (when running
upgrade it would have notified you)

sudo apt-get autoremove

That was easy…but wait, it is possible that it will complaint about running the auto
loader because a symbolic is damaged. Silly link. Usually this does not cause
problem, but lets just fix it. The exact error is “The link /initrd.img.old is a
damaged link “ “you may need to re-run your boot loader[grub]”

sudo update-grub

OK, now that is fixed, lets fix the other possible errors.

Running update we could get either or both of these errors

We could google the errors. That is the easiest way, and probably how you got
here, but let’s do the short version instead.

The Google error looks worse so lets take a look at it.

It is complaining that the package could not be found. This is because Google
Chrome is not available in 32-bit anymore. So first lets check If your system is
running a 64-bit OS

uname -a or you can also use arch

If you would like more information check this page


If your system is i386 or 686 then the best option is to uninstall Chrome,
or re-install Linux using 64-bit. If you are running 64 bit (x86_64) then we can
switch the repository.

To switch the repository to 64 bit you will have to modify the google sources

cd /etc/apt/sources.list.d/

Once inside the folder then we will edit using nano

sudo nano google-chrome.list

Once we have the list open, we can
see that most likely there is only 1 entry and it is for Chrome. To this entry
we will add right after deb and before the link,
. This will force apt to download the 64 bit
binaries. The line should look as

deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main

Now we can update the repositories again and that error will be gone. Then
run an upgrade to update Chrome. You can also for an install by entering

sudo apt-get install google-chrome-stable

This is easier and faster than it seems, but I don’t like to post commands
without explaining what they do

That is all. Good night…..Just kidding, we still have an Opera issue.

Opera has been moved to the repository, so the easiest thing to do is just
remove the source. Remember that to fix Chrome we went to the sounces.list.d
folder? We should still be there. Run a directory listing (ls -la) and you will
see 2 files.

  • opera.list
  • opera.list.save

You have 2 options. You can comment out the line or just directly remove the

Before though, I would check whether you have it installed.

sudo dpkg --get-selections | grep opera

If nothing shows, then it is not installed. Simply comment out or delete the files (I suggest to delete to keep a clean system).
That is it.

If it was installed, simply remove it, then comment out or delete the source

If you like Opera download the deb from their web page


It seems like a lot of work, but honestly I have no paid attention to the
errors for quite a while. So it is not as bad. All of these can take less than
10 minutes to fix if you just enter the commands.

I had to search a bit, and still took me about 30 minutes to get everything
fixed, which is not bad.

The Chrome information I got it mainly from a Reddit page. Opera from the
Ubuntu forum. I had to customize a bit the commands because they were for Ubuntu
Vanilla, and I am working from a Zorin OS (based on Ubuntu/Mint), but the
commands should work in all flavors. This is the main reason I explained what
they do

At the end I also like to do a reboot to make sure everything is working
peachy :). It is a good practice, because if something is not working as it
should, the information is still fresh in your mind and it is easier to
troubleshoot. To make it clean I also always restart before I start.


Creating virtual Servers in Apache2 using Webmin

I like Webmin. I can edit configuration files, but I have to confess that I don’t memorize the syntax and options, so I only edit configuration files when I need to copy and change something quick.

If I am going to start from scratch, then Webmin is my tool of choice.

I won’t cover in detail how to install Webmin, but here is the short version:

Using apt-get

sudo sh -c 'echo "deb http://download.webmin.com/download/repository sarge contrib" > /etc/apt/sources.list.d/webmin.list' wget -qO - http://www.webmin.com/jcameron-key.asc | sudo apt-key add - sudo apt-get update sudo apt-get install webmin

If you use Yum:

(echo "[Webmin] name=Webmin Distribution Neutral baseurl=http://download.webmin.com/download/yum enabled=1 gpgcheck=1 gpgkey=http://www.webmin.com/jcameron-key.asc" >/etc/yum.repos.d/webmin.repo; yum -y install webmin)

I recently created a few WordPress sites, and I had to create the Virtual Servers for it, and I run into a tiny problem where it was not working correctly. It drove me crazy, but I took some notes.

Using Webmin is easy to create virtual Server. The process is documented in the Wiki at http://doxfer.webmin.com/Webmin/Apache_Webserver#Creating_a_new_virtual_host

However, we all know that we can’t read that much.

To create a Virtual host (virtual Server) go to Servers>Apache Webserver. Then click the tab that says “Create virtual host” (yes, to create a Virtual Server, you create a virtual host).

The options here are pretty simple. VERY SIMPLE!!

Handle connection to address. Basically this is for multi-homed servers more than anything. If you have an IP address per site, here is where you specify it.

Port: This is the tricky part. You would be tempted to put any right? Here most of the time you actually need to listen the port, which most of the time will be port 80.

Why? Well, because in my case I am using a specific server name, and in most cases you would too, so it seems to work better when you set the port instead of just using default (at least with WordPress).

If you need to use https, then you will have to have a certificate per site, and also a IP address per site. So that will change the previous setting. Adding SSL is similar, but the port would be 443, and you need to have mod_ssl enabled too.

Next enter the root location for the site (for WordPress for example it is /usr/share/wordpress).

After that enter the server name. This would be thisismywebsite.com for example

The Add virtual server to file section should be as it is. The default is to add to sites-available, and then it creates the link in sites enabled.

Finally you can copy directives if needed (this is useful when you have special folders, or if using SSL with a wildcard certificate).

Then click on Create Now, and then apply changes. Your site should be working now.

There are more settings, and it is a good idea to refer to Webmin documentation, or the Apache documentation for them, but my most used settings are

Alias and Redirects. I use it when I have sites located under a master root, but the folders are in other parts of the system. I do this a lot to save files in a separate partition.

In Networking and Addresses you can add alternate virtual server names.

Directory indexing is another section you might change, if you need to edit access to files.

Edit directives is basically a quick access to the configuration file for the site. So also useful.

That is it!!! Were you expecting something more complex? You can do more complex, but it is always good start simple, and then more from there. The 2 things to watch out for is port 80 instead of any, and dedicate an IP address per site when using SSL.

Of course there are a ton of configurations changes and mix and match settings, but this way you can quickly have multiple sites running.