LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie
User Name
Password
Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!

Notices


Reply
  Search this Thread
Old 01-15-2006, 05:27 PM   #16
Electro
LQ Guru
 
Registered: Jan 2002
Posts: 6,042

Rep: Reputation: Disabled

Quote:
Originally Posted by reddazz
I understand how Gentoos package management works being a FreeBSD & NetBSD user myself, but I don't agree with you about package based distributions. If the guy was using Gentoo without a net connection, portage would have been absolutely useless, so I don't see the advantage that it has over YUM in this instance. The guy even mentions that yum works fine on his other machine, so I don't see how a package based distro is evil if it has the facilities to automatically resolve any dependencies and install packages without much user interaction.

With urpmi, yum et all, you can pick the packages you want to install, continue working and a few minutes later, all your packages are installed just like portage. At least you don't have to wait for hours for very large packages to compile. Checking dependencies is not so hard on package based distros and all the major package managers have facilities for that. You can even just use rpm if on an rpm based distro or dpkg if you are on a debian based distro to check for required dependencies.
Portage tree can be updated on another computer and download some programs using the fetch option when running emerge. Then it can be copied to other systems that does not have an internet connection. A 256 MB flash disk can be used if a network is not used. With package based distributions, you have to download additional files that are not needed for a program like mplayer to work. Gentoo can compile just the simpliest features to just get a program to work.

The reason why I am saying that package based distributions are evil is because they bring in security problems and take up space on the hard drive. For example, an rpm file of SAMBA usually compiled with everything that can create problems in certain features of SAMBA like the use of PAM and no large file support which can be a problem when someone transfers a file that is +2GB in size. By compiling SAMBA, the user can include only features that he or she wants to minimize security problems and include a feature such as large file support and no PAM support. Package based distributions loses a lot megabytes for every program because only a small portion of the program's features are used by the user. Of course src.rpm files can be used but if it is built using the RPM utility, it still uses the same options that a prebuilt RPM contains.

Gentoo is a dynamic distribution that is different from user to user. What this means is user A will have a different setup than user B.

tkedwards, Gentoo is not a package based distribution. Gentoo comes with utilities to simplify the process of downloading files, check for dependencies for minimal features, decompressing, compile, and install. The Gentoo developers have created a software database called Portage. Portage contains only files called ebuild which are instructions where to get the archive file (tar, tar.gz, tar.bz2, run, zip, bin, and sometimes rpm), what the name of the archive file, what additional options the user can use, how to compile the program, what CFLAG or CXXFLAG make the program fail to compile, and any dependencies the program needs just to get it working with the least amount of features.
 
Old 01-15-2006, 06:57 PM   #17
tkedwards
Senior Member
 
Registered: Aug 2004
Location: Munich, Germany
Distribution: Opensuse 11.2
Posts: 1,549

Rep: Reputation: 52
Quote:
With package based distributions, you have to download additional files that are not needed for a program like mplayer to work. Gentoo can compile just the simpliest features to just get a program to work.
No with any package distribution you only need to download the packages necessary for mplayer to work. Packagers don't just insert random depencies for the fun of it.

Quote:
The reason why I am saying that package based distributions are evil is because they bring in security problems and take up space on the hard drive. For example, an rpm file of SAMBA usually compiled with everything that can create problems in certain features of SAMBA like the use of PAM and no large file support which can be a problem when someone transfers a file that is +2GB in size. By compiling SAMBA, the user can include only features that he or she wants to minimize security problems and include a feature such as large file support and no PAM support.
Hard drive space is very cheap, a full Linux distro install will easily fit in 5GB partition still. You can maybe avoid some security problems by compiling out options you don't need, but you're still going to be hit by plenty. Gentoo users are still in the same boat as users of distros which provide binary packages in having to keep up with updates regularly.

Quote:
tkedwards, Gentoo is not a package based distribution. Gentoo comes with utilities to simplify the process of downloading files, check for dependencies for minimal features, decompressing, compile, and install. The Gentoo developers have created a software database called Portage. Portage contains only files called ebuild which are instructions where to get the archive file (tar, tar.gz, tar.bz2, run, zip, bin, and sometimes rpm), what the name of the archive file, what additional options the user can use, how to compile the program, what CFLAG or CXXFLAG make the program fail to compile, and any dependencies the program needs just to get it working with the least amount of features.
An ebuild is a package as much as an RPM or Dpkg. It consists of the source code and an 'install' script, just like a source RPM consists of the source code and the spec file which tells the package management system how to build and install it. A binary RPM consists of the compiled files from the building of the source RPM and the relevant parts of the spec file that tell rpm how to install it.. Ebuild packages still have dependencies that are resolved using the package management system in Gentoo (Portage), the same way that RPM package dependencies are resolved using a package management system in other distros. The fact that Gentoo packages are compiled on your system is irrelevant to wether its a package management system or not.

