Under Construction

Here we put the articles we are working on until they're ready for publishing.

please don't edit this page, use the Parent feature to attaches pages to it.

Asterisk A Closer Look

We will start by downloading and compiling asterisk:-

Before we start we need to install some requirements I always install the headers and the development packages for mysql , postgresql and openssl in case I wanted to use any of this features with asterisk later on also asterisk require the kernel source, kernel headers, bison and libnewt then we will start by extracting and compiling: tar zxvf libpri-X.X.XX.tar.gz cd libpri-X.X.XX make su - make install
tar zxvf zaptel-X.X.XX cd zaptel-X.X.XX make su - make install
tar zxvf asterisk-x.x.xx.tar.gz cd asterisk-x.x.xx make su - make install make samples
tar zxvf asterisk-addon-X.X.XX.tar.gz cd asterisk-addon-X.X.XX make su - make install
tar zxvf asterisk-sound-X.X.XX.tar.gz cd asterisk-sound-X.X.XX su - make install and You are done with asterisk compiling..
now let us talk about some basics
  1. asterisk configurations exists at /etc/asterisk/
  2. asterisk sounds exists at /var/lib/asterisk/sounds
  3. asterisk music on hold files at /var/lib/asterisk/mohmp3/
  4. asterisk voicemail files and others at /var/spool/asterisk/
  5. asterisk applications, codecs and channels at /usr/lib/asterisk/modules/
    1. sip.conf it contain the sip server options , sip registrar and the sip users
    2. iax.conf it contain the iax server options , iax registrar and the iax users
    3. extensions.conf it contain the dialplain which we call asterisk heart
    4. modules.conf it contain which module not to be loaded or loaded
    5. voicmail.conf it contain the voicemail options
    6. logger.conf it contain the logger options
    okay now let start with a very basic scenario .. you want to have 2 sip clients can reach each others so we need to have 2 sip accounts and a very basic dialplan. so we can move the sip.conf that already created from make samples and we keep it as a reference and we start or simple one from scratch
    [general]              ; here we will define the general options 
    bindaddr =     ; so the SIP server will be listing on all the interfaces
    bindport = 5060        ; default SIP port
    and now we will need to create 2 SIP account for our softphones username=1001 ; the username for authentication secret=123 ; the password type=friend ; what kind of user is he ? peer,user,friend context=test ; context is one of the key words it's where the incoming and outgoing calls from this user should go host=dynamic ; if the user don't have static IP address or he moving alot with his softphone nat=yes ; if user behind the NAT or no canreinvite=no ; this is important it define if the media path for the call should be directed between the end points or it should go via the asterisk server and almost the same configurations will be for the 2nd user username=1002 secret=123 type=friend context=test host=dynamic nat=yes canreinvite=no now the heart of this call the dialplan in extensions.conf
    [test]                          ; the test context
    exten => 1001,1,Dial(SIP/1001) 	; when someone dial 1001 should dial 1001 using SIP protocol
    exten => 1002,2,Dial(SIP/1002) 	; when someone dial 1002 should dial 1002 using SIP protocol 
    now the easy part the softphone ... there is lots of softphones for both GNU/Linux and windows you can use xlite and adjust the username / authentication for each users the domain / sip server is the asterisk IP server and the password is the user password
    Directory it's a very useful asterisk application, most of time when you call a company and don't know the extension number for the person you are looking for you have to wait and get help from the operator to reach this person. but if this company has a company directory in there asterisk PBX this will make your life much more easy .. In more simple words, the directory is a extension numbers searching tool. so you press like * and you go the directory and then you will have to enter the 1st 3 letters of the first or last name of the person you are looking for, and this application will take care of looking UP the extension number for you Okay so let us get technical a little bit more, how the directory application works. it gets all the information needed from the last place you will ever think about ! the voicemail.conf . Ok how does the voicemail.conf look like ?
    [general]			;where the general configurations belongs
    [context]			;context name
    extension number => password,user name
    • extension number ; user phone number
    • password ; the voicemail password
    • username ; the user real email
    so in our example the voicemail.conf will look like this:-
    1001 => 0007,sherif nagy
    then how the directory command look like ?
    • directory ; the directory command
    • vm-context ; the voicemail context we want to search into
    • dial-context ; " i never used it " the extension context " dialplan" the command will search into after the user search
    • options ; the "f" option it force the directory to look for the person FIRST name, by default the command search but the person last name
    and we will add a directory extension in the dialplan "extensions.conf file" exten => *,1,Directory(test|f) ; * the number/key to reach the directory , test is the voicemail context , and it'll use looking by first name so now someone will be calling want to get to me but he don't know my extension number so he will dial * then he will get a message saying Something like this : " welcome to the directory please enter the 1st three letters of the person first name.
    • the caller will enter "s-h-e" from phone keypad. and now there is 2 alternatives:-
      • the caller will listen to s-h-e-r-i-f-space-n-a-g-y every letter in the name is separated , this will be with the asterisk default voice system.
      • any asterisk user can record his name , busy , unavailable message using the asterisk voicemailmain application and in this case the caller will listen to sherif nagy with my voice that i record.
    • then after this asterisk will say something like " is that the person you are looking for ? if yes press 1 if no press * to find the next search results "
    each number in the phone keypad contain 3 letters so for example if your are looking for sherif you will type the 1st 3 letters which are "s-h-e" so you will click on 743 which can be any combination of PQES as 1st letter , GHI as 2nd letter and DEF as 3rd letter, so the directory will start to look using this input you may find P-H-F which a person you don't want so you click * , and so on until you find the person you are looking for. i think that pretty much all about directory searching ..and we are done ;-) later on i hope this howto become more advanced but this is just a start

Changing the background of lilo boot loader


ChewingTeeth (2): Courier MTA

I had to install a mail server, to provide virtual hosting, pop and smtp with webmail.

Why did I choose courier ? Sure to let all of you follow my steps and chew your brains.

Courier is hell, That's why you'll end up chewing your brain, perhaps your whole body and other people bodies too!

I'm talking about Debian stable aka woody.

1st, Don't apt-get install the binary debs.

apt-get source courier-mta

Because there is a unique feature in courier, It force you to use one of the freedoms enforced by the GPL, which is: The freedom to modify the source code!

courier authentication authdaemon and userdb.

courier mta, smtp, pop, imap.


permit users to change their passwords.

ChewingTeeth (3): CVS


  • Introduction:CVS is a version control system. It is used to record the history of your source files.Bugs can creep in when software is modified, and may not be detected until a long time after the modification is made. With CVS, you can retrieve old versions to find which change caused the bug.CVS can also help when a project is being worked on by multiple people, where overwriting each others changes is easy to do. CVS solves this problem by having each developer work in his/her own directory and then instructing CVS to merge the work when each developer is done.
  • CVS server setup
  • Creating a new repository.
  • overview of the CVS authentication stuff.
  • All users are mapped to 1 user.
  • pserver
  • over ssh
  • readers/writers
  • permissions on the directories.
  • permissions on the CVSROOT directory
  • co
  • commit
  • add
  • binary files
  • tags
  • update
  • remove
  • multiple users, restricting each to a directory
  • what's missing ?
  • References

Create Custom Form with Drupal

you can create any type of forums using flexinode. Have a nice Drupal.

Cron Job

Cron is a tool that lets you specify jobs (could be command or scripts or whatever you like) in the file /etc/crontab these commands will then be executed according to a particular schedule (for instance every Wednesday at 3:00 do a fsck, or every day at 8:00 play alarm.au, or even every 1st of Jan say happy new year).

usually your crontab file will look like this:- SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/
  1. run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthly

    the first few lines are environment variables and explain themselves the run-parts is the important one its obvious here that my system has four separate tables for hourly, daily, weekly and monthly jobs

    Now let us see what is the run-parts

    • The numbers in the beginning stand for :-
    • minute
    • hour
    • dayofmonth
    • month
    • dayofweek
    • then comes the user that will be used to run these jobs.
    • Then the last field is the job (run-parts is a small tool that runs scripts by guessing which interpreter to use, so run-parts foo is basically equivalent to bash foo, or python foo or whatever).

    lets us notice :-

    • The hourly jobs are executed on the first minute of every hour in every day in every month (could be fetchmail or sendmail etc.)
    • The daily jobs are executed on the second minute of the fourth hour of every day in every month (a fortune maybe or a some check on your logs)
    • The monthly jobs are executed on the 22ND minute of the 4Th hour of anyday in anymonth that is a Sunday(thats what the last 0 stands for, and this could be a fsck or a cleanup of your tmp dirs)
    • The monthly jobs are executed on the 42ND minute of the 4Th hour of the first day of any month (a backup to your /etc maybe)

    The happy new year setting will look like this:- 01 0 1 1 * alaa echo 'happy new year' 02 0 1 1 * alaa mail -s 'happy new year' friends < greetings.txt

    Thats Will Do Two Things:-

    1. on the first minute at midnight on the first of Jan write happy new year on the console.
    2. on the 2ND minute of the same date send an email to all friends with

    the subject 'happy new year' and have the content of greetings.txt as the message body.

    however cron is of limited use to your usual home user since it assumes your pc is on all the time so if I don't open my pc on 1st of Jan until the morning (which is probably what will happen) my friends will not get a message from me and my computer will not greet me thus ruining the whole year from day one.

    a tool that would be more useful is anacron, it doesn't assume your computer will be on all the time but rather you have to describe a frequency for this particular job (like I want this done once a month and that done once a year). however anacron is a totally different story.

    both cron and anacron are useful if you like your command/script to run only once (not periodically) in this case you use the tool at

    read the cron and crontab man pages:-

    • man cron
    • man crontab
    • man 5 crontab

    you may want to check the man pages for anacron and at too your GNU/Linux system comes with a whole lot of docs and manuals try to read as many of them as you can.



# /etc/dhcpd.conf
# Global Settings

# Turn on Dynamic DNS:
ddns-update-style interim;
ddns-updates on;

# Don't allow clients to update DNS, make the server do it
# based on the hostname passed by the DHCP client:
deny client-updates;
allow unknown-clients;

