The versatility of the Linux command line is often underestimated. Tasks, such as sophisticated multimedia processing, need not be done with heavy GUIs that will run only on powerful machines.
The simple Linux command line can do it if you have MPlayer and the companion program mencoder installed on your machine.
mencoder is an extremely powerful program that can record analog and digital television, post-process recorded videos, apply various filters and so on. More information is available in the on-line man pages and HTML documentation that comes bundled with the source.
Here, we are faced with a simple task of converting a color movie to black and white. This line will do it for you:
$mencoder color-video.avi -o black-white-video.avi ↪-vf hue=0:0 -oac copy -ovc lavc
If you are interested in trying out various values for hue and saturation, you can invoke MPlayer with:
$mplayer -vf hue color-video.avi
Press and hold the 5 or 7 keys to reduce hue or saturation.
What follows are some very basic tips. For those who already know this information, I apologize if this insults your intelligence. However, I've looked over many a shoulder of very competent Linux users who still don't seem to know about these standard commands and techniques. If you're one of them, you may find this information extremely useful.
Almost everyone knows you can type cd ~ to get to the current user's home directory. This isn't a function of cd, but it takes advantage of the fact that the tilde is shorthand for your home directory. The command cd - (dash instead of tilde) is a function of cd, however. It takes you to the last directory where you were working before you switched to the current directory. It also prints out the old directory path. I, myself, have known about this command since the dark ages, but I still curse myself for forgetting to use it and typing out a long path name.
Don't Delete That Service Link
Most Linux distributions still use a directory, such as /etc/rc2.d, to store a number of symbolic links to boot startup files. You probably know that the order is determined by the number that follows the capital letter S. For example, S10acpid starts before S11klogd.
I have seen a number of administrators delete these links in order to disable services temporarily to test something. Then, they grumble when they have to figure out what startup number it used to have when they restore the link.
Don't delete the link; simply rename it. For example, rename S25bluetooth to s25bluetooth. The fact that it starts with a lowercase s will stop the bluetooth service from starting at the next boot. When you've determined that you want bluetooth back, simply rename it back to S25bluetooth. Sure, there are GUI programs to disable and enable services, but the command-line method is so simple. And remember, contrary to conventional wisdom, the lazy way to do something is often the best way.
I run lots of Linux distributions. If you do too, here's the way I install and manage them. If you have a better method, by all means, send it to firstname.lastname@example.org, and if we use it, you will receive $100 for the tip.
Create a single relatively small ext3-formatted boot partition on your drive that you will use as your master boot partition with GRUB as your bootloader. My partition is 100MB, and it's probably overkill.
This /boot partition will generally reside on the first drive on your system, but it doesn't have to. Install your first distribution with this partition. When everything is working, change the line in /etc/fstab that mounts the /boot partition to mount the partition as /mnt/boot instead. Create the mountpoint called /mnt/boot. Mount the boot partition there. For example:
umount /boot mkdir /mnt/boot mount /dev/sda1 /mnt/boot
Then, copy everything from that partition to what is now the local /boot directory for your distribution:
cp -a /mnt/boot/* /boot
At this point, you still should be able to boot the distribution you just installed, even though the kernel files are relocated. But, that won't last. You need to change part of your menu.lst to specify that the boot files now reside on the same partition as the rest of the distribution. For example, if you started with /boot on /dev/sda1 and / on /dev/sda2, modify your menu.lst file to use the new partition to find the kernel. Here's a sample original:
title Some Linux Distro root (hd0,0)
In our example, you'd change it to this:
title Some Linux Distro root (hd0,1)
This next part is a little tricky, and there are several ways to approach it. For example, you simply could make a copy of your grub/menu.lst file. However, I make a copy of the entire grub directory, because there are a variety of ways you can accidentally run into problems otherwise. Here's what I do next:
cd /mnt/boot cp -a grub grub.original
Now, install your next distribution of Linux in a new partition, but specify the same /boot partition you used to install the first distribution. Boot into the new distribution. Repeat the copy process above.
First, edit the /etc/fstab file to change the entry that mounts /boot to mount it as /mnt/boot. Then, do this:
umount /boot mkdir /mnt/boot mount /dev/sda1 /mnt/boot cp -a /mnt/boot/* /boot
Now, edit /mnt/boot/grub.original/menu.lst to include the boot commands for the new distribution. You can find the boot commands for the new distribution in /mnt/boot/grub/menu.lst. Don't forget to fix the root location again too. Assume that your second distribution is on /dev/sdb1 (the first partition of the second drive). In our example, you would change this:
title Second Linux Distro root (hd0,0)
|Non-Linux FOSS: libnotify, OS X Style||Jun 18, 2013|
|Containers—Not Virtual Machines—Are the Future Cloud||Jun 17, 2013|
|Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer||Jun 12, 2013|
|Weechat, Irssi's Little Brother||Jun 11, 2013|
|One Tail Just Isn't Enough||Jun 07, 2013|
|Introduction to MapReduce with Hadoop on Linux||Jun 05, 2013|
- Containers—Not Virtual Machines—Are the Future Cloud
- Non-Linux FOSS: libnotify, OS X Style
- Linux Systems Administrator
- Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer
- Validate an E-Mail Address with PHP, the Right Way
- Technical Support Rep
- Senior Perl Developer
- UX Designer
- Introduction to MapReduce with Hadoop on Linux
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?