Last edited by tkedwards; 01-15-2006 at 07:37 PM.
 
Old 01-15-2006, 07:33 PM   #18
reddazz
LQ Guru
 
Registered: Nov 2003
Location: N. E. England
Distribution: Fedora, CentOS, Debian
Posts: 16,298

Rep: Reputation: 74
Quote:
Portage tree can be updated on another computer and download some programs using the fetch option when running emerge. Then it can be copied to other systems that does not have an internet connection. A 256 MB flash disk can be used if a network is not used. With package based distributions, you have to download additional files that are not needed for a program like mplayer to work. Gentoo can compile just the simpliest features to just get a program to work.
You can do the same thing by using YUM or urpmi to do a test run of installing a package and get them to download the package and all its dependencies for you. Packagers do not just add dependencies for no reason, and if you do not want the features compiled into a package, you can always rebuild from the package from sources with only the options you need.
Quote:
The reason why I am saying that package based distributions are evil is because they bring in security problems and take up space on the hard drive. For example, an rpm file of SAMBA usually compiled with everything that can create problems in certain features of SAMBA like the use of PAM and no large file support which can be a problem when someone transfers a file that is +2GB in size. By compiling SAMBA, the user can include only features that he or she wants to minimize security problems and include a feature such as large file support and no PAM support. Package based distributions loses a lot megabytes for every program because only a small portion of the program's features are used by the user. Of course src.rpm files can be used but if it is built using the RPM utility, it still uses the same options that a prebuilt RPM contains.
A lot of things can be disabled from config files, so I don't think your arguement about security is much of an issue. Also src rpms contain spec files which can be edited so that an app only includes things chosen by the user before the rpm is rebuilt, so you are wrong that it will use the same options. Also ebuilds contain certain defaults which are not chosen by the user but by whoever created the ebuild. This is this not so different to an rpm or debian packager choosing certain defaults for their package.

Whilst there are some benefits to building packages from source, it can take a long time to build large packages. With package based distributions, you don't have to spend hours waiting for packages to build. In environments where you have a lot of systems to install packages or to patch, package based distros can be a lot easier to administer than source based distros.
 
Old 01-16-2006, 12:18 AM   #19
Electro
LQ Guru
 
Registered: Jan 2002
Posts: 6,042

Rep: Reputation: Disabled
I disagree with both of reddazz and tkedwards. An package file is binary not source. There is no way to take the source from it unless a decompiler is used. If comparing src.rpm to ebuild then yes they are the same but minus the program source. An tbz2 and package file from package based distributions is more a fair comparison. One has, tbz2, features that a user or admin wants while the other, a package file from a package based distribution, only contains features what the mantainer thinks you may use. For me faad, libaa, libfribidi, lirc, libmad, gtk, and libpostproc are useless in mplayer. Like I said eariler, compiling from RAM will take up to 10 times less than compiling from hard drive. Instead of taking an hour. It will take about 5 to 10 minutes. From a novice point of view, they do not want to use the package utility if yum, urpmi, apt-get fails to install a desire program. Not many novice users will spend the time figure out the package utility because they see a list of required files that have to be installed manually. Eventually, they remove Linux from the computer because of the list of dependencies that yum, urpmi, apt-get could not find from the server. With Gentoo the source can be downloaded from the developer's mirrors if the portage server is down.

Gentoo has another feature that can compile programs and make a binary file to be delivered by many systems. The admin can increase the level of being in control by creating a tbz2file with the desire options. The options or USE flags can be saved in /etc/portage/use.package to be used for updating libraries and programs. The same can be done with src.rpm but who has the time to edit a file to include only the features they want for every update.

Package based distributions are pathetic compared to Gentoo. I am using Gentoo at this time and for future computers. I am never going to refer people or switching to package based distributions like Redhat, Fedora, Mandrake, Mandriva, Ubuntu, Mepis, SUSE. I rather make a dar file that contains an i686 Gentoo installation that has GUI (X11, Gnome, KDE) already installed and give it to people that want to try Linux for the first or second time.
 
Old 01-16-2006, 02:50 AM   #20
tkedwards
Senior Member
 
Registered: Aug 2004
Location: Munich, Germany
Distribution: Opensuse 11.2
Posts: 1,549

Rep: Reputation: 52
Quote:
An package file is binary not source.
No, a package file is where someone has 'packaged' up the software in a way that makes it easy and convenient to install. The process of doing this for Gentoo (writing an ebuild script) is almost exactly the same as the process for doing it for RPM (writing a spec file). The only difference is that the RPM developers go all the way and compile the package for you, the Gentoo developers ship the package in an uncompiled state to give you extra flexibility. However its still a package with dependencies which have to be resolved through a package management system using repositories.

