Friday, April 6, 2012

Ubuntu/Linux filesystem

Ubuntu (like all UNIX-like systems) organizes files in a hierarchical tree, where relationships are thought of in teams of children and parent. Directories can contain other directories as well. Also, in every directory, there are two special directories called . and .., which refer respectively to the directory itself, and to its parent directory.

/bin is a place for most commonly used terminal commands, like ls, mount, rm, etc.
/boot contains files needed to start up the system, including the Linux kernel, a RAM disk image and bootloader configuration files.
/dev contains all device files, which are not regular files but instead refer to various hardware devices on the system, including hard drives.
/etc contains system-global configuration files, which affect the system's behavior for all users.
/home home sweet home, this is the place for users' home directories.
/lib contains very important dynamic libraries and kernel modules
/media is intended as a mount point for external devices, such as hard drives or removable media (floppies, CDs, DVDs).
/mnt is also a place for mount points, but dedicated specifically to "temporarily mounted" devices, such as network filesystems.
/opt can be used to store addition software for your system, which is not handled by the package manager.
/proc is a virtual filesystem that provides a mechanism for kernel to send information to processes.
/root is the superuser's home directory, not in /home/ to allow for booting the system even if /home is not available.
/sbin contains important administrative commands that should generally only be employed by the superuser.
/srv can contain data directories of services such as HTTP (/srv/www/) or FTP.
/sys is a virtual filesystem that can be accessed to set or obtain information about the kernel's view of the system.
/tmp is a place for temporary files used by applications.
/usr contains the majority of user utilities and applications, and partly replicates the root directory structure, containing for instance, among others, /usr/bin/ and /usr/lib.
/var is dedicated variable data that potentially changes rapidly; a notable directory it contains is /var/log where system log files are kept.

The root partition / must always physically contain /etc, /bin, /sbin, /lib and /dev, otherwise you won't be able to boot. Typically 150–250MB is needed for the root partition. 



What about the others directories shown above? Read...
/usr: contains all user programs (/usr/bin), libraries (/usr/lib), documentation (/usr/share/doc), etc. This is the part of the file system that generally takes up most space. You should provide at least 500MB of disk space. This amount should be increased depending on the number and type of packages you plan to install. A standard Ubuntu desktop requires a minimum of 1.5GB here. A generous workstation or server installation should allow 4–6GB.
/var: variable data like news articles, e-mails, web sites, databases, the packaging system cache, etc. will be placed under this directory. The size of this directory depends greatly on the usage of your system, but for most people will be dictated by the package management tool's overhead. If you are going to do a full installation of just about everything Ubuntu has to offer, all in one session, setting aside 2 or 3 GB of space for /var should be sufficient. If you are going to install in pieces (that is to say, install services and utilities, followed by text stuff, then X, ...), you can get away with 300–500 MB. If hard drive space is at a premium and you don't plan on doing major system updates, you can get by with as little as 30 or 40 MB.
/tmp: temporary data created by programs will most likely go in this directory. 40–100MB should usually be enough. Some applications — including archive manipulators, CD/DVD authoring tools, and multimedia software — may use/tmp to temporarily store image files. If you plan to use such applications, you should adjust the space available in /tmpaccordingly.
/home: every user will put his personal data into a subdirectory of this directory. Its size depends on how many users will be using the system and what files are to be stored in their directories. Depending on your planned usage you should reserve about 100MB for each user, but adapt this value to your needs. Reserve a lot more space if you plan to save a lot of multimedia files (pictures, MP3, movies) in your home directory.



based on ubuntu wiki

Make a Simple Webpage

Someday you may want to program a simple webpage. Not something awesome but a simple HTML and maybe CSS code whre you can tell readers some information, status etc. Its very easy to do this.


Below you will see some HTML code where you can write anything. Google "HTML tutorial" to learn more. An HTML page can be shown in any browser though CSS make it beautifull! For example if you have a personal webpage you can add some CSS code and make things better. Let' s start! :)


Organise your files
An important thing is to always organise your files else you' ll get lost. That' s sure! So for the sake of this simple tutorial let's make a folder named "mysite" and two files named "index.html", "mystyle.css" (inside the folder). Remember the file "mystyle.css" is optional as you don't need necessary to have any CSS code. It always depends of you.


HTML Programming
So, the second thing we will do is add some code in the "index.html" file. This is the file which you will later see in your browser. HTML is quite easy language to learn and i can say quite funny too. Copy & paste the code bellow and i will explain this.


index.html

<html>
<head>
{!-- Place you meta tags here --}
{!-- Link you index.html(this file) with your CSS file(mystyle.css). Its placed into commends as its optional. --}
{!-- <link rel="stylesheet" type="text/css" href="mystyle.css" /> --}


{!-- You can add your local language adding the following code(only change the 'charset' to your local). Remove commends again if you want this. --}
{!-- <meta http-equiv="content-type" content="text/html;charset=UTF-8" /> --}
</head>


<body>
{!-- You can place a title bellow --}
<h2>News of the day...</h2>

{!-- Your can place a paragraph bellow --}
<p>You have been hacked! Remember hacking is just POWER...its up to you how to use it!</p>
</body>
</html>


In HTML you always write tags (<tag> </tag>). This is the way you are coding :) Let' s see what we have here...every HTML page start with <html> </html> tag and it must have a head and a body tag too. Only the body tag is shown in browser so the head tag is used to link this file with your CSS(give the path so it can be found), to use your native language instead of the default, for google searches etc. I explain some things in the code above. In the body part there are many things you can white and as we see above we have an h2 tag which is a header level 2. There are 6 levels(try them)! After this there is a p tag which means paragraph. And this is how it ends. Its very simple code which makes a webpage(probably not useful for personal webpage) and if you google some things you will easily modify this to your own.


CSS Programming
CSS programming is a method so you can have a better, maybe more beautiful webpage. Coding in CSS is simple and easier! The idea is to make some identities in your HTML code and in the CSS file for each element(identities) specify some characteristics. eg. in body id(entity) you can say the following (body is the only tag that dont need # or .).


mystyle.css

body {
background-color: black;
font-size: 16px;
font-color: green;
}

p {
font-family: Arial;
font-size: 14px;
color: green;
}

So, finally you have many id's like, body, main_id, content_id, header_id etc and for each one you specify some beautiful things like above. The way you can add id's in your HTML code is again so simple.
  • id
  • class
you can access 'id' in your CSS file adding befre the name a '#' and you can also access 'class' adding before the name a '.'.

So let's see an example, in which i modify the body tag in my HTML code like this:
<body>
{!-- You can place a title bellow --}
<h2 id="first_header">News of the day...</h2>

{!-- Your can place a paragraph bellow --}
<p>You have been hacked! Remember hacking is just POWER...its up to you how to use it!</p>
</body>

then you could have a CSS code like the following:

mystyle.css
body {
background-color: black;
font-size: 16px;
font-color: green;
}

p {
font-family: Arial;
font-size: 14px;
color: green;
}

#first_header {
font-size: 22px;
color: purple;
}

Hello World

Hello world program writen in C language

#include  

int main(void) {
printf("Hello world!\n");
return 0;
}