The Linux Page

Help other users realize that everything is possible, especially avoiding Windows for their own personal use.

Welcome to The Linux Page


Fox Trot by Bill Amend. Click to enlarge.
Click to enlarge

This site is a collection of my own work with Linux. Certain things are easy, others take time to decipher and if I ever need to repeat the work (which usually happens!), then I need to remember everything by memory or... have a site with all the steps taken and to take again.

The following are my most recent posts:

Today I got a really strange error. Part of the message was:

E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/apt/lists/<some name>
E: The package lists or status file could not be parsed or opened.

That seemed really bizarre. I had never seen such an error before...

So I searched for it and one thing to know is that the files under that directory are temporary, so you can actually delete them. apt-get knows how to regenerate them.

So in other words you can do something like this:

sudo rm /var/lib/apt/lists/<some file>
# or ...

Today I ran in a little bit of a problem with an new Cassandra node installation.

After the node was created, I ran nodetool and got this:

 $ bin/nodetool status
Datacenter: dc1
===============
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address    Load       Tokens       Owns (effective)  Host ID   Rack
UN  127.0.0.1  219.83 KiB 256          0.0%              73bd8721  rack1

It took me a little while to find out that the problem was the IP address. Although it clearly says 127.0.0.1 here, the cassandra.yaml configuration file had localhost.

I edited the ...

WARNING: This is actually wrong. The -F is a SEARCH feature. Not a way to recalculate the value on your own system. So you can verify that the value is the same in your database, but SSH already does that and shows you that terrible warning... so in effect it is the exact same command.

Whenever you connect to a computer with SSH, it gives you a fingerprint of the host.

Ever wondered how to check whether that fingerprint is a match? Yeah... I figured, 99% of us don't even know how to make sure that it is indeed a match.

There is the command line to generate that fingerprint:

    ...

Today I was testing a new intsallation that I prepared in the last month or so and once I hit Cassandra, I got this strange message:

   NoHostAvailable: ('Unable to complete the operation against any hosts',
   {<Host: 192.168.2.92 dc1>: Unavailable('Error from server: code=1000
   [Unavailable exception] message="Cannot achieve consistency level ONE"
   info={\'required_replicas\': 1, \'alive_replicas\': 0, \'consistency\': \'ONE\'}',)})

I looked for a solution with Google but was not really able to find anything that ...

Since I have several computers running Ubuntu, I like to have them up to date, but it always takes a bit of time to download the new packages. I think those should be downloaded only once and then shared between all my computers (I also run VPS which can benefit from this sharing.)

So, I decided to finally look into it and the simplest was to install apt-cacher-ng on my main server:

sudo apt-get apt-cacher-ng

That's it for the main server (from what I've read, at least, although I am thinking that maybe we need to tell apt-get to check that cache first even on the main system?)

...

I get a set of upgrades, about once a day these days (the Ubuntu and other Open Source developers are keeping way too busy!)

Because of that, I run the software updater. That takes time, generally. But why is that?

After various upgrades from one OS version to another, possibly from the start, I dunno exactly when it broke, but the autoremove feature stopped uninstalling the old kernels.

In itself, it is not so bad, you just get additional kernels under /boot. It can be come a problem if you have a small /boot partition, but otherwise, it is not a big problem in itself.

Until you upgrade!

Today we were forced to transfer all our services from one server to another.

One of those services is Jira.

From what I have seen, there is no good documentation on our to migrate an instance of Jira from one Ubuntu server to another. Yet it is actually not that complicated.

Step 1. Make sure your current instance is not running

In order to avoid changes that would not make it to the new instance, make sure to stop Jira in the existing system. If you can, just stop Apache2 or whatever front end you are using.

Step 2. Copy the Data

Jira saves data in two locations: your database ...

In cmake, you have a cool feature which allows you to create a file.

First you use a WRITE, then you use the APPEND to add more lines to the file.

That file may be a shell script, though. In that case, you run in a problem whenever you want to write a variable which uses the curly brackets (as in ${TEST}), because cmake sees those as its own variables.

There is an example of script that we use in our Snap! development.

file( WRITE  ${lint_script} "#!${BASH}\n"                                                            )
file( APPEND ${lint_script} "if test \${3##*.} = ...

systemd has come as the default boot loader since Ubuntu 15.04. The old version, upstart, is now considered deprecated. Systemd has an interface pretty similar to the upstart service command line.

...
Command Description Support Persist
systemctl start SERVICE
Start SERVICE Always No
systemctl stop SERVICE
Stop SERVICE Always No
systemctl restart SERVICE
Restart SERVICE Always No

As I just upgraded my 14.04 installation to 16.04, it booted right up to lightdm.

I had it properly setup to boot in a console before, but somehow it changed the behavior on me.

This is because the computer is now using systemd to boot.

I already had the GRUB variables setup as expected:

GRUB_CMDLINE_LINUX_DEFAULT="text"
GRUB_CMDLINE_LINUX="text"
GRUB_TERMINAL=console

But this is not enough if you want to start in the console when running systemd (which is running since 15.04).

systemd has a list of variables you can tweak using the systemctl command. To boot in ...

Thank you for visiting my website.