Skip navigation

Tag Archives: Linux


Another snippets today.

s3cmd put \
    --add-header=Expires:"`date -R --date='10 years'`"; \
    --add-header=Cache-Control:'max-age=31536000, public' \
    -P \
    [file] [bucket]

Update

s3cmd put \
    --add-header=Expires:"`date -u +"%a, %d %b %Y %H:%M:%S GMT" --date='10 years'`"  
    --add-header=Cache-Control:'max-age=31536000, public'  \   
    -P \
    [file] [bucket]
Iklan

As usual, I wrote this because I always forgot about this.

Lately I have installed some services in my development laptop such as `elasticsearch`. And some of these services got automatically started every time the laptop start.

So turns out I can just remove all of the symlinks of init scripts in the `/etc/rc?.d` directory.

More explanation can be read here.


I was just looking a good way to mount /tmp directory on AWS EC2 ephemeral storage automatically. Then I stumbled on this post. Nice method if you are using Ubuntu (or other distribution that uses Upstart).

# File /etc/init/mounted-mnt.conf

# mounted-mnt - Binds /tmp to /mnt/tmp

description     "Binds /tmp to /mnt/tmp"

start on mounted MOUNTPOINT=/mnt

task

script
    test -d /mnt/tmp || mkdir -m 1777 /mnt/tmp
    mount --bind /mnt/tmp /tmp
end script

And the good idea behind this, as told in the post, is

Some servers, like Apache/Passenger, might create important temporary files on /tmp. Once rc.local – the last in the boot sequence – ran they would get hidden and confuse the servers.


Salah satu hal yang menyebalkan dari GEdit adalah biasanya dia menaruh berkas-berkas sementara di direktor berkas yang sedang disunting. Berkas-berkas tersebut biasanya berakhiran karakter ‘~’. Untuk menghilangkan semua berkas cadangan yang ada di direktori kerja kita, cukup mengeksekusi perintah berikut.

find /path/to/folder -iname "*~" -exec rm '{}' ';'

Perintah di atas akan mencari semua berkas berakhiran ‘~’ dan langsung menghapusnya.


Berikut adalah materi Pengenalan UNIX Command yang saya berikan pada Pelatihan Nasional I Tim Olimpiade Komputer Indonesia tahun lalu. Materi ini diberikan agar para peserta dapat terbiasa dengan lingkungan pemrograman pada sistem operasi *NIX dan memanfaatkan perintah-perintah shell untuk membantu pemrograman.

Semoga berguna


Untuk pengguna Linux atau UNIX pasti familiar dengan penggunaan options pada aplikasi berbasis CLI (command line interface). CLI options atau CLI parameter adalah sebuah mekanisme untuk memasukkan variabel ke dalam aplikasi tersebut.
Contohnya untuk di Linux atau UNIX

t76010@server42411:~$ ls --help
Usage: ls [OPTION]... [FILE]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort.

Mandatory arguments to long options are mandatory for short options too.
  -a, --all                  do not ignore entries starting with .
  -A, --almost-all           do not list implied . and ..
      --author               with -l, print the author of each file
  -b, --escape               print octal escapes for nongraphic characters
      --block-size=SIZE      use SIZE-byte blocks
  -B, --ignore-backups       do not list implied entries ending with ~
  -c                         with -lt: sort by, and show, ctime (time of last
                               modification of file status information)
                               with -l: show ctime and sort by name
                               otherwise: sort by ctime

Sedangkan di Windows pun ada format parameter yang berbeda (seringkali disebut switch) untuk command pada MS-DOS

Displays a list of files and subdirectories in a directory.

DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N] [/O[[:]sortorder]] [/P] [/Q] [/S] [/T[[:]timefield]] [/W] [/X] [/4]
[drive:][path][filename]	Specifies drive, directory, and/or files to list.
attributes	

D  Directories                R  Read-only files
H  Hidden files               A  Files ready for archiving
S  System files               -  Prefix meaning not

/B	Uses bare format (no heading information or summary).
/C	Display the thousand separator in file sizes. This is the default. Use /-C to disable display of separator.
/D	Same as wide but files are list sorted by column.
/L	Uses lowercase.

