Posts tagged script

RRDTOOL bermasalah ketika ganti arsitektur

Jadi ceritanya gini, si mirror ganti system dan arsitektur. Semula mesin menggunakan system i386 kemudian ganti ke system 64bit. Nah salah satu fitur mirror adalah adanya monitoring paket (Sedot Sampe Tua!), denganya kita dalap melihat kapasitas arsip suatu repository. contohnya silakan buka http://mirror.unej.ac.id/status/size.html disitu kita akan nelihat perkembangan banyaknya hardisk yang dipakai repository suatu paket.

Nah setelah ganti sistem ada masalah yang sedikit mengganggu, yaitu file rrd tidak bisa di produksi lagi oleh monitoring paket (sedot). ada log yang mengatakan gini:

ERROR: This RRD was created on another architecture
ERROR: This RRD was created on another architecture
ERROR: This RRD was created on another architecture
ERROR: This RRD was created on another architecture
ERROR: This RRD was created on another architecture
ERROR: This RRD was created on another architecture

ini menandakan kalau berkas rrd tidak bisa di produksi lagi bukan? ya kalau menurut tulisan diatas karena file rrd sebelumnya di produksi oleh system dengan arsitektur yang berbeda. nah bagaimana pemecahanya?

baiklah ambil contoh sedot di simpan di /home/sedot maka file rrd akan disimpan di /home/sedot/mirror-size/. nah hasil temuan google mengharuskan saya membaca tulisan ini. kemudian dari situ dapat saya asumsikan bahwa berkas rrd harus di compile ulang! untuk prosesinya saya menggukaan script bash/shell.

#!/bin/bash

BASE=/home/sedot/mirror-size/

for i in `ls $BASE -all | grep .rrd | sed -e "s/.rrd/ /g" | cut -b 47-80`;
        do
        /usr/bin/rrdtool dump $BASE/$i.rrd > $BASE/$i.xml
 /bin/rm $BASE/$i.rrd
 /usr/bin/rrdtool restore -r -f $BASE/$i.xml $BASE/$i.rrd
        done
exit 0

nah silakan simpan script diatas ke sebuah berkas dan eksekusi… dan SIMSALABIM!

Debian PNG

Gampang kan?

Silakan lihat juga di sini https://bugs.edge.launchpad.net/sedot/+bug/320593

Membuat daftar paket pribadi

paket-paket binary yang telah kita unduh dalam instalasi atau koleksi dapat kita bangun ulang untuk di buat mirror pribadi. ini sangat berguna apabila kita miskin bandwith atau kita ingin membagikan update paket terbaru di repository. bagaimana caranya?

oke silakan buat folder di manapun anda suka (saya menggunakan ~/repo

$ mkdir ~/repo

kemudian salin paket-paket yang ada di /var/cache/apt/archives/

$ cd ~/repo
$ mkdir pool
$ cp /var/cache/apt/archives/*.deb pool/

kemudian buat folder dists, nama distro yang akan anda namai, dan komponen nya, saya menggunakan nama koleksi sebagai distro dan extra untuk komponennya.

$ mkdir dists
$ mkdir dists/koleksi
$ mkdir dists/koleksi/extra/
$ mkdir dists/koleksi/extra/binary-i386

oke setalah itu…

$ pwd
/home/udienz/repo

$ dpkg-scanpackages pool /dev/null > Packages && gzip -9c Packages >Packages.gz && bzip2 Packages > Packages.bz2

kemudian pindahkan ke direktory dists/koleksi/extra/binary-i386/

$ mv Packages dists/koleksi/extra/binary-i386
$ mv Packages.gz dists/koleksi/extra/binary-i386
$ mv Packages.bz2 dists/koleksi/extra/binary-i386

dan tambahkan ke sources.list anda

$ echo 'deb file:///media/udienz/repo koleksi extra' >> /etc/apt/sources.list
$ apt-get update

selesai

untuk kemudahan scanning paket saya sertakan file buatan saya

========== start ===========

 #!/bin/bash
# script untuk scan paket debian/ubuntu
# perhatian! tolong pindahkan semua file .deb di direktory $BASE/pool yah
DPKG=/usr/bin/dpkg-scanpackages

# cek dpkg nya
if test -e  $DPKG;
    then
    # this is most important :p
    echo "Debian/Ubuntu scanning packages for own repository"
    echo "Created by Mahyuddin Susanto aka udienz"
    echo "udienz@debian-id.org http://udienz.wordpress.com"
    echo "Use Your Own Risk"
else
    echo "Currently, package dependency is not installed on your system, please install first"
    echo "using apt-get install dpkg-dev"
    exit 1
fi

echo "whese is the local directory who have a local package?"
read BASE

if test -d $BASE/pool;
    then EXISTS="yes"
else
    echo "it seems you don't have pool directory, create first!"
    exit 1
fi

echo "please insert your distro name? ie gutsy"
read BUILD

echo "please insert your section name? ie private/non-free"
read SERI

# checking direcoty, if exits it will jump to another proses
if test -d $BASE/dists/$BUILD;
    then EXISTS="yes"
else
    mkdir $BASE/dists/$BUILD
fi

if test -d $BASE/dists/$BUILD/$SERI;
    then EXISTS="yes"
else
    mkdir $BASE/dists/$BUILD/$SERI
fi

# hm... just i386 eh!
if test -d $BASE/dists/$BUILD/$SERI/binary-i386;
    then EXISTS="yes"
else
    mkdir $BASE/dists/$BUILD/$SERI/binary-i386
fi

# pindah ke direktory yang ada paketnya
cd $BASE

echo "please insert location at directory wehre it scanned, starting with pool"
echo "if you want scan at pool direcory just wrote pool"
read SOURCE

#lets scan the packages!
$DPKG $SOURCE /dev/null > Packages

# compress nih!
gzip -9c Packages > Packages.gz
bzip2 -9c Packages > Packages.bz2

# pindah kan ke dir dists je...
mv Packages dists/$BUILD/$SERI/binary-i386/
mv Packages.gz dists/$BUILD/$SERI/binary-i386/
mv Packages.bz2 dists/$BUILD/$SERI/binary-i386/

find . -type f -print0 | xargs -0 md5sum > MD5SUM

exit 0

========= end =========
silahkan menikmati dan mencoba

ngecek dulu….

ngecek dulu system kita yuk….

1. Debian versi berapa?

udienz@ardienz:~$ cat /etc/debian_version
lenny/sid

2. Ubuntu Versi berapa?

udienz@ardienz:~$ cat /etc/issue.net
Ubuntu 7.10

3. Code-name nya apa?

udienz@ardienz:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=7.10
DISTRIB_CODENAME=gutsy
DISTRIB_DESCRIPTION="Ubuntu 7.10"

4. Tampilkan informasi sistem

 udienz@ardienz:~$ uname -a
Linux ardienz 2.6.22-14-generic #1 SMP Sun Oct 14 23:05:12 GMT 2007 i686 GNU/Linux

5. Jam berapa sih sekarang?? oh ya tanggal berapa?? sekalian tahu berapa yah sekarang??

udienz@ardienz:~$ date
Tue Nov 27 00:22:10 WIT 2007

6. sekarang saya ada dimana??

udienz@ardienz:~$ pwd
/home/udienz

7. apa nama komputer ini dalam jaringan??

udienz@ardienz:~$ cat /etc/hostname
ardienz

8. berapakah IP saya??

udienz@ardienz:~$ ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:76:CF:88:A0
          inet addr:192.168.1.11  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:76ff:fecf:88a0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:904450 errors:0 dropped:0 overruns:0 frame:0
          TX packets:968554 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:181631459 (173.2 MB)  TX bytes:529385498 (504.8 MB)
          Interrupt:19 Base address:0x8f00

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:15142 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15142 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:9176169 (8.7 MB)  TX bytes:9176169 (8.7 MB)

9. saya tadi login dengan user apa yah??

udienz@ardienz:~$ whoami
udienz

10. siapa aja yang login di komputer ku??

udienz@ardienz:~$ who
udienz   tty7         2007-11-26 22:24 (:0)
udienz   pts/0        2007-11-26 22:33 (:0.0)
udienz   pts/2        2007-11-26 22:52 (:0.0)

11. Proses apaan aja sih yang jalan??

udienz@ardienz:~$ ps
  PID TTY          TIME CMD
 8586 pts/2    00:00:00 bash
20456 pts/2    00:00:00 ps

12. Memory yang tersedia berapa sih??

udienz@ardienz:~$ free
             total       used       free     shared    buffers     cached
Mem:       1035636    1017376      18260          0     364656     197484
-/+ buffers/cache:     455236     580400
Swap:      1052216      34784    1017432

13. direktory wordpress itu menghabiskan berapa dalam harddisk yah??

udienz@ardienz:~$ du wordpress/ -h --max-depth=2
144K    wordpress/wp-includes/images
1.9M    wordpress/wp-includes/js
3.0M    wordpress/wp-includes
192K    wordpress/wp-admin/import
96K     wordpress/wp-admin/images
28K     wordpress/wp-admin/css
48K     wordpress/wp-admin/js
208K    wordpress/wp-admin/includes
1.1M    wordpress/wp-admin
224K    wordpress/wp-content/themes
48K     wordpress/wp-content/plugins
280K    wordpress/wp-content
4.5M    wordpress/

14 Harddiskku yang kosong berapa aja yah??

udienz@ardienz:~$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sdb1              14G  4.9G  8.0G  38% /
varrun                506M  428K  506M   1% /var/run
varlock               506M     0  506M   0% /var/lock
udev                  506M   72K  506M   1% /dev
devshm                506M     0  506M   0% /dev/shm
lrm                   506M   34M  472M   7% /lib/modules/2.6.22-14-generic/volatile
/dev/sdb3             5.8G  5.1G  482M  92% /home
/dev/sdb5             129G  110G   20G  85% /media/dokumenku
/dev/sda1              80G   38G   31G  56% /media/DATA

dah ah itu dulu aja…. dah malem….