PDA

View Full Version : How does linux run programs?



FreeTheCheese
02-14-2004, 03:15 PM
I'm trying to understand how to 'run' linux programs. e.g. in windows you run excutables or batch files. So I would like to have an idea of the equivalent to those in linux and how to run them. I know there are scripts as well and you run them by './' but i don't really 'get' it all at all :?

fingers99
02-14-2004, 03:31 PM
The most significant difference between Windows executables and Linux ones is that the Windows ones have an .exe extension, while Linux ones don't!

Generally, in Linux you run a program by calling it. In effect (although there may be some overlying GUI trickery going on) you're doing no more than typing (for example)

gimp

at the command line. This calls the gimp executable which lives in /usr/bin (actually, it's a symbolic link to gimp1.2, BWTH). You can even run it by clicking on the icon.

There's much more about this in rute

(if you have a HD install you can get it by doing:

apt-get install rutebook)

but a google will find it.

baldyeti
02-14-2004, 04:35 PM
Have a look at the chmod man page. IOW, type "man chmod" in a shell session. I believe "man:/chmod" should also work as a target location for konqueror.

FreeTheCheese
02-14-2004, 08:00 PM
So, say I download a program off of the net, (a linux program) how do I actually run it? Do I have to compile it, or create a symbolic link or wat? :)
And also, how do you know what a program is if it hasn't got a different ending?

windos_no_thanks
02-14-2004, 08:38 PM
And also, how do you know what a program is if it hasn't got a different ending?
The file ending way in dos/windos is silly anyway since you can change it. There is an utility called "file" that identifies most file types correctly. To find out if a file called "foobar" is an executable file say:


file foobar

windos_no_thanks
02-14-2004, 08:47 PM
So, say I download a program off of the net, (a linux program) how do I actually run it? Do I have to compile it, or create a symbolic link or wat? :)
Depends on what you download. As Knoppix is Debian based you should use the Debian package management system (apt-get etc...) to retrieve and install the stuff. If it isn't available as a pre-compiled package you can get the source tarball instead, for most stuff something like this works:


tar -xzvf foobar.tgz
cd foobar
./configure
make
make install

(the make install part needs to be run as root) Notice that this would probably break the package management for that particular program so avoid doing it if it is available as a Debian package.

rickenbacherus
02-14-2004, 08:47 PM
So, say I download a program off of the net, (a linux program) how do I actually run it? Do I have to compile it, or create a symbolic link or wat? :)

Depends. First you should always look for a README or INSTALL doc. Sometimes you might get a script, make it executable and then execute it.
Debian uses apt so you simply type : apt-get install <someapplicaiton>
If it's source code then you may need to do ./configure && make && make install.


And also, how do you know what a program is if it hasn't got a different ending?

File extensions are not necessary in Linux but you may use them if you like. For example:

homework.monday
homework.tuesday

are both perfectly acceptable. Use whatever you like. Wouldn't it suck if an application was too stupid to know what to do with a file simply because the file had the wrong file extension? ;)

FreeTheCheese
02-16-2004, 12:06 PM
ok, so If i deffinately know a file is an excutable, can i just navigate to the directory, type the name of the excutable and it will run?

windos_no_thanks
02-16-2004, 01:56 PM
ok, so If i deffinately know a file is an excutable, can i just navigate to the directory, type the name of the excutable and it will run?
Only if "." is in your "PATH" environment variable. However, this will always work:


./theexecutablefile

FreeTheCheese
02-16-2004, 10:54 PM
Only if "." is in your "PATH" environment variable.

do you mean if the file was named ' .myexcutable ' ?

fingers99
02-17-2004, 04:00 AM
Here . just means "the directory". Let's put it another way. If a file/program is executable and in your path and you have permission to execute it you can execute it from anywhere.

On the other hand, if it's not in your path you need to execute it as follows:

./my_program (and it's easier to do it from within the directory).

The ./ basically tells the shell "hey, don't wander off searching the path, just run the program that's in this directory".

Generally, executables will be found in directories like /bin and /sbin.

windos_no_thanks
02-17-2004, 06:01 AM
Only if "." is in your "PATH" environment variable.

do you mean if the file was named ' .myexcutable ' ?

No


Here . just means "the directory"

Yes, "." means the current directory. It is usually not in the path because you normally want commands to run the same program regardless of where you are (unless you specifically tell it to use the current directoy by adding "./" before the name of the program)
You can check your path settings this way:


echo $PATH

Usually you don't see a "." in there. If you really want it to look in the current directory too (I don't recommend it) you can do this:


