comparison with debian

Status
Not open for further replies.
Hi,

Sorry for the title, I have no better idea at the moment. I have no intention to start flamewars and other religious discussion. I am merely looking to find out how mature and well designed is the package management in FreeBSD. I am currently using Debian, and while I have tried out FreeBSD a long time ago, I had to drop it since it was far from ready for the desktop (I forgot to mention: I'm a heavywheight laptop user). Now I want to try again, and want to know if FreeBSD's package manager performs at least as good as apt-get (or aptitude).

Main reason for choosing debian: thorough design of package manager and upgrade process (really: for me, this outwheighs anything else)
My main reasons I'm looking for alternatives to debian: slow release cycle

By thorough design I mean things like metapackages, virtual packages (two or more packages can provide the same functionality, for example Sun JDK and OpenJDK), auto installation flags (package X is installed explicitely or as a dependency for another package, management of configurations (a package can be REMOVED or PURGED, with the latter having the configuration files deleted as well), automatic action upon install (package X needs a kernel module or hook, and the package manager handles it), and there's probably more, but I don't know them all.

Basically, my expectation is that the package manager automates as much as possible. And the most important thing: the same should happen in a major upgrade (from 8.2 to 9.0). There are a ton of problems with the upgrade, and I'm expecting from the package manager to automate them as much as possible. Here are some example situation:
- package X was removed in version 9 and replaced with package Y -> I expect to have Y installed, and x removed
- new version of package X has different configuration scheme -> I expect automatic replacement of config files when possible, and warning when manual intervention is needed
- metapackage X includes some new packages and/or drops other -> I expect new packages to be installed automatically and old ones to be removed automatically

Bottom line, all this can be summarized in one sentence: I am looking for a robust OS, which I can install once and upgrade forever, with minimum intervernation (as much automation as possible).

I hear great things about FreeBSD, especially about the way it improved over the years, so I am asking you, FreeBSD fans, how close does FreeBSD come to my excentric package management needs? I know that in the past, FreeBSD emphasized source based installed, and using the ports collection was the preffered method to install packages and deal with dependencies, while pkg_add was merely a time saver. I also get the impression that this is not the case anymore, and that pkg_add (& co) can deliver a good job.

Thanks for reading and looking forward to your replies,
Razvan
 
rotiq said:
Hi,

Sorry for the title, I have no better idea at the moment. I have no intention to start flamewars and other religious discussion. I am merely looking to find out how mature and well designed is the package management in FreeBSD. I am currently using Debian, and while I have tried out FreeBSD a long time ago, I had to drop it since it was far from ready for the desktop (I forgot to mention: I'm a heavywheight laptop user). Now I want to try again, and want to know if FreeBSD's package manager performs at least as good as apt-get (or aptitude).

Main reason for choosing debian: thorough design of package manager and upgrade process (really: for me, this outwheighs anything else)
My main reasons I'm looking for alternatives to debian: slow release cycle

By thorough design I mean things like metapackages, virtual packages (two or more packages can provide the same functionality, for example Sun JDK and OpenJDK), auto installation flags (package X is installed explicitely or as a dependency for another package, management of configurations (a package can be REMOVED or PURGED, with the latter having the configuration files deleted as well), automatic action upon install (package X needs a kernel module or hook, and the package manager handles it), and there's probably more, but I don't know them all.

Basically, my expectation is that the package manager automates as much as possible. And the most important thing: the same should happen in a major upgrade (from 8.2 to 9.0). There are a ton of problems with the upgrade, and I'm expecting from the package manager to automate them as much as possible. Here are some example situation:
- package X was removed in version 9 and replaced with package Y -> I expect to have Y installed, and x removed
- new version of package X has different configuration scheme -> I expect automatic replacement of config files when possible, and warning when manual intervention is needed
- metapackage X includes some new packages and/or drops other -> I expect new packages to be installed automatically and old ones to be removed automatically

Bottom line, all this can be summarized in one sentence: I am looking for a robust OS, which I can install once and upgrade forever, with minimum intervernation (as much automation as possible).

I hear great things about FreeBSD, especially about the way it improved over the years, so I am asking you, FreeBSD fans, how close does FreeBSD come to my excentric package management needs? I know that in the past, FreeBSD emphasized source based installed, and using the ports collection was the preffered method to install packages and deal with dependencies, while pkg_add was merely a time saver. I also get the impression that this is not the case anymore, and that pkg_add (& co) can deliver a good job.

Thanks for reading and looking forward to your replies,
Razvan
Sadly, related to Package Management, FreeBSD didn't improve. It is the same old painful experience again, like it was in the past, IMHO. Nothing changed. I opened another discussion for that.

Look at that discussions for other info. If it is for packages, better if you stay with mature "rolling" Debian. I hope something will change in the future, then I'm not sure it will happen.

Pkg_add can deliver a good job with existing packages and those packages are not updated if not when a major release come out.

Even build system for packages is not that great: there is not a official package manager and so often you get a lot of problens even if you read the ports "bible" called UPDATING.
 
rotiq said:
Main reason for choosing debian: thorough design of package manager and upgrade process (really: for me, this outwheighs anything else)
My main reasons I'm looking for alternatives to debian: slow release cycle

Based on those requirements, you should be using Ubuntu. It's Debian underneath, but with a 6-month release cycle. You won't have to learn anything new, as it's just "Debian+".

Switching to a completely different OS, with different userland commands, different build processes, an emphasis on building from source, a complete separation between "base OS" and "third party apps" (which no Linux distro has), etc will lead you into frustration.

If the only reason you are trying FreeBSD is because Debian releases take too long, then FreeBSD is probably not for you.

By thorough design I mean things like metapackages, virtual packages [...etc]

FreeBSD is a source-based OS. The primary method of doing OS upgrades is by compiling the source tree (buildworld cycle). The primary method of installing third-party apps is via the ports tree, also compiling everything from source.

While there are binary packages available for most apps in the ports tree, binary package management is really an afterthough and not a primary focus. If you are expecting an apt-get-like experience, then you will be disappointed.

- package X was removed in version 9 and replaced with package Y -> I expect to have Y installed, and x removed

This right here illustrates the fundamental difference between FreeBSD and Linux distros: There is only 1 ports tree that supports all FreeBSD versions. You can install Firefox 9 onto FreeBSD 6, no need to upgrade the OS to run newer applications.

Bottom line, all this can be summarized in one sentence: I am looking for a robust OS, which I can install once and upgrade forever, with minimum intervernation (as much automation as possible).

Most FreeBSDers expect the opposite: a robust OS that they install once and then never worry about; while upgrading the apps as needed. No need to constantly upgrade the OS to get newer apps. :)

Based on your "requirements", I'd recommend moving to Ubuntu.
 
iirc there was a debian based bsd distro thing. kbsd or something. there is also gentoo one and probably a few others. If your confortable with apt based distros there are tools in the base as well as ports for management and upgrade.
 
UNIXgod said:
iirc there was a debian based bsd distro thing. kbsd or something. there is also gentoo one and probably a few others. If your confortable with apt based distros there are tools in the base as well as ports for management and upgrade.

You are probably referring to Debian/kFreeBSD, which is a Debian OS with FreeBSD kernel. I would not go for it, there's no need. For a desktop/laptop user I don't think it really matters what kernel he is running. I think it's also an experimental thing.

You are right, there are tools in each distro for installation and upgrades. However my concern is for these tools to be really good and reliable. I can speak for the linux world, where almost all distros handle allow upgrade between major versions. However most promis more than they deliver.

For example Ubuntu (since it was proposed as an alternative) is not good in this department. Quite strange, when you think that it's still apt-get under the hood. :)

To answer the proposals: Yes, Ubunto would be ok, but I don't choose it partly because of the upgrade thing, partly because it's fate is decided by a single company which has its own interests, of course (Unity is a good example of such an influence; unity is ok, but if I don't like there's really no alternative).
 
rotiq said:
However my concern is for these tools to be really good and reliable. I can speak for the linux world, where almost all distros handle allow upgrade between major versions. However most promis more than they deliver.
In FreeBSD world this tools are not reliable at all becouse they are all third party, some are old, some are not maintained and there is no updated/upgraded binary server for FreeBSD.

And also tools like Portmaster and Portupgrade are not official, so they are not reliable, they work in different way, often they are not compatible with each others, so in your case FreeBSD will not a solution.

Look, in the Linux world, for Archlinux: it is so reliable and well supported. Pacman is something that should exist in FreeBSD world and do not exist (with same reliability, dedication and updates).
 
piggy said:
In FreeBSD world this tools are not reliable at all becouse they are all third party, some are old, some are not maintained and there is no updated/upgraded binary server for FreeBSD.

Misleading again! When will you ever read the HANDBOOK? Packages are build and are available with default options.

LINK: ftp://ftp.freebsd.org/pub/FreeBSD/ports/amd64/

piggy said:
And also tools like Portmaster and Portupgrade are not official, so they are not reliable, they work in different way, often they are not compatible with each others, so in your case FreeBSD will not a solution.

They work just fine. All you have to do again is read the man pages.
 
piggy said:
Look, in the Linux world, for Archlinux: it is so reliable and well supported. Pacman is something that should exist in FreeBSD world and do not exist (with same reliability, dedication and updates).

I would like a prebuilt binary tool for kernel, userland apps and packages, which would be constantly updated so that you can jump from release to the latest(stable or current) without the pain of building everything.Whole system update consuming few days is not acceptable, however great the software (BSDs) maybe.

I have been living with FreeBSD for few months now and there are some good features but lot of unwarranted drag (updating mainly) is also there.
 
You've come this far and joined the FreeBSD forum, I say grab a copy of FreeBSD 9 and give-er a go.
Best way to find out.
You are technically competent enough to handle Debian, you should find FreeBSD a pleasant change.

When I came from Slackware 4 years back, there were some things that I missed about Linux...... for awhile.
But no longer. FreeBSD is simply a better, all-round system (for me). And even if it doesn't fulfill ALL your stated criteria/needs, you WILL find other nice perks that may make up for it anyways.

Do it. Do it.
 
hadrons123 said:
I would like a prebuilt binary tool for kernel, userland apps and packages, which would be constantly updated so that you can jump from release to the latest(stable or current) without the pain of building everything.Whole system update consuming few days is not acceptable, however great the software (BSDs) maybe.

I have been living with FreeBSD for few months now and there are some good features but lot of unwarranted drag (updating mainly) is also there.
I couldn't say it better. And, BTW, this is also the opinion of very many sysadmin I do professionaly know (financial company, banks, publishing company; they often choose Microsoft, or IBM, or Solaris becouse they look and they act professionaly also in maintaing not just the base OS, but the userland too).

And the reason becouse the excellent FreeBSD didn't find too much space in great company (actually even in Uni it is not that conbsidered) is becouse of this.

And also the reason becouse, for years, me too, an individual working in the IT and publishing field, never really adopted - for customers solution - this OS. I've personally been on and off of this: very painfull upgrading and updating, lack of updated binarys and so on (it is all very well explained in a recently closed thread).

I hope they (The FreeBSD foundation) will understand this soon, I feel like they don't have the exact perception of what happen outside.

Sadly, also reading this forum, it seems some (I'm sure it is just some) FreeBSD base is made by "geeksalike" more oriented to use an OS "becouse they think it is not like Linux and the girls do not use it to go on Facebook" or "becouse we are not like Bill Gates or Linus Torvalds" or again "we update everything in 10 minutes on a jail inside the updating machine, whats the problem with days loose upgrading a machine? It is just you, retard".

Too bad becouse it could be some win in the IT industry and grow as a user base both as server/client OS in professional industry and as desktop user base.

Everyone could appreciate the reliability, the scalability and the fact it is free and highly customizable.

It just need the Foundation understand it is necessary they need to definitely improve package management and point on updated binary on a binary server. It is so simple.
 
Now I want to try again, and want to know if FreeBSD's package manager performs at least as good as apt-get (or aptitude)

You sound, like you wouldn't be happy with FreeBSD, because the best thing on FreeBSD is the ports collection. FreeBSD is better compared with Gentoo, but slightly easier to manage. If you want rolling releases, try Arch Linux. It has a package system that moves faster.

a package can be REMOVED or PURGED, with the latter having the configuration files deleted as well)

Hmm.. I think I would dump FreeBSD instantly, if it ever deletes one of my precious configuration files. FreeBSD keeps originals that are deinstalled with the packages and additionally makes a copy that you can edit. FreeBSD will never deinstall a modified configuration.

Basically, my expectation is that the package manager automates as much as possible.

Yes. I start ports-mgmt/portmaster, it goes through the configuration phase for the builds, then I logout and do something else. When I come back, usually everything is up-to-date.

You also expect FreeBSD to overwrite configurations automatically. This is something nobody really likes. They are doing this on Mac OS X Server and everything I configured for weeks is fsck'ed up within seconds. Again... my configurations are something a system should never touch!

ports-mgmt/portmaster tells you when a port has been renamed, but will leave it up to you, if you want to update it or leave it alone. On FreeBSD everyone is reading /usr/ports/UPDATING before starting port updates.

[font="Fixedsys"]pkg_add[/font] is useless in my opinion. To use this you need to be American, use Gnome or KDE and accept all default settings including broken dependencies like the whole stupid Lennartware you get with all resulting annoyances.
 
piggy said:
I've personally been on and off of this: very painfull upgrading and updating, lack of updated binarys and so on (it is all very well explained in a recently closed thread).

I realize you didn't like the answers you received piggy. If you didn't like hearing "If it's not broke; don't fix it." there is no reason to whine about it like a child who doesn't get what they want. Thread jacking this post also provides no substance to your argument and benefits no one as you'll get this one closed as well.
 
piggy said:
And also the reason becouse, for years, me too, an individual working in the IT and publishing field, never really adopted - for customers solution - this OS. I've personally been on and off of this: very painfull upgrading and updating, lack of updated binarys and so on (it is all very well explained in a recently closed thread).
Could you post a link to that thread? Thanks.
 
Well, I think Piggy has a valid point here in saying that an easy to use upgrade system for the base system as well as for ports/packages would be nice. I too had a very hard upgrade from 8.2 to 9.0, and eventually had to wipe /usr/local/ and reinstall all my ports. I've used portupgrade for years but can't remember an upgrade this hard (this took a week). Also tried with portmanager.

While upgrading I used a laptop with Ubuntu installed, and I have to say that worked very nice. I had it up and running (including partitioning) within an hour. Updating the system and applications is just a few clicks away. The downside of this is that it's not very tweakable under the hood and therefore I like FreeBSD more, but for people who are not so technical, a Linux like Ubuntu is highly recommended. Point is that it's not bad to look at the "competition" for interesting ideas.
 
Go easy on the personal attacks, people. Also: stop trying to make FreeBSD a Linux distro. Won't happen.
 
bbzz said:
The keyword here is "graphical".

bbzz said:
The keyword here is "graphical".

I'm a regular visitor to these pages (if not a regular poster) and just thought I'd chime in.

I've been reading up on FreeBSD quite a lot for a while, installed 8.2 on the slower of my two boxes (not the wisest decision in retropspect) and recently upgraded to 9.0 using freebsd-udate upgrade and upgraded my packages with the help of one of vermaden's posts. I'm quite happy setting up everything from scratch (as I always do these days with arch and even ubuntu). There are definitely things I like about FreeBSD, such as the clean separation between the base system and ports/packages. I have to say though that I don't find myself using it as often as linux (my primary OS of choice). The first reason is that I find even package upgrades (never mind ports) to be be so much more tedious and slow than in linux. The other reason is that (perhaps through my own ignorance and/or incompetence) FreeBSD seems noticeably more sluggish on the same hardware. Especially when it comes to flash. Of course it could be that I need to investigate how to tune X performance on FreeBSD and maybe if updating packages was less of a pain I'd feel more inclined to look into that.

I'm not hung up on the idea of a graphical OS installer/package management tool at all, but as others have said in this thread an "all-in-one" binary upgrade tool (to upgrade the base system components and installed packages at the same time) on a par with Debian's apt-get/aptitude would be a major improvement IMHO. I take the points made about what should/shouldn't be part of the base system and the constraints that this would entail. So, for example, any new "meta-system-upgrade" tool, for want of a better description, would ideally depend only on existing components of the base OS.

In ubuntu I don't necessarily want the whole kit and kaboodle, but I can just install a boot-only image (no X - just kernel and core utils), reboot and then do something like:

Code:
aptitude install --without-recommends xorg xserver-xorg-core \
xserver-input-all xserver-utils x11-xserver-utils \
xorg-input-all xserver-xorg-input-all lightdm lightdm-gtk-greeter \
gnome-session gnome-panel gnome-terminal gnome-themes \
gnome-themes-selected gnome-themes-ubuntu ubuntu-artwork \
light-themes

Code:
aptitude install --without-recommends synaptic \
flashplugin-downloader app-install-data gnome-applets gnome-panel-bonobo \
gvfs-backends indicator-applet-appmenu indicator-applet-complete \
indicator-application libasound-plugins libgtk2-perl libpam-ck-connector \
notification-daemon notify-osd nvidia-settings pulseaudio python-gconf \
software-properties-gtk python-software-properties gnome-keyring \
indicator-appmenu indicator-me indicator-messages indicator-session \
indicator-sound notify-osd-icons pulseaudio-esound-compat \
pulseaudio-module-x11 appmenu-gtk indicator-applet-session \
libpam-gnome-keyring python-indicate

That gives me a nice, minimal, functional desktop in no time and I can just update everything in one fell swoop in perpetuity. After a new release comes out I just switch to the next development cycle as soon as the toolchain is uploaded by updating my repository sources list to point to the equivalent of "CURRENT" and just carry on as normal. In arch I don't even have to do that because it's a rolling release anyway.

I'm just saying it would be nice to be able to do the same sort of thing less painfully in FreeBSD.
 
I am getting sick, sick, sick, of these Linux people coming in here wanting to make FreeBSD act like Linux. It's happened far too often lately and there is no need for it. If Linux people can't understand what's going on, that should be reason enough for them to stay with what they've got. Some of these Linux people act just like Windows posters in other forums.

Why this seems to be happening more lately than in years past, I don't know. Their posts should just be deleted as un-constructive and the thread closed.
 
@Nobody in particular:

To be fair, the OP of this thread didn't come in here demanding that others change FreeBSD from what it is into what he wants it to be. In fact, the OP didn't request any changes at all. He did have a shopping list, but merely inquired whether or not FreeBSD is what he's looking for. Assuming that the forum staff would have quickly sniffed out sockpuppetry, this seems like a perfectly legitimate question.

The unfortunate thing is that this thread got hijacked - and I think it's pretty obvious where that started.

Fonz
 
DutchDaemon said:
Go easy on the personal attacks, people. Also: stop trying to make FreeBSD a Linux distro. Won't happen.
No one want another Linux Distro. I/we just want to see OFFICIALLY modernize an old package management system like Ports is and to see an official project to maintain a binary server constantly updated and a related Package Manager for it.

I understand if your (speaking in general, obviosuly) goal is to play with FreeBSD for educational proposal (or even becouse you do not have anything better to do and you want to feel yourself cool in the geeky side of life), FreeBSD is ok like it is, but - if like me - I will try to implement it in professional project I do manage or even for my personal PRODUCTIVE life (it means: no time for week upgrades), FreeBSD is pretty much still the geeky thing it was way back in 1994.

And this is not good.

BTW, I don't want NOTHING will be removed. Someone want to just use old, painfull tools like Portmaster, Portuprade? It is ok with me, I just ask for something NEW and officially to allow FreeBSD to make a jump in usability and so become of interest for people looking for solutions (like professionals) and for normal users (many are interested in FreeBSD and - like you can read even on this forum - look for something other when they do touch with them hand how old, dated, slow, painfull, bad and buggy is the actual update system).

IMHO, in modern years Portmaster and Portupgrade simply do not make sense and Pkg_add is so poor too it do not deserve any more interest. Archlinux Pacman is the way to go, IMHO. ANd it is not a case Archlinux is something that FreeBSD could be and never been. Just it do have the Linux Kernel and sometimes I do prefer the FreeBSD kernel.


For Rotiq. Those are the links to the threads you should read and asked for:

http://forums.freebsd.org/showthread.php?t=29154
http://forums.freebsd.org/showthread.php?t=29072
 
Why is providing a 'upto date' binary installing, updating server for base and userland and even for the ports so wrong?
If others (linux) can do it, and if FreeBSD does it too, isn't that a plus and increased functionality for FreeBSD?
 
@piggy

Wait... I said, I like FreeBSD ports collection, because it does what I want and how I expect it. That does not mean, I am not open for innovation in this area.

You're correct with pacman, it is a nice tool. It also does preserve configurations, which I generally appeciate (I'm talking about '.pacsave').

I am a bit sceptical about package management, because you cannot really build all packages for all configurations. The only solution is to follow a certain "flavor" how to configure packages. So basically, if you build packages, it will result in your own personal FreeBSD distribution. And if you talk about "n00b-friendly" I instantly associate this with "desktop". And how do you plan to be different from PCBSD or DesktopBSD here?

And I want to give you a small warning here, because you mention ArchLinux. I wanted to try this out for my desktop machine and it ended in reading endless wiki pages how to setup LVM2 on rootfs encrypted drives on RAID-1. And I realized that all the configurations that I need to accomplish this and write manually will make the system very difficult to update (Syslinux+squashfs+kernel modules). I know that I am not referring to package managers here, but I want to show you something different. Namely... all the automatisms that have been introduced there, make custom installations extremely annoying and unstable in regards to updates. On FreeBSD I have a nice bootloader and the kernel. GEOM does the rest. It seems more complicated for beginners, but many of us understand immediately how to wire the things together to get a certain result.

Usability is, of course, nice, but sometimes annoying, if it restricts functionality. And you will restrict functionality and there will be someone who is unhappy afterwards.
 
nakal said:
On FreeBSD I have a nice bootloader and the kernel. GEOM does the rest. It seems more complicated for beginners, but many of us understand immediately how to wire the things together to get a certain result.

Usability is, of course, nice, but sometimes annoying, if it restricts functionality. And you will restrict functionality and there will be someone who is unhappy afterwards.
As you can read in all my posts, I definitely appreciate this and I definitely don't want it change. I just want some modern tools to update and upgrade the OS, an official a better compile tool and a binary updated server for updates. I don't want anything of that become default in the OS, it have to be well explained, then I want people still can operate them FreeBSD like they do prefer.

But, for the others, and maybe for all if they want, I want updating and upgrading and installing latest version do not become a pain, I want it become something intreresting and usefull like in any modern OS is (even in Solaris and OpenSolaris is like that!). If someone want the Portmaster pain, he can have it, I don't pretend anything is defaults, well, I actually could like if install will tell in the first screen something like this: "you can do this and you do old FreeBSD style and need time and knowledge; if you want to be ready and updated do this, and if you need to learn you can do it after, using the handbook and all the stuff".

Then they should try to select on ports and modernize the system: in this days, just out curiosity, I'm looking at what exist in the port management tools folder; and, really, 75 per cent even more, is pure, not maintened, sometimes ridiculos crap. To be in ArchLinux Extra, for example (I will compare that to ports, also if it is different) you need to pass package testing, the package have to be approved and in the near future you will need PGP signed packages for the use with Pacman, to assure quality.

This is what I call a professional and modern attitude to things. And Archlinux, if you know the story, was born from scratch with a lot of references to the FreeBSD project. Then, now, it is AGES behind FreeBSD in the package management field.
 
Of course you can do this without much pain and lots of comfort for all FreeBSD users. The most important criteria is (of course!) that the package system builds everything comfortable for me.

Here my options that I wish for the only way to build usable packages for such a system, like I have:
  • Please compile all packages with German I18N support and preselected DIN A4 print format and new german spell checkers for every desktop application.
  • Use Openbox as a default WM and make sure it does not import unneeded Gnome/KDE software.
  • No HAL, no Pulseaudio, no Avahi dependencies. Also make sure that libcanberra does not get pulled in.
  • CUPS as default printing system with overwriting base system and gtk20 with CUPS support.
  • IPv6 on for every port.
  • 3 versions of vim: with GTK2 and with ruby, without GTK2 but with ruby and without GTK2 and without ruby.

Please make sure that the packages are being built exactly like this, or everything will break for me. I'll paste my /var/db/ports later, so that you can make sure that the system is exactly what I want.
 
Status
Not open for further replies.
Back
Top