Oct 25, 2008

MuCommander is a powerful, cross-platform file manager

We've covered many, many Explorer replacements here in the past, so I was a little surprised that MuCommander hadn't been written up yet.

What makes MuCommander stand out is that it is free, open source, and cross-platform. The author's web site provides downloads for Windows, Mac, and Linux (.tar.gz) as well as a Debian package, portable version, and a Java Web Start package.

It's actually the first JWS application I've come across since I started reviewing for Download Squad. It loaded fairly quickly on my netbook, and ridiculously fast on my quad-core AMD desktop.

MuCommander presents a skinnable, dual-pane view for file management. There's no tab support, though I don't consider that a major shortcoming - especially considering its other features are numerous, and extremely useful.

For starters, there's built-in support for FTP, SFTP, Samba, HTTP, NFS, and Bonjour. Several types of archives can be explored without extracting: zip, rar, tar, gzip, bzip2, iso, nrg, deb, and lst. MuCommander can create archives (press ctrl+I to pack) and even modify zip files on the fly without having to recompress the entire archive

There's also a command shell window with scrolling output, credential manager, and favorite locations list.

MuCommander is a fantastic file manager, and well worth a test drive for any user - regardless of OS.

RevoluTV: Watch live TV streams in Windows

Hulu Schmulu. Some TV networks have been providing streaming content for ages. You can watch live or recent news updates from the BBC or CNN, music videos, or even movies if you know where to look. But where's the fun in that? RevoluTV is a Windows app that comes preloaded with a long list of video channels that you can stream using the built-in Windows Media Player interface.

Unlike previously mentioned LiveStation, which is mostly focused on news channels, RevoluTV has a ton of streams divided into categories like News, Entertainment, Lifestyle, Music, Movies, Sports, and Kids. And most of the streams I tried actually played, which is more than I can say for some other programs I've used that promise to let you stream internet TV content from around the globe.

Of course, I've kind of gotten used to the video-on-demand feel of Hulu and similar sites, so I'm not really a big fan of watching live television anymore. But if you can't find anything worth watching on Hulu, YouTube, or whatever online video site you're addicted to these days, RevoluTV might be worth a look.

Oct 15, 2008

15 Tips For a Better Linux Experience

The beauty of Linux is in users ability to do large amount of customization to have a unique user expereince. So today we will look in to some tips for a “better” Linux experience. The term “better” here is relative, because what works for me might seem a distraction for some or plain annoying to others; some of this “tips” might appeal to beginners, while advanced users might find it too easy. Hopefully some of these tips will be helpful to some of you.

1) Turn on your computer remotely by sending “magic network packets” to WakeOnLan supported network cards. This can be very helpful if you run a server at home but only access it occasionally. There is no need for you to have the server running all the time.

2) If you dual boot with windows, accessing Linux file system from your windows installation might be important for you. There are three windows applications that can help you do this: Explore2fs, Ext2 Installable File System, DiskInternals Linux Reader.

3) Similarly to have read/write access for Windows NTFS file system, you can use NTFS-3G. Most recent popular Linux distribution has NTFS-3G installed out of the box.

4) Share a single mouse and keyboard with multiple computers with different operating systems, each with its own display, with support for copy and paste. Thanks to Synergy, the most popular free KVM software switch out there.

Synergy in action.

5) Recovering data from damaged media can be handled by several Linux tools including some LiveCD, specifically built to help recover data. Parted Magic, Ubuntu Rescue Remix, SystemRescueCd, Foremost (data recovery), Ddrescue.

6) If you are a blogger like me and enjoy using desktop client over web editors, you will find these clients useful: Gnome Blog, Drivel Journal Editor, BloGTK, Thingamablog, Bleezer, QTM.

7) If you are a webdeveloper/designer, you will often find yourself testing a website across many platforms and browsers. IEs4Linux is a great painless way to check how IE browser will render your website. You could use services like browsershots, but I had mixed results with them.

8) Does your iPod miss iTunes? Here are three itunes alternative which will do most of what your iTunes would do, not an exact replacement; but does the job: Amarok, Banshee, Rhythmbox.

9) Follow multiple files by creating multiple windows in your console with the help of MultiTail, also known as tail on steroids.

10) Use Terminator to split your screen space with many terminal windows, both horizontally and vertically.

11) For even better control over your terminal display and customization and complex functions, GNU Screen is a much better choice over terminator; however terminator serves only one purpose.

12) Use RSIBreak to help prevent Repetitive Strain Injury. RSIBreak will force you to take short break, depending on your configuration, so that you don’t over-work yourself.