Setiap bahasa pemrograman memiliki fitur parameter untuk memfasilitasi passing variabel ke dalam program. Akan tetapi umumnya bahasa tidak langsung menyediakan format passing variabel seperti di atas yakni melakukan passing variabel secara terstruktur.

Read More »


Di ambil dari sini. Sedikit snippet tentang socket programming di C. Pemrograman ini menggunakan fungsi-fungsi socket yang sudah disediakan oleh Linux. Untuk beberapa OS lain seperti BSD dan MacOS kalau gak salah penangannya agak sedikit berbeda.

Read More »


Kadang-kadang untuk melakukan pengembangan aplikasi yang berjalan pada jaringan, agak menyulitkan ketika kita tidak memiliki jaringan yang sesungguhnya. Kalau untuk pengembangan aplikasi web sebenarnya tidak terlalu penting memerlukan lebih dari 1 IP. Untuk mensimulasikan session pun cukup dengan melakukan instalasi 2 atau lebih browser. Sedangkan kalau ingin melakukan pengambangan aplikasi menggunakan socket biasanya harus mempunyai lebih dari 2 IP (atau 2 mesin lah).

Tapi dengan menggunakan VirtualBox, kita dapat membuat simulasi sebuah jaringan.

Kali ini saya sedang eksplorasi bagaimana melakukannya. Di VirtualBox ini saya mempunyai 2 buah OS yakni Ubuntu dan XP. Saya ingin mencoba agar Ubuntu dan XP ini dapat berada dalam 1 jaringan yang sama.

Read More »


Diambil dari artikel lama di blog

Tugas IF3292 Pemrograman Internet disuruh bikin yang beginian
SCP
Dari semua tugas sebelumnya

  1. HTML Editor with DHTML
  2. Simple CMS with PHP
  3. Web Chess with AJAX

yang paling menarik yet paling susah yang ini……
disuruh bikin protokol sendiri….

tapi sebenarnya kalau dipikir-pikir konsepnya gak terlalu susah…. teknologinya aja yang ribet….

jadi intinya disuruh ngebikin program SCP-like dengan menggunakan socket programming di Linux…..
fungsinya cuman 2 : buat ngopi dan mindahin folder/file dari satu host ke host yang lain…
Read More »


Melanjutkan postingan tentang modul kernel yang dulu.

Biasanya untuk melakukan pemindahan data antara dua buah program cukup dengan menggunakan sebuah file yang dibaca bersama (selain dengan menggunakan IPC). Hal ini cukup sulit untuk dilaksanakan pada modul kernel karena pada dasarnya modul tidak disediakan fungsi file I/O layaknya system call open(). Menulis file pada kernel space menjadi cukup sulit.

Salah satu cara yang mudah melakukan komunikasi antara sebuah kernel module dan user space program adalah dengan menggunakan procfs. Procfs adalah sebuah filesystem yang menyediakan informasi mengenai process-process dalam kernel. Procfs ini dapat dibuka di folder /proc.

$cd /proc
$ls -l | less
dr-xr-xr-x  6 root       root               0 2009-01-07 15:07 1
dr-xr-xr-x  6 root       root               0 2009-01-07 15:07 119
dr-xr-xr-x  6 root       root               0 2009-01-07 15:07 120
dr-xr-xr-x  6 root       root               0 2009-01-07 15:07 121
dr-xr-xr-x  6 root       root               0 2009-01-07 15:07 1369
dr-xr-xr-x  6 root       root               0 2009-01-07 15:07 1372
dr-xr-xr-x  6 root       root               0 2009-01-07 15:07 1385
dr-xr-xr-x  6 root       root               0 2009-01-07 15:07 1392
dr-xr-xr-x  6 root       root               0 2009-01-07 15:07 2

Di sana tersimpan data-data mengenai process yang sedang dijalankan. Folder-folder yang memiliki nama berupa angka merepresentasikan process dengan process ID (PID) yang  sama dengan nama folder tersebut. Di dalam folder tersebut tersimpan data-data mengenai process yang bersangkutan.

Read More »

%d blogger menyukai ini: