Linux.com

Home Linux Community Community Blogs

Community Blogs



The GNU/Linux Adventurer's Backpack

If you are setting off on your new GNU/Linux adventure, there are some must have things that you'll be needing to take along with you.

When you're at the kitchen table packing that backpack for your big adventure, don't forget to stuff these items in there with your lantern, matches, water purification pills, and lip balm. You'll find this stuff will come in very handy along the trail.

A little history --

Linux, which specifically means the kernel portion of the operating system, was born in 1991 when Finnish student Linus Torvalds decided he wanted something to run on his 80386 processor based PC. Linus turned the code for his new kernel lose on USENET.

Within a short while Softlanding Linux System (SLS) was born of a mating of Linus' new kernel and Richard Stallman's GNU Operating System. The SLS project was taken over by Patrick Volkerding, who morphed it into Slackware Linux, the oldest still living GNU/Linux distribution. You can view the Linux family tree to see how things progressed from there.

Some handy documentation --

C'mon. Quit whining. Sometimes, it's a good thing to read the fine manual. The "man" pages, short for manual, are available to you from within any GNU/Linux distribution. They're already in your backpack even if you didn't know it. To access a manual page for a certain command within Linux, just use this from the command line:

$ man <command or application name>

For example, let's say you want to know how to use the ls command. You would type this into the command line:

$ man ls

LS(1)                            User Commands                           LS(1)

NAME
       ls - list directory contents

SYNOPSIS
       ls [OPTION]... [FILE]...

DESCRIPTION
       List  information  about  the FILEs (the current directory by default).
       Sort entries alphabetically if none of -cftuvSUX nor --sort.

       Mandatory arguments to long options are  mandatory  for  short  options
       too.

       -a, --all
              do not ignore entries starting with .<snip>

...and the manual page for the ls command will magically appear. Cool, huh? You can also refer to that same manual page by using online websites that make that same information available to you. You can use Linux Man Pages, Linux Man Pages Online, or other similar sites.

For some more in depth GNU/Linux documentation, you can check out The Linux Documentation Project (TLDP), LinuxDocs.org, or DistroWatch.com. The last provides brief synopses and reviews of most of the GNU/Linux distributions available today.

Which distribution to start the adventure? --

If you clicked on that DistroWatch link above, you'd see that there are many, many GNU/Linux distributions out there in the world. While choice is a good thing, numerous choices can sometimes be overwhelming for new adventurers; what trail should I take? Every GNU/Linux advocate will have their own favorite list of distributions that they recommend to all the new adventurers they run across. Following is my list of the five easiest transition distributions. What's a transition distribution? I define that as a GNU/Linux distribution that is easy to install and use right out of the box for new adventurers who are mostly used to using Microsoft Windows products.

Ubuntu - this is the distro that took GNU/Linux from the desktops of geeks like me and put it on Gramps and Granny's system. It did more to popularize the GNU/Linux operating system than any other distribution prior.

Linux Mint - this distro from the land of Eire is slam packed with all the great stuff you'd want in an operating system. It's good to go right out of the box.

Mepis - while not the most popular GNU/Linux out there, this Debian-based distribution is a fine product, and most suitable for new adventurers.

PCLinuxOS - this distro is a branch of the old and venerable Mandrake/Mandriva GNU/Linux. It's easy to install and to operate.

Ultimate Edition - this distribution gets its foundation from its Debian and Ubuntu roots. It is also easy to install and has loads and loads of useful software included the moment you boot up.

OK, then. We have some history, some documentation, and a choice of distributions in our backpack now. We're almost ready to begin the adventure. But wait! There are a couple more very important items that we'll be needing.

Tips and Tutorials --

Tutorials are documents that teach in a step-by-step fashion. They can cover a lot of information in a small space. They're usually simplified so that amateurs and novices can follow along without the need to know the really complicated stuff underneath it all. Tips are just that; little tid-bits of information to make things go easier on your adventure.