13) If you find yourself working on a dumb terminal (hello sysadmins) or prefer working on terminals, you will find newsbeuter to be an excellent RSS reader for the console.

14) I know some will disagree with me on this, but conky is an excellent compliment to your desktop experience. If properly configured, it can add a lot of value to your desktop environment. Check out this very creative conky setup and read about it here.

15) Do you do podcasts? rootprompt has a great article with huge resources for both Linux podcasters and listeners.

Sep 25, 2008

Useful Commands For The Linux Command Line

Useful commands for the Linux command line

This short guide shows some important commands for your daily work on the Linux command line.
Outputs the processor architecture.

$ arch

Outputs the contents of a file.

$ cat lorem.txt

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Change the working directory.

$ cd /bin
Change group ownership of files.

$ chgrp games moo.txt
Change access permissions of files.

$ chmod +x helloworld
Change file owner and group.

# chown root lorem.txt
Print CRC checksum and byte counts of each file.

$ cksum lorem.txt moo.txt

3570240675 453 lorem.txt
4294967295 0 moo.txt
Copies a file.

$ cp lorem.txt copy_of_lorem.txt
Outputs the current date and time.

$ date

Sat Mar 3 12:07:09 GMT 2007
Reports the amount of disk space used and available on filesystems.

$ df

Filesystem 1K-blocks Used Available Use% Mounted on

/dev/simfs 39845888 218048 39627840 1% /
List directory contents.

$ dir

copy_of_lorem.txt lorem.txt moo.txt www
Estimate file space usage.

$ du -h /bin

7.8M /bin
Display a line of text.

$ echo foobar

Cause the shell to exit.

$ exit
Print lines matching a pattern in a file.

$ fgrep "irure dolor" lorem.txt

commodo consequat. Duis aute irure dolor in reprehenderit in voluptate
Search for files in a directory hierarchy.

$ find hello*

Display amount of free and used memory in the system.

$ free

total used free shared buffers cached
Mem: 8299892 8287708 12184 0 2641772 1731236
Low: 3581300 3572764 8536
High: 4718592 4714944 3648
-/+ buffers/cache: 3914700 4385192
Swap: 8193140 2335664 5857476
Print lines matching a pattern.

$ grep -i apple fruitlist.txt

Outputs the user groups of which your account belongs to.

$ groups

games users
Output the first part of files.

$ head -2 lorem.txt

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim
Outputs the machines hostname on the network.

$ hostname

Outputs user id, group id, and groups of your account.

$ id

uid=1478(smallfoot) gid=100(users) groups=35(games),100(users)
End a process.

$ kill -9 18298

-bash: kill: (18298) - Operation not permitted
Kill processes by name.

$ killall irssi

irssi(18298): Operation not permitted
irssi(13372): Operation not permitted
irssi(22048): Operation not permitted
irssi: no process killed
Show listing of last logged in users.

$ last -n 3

alice pts/6 Fri May 18 16:17 still logged in
bob pts/2 Fri May 18 16:17 still logged in
clare pts/6 Fri May 18 15:54 - 15:55 (00:01)
Print shared library dependencies.

$ ldd /bin/bash => /lib/ (0x40023000) => /lib/ (0x40065000) => /lib/ (0x40069000)
/lib/ (0x40000000)
Make links between files.

$ ln -s data.txt symlink.txt
Print user's login name.

$ logname

List directory contents.

$ ls

copy_of_lorem.txt lorem.txt moo.txt www
Opens the manual page for a software or function.

$ man bash
Outputs the MD5 hash sum of a file.

$ md5sum lorem.txt

56da9e37259af34345895883e6fd1a27 lorem.txt
Makes a directory.

$ mkdir foobar
Moves a file.

$ mv lorem.txt ipsum.txt
Number lines of files.

$ nl lorem.txt

1 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
2 tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim
3 veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
4 commodo consequat. Duis aute irure dolor in reprehenderit in voluptate
5 velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint
6 occaecat cupidatat non proident, sunt in culpa qui officia deserunt
7 mollit anim id est laborum.
List symbols from object files.

$ nm hello_world

080494a0 D _DYNAMIC
08048474 R _IO_stdin_used
w _Jv_RegisterClasses
08049490 d __CTOR_END__
0804948c d __CTOR_LIST__
08049498 d __DTOR_END__
Dump files in octal and other formats.

$ od -t x /bin/sh

2376640 00098020 000054d4 00000000 00000000
2376660 00000020 00000000 000000c7 00000008
2376700 00000003 080e6500 0009d4f4 00004ae8
Find the process ID of a running program.

$ pidof fetchmail

Pings a host.

$ ping -c 2

PING ( 56(84) bytes of data.
64 bytes from icmp_seq=1 ttl=64 time=0.048 ms
64 bytes from icmp_seq=2 ttl=64 time=0.052 ms

--- ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.048/0.050/0.052/0.002 ms
Outputs running processes.

$ ps

21542 pts/12 00:00:00 bash
27706 pts/12 00:00:00 ps
Display a tree of processes.

$ pstree

| `-bash---ctorrent
| |-bash---vi
| |-2*[bash]
| `-bash---lynx
| `-irssi
| |-8*[sshd---sshd---bash]
| |-sshd---sshd---bash---screen
| |-sshd---sshd
| `-sshd---sshd---bash---pstree
Outputs the name of current working directory.

$ pwd

Removes a file or directory.

$ rm lorem.txt
Removes a directory.

$ rmdir foobar
Stream editor for filtering and transforming text.

$ echo "My cat's name is Bob" | sed -e 's/Bob/Mittens/g'

My cat's name is Mittens
Outputs the SHA1 hash sum of a file.

$ sha1sum lorem.txt

c942ddebd142ec8bacac9213d48096e74bab4957 lorem.txt
Bring the system down in a secure way. All logged-in users are notified that the system is going down.

$ shutdown now
List section sizes and total size.

$ size /bin/bash

text data bss dec hex filename
621233 22712 19176 663121 a1e51 /bin/bash
Outputs file status.

$ stat lorem.txt

File: `lorem.txt'
Size: 453 Blocks: 8 IO Block: 4096 regular file
Device: 77h/119d Inode: 27312217 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1478/smallfoot) Gid: ( 100/ users)
Access: 2007-03-03 12:24:39.000000000 +0000
Modify: 2007-03-03 12:24:39.000000000 +0000
Change: 2007-03-03 12:24:39.000000000 +0000
Print the strings of printable characters in files.

$ strings hello_world

Hello World!
Output the last part of files.

$ tail -2 lorem.txt

occaecat cupidatat non proident, sunt in culpa qui officia deserunt
mollit anim id est laborum.
Talk to another user.

$ talk bob Lookout for the dopefish!
Change a file's access and modification timestamps. If file does not exist, create it.

$ touch lorem.txt
Outputs the name of the current terminal.

$ tty

Outputs operating system, hostname, kernel version, date and timp, and processor.

$ uname -a

Linux 2.6.9 #1 SMP Wed Jul 19 16:24:18 MSD 2006 i686 Intel(R) Xeon(TM) CPU 2.80GHz GenuineIntel GNU/Linux
Outputs the system uptime.

$ uptime

14:50:26 up 7 days, 17:52, 18 users, load average: 0.08, 0.02, 0.01
Print the user names of users currently logged in to the current host.

$ users

alice bob charlie eve
List directory contents.

$ vdir

total 8
-rw-r--r-- 1 smallfoot users 453 Mar 3 12:32 copy_of_lorem.txt
-rw-r--r-- 1 smallfoot users 453 Mar 3 12:24 lorem.txt
-rw-r--r-- 1 smallfoot users 0 Mar 3 12:32 moo.txt
lrwxr-xr-x 1 root root 18 Feb 27 19:33 www -> /var/www/smallfoot
Show who is logged on and what they are doing.

$ w

12:14:30 up 5 days, 15:16, 19 users, load average: 0.00, 0.00, 0.00
charlie pts/0 Fri21 3:26m 2.52s 2.52s irssi
alice pts/2 Wed17 30:21m 0.00s 0.00s -bash
emma pts/4 11:37 36:57 0.00s 0.00s -bash
frank pts/5 11:48 11:03 0.00s 0.00s -bash
smallfoo pts/12 12:01 0.00s 0.04s 0.01s w
Send a message to everybody's terminal.

$ wall next week we change the server for a new one
Counts lines in a file.

$ wc -l lorem.txt

7 lorem.txt
Search the whatis database for complete words.

$ whatis bash

bash (1) - GNU Bourne-Again SHell
bash [builtins] (1) - bash built-in commands, see bash(1)
Outputs who is currently logged into the system.

$ who

charlie pts/0 Mar 2 21:37 (
alice pts/2 Feb 28 17:48 (
emma pts/4 Mar 3 11:37 (
frank pts/5 Mar 3 11:48 (
smallfoot pts/12 Mar 3 12:01 (
Locate the binary, source, and manual page files for a command.

$ whereis bash

bash: /bin/bash /etc/bash /usr/share/man/man1/bash.1.gz
Outputs your username / the name of your account.

$ whoami


Run Linux LiveCDs in Windows with MobaLiveCD

Want to try out a Linux distro but don't feel like switching from Windows, rebooting your computer, or installing a virtualization application like VirtualBox? MobaLiveCD is a Windows utility that lets you run any LiveCD in Windows without installing a thing. Just download and run MobaLiveCD.exe (which is a 1.4MB file), and select the ISO you want to run. Thanks to the magic of QEMU, you'll be able to run the Linux distro as a LiveCD in a window on your desktop. no reboot required.

Now, don't expect spectacular performance here. You're essentially running an operating system inside of another operating system, so things might be on the slow side. And it won't necessarily work with every host machine or every LiveCD. But at 1.4MB and with no installation needed, why not give it a try?

MobaLiveCD can also be installed to your hard drive, allowing you to launch LiveCDs via a right-click context menu. And you can create virtual hard drives to save data from your LiveCD sessions.


Aug 24, 2008

How to Install Squid Proxy Server

How to Install Squid Proxy Server

Certainly Squid server is a favourite open source GPLd proxy and web cache. It’s a variety of functions, from accelerating a web server by caching repeated requests, to caching web, name server query , and other network lookups for a group of people sharing network resources. It is mainly designed to run on Linux / Unix-like systems. Squid is a high-performance proxy caching server for Web clients, supporting FTP, gopher, and HTTP data objects. Unlike traditional caching software, Squid handles all requests in a single, non-blocking, I/O-driven technique. Squid maintains meta data and specially hot objects cached in RAM, caches DNS lookups, supports non-blocking DNS lookups, and implements negative caching of failed requests. Squid comprises of a main server program squid, a Domain Name System lookup program (dnsserver), a program for retrieving FTP data (ftpget), and a lot of management and client tools.

Here is the instruction on how to install Squid proxy server:

1. Download Squid Cache

You can download Squid at . There, you can see a lot of version of Squid. I prefer you to download the latest version. Here is the link for the latest version:

Note: If you want to download it directly from your server. Please use the following command:


2. Squid Cache Installation

To extract the downloaded compressed file, please use the following command:

tar -zxvf squid-3.0.STABLE8.tar.gz

this will create a directory named squid-3.0.STABLE8 at the current directory. Next, go into the directory:

cd squid-3.0.STABLE8

To build and install the Squid Cache, type:

./configure --prefix=/usr/local/squid
make all
make install

The command above will install squid in directory /usr/local/squid

3. Customize and Run Squid Cache

1. customize the squid.conf configuration file:
vi /usr/local/squid/etc/squid.conf

2. Initalise the cache:
/usr/local/squid/sbin/squid -z

3. start the cache:

Note: If you have problem to initialize the cache, please give the write permission (preferably chmod 777) for the specified directory.

Verify Squid Cache Installation

netstat -tulpn | grep 3128


tcp 0 0*

If you get the output above, you have successfully install Squid proxy server. :)

4. Client Configuration

Open a web browser > Tools > Internet option > Network settings > and setup Squid server IP address and port # 3128.

Good Luck!

Jul 15, 2008

Using TAR with Bunzip2 files

Bunzipping and then unTARring in two steps is not convenient.

It is not necessary to use Bunzip2 and then TAR to unzip a file in two separate steps.

Tar will do the job on its own if the -j switch is used, thus:

tar xjvf linux-source.tar.bz2

By the same token, you may use the -z switch with a gzipped file, e.g.

tar zxvf linux-source.tar.gz


Jul 9, 2008

All in one driver solution with DriverMax

Need to reinstall Windows but you misplaced your driver disks? Not sure you have everything you need? DriverMax has you covered. Backing up and reinstalling your drivers couldn't be easier.

After installing DriverMax, go into Driver Operations and click on Export drivers. A list of all your installed drivers will be displayed and you can pick and choose which ones to export, or simply export the whole lot in one go. Once you've reinstalled Windows, go back into Driver Operations, click on Import drivers, and point to the folder containing your saved drivers. The import can take a while, but in comparison to manually installing each driver individually, this is a walk in the park.

DriverMax is also useful even if you don't need to perform a complete reinstall - you can use the program just to make sure that your drivers are up to date or export a list of your installed drivers as an html or text file.

DriverMax is compatible with Windows 2003, XP and Vista and you have to supply your email address in order to receive a registration code.

Tags: drivers, export, import, installing, vista, xp

* Read
* Permalink
* Email this
* Share
* Comments [3]

Jun 25, 2008

How to Configure Samba on RedHat Linux

What's Samba?

Samba allows linux computers to share files and printers across a network connection. By using its SMB protocol, your linux box can appear in Windows Network Neighborhood or My Network Places just like any other windows machine. You can share files this way, as well as printers. By using samba on my home network, for example, my Windows machines have access to a printer directly hooked up to my Linux box, and my Linux box has access to a printer directly hooked up to one of my Windows machines. In addition, everyone can access everyone else's shared files. You can see how samba can be very useful if you have a network of both Windows as well as Linux machines.

Samba configurations are slightly different depending on the distribution you're using. Therefore, this tutorial explains how it's done on a RedHat Linux machine, as this is my distro of choice, and the only one I've ever installed samba on. The following method has been used by me on RedHat 7.2, 7.3, and 8.

Installing Samba

The first step to configuring samba is, obviously, to make sure that it's installed. In most cases, this will already be the case. It is often a good idea to install the samba daemon package with the RedHat installation.

You can test to see if samba is installed by typing rpm -q samba in a terminal. This performs a query on the samba package. If installed, it will indicate the version. If not, it will indicate "package not installed".

If samba is not currently installed, there are a multitude of places to get it. The RPM package is available on the RedHat CDs, on the RedHat network, or straight from or one of the samba mirror sites. In addition, you might wish to find it at, a nice resource for RPM packages.

Once you have the samba RPM package downloaded somewhere on your harddrive, it's time to install it. Browse to where the file is located and perform one of the following two operations:

if samba is not currently installed,
rpm -i samba.rpm
(replace samba.rpm with the full version name of the file)

if you wish to upgrade your samba version,
rpm -U samba.rpm

Now that samba is installed, we can work on configuring this program.

smb.conf file

All of samba is configured in one single file, the smb.conf file. This file, located at /etc/samba/smb.conf, allows you to specify which resources on the linux machine you wish to share and who they can be accessed by.

A fresh installation of samba will include a sample smb.conf file. This file is completely commented, pointing out all of your available options, and how you can change them. However, samba is an extremely powerful tool, and most casual users have no need for 3/4 of the contents of this sample file. Therefore, I'm providing my own smb.conf file below. If you wish to just share a few folders across a small home LAN, you might be better off basing your own smb.conf file off of mine, as opposed to the long-winded sample file.

workgroup = PUTIEVILLE
server string = My Lil Linux Box
hosts allow = 192.168. 127.
log file = /var/log/samba/%m.log
security = user
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

comment = Downloads
path = /home/windisk/Downloads
browseable = yes
writable = yes
public = yes
read only = no

comment = My Home Directory
browseable = yes
writable = yes
public = yes
read only = no

path = /var/spool/samba
public = yes
guest ok = yes
printable = yes
browseable = yes
writable = yes
read only = no

Samba Users

Since we're using user level security (the best option when connecting to a WinNT based machine, such as Windows 2000 or Windows XP), we need to set up samba users.

First, lets create the smbpasswd file that we defined in the smb.conf file. The best way to go about this is to create it based on your existing /etc/passwd file. In other words, samba users are created based on existing linux users:

cat /etc/passwd | > /etc/samba/smbpasswd

Chmod 600 this file (/etc/samba/smbpasswd) so that only root has read and write permissions.

However, this file only copies over Linux users to samba users. It doesn't copy over their passwords, as well. Therefore, use the following command to set each samba user's password:

smbpasswd username

Obviously, replace username with each of your user's usernames. You will then be prompted to enter a password for this user account. I like to set my samba user's passwords the same as their linux user counterparts. However, this isn't necessary.

Samba Service

Now that everything has been configured, the final step is to start the samba service. Samba runs in the background as a linux daemon. Therefore, it can be controlled by typing:

service smb start
service smb stop
service smb restart

Note that once the computer is restarted or shutdown, the samba service won't start up again the next time. I use the GUI (xwindows) program serviceconf to set up all my services to execute automatically.

Connecting To A Samba Resource

Now that everything should be working, let's test it out. We use the samba client to connect to a samba resource. For testing purposes, we can connect to localhost.

smbclient //localhost/Downloads

You must specify the name of the computer as well as the resource you wish to connect to. In this case, I can connect to the Downloads resource because I specified this resource in my smb.conf file (note it points to /home/windisk/Downloads).

Since you are using the samba client while already logged in as a linux user, you will only be prompted for a password. The username will be assumed to be the samba counterpart of the linux username you're currently logged in as.

If you wish, you can go to a Windows machine such as Windows XP. If you open My Network Places, and browse to your workgroup, your linux machine should be listed. When trying to access it, you should be prompted with a username and password. This can be any of the samba users you previously created. Once logged in, you should see a listing of all available resources available.