Kamis, 21 Januari 2010

Merubah tanggal system di linux

Tanggal komputer sering kali salah, untuk melakukan perubahan caranya yaitu :

* cek tanggal sekarang

# date
Tue Sep 7 11:48:37 EDT 2009

* Ganti tanggal menjadi 8 September 2009

# date +%Y%m%d -s 20090908
20090908

hasilnya jika di cek yaitu : Tue Sep 8 00:00:02 EDT 2009
ternyata jamnya menjadi 00

* Ganti jam menjadi 11:50:00

# date +%T -s 11:50:00
11:50:00

hasilnya jika di cek yaitu : Tue Sep 8 11:50:10 EDT 2009
jam dan tanggal sudah benar, akan tetapi timezone mash salah
default masih EDT

* Ganti time zone ke WIB atau bahasa inggrisnya WIT (West Indonesian Time)

1. Data zone disimpan di file /etc/localtime
2. Data zona selengkapnya disimpan di /usr/share/zoneinfo/nama kota, sehingga kalai untuk Jakarta filenya yaitu /usr/share/zoneinfo/Asia/Jakarta
3. ganti file /etc/localtime agar sama dengan file di point ke 2

# mv /etc/localtime /etc/localtime.old
# ln -s /usr/share/zoneinfo/Asia/Jakarta /etc/localtime

hasilnya jika di cek yaitu : Tue Sep 8 23:52:40 WIT 2009

ternyata hasil jamnya malah salah, jadi disesuaikan lagi

# date +%T -s 11:52:00

hasilnya jika dicek yaitu : Tue Sep 8 11:52:02 WIT 2009

* sesuaikan jam system linuk dengan jam komputer (Hardware)

1. system akan melakukan penyesuaian dengan jam komputer saat startup
2. untuk melihat jam komputer dengan perintah “hwclock”
3. untuk merubah jam komputer agar sesuai dengan sistem dengan perintah “hwclock –systohc”

# hwclock
Tue 07 Sep 2009 12:25:27 PM WIT -0.126089 seconds

# hwclock –systohc

cek hasilnya :

# hwclock
Tue 08 Sep 2009 12:25:27 PM WIT -0.126089 seconds
# date
Tue Sep 8 12:25:28 WIT 2009

Install ARJ di Linux Centos

Download file ARJ disini

extract file arj :
# tar zxvf arj-3.10.22.tar.gz

masuk kedalam dir extrakan arj

[root@tester src]#cd arj-3.10.22/gnu

[root@tester gnu]# autoconf
[root@tester gnu]# ./configure
setelah selesai kembali ke direktori arj

# cd ..

lakukan make prepare
[root@tester arj-3.10.22]# make prepare
[root@tester arj-3.10.22]# make
[root@tester arj-3.10.22]# make install

Kamis, 07 Januari 2010

10 UNIX Command Line Mistakes

10 UNIX Command Line Mistakes


Anyone who has never made a mistake has never tried anything new. -- Albert Einstein.

Here are a few mistakes that I made while working at UNIX prompt. Some mistakes caused me a good amount of downtime. Most of these mistakes are from my early days as a UNIX admin.

userdel Command

The file /etc/deluser.conf was configured to remove the home directory (it was done by previous sys admin and it was my first day at work) and mail spool of the user to be removed. I just wanted to remove the user account and I end up deleting everything (note -r was activated via deluser.conf):
userdel foo

Rebooted Solaris Box

On Linux killall command kill processes by name (killall httpd). On Solaris it kill all active processes. As root I killed all process, this was our main Oracle db box:
killall process-name

Destroyed named.conf

I wanted to append a new zone to /var/named/chroot/etc/named.conf file., but end up running:
./mkzone example.com > /var/named/chroot/etc/named.conf

Destroyed Working Backups with Tar and Rsync (personal backups)

I had only one backup copy of my QT project and I just wanted to get a directory called functions. I end up deleting entire backup (note -c switch instead of -x):
cd /mnt/bacupusbharddisk
tar -zcvf project.tar.gz functions

I had no backup. Similarly I end up running rsync command and deleted all new files by overwriting files from backup set (now I’ve switched to rsnapshot)
rsync -av -delete /dest /src
Again, I had no backup.

Deleted Apache DocumentRoot

I had sym links for my web server docroot (/home/httpd/http was symlinked to /www). I forgot about symlink issue. To save disk space, I ran rm -rf on http directory. Luckily, I had full working backup set.

Accidentally Changed Hostname and Triggered False Alarm

Accidentally changed the current hostname (I wanted to see current hostname settings) for one of our cluster node. Within minutes I received an alert message on both mobile and email.
hostname foo.example.com

Public Network Interface Shutdown

I wanted to shutdown VPN interface eth0, but ended up shutting down eth1 while I was logged in via SSH:
ifconfig eth1 down

Firewall Lockdown