Quote:
One has, tbz2, features that a user or admin wants while the other, a package file from a package based distribution, only contains features what the mantainer thinks you may use. For me faad, libaa, libfribidi, lirc, libmad, gtk, and libpostproc are useless in mplayer.
The tbz2 has all the features as well, you just have the choice of not compiling them in. Yes packages for general purpose distros such as Mandriva etc. will have most options turned on in most packages. However this really isn't that big a drag on modern machines. Gentoo is faster and more efficient if you take the time to really hone down your USE flags and options but its just an optimisation. Most users don't really care about 10 or 20% quicker starting and less disk usage compared to the time and effort and knowledge required to really customise the build options.

Quote:
From a novice point of view, they do not want to use the package utility if yum, urpmi, apt-get fails to install a desire program. Not many novice users will spend the time figure out the package utility because they see a list of required files that have to be installed manually. Eventually, they remove Linux from the computer because of the list of dependencies that yum, urpmi, apt-get could not find from the server.
From a novice point of view the only time installing from packages will fail is with misconfigured repositories. All the package repos for modern distros are self-reliant - all the dependencies are resolved in that repo. Like any piece of software, Gentoo's emerge and Portage tools included, people will have problems with them from time-to-time. But the fact is that these package management systems work well for millions of users, from home users right up to large corporations and scientifc organisations.

Quote:
With Gentoo the source can be downloaded from the developer's mirrors if the portage server is down.
I don't understand what you're trying to say here. Its just as easy for a user of any of the distros which use yum, urpmi or apt to goto the developers website and download the source and compile it too.

Quote:
The admin can increase the level of being in control by creating a tbz2file with the desire options. The options or USE flags can be saved in /etc/portage/use.package to be used for updating libraries and programs.
Yes, this is undoubtedly an advantage of Gentoo - you get to custromise the compile flags through the package management system. Some people like this a lot, others find that binary packages with most options set are good enough for them. Both ways work and both involve packages and package management systems to resolve dependencies.

Quote:
Package based distributions are pathetic compared to Gentoo. I am using Gentoo at this time and for future computers. I am never going to refer people or switching to package based distributions like Redhat, Fedora, Mandrake, Mandriva, Ubuntu, Mepis, SUSE.
Gentoo is a package based distribution. Maybe you need to change your wording - you are arguing that source packages and Gentoo's Portage package management system are superior to pre-compiled packages and yum, urpmi or apt.
 
Old 01-16-2006, 07:09 AM   #21
reddazz
LQ Guru
 
Registered: Nov 2003
Location: N. E. England
Distribution: Fedora, CentOS, Debian
Posts: 16,298

Rep: Reputation: 74
This seems like it will be a never ending discussion, so here is my parting shot. When you look at Gentoo, FreeBSD et al, even though they have not actually built the packages for you, portage or ports is still a packaging system. Portage has defaults set by whoever creates the ebuild, this is not different from a rpm packager configuring defaults in a spec file. The main difference is that rpm packagers then build the package for you. If you don't like the defaults, edit the spec file and rebuild the package using the source rpm (which contains the original source files from the original program developers). LFS and related projects are true source based distributions because they don't have some package system doing the dirty work for you.
 
Old 01-16-2006, 10:49 PM   #22
Electro
LQ Guru
 
Registered: Jan 2002
Posts: 6,042

Rep: Reputation: Disabled
I still disagree. Gentoo is not package based distributions. All source code can be manually downloaded from the developer's servers. An ebuild is script like a bash script that helps the utility emerge to figure out what to do. I never had problems with Gentoo's utilities.
 
Old 01-16-2006, 10:57 PM   #23
tkedwards
Senior Member
 
Registered: Aug 2004
Location: Munich, Germany
Distribution: Opensuse 11.2
Posts: 1,549

Rep: Reputation: 52
Quote:
All source code can be manually downloaded from the developer's servers.
Same with Mandriva, Suse, Fedora etc. That's what the source RPMs are.

Quote:
An ebuild is script like a bash script that helps the utility emerge to figure out what to do
Same as an RPM's spec file.

Quote:
I never had problems with Gentoo's utilities.
Same here - when I tried Gentoo it worked perfectly. I happen to prefer Mandriva and that works fine too but I don't deny that Gentoo is a very good system
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
dependencies merchtemeagle SUSE / openSUSE 2 02-07-2005 07:20 PM
I recieve a failed dependencies error, but I have all required dependencies Laptop2250 Linux - Software 15 02-03-2004 08:58 PM
help about dependencies coldy Debian 2 10-19-2003 09:05 PM
Dependencies... Pyroknight Linux - Software 8 07-12-2003 04:33 PM
dependencies tincat2 Linux - Software 3 06-28-2002 12:16 AM


All times are GMT -5. The time now is 02:34 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration