Posts Tagged ‘Linux’
The Universally Unique Identifier can be used to identify a device independent form its mount point or device name.
This is more and more important as many devices today support hot-plugging or are external anyway.
Therefore it makes sense to access a device not by device name but by the UUID, especially in /etc/fstab.
There are a lot of way to get a device UUID, the first one is to check in your /dev/ directory, but not all Linux Distribution have it implemented (i.e. Debian),
to do so, execute the following commands :
ls -l /dev/disk/by-uuid
and you should have something similar :
lrwxrwxrwx 1 root root 10 Aug 29 04:20 015770bc-2c9b-4654-9087-af8bc9f163f3 -> ../../sdd1 lrwxrwxrwx 1 root root 10 Aug 29 04:20 1cf18ff6-2f6e-4eb3-97a5-fb6d3b4e346b -> ../../sde7 lrwxrwxrwx 1 root root 10 Aug 29 04:20 41c9b6af-86d9-4893-8502-4c0edb556986 -> ../../sde1 lrwxrwxrwx 1 root root 10 Aug 29 04:20 60a56eaa-8a3c-4d1f-8017-24af2905aebf -> ../../sde5 lrwxrwxrwx 1 root root 10 Aug 29 04:20 8ee89635-33cb-4a42-b488-26fdd2f293ad -> ../../sde2 lrwxrwxrwx 1 root root 10 Aug 29 04:20 91967f22-c1f3-436c-b769-ccd6fcc29e4e -> ../../sde8 lrwxrwxrwx 1 root root 10 Aug 29 04:20 c693372b-7147-4fb3-aaf7-edbf5f79f7f7 -> ../../sde6
Another way is to use the “blkid” command.
To do so, and to gain the UUID for your /dev/sda1, execute :
blkid /dev/sda1
and you should have something similar :
/dev/sda1: LABEL="root" UUID="41c9b6af-86d9-4893-8502-4c0edb556986" SEC_TYPE="ext2" TYPE="ext3"
Another tool (maybe a little more hidden) will be “vol_id”
On certain systems (i.e. Fedora or VMware ESX) you should find it in “/lib/udev/vol_id”, to use it execute the following :
/lib/udev/vol_id /dev/sda1
and you should have something similar :
ID_FS_USAGE=filesystem ID_FS_TYPE=ext3 ID_FS_VERSION=1.0 ID_FS_UUID=41c9b6af-86d9-4893-8502-4c0edb556986 ID_FS_LABEL=root ID_FS_LABEL_SAFE=root
When you got your devices UUID you should fill the /etf/fstab like the following, to avoid that other operations, for examples adding disks or volume, cause problems to your mounting process :
UUID=41c9b6af-86d9-4893-8502-4c0edb556986 / ext3 defaults 1 1
if you wonder how “unique” this UUID is, the following is a Wikipedia quote:
1 trillion UUIDs would have to be created every nanosecond for 10 billion years to exhaust the number of UUIDs.
Hope this help
Bye
Riccardo
Print This Post
Virtualization Technology (VT) is a set of enhancements to CPU that improve performance for running a virtual machine by offloading some of the work to the new cpu extensions. Both AMD and Intel have CPU that support this technology.
In some cases it will be very usefule to know if your system can handle it.
It will be very simple from a Linux system because you should only take a look to /proc/cpuino looking for one of the following value :
- vmx – (intel)
- svm – (amd)
You can use grep to quickly find if either value exists in the file by running the following command:
egrep ‘(vmx|svm)’ /proc/cpuinfo
If your system supports VT, then you’ll see vmx or svm in the list of flags.
My system has four quad core AMD processors, so I’ll find the following repeated from 16 times :
My system has two processors, so there are two separate sections:
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc rep_good nopl pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt
VT technology can still be disabled in your computer’s BIOS, however, so you’ll want to check there to make sure that it hasn’t been disabled. The flags in cpuinfo simply mean that your processor supports it.
VT is required to run 64-bit guests using Hypervisor like VMware Server or others similar products.
Hope this help
Bye
Riccardo
Print This Post
This post will explain how to create users and mailboxes for Zarafa.
I’ve tested it with CentOS 5.4 X86_64 and Zarafa 6.30.9 but it will fit with nearly all installation.
First of all you have to create a test file with all the users you want to create, providing the following information :
- username
- password
- email address
- name
- surname
For example :
johndoe password johndoe@example.com John Doe
janedoe password janedoe@example.com Jane Doe
Save the text file whatever you want.
The following is the shell script that read your text file and create all Zarafa users.
If you use the script, all the users will not be administrator, so you have to create manually and administrator.
#!/bin/bash # Written by Matteo Predieri - m.predieri_AT_damsistemi_DOT_it # Written by Riccardo Riva - r.riva_AT_damsistemi_DOT_it # # Simple and raw script to create zarafa users and mailboxes from a test file # # The full fill-in of the text file is mandatory # So fill in both "Name" and "Surname" with the following syntax # # username password email name surname # USERS_LIST=/tmp/userlists.txt ZARAFA_CMD=/usr/bin/zarafa-admin LOGFILE=/tmp/zara_user_creation.log echo "Zarafa User Creation Log" > $LOGFILE what="user"; for item in $( cat $USERS_LIST ); do if [ $what = "user" ]; then user=$item; what="passwd"; else if [ $what = "passwd" ]; then passwd=$item; what="email"; else if [ $what = "email" ]; then email=$item; what="name"; else if [ $what = "name" ]; then name=$item; what="surname"; else surname=$item; echo "Result in creating User: $user, with password: $passwd, with email address: $email with Full Name: $name $surname :" >> $LOGFILE FULLNAME="'$name $surname'" $ZARAFA_CMD -c $user -p $passwd -e $email -f "$FULLNAME" -a0 >> $LOGFILE echo -ne "-------------------------------\n" >> $LOGFILE what="user"; fi fi fi fi done # --- End of file ---
You’ve done.
Hope this help
Bye
Riccardo
Print This Post
Which Linux distribution is more suitable for you regarding your experience and preferences ?
find it at :
http://www.zegeniestudios.net/ldc/index.php?lang=en
Mine was 100% Debian / 100% Ubuntu
No surprises on that !
Bye
Riccardo
This pot will show some useful example on how to use the “grep” command to find an occurency in a Linux system.
Grep searches the input file (or files) for lines containing a match to a given pattern. Whe an occurency math it copies to standard input the line with the occurrency or you should rediret the output whatever you want.
You should simpy invoke grep with the following :
grep 'STRING' filename
The above is a very simple use f grep, infact it check only in a single file searching all the occurency for ‘STRING’.
You should also use it to find ‘STRING1 STRING2′ in all files in your current location, running ::
grep 'STRING1 STRING2' *
or if you want to make the same research on a given path (i.e. all files in /etc) you should use :
grep 'STRING1 STRING2' /etc/*
Notice the use of single quotes; This are not essential but in this example it was required since the name contains a space. Double quotes could also have been used in this example.
In case of too much occurency you should redirect the output o a file to make more comfortable the research, for example using :
grep 'STRING 1 STRING2" /etc/* > /tmp/grepresults.txt
The following is a simple list for Grep Regular Expression
grep can search for complicated pattern to find what you need using some special characters used to create a regular expression:
`.’ The period `.’ matches any single character.
`?’ The preceding item is optional and will be matched at most once.
`*’ The preceding item will be matched zero or more times.
`+’ The preceding item will be matched one or more times.
for example, a regular expression search would be :
grep "\<[A-Za-z].*" file
The search above will search for any word which begins with a letter upper or lower case.
For more details check :
man grep
Hope this help
Bye
Riccardo
Print This Post
Very often it happens that I must give support to a colleague or a customer on a Linux machine.
It’s very difficult to spell all bash command I will use to check which could be the problem, especially by phone.
When I discover “screen” it was a revelation.
With screen http://www.gnu.org/software/screen/screen.html you should share a linux session with other people.
You should use screen by simply ask to the user you want to assist to type on the console the following command :
screen
So if you can connect to the machine (even with ssh) you should run the following command :
screen -x
to share the same bash session.
Hope this help
Bye
Riccardo
Print This Post
The following is a simple script to monitor a Software Raid configuration on a Linux System.
It execute a /proc/mdstat check to search a ‘blocks_’ occurency which indicates problems on the Raid system and in case of match it notify the system administrator with a mail message.
It should be very useful for non-presidiated system, even if I always prefer Hardware Raid.
#!/bin/bash # # Script created by Riccardo Riva # http://www.riccardoriva.com # # It check a Software Raid subsystem and notify by mail any occurency problem # Define variable LOG_FILE=/tmp/raid-check.log SYSTEM=`uname --nodename` MAILTO='systemadmin@mail.exp' # Checking /proc/mdstat cat /proc/mdstat | grep 'blocks.*_' > $LOG_FILE # Define function in case of problems detected if [ $? -eq 0 ] then echo "The $SYSTEM system has RAID failures on it." >> $LOG_FILE echo "Below is the output from /proc/mdstat" >> $LOG_FILE echo "===========================================" >> $LOG_FILE cat /proc/mdstat >> $LOG_FILE echo "===========================================" >> $LOG_FILE cat $LOG_FILE | mail -s 'URGENT: RAID disk failure detected' $MAILTO fi # Deleting log file rm -f >> $LOG_FILE # Exit exit 0
Save the file above as /usr/local/bin/raidcheck.sh and assign to it correct permission and ownership with the folowing :
chmod 700 /usr/local/bin/raidcheck.sh chown root:nobody /usr/local/bin/raidcheck.sh
Change the email address variable with a real email address who will receive the notification.
You should now schedule the script execution at every time interval you want (i.e. twice a day, or hourly if you are paranoic).
Remember that is better to be paranoic that have a degraded system with unrecoverable data.
Hope this help
Bye
Riccardo
Print This Post
Hi all, the following will be a quick and dirt list of commands for use “dd” in a linux system for various task.
First of all you should create an Hard Disk Image, for example if you want to create an image of your /dev/sda device, you should have another disk (with a writable partition) (i.e. /dev/sdb) with a directory (i.e. /home mounted on it) and simply type :
dd if=/dev/sda of=/home/sda.bin
Or even a partition backup using the same disk device for source and destination like the following (if for example you have /home mounted on /dev/sda2) :
dd if=/dev/sda1 of=/home/sda1.bin
You should even create a compress image of the same disk above, using GZIP, simply type the following :
dd if=/dev/sda1 | gzip > /home/sda1.bin.gz
One of the most useful use of dd (it’s saved my life a lot of time) will be :
dd if=/dev/sda of=sda.boot.mbr bs=512 count=1
With the above command, you have backuped up your MBR (Master Boot Record) of your /dev/sda device and in case of disaster you should restore it, for example booting with a live CD using the following :
dd if=sda.boot.mbr of=/dev/sda bs=512 count=1
You should also create a manual RAID1 between two disk by executing the followinf script with a cron job :
#!/bin/sh # LOG="/var/log/mirror.log" ADMIN="yourmail@yourprovider.ext" ERROR=0 echo `/bin/date` >$LOG 2>&1 /bin/dd if=/dev/sda of=/dev/sdb bs=1M >>$LOG 2>&1 ERROR=$? echo `/bin/date` >>$LOG 2>&1 if [ $ERROR -ne 0 ]; then cat $LOG | /bin/mail -s "Report mirror `uname -n`" $ADMIN fi
The above sript will copy the entire /dev/sda to /dev/sdb logging the process and send an email to your email address at the end for debug and monitoring purpose.
If the first hard disk (/dev/sda) fail, you should phisicaly umount it, and subsitute it with /dev/sdb then reboot the system.
Hope this help
Bye
Riccardo
Print This Post
This simple post will show how to configure Ethernet Bonding on two (or more) network interfaces on RHEL 5 or CentOS 5.
I’ve tested this configuration on a CentOS 5.2 with kernel 2.6.18-92.1.22.el5 as you could see below :
uname -a Linux serverlab.riccardoriva.local 2.6.18-92.1.22.el5 #1 SMP Tue Dec 16 11:57:43 EST 2008 x86_64 x86_64 x86_64 GNU/Linux cat /etc/redhat-release CentOS release 5.2 (Final)
If you want to create a bonding on two interface (i.e. eth0 and eth1) you should do the following :
Edit /etc/sysconfig/network-scripts/ifcfg-eth0
# Bonding eth0 to bond0 DEVICE=eth0 BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes USERCTL=NO
Edit /etc/sysconfig/network-scripts/ifcfg-eth1
# Bonding eth1 to bond0 BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes USERCTL=NO
Copy /etc/sysconfig/network-scripts/ifcfg-eth1 to /etc/sysconfig/network-scripts/ifcfg-bond0 to keep the same file permission by executing the following commands :
cd /etc/sysconfig/network-scripts copy ifcfg-eth1 ifcfg-bond0
Edit /etc/sysconfig/network-scripts/ifcfg-bond0
ifcfg-bond0 DEVICE=bond0 BOOTPROTO=none ONBOOT=yes NETWORK=10.100.100.0 NETMASK=255.255.255.0 IPADDR=10.100.100.1 USERCTL=NO
Edit /etc/modprobe.conf adding the following line :
alias bond0 bonding
Reboot your system to let modules be loaded or load it manually with the following command :
insmod bond0 bonding
If you haven’t rebooted your system, restart your network with the following command :
/etc/init.d/network restart
You should check if bonding is working you should look at /proc/net/bonding/bond0 with the following command :
cat /proc/net/bonding/bond0
and you should see something similar to the following :
Ethernet Channel Bonding Driver: v3.2.4 (January 28, 2008) Bonding Mode: load balancing (round-robin) MII Status: up MII Polling Interval (ms): 0 Up Delay (ms): 0 Down Delay (ms): 0 Slave Interface: eth0 MII Status: up Link Failure Count: 0 Permanent HW addr: 00:15:17:88:5a:3c Slave Interface: eth1 MII Status: up Link Failure Count: 0 Permanent HW addr: 00:15:17:88:5a:3d
You’ve done
Hope this help
Bye
Riccardo
Print This Post
I’m using this script in a lot of Linux Server, especially some file server with a little ERP software written in COBOL with all files in /home/erp.
I’m saving all /home and /etc to have a full backup for disaster recovery purpose.
This scrit will do the following :
- Define variables
- Define DATE
- Create a compress archive of /home and /etc
- Rewind the TAPE
- Write all the data on TAPE
- Verify the TAPE
- Eject the TAPE
Obviously all the output of the above operations will be redirected to a log file fr diagnostic purpose.
- Mail all logged operations to the Server admin
The only prerequisites for let all works is “mail” packages installed on your system and a local mail server configured for routing mail to your “Server Admin” email address, I’m using Postfix, but you coul’d use whatever you want (eg. QMail or EXIM).
Read the rest of this entry »
In some situation you may want to avoid loading a Linux driver module automatically . For example:
- In some cases buggy driver causes kernel BUG or system fault on load so you just want to avoid the problem.
- If your system connected without a diskette / floppy drive; kernel will try to load floppy driver – disable floppy driver or module.
The Linux kernel get module information on boot from /etc/modprobe.conf file and /etc/modprobe.d/* file(s).
If you are using RHEL or CentOS do the following :
open your /etc/modprobe.conf file and turn of auto loading using following syntax:
alias driver-name off
If you are using Debian or Ubuntu do the following :
open /etc/modprobe.d/blacklist file and add driver name using following syntax:
blacklist driver-name
Reboot your system and use lsmod command to show the status of modules in the Linux Kernel.
Hope this help
Bye
Riccardo
Print This Post
The following wuold be a simpe example to define a function in a bash shell script.
You should use it to execute the same set of command more time in a single shell script simply calling the function name and avoiding to type it all the time.
The following is a very simple example :
</pre>
#!/bin/sh
# Start define function "function01"
# Function name
function01 ()
# Function content
{
# Put the content here
}
# Stop define function
# insert whatever you want here
# call function
function01
# insert whatever you want here
# call function
function01
<pre>
Hope this help
Bye
Riccardo
Print This Post
This post will explain how to do create a VMware ESXi bootable USB pen drive, note that it will not be an installer, but a live system running on an USB drive.
First of all you should use it for testing hardware systems for compatibility, avoiding to install the hypervisor on the system, or you can use it to play (as I’m doing) with it on your notebook or desktop.
The following is the two procedure to follow to create it based on Linux and Windows operating systems :
This post will assume you’ve already have an ISO image of the latest VMware ESXi hypervisor on your system, if you don’t have it, please download it for free at http://www.vmware.com
Linux :
Locate the ISO image.
Mount it in a directory on your system (if you don’t know how, look here : http://www.riccardoriva.com/archives/64) and extract the file you need with the following commands :
sudo mkdir /tmp/iso
sudo mount -o loop -t iso9660 VMware-VMvisor-InstallerCD-3.5.0_Update_4-153875.i386.iso /tmp/iso/
sudo cp /tmp/iso/install.tgz /tmp/
sudo umount /dev/loop0
sudo tar -xzvf /tmp/install.tgz usr/lib/vmware/installer/VMware-VMvisor-big-3.5.0_Update_4-153875.i386.dd.bz2
cd /tmp/usr/lib/vmware/installer/
sudo bunzip2 VMware-VMvisor-big-3.5.0_Update_4-153875.i386.dd.bz2
Now insert your USB Pen Drive (at least 2 GB) in your system and locate it (tipically /dev/sdb).
Copy to it the image with the following command :
sudo dd if=/tmp/usr/lib/vmware/installer/VMware-VMvisor-big-3.5.0_Update_4-153875.i386.dd of=/dev/sdb BS=1M
Umount your en Drive
sudo umount /dev/sdb
Reboot your system and check your BIOS configuration for enabling “Boot from USB devices”, and check if something goes wrong.
Windows :
For windows system you should need two free software (portable) to do all works :
7-Zip Portable : http://portableapps.com/apps/utilities/7-zip_portable
DD For Windows : http://www.chrysocome.net/dd
Open the ISO file with 7zip, locate “install.tgz” and open it, locate “install.tar” and open it,
locate the folder “\usr\lib\vmware\installer\”, locate the fle : “VMware-VMvisor-big-3.5.0_Update_4-153875.i386.dd.bz2″ and open it.
Extract the file “VMware-VMvisor-big-3.5.0_Update_4-153875.i386.dd” in a temporary directory of your system (i.e. C:\temp).
Insert your pen drive (at least 2 GB) on your system and wait a couple of seconds.
Check the device ID of your pen drive using DD for Windows (by opening a command prompt on the DD directory) with the following comand :
dd –list
Then use the following syntax to copy the dd image on your removable device :
dd bs=1M if=VMware-VMvisor-big-3.5.0_Update_4-153875.i386.dd of=\\?\Device\Harddisk1\Partition0 –progress
You’ve done
Hope this help
Bye
Riccardo
Print This Post
This post will explain how to install a package from a source file (i.e. source.tar.gz) with Ubuntu. It doesn’t mean which version of Ubuntu in use.
You should use the following for most Linux distribution, avoiding to use “sudo” if you haven’t it or if you have root privilege.
Make sure you have all the necessary development tools (i.e. libraries, compilers, headers), if you are in doubt, you should execute the following commands :
sudo apt-get install build-essential
sudo apt-get install linux-headers-`uname -r`
Important Note: “uname -r” lists the current kernel you are using and used in the command above will install the correct “kernel-headers” related to your running kernel.
Extract the archive that contains the source files, for example if you have a “.tar.gz” archive you should use :
tar -xzvf archivename.tar.gz
Build the package using the package’s script (in the example below the configure script), compile the package (make), and install the compiled package into your system (make install):
cd /path/to/extracted/sourcefiles
sudo ./configure
sudo make
sudo make install
If you get a “permission denied” error when trying to execute the binary, this means that the file is not flagged to be executable.
To fix this you should run the following :
sudo chmod +x filename
You’ve done.
Hope this help
Bye
Riccardo
Print This Post
This post will explain how to upgrade your Ubuntu system from Intrepid Ibex (8.10) to Jaunty Jackalope (9.04) using only command line.
I prefer this way instead update manager because it gives me more information on how happens and because I prefer to run these operations without any desktop environment running.
The following procedure is working on Ubuntu and Ubuntu-Server and I’ve tested both on my production systems, so I’m pretty sure you should not have any problems.
Let’s start update :
Install update-manager-core if it is not already installed by running the following :
sudo apt-get install update-manager-core
Edit /etc/update-manager/release-upgrades and set:
Prompt=normal
Launch the upgrade tool:
sudo do-release-upgrade
Follow the on-screen instructions.
Hope this help
Bye
Riccardo
Print This Post
This post will explain how to configure a quick and dirt RDP client, like a thin client, with an OLD Computer and Ubuntu.
You should use Ubuntu Desktop and even very old hardware.
I’ve tested on PC with Pentium3 Processor and 256 MB RAM with succesfull.
For this configuration I’ve created a simple shell script who establish the RDP connections and at the end of it shutdown the system.
For doing it do the following :
Install Ubuntu Desktop (from 7.04 to 9.10) on your system and configure networking.
Create a file with the folowing content and save it as /usr/local/bin/TS.sh
#!/bin/bash
rdesktop your.terminal.server.ip -u username -d yourADdomain -f -b -N -n localhostname -k it -a 16
/usr/bin/sudo /sbin/shutdown -h now
Assign it correct ownership and permission :
chown root:nobody /usr/local/bin/TS.sh
chmod 755 /usr/local/bin/TS.sh
Create a link in your /home/username/.config/autostart with the following command :
ln -s /usr/local/bin/TS.sh TSAutostart
Modify your /etc/sudoers as the following :
# User privilege specification
root ALL=(ALL) ALL
ubuntu ALL=NOPASSWD: ALL
Reboot you system and login with user “username”, you will see an RDP connections opened to your.terminal.server.ip and when you disconnect your machine from TS it will shutdown.
Hope this help
Bye
Riccardo
Print This Post
Ubuntu 9.04 (AKA Jaunty Jackalope) is here.
I’ve just tried it with the beta and release-candidate versions and it seems very good.
I’m downloading it now,and I’m hoping to have the time to stress it and to test it in the next few days.
All of you want to try it, should download it from Ubuntu WebSite at http://www.ubuntu.com/getubuntu/download .
The next version of Ubuntu will be published on October an will be 9.10 AKA Karmic Koala.
Great Work from Canonical !
In this post I am going to talk about a very particular piece of hardware, unique on the market at this moment and that should be very useful for virtualization or clustering purpose, with a very low budget.
This product is called DamVirtualOne.
DamVirtualOne is a modular server (not a Blade) and have some very interesting feature :
- Fully redundant hot swap power supply.
- Fully redundant hot swap Gigabit ethernet switches with failover.
- Fully redundant hot swap storage controller, with multipathing and failover support.
- Up to six (6) compute module double socket (for Intel Xeon 5400 or 5500 CPU family).
- Up to 96GB of RAM each compute module.
- Up to 14 HDD SAS.
- Up to two redundant external SAS connection to storage expansion or SAS device connection (i.e. Tape Unit).
But the more important things that lead me to write this post is that storage is shared between the compute module, but not as other Blade Server on the market right now, with DamVirtualOne you should create a Virtual Disk (similar to a SAN LUN) and share it between all compute module if you need it.
At this time only IBM Blade Center S should have the same possibility, but it’s a Blade server, not a modular server, and there is a big price difference.
I had the luck to test the DamVirtualOne for few days (a lot) and I’ve installed the following :
- VMware ESXi 3.5
- VMware ESX 3.5
- Red Hat Enterprise Linux 5.3
- Microsoft Windows Server 2003
- Microsoft Windows Server 2008
I’ve created some fully function, and very performance VMware HA and DRS Cluster, and some Linux Cluster based on RHEL, and a large number of my previous post was written based on the installation above.
The standard server virtualization or clustering best practices require shared storage to use all benefits of the technology and this lead to buy SAN, Storage array (tipically Fibre Channel) who is very expensive, difficult to maintain and create a very complex infrastructure.
So you should know why I’m so excited about DamVirtualOne, because it’s a “single package” that contains all things you need for virtualization or clustering purpose : servers, storage and network a real datacenter all in one.
With the maximum configuration this machine should support up tp two hundred (200) Virtual Machine !! And his price will be very similar to two or three phisical server (as you are useful to see) and a shared storage, so you should understand that is a beautiful “piece of iron”.
I truly believe that modular server is sometimes under valuated, but in my opinion there is an enormous potential in it and it will be beautiful if this post lead some people to find out a solution, cheaper than other more famous one, using this piece of technology.
You should found more details about DamVirtualOne at the following websites.
Feel free to ask, they will answer you !
Riccardo
Print This Post
This post will assume you just have a fully functional working mail server and you want do download all emails from some mailboxes located on another mail server, tipically located on your service provider’s one.
This post guide will guide you to install and configure fetchmail and use it with your RHEL 5 or newer, you should use all the following information also with CentOS without change any line, but you shoud adapt it to every Linux distribution.
Most likely you want to setup fetchmail to download your domain mailbox over pop3 and inject into Postfix (or whatever you use as MTA).
To install fetchmail use the following :
yum install fetchmail -y
You should decide how to use fetchmail :
* as a daemon
* as a cron scheduled task
bchunk converts a CD/DVD image in a “.bin / .cue” format (sometimes “.raw / .cue”) to a set of .iso and .cdr tracks. The bin/cue format is used by some non-Unix cd-writing software (i.e. old Nero Burning Rom version) , but is not supported on most other cd-writing programs.
image.bin is the raw cd image file. image.cue is the track index file containing track types and offsets. basename is used for the beginning part of the created track files.
The produced .iso track contains an ISO file system, which can be mounted through a loop device on Linux/Unix systems, or written on a CD-R using cdrecord or your preferred burning software (I love Brasero). The .cdr tracks are in the native CD audio format. They can be either written on a CD-R using cdrecord -audio, or converted to WAV (or any other sound format for that matter) using sox.
To install BCHUNK on Ubuntu use :
sudo apt-get install bchunk
To convert .cue and .bin files, navigate to the folder and run this command (replacing filenames with your own):
bchunk file.bin file.cue outputfile.iso
After the file is converted into ISO you can mount it using:
sudo mount -o loop outputfile.iso /whatever/you/want
Navigate to /whatever/you/want and you should see the content. You can then copy it anywhere, mount it in a Virtual Machine or burn it with a burning software.
Obviously, this works for both CD and DVD images, but if you burn it you mut choose the appropriate media.
Hope this help
Bye
Riccardo
Print This Post























