Skip to main content

Critical use of touch & chmod command

Critical use of touch & chmod command

When you think about touch command then you may ignore its importance sometime chmod command has no use for normal users.
But a critical use comes during the permission which is changed by chmod command and timestamp of a file using touch command.
What is critical case use of these commands?
The answer comes when you work with a large data and you may lost whole file just because of permission and timestamp.
When you archive or preserve permission and timestamp using rsync command for a file then rsync delete the unmatched case and recopy the files.
I case of cURL resume copy  files, the permission and timestamp is not same as original.
So when you update the folder with rsync then it delete the file and again copy the file which is already copied by cURL and deleted by rsync. This type of action taken by rsync will waste the time of cURL copy time.
So you need to update the original permission and timestamp of the given file.
Now for doing this, you need touch and chmod command in following way:-
$ touch copied_file -r original_file
$ chmod --reference original_file copied_file

Now you can safely use rsync with option -a and it will treat this file as rsync copied it.

Comments

Popular posts from this blog

AMD Graphic Driver (Radeon 6400 series) Install on Linux CentOS-6.2 x86_64 bit

Add-on in Dell vostro 3350 laptop for AMD Catalyst™
driver Radeon HD 6400 series graphic card in CentOS 6.2 x86_64 Linux
Step1: Update the CentOS with following packages
# yum install kernel-devel kernel-headers gcc gcc-c++

Now download the driver from the amd site http://support.amd.com/us/gpudownload/linux/Pages/radeon_linux.aspx

Step2: Now install AMD Graphic driver
#sh amd-driver-installer-12-4-x86.x86_64.run

Step3: check log file
#vim /usr/share/ati/fglrx-install.log

there will be an error like this

"ERROR: Module drm is in use by i915,drm_kms_helper"
.
.
"You must change your working directory to /lib/modules/fglrx
and then call ./make_install.sh in order to install the built module."

You can ignore these lines happily if they don’t contain any error message. You don’t really need to execute the command mentioned in those lines.

Step4: Blacklist radeon and radeonhd kernel modules

Add these lines to /etc/modprobe.d/blacklist.conf.

blacklist radeon
blacklist radeo…

Port forward of KVM Guest Virtual Machine through Host Machine using IPTABLE/FIREWALL in Linux System

Port forward of KVM Guest Virtual Machine through Host Machine using IPTABLE/FIREWALL in Linux System
There is a lot of method given in Internet for KVM guest machine port forwarding but I always look for the simple solution that can work in any Linux System.

I have issue during the port forward by IPTABLE/FIREWALL as it disable the Internet access within KVM guest machine.
If I look for Internet access within KVM guest machine then system disable port forwarding.

I have implement the simple solution in CentOS 6.5 x86_64 with can work in both situation as follows:

Step 1: Restart libvirtd service, so that it will modify your firewall rules as per KVM requirement.
# service libvirtd restart
Step 2: You need to add two rules in IPTABLE for NAT and FILTER
# iptables-save > iptable_save_default_libvirtd
# cp iptable_save_default_libvirtd iptable_modifed_libvirtd
# vim  iptable_modifed_libvirtd

Add line after *nat for SSH access

 -A PREROUTING -i eth0 -p tcp -m tcp --dport 222 -j DNA…

Yum command for download list of packages

Some time we need the download the software but not to install.
Also we have a list of software from repository in a text file but need to download by the yum.
To solve this kind of problem we need some trick of Linux,
download the package yum-downloadonly plugin
create a text file with rpm name.
now parse it to yum command
#yum install $(cat rpm-list.txt)

to download only the packages
#yum install <package name> --downloadonly --downloaddir=/home/user/

combine command
# yum install  $(cat rpm-list.txt) --downloadonly --downloaddir=/home/user

create a list from yum.log
#cp /var/log/yum.log /home/user/yum.log

select the package name only
# awk '{print $5}' /home/user/yum.log > rpm-list.txt

view the list
# cat rpm-list.txt

 to query about a package
# repoquery --list <package name>

to take information about package
#yum info <package name>

to show the list of packages
# yum list

to find a package for yum list
# yum list | grep <package name>