Discussion Locked

pros and cons of using linux

0 helpful
89 replies
Closed to new repliesThis discussion is closed. It stays readable, but it takes no new replies.
just for fairness since there is the winders discussion.

89 replies

by drubin

I develop on windows, but deploy on Linux.

Why?

Becasue within my production environment I don't want to worry about rebooting the machine every couple of weeks.

by gralfus

I know you will say that every command has a man page, but the man pages are very often so terse and nondescriptive as to be useless. And then, trying to find the exact command to accomplish what you want to do can be amazingly difficult.

For example, I posted a question on a Linux forum that went something like this: "If I boot up with the ethernet cable not attached, I don't get an IP vended to me via DHCP. If I reconnect the cable, what command can I use to get an IP vended to me?"

I got a variety of answers, none of which were right. It wasn't until a couple of months later that someone responded with "pump". I tried it and it worked. Why couldn't the documentation for ifconfig at least have a pointer to "pump" as a useful command under dhcp? "Oh, because ifconfig is the manual way to do IP config." And that is my gripe! Getting from point A to point B in Linux assumes that you already know the way, so why document it. Pah!

Even using Google for "linux dhcp" was fruitless. It always discusses the dhcp.conf file, which assumes that I was connected to the network to begin with. It may mention "pump" in passing, but not in a way that describes what it does.

That is why it won't catch on with the general populace, unless a really user friendly GUI is pasted over the top (kinda like the old Win 3.1 days over DOS). The only way to learn the commands is to get a book and go through each one over and over. And then they may not work on the next flavor of Linux since they don't standardize.

Other than that :-) it is very powerful, interesting, and ...free!

by apotheon

You could also try the following:

ifup eth0
(where "eth0" can be replaced by whatever interface designator you're using; also, you may have to ifdown first)

dhclient eth0
(ditto above, re: eth0; whether this works depends on what DHCP client you're using, though there are equivalent commands for using other DHCP clients)

/etc/init.d/networking restart
(this assumes that your network services are accessed by a "networking" symlink in init.d; Fedora uses /etc/init.d/network, and there may be variations in a couple of other distros as well, but it's "networking" on Debian-based distributions)

I agree with you, in general, that more hints in the documentation would be wonderful. The difficulty of maintaining such hints as software changes is prohibitive, however, and as such it hasn't yet been satisfactorily addressed (after all, the maintainers of the documentation are volunteers). The documentation for popular Linux software is actually often quite extensive, though at times it's cryptic in form and lacks the hints needed to help someone figure out what he or she is seeking.

by gralfus

"The documentation for popular Linux software is actually often quite extensive..."

Actually, I have found that with most games that come with Linux, there is little to zero documentation. The game may look fun, but I have to psychically derive how the game works, or just skip it. No help files at all usually, or just an "About" that tells me the name of the game and who wrote it.

by jmgarvin

If all else fails, just restart the service that relates to what you need.

If you want to use the GUI, don't feel bad about that either.

If you want to use the CLI, there are tons of commands that all will get you in the same ballpark.

Also, if you would have asked your question here, I'm sure one of the linux gurus could have answered your question correctly in a matter of seconds.

Maybe I'm ignorant, but wtf is pump? I've never heard of this command. Is it distro specific?

by apotheon

You asked about pump, jmgarvin: it's a BOOTP and DHCP client created under the auspices of Red Hat Linux. Considering your tendency to use RHEL/Fedora, I would have thought you'd know about pump. Heh.

by gralfus

I won't give you the typical "RTFM" response, isn't that nice...

Here is what I stole off a webpage:
Pump requests an ip address from a DHCP server. Here are several pump commands for managing dhcp ip addresses. Pump can be used to request, release, or give status on dhcp responses.

1. pump -i eth0 --status
Check the status / get details of dhcp on eth0

2. pump -i eth0 --release
Release dhcp IP on eth0

3. pump -i eth0
Request a dhcp ip for eth0

or just type pump to obtain an IP for the default NIC.

by tomaaa19

This discussion points out the problem with deploying xnix on the desktop.

The average user will not, cannot, and should not have to go to that extent to get connected having failed to get an Ip because of a disconnected cable.

These discussions are great for the IT pros relative to the servers in the back office.

The accountant, secretary, sales person needs a system that will turn on and work with minimum intervention. On the stability side xnix is there but has not quite reached the turn it on and forget it stage for the non technical user.

At this point, in a well maintained windows environment the user turns it on in the morning, does their work and turns it off at night. They neither need to know, want to know or understand what is going on in the background

To achieve desktop acceptance the alternate solutions must bury the underpinnings behind a familiar interface and have full look alike and work alike tools.

Until that happens microsoft will dominate the desktop and many shops where the servers are installed and maintained by non technical people

One possible way to get the best desktop experience and great stability would be to get Apple to release the OSX GUI under the GPL. (I know....wishfull thinking)

Thanks for the chance to rant a bit!

by jaqui

that the documentation leaves a lot to be desired with linux.

but newer versions of the distros have more windows like functionality, so the documentation isn't used as much.

while every app / command has it's man pages, very few man pages were written with an end user in mind, most were written with a systems programmer in mind.

by mchall

I also concur and I'd venture to say that Linux's steep learning curve is one of its biggest challenges. Whether you love or hate MS, documentation for their products is ubiquitous and detailed which makes for an easier learning curve.

In contrast though, while info on MS products is readily available it is prohibitively expensive for a new developer to get in the front door due to the obscene amounts that they charge for their database and IDE software. They appear to be taking steps to reduce this cose with the upcoming "Express" editions of their IDE software.

Lest I be accused of bias here, I take a middle of the road approach. I develop professionally using MS products because my employer pays for it. I dabble personally with OS X because has all the depth of *nix but the beautiful GUI makes it easy to use for every day tasks while I'm learning. I find both interesting.

by ozwes0071

All late model Linux distros in runlevel 5(GUI) have a GUI tool to reset the ip address.
Check in the System tools area....!!!!

by stress junkie

Different distros have different capabilities. Slackware is still very popular and is an excellent quality product but it is very stripped down.

by stress junkie

I am a big fan of Linux, Unix, and BSD.

Having said that I agree that system administration in any Unix-like environment is tough. For example attempting to set up TCP/IP by hand is a nightmare for the newbie. There are a lot of files to edit. The syntax of the files is obscure. A syntax error in some configuration file could make your system vulnerable to various attacks.

As the other posters have said many Linux distros have a GUI applet available for many system administration tasks. Some make the job of configuring a component easy. Others are just X editors for text based configuation files where you still have to know the syntax of the file. Setting up TCP/IP on Novell SuSE Linux is pretty easy when you use the GUI configuration applet.

Man pages are better than they once were but sometimes still lack critical information. You can always try to find more information using the info utility but it is a pain to use and often has no more information than the man page for a given component or command.

BTW I found that the way to search the info database for a given keyword is info --a keyword. This is equivalent to using man -k keyword.

Anyway, Unix-Linux-BSD systems are the most reasonable choice when considering quality, robustness, security, and possibly even TCO. So far these systems have not become particularly easy to learn. The fundamental problem is that Unix was never easy to learn. Many years ago I was among those people who said that Unix was the most successful virus invented because people deliberately installed it on perfectly good hardware. I am still a reluctant fan of Unix. It shines only in comparison to M$ products. In all other respects it is a disaster.

Back around 1990 the best operating system that I saw in operation was VAX/VMS. Unfortunately it was mismanaged by the developers. There was an effort around 1998 to make VAX/VMS more compatible with M$ crap. Also the operating system fell grossly behind the times in terms of new functions. The VAX/VMS TCP/IP stack was really stupid. DECWindows was ugly. System administration tools that existed cost a fortune. This was at a time when M$ added a great TCP/IP stack to Windows for Workgroups and added great system administration tools to NT. DEC would trap customers into using their own relabelled and greatly overpriced hardware if you wanted thier overpriced field service support. DEC/Compaq/HP killed VMS through mismanagement.

So we are basically stuck with various Unixes or M$. Between those choices the Unixes win but there is a lot of room for improvement in terms of ease of use.

by rstals

Linux can be more difficult to set up than the equivillent Windows implementation. I have found that Linux has forced me to spend time peeking into its innards teaching me to understand the underlying technologies, standards etc.

With Windows, I had the attitude (rightly or wrongly) of point and click till it works right. With Linux, I don't trust *anything* unless I have understood it and set it up myself.

I believe the result is that I can secure, optimise and troubleshoot my Linux systems far better that what I could do with Windows.

by apotheon

I haven't found Linux to be any more difficult to set up than Windows, all else being equal. In fact, it tends to be easier. Have you tried doing any custom Windows installs lately?

The major difficulty most people encounter isn't in the inherent ease of use of the Linux system installers, but in unfamiliarity with them. Because people have spent the last ten years or so growing accustomed to the Windows methodology for software installation, they find the very different methodology of some Linux distributions to be highly confusing. As different as it looks, though, you can accomplish even a curses-based debian-installer installation mostly with nothing more complicated involved than hitting the Enter key over and over again, and possibly swapping out CDs (depending on which installer you're using).

The difference in what you trust is a matter of perception in this case. I, too, trust nothing I haven't set up myself, but I don't limit that attitude to Linux. I apply the same to Windows, because I know exactly how bad Windows is for providing unstable, unsecure, untrustworthy software. The fact that I really cannot set up a lot of the Windows system ensures that I'll end up with something I wouldn't really trust. This is why third-party firewall, AV, and anti-spyware solutions are so critical when working with an Internet-connected Windows system, and why data backups are even more critical with Windows than just about any other OS available.

On the other hand, you might be surprised by how much optimization and customization is actually possible with Windows. I used to do custom system optimizations for clients on a regular basis (now that all my consulting time is consumed with web- and linux-related matters, I don't do that so much any longer), and one could easily spend several hours optimizing a single system if one needed a highly customized and tweaked setup. This is well outside the skillset of even most Windows "experts", though, and involves such esoterica as hand-editing the registry. For instance, on any Win2k system I set up for myself, I turn off the Dekstop processes in the registry for gains in performance, security, and stability.

by jaqui

trying linux you actually trust microshaft?

thinking you should give yer head a shake and re-evaluate that.

by jdclyde

the difference between a file system and a partition are often confusing to someone new to the *nix world and is NOT explained very well in most cases.

Definitions of each and the purpose of each BEFORE throwing the user into the install would save many from a lot of frustration of having to go back and re-install because they wanted a dual-boot system.

That and still calling a Directory, a Directory can also be confusing to people that have gotten beaten into saying the word "folder" instead.

by stress junkie

... you could make the same argument about Windows. Either you know the basics or you learn them. When someone is installing Windows for the first time there is no explanation of partitions vs. the entire hard drive. Windows installation does not include a comprehensive explanation of the different file system types and their strengths and weaknesses. There are a few hints but those are available in some Linux installations as well. The Novell SuSE system setup is full of explanations of options. The system setup has a very comprehensive help utility available at every step of the installation.

by jdclyde

Windows does not add into the mix the idea of File Systems. That is an added twist on TOP of partitions vs entire drive.

There really isn't much talk about what a file system is vs what a partition is and it can be very confusing as people start to use the two interchangably not knowing that they aren't the same.

by apotheon

What you say is true. Linux distros, in my experience, make the process of setting up a dual-boot system rather difficult, particularly if working with a system that was not planned to be dual-boot from the beginning. The fact that Windows is even worse in that regard doesn't excuse the Linux distros from doing a better job of making the process somewhat intuitive and self-evident to the end user.

While I agree that use of the (proper) term Directory instead of the (improper, GUI-centric) term Folder can be confusing to someone coming across from Windows, I don't blame the unix/Linux crowd for that. This is entirely the fault of Microsoft and, to a lesser extent, Apple. Luckily, though I was living in a Microsoft-centric world for a long time, I was there for the transition from DOS-based terminology to Windows-based terminology, so I was familiar with the term Directory.

by el_gazzítò

One thing I like about the setup of Linux as a server... Some of the comments in the setup are real classic examples of "Programmers Humour".

Eg. Setting up a Red Had Linux as a Server: (Disk Partitioning area)

Would you like to set up a:

A) Workstation
B) Server - Warning: Destroys all current partitions on HDD...

Select: B

WARNING: This option will DESTROY ALL DATA AND PARTITIONS on your selected HDD.

THIS IS NOT A JOKE! Are you Sure??? Y/N

Select: Y

Are you REALLY sure??? Y/N

Select: Y

Destroying all data on HDD

... Oh shit... how do I canacel? :-)...

by jaqui

got hit with that many confirmation messages I would be double checking to see if it was windows, and removing the cd from the drive, to be filed under g for garbage. :)

ask once, then do it.

by stress junkie

One problem with documentation in many Linux distros is that many utilities are not documented. The last few times that I've installed Novell SuSE Linux I wished that the installation log was preserved. The installation lists many utilities and a one line description of their function. Once the installation is complete I have been unable to find any sign of this installation log. Too bad. There are still lots of binaries that could be useful if I knew what they do.

by apotheon

That's a distribution-specific issue, and usually applies more to distribution-specific utilities. In Debian, the distribution-specific utilities have very extensive documentation, and a basic overview description of everything can be had with apt-get show or aptitude show. These overviews at times also include information on how to obtain yet more information about the software to which the description applies.

As for distribution-nonspecific utilities, you should easily be able to find information about them within any major distribution, and in cases of both distro-specific and distro-nonspecific utilities you should be able to find something within your distribution's knowledge base if they maintain one that isn't complete garbage.

by btc69

If you really want to learn about the many utilities that come with a typical Linux distro, try building a Linux From Scratch System (www.linuxfromscratch.org). I takes some time, but is a great way to learn about the many mysteries of the GNU/Linux OS.

by juan ferzara

You can?t compare apples with oranges. Linux is big news in server and special needs (like doing a router of a "discarded" computer). However, it has some learning to the user. Windows, on the other hand is big on desktops but not so great in servers. And before anyone says so, most servers in internet are linux/apache/PHP/MySql . And besides, it is not surprising to find organizations that use windows desktops and linux servers. Sure, it?s great to have a all windows top to bottom, but sometimes the budget isn?t that great.

by jaqui

I would rather have an all linx network that a single windows machine..oh, hold it, I do.

windows free here!!! :)

no microshaft products at all!!

by choppit

Given that the desktop market is dominated by MS, how do you check for apps compatability with IE?

by jmgarvin

I guess I tend to do things the "classic" way...never heard of pump. I even did a man pump (I bet that is a pr0n site) and I came up with zip.

Once I found out about it I was a little confused as to why you would use this over a more classic method...

Oh the man page:
http://www.rt.com/man/pump.8.html

by apotheon

I love the "quibble" section.

It's possible that the newest RH offerings (Fedora Core 3 and 4, perhaps) don't use pump by default. If that's the case, I'd guess that they don't include the manpage for it, either. Heh.

I'm perfectly happy with Debian's dhclient.

by komputec

I'm not sure if pump is listed in info but just wanted to mention that info is the reformation of man in a more informative help type utility that offers advances over the original man command.

I didn't see anyone mention it and was not sure if anyone was familiar with info on this thread.

tnx,
David

by apotheon

I'm afraid I'm not terribly familiar with Linux games. I've never been one to play computer games much. It's entirely possible that games are a special case.

by apotheon

Windows actually does include the necessity of filesystem choices, and has ever since it went to 32-bit. It just doesn't inform you of that. Often, the choice is to simply let the installer do whatever it wants, delegating thinking and making decisions to the programmers who created the installer.

Windows XP, for instance, is capable of using at least FAT32 and NTFS. It may also be capable of using the original 16-bit FAT (though I haven't checked). By the same token, you can make changes to the partitioning structure of the system if you choose, rather than accepting the default "one disk, one partition" setup. It's much more difficult for most people to sort out how to do such things in Windows than in Linux, often.

That doesn't change the fact that in Linux it's sometimes just not clear enough at all. Saying that it's usually somewhat more clear in Linux than in Windows (which doesn't make it clear: it just makes it hidden) is simply damning it with faint praise.

by jdclyde

/home is not a directory, but a file system usually.
/boot
/usr

this separates the users from the programs from the OS.

A wild hair rm command won't span file systems.

Not talking about the FORMAT of the PARTITION.

A file system LOOKS like a directory, but it isn't. More like a virtual partition.

by apotheon

You're saying that the virtual filesystem interface is a problem?

Err, no.

Where Linux uses / Windows uses c:. Where Linux uses /bin, Windows uses c:\Program Files. Where Linux uses /home/username, Windows uses c:\Documents and Settings\username. Where's the difference?

Are you perhaps referring to the ability to mount partitions seamlessly within the filesystem? I don't see that as a problem at all.

I must really not be understanding what you're talking about, because I don't see where the problem is.

by stress junkie

Let's see. The post that I responded to talked about dealing with partitions and file systems during the installation of an OS, whether it be Windows or Linux. Then it talked about how using the words "directories" and "folders" to mean the same thing is confusing to new people.

Jdclyde, your first comment talked about a filesystem residing on a partition and how Linux doesn't clearly distinguish between the terms "filesystem" and "partition" during the Linux installation. Then apotheon responded to that post saying that Windows had comparable issues and capabilities during the Windows installation if you choose to deal with that level of detail. Now you're saying that you weren't talking about file system format. Instead you were talking about how on a Linux machine a file system can be mounted at a mount point, which you incorrectly said is not a directory.

Regarding the level of assistance during the installation of each OS apotheon is right if we are talking about the advanced kind of Linux setup software that comes with a distro like Mandrake or SuSE. The issues of disk partition configuration and file system type are both dealt with similarly in the installation of these Linux distros and the installation of Windows. Jdclyde, you may be thinking of a stripped down installation process such as one gets installing Debian or Slackware. In those cases the points that you made make a lot of sense. It's possible that the difference of opinion is one of familiarity with different distros.

When it comes to how partitions are displayed to the end user Windows has two options. The classic Windows approach is to show a partition as a "disk" with an alphabetic name. However, Windows now allows disk partitions to be mounted in the Unix style. That is to say that a disk partition can be mounted on a directory/mount point.

So the issues of partitions and file systems can be very similar in the Windows installation and in the Linux installation of some Linux distros. In both cases the advanced installation software will make a lot of decisions for the operator if it is allowed to do so. On the other hand the setup software for other Linux distros can require much more information from the person doing the installation than the Windows installation absolutely requires. These more primitive Linux installation setup applications have few defaults and ask the person doing the installation a lot of questions such as what IRQ is mapped to the sound card and what cylinder on a disk should start a partition.

When it comes to the way Windows displays disk partitions to the end user can be set to the classic view of each partition displayed as a different "disk", or it can be set up to use the Unix style of mounting disk partitions by mapping them to directories in the file system.

So there you go.

LSMFT

by jaqui

on how you decide to set your hard drive up doesn't it?
after all, if I set mine up with
/
/usr
/home
/opt
/tmp
/swap

then home is a directory, a partition and a file system.
it's a directory on the root partion, that is used as a mount point for the partition home which consists of the filesystem

in this case /home is all of them. :)

by charliespencer

As a reformed programmer, I can assure you it is more fun to write code than documentation.

When you buy commercially developed software, the manufacturer usually has a staff of technical writers. These English majors get paid to write the manuals and .PDF files that are understandable by non-technical end-users. They usually work for the same company as the programmer, so they can consult with him and come close to getting the documentation details correct.

On the other hand, if I develop a program for myself, I rarely bother documenting how to use it. If I make it available to others, I'll provide brief instructions on how to use it, but I'm not going to write a manual for them. I'm certainly not going to pay someone else to write it.

"Real programmers don't document; the code speaks for itself." ;-)

by damunzy

Not all commercial games have good documentation - that has been a big complaint in the gamer community for a long time.

by joedcook

In November 2003 I installed Linux on my office computers and laptop and have used it as my primary operating system ever since. I had previously played with RedHat since version 6 or so but never committed to using it as I had some of the same frustrations others have posted about.
But then I bought a copy of SUSE Linux Professional 9.0. It came on a DVD and 5 CD's. I put the CD in my Toshiba laptop and booted. A welcome screen came up and I answered a few (less than 5) questions about my intentions and what language I wanted and then the most amazing thing happened. It offered to resize my Windows XP partition and create a new partition for Linux. This function was unexpected (since I hadn't read the manual yet) but gave me the feeling that this Linux was different than what I had been exposed to before and I was right. I continued and then selected which packages to install and 2 hours or so later the installation completed and upon rebooting I had a fully functioning dual/boot system which I could use with either operating system. SUSE's YaST (Yet another Setup Tool) is very good at handling all system configuration both hardware and software and it has the same functions whether you run it from command line or GUI.
I have just recently also used a distribution from TechAlign based on Mepis which boots from a CD and loads a fully functioning system which you can then install to your hard disk. The thing about this distribution is that except for a system with an Intel 925 chipset it correctly identified all the hardware in my systems and loaded with fully functioning multimedia (audio, video, and dvd decoders already functioning) and internet capabilities. It is currently dual booting with Windows XP Media Center on a demo computer in my display area.
Novell Linux Small Business Server 9 is also running here and coexists with a Netware Small Business Server. Since both run eDirectory network management is easy from either Windows or Linux workstations. This product is sold commercially for $475 for 5 users. Unlike other server products this price includes Novell Linux Desktop 9 for 5 machines as well. Server + Desktop for the same price. I know you could do a free distro server and desktops but for me the Novell product with eDirectory and Groupwise e-mail make it a bargrain.
One thing that I have learned is that what is easy is what you already know. Anything that is different than what you are accustomed to will require you to learn something new. Because my experience with Mac's is small I would rate them hard to use. Of course they aren't I just am not accustomed to the way things are laid out and what menus contain what items.
In my business I help customers with systems running DOS, Netware, Windows, Linux and occasional Macs. In the past a few System 36/38 and OS/400 and they all require that you learn the syntax of whatever commands that you need. And they all had terrible documentation.
The first computer fundamentals class that I taught that was a familiar gripe by students.. Computer documentation is hard to understand.
I have never used a computer or operating system that didn't make me want to pull my hair out sometimes but after a year and a half with linux I am satisfied that it is the best system that I have used so far and one of the easiest.

by jaqui

difference between mandrake drakx and yast, mandrake will not resize windows partions without possible loosing data, and it will not touch ntfs partitions except to delete them.

otherwise, since mandrake 6, it's been that simple to set up a dual boot system, with either lilo or grub ( since the time grub was included with mandrake, somewhere around 8 or 9 )

and it's configuration for install is, language, license, mouse type then into installation type, then partitioning, package selection, and install.
configuration is after the software is installed.
( users, paswords, authentication location, time zone printer, x-server, bootloader, netowrk, firewall, services, proxy servers. all done just before reboot )
it's biggest drawback that I have seen is that it doesn't offer the option of installing bootloader onto both hard drive mbr and onto floppy for emergency boot disk.

by apotheon

Always defrag your Windows partition before resizing it. Always. Otherwise, you may well end up losing data.

by phoebeb

What an incredibly well written, understandable, and evocative post. Have you ever considered writing computer documentation? :o)

by jaqui

web based apps?
I don't, I code to w3c standards for the output.
if ie can't render the standards that is ms's problem.
and the site will state that the site is designed to work with standards compliant browsers, if it doesn't work right then try not using ie.

by apotheon

I'm almost Windows-free. I have a single Windows workstation that is turned off at least 98% of the time. I use it only for website testing, these days. I don't even do that unless I'm working on a website for a paying client — otherwise, I just code to W3C standards, as Jaqui does.

by jmgarvin

you can create a /home partition rather than just a /home directory.

Is this the point?

by jaqui

c:\program files = /usr & /opt+ not /bin ( user programs )
/bin = c:\windows\command ( dos / console commands )

+ /opt is the reserved space ofr commercial apps, not often actually used but that's it's intended use.

by lastchip

That is exactly the kind of information that is invaluable to us poor Windows migrants, that are struggling to get to know Linux.

It is this basic sort of information, that is SO hard to come by. It appears that most of the books (I have read) and all the available help, assumes you know these basics. NOT TRUE.

The best you are likely to get, is a snippet that says, the application places files in /bin for example. Yes, and then what?

However enthusiastic I may be about Linux, I and others will rapidly become deluded, if you can't even find your way to a file, or it becomes a nightmare trying to install an application via the command line.

The times (now) I have tried to install something and instead of the application installing, I get some cryptic message that I can't make head nor tail of, with the installation failing. Or there is some obscure library missing; why not supply the library with the application?

Yes, Linux is an exceptional system, but user friendly in administration terms - could do better!

by apotheon

Jaqui: Actually, the way Windows is put together, there's little rhyme and reason regarding where stuff goes. Program files is where the bulk of executables go, including stuff that's installed as part of the OS. You're correct that some goes in c:\Windows\Command, depending on the Windows version, but some goes in c:\Program Files as well. Meanwhile, c:\Program Files also houses stuff installed by choice from the OS install CD, and stuff installed from vendor CDs and other autoinstallers. Stuff you simply copy into place and otherwise choose the location of ends up in just whatever location the user decides on with no "standard" guidance, although many get stuck in c:\Program Files along with the rest of it.

Meanwhile, the Linux Filesystem Hierarchy Standard sets out specific guidelines for where everything should go, making it much easier for the end user to figure out what's going on with location of files when using an FHS-compliant distribution. Unfortunately, that leaves users of FHS-noncompliant distros like Fedora/RHEL out in the cold. C'est la vie.

lastchip: This is one of those cases of (lack of) familiarity with an OS creating an appearance of difficulty. People are used to the locations of things in Windows, so they think it's difficult to find stuff in Linux. There's an effort to standardize the locations of things within the filesystem in Linux distributions known as the Filesystem Hierarchy Standard, though different distributions are compliant with its standards to differing degrees. If you want something very compliant, I know Debian is quite compliant. If you want a distro that just follows its own rules, and changes them when the whim strikes the way Windows does, look into Fedora or Red Hat Enterprise Linux. Sad but true. Even so, much of what's in the Filesystem Hierarchy Standard is applicable to Fedora/RHEL, though there will be surprising instances where it's not.

The current FHS specification (2.3) can be found at this URL:
http://www.pathname.com/fhs/pub/fhs-2.3.html

Generally, anything with bin in the path is for executable programs. The term "bin" is short for "binary" and, if you're not already aware of this, the term "binary" is used in the unix world to refer to machine-code compiled (typically executable) files. Thus, when someone says "binaries", they typically mean "compiled, executable program files".

Generally, /bin is core, system-installed user binaries, /usr/bin is for optional system-installed user binaries, and /usr/local/bin is for user binaries installed by the system administrator. While the FHS doesn't specify this, it's typical in many instances for users who install binaries specific to their user accounts to put them in /home/[username]/bin just to keep things neat, tidy, and intuitive.

Anything with sbin instead of bin is for binaries used by the system, rather than by users. Among other things, this keeps the number of files to look at in bin directories to a manageable number. Windows keeps some system binaries in c:\Windows (or equivalent), typically in some subdirectory of that, though some are also in c:\Program Files, and I believe some end up in c:\ also. It's been a little while since I've tried to actually keep track of where Windows sticks everything.

Hope that helps.

Another standard for Linux design, which specifies use of the FHS, is the Linux Standard Base (LSB). This is less likely to be of direct interest to new Linux users, but more likely to be of interest to people trying to port applications to Linux, since placement of binaries and configuration files can be achieved by automated installations through the use of environment variables, and the filesystem's virtual structure need not be known in advance in most cases.

http://www.linuxbase.org

by apotheon

And if you use a kitchen sink distribution that does everything for you at install-time if you let it, and only use it as an end-user, you'll never even need to know what's a separate partition, or what filesystems are in place, if you don't want to.

by jdclyde

and not saying it is something that doesn't work VERY well.

I am just saying MOST people don't know that a FILE SYSTEM is NOT the same as a PARTITION AND is not the same as a DIRECTORY.

Goes back to traditional UNIX training I guess to have worked with this?

by jaqui

debian, slack and lfs seem to be the only distros that try to follow the fsh closely.

even third party, commercial apps, like open office or star office don't pay attention to it completely, though open office is better than most.
the fhs sets /opt as the place for after market apps, most use the /usr filesystem.

jd,

only when people haven't really spent any time with *xish systems. by the time they are comfortable building a debian system they should understand the differences. ~G~
but the distros that are easiest to install for newbies don't really teach the details very well do they. only enough to become comfortable with using the *x systems.

by apotheon

The idea of filesystems (ext3, et cetera) vs. partitions had already been addressed and discarded by you, I think. That, or you've been very, VERY damned unclear.

I think I vote "both".

by stress junkie

apotheon, I almost wrote what you just said when I put together my "different levels of help" post. In fact I did write that but then I almost completely rewrote that post before I submitted it.

I think you're right. jdclyde appears to be alternating between two subjects.

In any case I think that the subject has been thoroughly explored by this point.

by miguelram

Like I said to one of my IT collegues yesterday, I have always been forced to be a MS head just because the business solutions we provide are in the MS line. However I said we got to keep a our mind open.

2 Things I have learnt over the years:

1st: The free license Linux is for the people who want to have\experience a different OS and someone that wants to be challange on his/her IT skills, meanning you got to work harder to make it work.

2nd: The paid Linux is for serious commercial environments. Meaning that just works well as other paid OS's.

MRC

by apotheon

. . . and if you'll buy that, I've got a stable and secure Windows server to sell ya.

by miguelram

Even the car you drive every day, if it expensive still you could get a flat tyre sure?

OS's ain't secure you will always find security holes in them, that is the whole idea of patching them.

Love life and everything you do and, you will find things are easier to resolve.

Of course the are OS's that can handle different jobs and perform better than others.

Have you had bad expiences with Linux, I understood that FL is BIG fun of such a system. :-)

by gdoc

Linux Pro: So many options in the implementation of "standard" system services.
Linux Con: So many options in the implementation of "standard" system services.
Explanation: In a single vendor (M$) approach to system services you are locked in to their interpretation of how it should be implemented, but the multi-vendor/developer approach leads to a more flexable but less manageable infrastructure implementation and support base.

Linux Pro: All processes, configuration and administration task can be run without the overhead of supporting a everything for everyone GUI interface.
Linux Con: Most distributions include by default a GUI interface or several to support all processes, configuratoin and administration task.
Explanation: One of the factors leading to the stability and efficiency of Linux systems is that the please all GUI interface is unnecessary. Unfortunately most developers, administrators and support staff are now trained around the GUI alone. Let there be one DNS/hosts change and watch the xwin environment go to hell.

Linux Pro: Free code for just about anything!
Linux Con: You get what you paid for!
Explanation: Most of the code is good, but the after sales support for the product is catch as catch can. Try to pitch a new Linux application written by Bob, or Sam to a financial institution! Long term vendor support is absolutely necessary in order to pass audit. And if you get that you are back to paying the $$$ and usually can only be purchaced on a overpriced HW platform that is NOT scalable without going through a single vendor anyway.

I could go on and on.... M$, AIX, Linux, BSD, Solaris, etc...About the only OS I've not gotten my grubby paws on is OS-X, but don't have the overpriced system to run it on.

by jmschattke9

Pro Linux:
1) Preemptive Multitasking. Linux Kernel never gives up total to control to anything. The timeslice system always breaks into any application, even the REALTIME kernel reserves this right.

2) Memory control. Each application gets it's own memory map; it cannot even access a page belonging to another application. Furthermore, it will not be allowed to write to a page not allocated specifically for it.

3) Source code availiable for everything. It may not seem like much, but trying to figure out what's going to happen is a lot easier with the source code. And having source when a security bug report cross your desk allows you to evaluate the difficulty of fixing it, the full impact, and the likelihood of it impacting your organization immediately, rather than relying on someone else's staff.

4) File system security. You want a full control/full logging file system? Linux can do that. No Read Up/No Write Down security levels? Sure. You decide on a file system for security, you can implement it.

5) $0 Licensing costs. You pay nothing for the software. You pay for the services of support and updates.

Cons:
1) Many Applications not availiable. But, most application types are. Do you really need to use that exact application, which is only out for Windows?

by bluecollargeek

If you use any of the commercial distros like Red Hat, Suse, Mepis, or others, you will encounter vendor propriatary applications/applets in the core OS install that are not open source or GPL. You are counting on the vendors to maintain their propriatary code - just like Microsoft - the question then becomes, which vendor do you trust more?

If you are using a distro like Debian, you are largely correct regarding the source code being open for the core operating system components. But also be aware that many popular applications that run on linux are not Open Source or GPL (i.e. Flash or Adobe Reader).

Completed linux distros are not always free and all applications you may run on linux are not always open source.

by apotheon

While you're technically correct in that the vendor-supplied versions of the Flash player and Adobe Acrobat Reader plugins are closed-source, there are open source drop-in replacements. In addition, you seem to think that just because a Linux distro is branded it is limited by that brand: the truth of the matter is that all the branding organization does is provide a cohesive design direction and collate the work of the open source community (and, of course, market its offering). The Linux kernel, servers, subsystems, and applications are all kept up-to-date by the open source development communit(y/ies).

There's no need to use any given proprietary closed source application in any distro and, in fact, core OS software is pretty much universally open source across the general run of distros, whether the distro in question at any given moment is corporate-branded or not. SuSE's YaST software management system, for instance, is open source software.

It's true that not everything is open source, but the occasion when you must use something proprietary and closed-source on Linux is such a rarity as to be quite remarkable. On Windows, the opposite is true.

by jaqui

mandriva has several unique tools they have developed for thier distro.
all of which they released undel the gpl.
thier installer, thier admin tools are the two biggest, and are gpled software, full sources available.

most distros are that dedicated to supporting the open source model that they make money selling thier products, even though they give it away also.

and mandriva's drakx is one of the more user friendly installers, as well as one of the more powerfull graphic based installers.

by support

I much prefer Linux (usually Xandros OCE 2.01) for the Net and almost everything else. However, I dislike the lack of dialup Linux support from the major ISP players, who have their proprietary portal software. The lack of PNP Linux DVD capability is inane.
Going through contortions to get a program to run is for masochists and CP/M diehards. This IS the 21st century, after all (the linux flavor of the week notwithstanding).
I deal with the average end user, who feels blessed by Redmond when his Windows machine boots up most of the time. The MS fix of buying a new version of their bugware, may have made Bill Gates (aka the Vole)the worlds richest person, but money isn't everything.
A trouble-free, secure operating system with all the bells and whistles might just be the geeks Holy Grail. Unfortunately, Linux isn't there yet.

by techrepublic

Isn't it funny that Martin Taylor, the platform
chief for Macroshaft, thinks that the most
important point for licensing is monetary. His
main point, given during his interview, is that
software should be licensed so people are paid
for it. Don't get me wrong, software authors are
highly intelligent in their field and deserve to
be compensated in some way for their efforts.
However, I don't think it's right to form a
negative opinion on a software platform based
primarily on the fact that there's not
compensation required to the authors. That's the
author's choice to determine if he wants to work
at a company and write software that adheres to
their standards and requirements and have the
company get paid for it. Or provide superior
software and let people benefit from it for free.
One comment above was from someone who said "You
get what you pay for." One thing in Macroshaft's
corner is you get more than you pay
for...viruses, security breaches, etc. No OS is
perfect, but in my little view, Linux is
less-troublesome than Windows.

by peter_es_uk