export PATH=$PATH:.

Hunkah
02-17-2004, 07:36 AM
Personally I think installing applictaions in Linux sucks hoss! I tried to install two things a few days ago. I tried to get it to work for 13 hours and it still wouldn't work. There is still too many picky problems with Linux to make me enjoy the experience.

I agree that windows .exe is a problem because you can get virus problems and stuff from an .exe just by double clicking the wrong one. But that is easy to overcome. (Just don't install P2P or cracks!)

Linux has .deb, .rpm, apt-get, make, make install, ./configure, all of which I haven't got a clue on which one to use with which distro! It would be a great world to have a small unified installer that works! One that allows you to choose where to install, which rights to have with whom, and is it an upgrade or a fresh install!

There are great benifits to all the distros out there, but the simple things get complicated!

All I want to do is try a program I found, to see what it looks like, but I can't! Even the insall instructions don't work. I followed them EXACTLY and I keep getting errors. I have tried two distros.

I would love to have three things in Linux:
A single "working" installer that everyone can use. Even if it is an installer program that takes packages and installs them.

To grasp the file system. I still can't make sense of the way the file system is set up. With widows it is easy. There is a partition. The partition has a file system. There are folders in the filesystem.

With Linux there is / aka root, then there is /root !!! what the heck! plus /bin, /sbin, /usr, /others... But I can't find anywhere that makes it clear on where the partitions are and where the folders are. Is / a partition? or is /root the partition? Is there a map that I haven't found?
Is there a logical seperation or a physical seperation between the "partitions" or is there a different rule altogether?

The last thing I want is a Linux explorer that works like Windows Explorer! I think I use Windows Explorer the most, of all the applications and programs in my computer. For some reason Conqurer never saves the fact that I want a detailed view, or makes it easy to navigate where I want to go.

Someone please help me find a gun?

hplasm
02-17-2004, 12:07 PM
The last thing I want is a Linux explorer that works like Windows Explorer!
That's the last thing I'd want, too. :wink: [/i]

Hunkah
02-17-2004, 12:19 PM
OK that was funny, but in reality, I haven't had near as my navigational problems as I do in Conq.

Like for example, I have a partition that I named "My Files" that I have made to keep all my important documents and files. Within that partition I have "My Pictures", "My Office Notes", "My ..." and so on.

If I wan't to back up my important files I can just back up the entire partition. My probelem is I can't figure out the file system with Linux. Thus not able to navigate like I can in Explorer.

hplasm
02-17-2004, 12:27 PM
here is a guide to the filesystem, hope this is useful..
http://www.qvctc.commnet.edu/classes/csc277/linux_files.html

windos_no_thanks
02-17-2004, 12:37 PM
here is a guide to the filesystem, hope this is useful..
http://www.qvctc.commnet.edu/classes/csc277/linux_files.html

Looks useful but some things do not apply to Knoppix, for instance: "/root – The root folder contains the kernel and other important system files".
In Knoppix (and all other modern Linux distros I've seen) /root is just the home directory of the root user. The kernel is in /boot.

fingers99
02-17-2004, 12:43 PM
I would love to have three things in Linux:

A single "working" installer that everyone can use. Even if it is an installer program that takes packages and installs them.


You have, if you've a Knoppix or Debian install, the best installer out there. It's called apt-get. There are even apt-gets for .rpm based systems.

to install foo-bar, for example, you'd just connect to the internet, snap open a terminal, su to root and do:

apt-get install foo-bar

there's a good, but not yet completely able to do everything the command line can, GUI front end to apt-get called synaptic:

apt-get install synaptic



To grasp the file system. I still can't make sense of the way the file system is set up. With widows it is easy. There is a partition. The partition has a file system. There are folders in the filesystem.

I think that's only two things! In Linux there are partitions, in the partitions are directories, in the directories are files.

I doubt if anyone who has seen the paths XP comes up with would argue that Linux has a complicated, illogical file system!

The simple answer to installation issues is apt-get: there's no real point in a newbie getting involved in installs from source or trying to convert .rpm based packages to run on a Debian system.

gowator
02-17-2004, 02:42 PM
Hunkah,
What you seem to be missing is an understanding of disks/partitions and filesystems.

In reality Linux(UNIX) is FAR simpler than Windows. Your just not used to seeing it this way.

Linux also carries forward compatibility with DOS/Windows partitions.
You have a disk controller, usually two

These are the primary and the secondary controller.
For an IDE drive (not serial ATA) each has a possibility to have two devices called master/slave. They aren't called that for nothing and the limitaitons of this are inherent to IDE.

On the Primary you have master/slave = hda and hdb
On the secondary you have master/slave = hdc and hdd

So each of these is a physical disk (or CDROM etc)

A disk needs a filesystem and a file system needs a partition. Well theoretically not but in order to maintain WinBlows compatibility Linux caters for this.

Each disk in DOS can have a maximum of four primary partitions.
In linux these are hda1,hda2,hda3,hda4 ....
However in DOS you can also have an extended partition ... and this can contain partitions itself.....
Linux names these hda5,hda6 etc....

Remember don't blame linux, its only doing this so not as to wreck your windows install. DOS/Win98 etc can ONLY boot from the first partition and that partition MUST conform to rules (like the cylinder <1024)

Linux doesn't have any limitiations except what it does to maintain DOS compatibility.... it can boot from any partition equally.

Each partition has a filesystem....again windows/DOS is limited but linux isn't. So you choose an appropraite filesystem.... its not that hard, very few filesystems are as BAD as FAT, in fact FAT isn't really a proper filesystem.


Each filesystem contains directoires and files

Like for example, I have a partition that I named "My Files" that I have made to keep all my important documents and files. Within that partition I have "My Pictures", "My Office Notes", "My ..." and so on.

Would lead me to beleive that what you are referring to is a directory.


In UNIX a filesystem is not a limitiation, nor is a different disk or partition.
UNIX has a single 'logical' filesystem. "/"


My probelem is I can't figure out the file system
It appears you don't understand what a filesystem is.
A filesystem is just a set of rules for reading/writing data to a block device. (like a disk)

/ can be a single partition on a single disk OR 100 partitions on different disks not even on the same computer. It doesn't matter, its transparent.

If the different partitions have different filesystems, it again doesn't matter, its transparent. Indeed a filesystem is just a filesystem....
If you have an .iso file you can mount it in linux as a loopback device and just use it like any other filesystem, same if its on another computer.

You can organise this however you like....
/mnt is created in linux and is a easy place to create mountpoints to other filesystems.

The directory structure seems to be confusing you.....
/bin (executables for the kernel)
/sbin (kernel executables FOR root user)
/usr (local and user installed executables
/local (machine installed executables for everyone)

The reason for the seperation is simple....
Your /usr directory might not be on that actual machine, you might want to create programs for your user on every machine.
/local is for programs on that machine ONLY
/usr/local is for user programs on that machine ONLY....
/var is for things that change like log files etc.
/home is where you keep your configuration and personal data files


where programs install is down to three things....
1) The intended place by the program writer
2) An accepted place by the packager (Debian)
3) Whatever the user/admin decide.


Linux has .deb, .rpm, apt-get, make, make install, ./configure, all of which I haven't got a clue on which one to use with which distro! It would be a great world to have a small unified installer that works! One that allows you to choose where to install, which rights to have with whom, and is it an upgrade or a fresh install!


That thankfully isn't going to happen becuase Linux is Opensource.
Unlike Microsoft people who write and license programs get to say how they are distributed.

For example QMail (a mail server that makes exchange look like a dangerous toy) can ONLY be distributed in source code.
That is the wish of the person who wrote it.
It MUST be installed into /var/qmail (by default)

KDE or Gnome also have their default places....
Distro's that mess with them tend not to work when they are upgraded!!!

With Windows you get about 10 programs that integrate into Windows, the rest are not. The just install where they will and edit the registry....
Most importantly they are all monolithic - that is they don't share common parts. If you install two CD writing progs they will both contain the Cd writing software but also the drivers and perhaps utilities like MP3 ripping.

In Debian you have thousands of intergrated programs.
When you install a Cd writer it installs a front end. Just the buttons and options. It uses a seperate program to read CD's and a different one to extract audio and another to rip mp3's...

If you install a second Cd writing prog it can use the same 'helper progs' ..

Equally you can choose which 'helper prog' it uses. bladeenc, lame etc.