# Scope Settings
subnet netmask {

        # Range of DHCP assigned addresses for this scope
        range                 ;
        # 1 day
        default-lease-time              86400;
        # 2 days
        max-lease-time                  172800;

        # Configure the client's default Gateway:
        option subnet-mask    ;
        option broadcast-address;
        option routers        ;

        # Configure the client's DNS settings:
        option domain-name              "lab.local";
        option domain-name-servers;

        # If you want the client to be configured to also use
        # a WINS server:
        option netbios-name-servers;
        option netbios-node-type        8;



## /etc/named.conf
options {

        directory "/var/named";

controls {
        inet allow { localhost; } keys { rndckey; };

zone "." IN {
        type hint;
        file "named.ca";

zone "localhost" IN {

        type master;
        file "localhost.zone";
        allow-update { none; };

zone "0.0.127.in-addr.arpa" IN {
        type master;
        file "named.local";
        allow-update { none; };

zone "lab.local" IN {
        type master;
        file "lab.local";
        allow-update { localhost; };

zone "0.168.192.in-addr.arpa" IN {
        type master;
        file "192.168.0.rev";
        allow-update { localhost; };

include "/etc/rndc.key";

note : FC3 users or any other SELINUX enabled distro users must modify the selinux security policy to allow named to overwrite the zone files (in FC3 is done using the security-level tool)

Drupal vs JBoss Portal

i found this discussion about the difference between JBoss Portal and drupal:

Editing /etc/fstab

Hello , Its Me Again

The original author was thinking to write how-to mount windows partition but the idea gets more fat to get more than windows to be generally FSTAB

On Mandrake and some other Distributions, The System mounts Windows Partitions Automatically,

By Other Means, When You cd To /mnt/windows ... You'll Find Your Files there ...

But on Fedora Core and some other Distributions, You Must mount your Windows Partitions each Time you Boot into your System ... Now, The Question is : How To Make it mounted Automaticlly each time your System Boots UP ?!

Before Getting Into Details .. You'll Have to Know That ...

When you Boot Your System .. The Kernel Looks for a File called /etc/fstab Which Describes all the File Systems that Should Be mounted and Then mounts Them All.

This File not Only Includes Your root and swap Partitions but Also Includes any Extra Partitions you Want to mount .. Plus all Logical/Virtual File Systems like the /proc File System.

Note: fstab Stands For "File System Table"

Now, Inorder to Make The Partitions mounted Automaticlly Every Time Your System Boots UP What You Need is to Add Entries in Your /etc/fstab

Here is The Format of The Entry ..

  • device_name: It is the Name Of The Physical Device you Want To Mount ,It could be a network share ,NFS (Network File System ) *nix share or SMB (Server Message Block ) Window$ share ( Network resource ) ..
  • Ex. /dev/hda1 for physical devices and it is also local
  • Ex. files.eglug.org:/share/path NFS resource
  • Ex. //ms.Misr-soft/share-name SMB resource
  • mount_point: It is the Mount Point Where The File System(Partition) will be Mounted .. Ex. mnt/win_c
  • fstype: It is the Type Of the File System of the Partition that Will Be Mounted .. Ex. vfat, ext3 , nfs , smbfs , ntfs and swap

Now, The Common Options Are:

  • user: It Makes the Partition Mountable by any user, but then only that user can unmount it. (For Sure CDROM Drives must have this Option)
  • users: It Makes the Partition Mountable by any user, and any user can unmount it.
  • noexec: No Executable Files Allowed (You Should Use this with Windows Partitions or Else All the Files Will be Considered Executables)
  • ro: Read Only
  • rw: Read/Write
  • noauto: Don't mount this at Boot Time (You May be Wondering What its doing in fstab if it is Not Going to Be mounted at Boot Time, this is Used to Simplify mounting Removable Media like CDROMS and FLOPPIES)
  • uid: Sets Default User id (All Files on your Partition Will be Owned by this User)
  • gid: Sets Default Groups id (All Files will be Owned by this Group)
  • sync: Always Sync File System (Don't Cache Content .. Use this with Floppies)
  • dump_frequency: Is Used to Automatically Backup Files (Only Useful For ext File System)
  • fsck_priority: Is Used to Determine The Order of Checking File Systems when Doing a System Wide fsck at Boot Time, a Value of Zero will Tell the Kernel Never to Check This File System (This is How it Should be For Most Windows Partitions). The two digits allow for parallel checks when you have two different drives, thus speeding up boottime checks.

Note: fsck Stands For File System Check and it is used to Check and Repair a Linux File System

Now Lets Take a Look at My /etc/fstab

/dev/hda2 / ext3 defaults 0 1 /dev/hda6 /home ext3 defaults 0 2 /dev/cdrom /mnt/cdrom iso9660 noauto,user,noexec,ro,uid=501,gid=22 0 0 /dev/cdrom1 /mnt/cdrw iso9660 noauto,user,noexec,ro,uid=501,gid=28 0 0 /dev/fd0 /mnt/floppy vfat user,sync,noauto 0 0 /dev/hda1 /mnt/win_c vfat noexec,rw,uid=501,gid=6 0 0 /dev/hda5 /mnt/win_d vfat noexec,rw,uid=501,gid=6 0 0 none /proc proc defaults 0 0 /dev/hda3 swap swap defaults 0 0 /dev/hdb2 /mnt/edge reiser4 defaults 1 1

OK, So What we Have Here Is :

  • A root Partition on /dev/hda2 .. Its File System is ext3 ( second partition on the primary master drive ) .. Options are Set to defaults and it Should be the First Partition to be Checked by fsck.
  • A reiser4 partition /dev/hdb2 ( second partiton on the primary slave drive ) will be checked at the same time as the previous partition (parallel).
  • Then on /dev/hda6 Lies my /home Partition, Same as the root Partition but Should be Checked by fsck after the root Partition.
  • The /dev/cdrom Has my CDROM Drive, Its mounted to /mnt/cdrom, File Type is iso9660 (DON'T use auto in fstab) .. And the Options Are :
  • noauto: Don't mount at Boot Time since the Drive May be Empty and Media may Change.
  • user: File System is User mountable (This is Important Since its Not mounted on Boot Time, and Users have to be Able to mount their CDROMS).
  • noexec: No Executables Allowed.
  • ro: Read Only File System
  • uid=501: Default User is the User with id 501 (Thats Me)
  • gid=22: Default Group is the Group with id 22 (Thats the CDROM) And no Backups or File Checking is Needed.

The Entry for the CDRW Drive is Exactly the Same As for the CDROM, You Don't Need to Make it read/write Since Writing to the CDR Media is Done While the Media is unmounted.

The Benefit of having a CDROM Entry in Your fstab will be Revealed Now :

Instead of Running :

mount -t iso9660 /dev/cdrom /mnt/cdrom -o noauto,user,noexec,ro,uid=501,gid=22

Simply, You Can Just Run :

mount /mnt/cdrom

OR You Can Use :

mount /dev/cdrom
  • The Windows Partitions /dev/hda1 and /dev/hda5 are mounted at Boot Time to /mnt/win_c and /mnt/win_d .. They are vfat File Systems (Thats FAT32, FAT16 is simply called FAT), Their Options are:
  • noexcutable, read/write File System and a Certain user/group Own the Files on those Partitions.
  • The proc File System Being a Virtual file System has a Device none, It is mounted to /proc and the File System Type is proc.
  • Finlay the swap Partition is on /dev/hda3, mount Point for swap Partitions is swap (Notice NOT /swap) and the File System Type is of Course swap.it is not accessible by anyuser except the kernel .

As you Can See you Don't Really Need to Tweak All Options .. A Line that Says

/dev/hda5 /mnt/win_d vfat

Is Enough to mount your Windows Partition.

some distributions like red-hat/fedora could not mount NTFS file system automatically like the vfat due to patent promise or ,license conflicts so the decide to remove the NTFS.

Network Resource Mounting

locally .it may be also mount network resource on boot .

  • NFS (Network File System) *nix share hostname:/path/to/share /mount/point nfs defaults 0 0

    the defaults may be changed with many other option as i remember some of them

    • ro: read only
    • rw: read write
    • __intr_ : allow to kill the process of request if the server is not accessible
    • nointr: killing the process or interrupt is not allowed it the server is not reachable
    • soft : if the process fails it will give a error message
    • hard : if the process fails it will block that tries to access an unreachable resource
    • rsize : rsize=8192
    • wsize : wsize=8192 this will enhance the mounting and the process of transactions,speed up NFS throughput . /mnt/mounted nfs defaults,ro,rsize=8192,wsize=8192,soft
      • SMB (Server Message Block )

      the most linux boxes could mount the M$ share resources automatically without any problems

      the entry will looks like // /mount/point defaults 0 0

      the options is diffrent from nfs the could be

      • __username=x : the MS share is based on usernames and password but nfs is based on hosts -hostnames or IPs- so you should type them
      • password=xx : actully many many people are doing the administrator password blank in M$ ,and linux accept the blank in this case.
      • uid = provid your id or gid

      so the entry will be something like //hostname/files /mount/point defaults,username=diaa,password=eglug,uid=514 0 0

      This Article is Originally Written by Alaa and re-organized by CVirus,and many contributers

Emacs tips

  • examples of Major modes (C++ mode, erc, gnus, etc.).
  • examples of minor modes (spell checking mode).
  • CTRL c (written as C-c) for commands related to the mode u r in.
  • a very important command is CTRL g (C-g), to cancel any command u started writing in the emacs command line.
  • Emacs supports completion of other words in the buffer, using M-/ TAB
  • for changing the default color of emacs, download the color-theme package from the emacs wiki, gunzip it under the elisp/ directory (create it first), then open it using M-x color-theme-select and select a nicer theme.
  • if u want to change the emacs defaults, u have to edit the .emacs file (create it first), and then u have to know some lisp syntax to be able to write ur own preferences.
  • also u can customize emacs through options ---> customize emacs.

Emacs Command:

ALT x (written as M-x) opens the emacs command.

  • ALT x then press TAB, to view all possible commands/functions (tab completion).
  • u type the command to enable/disable functions.
  • M-x eshell ---> opens emacs shell.
  • M-x term ---> opens bash.
  • u can press ESC then press x, instead of typing M-x.

Editor related commands:

CTRL x (written as C-x) for commands related to the editor.

  • C-x C-f ---> open file.
  • C-x C-s ---> save file.
  • C-x C-c ---> quit emacs.
  • C-x d ---> opens dired mode.

Help Commands:

CTRL h (written as C-h) for help commands, also u can access it through F1

  • C-h C-h ---> about help.
  • C-h b ---> key bindings.
  • C-h t ---> interactive tutorial.

Text-editing Commands:

  • C-SPACE ---> set a mark.
    • type C-x C-x to switch between the set mark and the cursor (after C-SPACE).
  • C-w ---> cut.
  • M-w ---> copy.
  • C-y ---> yank/paste.
    • type M-y to browse through the "kill ring" (all what u have copied, cut, killed, selected in the clipboard), after C-y
  • C-k ---> deletes from the point of the cursor to the end of the line.
    • if u press C-k many times quickly, u can kill many lines and when u paste emacs paste them all not only the last line.
  • C-_ ---> undo (when undos end, start redoing).

Multi windows:

  • C-x 2 ---> splits the window in focus horizontally.
  • C-x 3 ---> splits the window in focus vertically.
  • C-x o ---> switches focus to the next window.
  • C-x 0 ---> closes the window in focus.

Major Modes:

  • tramp: ssh through emacs.
  • gnus: news reader and mail client.
  • w3m: web browser, supports tables and images.
  • latex: with the latex-preview minor mode, u can c the generated output of latex while u r writing.
  • psgml: validator editor of sgml, xml, html.
  • erc: irc client.
    • supports nick completion.

Explain When and Why the kernel will need to be recompiled

Immediately after installtion, you may encounter situations in which you are required to upgrade the system . Although the Linux kernel has seen many advances, it may not fulfill the needs of your system. for this reason, the kernel which is available at www.kernel.org is updated often.

You may have several reasons to update the kernel on your system, including the following:

  • Stability : Although a released stable kernel is usually of high quality, many issues can still arise. This is why additional kernel releases are often more stable than the previous release
  • Hardware support : You Probably need to upgrade to a version 2.4.* kernel or higher like 2.6 in order to achieve support for many of the new hardware devices that are available today.
  • Hardware platforms : The newest processors often benefit from having the kernel optimized for their use. by providing an updated kernel, the system will be able to use the CPU more efficiently.
  • Package support : Some software packages don't run well or don't even run at all on older kernel versions. and these packages are often required to use the linux system.

- Regardless of the reasons for upgrading the kernel, the installers should be competent at performing this task.

GNU/Linux Vs. Microsoft

Why Linux?

  1. Linux is based on a sharing concept, not based on selfishness.
  2. Linux respects your intelligence and encourages creativity.
  3. Linux adopts the concept of "Everyone can be a Leader" it has a good space for people's initiatives.
  4. Linux is one of the largest friendly communities, where programmers around the world that do not know each other can have a free speech common room.
  5. Linux creators do not suffer from human insecurity & lack of confidence, as it shows its real face & do not mind constructive criticize.
  6. Linux is like a close friend to you when you go to visit him you can act as if you are home; in your friend's house you can bring food, help in arranging the house, help him/her adding a new look to it etc... That is exactly what Linux allows you to do creating, developing, modifying, adding, rearranging, etc…
  7. Linux is proving a very important value; "Small melodies when gathered in harmony can create an outstanding piece of music".
  8. Linux has broken the misleading presumption of "To make sure you are not doing something wrong or destructive, u must be monitored by a higher authority".
  9. Linux is proving the widely approved concept in community development; "Community development based on grass root efforts is much more reliable than the services presented to the community by a big institution".
  10. Linux proves that there is always another alternative, there is always a way, there's hope worth the effort of creating a better tomorrow.

Why Microsoft?

Because Microsoft knows how to be a good politician:

  1. It knows how to have the highest number of votes even if doesn't have the highest recognition.
  2. It knows how to keep their market under control even if they have better competitors.
  3. It has the dare to pretend being the best and be very convincing while knowing their vices.
  4. It covers up on the flaws of its operating system.
  5. It presents misleading, inaccurate comparisons - claiming they're the best.

Being the leader doesn't necessarily mean you're the best. I read a comment on the net about Microsoft that is very relevant to political life ;o)

GNU/Linux security model

Each file has an owner and belongs to a group.

Each running process has an owner and belongs to a group.

Users may belong to multiple groups.

at any session a user has an active group, and process she starts will inherit this active group.

each user has a default active group.

users may change the current active group using the commands newgrp and sg.

this security model is sufficient for most needs because GNU/Linux tries to represent everything as a file.

Each file has 3 sets of permissions that apply to different users, one set applies to the file owner, one applies to members of the file's group and the last set applies to anyone else.

in case one needs more some kernel modules offer Access Control Lists which provide more fine grained control.

Permission grid

fileCan readcan modifyCan executeexecuted as if ownerexecuted as if were in that groupno effect
directorycan lscan make new files and delete filecan cd to directory and access its files and subdirectoriesno effectnew files get group & new dirs get setgidonly owners can delete files
alphabetical chmod+r+w+xu+sg+so+t
numerical chmod421400020001000

How to disable annoying keys in X

the idea is very simple, we find out what the keycode of the annoying key is, then we use xmodmap to remap it to a new harmless or useless meaning.

you make a file called masalan ~/.xmodmap

in ~/.xmodmap you need to make entries that look like this

keycode 111 = XF86Excel

on the left is the X specific keycode generated by this key, and on the right is the symbolic keyname X will assign to this keycode.

you can find out the keycode by running xev

xev catches any X events when its in focus and writes what happens on the terminal, put the focus on the xev window and press your key you'll see lines that look like

  1. xev
KeyPress event, serial 28, synthetic NO, window 0x2a00001, root 0x71, subw 0x2a00002, time 74933419, (53,51), root:(57,68), state 0x0, keycode 111 (keysym 0xff61, Print), same_screen YES, XKeysymToKeycode returns keycode: 92 XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyRelease event, serial 28, synthetic NO, window 0x2a00001, root 0x71, subw 0x2a00002, time 74933496, (53,51), root:(57,68), state 0x0, keycode 111 (keysym 0xff61, Print), same_screen YES, XKeysymToKeycode returns keycode: 92 XLookupString gives 0 bytes:

the symbolic keynames are all mentioned in the file /usr/X11R6/lib/X11/XKeysymDB

to completly disable a key use a keysym you're unlikely to ever need like the microsoft specific multimedia keys.

you can use the same technique to modify your keyboard in anyway (disable annoying hindi numerals, stop caps lock etc).

keycode 111 is the keycode of printscreen on my pc, the above line in ~/.xmodmap is enough to stop it

when you're done editing ~/.xmodmap you need to run

  1. xmdomap ~/.xmodmap

    this loads the new keymap, if the behavior is right you want to configure your system so that it runs xmodmap everytime you run X (you figure out how).

How to install Oracle 10g on Linux

How to install Oracle 10g on Mandrake 10.1 Official

1- Creating Oracle User Accounts

To create the oracle account and groups, execute the following commands:

2- Unzip the database by running this command:

3- Uncompress the database by running this command:

In order to install oracle the system must have at least 512MB of RAM and 1GB of swap space or twice the size of RAM. And for systems with more than 2 GB of RAM, the swap space can be between one and two times the size of RAM.

4- To check the size of physical memory, execute:

5- To check the size of swap space, execute:


You also can add temporary swap space to your system by creating a temporary swap file instead of using a raw device. Here is the procedure:

To disable the temporary swap space execute the following commands:

6- Check how much space is in the /tmp :

According to Oracle's documentation, the Oracle Universal Installer (OUI) requires up to 400 MB of free space in the /tmp directory. But OUI checks if /tmp is only greater than 80 MB.

To check the space in /tmp, run:


If you do not have enough space in the /tmp filesystem, you can temporarily create a tmp directory in another filesystem. Here is how you can do this:

When you are done with the Oracle installation, shutdown Oracle and remove the temporary /tmp directory:

7- Check for required RPMs

This command queries the RPM database if these RPMs are installed or not (gcc, make, binutils, setarch, openmotif, mandrakelinux-release) If not so execute:

8- Make the OUI believe that its installing Oracle 10g on Redhat , because Mandrake is not supported by Oracle.

You have to edit these 2 files ( /etc/redhat-release , /etc/mandrakelinux-release ) file on Mandrake to make Oracle10g believe it is running on RHELAS3. To change the /etc/redhat-release file, you can simply copy/paste the following commands:

After you are done with the Oracle10g installation undo the changes you made to

9- Check the kernel parameters

To see all kernel parameters, execute:

For Oracle10g, the following kernel parameters have to be set to values greater than or equal to the recommended values which can be changed in the proc filesystem:

ip_local_port_range = 1024 65000

I added the following lines to the /etc/sysctl.conf file which is used during the boot process:

Adding these lines to the /etc/sysctl.conf file will cause the system to change these kernel parameters after each boot using the /etc/rc.d/rc.sysinit script which is invoked by /etc/inittab. But in order that these new added lines or settings in /etc/sysctl.conf become effective immediately, execute the following command:

Explanation for Semaphores:

Semaphores can best be described as counters which are used to provide synchronization between processes or between threads within a process for shared resources like shared memories. System V semaphores support semaphore sets where each one is a counting semaphore. So when an application requests semaphores, the kernel releases them in "sets". The number of semaphores per set can be defined through the kernel parameter SEMMSL.

To see all semaphore settings, run:

The SEMMSL Parameter

This parameter defines the maximum number of semaphores per semaphore set.

Oracle recommends to set SEMMSL to the largest PROCESSES init.ora parameter of any database on the Linux system plus 10. Oracle also recommends to set SEMMSL to a minimum value of 100.

The init.ora parameter PROCESSES specifies the maximum number of operating system processes that can be started by the Oracle instance. In a non MTS environment, Oracle spawns a system user process for each connection. This means that in such an environment the PROCESSES parameter defines the maximum number of simultaneous Oracle connections minus sum of all Oracle background processes. It can also be said that the PROCESSES value should never be greater than SEMMSL.

The SEMMNI Parameter

This parameter defines the maximum number of semaphore sets in the entire Linux system.

Oracle recommends to set SEMMNI to a minimum value of 100.

The SEMMNS Parameter

This parameter defines the total number of semaphores (not semaphore set) in the entire Linux system. A semaphore set can have more than one semaphore, and according to the semget(2) man page, values greater than SEMMSL * SEMMNI makes it irrelevant.

Setting it to a minimum value of 256 is for initial Oracle installation only. Oracle recommends to set SEMMNS to the sum of the PROCESSES parameter for each database on the system, adding the largest PROCESSES twice, and then adding 10 for each DB.

The maximum number of semaphores that can be allocated on a Linux system will be the lesser of: SEMMNS or (SEMMSL * SEMMNI)

Setting SEMMSL and SEMMNI to 100 makes sure that SEMMNS semaphores can be allocated as determined by the above calculation.

The SEMOPM Parameter

This parameter defines the maximum number of semaphore operations that can be performed per semop(2) system call.

The semop(2) function provides the ability to do operations for multiple semaphores with one semop(2) system call. Since a semaphore set can have the maximum number of SEMMSL semaphores per semaphore set, it is often recommended to set SEMOPM equal to SEMMSL.

Oracle recommends to set SEMOPM to a minimum value of 100.

10- Setting semaphores

First of all to avoid wasting your time if you want to undo the following settings take a backup for this file "sysctl.conf" by using this command:

Setting the Semaphore Kernel Parameters

To make the change permanent, add or change the following line in the file /etc/sysctl.conf. This file is used during the boot process.

Alternatively, you can use sysctl(8) to change it:

To see the new updated semaphore settings, run:

11- Setting Shell Limits for the Oracle User (steps 12 & 13)

If you just install a small test database, then you might be ok with the current settings (note that the limits very often vary). But for (larger) production databases, you should increase the following shell limits to the following values recommended by Oracle:

The nofile option denotes the maximum number of open file descriptors, and nproc denotes the maximum number of processes available to a single user.

To see all shell limits, execute:

12- Setting the file handles

The maximum number of file handles can be changed in the proc file system without reboot:

Alternatively, you can use sysctl(8) to change it:

To make the change permanent, add or change the following line in the file /etc/sysctl.conf. This file is used during the boot process.

13- Setting the shell limits for the Oracle user

Now login to the oracle account again since the changes will become effective for new login sessions only.

To change this, you have to edit the file /etc/security/limits.conf as root and add the following lines, respectively:

Now login to the oracle account again since the changes will become effective for new login sessions only.

The default limit for oracle is now 4096 and the oracle user can increase the number of file handles up to 63536:

To make this change permanent, add "ulimit -n 63536" (for Bash) to the ~oracle/.bash_profile file which is the user startup file for the Bash shell on Mandrake Linux (to verify your shell run: echo $SHELL). To do this you could simply copy/paste the following commands for the oracle's Bash shell:

PAM modules are required for performing login

This is the PAM module that will read the /etc/security/limits.conf file. You need to add the following entry to these files: (1) /etc/pam.d/system-auth (2) /etc/pam.d/sshd (3) /etc/pam.d/su (4) /etc/pam.d/login

14- Setting Limits for the Maximum Number of Processes for the Oracle User

To see the current limit of the maximum number of processes for the oracle user, run:

Note that the ulimit options are different for other shells.

To change the "soft" and "hard" limits for the maximum number of processes for the oracle user (as ROOT), add the following lines to the /etc/security/limits.conf file:

To make this change permanent, add "ulimit -u 16384" (for Bash) to the ~oracle/.bash_profile file which is the user startup file for the Bash shell on Red Hat Linux (to verify your shell run: echo $SHELL). To do this you could simply copy/paste the following commands for the oracle's Bash shell:

15- Creating Oracle Directories

For Oracle10g you only need to create the directory for $ORACLE_BASE:

16- Setting Oracle enviorments

To have these environment variables set automatically each time you login as oracle, you can add these environment variables to the ~oracle/.bash_profile file which is the user startup file for the Bash shell on Red Hat Linux. To do this you could simply copy/paste the following commands to make these settings permanent for your oracle's Bash shell:

SID = "System Identifier" whicjh is the global databse name

17- Before you execute runInstaller, make sure the Oracle environment variables are set. You can verify the settings by running the set command:

InstallFest Q and A

InstallFest Q and A

In order to have this event running smoothly we need as much information as we can get from the people involved and also to answer all questions that visitors my ask.

What is an Installfest?

Linux community common word for : "installation festival"; Linux user groups run this event to introduce foss and install gnu/linux on visitor's computers. Computer users are invited to bring their machines to have GNU/Linux installed on their machines. The idea is to ease migrating to Linux, which is initially installing and configuring it for the user's machine.

What will happen in this Installfest?

if you are visiting us alone (without your pc) you will find some people who use free software and they also have some experience in other OS,they will be pleased to explain it for you. But if you bring your pc and you need to install gnu/linux you're also welcome, just make one suitable partition with 5 GB free. or unallocated space. If you can not do this it's ok just defrag your harddisk or have at least one partition that has free space.

I heard about the free thing! i think it will be mess? or it will be freak command line..

The word free has nothing to do with the price .It means freedom. And about the freak command line, you will see some intresting window transparency and more cool applications, seems that you are outdated check.

I have some knowledge can i help ?

Hey I had a Linux course but I feel Linux is not suitable for my desktop

I have GNU/Linux installed what to do ?

We encourage everyone to bring a computer on which he can install Linux. Any distribution, any version. Several members often bring in CDs, so all you really need to do is bring in a computer. Some people bring spare monitors, keyboards, and mice as well as power cables and power strips, but we encourage everyone to bring their own, as sometimes there's still not enough to go around, even with the spares. The more experienced members are there to lend a hand with any questions which may arise.

What to bring with me I am an M$ oriented class ?

  • defrag a partition at home, and maybe even resize it, to make room for another partition.
  • try to bring everything to make your computer work independently.
  • bring blank cds with you.
  • try to copy on your cds a gnu/linux distro.
  • wait for someone (installer to help you ).
  • After you have finished the installation, verify with the help of an installer, that the hardware in your machine has been configured properly: verify that you can listen to music, that the mouse functions, etc. The installer verifies that you have created at least one account in addition to "root".

I need my old system can I use it for a while, I am a student and there are assignments that should be reported as .doc files?

If you need only the other os for .doc file ,you can use Open Office. you can also use the old system through dual boot. Ask about this from the installer.

If my GNU/Linux crashes for any reason ,who will help ? does the Linux system give some 'not responding' messages also or not?

You are asking many questions. GNU/Linux is not related to any behavior of window$ .

Installing NetoDragon 56K modem (and other smartlink chipset modems)

NetoDragon softmodems "56k voice modem" seems to be taking over the market from Motorola's SM56. Here is the installation guide:

  1. Download the latest Linux driver
  2. Assuming that you have downloaded the file to your Windows partiton do the following: cp /path/to/driver/tarball /wherever/you/want cd /wherever/you/wanted tar -zxvf slmodem-2.9.X.tar.gz cd slmodem-2.9.X make su make install modprobe slamr slmodemd -c=YOUR COUNTRY'S NAME &

    For the 2.6 kernels you must have the kernel source installed in /usr/src/linux If you are using mandrake do as root: urpmi kernel-source

    And Happy surfing

Introduction to GNU/Linux for M$ Window$ users

1 Introduction

I will attempt to use a consistent layout for this document:



file names and directories will be emphasized like this.

Warning and Important notices will be emphasized and bold.

commands entered by a normal user will be preceded by a dollar sign $.

command entered by root will be preceded by a hash sign #.

>any output the computer produces will be in typewriter style
>preceded with arrows like this.

any input or commands you should enter will be in typewriter style.

``quotes will look like this and will be followed by a reference pointer.''
Most examples and commands are to be executed from the command prompt of the console or an X terminal, if your system automatically runs the X windows you have to open an X terminal2.

You can skip the first section completely and jump to the practical problems and solutions, I intend to use heavy referencing to make it easier to jump from different locations in the document; a table of contents is inserted at the top of the document for your convenience.

2 Conceptual Differences

1 The Nature of LINUX

You may have heard/read the names LINUX, GNU, GNU/LINUX, X WINDOWS, KDE, GNOME, RED HAT, MANDRAKE, distro and a lot of other names, in the beginning its not clear what they all mean.

You probably already know that LINUX is free, but you know there are companies selling it, and then there is all this talk about the source, what does it all mean??.

1.1 What is LINUX ?

Strictly speaking LINUX is a an operating system kernel; a kernel is the part of the operating system that is responsible for the very basic operations of your system.

``The LINUX kernel acts as a mediator for your programs and your hardware. First, it does (or arranges for) the memory management for all of the running programs (processes), and makes sure that they all get a fair (or unfair, if you please) share of the processor's cycles. In addition, it provides a nice, fairly portable interface for programs to talk to your hardware.[1]''
The LINUX kernel was first written by LINUS TORVALD when he was a student, it is now being developed by thousands of developers around the world.

Mostly when people speak about LINUX they mean the GNU/LINUX operating system which is the OS that runs your computer. GNU stands for (GNU IS NOT UNIX) it is a free clone of the popular UNIX operating system.

GNU was first written by RICHARD M STALLMAN the chairman of the Free Software Foundation http://www.fsf.org (FSF|), since the GNU system was still missing a kernel3, it was combined with the LINUX kernel to make the GNU/LINUX operating system.

GNU are all the basic tools you use in maintaining your system, it also includes lots of applications, libraries and a compiler.

1.2 What is a Distribution ?

Distributions or distros are products made by companies to simplify the installation and configuration of a GNU/LINUX operating system, some of the most popular distro are RED HAT, MANDRAKE, SUSE and DEBIAN. They are all GNU/LINUX and so they're very much similar, most software you use under LINUX is being developed independently from these distributions so applications will look and feel the same no matter what distro you use. The distro however provides you with an easy install script and wizards to automate lots of the configuration tasks, it also provides lots of precompiled packages that you can use directly without having to configure and compile yourself. The companies that make these distros also provide technical support, manuals and other services for their customers.

1.3 LINUX is Free ?!

Yes LINUX is free, but its not necessarily free as in zero price 'MAGANY'4 it is free as in freedom '7OR' this means that you the user have certain freedoms that no one can take from you.

``* The freedom to run the program, for any purpose (freedom 0).
* The freedom to study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this.
* The freedom to redistribute copies so you can help your neighbor (freedom 2).
* The freedom to improve the program, and release your improvements to the public, so that the whole community benefits. (freedom 3). Access to the source code is a precondition for this.[2]''
This simply means that you have the right to make any number of copies of GNU/LINUX and distribute them in any way you like; even selling it. And it means that you have the right to change it in anyway you like and distribute your changes.

This is not the way WINDOWS or any other commercial software is, with WINDOWS you have no legal right to make copies of it; you can't even install it on more than one computer even if its yours. And there is no way you can access the source code for WINDOWS or be able to modify it.

If you manage to modify it you are not allowed to tell the world about it, even if your modification is an important bug fix or a new feature that MICROSOFT was never going to implement.

1.4 LINUX is Open Sourced ?!

As we mentioned in the previous section in order for GNU/LINUX to be free you the user must have access to the source code5. when the code of a piece of software is available to the public to study it is called open sourced.

All free software is open sourced, but not all open sourced software is free, some programs may allow you access to the source code but you can't modify or distribute it as you please[3].

1.5 LINUX is GPLed ?!

The GPL[4] or the GNU GENERAL PUBLIC LICENSE is the most popular and strongest free software license, it is the GPL that ensures you have all the freedoms described in section 1.3, the GPL is a strong license because it is a copyleft license, copyleft (as opposed to copyright) means that if you distribute modified GPL software your modifications should be distributed under the GPL too, this ensures that no company can take a GPLed program and turn it into a secret closed one restricting its user's freedoms[5].

MICROSOFT software is distributed under an END USER LEGAL AGREEMENT that is very restrictive, any breach of this agreement (like making a copy of WINDOWS for your friends) is considered a criminal act and puts you in the risk of heavy sentences.

1.6 Who owns LINUX ?

Free software has no owners, although the FSF holds the copyrights to the GNU system and LINUS holds the copyrights and trademarks to LINUX; this only means that no one can go and make another product and call it LINUX or GNU and that no one else can claim they were the first to write LINUX.

Not even LINUS or the FSF can restrict your freedoms to use and modify the GNU/LINUX system.

1.7 We've always copied WINDOWS any way!

Or in other words, why do we need free software, if its safe to copy non free software?!

You may think it is safe to copy non free software, this is more or less true if you are a home user, but large organizations such as companies and government agencies cannot afford to run illegally copied software anymore, with the pressure generated by extra-territorial laws and international agreements such as the GATT. If you are trying to set up a small business then most probably you cannot afford the price of commercial software licenses (think of what will happen to all these offices in 'BEIN EL SARAYAT' if they had to pay for the software they use).

But free software isn't about the price only, when you buy non free software form a company like MICROSOFT, you have to rely on MICROSOFT for support and further development of the software, if you are a computer professional you have to rely on MICROSOFT for certification and training. This means more money to be paid for a foreign economy, but since LINUX is free, you can set up your own LINUX company that supports and further develops it; this way when someone buys your product or request your services the money will benefit your local economy.

With free software it doesn't matter how underdeveloped the country is or how far ahead the rest are, when technology is free we can really own it. If technology isn't free then we have to choose between reinventing the wheel or relying on others to provide us with it.

1.8 I'm not a programmer why do I need the code ?

Even if you are not a programmer the openness of the code is very important to you, its because the code is open and free that GNU/LINUX is such a reliable OS, since thousands of programmers are working on developing and fixing it.
If a anyone finds a bug they can look at the code and fix it, if you find a bug and can't fix it yourself you can report it and someone else will fix it. If there is a feature in a free software package that is missing you can hire someone to develop it for you, and if this feature is useful for many people you can probably find someone to implement it for free.

The open sourced nature of GNU/LINUX protects you from security problems and trap doors, since the system is heavily peer reviewed by the world best programmers. With WINDOWS you cannot tell if it has trap doors or not, you cannot know if it sends data about you compromising your privacy.
Actually MICROSOFT software is known to be full of secret undocumented features, for instance all office documents carry a special ID that is unique to your machine, thus compromising your privacy.

WINDOWS is notorious for its security problems and its weakness towards viri, GNU/LINUX on the other hand is very secure and no known virus was ever able to harm it thanx to its open nature.

Availability of the code also ensures that your favorite piece of software will not suddenly die because its author lost interest or got busy, since its free anyone can develop it and release new versions, you don't need to rely on one vendor.

2 The UNIX Heritage

As we told you before, GNU is a UNIX clone, so its natural that GNU/LINUX would share many common features with UNIX, it is this UNIX heritage that makes GNU/LINUX so different from M$ WINDOWS, in this section we'll explore the basic ideas behind a UNIX system.

2.1 What is UNIX anyway?

UNIX is the oldest living operating system, it was first written by KEN THOMPSON and DENNIS RITCHIE6 when they were working at AT&T, it could be considered as the grand daddy of all operating systems in use today.

AT&T licensed UNIX to many companies and universities, who in turn developed their own versions of it, which resulted to many different UNICES, these UNICES fall into the two wide categories of BSD UNIX and AT&T UNIX.

Efforts to standardize all these UNICES resulted in the POSIX standard, GNU/LINUX is very POSIX compliant.

2.2 You still use the command line? Isn't that archaic?

No not at all, most UNIX and LINUX users would tell you that the command line is much more powerful and versatile. This power of the command line is an integral part of the UNIX philosophy.

So while WINDOWS is trying very hard to get rid of the command line, GNU/LINUX relies on it for all its functionality, to the point that most graphical tools and applications rely on command driven tools to do the real work. This of course give you the best of the two worlds, and most important of all it gives you choice.

So if you prefer Graphical User Interfaces (GUI) go ahead, you'll find it as easy to use as WINDOWS and even more powerful.

But if you want to release the power of your computer and your mind try to learn the command line, its not as scary as it seems.

2.3 The UNIX philosophy

I told you that UNIX is an operating system, but to think of it as a mere OS would be a gross understatement, it is much more than that, it is a complete philosophy specifying that small and simple is better. All UNICES are geared around the idea that writing small programs that do one job but do it perfectly thus becoming tools and not applications gives the user more power since he can combine these tools and use them together to get a result that is greater than the sum of these tools.

But the efficient use of these tools depends on the creativity and intelligence of you the user.

So unlike WINDOWS which assumes you have the IQ of a potato and tries to tell you how to do things, GNU/LINUX like all UNICES waits for you to harness it and tell it what you want done.

2.4 Multi user & multi tasking

Although the UNIX command line looks a bit like the old DOS command line which still lives in the heart of WINDOWS, don't be fooled by its appearance it is much more powerful than DOS.

UNIX is from day one a multi tasking environment, which means you can run several task at the same time.

try this:

$ mpg321 somesong.mp3 &
This will start playing the MP3 you specified and returns you to the command line, now you can run another command while the song is still playing.
Its by adding & at the end of a command that you inform GNU/LINUX to run this command in the background thus leaving you free to continue your work.

But thats not all GNU/LINUX is a multi user system too, since it was designed for a networking environment it allows several users to use the computer and run different programs at the same time.

Try it your self press Ctrl-F2 and a new login screen will open, you can login with a different account, or even open a new session of the same account.

You may think this is only useful for satisfying split identity disorders, but on the contrary as you get used to GNU/LINUX you'll find many uses for this feature.

WINDOWS is not really a multiuser OS although it acts as if it is, this multi user nature of GNU/LINUX is one of the main reasons behind many confusions to new users, issues like ownership and permissions would make perfect sense when you understand the multi user nature of UNICES.

2.5 Only one tree ! or a look at the file system.

While WINDOWS is based around the idea of drives, where every partition and media has its own drive name (like C: D: E:) and each drive has its own directory tree that begins with a root directory for every drive (C:\, D:\, E:\). GNU/LINUX on the other hand follows the UNIX tradition of having only one tree. This tree has only on root directory (/) and all partition and media are connected to this tree through a process called mounting.

So in WINDOWS if I want the second partition I have to go to D:, but in GNU/LINUX I'd go to the directory /mnt/win_d

This is a bit confusing in the beginning but you'll get used to it quickly.

The fact that GNU/LINUX has only one tree, meant that it could have a much more organized file structure, where files are grouped together by their type and function instead of letting each program handle its own files in any random way. The basic file structure of GNU/LINUX is discussed in section.

2.6 Everything is a file

This is one of the most confusing yet powerful aspects of GNU/LINUX.

By everything we mean literally everything; directories are files, hard disks are files, partitions are files, Internet connections are files. EVERYTHING is a file in GNU/LINUX.

But this makes us wonder what is a file exactly??

In a very non formal way a file is just a stream of bytes, and you can usually read and write streams of bytes to the file.

Files could either be:

normal files
this includes all the files you deal with everyday like text files, binary files, MP3S and HTML documents.
directories are sometimes called folders.
this includes all devices whether real or logical, like hardisks and their partitions, mice and network connections.
named pipes
these are special files used to link the output of a program with the input of another program.
are special files used for networking and communication between different processes.

2.7 Funny Names :-)

Yes UNIX tools and programs always had funny and interesting names, GNU took this to an extreme like the pager called LESS because it is a more powerful pager than the pager called MORE.

These naming conventions reflect a whole culture; the Hackers' culture, which in itself reflects how fun and enjoyable computing could be.

This is one of GNU/LINUX'S main advantages over WINDOWS, it is fun, it doesn't try to hide its weaknesses with obscure technical messages and yet it doesn't try to sound too stupid and dumb (ala my computer style).

For an interesting look at Hackers' culture check The Jargon File http://www.tuxedo.org/ esr/jargon/html/index.html.

3 The File System

As mentioned in the previous section, the GNU/LINUX system follows the UNIX tradition by having one tree only, in this section we study with more details the organization and structure of this tree and of various file types.

3.1 File System support

One point where GNU/Linux excels is its wide support of file systems, your GNU/Linux file system could access nearly all file systems in use today7, This means that you don'thave to worry about what other OSes you or your friends use, for instance you could have all your media files stored in a windows partition so you can use them from both Linux and Windows.

originaly the native file system for GNU/Linux was minix, but then Linux finaly had its own file system called ExtFS which stands for Extended File System.

the FS most widely used today is EXT2FS.

3.2 Linux doesn't know how to defrag?!

yes can you believe it, they spent all this time and effort making it and no one thought of making a defrag utility!

but slow down, the Linux native file systems don't need a defrag utility, yes thats right ExtFS is sooo good and stable it doesn't need to defrag at all!

Windows as you are sure to know needs defraging once a month.

3.3 What about scandisk, can I forget about that too

not so fast, while Linux is much better than windows at handeling the file system, and since it is much more stable, data loss of the harddisk hardly happens without your help, but since nothing is perfect8 you still need a file system checking and repair tool, in GNU/Linux its called fsck.

most distros will run a fsck every twenty or thirty reboots, and off course if you ever restart the computer without closing the system it will do a fsck.

3.4 What if I use journaling

some file system use a technology called journalling, journalling simply means that the FS keeps track of all changes made and changes that should be made in a special table called the journal, the journal is written to the harddisk frequently, so when harddisk crash or power outage happens, the file system can go back and finish what needs to be done or undo what needs to be undone.

the native EXT3FS adds journaling to EXT2FS, thus making it more stable and giving you the benefit of nearly never running a fsck.

another nice thing about EXT3 is that it uses the same structure as EXT2 this means that migrating from EXT2 to EXT3 or back takes seconds and there is no risk of data loss involved.

3.5 Files and their properties.

the fact that GNU/Linux uses a different file system from windows means that there are some differences in how it handels files and in the properties and attributes of these files, most of these attributes are necessary for a multiuser envirement.

you should know about these properties in order to avoid problems and be able use GNU/Linux efficiently.

3.5.1 Filenames are case sensitive

unlike windows, file names in GNU/Linux are case sensitive, this means that files foo, Foo, FOO and fOo are different files. this could cause lots of confusion when you are looking for files or applications.

very few excutables9 have capital letters but you should still be careful.

3.5.2 Linux Does Not Need Filname Extensions?

While Widows uses file extensions to determine the data type of files. GNU/Linux does not need filename extensions at all, you'll find thousands of files with no extension in your GNU/Linux system10, intead GNU/Linux uses a tool called file to determine the datatype of each file.

however note that some GUI apps specially MIME enabled apps use extensions to guess the type of media files.

you can run the file tool yourself to check the datatype of file like this

$file fubar.pdf

>fubar.pdf: Ogg-Vorbis compressed sound file

as you can see file is too smart to be fooled by a wrong extension.
$file foo

>foo: Bourne-Again shell script text executable

it can even guess what kind of text file you have
$file hello_world.cc

>hello_world.cc: ASCII C program text

as you see, file isn't always accurate, it mistooke my C++ code for C code.

3.5.3 File ownership

because of the multi user nature of GNU/Linux systems, files have ownership, since you cannot let users read each others email and delete each others work.

each file has an owner and belongs to a group. to see who owns certain files you do this

$ls -l

>-rwxrwxr- 1 foo mail 26624 Jan 27 06:02 foo

>-rw-rw-r- 1 foo code 300 Feb 7 14:15 hello_world.cc

>-rw-r-r- 1 root root 3932007 Feb 7 01:42 fubar.pdf

^^^^ ^^^^

the third column is the file ownership, the fourth column is the group.

these two values are sometimes reffered to as UID and GID (which stands for User ID and Group ID)11.

as you can see from the listing, the owner of foo is user foo and it belongs to group mail, the owner of hello_world.cc is foo and it belongs to the group code and finaly the owner of fubar.pdf is root and it belongs to group root12.

but what are groups??

groups are a way to give multiple users access to the same files or resources, all users belonging to the group mail can send and recieve mail, all users belonging to the group audio can play music, etc.

3.5.4 File Permissions

permissions are file attributes that tell the system who has access rights to files and directories.

to see file permission you need to run this command again

$ls -l

>-rwxrwxr-x 1 foo mail 26624 Jan 27 06:02 foo

>-rw-rw-r- 1 foo code 300 Feb 7 14:15 hello_world.cc

>-rw-r--- 1 root root 3932007 Feb 7 01:42 fubar.pdf

^^^^ ^^^^

the first column has the filetype and permission information, the first character __ which happens to be - in the three files listed here __ is the file type, we will ignore it for now, its these strange rwxrwr runes that we are looking for now.

the letters r, w, and x are used to represent different permissions.

stands for read permission, if you have read permission to a file you can read from it and see it content.
stands for write permission, if you have write permission to a file you can write to it and modify it.
excute permmision, if you have excute permission to a file you can run the file.
Windows uses filename extensions to determine if a file is excutable or not, GNU/Linux uses permissions instead.

but why does the listing have more than one r,w and x??

this is because there are three sets of permissions:

owner permissions13
this is the set of permission for the owner of the file, only the owner can change a files permission.
group permission
this is the set of permission for all users who belong to the files's group.
world permissions14
this is the set of permissions for all users.
each set of permissions is represented by three characters and there order is owner permissions, group permissions and world permissions, the first character is the read permission, the second character is the write permission and the third character is the execute permission. if a - is used instead of r,w or x this means no permissions.

for instance in the previous listing the file foo is readable,writable and executable by its owner the user foo, and it is also readable, writable and executable by all members of the group mail. but other users only have read and execute permissions

while the file hello_world.c is readable and writable by its owner foo and all members of the group code. other users are only allowed to read it.

and finaly the file fubar.pdf is readable and writable by the its owner the user root, other members of the group root can only read it and the rest of the world has no access to it at all.

3.5.5 Directory permissions

since directories are files, they too have the same set of permissions, but their meaning is a bit different from files.

for directories the read permission means you have the right to

if you have read permission to a directory you can list the directory contents.
if you have write permission to a directory you can modify the files contained in it or add new files.
if you have excute permission to a directory you can enter that directory.
this means that the permission to delete a file is a write permission to the directory, if you have write permission to the directory /fubar and no write perimission to the file /fubar/fu you can still delete /fubar/fu

an interesting situation occurs when you only have excute permission to a directory, in that case you have the right to enter the directory but you cannot list its content, you can however read any file in the directory if you have the permission to that file, but you cannot tell what the filenames are.

if you have read permission only you can list the files inside the directory but you cannot access them at all.

so to be able to modify a file you have to have all permissions to its parent directory.

Remember the delete permission is a directory write permission

3.6 Directory Organization

Unlike WINDOWS programs, all GNU/LINUX Programs follow a standard way of organizing files based on the content and function of the files, similar files are grouped together and put in one directory.

These directories don't have to belong to one partition, they could even belong to another computer on the network.

Lets explore these directories.

contains all programs neccesary for the correct operation of the system, they are not stored in /usr/bin because it is common to have /usr on a different location which may not be accessable for any number of reasons like a network failure.
contains all the kernel images used to boot your computer.
contains all your devices.
contains all system wide configuration files that apply to all users.
contains the home directories of all the users, users store their personal data and configuration files there. It is common to have a seperate /home partition.
contains libraries needed to run the basic operations of the system.
where most external media and extra partitions are mounted.
a virtual file system that contains special files which carry information about your system.
basic system programs that can only be used by root, needed for correct operation of the system.
contains temporary files.
all files accessible by users, contains all programs binaries, data files and documentations among other things.
all variable data like log files, different caches and print and mail spools.


The Linux Kernel HOWTO http://www.linuxdoc.org/HOWTO/Kernel-HOWTO-3.html
FSF: The Free Software Definition http://www.fsf.org/philosophy/free-sw.html
The Open Source Initiative: Open Source Definition http://www.opensource.org/docs/definition_plain.html
FSF: GNU General Public License http://www.fsf.org/licenses/gpl.html
FSF: What is Copyleft? http://www.fsf.org/licenses/licenses.html#WhatIsCopyleft

About this document ...

Main Differences Between GNU/LINUX and M$ WINDOWS

This document was generated using the LaTeX2HTML translator Version 2002-2-1 (1.70)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html -no_subdir -split 0 -show_section_numbers /tmp/lyx_tmpdir24679ybuTjF/lyx_tmpbuf0/linuxintro.tex

The translation was initiated by alaa on 2004-08-05


Arabic words written in Latin letters 'KEDA YA3NI'
The panels of KDE and GNOME usually comes with a button that looks like a black computer screen clicking on it will open a terminal.
... kernel3
The GNU kernel HURD is now nearly complete and many developers are using it right now.
Although it is most of the time.
... code5
The source code is a detailed description of a program written in a programming language, LINUX and GNU are written in C.
... Ritchie6
Who was the author of the C language
... today7
This needs some special kernel configuration though, most distros will support the very popular file systems.
... perfect8
specially the power supply
... excutables9
files that run applications and programs
... system10
file name extensions are usually three characters that follow the dot (.) like .ogg in foo.ogg
actualy UID and GID are usualy used to refer to a numerical ID that identifies users and groups. to see a listing of files with numerical UID and GID data instead run this
$ls -ln
... root12
the root user's UID is always 0
... [owner permissions13
sometimes refered to as user permission
... [world permissions14
sometimes refered to as others permissions
bin stands for binaries, directories called bin contain excutable files and programs.

Introductory to CFEngine session slides

CFEngine 1

  1. Introduction
  2. Short look at FAI (Fully Automated Installation)
  3. CFEngine
    1. Why to use
    2. How it works
  4. An Example
  5. CFEngine and networks

CFEngine 2

Task : maintain a network

  • install machines
  • configuration machines
  • change configuration
  • reinstall machines
  • document configuration

Solution well defined method & values

  • Instatllation via FAI
  • configuration via CFEngine
  • maintain config value via :
    • text file
    • X.500 (ldap)

CFEngine 3 (fai Example 1)


  1. Install fai.
  2. FAI setup :
    1. debootstrap nfs root
    2. base.tgz
    3. additional software
    4. add user fai
  3. Configure fai
  • package group :
    • base
    • server
    • X11
    • KDE
    • Router
  • disc config : server -> wks1 router -> wks2
  • profiles :
    • server : base,server
    • wks : base,X11,KDE
  • resolve profiles :
    • srv_.* --> Server.
    • wks1_.* --> wks1.
    • router_.* --> Router.


  • MAC1 = srv_myserver
  • MAC2...n = wks_1 ....wks1_n
  • MACx... = rtr_myrouter

CFEngine 4 (fai Example 2)


  • booting
  • mounting nfs root
  • resolve valid profiles
  • partition disks
  • untar base.tgz
  • install software
  • configure mahine
  • reboot

  • installation 10-20 minutes .
  • parallel installation .
  • full automatic.
  • well defined values.
  • create installation.

CFEngine 5 (Advantages)

  • different hardware.
  • different os.
  • diffrerent distributions.
  • different configurations.

  • easy to maintain
  • easy to document.

CFEngine 6

CFEngine runs local.

Actions :

  • Files
  • editfiles
  • copy
  • shellcommands


  • Any
  • Build in
  • Set defined
    • by modules
    • inside cfengine

modules :

  • self written
  • can defined
    • classes
    • variable

CFEngine 7

Example :

  • /etc/cfengine/cfagent.conf

generate configuration .

  • /etc/cfengine/cf.cairo

code to push values to target files

  • /etc/cfcairo/cairomodules.pl

module to export our values for cfengine

  • /etc/cfcairo/cairovar

our values for configuration.

CFEngine 8

  1. cfservd.con
  • which server to trust
  • which network is allowed to connect
  • how to handle keys
  1. update.conf

perform actions before regular cfagent run

like : copy new value files. copy new cf code.

  1. cfrun host_1 host_2 host_3
  • check key
  • call cfagent on each host

Learn How to use GNU/Linux

Learn How To Use GNU/Linux: Lesson One

hi everyone and welcome i'll talk about the installition of mandrake linux 10 operating system

first of all i want to say that you can setup two operating system on your machine,what i mean is that you can install linux and windows-MS together in the same machine but i want to say that you don't need windows in anything coz linux comes with many programmes and features that provide you with everything you will need when i say everything i mean every single thing.any way it's your chooes to put both of them or just linux but if you planning to put both of them you must put Windows-MS (or what ever you planning to put) first and then install linux and it's improtant to make this DO NOT INSTALL LINUX FIRST.

Now let's start i will talk about installing linux Mandrake 10.

1-when you turn your computer on press on DELETE button you will enter a blue screen called 'BIOS', look for 'BIOS feature setup' then look for 'Boot sequence' and make it 'Boot from cd' by using the page up and page down button.

2-then press ESC and chooes 'save and exit' then press Y don't forget to put the first cd in the cd-room .

3-after restarting the machine a blue screen will come to you asking you to press F1 if you want help or Enter if want to install linux ... Press Enter and it will start to copying the files to your machine and it will take up to 10 min.

4-After copying files you will be asked to choose the language choose'US ENglish' and if you would like to add the arabic to your machine choose advance and select the arabic and the unicode then click ok .

5-choose that you are agree with the tearm.

6- Now you must select the installation class,and you have here to type the first one is 'Recommended' and 'Expert' select the fist one which is 'Recommended' then press install.

7-this is the most important step and it's about how to partitioning your hard disk, select from the list infront of you the option 'custom hard partitioning' then press ok.

you will find the partitions that in your hard disk and the one you prepared to the linux (your must prepare a 10 GB formated space for linux) you will find it with blue color,select it with the mouse then press on the auto alocate and it will partitioning it for you you must find two partition with red color and a small one with green color (swap).

9-after you do this press done and it will ask you if you are sure and choose yes,then you will have to select the programmes you want to install in the system then press ok.

now it will install all the programmes you want and will ask you to change the cds so stay near the computer.

10-it will ask you for a password for the root enter the password that you like and make sure not to forget it .

11-It will ask you then to create a user so create a one to use it.

12-select the way you will connect to the net if it by "Normal Modem connection" or "ADSL" or whatever you using to connect to the net.

13-create a new dial up if then click ok

14-press ok

15-press yes

16-press no

17-press ok

18-remove the cd form the cd-room and then don't do anything till you enter the linuc then chooes the desktop you want and make it KDE then Next then cancel .

now you had instaled linux and get party

Learn How to Use GNU/Linux: lesson 2

Now i'll talk about the directories of your system. when you are on the root path

and list your directories with the ls command : bin/ boot/ dev/ etc/ home/ initrd/ lib/ mnt/ opt/ proc/ root/ sbin/ sys/ tmp/ usr/ var/

as You see there are alot of directories so i'll start explaining them,Now i'll explain the /bin directory .

this directory you will find all the command line that you use and can use in the linux shell. you can get to this directory by using the following:

this will list all the command line you using in the shell and this is a very important directory.

To get to this directory you have to do the following:

1-get out of the current directory by using

2-then enter the /etc directory by using

you can use two ways to do that,the pervious way or a simple way which is

this will take you to the etc directory now i'll take about this directory what is it? this directory contain the configuration file of all the programes,contain the file which end with .conf as the lilo.conf file ,how can you find this file for example use the following

then press tab and it will list all the configuration files which start with l . i'll talk now about the /usr directory

enter this directory,you can use the same way i mentioned. this directory contain all the programes used by all users on you system. in linux operating system everything is a file the keybord mous and the monitor everything is a file. let my explain to you

enter the /dev directory and list the files in this directory as you know (use the ls command line) you will find alot of file with many color this is the hardware and the device you use and can use in your system,DON'T DELE TE ANY FILE if you aren't proffesional and you will find your hard disk with name /hda and so on....

this directory contain the Linux kernel and the adminstration only can move it to anywhere you want for his personal resones.

as i said befor you can't do anything in this directory,this is the most important area and directory in the linux system.

also like root can't do anything here you can watch but don't touch anything.

this is the temporary files directory,when you open a file or browse the net or make a text file the linux make a temporary file of it and save it in the tmp directory

this contain the lib files which make the programe run and make it know it's job.

this directory contain all the users directory,if a new user create an account on the system ,the linux will create a directory with the user name in the /home directory so it contain all the users directory.

this directory contain the partitions you have in your hard disk and the will be named as following:

Win_c for directory c:

win_d for directory d:

and so on...

BY this i finshed my lesson about the linux directory and now you know all the information you need about the linux director.

Learn How to use GNU/Linux: lesson 3

You Can get help anytime anywhere while you are using linux by using the man command.

The man command is a short word for manual pages, Linux distribution comes with manual pages for nearly each utility, command, or programming system call.

So you can get any information you need about any command in linux system even command man itself can get information about it just by typing :

Manual pages started out in UNIX as one-page descriptions,In linux manual pages are found under /usr/man or /usr/share/man/

all the manual pages are named with a single-digit extension that refers to a directory that contain man page about specific thing.

what i mean is if you look at the table below you will understand what i'm trying to say:


pages, and others


Every manual page usually has a number of sections, with the documentation for the command broken down into sections as in the next table:

The man command searches for manual pages according to instructions in the man.config file under the /etc directory. These instructions define the default directories for man command in which to look for manual pages.

for example let's say that you need help with a simple command like ls what should you do ?

just in the shell type

the output for you will be a text file of all the option and information of how to use the List command (ls) and it's as vi text editor to exit from it just click anykey then type :q then press enter

hope you all like this lesson and this command will make you understand linux and become a proffisional user of linux operating system

Learn How to use GNU/Linux: Lesson 4

In this lesson i'll talk about three important commands lines,the first one is the FIND command line..

this command line is a powerfull searching command you can use it to find files which is on your hard disk,

for example to search for spell command under the /usr directory you have to do:

let's say that you want to find a file but you can't remember the name but you remember the date you create that file and the time,for example in the last 50 days you will have to use the following:

To find any file ,either new or modified that are one or fewer days old in the /usr/bin you have to use :

and that's all you need to know about the find command line next i'll talk about the whereis command line .

This command is used to find the file's binary source and manual pages reside for example if you want to find the find command line use the following

you can also use whereis to find only the binary version of the program by:

  1. whereis -b find find: /bin/find /usr/bin/find

    let's say that you didn't find your request ,what you will get will be like this:


    and that's all you need to know about whereis also

    this command like the help command this command give you help and a summaries about any programme or command line let's say you want to know what is whereis comman line all you have to do is :

    1. whatis whereis

      but first you have to do an update for whatis database ..don't get banic all you have to do is type the following command and it will do it for you while you drinking your coffe

      so as i said to use this command after updating it's database all what you have to do is write whatis and the programme

      name or command name you want to know it and be this i finshed my lesson and see you in the next lesson

What's the funniest thing about the linux kernel?

Assalamu Alaikum,

If the post is out place than kindly suggest what's a better forum for it. Anyways I went and met some eglug members at Sakia on Saturday. I spoke with one of them for awhile. I already forgot his name because I am terrible with names. He asked me about kernel hacking I said I don't do it but I am highly amused by the kernel comments. I tried to show him this ascii diagram in the kernel source but I couldn't really remember the file it was in and I even forgot it was in the 2.4 kernel source not the 2.6 kernel source which was what that particular distro was using I was searching on. Anyways if you have the 2.4 kernel sources find the file dmi_scan.c check around line 350 or grep the file for Win98. If you want to laugh some more read all the comments in the file.

Learn How to use GNU/Linux : lesson5

Here we will continue with the shell commands lessons now i will take about some command the first one is touch:

The touch command is easy to use, and generally, there are two reasons to use it

1- create a file

2-update a file’s modification date.

The touch command has several options.

To create a file with touch, use

  1. touch newfile
  2. ls -l newfile -rw-rw-r-- 1 bball bball 0 Nov 13 08:50 newfile

    As you can see, touch created a file with size of zero. You can also use

    1. > newfile2
    2. ls -l new* -rw-rw-r-- 1 bball bball 0 Nov 13 08:50 newfile -rw-rw-r-- 1 bball bball 0 Nov 13 08:54 newfile2

      Like touch, this creates a file with size of zero.

      So why use touch Because touch will update a file’s date or time. You can use touch to change a file’s date or time to the past or the future, for example:

      1. touch newfile2
      2. ls -l newfile2 -rw-rw-r-- 1 bball bball 0 Nov 13 09:04 newfile2

        As you can see, the file newfile2 now has a timestamp 10 minutes younger.

        thes are the thing you can do by using touch command line.

        This command use to remove (rm) the files and Should be used

        cautiously. Why? Because when rm deletes a file, it is gone

        Always running Linux while logged in as the root operator and using the rm command has caused many untold tales of woe and grief.

        with this simple command you can delete out not only your Linux system, but also any mounted filesystems, including DOS partitions, flash RAM cards, or removable hard drives by using the command :

        1. rm -fr /*

          The rm command can used to remove many file one time and you can use anyone of the following:

          1. rm file
          2. rm file1 file2 file2
          3. rm file*

            the safest way to use this command is with the i option so you will be asked if you really want to remove this file or not as the next:

            1. rm -i new* rm: remove `newfile’? y rm: remove `newfile2'? y

              You can also force file deletion by using the -f option, as in

              1. rm -f new*

                If you try to use the rm command to delete a directory it will not work even if it's empty and you used the force option the file will give you an output saying he can't delete the directory as in:

                1. rm -f temp* rm: temp: is a directory rm: temp2: is a directory

                  But if you used the force and recursive option you will be able to remove directory:

                  1. rm -fr temp*

                    becaues the force and recursive options make the rm command act like rmdir command so if you want to delete a directory use this command .

                    and that's for today and see you all in next lesson

                    ready to answer any questions

Linux OS overview benefits

Cause of the last days mostly talking about GNU/Linux as the present/future OS and all organizations on all over the world aware about it and follow it as it's the Perfect efficiency, Low Price: (You don't need to spend time and money to obtain licenses since Linux and much of it's software come with the GNU General Public License),

Stability: Linux doesn't need to be rebooted periodically to maintain performance levels. It doesn't freeze up or slow down over time due to memory leaks and , Great in performance provides persistent high performance, Network :client and server systems can be easily set up on any computer running Linux. Flexibility: Linux can be used for high performance server applications, desktop applications, and embedded systems. You can save disk space by only installing the components needed for a particular use.

Compatibility: It runs all common Unix software packages , Windows apps. and more powerful applications and can process all common file formats.

Choice: The large number of Linux distributions gives you a choice. Installation: user-friendly installation and setup programs

Full use of hard disk: Linux continues work well even when the hard disk is almost full

Multitasking: Linux is designed to do many things at the same time (GREAT , intelligent and powerful scheduling for tasks )

Security: Linux is one of the most secure operating systems. "Walls" and flexible file access permission intelligent systems prevent access by unwanted visitors or viruses.

Open source: If you develop software that requires knowledge or modification of the operating system code, Linux's source code is at your fingertips

And More …. More more more………………

Today, the combination of inexpensive computers and free high-quality Linux operating system and software provide incredibly low-cost solutions for both basic home office use and high-performance business and science applications

MAY always will be one question ( WHY ) ; Windows is simple for End-user uses and no need for complexity , that's right ; but ..at first Computer days it was also the Batching , MS-DOS and windows were a complexity and the computer it self was a complexity , something more is that in the near future all PCs running windows at the current days , they'll run Linux that provides incredibly low-cost solutions for examples like the big Organization , Corporation and Foundations (Jaguar , Ford ….) so due to that we hope that we can present you a way to follow it to be able to act with this OS revolution switch

yours Mina r.

Linux Software Projects ... any one want to develop?

Many of computer science students asking about a project ideas to develop in the courses or in graduation projects to help in linux development.

So, in this page we will add any idea we want to see it in linux platforms and people will see it and start to implement if they want.

we will categorise the projects.

  • DBMS
    • MySQL Forms, A form builder based on MySQL Server.
  • Networking
    • IP, DNS configuration tool.
    • Apache Configuration Tool.
  • Multimedia
    • Arabic subtitles for xine backend
  • Arabization
    • OCR
    • Text to speech
    • Speech recognition
    • Scribus
  • Distributions
  • Tools
    • Tool to edit the fstab file.
  • Internet Applications

It is much better to improve an existing project rather than starting from scratch, also it is better to read standards that apply to a certain field and follow their instructions.

MEPIS - Reasons to try it

Based on Debian, SimplyMEPIS is gaining lots of popularity - it's now on the top 4 in distrowatch for this month, exceeding Gentoo, Ubuntu and even Debian itself !

I'm not going to write a full reveiw about MEPIS. I'll just tell you why I like it and what I'd like to see fixed.

SimplyMEPIS is a LiveCD, you can run it directly from the CD-ROM or install it to your hard drive. Here is where things get nice - the easiest and fastest installation I've ever seen, with almost no questions asked. Now that's what I call newbie-friendly !

That's the main reason I like MEPIS: it's basically a Debian system that simply WORKS without the hassle & long installation. Almost everything comes ready out-of-the box, including browser plugins !

MEPIS tools include the installation program, System Center & User utilities. They're very easy to use but they're nowhere near Mandrake's Configuration Center. It was easy to setup the nvidia driver with TwinView from the system center - something I really liked.

I really hope people will give it a try, I'm sure many of you will keep it. I'm using it for a month now and I'm really satisfied with it.


In a nutshell: You get a robust Debian system at a glance.

Meeting About AAST

we had another small meeting to talk about what kind of events we can do @ aast and also we talked about some other topics

people attended :

  1. ShErbO
  2. Mina_linux_tux
  3. deftones
  4. Kiven_09
  5. DarKnesS_WolF

we started at 7 , all of us was there befour 7 excpet deftones who was late for a while but mina_linux_tux told us he will be late . 1st we talked again about the courses and then what we can do at aast

Alex courses in net cafes

we talk a short time talking about it cuz mina_linux_tux and deftones wasn`t in the 1st meeting .. we talked about the course head lines and it seems good we will use mandrake 10.1 and mandrake docs as material ... we are wating for our 1st 8 students to start. and mina_linux_tux can give advanced / programing under linux courses if it`s needed. we want to make the 1st course as a test to c if we want to add or remove anything from the course it self so we guess it's better to be for our friends , and it will take about 8 ~ 10 hours. mina_linux_tux will talk to another net cafes to see if we can give free courses there too

AAST events

mina_linux_Tux talked about about what he had reached with aast guys , thay can give us lab to do semminar or installfest and IEEE can give a semminar with us too if we want. and he will set a meeting with the aast guy and the event will start in the beginning of the 2nd term since exames are close ..

i guess that was all

P.S guys from the meeting if i forget anything feel free to post it ;)

Mysql Basics

Start MySql

$/etc/init.d/mysqld start
Starting MySQL:                                            [  OK  ]

Open mysql command line :

$ mysql -u root -p
password : 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 4.0.20
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

if root haven't password remove -p

Show Databases :

mysql> show databases;
| Database |
+---------- +
| drupal    |
| mysql     |
| test      |
| tmp       |

Open database :

mysql> use mysql;
Reading table information for completion of table and column names
Database changed

Read table information:

mysql>show tables;
| Tables_in_mysql |
| columns_priv    |
| db              |
| func            |
| host            |
| tables_priv     |
| user            |
6 rows in set (0.00 sec)

Create new Database:

mysql> create database hazem;
Query OK, 1 row affected (0.16 sec)

Create Tables:

mysql> create table Friends(id integer , name char(20));
Query OK, 0 rows affected (0.01 sec)

Insert Data into table:

mysql> insert into Friends values(1,'alaa');
Query OK, 1 row affected (0.00 sec)

Read information of table :

mysql> select * from Friends;
| id   | name      |
|    1 | alaa      |
|    2 | manal     |
|    3 | MSameer   |
|    3 | OneOfOne  |
|    3 | BlueViper |
|    3 | Yousef    |
6 rows in set (0.07 sec)

Delete Table :

mysql> drop tablen Friends;
Query OK, 0 rows affected (0.05 sec)

Drop Database

mysql> drop database mysql;

Close Mysql :


Network HowTo ( Should be translated to Arabic )

Arabic Network Howto for any distro:

The following is just a quick draft. Not even in Arabic. But eventually should be. Needs to be translated.

1) Loading your ethernet card driver.

2) Setting up the network.


After loading your driver you can get sure that it is recognized by typing

Usually your card will have network interface name eth0. If your router/modem is running a DHCP server (in other words is set to automaticly give ip addressses to devices connected to it) just use

Static IP

Here you must know mainly three things:

  • The IP range of addresses you are allowed to take and
  • The IP address of the gateway (router)
  • An IP address of any DNS server (usually your router acts as a DNS server for you so you the IP address of the DNS is usually that of your router)

Give yourself an IP.

Where is your IP.

Specify the gateway

Where is the IP of your router or DSL Modem.

Specify DNS servers

Edit /etc/resolve.conf and put some DNS servers. Put the following

Where again is the IP of your router or DSL Modem.

Notes on Drupal


What is a CMS ?

highly philosophical question, no clear answer.

one must understand how the web is built out of HTML pages, CMS systems simplify the process of publishing and generating these HTML pages and make it possible to allow website visitors to contribute content (as in forums, comments, or even wikis).


there are 4 major platforms for web applications including CMSs

  1. CGI
  2. Java
  3. LAMP
  4. .Net

LAMP is by far the cheapest, most popular and most widely supported, since LAMP is built on FOSS and is very easy and cheap to build for, deploy, run and maintain. there are thousands of FOSS projects that provide you with useful packaged webapplications that you can start using immediately.

this enables anyone to have a complex and rich website (or benefit from other webapplications), Drupal is one among a huge variety of FOSS, ready to run, easy to use CMS systems.

What should I expect from a CMS

  • Interface for creating, editing, moving, deleting, etc pages
  • Navigation
  • User Management, accounts, permissions, profiles etc
  • RSS Syndication
  • Themes
  • Search
  • standalone modules or applications (forums, calendars, wikis, surveys)

Drupal offers

  • Great platform for community websites
  • Special support for cheap hosting situations
  • Vibrant community, fast development process
  • many many useful modules
  • translated to many languages (EGLUG and Arabeyes working on Arabic Translation)
  • Easy to use (relative to its power and flexibility, there are easier systems)
  • support for multiple user roles
  • support for complex categorization of content
  • different content types
  • powerfull syndicated content aggregation
  • multiple methods of data input
  • multiple ways to make themes
  • easy to build themes
  • easy to develop new modules and extensions

Steps involved in installing Drupal (or any webapp)

  1. get hosting space that supports PHP+Mysql or configure your own webserver

  1. unpack package
  2. edit configuration file (only 2 things need to be set in drupal)
  3. upload files (typically using ftp)
  4. create and prepare database (typically using command line or phpMyAdmin)
  5. create admin account
  6. configure periodic actions (cronjob)

we do not cover installing drupal today, the details will differ according to your hosting service, and the platform you use at home.

check the drupal documentation and post any questions on the EGLUG forums, those who need help making a local installation on their GNU/Linux pcs can seek help on Saturday gatherings.

Steps involved in creating a website using drupal

  1. Configure Drupal
  2. Add extra modules (maybe develop your own)
  3. Configure Modules
  4. Choose Theme (or create new theme)
  5. design category taxonomy
  6. design site navigation and content layout
  7. Decide on User roles (author, editor, admin, etc.), brief members of different roles (workflow)
  8. create static content
  9. populate with dynamic content, maintain site (ongoing process)
  10. monitor reader activity, errors, complaints etc.
  11. keep track of new modules, updates, new versions
  12. measure performance and configure throttle accordingly
  13. contribute back to drupal community

Tour Through Drupal

we will assume a site with the typical roles Author, Editor, WebAdmin



  • create content
  • edit own content
  • submit content for publishing or publish directly (depending on workflow)
  • categorize content according to existing categories


  • look at create content page
  • look at content creating/edit form
  • quick look at built in content types
  • quick look at important extra content types



  • everything author does
  • edit anyone's content
  • mass administer content
  • administer comments
  • create and maintain categorization system
  • review content categorization


  • administer content
  • administer comments
  • taxonomy creation, editing etc
  • quick look at modules that build on top of taxonomy



  • everything editor can do
  • configure theme
  • configure website
  • enable/disable modules
  • configure modules
  • manage user accounts, permissions, roles etc
  • track user activities and system logs
  • configure input formats
  • configure content types
  • configure workflow (limited)


  • admin menu
  • admin->themes
  • admin->modules
  • admin->settings menu
  • admin->users
  • watchdog, system logs
  • admin->input formats
  • admin->content types

Notes on the 1st GNU\Linux course

Sun 1-8-2004



  • Free Software (4 freedoms)
  • Open Source (security in Linux)
  • Q: Benefits of Free Software\Open Source
    • Do it yourself
    • Limited markets\needs (e.g gimp module for color blind ppl)
    • Price (legal)


  • What is Booting?
    • BIOS
  • General rules of installing a new operating system?
    • Partitioning
    • Package Selection
    • Locale selection
    • Hardware configuration
    • Boot Loader
    • Network configuration
  • Partions in Linux:
    • at least 2
    • swap
  • Hardware problems?
    • with internal modems
    • Linux comes with all drivers
  • Security:
    • Levels
    • Administrator (root user)
  • Partitioning:
    • If you have windows there will be 1 more options (use free space on windows)
    • You need to defrag before resizing a windows partition
  • Custom disk partitioning
  • types of file system
    • use journalized ext3
  • Packages:
    • Desktop layers
    • LSB: Linux standard Base
    • If you choose to install servers, Mandrake makes sure of your choice (security)
  • Users
    • / and the root user are not related
    • Multiuser system
    • Administrator is the only user who can change the settings of the system
    • you need to press accept user before you press next
  • Boot Loader
    • accept the suggested options

There was an error in the Cds so we delayed the rest of the installation demonstration to the 2nd session and skiped to Desktop demonstration.


  • Clipboard
  • Maximize, Minimize
  • Mandrake Documentation

What do use Computer in?

  • Office
  • Internet
  • Multimedia
  • Programming:
    • C++ (can do it on Linux)
    • C# (under developmnet)
    • C (can do it on Linux)
    • Visual Basic (Gambas is similar)
    • Visual C++ (can't do it, it's a M$ product)
    • Java (can do it on Linux)
    • Scripting (perl, python, php)
    • for embeded devices (can do it on Linux)
  • Graphics
    • photoshop (GIMP)
    • flash

Tue 3-8-2004


Installation (cont.)

  • root user, useers
  • Location
  • Time Zone
    • GMT (Don't select it if yoou are using windows)
    • ???
  • Network
    • Installer thinks you are using dhcp, but you need to configure the network
    • LAN connection (also if you have DSL @ home)
    • choose eth0
    • ignore that it's already detected and manual config it
    • remove network hot plugin option (useful if you will remove the cable in the middle of the install)
    • configure the network same as we configured it before (59, 60, 61, 62, 29, 63, 64) gateway (1.1)
  • DNS:
  • Firewall:
    • everything allowed
  • Updates
    • select No
  • Last screen: (Advanced button)
    • Auto install floppy (useful if you will install on other identical PCs)
    • Save package selection (useful if you will install on other different PCs and you want to install the same set of packages)

Will need to install:

  • Mozilla (better do it while installation)
  • Scribus
  • Superkaramba
  • Nvu
  • Blender
  • Inkscape
  • Lifrea


  • Add panel
  • Applets
  • KDE --> configure your desktop


  • KOffice and GnomeOffice
  • OpenOffice:
    • OOWriter (styles, export to pdf, advanced html)
    • OOCalc (more accurate, gnumeric, export to pdf)
    • OOImpress (export to pdf or macromedia flash)
    • OpenOffice has a windows version

Internet Apps:

  • Netscape 1998 --> Mozilla
  • Konquerer
  • Mozilla
    • CTRL T --> open new tabs
    • F9 --> sidebar (search, bookmarks, history)
    • sidebar is expandable (news)
    • edit --> preferences --> languages (make default character encoding windows 1256)
    • Apperance ==> plugins (XUL platform)
  • Mozilla mail
    • same as outlook express
    • can open newsgroups
    • scripts to get your email from yahoo, hotmail, gmail
  • Kontact
    • same as Microsoft Outlook
    • to do + mail + ...
  • Kolab
  • Kopete
    • needs upgrade for yahoo and msn
    • video & voice chat not supported yet (working on it in gaim)
    • plugins (dictionary, encryption)
  • Konquerer
    • network icon (sftp://ip)
  • Liferea
    • get RSS feed of EGLUG
    • In preferences: use browser command (mozilla %s)
  • gftp
  • kget (equivalent to getright)


  • Totem (get movies from sftp://
  • Gmplayer and Mplayer
  • Gimp 2 (/usr/share/wallpapers)
  • Gqview
    • duplicate (grap all & drop, compare by)
    • info about digital images
    • Sort manager
  • kdeinlive (similar to moviemaker)
    • Cinelara (hard), Avidimux (easy)
  • Audicity
    • Ardur (hard)
  • Blender (equivalent tp 3dmax)
    • export source code to OpenGL
    • scripts with python (3d interactive)
    • filter ability
    • Blender interactive version generates executables for windows, makintosh and Linux
  • Inkscape
    • supports svg
    • make paths that you can use for filters or selection areas in gimp
  • Qcad (office --> graphs)
  • Superkaramba
    • /usr/share/apps/superkaramba/themes
    • move it eith ALT
  • Nvu
  • Gnucash (office --> finances)
  • Scribus (equivalent to publisher, quarkx express)
    • desktopp publishing tools
    • no arabic support yet
  • Dia: connected graphs (office --> graphs)
  • Imageseek (just mentioned it)
  • LyX

Web Apps:

70% of the web servers are apache servers

Thr 5-8-2004


Closer look on the OS (components and concepts)

  • Compatible with Unix
  • GNU\Linux didn't take of Unix but is similar to it
  • Simplicity:
    • single task, do it well
    • procedure for communication
  • Linux kernel:
    • hardware drivers
    • networking
    • file system
  • GNU tools:
  • GNU Development tools:
    • libraries
    • compilers (install, build)
    • use it if you want to compile a driver for example
  • we can say that Linux consists of:
    • kernel
    • GNU tools
    • GNU development tools
  • hardware
    • --> kernel
      • --> X server
        • --> desktop
  • graphical == X window system
  • login in failsafe
    • graphical interface without desktop environment
    • no panels, icons, background, borders, menu
    • CTRL + ALT + backspace to logout of graphical interface
  • Client - Server:
    • X window
    • cups (for printers)
    • sane (for scanners)
  • Samba
    • see windows network
    • see windows share
    • share from my desktop
  • services:
    • crond
    • sshd
  • Single tree
  • file names (case sensitive)
  • file system
    • choose depends on the purpose of the directory

file tree (EVERYTHING is a FILE):

  • /bin ==> programs (minimum programs only, e.g. gnu tools)
  • /boot ==> kernel (vmlinuz2.6...)
  • /etc ==> configuration files of the whole system
  • /mnt ==> mount external media
  • /root ==> home of the root user
  • /sbin ==> programs/commands that only the root can use
  • /tmp ==> temporary files
  • /var ==> files that are modified while we are working (e.g. score of a game)
  • /usr has bin, etc,.. same as /
    • /usr/bin ==> executables of all applications
    • /usr/include ==> header files
    • /usr/lib ==> libraries for apps
    • /usr/share ==> the rest of the files of each apps
      • /usr/share/doc ==> all documentations and manuals
  • /dev
    • cdroms and disks
    • cdrom, disk, partition, mouse are files from the point of view of the OS
    • ex: cat /dev/mouse , then move the mouse and observe
  • /proc ==> information about all the state of the OS and the processes that are running
    • /proc/meminfo

File types:

  • regular files
  • device files
  • sockets (client server)
  • links
  • forgot to mention hidden files

Permissions, Users & groups:

  • permissions for:
    • owner
    • group
    • others
  • permissions (for files and directories) are:
    • read
    • write
    • execute
  • directory permissioons:
    • no read ==> can't read any file in this directory even if you have permission to read the file itself
    • no write ==> can modify the files in this directory if I have write permission to them, but can't add or delete a new file in it
    • execute ==> can go through/inside it
  • Advanced: Programs have owner and group when they are running ???
    • set UID ==> give the program the permisions of the user of the file not those of who started the program
    • set GID ==> same but for the group (e.g. used in score of games)
    • sticky bit ???
    • set UID and GID have no meaning for directories

Mandrake Control Center

  • Boot Loader:
    • number of seconds befre automatic loading
    • if i added another OS after Linux and want to add it in the boot loader
    • choose the default OS
  • Hardware: (configuration)
  • Mount points:
    • partitioning, and change mount points of partitions
    • NFS for network of other Linuxes and Unixes
    • samba
    • webDAV (mount webserver directories as file system)
    • user disk sharing (allows user to make a share directory on NFS or samba)
  • Network and Internet:
    • Internet connection sharing
      • transparent proxy (caching sites, filtering, organizes the requests of all the users), no need to config the browsers of users
  • Security:
    • levels and checks
    • permissions (chooses a policy for files improtant to the system)
    • firewall (same as in installer)
  • System:
    • Menus
      • Menu style --> add link to what to do menu, then save
    • Display Manager
    • services (start, stop, boot)
    • fonts
    • date & time
    • logs (of the system)
    • console (opens command line interface)
    • users and groups:
      • can add user and group password
    • Backups
      • backup system (/etc)
      • backup users (/home)
      • Advanced (choose which directory)
      • back up where (harddisk, network, ...)
      • incremental and differential backups
  • Software Manager
    • Install and Remove
      • Mandrake choices
      • choose package by: (selection, repository, update)
      • info (maximum)
    • Updates
      • security, bug fixes, normal
      • use rsync (fastest)
    • Media Manager:
      • main: 4cds
      • contrib: 5cds (by users tested by mandrake)
      • plf: 2cds (multimedia, codecs, games, peer2peer)
      • other

(not finished yet)

How to get HELP?

  • how to open a terminal/switch to the console
  • how to run a command
  • how to run a command as root
  • Resources for this course

  • packaging --> easy urpmi
    • use the small index option (less discription) for dial up

  • wiki
  • forum
  • articles
  • #eglug (irc.freenode.org)
  • Saturdays 10 a.m. to 5 p.m

Questions Asked during the course:

Q: Where is the source code?

You can get the source code of the GNU\Linux OS and its Free Applications from the internet, visit the website of the projecr/software and you will find its source code.

Q: What is the language that is used in programming Linux?

A: The GNU\Linux operating system and its applications are programmed using different languages, among them: C, C++, perl, python, lisb, ruby.

  • The Linux kernel and the GNU tools are written in C.
  • Many of the desktop applications are written in C++, e.g. Mozilla, Open Office.
  • The Mandrake installer is written in perl

Q: Are programs on Linux small?

A: yes, they are. Each program does a specific task and does it very good, and they depend upon existing packages

Notes on the 1st GNU\Linux course At Alex

Sunday 13/02/2005


It was given by our good talker member Ahmed El-Makawy AKA Linuxawy and it was good start. The pepole liked the idea of learning something new like GNU/Linux...

Who We Are:

  • what is eglug
    • who we are ?
    • who are the pepole that will give the course
    • it`s totally Volunteer work from Eglug
    • it`s totally Volunteer work from Life Makers Alex


  • History of GNU/Linux
    • When and why Unix have been coded.
    • when and where BSD have been coded.
    • GNU' Not Unix and Richard Stallman.
    • Linus and the kernel
  • 4 Freedoms
  • GPL
  • Why Linux
    • Security
    • Open Source.
    • No worms ,no crashes and no more blue screen of death.
    • Almost no price.
    • True multiuser system.
  • What Linux Consistes Of
    • Kernel
    • X server
    • GNU tools
    • GNU Development tools
    • Desktop
  • What is Mount points
    • Linux single Tree system
    • /mnt
    • why mount?
  • Hardware problems
    • Winmodems problem.
  • How to get help
    • distro. docs.
    • Google.com/linux
    • eglug.org
    • Eglug Channel @ irc.freenode.net

  • Alex Life Makers Team Burnt 10 copies Of Mandrake Linux 10.1 Official (3CDs) And Give It To The Attendees For Free.
  • Every Attendee Had To Pay 20 Egyption Pound For The Full Course (10 Hours) As A Rent Of The Pcs To The Education Center.

Tuesday 15/02/2005


Today it was about Mandrakelinux Installation , given by Sherif Nagy AKA DarKnesS_WolF Don`t know if it was good enough or no...

Installation BackGround:

  • How to boot from the cdrom
  • what are the basic concepts of installing any oprating system:
    • Partitioning.
    • Hardware Detection.
    • Locale Selection ( Keyboard / Time / Location ).
    • Package Selection.
    • Boot Loader.

The Installation:

  • what F1 do
    • low resolution installation.
    • text mode installation.
  • How to add arabic keyboard and change Arabic To / From English.
  • Security Levels.
  • Partitioning:
    • Get the harddisk ready for Installation under windows by deleting one partition from windows.
    • Use resizing tool if u have one partition.
    • What are the 4 choices:
      • Use Free Space.
      • Erase Entire Disk.
      • Use The Free Space Of The Windows Partition.
      • Custom Disk Partitioning.
    • using Ext3
    • using custom partitioning
      • /
      • Swap
      • /home
  • what is / and what / has inside.
    • / is a directory and physical driver in the harddisk.
    • why we can have seperate /home.
    • quick look at / and what's inside it ( should be explained at another time but people asked )
  • Package Selection:
    • what are workstation packages.
    • what are servers packages.
    • what is LSB.
    • what are GUIs packages.
  • Root User:
    • password should be hard and complex.
    • very important user.
    • root home directory is /root NOT /.
    • use no password when you are the only one using the computer, no internet connection and know what u r doing.
    • using advanced options when your network is using any authentication services.
  • Add users:
    • Accept user.
    • Add more than one user.
    • user auto login KDE.
  • Boot Loader
    • install it as MBR is the best for new users.
  • Hardware Configuration:
    • Country
    • Time
    • AutoDetect the sound card / mouse / printer /
    • Network wasn`t configured yet.
    • Graphical interface
      • Card Detected
      • Must test the options.
      • choose the resolution.
    • What are Services.
    • Firewall ( No Firewall )
  • no updates since no connection.
  • Last Screen
    • Advanced
      • Create Disk to install the same system u installed.
        • ask u for partitioning.
        • remove the whole harddisk.
      • save the package selection.
    • Reboot


Thursday 17/2/2005


Today's session was about desktop usage using KDE/GNOME, popular apps on Linux. It was given by Ahmed El Sherbiny AKA ShErbO. Hope it was good enough.

  • X structure
    • What is the X server ? What does it do ?
    • What is the DE ?
    • What is the windowmanager ?
  • KDE intro
    • Virtual Desktops concept
    • Control Center
    • Panel, etc....
  • Package Management intro
    • The concept of packages
    • The purpose of packages
    • Installing RPMs graphically
  • GNOME intro
    • Nautilus
    • Various apps...
  • Popular Apps
    • Office suites discussion
    • Graphics (GIMP)
    • Multimedia (xmms, eye of gnome, xine, gmplayer etc...)
    • IM (gaim)
    • Internet (mozilla, epiphany, konqueror)

Sunday 20/2/2005


Talker was Sherif Nagy AKA DarKnesS_WolF . we just finished the half of the mandrake control center.

Mandrake Control Center.

  • Boot Section:
    • Make auto login.
    • Modify the boot loader options.
    • Changing boot theme.
  • Hardware Section:
    • Hardware and how to view our hardware info.
    • Other devices unknown to Linux.
    • Reconfigure Xserver.
    • Add printer.
    • Add Scanner.
    • How to share printer and scanner.
    • Keyboard and Mouse.
  • Mount Points:
    • Partitioning and resize howto.
    • how the linux read the /dev/hda , /dev/hdb and /dev/hda1 .
    • NFS Mount Points.
    • Samba Mount Points, to get the shared from windows PCs.
    • webdev.
    • local disk sharing and how to share dirs. in ur computer.
  • Network Section:
    • Make new connection.
    • Manage connections.
    • remove old connection.
  • we can have more than one connection.
  • proxy setup.
  • internet sharing.
  • Security:
    • what is level and checks.
      • Users and Groups in short.
    • Permissions ( r , w , x )
    • Firewall, and why we use Advanced option.


Tuesday 22/2/2005


Today Sherif Nagy AKA DarKnesS_WolF talked about some command line and the rest of Mandrake Control Center.. and was the final session

Mandrake Control Center (ctd.)

  • system
    • Menus .. and system menu.
    • Display Manager.
    • Services
      • What services do.
      • dm service.
    • Fonts and how to install tahoma font.
    • Date and time
    • Logs and searching in the system logs.
    • Users and Groups
      • How to add new user
    • Backups
      • Why backup.
      • How to backup.
      • How to restore.
  • Software Mangement
    • Install
      • Search rpms by names and description.
      • View the groups of software.
    • Remove software.
    • Updates
    • Media Manager.
      • How to add all kinds of media.
    • Drakewizard
      • What is drakewizard. and what it`s can do.

Command Line

  • cd
  • cp
    • -rf and why.
  • rm ( same way as cp )
  • mv
  • less
  • cat
  • head / tail
    • pipping between head and tail.
  • ls
  • touch
  • mkdir
  • file
  • redirect command output to a file.


  • Explain how to create apache web server and postfix mail server using drakewizard tool.
  • Creating database using MySQL.


Open-Source Definition, benefits and Problems faced and MICROSOFT

Sharing the source code to all who need it within

<>The Open Source Definition introduced by the Open Source Initiative Free redistribution: The user must be free to sell or give away the software. Source code: The program must include source code.

Derived works: The license must allow distribution of modifications and derived works.

Integrity of the author’s source code: The license may restrict source distribution only if it allows patch files to modify the program at build time.

No discrimination: The license may not restrict use of the software based on any persons, groups or fields of endeavor.

Distribution of license: The license must be automatic.

License must not be specific to a product: The license must not restrict rights to a specific product. License must not

contaminate other software: The license must not place restrictions on other software distributed with the licensed software.

1-OSS software is developed by students and lacked experience This point is so far from the truth as most of OSS are made by highly experienced people who wants to offer their effort for people ex. Linux is one of the greatest OSS - if it is not the great (it' not Alaa) - is made by thousands of highly experienced and most of them has a great background in his branch and they also have a high skills in programming concept, 2- When the leading developers leave the project, the project dies. a- In community concept there is a structure for the design if one of the leading developers leave his task will be rescheduling to other qualified b-The persons who join communities no one force them to join communities they have certain goal they want to achieve it they really want to help people. Rarely one of them leaves the community if he joins the These words says from one didn't search for support b/c the support of OSS is already exist at any time from any location there is a specified boards in almost every OSS that discuss the problems , solutions , bugs , fixes , Some old versions OSS may be complicated in GUI but recently most of OSS developers have been interested in making their program friendly user programming tools like MYSQL (remember it has two licenses one GNU

Open source software development allows programmers to cooperate freely their programs and its source code with other programmers , all these and those enhance their conceptual programming open source software increases the ratio of software quality b/c the programmer cant let a hole in the program b/c he know that there are people will inspect the code carefully Most of OSS made to be general in their branch rather than to be specific to certain problem with some simple customization it can fit your needs as you go to tailor to adjust your father clothes to fit you!!!(there is no na6oosh here) and even if they made it to certain problem like your problem you can customize the code according to the license b/c the application is OSS programmers will use this software -to feel his effort - and will spread the software to his friend but his young brother will be forced to use this software even he didn't know computer even English of course for testing

Why they didn't mention honor and unselfishness b/c these words doesn't exist in

HouseValues, Inc. Move to Windows 2000 Server from Linux Boosts Performance and Agility, Reduces Operations Costs by 50%, Saves Because there are more and better development tools available for Windows than for Linux—the difference is like night and day—we can bring new and more powerful applications to our customers more quickly and easily, and support a more robust, feature-rich Web-based

Microsoft remains adamant that commercial reasons prevent it from simply putting the source code - its "crown jewels" - in the public (cnet.com)

Source: Gartner Research

Random useless Linux tips

List of random tips

They can be distro specific, unspecific, cryptic, easy to read. It doesn't matter. Instead of scribbling your tips on a personal file, dump them here.

  • To find more info about the USE flags of package X: emerge gentoolkit && equery uses X
  • Find info about any media file : emerge mplayer add to ~/.bashrc : idmedia(){ mplayer -identify -frames 0 -ao null -vo null -vc dummy "[email protected]" 2>/dev/null | grep ID_ } ID_AUDIO_ID=0 ID_FILENAME=/media/mp3/Mortal love - All the beauty - 07 - I want to die.mp3 ID_AUDIO_CODEC=mp3 ID_AUDIO_FORMAT=85 ID_AUDIO_BITRATE=192000 ID_AUDIO_RATE=44100 ID_AUDIO_NCH=2 ID_LENGTH=591
    • Burn encrypted CDs with dm-crypt : cat some.iso | aespipe -H sha256 -e aes256 > some-encrypted.iso burn it with cdrecord (or losetup /dev/loop0 some-encrypted.iso) cryptsetup -c aes -s 256 -h sha256 create cdrom /dev/loop0 Password: (the password you used with aespipe) mount /dev/mapper/cdrom /mnt/cdrom and voila! of course you need device-mapper, dm-crypt target in the kernel, aes in cryptography.
      • Made a livecd or downloaded one and want to give it a testdrive before you burn it on CD(s)? USE=softemu emerge qemu qemu -cdrom /path/to/my.iso -boot d
        • Testing your all 1337 new kernel and don't want to actually boot with it so it wouldn't sleep with your girlfriend and kill your cats? USE=softemu emerge qemu qemu -kernel /bath/to/bzImage -initrd /path/to/initrd -append "kernel cmdline" -hda /dev/hda -snapshot

          Where :

          • kernel is the path to the kernel you want to try
          • initrd is the path to the initrd the kernel gonna use (optional)
          • append is the cmdline to pass to the kernel (ex : elevator=cfq video=vesafb:mtrr,ywrap,[email protected] rootflags=nopseudo rootfstype=reiser4 rw) (optional)
          • hda/-hdb/-hdc/-hdd are either actual devices so the kernel can use or images
          • snapshot so any modifications done to the harddisk(s) wont be saved.

          If you are using linkdotnet's 07770777 and wvdial. Add this line to wvdial.conf

          to add more virtual desktops in xfwm press ALT+INS to remove press ALT+DEL

          If for no reason you can't sync your PDA try changing permissions of the serial device chmod 666 /dev/ttyUSB1

          How to make your linux installation autologin without gdm or kdm. (xdm doesn't allow this)

          1. First read man inittab
          2. edit /etc/inittab and change this line
          1:2345:respawn:/sbin/mingetty tty1


          1:2345:respawn:/sbin/mingetty --autologin username tty1

          3. Well naturally you should now put in ~/.bash_profile the startx command. This would work but if you are logging in through a remote shell (ssh, etc.) the startx command with be issued, which is not what we want. Add the following lines in ~/.bash_profile so it issues the startx command only when logging in takes place from the console.

          if ["`tty`" = "/dev/console" -o "`tty`" = "/dev/vc/1"]
          1. init q
          2. reboot

Report On EGLUG`s Alex Members First Meeting

ok guys at last we had our 1st meeting after more than month of talking about it and only 3 members come to meeting.it`s was in El-Salam fun center in SidiGaber near the sea.

Who attended the meeting:

  1. Ahmed El-Sherbiny ( ShErbO )
  2. Ahmed El-Makawy ( Linuxawy )
  3. Sherif Nagy ( DarKnesS_WolF )

Almost we was there before 8:05 PM ( Linuxawy and me ) ShErbO was already there before 8:00 PM we waited a Little time before we start talking , and we almost started at 8:30 PM when no body ales come, and we started talking about some topics:-

Have Some Activities In a Friend Net Cafe:-

DarKnesS_WolF start talking about if we can do some free courses on some friend net cafe, and here is the points:-

  • The Cafe has 8 PCs and we can Install Mandrake on all of them with window$.
  • The Student will pay the Rent of the Pc (1.5 L.E / Hour ) For the net cafe owner , the EGLUG`s members will give the courses For FREE as volunteer work.
  • It`s Will be beginner Course. and we suggesting (Members In the Meeting )this course as a begging:-
    • Foss in general and installation.
    • Daily Using ( KDE and Gnome ) Head Lines.
    • Mandrake Control Center.
    • Some Commands such as ( cp , mv , ls , less ,cat , mkdir , rm , top , head , tail, etc.. )
  • print and photocopy some legal materials ( when he got a photocopy machine )

the owner of the net cafe had agreed today with DarKnesS_WolF on the phone. and he waiting 1st 8 students and the time to start.

Cooperation With Life Makers Alex:-

Linuxawy Start talking about what we can do for life makers alex and what they need , there is was already connection by emails and Linuxawy will Set us a Meeting with life makers alex members this week to talk about:-

  • Who will give the courses.
  • do we will teach the students or we will teach the people in life makers alex. and we suggesting to teach for the life makers people and some students in the 1st and then we see how it`s will goes.
  • they need a full course, Linuxawy and ShErbO suggested to do beginners course 1st as described above and then Advanced one and see if the people will sign in for the Advanced or we turn it to another beginners course.

and those courses will be totally FREE , 0 Cost.

Helping mo3ida in Faculty of Science Alex In Teaching GNU/Linux:-

we can say the points is:-

  • she need the course head lines.
  • she want to understand the course. and some backup.since she don`t know lots of stuff about Linux.

so we think we need a meeting with her to know exactly what she needs about that course but we think beginner course as described above will be good with alot of extra commands , how the system works and some compiling stuff to show how powerful the system is.but in that case we will need lots of help. ShErbO and DarKnesS_WolF ready to set with her and explain as much as they can about the system. and we are waiting to meet her 1st if when can and we are waiting Linuxawy to set us.

some other suggesting

  • we need a way to get more users in Alex
  • we can talk to something like asr thakaft sidigaber ( asr el tazawk ) to give free GNU/Linux courses there. but it`s may take some time.

and we finished the meeting almost at 9:45 pm.

P.S: some Pics will be posted with Linuxawy send them to me. any comments and feedback please comment.

Resources for New Users



  • Manuals included on course CDs, you can access them from more applications -> Documentation in the Mandrake menu. or you can download the PDF versions

Old Manuals

These extra manuals where written for Mandrake 9.0, they may be abit out of date but most of the information is still valid



This are sources for extra Mandrake Packages, you should not install packages made for another GNU/Linux distribution.

  • PLF which includes lots of packages that cannot be part of the Mandrake dsitribution due to complicated copyrights, they include multimedia software and codecs, peer2peer software, games, and lots of tools.
  • Contrib collection of packages made by Mandrake users and contributed as part of the general Mandrake development process, tested and guaranteed to work.
  • Main the full 4CD Mandrakepackages repository



Application documentation



Slackware Tips

For all slackers if you had install slackware and got MySQL error at the login prompt, here what you should do in shell

Write ur root password

This logs you into the 'mysql' user account. Next, run:

This will create the needed databases and set their permissions properly. Next time when u reboot your slack u will not see this error again

Solution to the DSL-500T Router problem

Solution to the DSL-500T Router problem

The only DLink ADSL router in the market, as of January 2005, in Cairo is the model DSL-500T. It is sold at around 340 EGP from a DLink distributer at a new computer mall in Heliopolis named Souq El 3asr (brands).

Before buying this model, I heard that there might be some issues with ssh connections. However, I knew that T models of DLink routers run GNU/Linux, so I didn't bother since Linux is an open platform, we are familiar with, we can hack and troubleshoot up to compiling a new kernel.

I also wanted a model that has an easy to configure firewall.

The problem

After configuring the connection and setting everything up and testing web and other services I decided to set my main PC to IP address and leave the rest as DHCP. I also decided to port forward ssh and bittorent ports to

The web and all other services were working flawlessly. Except for outgoing ssh and outgoing ftp (didn't test incoming ftp).

I decided to fiddle with the router web interface. Removing the port forwarding that I configured earlier. Nothing changed. I can not ssh or ftp to any machine.

There was no problem when using connecting through ssh via putty on a another windows box in my network.

Solving the problem

But still I can not ssh to any box. Even the login prompt doesn't appear when I try ssh.

Alaa, told me that he will help me solve the thing.

He telneted to the box and checked the active iptables rules. One of them explicitly dropped all outgoing ssh connections from!

DROP tcp -- anywhere tcp dpt:ssh

We tried to change the ip for his machine from to; ssh worked.

He returned back his ip to and then deleted this rule.

ssh worked !

The problem now is to know how the router makes this rule and find a way to avoid it. Alaa told me it was my homework.

So I decided to change my PC's ip address and thats it. So I opened the web interface. Created a new ip to forward ssh and bittorrent to. I saved the configuration, and restarted the router. All this while I was spying on the iptables rules on the router. After the changes the annoying rule was deleted.

I decided to bring things back to So I deleted the using the router's interface. Configured the port forwarding back to Restarted the router, check iptables. The rule has gone forever.

ssh worked.


DLink has no firmware updates nor any answer to this problem.

The solution in brief

Fixing the ftp

On your linux box as root type this iptables --table mangle --append OUTPUT --jump DSCP --set-dscp 0x0

Fixing the ssh

  • Open the web interface.
  • Click ADVANCED -> Port Forwarding
  • Created a new ip and delete the old one (
  • Now forward ssh and bittorrent. (If you wish)
  • Save the configuration
  • Restart the router.

Do the above while telnetting and checking the iptables rules on the router. $telnet Trying Connected to ( Escape character is '^]'. login: root password: your-web-interface-password

  1. iptables -L

    After the above steps the annoying rule should be gone.


Tracing the adv. of eglug

Translations Concepts in Drupal

here we will put the fuzzy words that was bother us and here will put translations for that words so we all use the same arabic traslations.and sure if u c somehting better tell us so we c what is better and then add it.

  • Directory: مجلد
  • Forum: منتدى
  • Blogs: مفكرة
  • Links: وصلات
  • URL: عنوان الموقع
  • Poll: أستطلاع للرأى
  • Vote: تصويت
  • Articles: مقال
  • Who's new: الأعضاء الجدد
  • Who`s online: الموجودين حاليا
  • Glossary: قاموس
  • Term: مصطلح
  • Drupal: دروبال
  • Wiki: ويكى
  • Topic: موضوع

Video encoding for dummies

Video encoding for dummies

Hmm ok, so if you've read anything I wrote before you, then should already know that writing isn't my thing..

Yep and grammar isn't my thing either

Before we start you need :

  • xvid for linux (emerge xvid or find a package for your distro).
  • lame/libmp3lame (emerge lame or find a package for your distro).
  • vorbis-tools (only for using ogg sound).
  • mkvtoolnix/libmatroska (only for using the matroska container and ogg sound)
  • mplayer/mencoder (USE="encode xvid matroska oggvorbis" emerge mplayer or find a package for your distro).
  • the ability to read and understand bad grammar.
  • some common sense (search for it in your favorite S-Mart).


  • You can use ogg as a container, however I prefer matroska and since I wrote this guide, I can choose what I like :P
  • I'm using xvid/mplayer from cvs head but it shouldn't be much different than latest _preX mplayer.

Q: How do I find info about an .avi (or any media file)? ID_VIDEO_ID=0 ID_AUDIO_ID=1 ID_FILENAME=/media/movies/DareDevil.Directors.Cut.DVDRip.XviD-DoNE.CD1.avi ID_VIDEO_FORMAT=XVID ID_VIDEO_BITRATE=1148520 ID_VIDEO_WIDTH=640 ID_VIDEO_HEIGHT=272 ID_VIDEO_FPS=23.976 ID_VIDEO_ASPECT=0.0000 ID_AUDIO_CODEC=a52 ID_AUDIO_FORMAT=8192 ID_AUDIO_BITRATE=448000 ID_AUDIO_RATE=48000 ID_AUDIO_NCH=2 ID_LENGTH=3649

Q: How do you I do a high quality video encodes with mencoder (xvid/mp3)?

Well There're 2 ways so lets see :

If you want the highest quailty without caring about size : -rw-r--r-- 1 oneofone users 26M Jan 7 18:05 Bill Gates Failure.mpg MEncoder dev-CVS-050109-00:59-3.4.3 (C) 2000-2005 MPlayer Team ---cut--- Video stream: 1401.710 kbit/s (175213 bps) size: 18830952 bytes 107.474 secs 3223 frames The value 99.99dB is a special value and represents the upper range limit xvid: Min PSNR y : 39.62 dB, u : 46.56 dB, v : 47.19 dB, in frame 2178 xvid: Average PSNR y : 43.91 dB, u : 48.28 dB, v : 49.08 dB, for 3216 frames xvid: Max PSNR y : 52.63 dB, u : 56.58 dB, v : 56.72 dB, in frame 0 747 Number of frames : 3214 Frames == b : 2097 / i : 18 / p : 1099 -oac mp3lame -lameopts preset=standard -o Bill\ Gates\ Failure.avi Bill\ Gates\ Failure.mpg MEncoder dev-CVS-050109-00:59-3.4.3 (C) 2000-2005 MPlayer Team ---cut--- Video stream: 727.332 kbit/s (90916 bps) size: 9771172 bytes 107.474 secs 3223 frames Audio stream: 130.982 kbit/s (16372 bps) size: 1767072 bytes 107.928 secs Bill Gates Failure.avi: RIFF (little-endian) data, AVI, 352 x 480, ~30 fps, video: XviD, audio: MPEG-1 Layer 3 (stereo, 48000 Hz) -rw-r--r-- 1 root root 12M Jan 19 14:17 Bill Gates Failure.avi

Now you can do the victory dance, you've just encoded your first high quality video!

Specific size : under construction.

Q: How to remove black borders?

Easy, use the cropdetect filter! --cut-- --repeat-- --other crap-- then simply append the crop value from that output to your pass2 command line : mencoder -ovc xvid -xvidencopts $XVIDOPTS:pass=2:bitrate=747 \ -oac mp3lame -lameopts preset=standard -vf crop=336:224:8:8 \ -o Bill\ Gates\ Failure.avi Bill\ Gates\ Failure.mpg

Important scripts/bash aliases used in this guide :

Bash aliases:

goes to ~/.bashrc or wherever your bash profile is makes life easier and they are used a lot in the guide. xvidpass1(){ time mencoder -nosound -ovc xvid -xvidencopts turbo:stats:${1}:pass=1 -o /dev/null "${2}" } idmedia(){ mplayer -identify -frames 0 -ao null -vo null -vc dummy "[email protected]" 2>/dev/null | grep ID_ }

perl scripts :

xvid first pass log analyzer usage : perl xvid-log-analyzer.pl / append 2>/dev/null to remove the extra statistics

  1. !/usr/bin/perl use strict; open(XVID_LOG, '&lt;:mmap', 'xvid-twopass.stats') or die "xvid-twopass.stats doesn't exist!!!!111oneoneone"; my ($br, $frames, $i, $b, $p); while(&lt;XVID_LOG&gt;){ next if /^#/; next unless split (/\s+/) && $#_ == 6; } printf ("%d\n",$br / $frames); print STDERR "Number of frames : $frames\n"; print STDERR "Frames == b : $b / i : $i / p : $p\n";

    What is?

    mplayer : plays most MPEG/VOB, AVI, ASF/WMA/WMV, RM, QT/MOV/MP4, OGG/OGM, MKV, VIVO, FLI, NuppelVideo, yuv4mpeg, FILM and RoQ files, supported by many native and binary codecs. You can watch VideoCD, SVCD, DVD, 3ivx, DivX 3/4/5 and even WMV movies, too.

    mencoder : mplayer is a movie player for Linux (runs on many other platforms and CPU architectures, see the documentation). It plays most MPEG/VOB, AVI, ASF/WMA/WMV, RM, QT/MOV/MP4, OGG/OGM, MKV, VIVO, FLI, NuppelVideo, yuv4mpeg, FILM and RoQ files, supported by many native and binary codecs. You can watch VideoCD, SVCD, DVD, 3ivx, DivX 3/4/5 and even WMV movies, too.

    container :

    codec :

    first pass xvid log (xvid-twopass.stats) :


    • man:mplayer

    • man:lame

What is OpenCD ?

Open Source Software (OSS) is provided with a license that gives the end user the right to use it freely for private or commercial use. You also havet he right to inspect and even modify the underlying source code. You can give away or sell the original version you received or one with your modification, though you may be required to in turn pass on the modified source code so that others can benefit from the changes you have made. This last clause protects the devel oper's work from unfair exploitation by others, while allowing the source code t o be released to the community. You are not required to pay royalties to previou s developers, but you are still permitted to charge money for the sale of OSS. This disc may have been given to you by a friend; or sold to you for a small fee, and both are permitted. Keep in mind that there are many different licenses, e ach of which has its own particular set of conditions. If you plan to distribute or modify one of the programs on this disc, please double check the license bef ore you begin so you'll be clear on both your rights and obligations.

TheOpenCD is a small collection of only the highest quality OSS for Windows, easily available on a CD. The programs are carefully selected to ensure stability , ease of use and a clean install and un-install from your computer. As the CD browser technology (called DiscTree) has matured and improved, it has become fea sible to create derivative distributions such as the recent Ubuntu LiveCD collection . The CD is intended as a first introduction to the world of OSS, but it is our hope that you will later go on to explore other projects, and at some stage you may even want to try a whole new operating system, such as Linux ( sometimes called GNU/Linux ).

arabic plural forms for gettext

when translating software using gettext one has to pay attention to plurals, languages differ in how they treat singular and plural forms, gettext tries to be as accomodating as possible by allowing arbitirary rules for each language.

I suppose the rules of plural in arabic are well known enough and it is time we came up with a standard gettext expression to put as a header in all our po files.

different classes of numbers in arabic

  1. 0
  2. 1
  3. 2
  4. 3-10 + (100^n) : n >= 0
  5. 11-99 + (100^n) : n >= 0 or 1,2 + (100^n) : n >= 1
  6. 100^n : n >= 1

so how to express this lovely pattern in the C like expression needed for PO files?

nplurals = 6;
plural = n == 0 ? 0 :
         n == 1 ? 1 :

         n == 2 ? 2 :
         (n % 100 >= 3 && n % 100 <= 10) ? 3 :
         (n % 100 >= 11 && n % 100 <= 99) || (n % 100 == 1) || (n % 100 ==2) ? 4 :

pretty isn't it? time to review the whole language me thinks, anyways.

if you're using kbabel

  • go to settings -> configure kbabel
  • and make Number of singluar/plural forms equal 5
  • then in the GNU plural form header add the expression above

if you're not using kbabel you can edit the header manualy, open the po file in a text editor, find the plural form line and change it to look like this

"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : (n % 100 >=3 && n % 100 <=10) ? 3 : (n % 100 >=11 && n % 100 <=99) || (n % 100==1) || (n % 100==2) ? 4 : 5;\n"


  • 0 -> لا تعليقات
  • 1 -> تعليق واحد
  • 2 -> تعليقان
  • 3 -> تعليقات
  • 4 -> تعليقا
  • 5 -> ???

The cases are actually five, as zero and three-to-nine use the same form of plural, but since لا تعليقات has more meaning in Arabic than صفر تعليقات, I thought they could be separated.

book page at opencd

Stallman, founder of the GNU project and programmer of legendary abilities. It makes clear the idealogical differences between the original Free Software movement and the more recent concept of Open

Ubuntu page @ opencd

greetz from planet haram "a graphical artist's guide to linux"

by Mohannad Faried and others yet to come

Introduction "why am i doing this ?"

ever since i started to tinker around with linux, it was very important for me to have a solid understanding about how do i go about doing the things i already do on windows, since my major is architecture, and a have this artistic streak "well i hope it is an artistic streak!", plus my freelance work as a graphical designer, with some occasional web designing, it was quite important to know the ropes on linux. right now i intend to share what i know with you! , you poor soul! :)

structure of this document:

notes on building a webserver using Mandrake

this is not the most secure way to build a webserver, but it is extremly easy and quick and reasonably secure.

and yeah I install X on the server and use vnc occasionally في حاجة؟!!!

installing a mandrake server

  • minimal install
  • if not minimal clean rpm-leaves
  • define sources
  • upgrade
  • install ssh-server ssh-clients
  • install rsync
  • install bash completion
  • install dtach
  • install mc
  • install emacs
  • install drakwizard drakconf
  • install xinetd
  • install shorewall
  • fix hosts.allow
  • make useraccount, add user to adm, wheel, rpm, xgrp, ntools, ctools
  • msec 4
  • override msec
  • set up shorewall
  • make ssh keys
  • fix ssh config
  • switch to ssh-xinetd
  • install drakwizard
  • install tightvnc-server, xauth, xorg-x11-75dpi-fonts, rxvt
  • install pekwm
  • pekwm menu file
  • run vncserver
  • edit ~/.pekwm/menu
  • install mysql
  • copy mysql config file
  • change mysql root password
  • install phpMyAdmin
  • apache wizard
  • install php, php-cli, php-imap, php-apc, php-mysql, php-ldap, php-mbstring, ph p-pear
  • install imagemagick, exif
  • install cvs
  • drakauth
  • ldap wizard
  • intsall postfix, cyrus-sasl,libsasl2-plug-plain, libsasl2-plug-login
  • install and configure postfix
  • install and configure dovecot
  • tweak apache config
  • set apache virtual hosts
  • set http file permissions
  • configure drakbackup
  • install rdate
  • time sync cron job
  • drupal cron job
  • drakxservices
  • rpm-leaves again

speedtouch 330 dsl modem on linux

i've been trying for a couple of days to get the speedtouch 330 dsl modem to run under linux and finally i got successful

so here it is

create /etc/ppp/peers/adsl

ipparam "adsl"
holdoff 4
maxfail 25
asyncmap 0
user "xxxxx"
name "xxxxx"
plugin /usr/lib/pppd/2.4.2/pppoatm.so

create /etc/ppp/chap-secrets

"fti/xxxxx" "*" "votrepasswd" "*"

create /etc/sysconfig/network-scripts/ifcfg-adsl


create the startup script adsl.sh

/sbin/modprobe pppoatm
/usr/sbin/pppd call adsl

and so it worked

note that if there is a pap-secrets file login will fail, if after the modem is pluged in the usb and the two leds are not blinking while the phone line is not pluged then the modem is not initialized and maybe you have the wrong firmware or it is in the wrong location or maybe you need the modem_run package but i think it is in the distro

good luck . . .

what is your favorite FireFox extension

now FireFox is only as good as the extensions you use, out of the box it lacks many essential features so lets make a good wiki page with all the extensions people actually use and like.

please don't just post comments, edit this page and add your extensions.

maybe later on we should have review articles of these extensions


other addons

MSameer (Gave up firefox)

  • Tweak Network: Gives you control over the advanced firefox network settings.
  • Locale switcher: It's not that important, But It gives you a menu with all the language packs available, It was useful when I installed the 1337 language pack ;-)

  • Image zoom
  • Bookmark backup: This'll backup your bookmarks whenever you close the browser.
  • Configuration Mania: Edit hidden configuration options.
  • Googlebar: Google bar for firefox. ala google bar for IE, But even better ;-)
  • Show failed URLs

Probably more but i'm lazy.

أفكار وحيل سريعة

هذه بعض الأفكار والحيل السريعة التى قد تكون مفيدة

ضم ملفات *.iso (mount) :

هذه الملفات عبارة عن صورة لقرص تحتوى نظام ملفات لذا يمكن ضمها بكل سهولة

#mount -o loop /where/the/img.iso /any/dir

وهذا يعمل مع أى صورة قرص بالطبع

الأسماء المستعارة (alias) فى باش :

هل تخطئ كثيرا فتكتب "cd.." بدلا من "cd .." ؟

هل تستخدم أوامر مثل "sudo emerge -av foo" أو "rm -rav" كثيرا ؟

هذه طريقة لعمل اختصارات لمثل هذا فى باش Bash عن طريق الإسم المستعار alias

حيث يمكن أن تضع هكذا احتصارات فى أحد الملفات التى تقرأها باش عند بدأ التشغيل مثل "~/.bashrc" على النحو التالى

alise foo1='foo -arvxyz'

حيث "foo1" هو الإسم المستعار و "foo -arvxyz" هو البرنامج الحقيقى الذى نرغب فى تنفيذه, بعدها عندما تكتب فى محث باش "foo1" سيتم تنفيذ الأمر "foo -arvxyz"

مثال على ذلك

alias emerge='sudo emerge -av'
alias cd..='cd ..'

تفعيل switch text/page direction في فايرفوكس:

اكتب في شريط العنوان:


ثم اكتب في خانة الفلتر:


ثم انقر عليها لتحويلها من false الى true (ان لم تكن كذلك بالفعل). أعد تشغيل فايرفوكس.

واﻵن لقلب اتجاه الصفحة وجعلها من اليمين لليسار اذهب الى View -> Switch Page Direction، ولقلب اﻹتجاه في منطقة النص اذهب الى Edit -> Switch Text Direction .

افضل شرح لطريقة تثبيت السلاك وير بالصور

بعد عشرات المحاولات الفاشلة في تثبيت السلاك وير كنت ابحث بالستمرار عن مكان او عن اي حاجه فيها شرح للحته الي في الاول لتثبيت السلاك وير ولقيت الموقع ده او الصفحة دي الصفحة دي موجوده في منتدى اجنبي كتبها واحد جامد شرح فيها كل حاجه تتعلق بتثبيت السلاك وير من اول ما تبوت السيدي ولغاية اما تخلص الكونفيجرز بتاعتك وكله بالصورة ة والشرح كلة بالانجليزي بس جزء كبير منه مفهوم والصور بتقوم بالباقي :) مش هطول عليكم دي وصلة الصفحة وابقوا ادعولي ;)

الأسئلة الشائعه عن مهرجان جنو/لينكس

الأسئلة الشائعة الخاصه بمهرجان جنو/للينكس

لكي تجري الأمور بصورة سلسه في المهرجان نحن بحاجه إلى أكبر قدر من المعلومات يمكن الحصول عليه من المشاركين لكي نجيب على أسئلة الزوار

ما هو مهرجان جنو/لينكس installfest

هي كلمة منتشره في مجتمع البرمجيات الحره و هي اختصار لكلمتي installation festival. تقوم مجموعات مستخدمي جنو لينكس بهذا الحدث لكي يقدموا البرمجيات الحره مفتوحة المصدر للزوار و لتثبيت نظام التشغيل جنو/لينكس على أجهزتهم إذا أرادوا. الفكره هدفها تسهيل الانتقال لنظام التشغيل جنو/لينكس عن طريق تثبيت النظام على أجهزة الزوار و تنسيق الجهاز لهم

ماذا سيحدث في هذا الحدث

إذا لم تحضر جهاز الكمبيوتر الخاص بك معك فسوف تجد أشخاص يستخدمون برمجيات حره و لديهم خبره في أنظمة أخرى سيقومون بشرحها لك و إذا أحضرت جهازك معك و أردت تثبيت النظام عليه يمكنك ذلك و لكن جهز قسم من القرص الصلب لا تقل مساحته عن 5 جيجا بايت لكي يقوم أحد أعضاء المجموعة بتثبيت النظام عليه.

سمعت كلمة "Free" هل سيكون الوضع فوضوي بسبب هذا أو هل سيكون المكان للخبراء و محبي سطر الأوامر فقط؟

كلمة Free لا علاقه لها بالسعر و لكن مصدرها في الانجليزيه من Freedom أي الحرية. و المكان ليس للخبراء فقط سوف ترى بنفسك واجهات رسومية بأشكال رائعه.

لدي بعض الخبره هل يمكنني المساعده؟

بالطبع يمكنك. في الويكي و قدم نفسك لتساعد

لقد حصلت على دورة تدريبية في اللينكس و لكني أشعر بأنه ليس مناسب لسطح مكتبي.

أنا مستخدم لتكنولوجيا ميكروسوفت، ماذا أجلب معي؟

  • قم بعمل defrag لقسم في قرصك الصلب و ربما يمكنك أن تقوم بتغيير مساحته لكي تفسح المجال لقسم جديد.
  • حاول أن تقوم بإحضار كامل مستلزمات جهازك لكي لا تنتظر توفر أدوات من أحد.
  • أحضر اسطوانات فارغه معك
  • حاول الحصول على نسخة جنو/لينكس على هذه الاسطوانات
  • انتظر لكي يأتي لك أحد المتطوعين ليقوم ببدء تثبيت النظام على جهازك
  • بعد الانتهاء من التثبيت تأكد من أن كل شيئ جاهز لك لكي تستخدم الجهاز من المتطوع الذي سيساعدك. تأكد أنه يمكنك الاستماع إلى الموسيقى، الكتابة بالعربيه، إلخ..... تاكد أيضا من وجود حساب واحد غير رووت root على النظام.

أنا بحاجه إلى النظام القديم و لدي ملفات .doc أود التعامل معها. هل يمكنني استخدام النظام القديم بجانب جنو/لينكس لفتره؟

إذا كان كل ما تريده هو العمل مع ملفات .doc فيمكنك ذلك بواسطة برنامج Open Office و يمكنك أيضا استخدام النظام الجديد بجوار نظامك القديم. أطلب ذلك فقط من المتطوع الذي سيقوم بتثبيت النظام لك.

إذا تعطل نظام جنو/لينكس لأي سبب من الذي سيساعدني؟ هل يقوم لينكس بإعطاء رسائل not responding هو الآخر؟

الأسئلة المتكررة عن لينكس

ما هو لينكس؟

.في نهاية عام 1990 قام طالب في جامعة هلسينكي في فنلندا بالإعلان عن مشروع يعمل عليه. الطالب هو لينوس تورفالدس، والمشروع كان نظام تشغيل بسيط. وقد اختار لينوس تورفالدس أن يضع مشروعه تحت ترخيص البرامج الحرة، مما أتاح لمن يريد إمكانية الاطلاع على النص المصدري لهذا النظام، والعمل على تعديله وتطويره، نتيجة لذلك، شارك الآلاف من المبرمجين المتطوعين حول العالم في المشروع. لينكس هو النواة و التى تعمل من خلالها جميع البرامج, الا انه جرت العادة ان يطلق اسم لينكس على بيئة التشغيل ككل بما فيها أدوات سطر الأوامر المتعددة و برامج سطح المكتب و ما الى ذلك.

· ما المقصود بالمصدر المفتوح و البرامج الحرة؟

"المصدر المفتوح" و "البرامج الحرة" هما مصطلحان يستخدمان للإشارة للبرامج التي توفر النص المصدري للبرامج لمن يرغب بها. و هي برامج تعطيك حرية تشغيل البرنامج لأي غرض و حرية دراسة كيفية عمل البرنامج، و تعديله ليلائم أحتياجاتك و حرية توزيع البرنامج لمن تريد من أصدقائك و جيرانك و أخيرا، حرية تطوير البرنامج، و توزيع هذا التطوير لتعم الفائدة

· ما الذي يميز لينكس عن الأنظمة الأخرى؟

يتمتع نظام لينكس بدرجة عالية من الأمن و الوثوقية. حتى أنه يستعمل في أكثر الأماكن حساسية، مما زاد من دعم النظم له وإنتشاره، ودعم الشركات المنتجة للبرامج و الحلول له، إذ أصبحت مجموعة كبيرة من حلول الشركات المقدمة من IBM و HP وغيرها متوفرة على لينكس. كما ان لينكس يعطيك قدرة كبيرة على التحكم بالنظام وتغيير سلوكه كما تريد. وهذا يسهل موائمة النظام لإحتياجاتك. و أيضا من أهم مميزات لينكس سرعة تطويره و سد ثغراته نظرا لكثرة عدد المطورين الذين يشاركوا فى تطويره.

· ما هى وضعية لينكس اليوم على خريطة أنظمة التشغيل؟

الاحصاءات تقول أن لينكس فى عام 2002 استحوذ على حوالى 24% من سوق الحاسبات الخادمة و متوقع أن تزيد النسبة ل33% فى السنوات القليلة القادمة, و فى سوق الحاسبات المكتبية يستحوذ لينكس على حوالى 3% ومتوقع ان تزيد ل 6% , بالرغم من أن هذه الأرقام قد تبدو ضئيلة الا أن معدل الانتشار للينكس يوضح انها فقط مسألة وقت حتى يأخذ وضعه الطبيعى كمنافس قوى لأنظمة التشغيل الأخرى, خصوصا و أن فى السنوات القليلة الماضية تطورت البرمجيات المكتبية المفتوحة المصدر بصورة واضحة و أصبحت مكافئة و فى الكثير من الأحيان أفضل من نظائرها فى أنظمة التشغيل الأخرى, حتى انه من المعروف أن نظام تشغيل ويندوز اكس بى قد اقتبس شكل أحد بيئات الأسطح المكتبية المفتوحة المصدر و المعروف بجينوم .

· هل لينكس صعب الإستخدام؟

أحد الأسباب التى جعلت لينكس يبدو صعب الاستخدام أن مطورى البرامج الحرة عادة ما وضعوا فى اعتبارهم أن المستخدم ككائن له عقل يستطيع التعامل مع أشياء فى اعتقادهم الشخصى بسيطة الا أن اعتياد المستخدمين على أنظمة تشغيل أخرى تتعامل مع العقل البشرى على انه قطعة لحم يجعلهم ليسوا على استعداد أن يغيروا طريقة تعاملهم مع الحاسوب و يتجهوا للأسهل,لكن مؤخرا بدأ الجانبين فى العمل على تقليص هذه الفجوة , فبدأ مطوروا البرامج الحرة فى جعل برامجهم أكثر سهولة فى التعامل و المستخدمين بدأوا يملوا من الطريقة التى يعمل بها نظامهم المعتاد و لهذا بدأ نظام تشغيل لينكس فى الانتشار بسرعة, الان لينكس أصبح فى المتناول و سهل الاستخدام بالنسبة لأى مستخدم عادى من خلال الفأرة و سطح مكتب أنيق.

التعامل مع ملفات الجنولينوكس عبر الويندوز

التعامل مع نظام لينكس داخل نظام ويندوز! (لا اتذكر اسم الكاتب الحقيقي للموضوع )

يعلم الجميع منا بأن أنظمة Linux تتيح لمستخدميها سهولة التعامل مع نظام Windows من داخلها, كإستعراض ملفات النظام او نسخ الملفات منه او الكتابة و التخزين فيه بالإضافة إلى قراءة ملفاته, هذا الأمور كلها كانت تحدث من داخل نظام Linux و ذلك عن طريق عمل mount لنظام Windows بهذه الطريقة:

شفرة برمجية :

mkdir /mnt/windows mount -t vfat /dev/hda1 /mnt/windows

لكن يمكن حدوث العكس! ; أي استعراض ملفات Linux و الكتابه فيه و النسخ منه و قراءة ملفاته بالطبع, كل ذلك و انت داخل نظام Windows ! و ذلك باستخدام مجموعة أدوات تسمى LTOOLS .

ماذا تقدم لي أدوات LTOOLS ؟

هذه الأدوات تم برمجتها بواسطة Jason Hunter و David Lutz في جامعة Willamette بالولايات المتحدة الأمريكية.

تقدم هذه الأدوات LTOOLS القدرة على استعراض ملفات نظام Linux و الكتابة فيه و النسخ منه...الخ و انت داخل نظام Windows و حزمة نظام Windows تأتي قابلة للتنفيذ و تضم الملفات التالية:

شفرة برمجية :

ldir.exe list directories and files lread.bat read and copy files from Linux to DOS lwrite.bat copy files from DOS to Linux ldel.bat delete Linux files or (empty) directories lchange.bat change Linux file attributes and owner lren.bat rename Linux file lmkdir.bat create a new Linux directory lln.bat create a symbolic link lcd.bat set the default Linux toplevel directory ldrive.bat set the default Linux disk drive

, و في الحقيقة الغرض من هذه الأدوات هو استعراض أنظمة ملفات EXT2 الخاصة بنظام Linux , بمعنى يوجد نسخ من هذه الأدوات يمكنك تركيبها على نظام Linux ( مثلا RedHat ) و من خلالها تستعرض ملفات نظام Mandrake او تنسخ منه ملفات و هكذا !, كما توجد نسخ ينبغي تصريفها لتعمل على أنظمة UNIX و من خلالها يمكنك استعراض أنظمة ملفات EXT2.

من أين أقوم بتنزيل هذه الأدوات و كيف أركبها على جهازي؟

يمكنك تنزيل أدوات LTOOLS من خلال هذا الموقع:

أما طريقة التنصيب فهي سهلة,كل ما عليك هو اتباع الآتي:

  • بعد تنزيل البرنامج قم بفك ضغطه بأحد برامج فك الضغط ( Winzip مثلا ) ثم استخرج كامل الملفات إلى مجلد جديد.
  • انقر على Setup و اتبع الخطوات المعهودة ( Next , Next Finish )
  • توجد إلى:

شفرة برمجية :

Start ---------> Programs ---------> LTOOLS ---------> LTOOLS Command Line


طريقة استخدام أدوات LTOOLS

حسناً, هنالك ثلاثة طرق لإستخدام هذه الأدوات:

1- عن طريق سطر الأوامر Command Line

2- عن طريق واجهة رسومية و ذلك بجعل جهازك خادم

3- عن طريق واجهة رسومية و ذلك باستخدام جافا

سوف أقوم بشرح الطرق الثلاثة على امل ان تعجبكم احد الطرق.

أولا عن طريق سطر الأوامر Command Line

حسناً, لنفرض أنك تريد سرد ملفات نظام Linux باستخدام سطر الأوامر, توجه كما قلنا سابقاً إلى:

شفرة برمجية : Start ---------> Programs ---------> LTOOLS ---------> LTOOLS Command Line

و بعدها اكتب:

شفرة برمجية : ldir -s/dev/hda2 /

الآن سوف يتم سرد ملفات الجذر الرئيسي " / " و سوف تشاهدها امامك على الشاشة

شرح مبسط لما قمت به

ldir : برنامج سرد ( استعراض ) الملفات

-s : خيار يمكن الشخص من تحديد القسم الذي يوجد به نظام Linux

/dev/hda2 : القسم الذي يوجد به قسم Linux لدي ( قد يختلف لديك )

/ : المجلد الذي أرغب أن اسرده و قد تود مثلا ان تستعرض /etc/ او غيرها .


- إذا عيّنت قسم Linux بقيمة /dev/hda او /dev/hdb ...الخ من غير تحديد الرقم الذي يوجد به, فسوف يقوم البرنامج بالبحث عن اول قسم لنظام Linux .

- إذا استخدمت ldir من غير خيار " -s " فسوف يقول بالبحث في القرص الصلب الذي ركبت أدوات LTOOLS به ( غالباً /dev/hda ) .

- إذا لم تعرف رقم القسم الذي يوجد به نظام Linux فاستخدام خيار " -part " بهذا الشكل:

شفرة برمجية :

ldir -part

و سوف تكون أرقام أقسام قرصك الصلب في الناحية اليسرى :

- لمزيد من المعلومات حول هذا الأمر استخدم خيار " -h " .

و الصيغة العامة لهذه الأداة هو:

شفرة برمجية :

هذا كان بالنسبة لسرد الملفات و لكن ماذا عن قرائتها و نسخها من نظام Linux إلى نظام Windows ؟

لقراءة أحد ملفات نظام Linux , كل ما عليك هو إصدار:

شفرة برمجية : lread -s/dev/hda2 /var/www/html/test.php

الإختلاف بين هذا الأمر و سابقه هو أنني حددت ملف معي و هو test.php لقراءة محتوياته:

اما إذا أردنا أن ننسخ ملفاً من نظام Linux إلى نظام Windows فينبغي في الأخير أن نضيف مكان الملف المنسوخ,حيث سيكون الأمر بهذه الصورة:

شفرة برمجية : lread -s/dev/hda2 /var/www/html/test.php C:test.php

الآن إذهب إلى قسم الـ C و سوف تلاحظ وجود نسخة من الملف

الصيغية العامة لهذا الأمر هي:

شفرة برمجية :

بعد أن انتهينا من عملية سرد الملفات و قرائتها و نسخها, ننتقل إلى كيفية حذف أي ملف في نظام Linux , لعمل ذلك أصدر هذا الأمر:

شفرة برمجية : ldel -s/dev/hda2 /var/www/html/test.php

و سوف ينحذف الملف,الصيغة العامة لهذا الأمر هي:

شفرة برمجية :

أما لتغيير صلاحيات الوصول لأحد ملفات نظام Linux و كذا المالك و المجموعة في آن معاً, أصدر الأمر التالي:

شفرة برمجية :

lchange -s/dev/hda2 -frwxrwxrwx -u2 -g2 /home/file.html

شرح مبسط لما تم القيام به

-f : لتغيير صلاحيات القراءة و الكتابة و التنفيذ لكل من المالك و المجموعة و الآخرين. ( يشبه أمر chmod )

-u: لتغيير مالك الملف عن طريق تغيير رقم تعريف المستخدم, فإذا كان المالم هو مستخدم " account " يحمل رقم تعريف " 3 " و اردت نقل ملكية ملفه إلى مستخدم آخر " account2 " فينبغي معرفة رقم تعريفه للقيام بذلك ( يشبه امر chown )

-g : لتغيير مجمعة الملف ( يشبه أمر chown ) .

الصيغة العامة لهذا الأمر هي:

شفرة برمجية :

أما للكتابة في نظام Linux فأصدر الأمر التالي:

شفرة برمجية : lwrite -s/dev/hda2 C:programethems.zip /root/thems.zip

حيث نسخنا ملفاً من نظام Windows و وضعناه داخل نظام Linux .

الصيغة العامة:

شفرة برمجية :

لتغيير مسمى ملف في نظام Linux إلى إسم آخر,أصدر هذا الأمر:

شفرة برمجية : lren -s/dev/hda2 /var/www/html/test.php index.php

هذا الأمر قام بتغيير إسم ملف test.php الموجود داخل نظام Linux طبعاً إلى إسم index.php .

الصيغة العامة:

شفرة برمجية :

بقي عمليتي إنشاء دليل جديد في نظام Linux و أيضاً أنشاء اختصار, و كلاهما بنفس الطرق السابقة تقريبا

ثانيا: عن طريق واجهة رسومية و ذلك بجعل جهازك خادم

توجه أولاً إلى :

شفرة برمجية : Start ---------> Programs ---------> LTOOLS ---------> LTOOLS ---------> LTOOLS Web Server (http localhost)

بعد ذلك اكتب في متصفحك: شفرة برمجية :

الآن سوف يتم سرد ملفات و مجلدات نظامك لكن بشكل رسومي :

أضف إلى ذلك بأنه أصبح جهازك خادم ويب Webserver . عمل الأمور السابقة من استعراض و نسخ ...الخ في الواجهة الرسومية سهل جدا و لا يحتاج إلى شرح و كثر كلام,فقط أشر و انقر .


- لاستعراض ملفات الـ Windows و التعامل معها ( نسخ,تعديل...الخ) انقر على خيار DOS في أعلى الصفحة.

- بشكل إفتراضي يكون منفذ خادم الويب و " 80 " فإذا أردت تغييره إلى " 99 مثلا " أصدر هذا الأمر من سطر الأوامر:

شفرة برمجية :

LREADsrv 99

- بشكل افتراضي أيضا, خادم الويب ( LREADsrv ) لا يقبل أي إتصال الا من جهازك ( localhost ) او ( ) , فإذا أردت ان يستخدم أحداً ( في الإنترنت او داخل شبكة محلية )المميزات السابقة فينبغي أن تحدد أرقام الـ IP لهم ( اقصد حد مسموح 3 عناوين ) , بحيث الشكل النهائي للأمر:

شفرة برمجية :

LREADsrv 80 212.452.123.3 213.571.231.7

لابد عند استخدام ميزة remote host السابقة تحديد المنفذ.

اما طريقة الـ JAVA فتطلب منك تركيب Java 2 Runtime Environment و يمكنك تنزيلها من موقع : جافا لقطات من الأداة و هي تعمل بواسطة جافا ( مع الشكر الجزيل للأخ مرشد محمد:-) ) : عند هذا الحد اتوقف و اترك لكم فرصة التعمق في مجموعة الأدوات LTOOLS لكي لا افسد عليكم متعة الاستكشاف




بلندر هو برنامج متقدم للتصميمات ثلاثية الأبعاد و الرسوم المتحركة عالية الجودة ، حيث يقوم بعمليات تحويل الأجسام ثلاثية الأبعاد الى صور و يوفر أمكانية تشطيبات ما بعد الأنتاج و الصناعة التفاعلية لهذة الأجسام و عرضها.

الأشكال الأساسية فى بلندر، تراها هنا من منظور الكاميرا. عادا ما يسهل البدء بأشكل أساسية ثم تجميعها و تحويلها بأدوات بلندر المختلفة لتصل بها الى تصميماتك.

يحيط بلندر مجتمع نشيط من مطورى البرامج، يضيفون خصائص و أدوات جديدة مثل محرك التحويل يافراى (لتحويل الأجسام الثلاثية الأبعاد الى صور). يافراى يصنع صور تقرب جدا من واقعية الصور الفوتوغرافية و ذلك بأضافة مؤثرات خاصة. بلندر يدعم تقنيات كثيرة مثل التوليد الديناميكى للجزيئات، فرد الأسطح المغلفة للأجسام بأستخدام لوغريتمات المسح الليزر الميكرسكوبى متحد البؤر LSCM ، و الكثير.. بلندر يدعم و يصدر العديد من انواع الملفات مثل VRML, Cal3d و AC3D. بالأضافة الى كل ذلك يمكنك تكييف بلندر لأحتياجاتك و ذلك عن طريق الأضافات المكتوبة بلغة البايثون، فيمكنك كتابة أضافات أو أستخدام الكثير من الأضافات المتوفرة.

ازرار التحرير Edit لشبكة التصميم. نوافذ الأزرار يمكن تحريكها أو تكبيرها.

بعد الأصلاح الشامل لواجهة المستخدم فى الأصدارة رقم ٢.٣ و أصدار دليل المستخدم أصبح بلندر أسهل فى الأستخدام عن ما كان. تعلم برمجيات التصميم الثلاثى الأبعاد ليس سهل فلذلك أرفقنا دلائل أرشادية كثيرة و دروس فيديو.

بنلدر يدعم مسارات تحركية معقدة.

أستخدم DupliVerts لتحويل عدة حالات من نفس الجسم.

أمثلة محولة:

الصور التالية أنتجها أعضاء مجتمع مستخدمى بالندر. يمكنك رؤية المزيد فى blender3d.com

مكتب ستوديو تصميمات بيد ياروسلاف لبيدكو. صممت ببلندر و التحويل بيافراى.

موسم الشتاء بيد روبيرت ج. تيس

الفارس الجبان بيد ساشا جويدجبور. صممت ببلندر و التحويل بيافراى.

تفاصيل كافية للتعرف على الIRC

شرح لمصطلحات دروبال

مصطلحات و مفاهيم أساسية عن دروبال

دروبال نظام حر و مفتوح المصدر لادارة المحتوى و النشر على الوب، دروبال نظام طيع جدا يمكن استخدامه لبناء أي نوع من صفحات الوب و يسهل الاضافة الي امكانياته و تطويره و يتميز خصوصا في بناء صفحات مجتمعات الوب.

تكمن المرونة العالية في نظام دروبال في أنه مبني على بعض الأفكار المجردة البسيطة، عملية بناء و اعداد موقع بدروبال تتركز في تجميع و تربيط تلك الأفكار و الأدوات. يتبنى مطوروا دروبال مبدأ أن تكون واجهة المستخدم (بالأخص مدير الموقع) طبقة رقيقة شفافة لا تحجب تفاصيل البناء الداخلي للبرنامج و من هنا يأتي شعار دروبال "سباكة لمجتمعات الوب"، اذن دورك كمدير للموقع كدور سباك يركب مواسير و حنفيات و في النهاية يرص بلاط ليبسط واجهة البرنامج.

هذه الوثيقة محاولة لشرح المواسير (عفوا المصطلحات و المفاهيم) المستخدمة في دروبال، يمكنك استخدام دروبال بدون أن تتحول الى سباك، هذه الوثيقة بالأساس لمن يرغب في التعمق في النظام.

سأحاول ترتيب المصطلحات بدرجة الأهمية.


العقدة هي وحدة المحتوى في دروبال، أي صفحة لها عنوان (url) يقوم أحد مستخدمي النظام باضافتها عبارة عن node، اذن أغلب المحتوى في دروبال سيكون في صورة عقد، العقد أنواع (node types)، مثل خبر، تدوينة، صورة، صفحة كتاب، فعالية، تقرير عن فيلم، سجلات عقار، الخ، و اضافة العقد (المحتوى) يكون عن طريق create content و فيها ستجد قائمة بأنواع العقد المتاحة لك.

كل نوع له استمارة كتابة/تحرير مختلفة فمثلا استمارة الفعاليات بها خانة لتحديد ميعادي بدء و انتهاء الفعالية، و استمارة الصور بها خانة لتحميل ملف الصورة.

أضافة أنواع جديدة من المحتوى يكون عن طريق اضافة وحدات برمجية اضافية (اذن المبرمج هو المسئول عن تصميم أنواع جديدة من العقد). تتيح وحدة flexinode الاضافية امكانية تصميم أنواع جديدة من العقد عن طريق تصميم استمارات اضافة و تحرير المحتوى و بدون الحاجة لتعلم البرمجة.


البلوكات هي وحدات محتوى صغيرة لا عنوان لها (ليست صفحات) و لكن يمكن رصها في مناطق مختلفة (في الغالب على شريط جانبي على يمين أو شمال المحتوى الرئيسي) بحيث تظهر على أكثر من صفحة (في الغالب تظهر في كل صفحات الموقع).


  • بلوك دخول المستخدم
  • بلوك قائمة أحدث التعليقات
  • بلوك بعدد الزوار الحاليين
  • بلوك قائمة التصفح
  • الخ

غالبا ما يتم تخليق البلوكات تلقائيا من قبل دروبال، و تتيح بعد الوحدات البرمجية الاضافية بلوكات جديدة، لكن يمكن لمدير الموقع اضافة بلوكات بشكل مشابه لعملية اضافة العقد عن طريق administer->blocks->add block(مفيدة مثلا لوضع زراير و بانر أو لصق أكواد javascript للربط بين الموقع و مواقع خدمية مثل del.icio.us مثلا).

يختار مدير الموقع البلوكات التي يرغب في اظهارها و يحدد مواضعها عن طريق administer->block كما يمكن تحديد ظهور البلوك على صفحات معينة أو لمجموعة محدودة من المستخدمين مثلا.


وحدات برمجية، هي مجموعة ملفات برمجية تضيف مزايا أو تعدل من سلوك نظام دروبال، الحقيقة أن لب نظام دروبال بدون أي وحدات لا معنى له بالمرة، فحتى مفهوم node معرف في وحدة برمجية. يمكن لأي مبرمج php أن يوسع من امكانيات دروبال بكتابة وحدات توفي احتياجاته، كتابة وحدة لدروبال عموما أسهل من كتابة برنامج مستقل من الصفر.

قائمة الوحدات الأساسية و وظيفتها قائمة ببعض الوحدات الاضافية الدارجة


القائمة عبارة عن شجرة من الروابط ينشئها مدير الموقع عن طريق administer->menus، رغم أن نظام دروبال و وحداته البرمجية مسئول عن تخليق قائمة التصفح الرئيسية (navigation menu) يمكن لمدير الموقع تحرير و تعديل روابط القائمة.

ينشئ دروبال بلوك لكل قائمة بحيث تتحكم في اظهار القائمة من admin->blocks


التيمات عبارة عن مجموعة من الملفات تحدد شكل و تصميم للصفحة، يمكنك اختيار أحد التيمات من administer->theme، كما يمكن تنزيل تيمات اضافية من صفحة دروبال.

عمل تصميم جديد لموقعك المعتمد على دروبال يعني عمل تيمة جديدة، غالبا عن طريق تعديل تيمة موجودة مسبقا. تحتاج لمعرفة بأساسيات html و css لتعديل أو عمل تيمات جديدة.

بعكس الأنظمة الأبسط مثل blogger التيمة في دروبال مكونة من أكثر من ملف و يحدد ملف style.css أغلب تفاصيل التصميم من ألوان و أبناط و مسافات و خلفيات، الخ.

theme engine

محرك التيمات عبارة عن وحدة برمجية خاصة تضيف وسيلة جديدة لعمل التيمات في دروبال.

عموما التيمات تعتمد على ملفات html بحيث يحل محل المحتوى رموز خاصة تشير الى بيانات يقوم نظام دروبال بتوفيرها، و كل محرك يتيح أسلوب/لغة قولبة (templating) مختلفة يمكن استخدامها في التصميم.

المحرك الأكثر شعبية في دروبال هو phptemplate، و هو المحرك الأساسي ابتداء من الاصدار 4.7، الفكرة الأساسية في phptemplate هي استخدام لغة البرمجة php نفسها بدلا من اختراع لغة جديدة محدودة الامكانيات. بحيث يمكن للمبرمج امكانية تلقيم كود php في أي مكان في التيمة مما يتيح له امكانيات غير محدودة، في نفس الوقت تعلم البرمجة بphp ليس ضروري لعمل تيمات phptemplate.

مقدمة في تيمات phptemplate

input format

نمط الادخال.

عند اضافة محتوى الي دروبال يمكنك الاختيار ما بين انماط مختلفة في ادخال المحتوى، يقوم دروبال بتحوير المحتوى وفقا لقواعد خاصة بكل نمط ادخال حتى يحصل على كود html يمكن اظهاره على الوب، أنماط الادخال اذن عبارة عن لغات مختلفة لتوصيف البيانات و الهدف النهائي هو الوصول لكود htm، تستخدم أنماط الادخال في تبسيط عملية كتابة المحتوى، فمثلا يمكن استخدام نمط ادخال مشابه لويكي بدلا من html، كما تتيح أنماط الأدخال امكانية التحكم في و فلترة ما يكتب في التعليقات أو في مساهمات الأعضاء (في حالة انعدام الثقة في نوايا أو قدرات المساهمين) بحيث تضمن عدم نشر محتوى مؤذي (كلمات ممنوعة، سكريبتات ضارة لاختراق أجهزة القراء، كود html سيئ تم قصه من أحد برامج مايكروسوفت المتخلفة).

يأتي دروبال بثلاثة أنماط ادخال افتراضية:

filtered html
يسمح فقط بمجموعة محدودة من وسوم html (يحددها مدير الموقع) و يحذف أي خصائص تتحكم بالشكل، مما يتيح لمدير الموقع ضمان أن يتبع كل المحتوى تصميم موحد، اضافة الى ذلك يحول هذا النمط نهايات الأسطر الى وسوم br مما يسهل يتيح كتابة نص مسترسل بشكل طبيعي و بدون اضافة كود html الا عند الضرورة
full html
نمط ادخال لا يتدخل في ما يكتبه المستخدم عدا تحويل نهايات الأسطر الي وسوم br، أي يسمح بأي كود html و باضافة خصائص css. و يفضل ألا يسمح الا لمن تثق بهم أن يستخدموا هذا النمط
PHP code
نمط ادخال خاص جدا يسمح بكتابة كود php داخل الصفحة مباشرة، يتم تنفيذ هذا البرنامج الصغير في سياق دروبال بحيث يتاح للبرنامج كافة متغيرات دروبال بما المتاحة للوحدات البرمجية بما فيها معلومات عن المستخدم الحالي (أي من يتصفح العقدة التي تحتوي على الكود) و تظهر نتائج تشغيل البرنامج في المكان الذي يحتوي غالبا على المحتوى


الفلاتر هي الوحدات المكونة لأنماط الادخال، الفلتر يصف قاعدة من قواعد تحوير النص و رص مجموعة من الفلاتر في صورة stack بحيث يتم تنفيذ قواعد كل فلتر بحسب ترتيبه في الstack يصف نمط ادخال.

مثلا filtered html مكون في الأصل من فلترين، فلتر مسئول عن طمس الوسوم الغير مسموح بيها و فلتر مسئول عن الحفاظ على المسافات ما بين السطور (عن طريق تحويل نهايات الأسطر الي وسم br)

يمكن تعديل نمط filtered html و اضافة فلتر لتصحيح كود الhtml للحماية من أخطاء مستخدمي النظام كما يمكن اضافة فلتر لتحديد اتجاه السطر بشكل تلقائي فيحول الفقرات العربية الي اليمين و الفقرات الأخرى الي اليسار بغض النظر عن الاتجاه الأصلي للصفحة.

اضافة فلاتر جديدة يكون عن طريق اضافة وحدات برمجية، لكن ادراج الفلاتر في أنماط ادخال عمل يقوم به مدير الموقغ administer->input formats

بعض الفلاتر لها اعدادات يمكن تعديلها، التعديل يتم غالبا على مستوى نمط الادخال، فمثلا الفلتر المستخدم في طمس وسوم الhtml الغير مرغوب فيها جزء من اعدادته هو تعريف ما هي الوسوم المسموح بها، لكن يمكن عمل أكثر من نمط ادخال بحيث يتيح كل نمط حزمة مختلفة من الوسوم، فمثلا لا يسمح لجمهور الموقع أن يدرج صور في التعليقات لكن يسمح لكتاب الموقع بادراج صور، و بالتالي تكون صفحة الاعدادات مرتبطة بنمط الادخال و يقوم مدير الموقع باعداد نفس الفلتر بصورة مختلفة في كل نمط ادخال.

بعض الفلاتر غرضها الاضافة الي النص و ليس فقط تسهيل أو تنظيم كيفية كتابة النص، فمثلا وحدة glossary تضيف فلتر يراجع كل كلمات النص على قاموس مصطلحات، اذا وجدت كلمة في النص تطابق كلمة في القاموس يحول الكلمة في النص الي رابط لتعريف الكلمة في القاموس. فمثلا كلمة FOSS على موقع eglug يمكن فهم معناها بمجرد الاشارة اليها أو الضغط عليها.


نظام التصنيف الخاص بدروبال من أهم نقاط قوته، و لكنه أعقد في التعامل من نظم التصنيف الأخرى.

يستخدم نظام التصنيف في دروبال في وظائف قد تبدو بعيدة عن التصنيف فمثلا وحدة glossary تعتمد على نظام التصنيف في تعريف قاموس مصطلحات يتم عن طريق نظام التصنيف.

يدعم دروبال نظم تصنيف شجرية (هايراركية) و بالتالي تعتمد الكثير من الوحدات على نظام التصنيف من أجل بناء أطر شجرية (منتديات، جالريهات الصور، الخ).

التحكم في التصنيف في دروبال يكون عن طريق admin->categories


عبارة عن مجموعة من المصطلحات (الفئات أو التصنيفات) مرتبطة ببعضها، فمثلا مجموعة مصطلحات الألوان تشمل الأحمر و الأخضر و الأزرق الخ في حين أن مجموعة مصطلحات البلاد تشمل مصر و أوغندا و الصين الخ.

الغرض من تجميع المصطلحات في مجموعات مختلفة هو اتاحة التصنيف على أسس مختلفة و النظر الي المحتوى وفقا لقواعد مختلفة، فمثلا يمكن تصنيف التدوينات حسب موضوعها (ثقافة، فن، تكنولوجيا، سياسة، الخ)، و في نفس الوقت يمكن تصنيف نفس التدوينات حسب رخصة توزيع المحتوى (رخصة حرة، مجال عام، جميع الحقوق محفوظة) و يمكن أيضا تصنيفها حسب الحالة المزاجية وقت الكتابة (سعيد، مكتئب، خمول، الخ)، كما يمكن تصنيف نفس المحتوى تصنيفات داخلية قد لا تهم القارئ لكن تهم أصحاب الموقع (سيطبع في دورية المركز، يرسل بالبريد الاكتروني للمشتركين، مهم للمؤتمر القادم، كتبه كاتب من خارج المؤسسة، الخ).

اذن عقدة محتوى واحدة يمكن تصنيفها وفقا لأكثر من طريقة (أو نظرة).

عند انشاء أو تعديل مجموعة مصطلحات يتم تحديد أنواع المحتوى التى سينطبق عليها التصنيف، فمثلا الصور ستصنف على أساس اللون الغالب و المقالات ستصنف على أساس الموضوع لكن التصنيف على أساس رخصة المحتوى سيشمل الصور و المقالات.

من المهم تفادي التقاطع بين مجموعات المصطلحات. فلا معنى للخلط بين الألوان و رخص التوزيع.

عن انشاء مجموعة مصطلحات تحدد أيضا اذا كانت مجموعة مصطلحات مسطحة (مجرد قائمة مرتبة) أم ستأخذ شكل شجري (single hierarchy) يكون للمصطلحات فيه جذر واحد على الأكثر و فروع عديدة، أم ستأخذ شكل شبكي (multiple hierarchy) تتعد فيه الجذور و الفروع.

يمكن أيضا تحديد ما اذا كان متاح تصنيف عقدة محتوى واحدة تحت أكثر من مصطلح من نفس مجموعة المصطلحات (فمثلا مقال عن فيلم سياسي يمكن تصنيفه تحت فن و تحت سياسة، و التصنيفين جزء من مجموعة مصطلحات واحدة أسمها مثلا موضوع المقال).

taxonomy term

مصطلح أو تصنيف، و يكون جزء من مجموعة مصطلحات و هو ما يندرج تحته مجموعة ما من العقد.

لكل مصطلح صفحة مشابهة للصفحة الرئيسية الافتراضية يعرض فيها العقد المصنفة تحت المصطلح مرتبة عكسيا حسب تاريخ النشر، بالاضافة الى تلقيمة rss خاصة بالمصطلح.

دروبال لا يخلق روابط واضحة لصفحات المصطلحات تلقائيا، يضيف النظام روابط الي كل عقدة بصفحات المصطلحات الخاصة بالعقدة. لكن عنوان صفحة المصطلح يتبع دائما الشكل taxonomy/term/ID حيث يتم استبدال ID بالرقم المسلسل للمصطلح.

يمكن معرفة الرقم المسلسل لكل مصطلح عن طريق ملاحظة عنوان صفحة تحرير المصطلح

لاحظ اضافة /0 في عنوان التلقيمة، 0 يشير الي عمق التلقيمة في شجرة المصطلحات، فصفر تعني عرض العقد المصنفة مباشرة تحت المصطلح لكن 1 تعني عرض العقد المصنفة مباشرة بالاضافة الي العقد المصنفة تحت أي مصطلحات متفرع مباشرة من المصطلح اياه و 2 تعني عرض ما صنف تحت المصطلح و فروعه و فروع فروعه و هكذا، و تستخدم all للدلالة على المصطلح و كل فروعه (أي أعمق ما يمكن). طبعا في حالة مجموعة مصطلحات مسطحة لا يهم الرقم الاضافي و اصطلح استخدام صفر.

تضيف الوحدة الاضافية taxonomy menu روابط لصفحات مصطلحات التصنيف تلقائيا في قائمة التصفح الرئيسية و يمكن طبعا نقل الروابط الي قائمة مستقلة.

path alias

صفحات دروبال لها عناوين محددة، اذا سجلت عنوان صفحة ثم زرته ثانيا ستجد نفس الصفحة، تتبع تلك العناوين نظام محدد فمثلا عناوين العقد تأخذ صورة node/ID أي أولا عقدة عنوانها node/1 و ثاني عقدة node/2 و هكذا، و هذا العنوان ثابت فمثلا مسح ثاني عقدة لا يغير من عنوان ثالث عقدة (تظل node/3)، ذات الشيئ ينطبق على عناوين صفحات مصطلحات التصنيف التي تأخد الشكل taxonomy/term/ID و هكذا.

لكن يتيح دروبال لمدير الموقع تحديد عناوين اضافية لأي صفحة، مما يثري الموقع، فمثلا استخدام /about كعنوان لصفحة "من نحن" أفضل من استخدام node/503 و استخدام /community_events أفضل من taxonomy/term/51,95

عمل عناوين اضافية يعتمد على وحدة path (مرفقة مع دروبال لكن غير مفعلة تلقائيا)، في حالة العقد يمكن عمل عنوان بديل/من خلال استمارة انشاء محتوى، للصفحات الأخرى يجب زيارة administer->url aliases


مستخدم النظام هو أي زائر للموقع، سواء كان مجرد قارئ أو مشارك أو مدير الموقع، يمكن طبعا تسجيل حسابات عضوية على الموقع و استخدام اسم الحساب و كلمة سر للولوج الي الموقع


لكل مستخدم مسجل ملف على الموقع يمكن زيارته من user/ID حيث ID هي مسلسل المستخدم.

في الأصل لا يطلب دروبال الا اسم و عنوان بريد الكتروني لكي ينشئ حساب بالاضافة الي كلمة سر يختارها دروبال عشوائيا ثم يتاح للمستخدم تعديلها. لكن بعد تفعيل وحدة profile يمكن لمدير الموقع تصميم استمارة عضوية بها خانات اضافية (الاسم بالكامل، المهنة، مفتاح التشفير العلني، الاهتمامات، الخ) كما يمكن تحديد أي خانات أجبارية و أيها اختياري و أي الخانات سيعرض لحظة التسجيل و أيها متاح فقط عند تعديل بيانات الحساب.

user roles

يقسم دروبال المستخدمين الى أدوار بحيث يكون لكل دور صلاحيات مختلفة فمثلا يمكن توزيع المستخدمين على أدوار كاتب مسموح له فقط كتابة محتوى و اضافته في طابور النشر، و دور محرر قسم مسموح له مراجعة و تعديل أي محتوى و السماح بنشره و محرر الموقع المسموح له نشر محتوى على الصفحة الرئيسية و هكذا.

ينشئ دروبال دواران تلقائيان:

anonymous user
مستخدم مجهول و مقصود به أي زائر للموقع لم يلج الى حساب مستخدم مسجل في الموقع (الغالبية العظمى من قراء أي صفحة وب علنية)
authenticated user
مستخدم معروف للنظام و المقصود به أي زائر للموقع له حساب مسجل و قام فعلا بالولوج عن طريق ادخال اسم الحساب و كلمة السر

يمكن لمدير الموقع انشاء أدوار اضافية عن طريق administer-> و تحديد صلاحيات كل دور من administer->access control و تخصيص الأدوار يكون عن طريق تعديل حساب المستخدم user/ID/edit

يمكن لمستخدم واحد الجمع ما بين أكثر من دور و في هذه الحالة يكون للمستخدم كافة الصلاحيات المتاحة للأدوار المختلفة

يعامل أول حساب على النظام (مسلسل 1) معاملة خاصة، أشبه بالمستخدم الجذر في نظم اليونكس، أي تتاح له كافة الصلاحيات بغض النظر عن أدواره و صلاحيات تلك الأدوار.

وحدة members الاضافية تتيح عرض قائمة بالمستخدمين حسب أدوارهم.

book page



image gallery

flexinode templates wiki syntax rich text editor

I suppose each of these should go on a seperate book page that falls under the same heirarchy, and any new arabic pages on drupal should fall under that heirarchy this way we might one day (as in the next decade) have a decent drupal booklet in arabic.

غرفة محادثة

كعادة مجموعات مستخدمى لينكس فى العالم و القائمين على مشروعات مفتوحة المصدر عامة, مجموعة جنو لينكس المصرية لديها غرفة محادثة نشطة الى حد بعيد على ال IRC, عادة ما ستجد على الأقل 10 مستخدمين متواجدين هناك على مدار اليوم و اليل, هناك يمكنك أن تطلب المساعدة و تنتظر رد ديناميكى متفاعل أو يمكنك أن تضيع بعض الوقت فى الرغى عن أى شيئ (الأخير هذا هو الاستخدام المعتاد), لكن عليك اتباع بعد القواعد العامة و المعروفة بالنتيكيت بغرض المحافظة على التظام نوعا ما(هذا لا يعنى أن كلهم يتبعوا هذه القواعد على أى حال...).

كيفية ضبط الurpm فى توزيعة mandriva

الurpmi عبارة عن أداه موجوده فى توزيعة mandriva .. وهدفها تسهيل تثبيت البرامج لأقصى درجة ممكنه. وفكرتها الأساسية تعتمد على حزم rpm (redhat package manager).

بالطبع يوجد مناظر لها فى عديد من التوزيعات مع الفارق طبعا .. فهناك ال apt-get الخاصة ب debian و ال emerge لل gentoo و غيرها.. لكننا الأن بصدد الحديث عن mandrake أو mandriva.

الفكرة هنا هى أن القائمين على توزيعة mandriva بالإضافة الى المتطوعين يقومون بانشاء حزم rpm للبرامج وأجزاء النظام عموما. ويتم وضعهم بعد اختبارهم على خوادم (servers) موجوده ومتاحة على الإنترنت، فبكل بساطة عندما تطلب تثبيت برنامج ما وليكن katoob فيكفى أن تعطى الأمر urpmi katoob. فتقوم الأداة بالبحث عن موقع هذا البرنامج فى المعلومات المخزنة عندها، ثم تقوم بتحميل هذا البرنامج من على الإنترنت ثم تقوم بتثبيته. كل هذا أوتوماتيكيا بدون أى تدخل منك (الا فى حالة حدوث خطأ معين).

لكى نستطيع أن نستعمل هذه الأداة يجب أن نقوم ببعض الضبط.. أولا يجب أن نعطيها مواقع الخوادم المحتوية على حزم rpm وأماكن الحزم عليها (وهذا المسمى بال mirrors). ثانيا يجب أن تعرف أسماء الحزم الموجوده على كل خادم منهم بل وتعرف لكل حزمه احتياجاتها من الحزم الأخرى (بعض أو أغلب الحزم تعتمد على حزم أخرى لا بد أن تكون مثبته لكى تعمل جيدا.. اعتماد حزمه على أخرى يسمى ال dependencies). القائمة الخاصة باسماء الحزم واعتماداتها تسمى ال headers أو ال hdlist, وهذه القائمة يجب تحديثها دوريا لكى تظل قادرا على تثبيت أحدث البرامج المتاحة. ثم يمكنك استخدام urpmi وقتما تريد بعد هذه الخطوات.

كيفية عمل هذه الخطوات كالتالى:

  1. اختار نسخة ال mandriva المثبتة على جهازك واختار نوع المعالج (اذا كنت غير متأكد من نوع معالجك اختار i568).واختر "Show specific sources too" ثم اضغط على "Proceed to step 2"لا حظ أن الحزم, مقسمة الى مجموعات:
    1. main: الجزأ الرئيسى من التوزيعة وهو الموجود فى الإسطوانات لديك لذا غالبا لن تحتاجه
    2. contrib: هذه قام بتحزيمها متطوعين وليست ماندريك,تحتور على الكثير من الحزم المفيدة
    3. updates:التحديثات الرسمية من ماندريفا مثل التحديثات الأمنية وغيرها
    4. jpackage:برامج مكتوبة بالجافا
    5. plf-free &plf-nonfree:الحزم التى تمنع بعض المشاكل القانونية فى بعض الدول توزيعها بصورة رسمية مع التوزيعة ,الكثير من البرامج الحرة قد تقع تحت هذا البند
  2. اختار خادم لكل نوع من أنواع الحزم. لاحظ أن الفرق بين أى خادم واخر لا يتعدى السرعة ( اختر الأقرب لك و قد تحتاج للتجربة لتقرر أيهم أسرع لك). ثم اضغط على "Proceed to Step 3"

  1. ثم تكتب السطور المبتدئة ب urpmi.addmedia التى أخرجها لك الموقع easyurpmi ... كل سطر من هؤلاء يعطى موقع لخادم معين وأماكن الحزم عليه, ويقوم اللينوكس أوتوماتيكيا بتحميل ال hdlist الخاصة به. لاحظ أن هذه الخطوة ستأخذ الكثير من الوقت.. وقد تأخذ وقتا طويلا جدا لمستخدمى خدمة الانترنت عن طريق الهاتف. لذا يمكنك اختيار Use compressed index وهذا سيقلل من الوقت لكنك ستدفع ثمنا لهذا فقدك لكثير من المعلومات عن الحزم (مثل الوصف وقائمة الملفات)
  2. لوضع مصادر محلية للحزم (من القرص الصلب او من القرص المدمجج)

NAME اسم للمصدر المضاف

PATH مسار المصدر المضاف الذي يحتوي علي الحزم

RELATIVE PATH TO HDLIST مسار القائمة الخاصة باسماء الحزم واعتماداتها


بعد هذه الخطوات أنت جاهز لاستعمال ال urpmi عندما تحتاج.. لاحظ أنك لا بد أن تكون root لكى تتمكن من استعمالها.

بعض الأوامر الخاصة ب urpmi:

urpmi package_name
تحميل وتثبيت البرنامج المذكور
urpmi --allow-nodeps package_name
اذا فشلت الإعتماديات يسألك هل يقوم بالتثبيت ويتجاهل ذلك
urpmi --allow-force package_name
urpmi --auto package_name
يختار أى حزم مطلوبىة لتنصيب هذه الحزمة أوتوماتيكيا دون سؤال
urpmi --wget package_name
يستخدم wget لتحميل الحزم
urpmi --resume package_name
يعيد تحميل حزمة لم يكتمل تحميلها فى مرة سابقة
urpmi --noclean package_name
يحتفظ بالحزم التى تم تحميلها فى الـ cache (/var/cache/urpmi) ولا يمسحا بعد التنصيب
urpmi --auto-select
يقوم بعمل تحديث (update) لجميع الحزم الموجودة ما عدا ال kerne
urpmi --auto-orphans
لازالة الorphan packages
urpmi kernel-*********
يقوم بعمل تحديث لل kernel الى النسخة المختارة
urpmi.update -a
يقوم باعادة تحميل ال headers لل mirrors التى سبق ضبطها.. مفيد لكى تستطيع أن تحمل البرامج الجديدة ويجب استعماله دوريا كل فترة
urpmi.update medium_name
يحدث الوسيط المذكور
urpmi.removemedia -a
يقوم بازالة جميع الضبط ل urpmi.. وذلك لكى تستطيع ضبطه من جديد
urpmi.removemedia medium_name
يحذف الوسيط المذكور

يعرض الحزم المتاحة للتحميل للبرنامج المطلوب (-i: يقوم بعرض وصف و معلومات مفيدة عن البرنامج المطلوب)

من الواجهة الرسومية:

اذا كنت لا تحب استخدام سطر الأوامر (لماذا !!) فيمكنك القيام بكل هذه المهام عن طريق مركز تحكم ماندريك

  • drakrpm-edit-media
  • gurpmi.addmedia
  • drakrpm
  • gurpmi
  • drakrpm-remove
  • drakrpm-update

لؤلؤة عربية جديدة تنضم لعقد التوزيعات العربية العريقة

اتفضلو اعلان توزيعه الاقصي

وهذا التعريف والتقديم الذى كتبه انترلينوكس ....... السلام عليكم ورحمة الله وبركاته

لؤلؤة عربية جديدة تنضم لعقد التوزيعات العربية العريقة

توزيعة الأقصى لم تصدر لتتنافس مع غيرها من التوزيعات العربية الشقيقة مثل أرابيان وجواثا وفيكتارا ( ترتيب أبجدي ) بل صدرت لإثراء مجتمع اللينوكس العربي ولإضافة نكهة جديدة لنظام لينوكس إعتمادا على تركيزها الشديد على الإرتقاء بجمال سطح مكتب نظام التشغيل لينوكس وهذا ما ستتأكدون منه بعد تجربة التوزيعة التي أعتقد أنها ستنال إعجابكم

شاهد بعض صور التوزيعة هنا

توزيعة الأقصى 1.3 RC1 مبنية على توزيعة كنوبيكس 4.0.2 الأخيرة

مميزات توزيعة الأقصى

كرنيل 2.6.12

KDE 3.4.1

حذف طقم أوبن أوفيس 1.4 من التوزيعة وتثبيت النسخة الأخيرة أوبن أوفيس 2 وتضبيطه ليعمل بالخطوط العربية التي تم تركيبها في النظام

تسريع اقلاع التوزيعة بتقليل الخدمات التي تبدأ مع إقلاع الحاسب وجعلها تبدأ في خلفية سطح المكتب

تركيب أحدث تعريب لسطح مكتب كيه دي ئي والتوزيعة تعمل للواجهة العربية بصورة إفتراضية

تحديث ال unionfs بأحدث باتش ولا توجد حاليا أي مشاكل معه

إضافة الكوديك الخاص win32 لتشغيل كل أنواع ملفات الملتيميديا

استخدام أحدث إصدارة من libntfs لدعم القراءة والكتابة لأجزاء ntfs ( لم أختبر هذه الخاصية نظرا لعدم وجود أجزاء بهذا التنسيق على جهازي )

تركيب رقع حديثة للفاير فوكس

تم تثبيت ماكروميديا فلاش بلاير


إضافة مجموعة ألعاب ثلاثية الأبعاد مثل سباق سيارات مجسم وسباق البطريق وقتال فضائي ومعركة الدبابات وغيرها من الألعاب الشهيرة البديلة لألعاب الويندوز

إضافة بعض الخطوط العربية الشهيرة مثل Times New Roman و و Courier New و Arial و Arabic Transparent و Traditional Arabic وغيرها

وضع رابط على سطح المكتب لبرنامج تثبيت التوزيعة HD Instalوتصميم أيقونة الرابط

تحسين المظهر العام

تثبيت kbfx

تصميم زر لقائمة كيه خاص للتوزيعة وتصميم ملف خلفية الأرضية في البانل وتصميم الصورة الجانبية في قائمة k وتحتوي على شعار التوزيعة

تركيب ويندوز ديكوريشن مثل الموجود في توزيعة سوس 10 الأخيرة وتصميم شعار للتوزيعة يظهر في الوينوز ديكوريشن بأعلى أي نافذة وهذه الميزة لن تجدها سوى في توزيعة سوس فقط

بعض التحسينات الطفيفة على مظهر الكنترول سنتر ليناسب المظهر المميز للتوزيعة

تصميم بوت سبلاش لسطح مكتب كيه دي ئي للتوزيعة مبني على ريدموند انجن بوت سبلاش

صور للتوزيعة

بوت سبلاش التوزيعة

التعرف على الهارد وير

بوت سبلاش سطح المكتب

سطح المكتب

قائمة برامج التوزيعة والألعاب التي فيها

برامج التحكم وإدارة النظام

برامج الجرافيك لعرض وتحرير الصور

برامج طقم أوبن أوفيس 2

برامج الفيديو والصوت

برامج الإنترنت والشبكات

مركز التحكم

الكتابة بالعربي في التوزيعة وهي تعمل مباشرة من القرص المدمج وترى خط تايمس نيورومان الشهير

عيوب التوزيعة

1 عند تشغيلها مباشرة من القرص المدمج لا تستطيع قراءة أسماء الملفات والمجلدات باللغة العربية في أجزاء الويندوز

2 بعد تثبيت التوزيعة يجب القيام بهاتان الخطوتان لكي تتمكن من قراءة أسماء الملفات العربية في أجزاء الويندوز

الخطوة الأولى

إفتح كونسول المستخدم الجذر وإكتب الأمر التالي واضغط مفتاح انتر

كود: كود: cp /home/aqsa/tmp/environment /etc

ستظهر لك رسالة استفهام اكتب حرف y ثم اضغط مفتاح انتر

الخطوة الثانية

يجب عليك أن تعدل الأسطر أمام أجزاء الويندوز في ملف

كود: كود: /etc/fstab

السطر سيكون على سبيل المثال هكذا

كود: /dev/hda1 /mnt/hda1 vfat noauto,users,exec,umask=000 0 0

أو بحسب الحال لديك hda2 or hda3 or hda4 or hda5 or hda6 or hda7 إلخ ..

عدل السطر ليصبح هكذا

كود: /dev/hda1 /mnt/hda5 vfat noauto,users,exec,umask=0,codepage=864,iocharset=utf8 0 0

أو بحسب الحال في قرصك الصلب hda2 or hda3 or hda4 or hda5 or hda6 or hda7 إلخ ..

والآن تستطيع قراءة أسماء الملفات العربية في أجزاء الويندوز

وأخيراً نظرا لشدة إنشغالي وإذا أردت الحصول على الدعم الفني للتوزيعة إبحث في منتدى التوزيعة الأصلية كنوبيكس لكن باللغة الإنجليزية وإن شاء الله ستجد لديهم حلول لأي مشكلة تواجهك

أتمنى أن تعجبكم التوزيعة التي حرصت على إعطائها مظهر جذاب ومميز لتشجيعكم على إستخدام نظام لينوكس خاصة أن العديد منكم لازال يعتبر سطح مكتب لينوكس أقل جمالاً من سطح مكتب الويندوز لكن هاهي توزيعة الأقصى تثبت العكس بتميز واجهتها الرسومية ولا أنسى أن أشكر إدارة نبع__ العرب على دعمهم القوي والمميز لنشر العلم والمعرفة بين العرب في شتى المجالات وعلى دعمهم لنظام لينوكس بصفة خاصة ولكرمهم وتطوعهم بإستضافة التوزيعات العربية على سيرفر نبع الخير لكل العرب فجزاهم الله خيراً

ولا أنسى أن أشكر أخي بوخالد على أنه كان الملهم لي في تحسين مظهر سطح مكتب كيه دي ئي في توزيعة الأقصى بعد أن شاهدت صور توزيعة فيكتارا الجميلة و قمت بالبحث والتنقيب داخل kde_look لأكتشف كنز من الإضافات الرائعة ولا أنسى أن أشكر أخي خالد 1424مطور توزيعة جواثا التي تطورت بشكل ممتاز ولازالت هي وأرابيان وفيكتارا على أجهزة قاعة المحاضرات في شركتي جنبا لجنب مع توزيعات ميبس وفيدورا ومندريفا وسوس ولا أنسى أن توزيعة جواثا قد ألهمتني أن أجعل سطح مكتب التوزيعة الإفتراضي عندما تعمل من القرص المدمج هو 800x600 ولا أنسى أخي العزيز مسلم عادل مطور توزيعة أرابيان التي فتحت الباب لتطوير توزيعات عربية أخرى بسبب كفائتها وتميزها ولا أنسى أن قسوته على معربي التوزيعات هي التي دفعتني لإعتبار توزيعة الأقصى الحالية معربة على إعتبار أن حذف الحزم وتركيبها وإضافة برامج وألعاب وخطوط وكوديك وتركيب حزم لترقية البرامج لا يعتبر تطويرا في التوزيعة

وفي النهاية أعلم أن الطريق لازال طويلا أمام توزيعة الأقصى التي هي حاليا مجرد نسخة ريماستر remaster لتوزيعة كنوبيكس وإن شاء الله أعدكم بتطويرها وتحسينها لتصبح توزيعة عربية مستقلة

وفي النهاية أذكركم بأن الدافع لتصنيع توزيعة الأقصى هو إثراء مجتمع اللينوكس العربي بزيادة عدد التوزيعات العربية ولتشجيع الآخرين على المضي قدما في تعلم خفايا وأسرار النظام وبالطبع تعدد التوزيعات العربية هو لصالح المستخدمين العرب أولا وأخيراً علما بأن هذه النسخة تعتبر تعريب لسطح مكتب توزيعة كنوبيكس وإن شاء الله من المستهدف إصدار توزيعة الأقصى كنسخة مطورة وليس معربة كما هو الحال في هذه التوزيعة علما بأن العمل يجري على عدة محاور لتطوير توزيعة ترتكز على تكنلوجيا ديبيان وهذه كانت المحاولة الأولى لإحدى هذه المحاور ( للأسف الشديد أعمل منفرداً ودونما أي مساعدة من الغير سواء عرب أو أجانب علماً بأن محاور تطوير توزيعة الأقصي هي أولاً أناكوندا والبديل هو ديبيان إنستالر في حالة فشل محور أناكوندا وكذلك محور التوزيعات اللايف التي يمكن تثبيتها على القرص الصلب مثل كنوبيكس وكانوتيكس وميبس وندعو الله أن يوفقنا لما فيه الخير أضف لذلك أني أوشكت على الإنتهاء من أول برنامج باللغة العربية لتعليم نظام التشغيل لينوكس وهو مجموعة محاضرات مصورة فيديو من سطح المكتب ومشروحة بالصوت لتركيب التوزيعات وبرامجها وتشبة مجموعة ال CBT أضف لذلك محاولة متواضعة لإنشاء وتصميم موقع عربي مجاني لنظام لينوكس تلبية لطلب الإستاذ المحترم على ناجي الشهير بإسم عرب لينوكس وهو عضو في المنتدى والموقع يحتوي على دروس وأخبار ومقالات تحليلية وإستعراض للتوزيعات ومكتبة برامج وألعاب لينوكس ومجموعة وثائق عربية وأفضل ما في هذا الموقع هو عدم وجود منتديات ( هههههه ) حاليا لازال الموقع على سيرفر مجاني هو WWW.LINUX.BYETHOST11.COM

وقد قرر الإستاذ على ناجي في حالة إكتمال الموقع التبرع بشراء دومين وتأجير مساحة له لكن للأسف الشديد ليس لدي الوقت الكافي لإستكمال تطوير الموقع )

أخيرا طريقة تثبيت توزيعة الأقصى هي نفس طريقة تثبيت توزيعة جواثا كا سبق أن شرحتها بالصور وإن شاء الله سأرفع لكم فيلم لطريقة تثبيت التوزيعة

Author: Hosam Aamer

رابط تحميل ملف مضغوط يحتوى على صورة الأيزو لتوزيعة الأقصى

باسوورد لفك الضغط للملف


. فك ضغط الملف وسجل ملف الابزو علي السيدى رايتر وشغل التوزيعه على الكومبيوتر التوزيعة لايف ممكن تشغلها من سيدي وكمان ممكن تنزلها على جهازك

اخوكم على ناجي

نظام تشغيل لينكس

نبذة عن نظام تشغيل لينكس

البعض منا لم يسمع من قبل كلمة (لينكس) والبعض الأخر قد يكون سمع عنها ولكنه لا يعرف بالضبط ما هو هذا اللينكس و السبب فى ذللك ان الغالبية العظمى من مستخدمى الحاسبات الشخصية ومنذ سنوات عديدة تستخدم نظام النوافذ ، اللينكس هو نظام تشغيل مثل نظام النوافذ تماما ،و يقوم بنفس الوظيفة التى يقوم بها ،نظام تشغيل بوجه عام يتألف من مجموعة من البرامج التى تجعلنا نتعامل مع واحدات الحاسب مثل الشاشة ووحدات التخزين و الطباعة ،وهى التى تجعل التطبيقات التى تستخدمها على حاسباتنا تتعامل مع هذة الوحدات ، فهى التى تتحكم فى طريقة عما وحدات التخزين لكى تمكن البرامج التى نستخدمها من قراءة البيانات المخزنة بها،وهى التى تصل البيانات التى نريد مشاهدتها الى الشاشة لكى تعرض عليها،أى ان نظام التشغيل هو حلقة الوصل بين التطبقات التى تستخدمها فى نفس الوقت على الحاسب ،الفرق الكبير بين نظام تشغيل نظام النوفذ و نظام ونظام تشغيل اللينكس ان الأول يباع بمبلغ من المال بينما اللينكس نظان مجانى ،ليس هذا فقط با ان نظام اللينكس من نوعية البرامج التى يطلق عليها (مفتوحة المصدر) اى مخططى البرامج يستطيعون ان يعدلوا فى البرامج التى يتكون منها نظام تشغيل اللينكس لكى يجعلوها تنفذ لهم وظائف خاصة،أما نظام النوافذ فهو مغلق المصدر ، أى لا يمكن لأى شخص ان يقوم بتغير أمر واحد من ملايين الأوامر التى يتكون منها النظام،يمكنك بسهولة اذا كان لديك خط انترنت سريع أن تدخل على مواقع عديدة على شبكة الأنترنت ،و تقوم بتنزيل نظام اللينكس وتستخدمة لتشغيل حاسبك الشخصى ،....أما اذا كنت أكثر مهارة ولديك خبرة فى لغات الحاسب الألى ،فيمكنك ان تقوم بتعديل أوامر نظام اللينكس أو اضافة أوامر جديدة لة لكى يناسب تماما طريقة عملك... الأسباب السابقة تدعو الى الارتباك و الحيرة فالنظامان يستخدمان لتشغيل الحاسبات الشخصية و يؤديان نفس الوظيفة أحدهما مجانى و الأخر ندفع فية مبلغا من المال (ليس بقليل) وأيضا أحدهما يغطى لمستخدمه مرونة فى تغيير أوامره لكى يستطيع تنفيذ أى وظيفة جديدة قد يفكر فيها، بينما الأخر ليس به هذة المرونة بل هو مغلق على الأوامر التى قامتالشلركة النتجة بتصميمها

  • لعدة سنوات كان الناس ينظرون الى نظام يونكس على انه نظام التشغيل الأمثل للشبكات فهو يوفر العمود الفقرى لمعظم خدمات الأنترنت المألولفة للك.وعندما أصبحت شبكة الأنترنت (والشبكات عموما)أكثر شيوعا، تزايدت الحاجة ﻷنظمة تشغيل الشبكات . وتمكن المشكلة فى ان الأصدارات التقليدية لنظام يونكس باهظة الثمن. كان البديل اذا هو ظهور نظام تشغيل لينوكس.
  • ونظام تشغيل يعمل بشكل مشابه لنظام يونكس. لقد تم اعداد هذا النظام بواسطة لينوس تروفلدس، كما استمرت عمليه التطوير تحت اشرافه.ويوجد آﻻف من الناس فى كافة أنحاء العالم أشتركوا فى تطوير هذا النظام الذى يختلف عن بقية نظم التشغيل.فالسبب وراء عمل هؤﻻء الناس فى النظام هو مجرد رغبتهم فى ذلك وليس ﻷنهم مكلفون به.وكانت النتيجة نظام تشغيل ناتج عن حب العمل وانتشار المصادر المفتوحه ،وهو مجانى تماما.
  • يتم توزيع نظام لينك جنو العامة،التى تقضى بأن تكون الشفرة المصدر للبرنامج مجانية أيضا.ولكن .....أﻻ توجد شركات تبيع نظام لينوكس؟ بلى،يوجد الكثير.تقوم هذه الشركات بانتاج اصدارات من لينوكس لها العديد من الخواص الاضافية وايضا معها وثائق مطبوعة.ورغم ذلك يمكن الحصول على هذة الاصدارات التجارية مجانا عن طريق الانترنت.
  • وبالأضافة انه مجانيا فان لينوكس نظام تشغيل قوى جدا.فهو يحقق حماية للذاكرة،وتعددالمهام،وايضا يوفر بيئة تعدد المستخدمين بشكل كامل...الخ.وبخلاف نظم التشغيل الأخرى فأن احتياجات لينوكس من معدات الكمبيوتر متواضعة.وأكثر من ذلك ، فهو يعمل على انظمة كثيرة .فقد تم ملأءمة لينوكس للعمل على أنواع كثيرة ومختلفة من المعالجات المركزية، بدءا بمعالج ألفا الى بنتيوم المعالجات باور بى سى .هذا يعنى انة يمكن تشغيل لينوكس على جهاز ماكنتوش أو ديل أو جيتواى.


Linux Essentials Course

I would like to propose giving Linux Essentials course if enough number want it. I could give a session once per week for 3-4 hours in Sakit El Sawy or somewhere near down town.


  • Someone to organize with the place.
  • Source of book either softcopy or hardcopy (prefered).

First Polling period ends

Eglug elections first polling period ends after 10 days, if minimum number of votes (17) is met elections will end.