Ive used RHL since verion 7 and Fedora since v2.0 and never come across pump. (Then again, I've never needed it).

by apotheon

It's a [b]LOT[/b] clunky! You need a manpage to be able to use info pages!

I'll not give up on manpages as long as info pages are so byzantine and obscure in operation. The point of help utilities like this is to be able to offer help to those who don't already know how to do things. Since info requires a nigh-comprehensive knowledge of navigating info pages to be able to use the basic functionality that you can get out of man with just arrow keys, it seems there are a few kinks to work out.

by jmgarvin

Ya, they are pretty clunky. I like how they are split up into topics/sections and I like how you can link in to more information (kind of a like an HTML page)...I WISH they'd make info HTML based so you could just browse to localhost/info or some such...

by Former member

Pros- More affordable (If you know what you are doing)
More Flexible (if that matters to you)

Cons - Higher learning curve
Variety of distro's means you probably won't be able to find everything you want in one place.

More flexible means more you can screw up.

by apotheon

Yeah, I'm not a fan of info pages. I've perforce become familiar with how they work, especially since the GNU developers for some asinine reason do their best to make their manpages almost useless and use them primarily to direct users to their info pages ('cause, y'know, pushing their pet documentation format is more important than simply providing good, useful documentation). That doesn't change the fact that it takes six times as long to find information in an info page than in a manpage (randomly generated ratio, of course).

As for rendering info pages in HTML format: there might be just such a set of HTML info page adaptations on the web (or in the package archives) for your preferred distro. You might want to look into that. Also, if you're really interested in such a thing, you could always just write some Perl scripts to dynamically produce HTML from info pages on your local system, then make the scripts available as an open source project.

Personally, I'm more inclined to write scripts that present info page content in a manpage format. The simpler man interface provides for far more flexible use of the documentation.

by apotheon

"[i]in a well maintained windows environment the user turns it on in the morning, does their work and turns it off at night[/i]"

It's exactly the same in a well maintained Linux environment, minus the necessity of turning the machine on and off. When someone like jmgarvin describes a problem with something like losing the DHCP client's functionality, that's because, like me, he knows enough to be dangerous (and also enough to fix it when he does something inadvisable), and knows enough to avoid that danger in a production environment (that fabled "well maintained" environment of which we speak).

"[i]bury the underpinnings behind a familiar interface and have full look alike and work alike tools[/i]"

I'm guessing you haven't taken a look at Lycoris, Xandros, or Linspire lately (if ever).

by jmgarvin

Ok...I am...I break things all the time, BUT I do know how to fix them. I also know that when I break things, I am doing it because I am pushing something beyond what it is meant to do (or I did something REALLY stupid).

Linspire is a great "Windows" distro. Wal-Mart sells all their cheap computers with Linspire on them.

by apotheon

You, like me, are clearly the sort to be willing to be free-wheeling with a system when it's not mission-critical, but is professional with one that is. We know better than to screw with what we don't (yet) understand unless it's in a protected enough environment that we won't screw up anything too important, and even then we only do it for the purpose of learning to understand it. AT least, that's the impression I get of you, and it's what I like to think of myself.

by jmgarvin

I've made the attempt, but part of the problem is the depth of the info pages. Sometimes is is hard to parse out what is a link to nowhere and what is a good link.

Info COULD be good, but it needs some house cleaning and a better UI.

hhhmmmmmmm...I wonder...Time to start working on a webmin plugin for info and man pages ;-)

by apotheon

. . . if you cleaned up the info interface and made it easier to work with, you'd end up with manpages. Imagine that.

by jmgarvin

True...I do like how info pages link together (by "clicking" on different topics in the page it takes you to them). I wish man pages would do that as well.

by jaqui

my lfs choice has only tools that I build into it.
I don't put huge amount of gui tools into it.

basic gui functionality only wanted here.

I like my console only interface.

though, if the person we are replying to can only start the xserver by switching runlevels..... ;)

after all, that simple : startx works fine for me, no having to get to runlevel 5 to use a gui.

by stress junkie

I like runlevel 3 and startx myself. I'm always expermenting with my home machine. It's not unusual for me to get an X application that is out of control. Restarting X without rebooting the machine is great.

by apotheon

Yeah, it'd be nice if there was more interconnectedness between manpages. More to the point, I'd like to see more references to other manpages in the "SEE ALSO" section of manpages in general. That tends to get overlooked too much by people who write manpages.

A simple means of jumping to another manpage from within a given manpage would be nice, too -- not links so much as simply an easy command functionality that allows you to switch to a different manpage of your choice without having to exit and re-enter the man interface. This would allow, for instance, the user to use the information in the "SEE ALSO" section without having to slot the name and page number of another manpage into short-term memory, mentally repeating it like a mantra, hoping to get "man [foo]" typed in at the CLI before forgetting the desired manpage's name.

Unfortunately, the "linking" behavior of info pages creates a problem on the other side of things, in that it fosters too-complex interconnectedness between pages.

Bah, humbug.

by styopa

Try typing info:bash or ##bash into Konqueror's address bar.

Then, for comparison, try man:bash or #bash.

If you want to roll your own you could try info2html.

by apotheon

I'd definitely make use of info2html if I had any particular need for info pages. In general, I find that I can get all the information I need through other, less cumbersome documentation, though. This is especially true with Debian, which has manpages for everything.

This discussion is closed to new replies.