When you run a program, basically you just copy it to memory and start a process. when you install it, its up to the program,packager to decide HOW you run it.
You can have any of:
An icon on the desktop
A item in the menu
A link within the path or alter the path.
or nothing, you add them youself.

In short nothing limits you....
If you add it to the KDE menu's don't expect it to run from a gnome or fluxmenu unless you add it.

What program is it anyway!!!!!

Cuddles
02-17-2004, 04:47 PM
First of all, GoWater, nicely put, excellent wording, and descriptions :!:

As for the "filesystem" structure, I tend to think of it "like" the old DOS prompt directory structure, its easy to follow then. (just with a "starting point" being slightly different:

In DOS, a tree structure would look something like this:
C:\DOS\SCSI\DRIVERS\CDROM\YAMAHA\SCSICD.SYS

Whereas, if this same (which an extension would not be necessary, but for explanation purposes) above "tree" structure, in Linux/Knoppix/Debian/etc... would look like this:
hda1/dos/scsi/drivers/cdrom/yamaha/scsicd.sys

The only "wrinkle" in this theory, is that if hda1 was manually mounted, and not the operating system, it could have a "mount point" that adds to the first part of the string... Lets say that device hda1 has a "mount point" of /cdromdrives/archived - then the above Linux/Knoppix/Debian/etc... line of a translated DOS tree structure, would actually look like this now, with the mount point involved:

/cdromdrives/archived/dos/scsi/drivers/cdrom/yamaha/scsicd.sys

The whole "file system" in Linux/Unix/Debian/Knoppix/etc... is far more "advanced" than a "file system" in any Windows system. It can do more, it can be expanded more, and it has less "limitations", which are mostly placed on top of the "file system" by the operating system, than Windows systems have. And, lets not even get started on the security of Linux's file system, either - considering that if a file is made "global" to all users, it can get its "security" from an inherited folder, or device (hard drive). In other words, a device can be read-only, and ANY file, or folder, on the device is also read-only, even if the file has read/write access.

This may be where a lot of people get stumped, I did, from the start. The whole "security" measures of Linux are in the "complete" tree structure. A file can have all user access read and write, but if the folder, or any of its parent folders, or the device, is not also read-write to all users, the it won't allow changes to even the file.

I think Unix, and Linux, have a more powerful way of "locking down" a file system, than any other OS I have ever seen. (this is serious security, considering I had a heck of a time trying to get a few users ability to access a few files.)

Oh well, I think I've said enough -=- graveyard shift, and way past my bedtime :oops:
Cuddles

FreeTheCheese
02-18-2004, 01:46 AM
ok....i THINK I might have grasped this:

When you type something, e.g. "ping" the shell looks through a few directories e.g. /bin and /sbin etc... however it doesn't try anything in the current directory unless it is specified in the path file.
However, if you want to run a program in a certain directory you type "./" which stops the shell searching elsewhere.

One more question: I often download 'programs' which have "make" "make install" etc.. instructions, are these 'programs' in the sense of excutables or are these scripts/code which the shell detects and runs a compiler, or something similar?

Hunkah
02-18-2004, 03:08 AM
First off Thank-you hplasm for the link, I have yet to read it because I want to comment on these posts first.



You have, if you've a Knoppix or Debian install, the best installer out there. It's called apt-get. There are even apt-gets for .rpm based systems.


This is what I meant by NOT having one way of doing it. This is great but it doesn't work with every distro and it won't work with the program I want to try.



Hunkah, What you seem to be missing is an understanding of disks/partitions and filesystems. Each disk in DOS can have a maximum of four primary partitions. In linux these are hda1,hda2,hda3,hda4 .... However in DOS you can also have an extended partition ... and this can contain partitions itself..... Linux names these hda5,hda6 etc.... Remember don't blame linux, its only doing this so not as to wreck your windows install. DOS/Win98 etc can ONLY boot from the first partition and that partition MUST conform to rules (like the cylinder <1024) Linux doesn't have any limitations except what it does to maintain DOS compatibility.... it can boot from any partition equally.


Yes I do know this... My problem is Conqurer. It just doesn't work as easy as Explorer. I know, I know, Linux isn't windows and blah blah blah, but it would be nice if Conqurer would remember that I like to use the Detailed view!!! There are some things I need to change that I have become accustomed to, but there are also things that need to just be easy!
Me going on about that in here might not get anywhere, but maybe the creators of a file browser might see this post.

Me:
Like for example, I have a partition that I named "My Files" ...



Would lead me to believe that what you are referring to is a directory.


No, I have a partition that I have as my [My Files K:\] with a link from "My Documents". I have done this so that when I reformat my HD every so often I don't lose my important documents. I have set it up so that I can reinstall the image of my OS and without missing a beat. I can be up and running in less then twenty minutes, just in case of a OS melt down!

My other partitions are:
Win2000 C:\
CDRW D:\
DVDRom F:\
My Downloads G:\
Overnet H:\
Disk Images I:\
WWW J:\
My Files K:\

Quote Me:
My problem is I can't figure out the file system



It appears you don't understand what a filesystem is. A filesystem is just a set of rules for reading/writing data to a block device. (like a disk)


This I know, But there is a LOGICAL file system that I don't get. But then that is what you just explained afterwards. For linux it is quite different then in Windows.
In windows G:\ is a partition, then exists folders then files

In Linux
/bin is treated like a folder off of the /(root) partition, yet is is called a partition not a folder. "Logical filesystem" Get what I mean?

Quote Me:
It would be a great world to have a small unified installer that works! One that allows you to choose where to install, which rights to have with whom, and is it an upgrade or a fresh install!




That thankfully isn't going to happen because Linux is Opensource.
Unlike Microsoft people who write and license programs get to say how they are distributed.


Like I said, to me this is not a great thing. I can't install that friggin program!!! Yes it is nice to have choice, but at the expense of taking 13 hours to figure out "EXACTLY HOW" a program "LIKES" to be installed really sucks!!!!!! To me this is not freedom, it is more constricting than windows is! I love the freedom of Linux, that is why i come back after getting frustrated over and over. I like the "religion" behind linux. Although I wont be praying to the penguin, I will hang out with the little guy.

I am not trying to get anyone to see it my way, I am just telling it like it is. Linux is NOT perfect. Although some of you think it is. I think Linus T. is a cool guy, even funny! I think I would like him in person. Klus K. is cool too. But what I don't like is the lie that if it is linux it is the best. Windows is easy, but bad. Linux is hard, but good?
Both statements are oxymorons, yet true!

Oh and thankyou gowator for the long and good explaination.

gowator
02-18-2004, 09:37 AM
I think the problem is you are (becuase of experience) relating everything back to Windows/DOS.

i.e. Your explanations of your 'partitions' in terms of C: d: etc....

Type
mount
post your results and I'll explain it.

in the meantime konqueror is highly configurable. Try Settings/Profile.
If you have the konqueror shortcuts on the KDE panel you will notice there are two. One brings up dateimanagement (file manager) in my home, the other webbrowsing ..

You can adjust the profiles to suite and then start them with Icons like this!!


FreetheCheese
Linux doesn't differentiate over programs....
A 'program' is any file that can e executed from a shell script, perl or python to a binary.

Your case is that the program doesn't exist as binaries, so you make them...
Usually
./configure
(this creates the Makefile for your setup)

make
(makes (compiles the binaries)
make install (as root)
(copies them to /bin etc - you need to be root for this to work)

FreeTheCheese
02-18-2004, 11:43 AM
Thanks gowator, it makes much more sense now :D

Hunkah
02-18-2004, 01:57 PM
gowator So far you have been the most helpful person on this site. Even when I myself don't have a question, you will give an answer to someone else and I find your input great. You explain things in a way that doesn't give the person asking a headache. I just wanted to encourage you to keep up the good work. You must have a teaching job. If not, you do have the gift.

gowator
02-18-2004, 03:04 PM
Well, technically not but that is my REAL JOB!!

I translate between IT people and scientists/engineers and visa versa.

I'm reasonably good at this but experience tells me i'm poor at teaching!!!

My evidence for this is that after doing this for years and painstakingly trying to work myself out of a job they still can't talk to each other ina common language....

IT person, the problem is the users are spawing processes which they are not killing....
Engineer ... I keep restarting the application but it keeps crashing....

Me: looks whats happening to program that keeps crashing... write a script to kill the process .. prepend it to the users script to start the app so it kills the running processes by that user before starting another!!

When people want to listen however I seem to be able to transfer knowledge quite well :D

Your doin fine Hunkah....
You probably have years of MS indoctrination to get out of your head.
Its so subtle you don't even realise it becuase thats the way computers work for you and millions like you. Its like me saying what if you went to a country where traffic lights on green meant stop and red meant go....
Its sure confusing at first .... but assuming your still alive in 3 months you just accept it and it might even grow on ya!!!

MS has you thinking of partitions as C,D,E etc. and network drives as M etc. (actually thats an old LAN manager convention)
So now your in a new world and seeking to understand by relating it back to the old. Sometimes this works but often it doesn't!!!
A network drive isn't really a drive, its a share. So you can do funny things like .....
M: = //serverx/shareX/users AND
N: = //serverx/shareX/users/hunkah

Linux (UNIX can do the same but it doesn't start off misleading you into thinking of them as 'drives')

There are two FUNDAMENTAL DIFFERENCES between Winworld and NixWorld ... and these will confuse you. ITs like learning a different Windows is like say learning Italian if your native tongue is Spanish ...
Learning one NIX to another is like learning portuguese when your native tongue is Spanish

BUT learning NIX from Windows is like learning Chinese when your native tongue is English!! Its has some common features BUT the whole philosophy is different.

1st TIP: Windows is not network aware. Its basically a standalone OS you can plug into a network and then load some optional extra bits on top. But networking will never be fundamental to Windows; its always a bolt on accessory.
Think about something like PCANYWHERE.... it just doesn't exist on NIX becuase its not needed. Implicitly you can open a terminal, application window or even a whole desktop on ANY machine in the world.

say you have two machines in the same network with full permission on both: on alpha
export DISPLAY=bravo:0.0
xterm
Will, if you have permission open an xterm on bravo
this extends way beyond an xterm, it includes sound or partically anything.... (mount bravo://serverx/shareX/users/hunkah /home/hunkah)
thuis will mount a shared home directory on serverx into your HOME directory.

So remembering that linux is fully and always network aware helps you understand it.

This can be inverted too.
That is anything done on a remote machine can be done locally.
say your machine is called alpha.hunkah.com and has a web server running
http://alpha.hunkah.com in a brwser will open that web page.
BUT
http://localhost WILL do the same thing...

2nd TIP: Linux is multiuser ALWAYS!!!
Even if only you are logged in some tasks will be run as root and others will be run by nameless users. (like say www or ftp)
(this provides a security trap, anyone gaining access to the www account should only have permission over the web server and nothing else.)

This is a little disconcerting for windows users.

So going back to tip 1... since its network aware you might log-in at the same time as someone else. You can both work indepenantly, even both log into the same machine and have two keyboards and mice operating different X servers.

Indeed Im using a Solaris machine right now with 200 others!!!

This whole concept is totally alien to Windows people. If you ever used ICA/CITRIX its like that except UNIX just does this.....

Sorting this outr in your head is kinda hard if you don't actually use a mutiliuser environment....like I say its actually being used implicity by linux BUT you are not aware of it whereas when the users are REAL users you become aware!!! then when you look at the pseudo-users and put it in context it makes sense.

Anyway.... its always nice to recieve a compliment, I can link some other reference works I and friends have written if you like ???

FreeTheCheese
02-18-2004, 03:13 PM
Seeing as you're helping us noobs, i've got another question :twisted: :D

When it comes to permissions, how do they work, and how do I use them?

Hunkah
02-19-2004, 12:14 AM
PLEASE do!

I am not joking, you should at least write a book! I am no slouch in the windows world. I even have a (windows) Network Admin Diploma! A+ and the abilities of a Novell Admin. But this *nix stuff is like "real" computing! I am usually playing with a toy OS (windows).

As you talk there are some things I get then others I just smile and nod, but as you continue to explain I eventually get it. (or at lease the idea)

I would love to read anything that you write.

gowator
02-19-2004, 11:39 AM
Hunkah,
Here is a site of an online buddy....
http://www.mandrake.tips.4.free.fr/

Its meant for Mandrake BUT don't be put off.
95% will be applicable to any linux user.
aRTee has written articles such as switch with success for people like you!!!

If your interested in the kernel and stuff then I have some posts I make on Mandrakeuser.org .... (I don't actually have a Mandrake install at the moment but ...)

I have another thread going at themoment on the mandrake board with another noobie .... perhaps i should just host them myself ??? or ask aRTee to.

Hunkah
02-19-2004, 12:00 PM
BTW that program is GTKpizza. It is a pizza POS system. www.gtkpizza.org I was going to test it for a friend, but I can't even do it! He is trying to buy a pizza place and needs a pos without spending a fortune.

Hunkah
03-02-2004, 11:26 AM
MS has you thinking of partitions as C,D,E etc. and network drives as M etc. (actually thats an old LAN manager convention)
So now your in a new world and seeking to understand by relating it back to the old. Sometimes this works but often it doesn't!!!
A network drive isn't really a drive, its a share. So you can do funny things like .....
M: = //serverx/shareX/users AND
N: = //serverx/shareX/users/hunkah

Linux (UNIX can do the same but it doesn't start off misleading you into thinking of them as 'drives')

There are two FUNDAMENTAL DIFFERENCES between Winworld and NixWorld ... and these will confuse you. ITs like learning a different Windows is like say learning Italian if your native tongue is Spanish ...
Learning one NIX to another is like learning portuguese when your native tongue is Spanish

BUT learning NIX from Windows is like learning Chinese when your native tongue is English!! Its has some common features BUT the whole philosophy is different.

1st TIP: Windows is not network aware. Its basically a standalone OS you can plug into a network and then load some optional extra bits on top. But networking will never be fundamental to Windows; its always a bolt on accessory.
Think about something like PCANYWHERE.... it just doesn't exist on NIX becuase its not needed. Implicitly you can open a terminal, application window or even a whole desktop on ANY machine in the world.

say you have two machines in the same network with full permission on both: on alpha
export DISPLAY=bravo:0.0
xterm
Will, if you have permission open an xterm on bravo
this extends way beyond an xterm, it includes sound or partically anything.... (mount bravo://serverx/shareX/users/hunkah /home/hunkah)
thuis will mount a shared home directory on serverx into your HOME directory.

So remembering that linux is fully and always network aware helps you understand it.

This can be inverted too.
That is anything done on a remote machine can be done locally.
say your machine is called alpha.hunkah.com and has a web server running
http://alpha.hunkah.com in a brwser will open that web page.
BUT
http://localhost WILL do the same thing...

2nd TIP: Linux is multiuser ALWAYS!!!
Even if only you are logged in some tasks will be run as root and others will be run by nameless users. (like say www or ftp)
(this provides a security trap, anyone gaining access to the www account should only have permission over the web server and nothing else.)

This is a little disconcerting for windows users.

So going back to tip 1... since its network aware you might log-in at the same time as someone else. You can both work indepenantly, even both log into the same machine and have two keyboards and mice operating different X servers.

Indeed Im using a Solaris machine right now with 200 others!!!

This whole concept is totally alien to Windows people. If you ever used ICA/CITRIX its like that except UNIX just does this.....

Sorting this outr in your head is kinda hard if you don't actually use a mutiliuser environment....like I say its actually being used implicity by linux BUT you are not aware of it whereas when the users are REAL users you become aware!!! then when you look at the pseudo-users and put it in context it makes sense.


Again, I just wanted you to know that this has been going through my head for the past couple weeks. I finally was told something that I needed to learn to get past my first learning hurtle.

As I was reading this it seemed like a audible "ping" went off in my head.

For the first time I got what it means to have an X-server! It had always confused me. I didn't get what its purpose was. (My thinking was, "Why didn't it just get glued to the kernal"?) Now it makes sense:

Linux = Unix clone,
Unix was created to be used as a large mainframe computer,
Terminals are used to connect to the big mainframe computer,
The X-"sever" is used to hand out a GUI to the terminals!!!!!!! Yah!!!

Beyond that there was other things that would just come to me during the past week or two, as I was mulling over your words.

You have given me a spark to want to learn again.

Thank-you agian, obi-wan.