Questionnaire for my upcoming Linux Administration ebook

If you're planning to acquire or expand Linux System Administration skills anytime soon, you may find my upcoming Linux Pro: How To Make a Great Career in Systems Administration ebook really useful.

Although I have most of my Linux ebook structure planned already, I would really like to take all the feedback I can get and make the book as useful as you want it to be.

Please take 10min to complete the survey, and if you specify your valid email address I'll be sure to give you a 50% discount when the ebook is available: Linux Pro: eBook Questionnaire. Thanks!

Puppet 3.0.0 is here

As some of you may have noticed already, Puppet configuration management system has just been upgraded to 3.0.0 release.

Being a major milestone, this upgrade brings the following major improvements:

  • performance is much better for catalog compilation
  • improved and expanded OS support – lots of Windows improvements, great new functionality for Solaris (zones, packages and services are finally supported now)
  • pluginsync is now enabled by default
  • new version of Ruby is supported (Ruby 1.9) and Ruby DSL was completely rewritten
  • dynamic scoping is no longer supported (yep, this breaks backwards compatibility with 2.7.x branch of Puppet)
If you're new to Puppet, please visit the PuppetLabs website for more info and for free download.

I have read and reviewed a couple of great books on Puppet, so check the reviews out:

Book Review: Learning MySQL

If you follow UnixTutorial on Facebook you've probably seen my short port a few weeks back announcing the UnixTutorial side project: Books @ UnixTutorial.

My first review has been online for a while, so check it out:  Learning MySQL.

More reviews are coming, expect at least one new review a week for the years to come! I plan on reviewing books but will write a few of my own if I'm stuck for new material or pressed for some Unix basics to be shared.

Welcome to 2012!

It's been so unbelievably long since my last post on this blog that I decided to start this year with a non-technical welcome.

I have great plans for UnixTutorial in 2012, and would welcome any opportunity to share knowledge and experience with all of the readers and new visitors
of this blog.

Here's just a few of the things I plan to do:

  • UnixTutorial members area – long time coming, this area of the website will finally make a proper debut in the next few months. I'll be announcing the next round of email subscriptions shortly, so don't miss out if you're still interested
  • A series of UnixTutorial eBooks – eventually a balanced collection of free and paid material in PDF and Kindle formats (polls to decide which topis are in demand will follow shortly)
  • Broader coverage of Unix topics – this year I expect to write a lot more about Mac OS and AIX systems
  • New WordPress theme and quite likely a mobile copy of the website (let me know what devices you have, I own  iPhone and iPad so will do initial testing)
  • Completion and expansion of the Basic Unix Commands and Advanced Unix Commands sections
  • More Unix book reviews and recommendations
  • Reviews of latest Unix-like OS releases
  • Even more Questions and Answers

If you expect to see even more – now would be a really good time to let me know by leaving a comment. Thanks and stay tuned!

Using dig command to confirm TTL for a DNS zone entry

As you probably know, TTL (time-to-live) parameters can be set not only for the whole DNS zone you're managing, but for each individual zone entry. A common example could be a higher TTL for the zone as a whole, while having much smaller TTLs for critical servers like web or MX servers.

Not everyone is aware that dig command is very useful for entry-specific DNS research. This post just shows you a very simple example.

dig to confirm TTL for a DNS entry

When using dig, we're usually after a specific section of its output. Consider this simple query (your output may slightly vary):

srv1# dig

This query targets a specific DNS record – namely the www. one, rather than a whole domain.

[Read more…]

Upgrading Ubuntu with do-release-upgrade

There comes a time (a couple of times a year, actually) when you may want to upgrade your Ubuntu distro (read here for instructions on confirming your version of Linux: Find Out Linux Version)

Once that's done, you can use do-release-upgrade for a hassle free upgrade.

IMPORTANT: are you can see, I've used a really old Ubuntu server with 8.10, hence your procedure for upgrading more recent Ubuntu versions may be slightly different. For example, later upgrades will warn you if you're doing a release upgrade over ssh.

What do-release-upgrade is and when you should use it

do-release-script is a Python script which automates the process of updating multiple packages. It relies upon Ubuntu's core package management functionality.

Apart from downloading and installing updated versions of packages found on your system, this command attempts to take care of all the necessary Ubuntu-release related file changes.

Step 1: Run do-release-upgrade

Once you type the do-release-upgrade command name and press Enter, you should see how vital information about packages currently installed is being collected:

# do-release-upgrade
Checking for a new ubuntu release Done
Upgrade tool signature Done
Upgrade tool Done
extracting 'jaunty.tar.gz'
authenticate 'jaunty.tar.gz' against 'jaunty.tar.gz.gpg'
Reading cache
Checking package manager
Reading package lists: Done
Reading state information: Done
Updating repository information
Done jaunty Release.gpg
Done jaunty-updates Release.gpg
Done jaunty-security Release.gpg
Done jaunty-backports Release.gpg
Done jaunty-security Release

Checking package manager
Reading package lists: Done
Packages: 98  2
Reading state information: Done
Reading state information: Done
Reading state information: Done
Calculating the changes


2. Confirming what upgrading will do

This is your last change to change your mind. All the necessary information about your current Ubuntu release is collected, and now you're presented with the exact upgrade details: how many packages will be removed, how many new ones will be installed, how many will be upgraded. You also are given details about the required amount of data to be downloaded should you decide to proceed with the upgrade;

Do you want to start the upgrade?

1 package is going to be removed. 23 new packages are going to be installed. 420 packages are going to be upgraded.

You have to download a total of 248M. This download will take about 7 minutes with your connection.

Fetching and installing the upgrade can take several hours. Once the download has finished, the process cannot be cancelled.

Continue [yN]  Details [d]

Ready? Press y for yes!

3. Downloading all the packages

Just like with apt-get, you will now see the progress of downloading all the updated packages for your Ubuntu OS. At the bottom of the screen you will see the overall completeness of the download (22% in my example), the current download speed (598kB/s in my case) and the ETA:

Done jaunty-updates/main libbz2-1.0 1.0.5-1ubuntu1.1
Done jaunty/main libdb4.7 4.7.25-6ubuntu1
Done jaunty/main libncursesw5 5.7+20090207-1ubuntu1
Done jaunty-updates/main libssl-dev 0.9.8g-15ubuntu3.6
Done jaunty-updates/main libssl0.9.8 0.9.8g-15ubuntu3.6
Done jaunty/main python2.6 2.6.2-0ubuntu1
[23%] 598kB/s 5min17s

4. Upgrade

Once package are downloaded, they will get installed once by one, with package-specific questions asked for software like postfix or apache.

5. Reboot

To finalize the distro upgrade, you will need to do a reboot. Once completed, you should have a shine next release available.

Recommended books:

Suggest a topic for the Operating Systems Basics

Hi everyone, and thanks for staying with Unix Tutorial for so long! My first weeks of the 2010 have been pretty busy, but I've been quietly upgrading the blog engine and components of the Unix Tutorial Members Area to get things ready for the long-awaited second module of the Introduction to Unix course.

If you're an existing member and have a topic which you think belongs to the Operating Systems Basics module, please leave a comment.

[Read more…]

Climate Change: How You Can Help Prevent It

Since it's Blog Action Day 2009 today, I'd like to remind all the readers of my blog how climate change can be prevented by following really simple rules.

Since Unix Tutorial is a technical blog, I'll try and stay as technical as possible within the topic.

Virtualize to consume less energy, get rid of old hardware

Old servers required a much bigger commitment in the past: not only did they cost a fortune, but they also needed a lot of space and required a lot of power. These days, 1u or 2u server solution can easily outperform a computing system which used to take a whole cabinet in your datacentre. And since the cost of supporting old hardware only increases with each year, it makes a lot of sense to simply but a new server to replace the old infrastructure.

[Read more…]

Ask me a Unix question on Twitter

Hi everyone, it seems to be really long since my last technical post here – too much stuff happening at work, plus I'm studying for a CCNA exam.

If you're in need of quick help – drop me a message on Twitter – I'm UnixTutorial there. I can't promise a prompt reply, but at least this way you'll have some interactivity.

I see how many people leave questions in comments to my posts, and I don't always have the time to reply – so feel free to send me an email if you really need my help.