There was once a man called Bruno, he was my friend. He was also a serious GNU/Linux advocate and teacher. He selflessly spent many hours of his daily life teaching others about GNU/Linux. Many of us who knew him learned from him and were inspired by him to carry on his tradition of teaching. While Bruno may no longer be with us, part of the legacy he left us is his Tips for Linux Explorers site. Yes, some of the info there is a bit dated, but most of it is still very relevant and helpful.

As far as tutorials go, there are many sites with wonderful GNU/Linux tutorials. Here are a few that I use regularly: The Linux Tutorial, YoLinux Tutorials, Linux Survival, HowtoForge, Tutorialized, and Linux Planet Tutorials. Believe me, if there's something you want to accomplish within GNU/Linux, there is a tutorial somewhere that will show you how. Remember, when searching for answers to your GNU/Linux questions, Google is your friend.

And lastly, but never last, this most necessary thing to have in your GNU/Linux adventurer's backpack:

Community --

We come into this world alone and we leave it alone, but fortunately, while in this world, we have each other. Were it not for the GNU/Linux - Open Source community, there wouldn't be any GNU/Linux; or if there were, it would be some ghastly thing used by a few uber-geeks in the darkness of night on their own desktop systems. Joyfully, that isn't so because we have community; arguably the most important ingredient in the brewing pot.

There is a large and very active GNU/Linux - Open Source community every where in the world. You can access and interact with that community in many ways; boards and forums, USENET Groups, mailing lists, websites and portals, blogs like this one, etc. Community means a lot to me. Below you'll find my list of favorite places where I go to learn what I need to continue on my own adventure:

Boards and Forums

Scot's Newsletter Forums - Bruno's All Things Linux - a Linux support forum and much more. This site is run by Scot Finnie, Editor-in-chief of ComputerWorld.com.

Jeremy's LinuxQuestions.org - a Linux support forum and community dedicated to assisting adventurers of all skill levels and abilities.

TechSupportGuy Forums - Linux and Unix - another excellent Linux community forum.

The Linux Foundation's Linux.com Community - a relatively new and growing community with many helpful members.

Just Linux Forums - a great community resource.

Linux Forums - search this place for great tips and assistance as you travel along in your adventure.

Also, don't forget... nearly every distribution of GNU/Linux has its own very helpful support community. Check out the main websites for links to their forums and such. All the distros mentioned above have their own forums. Check 'em out.

Linux News Sites

Tux Machines - Susan Linton's wonderful Linux community site.

Linux Today - news you can use.

Linux Insider - more informative Linux news.

LXer Linux News - the world is talking about GNU/Linux and Free/Open Source Software.

The above are just a sampling. There are literally hundreds of top level, informative Linux news sites on the Net. Search!

Linux Learning Blogs

Linux Operating System - Guillermo Garron's very helpful and informative blog.

Linuxaria - Ricardo Capecchi's bi-lingual Everything About Linux blog.

All About Linux - a self-professed "very" popular blog about Linux, Open Source, and Free Software.

Linux Notes from Dark Duck - helpful information on choosing and running Linux on your systems.

Dedoimedo - a place to learn a lot about a lot. A unique experience, I might add.

There are many more sites out there, too. Each distribution usually has a handful of dedicated bloggers and teachers running from their own websites. Don't forget to search online. You'll find some wonderful stuff.

One other thing you can do when starting out on your adventure is to register with The Linux Counter and be counted as part of the community. Proudly display your Linux Registered User number for all to see. Sorry, they're out of stock on the super-dooper decoder rings, though. You may find one in that Cap'n Crunch serial box on your kitchen table. ;)

I've tried to make this as all-inclusive as I could, but of course, I've failed miserably. GNU/Linux is a topic that volumes have been written about. How could I possibly give you all that information in one short article? Oh well. I hope that what you do find here will help you along in your adventure. I leave you with three bits of wisdom that I learned early on when I first started out on my adventure:

  • First and foremost, GNU/Linux is NOT MS Windows. Please don't expect it to be.
  • Secondly, KEEP notes! You will find this an immeasurably important practice to discipline yourself into doing regularly. I don't care if your notes are on your iPad or your main system or on a dead tree note book (my choice medium). Just keep notes. You won't regret it.
  • Lastly, but again NEVER last, the community is there for you. Take from it all that is offered, so that you can learn and expand your horizons on your great GNU/Linux adventure. We ask only one thing from you in return; when the time comes that you have reached a level of knowledge where you can comfortably (and accurately) do so, please give back to the community that supported you. This way there will always be those willing to help the new GNU/Linux Adventurers coming along the trail.

Happy adventuring!

~Eric

P.S. I intend this document to be a living device. I will probably be amending it from time to time.

*This article originally appeared on my Nocturnal Slacker v1.0 blog at Wordpress.com

 

 

 

Multi-booting My Way (Not Necessarily the Easy Way)

The following is a brief step-by-step on how I've been multi-booting different operatings systems on my machines for the past few years.

It's not necessarily the easy way to do things. It is the way I first learned and the way that I'm most comfortable with using. I'm posting it here, as I believe it may be helpful to some Linux Explorers out there. This tutorial is based on GRUB Legacy. I do not use the new GRUB2 on my machines.

Here we go...

I have multiple drives on my system, so multi-booting becomes a bit more interesting. Currently, I have three hard drives installed. They are /dev/sda, /dev/sdb, and /dev/sdc. We won't concern ourselves at all with /dev/sdc because it is primarily used as a common storage/backup drive. My operating systems are installed on /dev/sda and /dev/sdb.

I use /dev/sda (1st boot device in my BIOS) as the drive that has my primary operating system and my secondary operating system on it. I break my drives down into numerous partitions because I always install GNU/Linux operating systems on at least two partitions; /(root) and /home. I also have a common /swap partition on each drive that I plan on installing GNU/Linux distributions on.

My /dev/sda partitions look like this:

/dev/sda1   *       16065    51215219    25599577+  83  Linux <-- Slackware /(root)
/dev/sda2        51247350   153645659    51199155   83  Linux <-- Slackware /home
/dev/sda3       153661725   488392064   167365170    5  Extended
/dev/sda5       153661788   204860879    25599546   83  Linux <-- Arch /(root)
/dev/sda6       204877008   307275254    51199123+  83  Linux <-- Arch /home
/dev/sda7       307307448   311403959     2048256   82  Linux swap / Solaris
/dev/sda8       311420088   488392064    88485988+  83  Linux <-- Archives

My /dev/sdb partitions look like this:

/dev/sdb1   *       16384    51216383    25600000    7  HPFS/NTFS/exFAT <-- MS Windows XP
/dev/sdb2        51232768   102432767    25600000    7  HPFS/NTFS/exFAT <-- MS Windows Programs
/dev/sdb3       102453181   488270159   192908489+   5  Extended
/dev/sdb5       102453183   106550639     2048728+  82  Linux swap / Solaris
/dev/sdb6       106565823   137289599    15361888+  83  Linux <-- CentOS tester 1 /(root)
/dev/sdb7       137304783   188501039    25598128+  83  Linux <-- CentOS tester 1 /home
/dev/sdb8       188516223   219239999    15361888+  83  Linux <-- Foresight tester 2 /(root)
/dev/sdb9       219255183   270451439    25598128+  83  Linux <-- Foresight tester 2 /home
/dev/sdb10      270466623   301190399    15361888+  83  Linux <-- Debian tester 3 /(root)
/dev/sdb11      301205583   352401839    25598128+  83  Linux <-- Debian tester 3 /home
/dev/sdb12      352417023   383140799    15361888+  83  Linux <-- vacant tester 4 /(root)
/dev/sdb13      383155983   434352239    25598128+  83  Linux <-- vacant tester 5 /home
/dev/sdb14      434367423   488270159    26951368+  83  Linux <-- common storage

You get the above information on your drives using the fdisk -l command as root from the command line.

Alright then, let's say that I now want to install Fedora Core Linux on my tester 4 partitions of /dev/sdb. Here's how I would do that step-by-step:

1) Begin the Fedora installation setting /dev/sdb5 as swap, /dev/sb12 as /(root), and /dev/sdb13 as the /home partition from Fedora's installer.

2) When the Anaconda installer reaches the point where it asks where I want to install the GRUB bootloader, I choose to SKIP installation of GRUB.

3) Once the install is finished, I reboot my main operating system (Slackware) and from the command line I mount the newly installed Fedora /(root) partition:

root_Slackware/home/vtel57:# mount /dev/sdb12 /mnt/tmp

*Note: I have a /mnt/tmp directory in my Slackware. If you don't have a /mnt/tmp, just mount in /mnt. You'll be fine.

4) I list the contents of the Fedora /boot directory:

root_Slackware/home/vtel57:# ls /mnt/tmp/boot

5) I copy down the vmlinuz and initrd information. You'll be looking for the vmlinuz-<kernel version> and the initrd-<kernel version>.img files specifically. You'll need that information for the next step.

6) I edit my /boot/grub/menu.lst file to add the new Fedora Core entry. Note: my MBR-controlling GRUB is in my secondary OS, Arch Linux. I can still mount and modify it from within Slackware, though.

root_Slackware/home/vtel57:# mount /dev/sda5 /mnt/tmp

root_Slackware/home/vtel57:# vim /mnt/tmp/boot/grub/menu.lst

I'll add this entry to the file:

# Fedora Core

title          fedora (t4)

root         (hd1,11)

kernel     /boot/vmlinuz-<kernel version> root=/dev/sdb12 ro

initrd       /boot/vmlinuz-<kernel version>.img

7) I reboot and choose "fedora (t4)" from the GRUB menu to boot my new Fedora installation.

That's it, folks. Straightforward, but not necessary the easiest way to do this. That's the beauty of GNU/Linux. You can do it your way.

Have fun!

~Eric

P.S. I'm still working on the next shell scripting lesson. It's going to be about variables and parameters, a necessary lesson for further BASH learning. Unfortunately, it's also kinda' complicated, so it's taking me a bit to figure out how to formulate a lesson and still stay loyal to my primary goal here... keeping it as simple as possible. Stay tuned...

*Originally published on my Nocturnal Slacker v1.0 blog at Wordpress.com
  

 

 

Accessing Amazon EC2 Instance information from the command line using curl

If you use Amazon Web Services EC2 for virtualising your infrastructure, you may find that once you have a few instances started, that it may be hard (especially if you aren't using a configuration management tool) to trace back 'which machine belongs to what security group?' or 'which AMI did I use to bring up this instance?.'

 

Well theres a few quick tricks you can use to get some info out of your running instances. To do this you need to access the instances meta-data, and this is available simply by using 'Curl' from your running Linux instance, as follows:

 

'curl http://169.254.169.254/latest/meta-data/<metadata-object>'

 

here are some of the metadata objects:

ami-launch-index

ami-manifest-path

block-device-mapping/

hostname

instance-action

instance-id

instance-type

kernel-id

local-hostname

local-ipv4

placement/

profile

public-hostname

public-ipv4

public-keys/

reservation-id

security-groups

 

ami-manifest-path will tell you from where on AWS the AMI (the Amazon Machine Image for the linux virtual machine) was launched. If you rolled/composed your own AMI this helps you match up which Bucket on S3 relates to your AMI.

 

for example:curl http://169.254.169.254/latest/meta-data/ami-manifest-path

 

 

public-ipv4 is the world-facing IP address of the running virtual machine.

 

If your not sure from looking at the AWS Dashboard (or dont have access to it) you can run:

 

curl http://169.254.169.254/latest/meta-data/instance-id

 

this will help you make sure if you want to terminate an instance that you kill off the correct one.

 

Its easy to experiment with, and the fact that you use curl to access the metadata information, it means that its also something thats pretty easy to compose a shell script for commonly needed tasks.

Hope someone finds this helpful.

 

openSUSE Weekly News 172 is out!

We are pleased to announce our openSUSE Weekly News #172

In this Issue:

  • Evergreen needs you
  • Evergreen & Tumbleweed status update
  • First openSUSE Conference 2011 Program Commitee Meeting
  • Installing latest Intel graphics driver to openSUSE 11.4
  • and many more ...

You can download it there:

We hope you enjoy the reading :-)

If you want to help us collecting interesting articles for the openSUSE Weekly News, so you can all your stuff into our new ietherpad: http://os-news.ietherpad.com/2.

Found Bugs? Please place it in our Bugtracker: http://developer.berlios.de/bugs/?group_id=12095

Features, Ideas and Improvements can placed in our Featuretracker: http://developer.berlios.de/feature/?group_id=12095

Older content can be found there.

Flattr this

 

 

Linux Foundation Guru's get mentioned in FOSS article in UK Linux Format Magazine!

I posted this on my own external blog, but thought I would share the pics of the article in Linux Format that mentions the Linux Foundation!

This years Top Ten Linux Guru’s as judged by the Linux Foundation where picked earlier last month. Imagine my surprise to find my name (Matt Palmer) amongst them when I opened this months (UK June Edition) of Linux Format!!

I thought I would put up a couple of pictures of the article for prosperity. Well done to all the other guru’s as well, who have done a brilliant job of helping new users to Linux, as well as assisting others with questions,whitepapers and best practices, and inspiring innovation and development within the organisation.

Here were the Top Ten contributors to the Foundation:

1)Matthew Fillpot

2)Aaron Aceves

3)Andrea Benini

4)Shane

5)Istimsak Abdulbasir

6)Marco Fioretti

7)Matt Palmer (Me!)

8)Per Lindholm

9)GoinEasy9

10)Adam

Take a look at the Linux Foundations Website linux.com for some great articles and topics for debate, and the latest news on the greatest operating system on the planet!

 

 

Move over Apple, here comes Compufon!

Blimey!

I thought this was amazing. This nifty phone runs on Android, and has the ability to integrate into a Tablet or as a slimline PC with a real keyboard.

Its amazing take a look. It includes bluetooth headset that you can use if you have the phone integrated into the tablet when someone calls you.

http://www.compufon.com/features

This could prove to be an interesting competitor to other Smartphone vendors when this reaches production stage, as it is basically the iPhone/iPad and Laptop all in one. Because its Android, it also opens the door to allow enthusiasts to develop a wider range of applications,etc. 

 

Migrate Bugzilla 3.0 Server to a Bugzilla 4.0 Server

Summary

I recently did a migration from Bugzilla 3.0 running on one server to Bugzilla 4.0 running on a new server.  Since I was already writing these down as I went, I thought that I would share these instructions with the greater Linux community.  You may find that some of these instructions may need to be run in a slightly different order, but this is a pretty complete account of what it took to get this going on the new server.  I know that I had to periodically go back the the ./checksetup.pl script over and over throughout the process to check myself and figure out what needed to occur next.  I tried to arrange all of these in an order that will work, but if you have to install the bugzilla folder first and continually re-run ./checkseutp.pl, it's pretty much what I had to do.

These instructions are for RedHat 5.5.

Backup Your Current Bugzilla 3.0 Database

These directions all assume that you have a Bugzilla 3.0 database that you've backed up with teh following commands: 