I made changes to sshd_config and changed the ssh port number from 22 to 1022, but failed to update firewall rules. After a quick kernel upgrade, I had rebooted the box. I had to call remote data center tech to reset firewall settings. (now I use firewall reset script to avoid lockdowns).

Typing UNIX Commands on Wrong Box

I wanted to shutdown my local Fedora desktop system, but I issued halt on remote server (I was logged into remote box via SSH):
halt
service httpd stop

Wrong CNAME DNS Entry

Created a wrong DNS CNAME entry in example.com zone file. The end result - a few visitors went to /dev/null:
echo 'foo 86400 IN CNAME lb0.example.com' >> example.com && rndc reload

Failed To Update Postfix RBL Configuration

In 2006 ORDB went out of operation. But, I failed to update my Postfix RBL settings. One day ORDB was re-activated and it was returning every IP address queried as being on its blacklist. The end result was a disaster.

Conclusion

All men make mistakes, but only wise men learn from their mistakes -- Winston Churchill.

From all those mistakes I’ve learnt that:

  1. Backup = ( Full + Removable tapes (or media) + Offline + Offsite + Tested )
  2. The clear choice for preserving all data of UNIX file systems is dump, which is only tool that guaranties recovery under all conditions. (see Torture-testing Backup and Archive Programs paper).
  3. Never use rsync with single backup directory. Create a snapshots using rsync or rsnapshots.
  4. Use CVS to store configuration files.
  5. Wait and read command line again before hitting the dam [Enter] key.
  6. Use your well tested perl / shell scripts and open source configuration management software such as puppet, Cfengine or Chef to configure all servers. This also applies to day today jobs such as creating the users and so on.

Referensi from www.cyberciti.biz

How to Compile Linux kernel 2.6

How to: Compile Linux kernel 2.6


Compiling custom kernel has its own advantages and disadvantages. However, new Linux user / admin find it difficult to compile Linux kernel. Compiling kernel needs to understand few things and then just type couple of commands. This step by step howto covers compiling Linux kernel version 2.6.xx under Debian GNU Linux. However, instructions remains the same for any other distribution except for apt-get command.

Step # 1 Get Latest Linux kernel code

Visit http://kernel.org/ and download the latest source code. File name would be linux-x.y.z.tar.bz2, where x.y.z is actual version number. For example file inux-2.6.25.tar.bz2 represents 2.6.25 kernel version. Use wget command to download kernel source code:
$ cd /tmp
$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-x.y.z.tar.bz2

Note: Replace x.y.z with actual version number.

Step # 2 Extract tar (.tar.bz3) file

Type the following command:
# tar -xjvf linux-2.6.25.tar.bz2 -C /usr/src
# cd /usr/src

Step # 3 Configure kernel

Before you configure kernel make sure you have development tools (gcc compilers and related tools) are installed on your system. If gcc compiler and tools are not installed then use apt-get command under Debian Linux to install development tools.
# apt-get install gcc

Now you can start kernel configuration by typing any one of the command:

  • $ make menuconfig - Text based color menus, radiolists & dialogs. This option also useful on remote server if you wanna compile kernel remotely.
  • $ make xconfig - X windows (Qt) based configuration tool, works best under KDE desktop
  • $ make gconfig - X windows (Gtk) based configuration tool, works best under Gnome Dekstop.

For example make menuconfig command launches following screen:
$ make menuconfig

You have to select different options as per your need. Each configuration option has HELP button associated with it so select help button to get help.

Step # 4 Compile kernel

Start compiling to create a compressed kernel image, enter:
$ make
Start compiling to kernel modules:
$ make modules

Install kernel modules (become a root user, use su command):
$ su -
# make modules_install

Step # 5 Install kernel

So far we have compiled kernel and installed kernel modules. It is time to install kernel itself.
# make install

It will install three files into /boot directory as well as modification to your kernel grub configuration file:

  • System.map-2.6.25
  • config-2.6.25
  • vmlinuz-2.6.25

Step # 6: Create an initrd image

Type the following command at a shell prompt:
# cd /boot
# mkinitrd -o initrd.img-2.6.25 2.6.25

initrd images contains device driver which needed to load rest of the operating system later on. Not all computer requires initrd, but it is safe to create one.

Step # 7 Modify Grub configuration file - /boot/grub/menu.lst

Open file using vi:
# vi /boot/grub/menu.lst

title           Debian GNU/Linux, kernel 2.6.25 Default
root (hd0,0)
kernel /boot/vmlinuz root=/dev/hdb1 ro
initrd /boot/initrd.img-2.6.25
savedefault
boot

Remember to setup correct root=/dev/hdXX device. Save and close the file. If you think editing and writing all lines by hand is too much for you, try out update-grub command to update the lines for each kernel in /boot/grub/menu.lst file. Just type the command:
# update-grub
Neat. Huh?

Step # 8 : Reboot computer and boot into your new kernel

Just issue reboot command:
# reboot

referensi from www.cyberciti.biz