sudo mkdir /data/backups/mysql-bugzilla-3.0
sudo chown www-data.www-data /data/backups/mysql-bugzilla-3.0
mysqldump -u bugs --password=XXXXXXXXX bugs | gzip -9v > `date '+/data/backups/mysql-bugzilla-3.0/bugs_%Y%m%d.sql.gz'`

 

Setup Apache

Install the Web Server, set the run levels, and start the service:

[root@mybugzilla]# yum groupinstall "Web Server"
[root@mybugzilla]# yum chkconfig --levels 2345 httpd on
[root@mybugzilla]# service httpd restart


Try the main site to ensure that apache is setup correctly by browsing to your site name or to http://localhost

You should see the default apache site showing that the webserver is installed properly.


Modify the httpd.conf file

Open the /etc/httpd/conf/httpd.conf file in your favorite editor.  Add these lines to the end of your httpd.conf file:

PerlSwitches -w -T
PerlConfigRequire /var/www/html/bugz/mod_perl.pl

Also make sure that you have the line "KeepAlive Off" per the bugzilla install instructions.

Restart Apache

[root@mybugzilla]# service httpd restart

Setup MySQL

Install MySQL, set the service to start on boot, and set the mysql root password:

[root@mybugzilla]# <b>yum groupinstall "MySQL Database"</b>
[root@mybugzilla]# <b>chkconfig --levels 2345 mysqld</b>
[root@mybugzilla]# <b>service mysqld restart</b>
[root@mybugzilla]# <b>/usr/bin/mysqladmin -u root password 'XXXX'</b>


Now login to mysql:

[root@mybugzilla]#  <b>mysql -pXXXX</b>


Once logged into mysql as root, create the bugs user and the database:

mysql> create user 'bugs'@'localhost' IDENTIFIED BY 'XXXpasswordXXX';
mysql> create database bugs;
mysql> show databases;

Restore data

These instructions assume that you followed the above instructions for exporting your bugzilla database from Bugzilla 3.0.

[root@mybugzilla]# cd /path/to/restore/file
[root@mybugzilla]# gunzip bugs_20110414.sql.gz
[root@mybugzilla]# mysql -u root -pXXXX bugs < bugs_20110414.sql

Grant Permissions

Login to mysql as above and run

mysql> grant all on bugs.* to 'bugs'@'localhost';

 

Fix MySQL Defaults in /etc/my.cnf

Edit the /etc/my.cnf file and add these lines under the [mysqld] section:

[mysqld]
# Allow packets up to 4MB
max_allowed_packet=4M

# Allow small words in full-text indexes
ft_min_word_len=2


This ensures that uploaded attachments to bugs is now 4MB instead of the default 1MB.

Restart MySQL

Restart the service to ensure any changes above are loaded:

service mysqld restart

 

Setup Bugzilla

Prep Bugzilla

Create the directories and download Bugzilla:

[root@mybugzilla]# cd /var/www
[root@mybugzilla]# mkdir bugz
[root@mybugzilla]# cd bugz
[root@mybugzilla]# wget http://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-4.0.tar.gz
[root@mybugzilla]# tar xzvf bugzilla-4.0.tar.gz
[root@mybugzilla]# cd /var/www/html
[root@mybugzilla]# ln -s ../bugz/bugzilla-4.0 bugz
[root@mybugzilla]# cd /var/www/bugz/bugzilla-4.0

 

Install Bugzilla Dependencies

./checksetup.pl --check-modules


You will be told you should run several commands to install all the perl modules.  For example,
I was told to run these:

[root@mybugzilla]# /usr/bin/perl install-module.pl Digest::SHA
[root@mybugzilla]# /usr/bin/perl install-module.pl Date::Format
[root@mybugzilla]# /usr/bin/perl install-module.pl DateTime
[root@mybugzilla]# /usr/bin/perl install-module.pl DateTime::TimeZone
[root@mybugzilla]# /usr/bin/perl install-module.pl Template
[root@mybugzilla]# /usr/bin/perl install-module.pl Email::Send
[root@mybugzilla]# /usr/bin/perl install-module.pl Email::MIME
[root@mybugzilla]# /usr/bin/perl install-module.pl List::MoreUtils


or just simply:

  [root@mybugzilla]# /usr/bin/perl install-module.pl --all

  DateTime won't build so I'm trying this:

  [root@mybugzilla]# yum install mysql-devel gd gd-devel perl-DBD-MySQL mod_perl-devel

    (per instructions at http://www.bugzilla.org/docs/4.0/en/html/installation.html)
  The perl-DBD-MySQL package is 3.07 which is too old (4.0 is needed) so I had to be sure to
run the cpan install:

[root@mybugzilla]# /usr/bin/perl install-module.pl DBD::mysql

  I noticed that DateTime complains that I only have Archive::Tar 1.3901 which it found in the
perl-Archive-Tar package.  I upgraded with the following:

[root@mybugzilla]# /usr/bin/perl install-module.pl Archive::Tar

  Which got me Archive::Tar 1.76, which stopped the complaints in DateTime.  I installed datetime
running these:

[root@mybugzilla]# /usr/bin/perl install-module.pl Module::Build
[root@mybugzilla]# /usr/bin/perl install-module.pl DateTime

 

Install Additional Modules

I installed these extra modules:

[root@mybugzilla]# /usr/bin/perl install-module.pl Net::LDAP
[root@mybugzilla]# /usr/bin/perl install-module.pl GD
[root@mybugzilla]# /usr/bin/perl install-module.pl Chart::Lines
[root@mybugzilla]# /usr/bin/perl install-module.pl Email::Reply
[root@mybugzilla]# /usr/bin/perl install-module.pl Apache2::SizeLimit
[root@mybugzilla]# /usr/bin/perl install-module.pl GD::Graph
[root@mybugzilla]# /usr/bin/perl install-module.pl PatchReader
[root@mybugzilla]# /usr/bin/perl install-module.pl Email::MIME::Attachment::Stripper

    I know that out of the above, if you don't have Apache2::SizeLimit then there will be a problem when restarting the httpd server, which (per the above instructions) includes a reference to the mod_perl.pl script in the bugzilla folder, which in turn uses Apache2::SizeLimit.  If you have trouble (as I did), make sure you have the =mod_perl-devel= package installed in order to install Apache2::SizeLimit.

Edit Configuration

Now you'll need to edit the localconfig file to setup the variables.  Make sure you have these variables set.  You'll probably have to manually set
those listed in bold:

$create_htaccess = 1;
$webservergroup = 'apache';
$use_suexec = 0;
$db_driver = 'mysql';
$db_host = 'localhost';
$db_name = 'bugs';
$db_user = 'bugs';
<b>$db_pass = 'XXXpasswordXXX';</b>
$db_port = 0;
$db_sock = '';
$db_check = 1;
$index_html = 0;
$cvsbin = '/usr/bin/cvs';
$interdiffbin = '/usr/bin/interdiff';
$diffpath = '/usr/bin';
$site_wide_secret = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';

 

Re-Run CheckSetup

Now re-run checksetup now that you've fixed the localconfig file.  This should test the settings in the localconfig to ensure the correct db name, user name and password:

./checksetup.pl --check-modules


The script may remind you to perform some actions documented above.  If you've missed anything, go ahead and fix it now before continuing.

Bugzilla Upgrade

Upgrading can cause serious harm to the database.  Make sure you've backed up or you have a file migrated from another server that you can use to restore the database 'bugs' table in case the following fail.  There are probably more ways to migrate, but these are the actions that I took.

Ensure the character encoding is correct

Your database must be in UTF-8.  If the previous database used another encoding, you should fix it with the recode.pl script.

[root@mybugzilla]# /usr/bin/perl install-module.pl Encode::Detect
[root@mybugzilla]# cd /var/www/bugz/bugzilla-4.0/
[root@mybugzilla]# contrib/recode.pl --dry-run --guess


Review what changes then do the command for real:

[root@csobugzilla]# contrib/recode.pl --guess

 

Continue with the checksetup.pl

Try the checksetup.pl script again.  You can now safely continue when prompted about the UTF-8 stuff.

References

http://www.bugzilla.org/docs/4.0/en/html/configuration.html
http://www.velikan.net/import-sql-dump-file-to-mysql-database/
http://dev.mysql.com/doc/refman/5.1/en

 

Using a Distributed Shell (dsh) to Administer Multiple Workstations

Introduction

This is something I used to need a lot, that I dug out of my documentation to share.  These are steps to using dsh on ubuntu to administer multiple workstations.  This does not include instructions for setting up public/private key authentication in ssh, but these instructions work the best when this has been setup.  If you don't setup ssh keys, you'll end up having to type the root password for each machine you ssh into.

Setup

Installation

On Ubuntu, run this to install:

sudo aptitude install dsh

 

Configuration

Start by creating a new group of workstations.  I have several CentOS workstations, so I create a new file that contains all of these:

/etc/dsh/group/centos-workstations

# These are standard workstations conforming to the typical centos configuration
root@host1
root@host2
root@host3

Running Commands

You can run pretty much anything, but here's an example:

dsh -g centos-workstations yum clean all
dsh -g centos-workstations yum -y upgrade

Some Shortcuts

I simplify matters even more by creating an alias

alias cent='dsh -g centos-workstations'

I add this to my .zshrc file.  This buys the the ability to run things like:

cent yum -y upgrade

Conclusion

I realize these instructions are a bit basic, but I hope it points out new possibilities to those who have never used dsh before.  I have found myself using this pretty extensively with about 50 workstations and publickey authentication and it works wonderfully.  I found it especially useful a year or more ago when I was trying to modify 50+ workstations to conform to a more standard configuration.  I tried several other solutions over a year ago (parallel ssh or something like that) and I didn't find anything quite as nice as dsh.

 

 

Going to Vatican as a FOSS blogger: which questions and proposals should I bring with me?

I'm one of the 150 people invited to the first "Bloggers in Vatican" meeting next month. I've put all details about the goals of the meeting and why I was invited here, and now I have a question:

Which questions and proposals do you think I may suggest for a meeting like that if I had the possibility, both in general and as a FOSS/Open Standards advocate?

Thanks! Any feedback is welcome.

 

How to automatically replace files when updating WordPress

WordPress is quick and easy to install and update, but the quicker you can make these operations the better, right? If you have shell access to the server where your WordPress copy is installed, it is possible to make some operations much quicker and safer with this shell script.

 

The importance of education to Linux

Just by looking at the amount of voluntary work users engage in to help each other with their computer problems I wonder if we could not use this massive source of human intelligence for educational purposes.

The idea is that we first aim high and help each other on entry level university mathematics. Young adults would then see a another real benefit to join the Linux community.

In my previous blog entry I wrote about the potential benefit from bundling student books with some popular distributions. I believe this where you need to start. Having a couple of good open textbooks for users to engage in. Perhaps its enough to have them in the repository. The import thing is to get enough users reading the same books.

I wrote the below blog entry explaining how the cooperation could work.

http://blogg.idg.se/perrabyte/2011/04/08/idea-how-to-make-swedish-students-much-better-in-mathematics/

Here I focus on explaining the textbook theory in multi fashionable way. What I forgot to write is that the explanations need to be approved before publishing and you can link the specific theoretical part to whatever is relevant be it videos, exercises or forum discussions for questions not answered.

We need advanced innovative software in all fields. By helping with the educational bit I think we get a lot in return.

 

 
Page 9 of 122
30 Linux Kernel Developers in 30 Weeks

Who we are ?

The Linux Foundation is a non-profit consortium dedicated to the growth of Linux.

More About the foundation...

Frequent Questions

Join / Linux Training / Board