Linked by Thom Holwerda on Thu 8th Jun 2006 13:03 UTC
Debian and its clones "DebConf is best known as an annual gathering of Debian developers. But the Debian project likes the name so much that it uses it - give or take a capital 'C' - for the system used to configure Debian packages. Just as the conference is central to the social aspects of Debian, so the program is central to the package management system that is one of Debian's main technical advantages. Debconf gives users as fine a degree of control during configuration as they choose."
Order by: Score:

Good article
by da_Chicken on Thu 8th Jun 2006 13:36 UTC
da_Chicken
Member since:
2006-01-01

This is a pretty good article. I've used Debian GNU/Linux for a few years and I think I know my way around Debian's configuration system but there are some details in this article that I wasn't aware of.

One thing that this article doesn't make obvious, however, is that debconf (and its default settings) work in the background even if you don't explicitly answer many debconf questions, making the installation of many applications much less painful.

Also distros like Slackware use some scripts that make the system configuration easier but I've been told by Slackware users who have tried Debian how Debian has been surprisingly easy to configure and use. Most applications seem to work magically without the usual adjustments that these users have become so used to in simpler distros that leave the configuration of the system and applications to users.

On the other hand, some users seem to be afraid of the many questions that debconf asks them. It makes these users think that Debian is difficult. But all they need to do is run "dpkg-reconfigure debconf" and tell debconf not to ask many questions -- this would make Debian much easier for those users who don't like to anwer many questions. Then debconf would just silently apply the default answers that work for most users.

Ubuntu, for example, has made the default level of debconf questions higher than in Debian proper. This has the effect that many things in Ubuntu seem to "Just Work" out of the box without any user interaction required. But it's still the same good old debconf working in the background that creates this "Just Works" illusion. ;-)

Reply Score: 4

/me hates debconf
by msundman on Thu 8th Jun 2006 15:25 UTC
msundman
Member since:
2005-07-06

In a moment of extreme mental deficiency someone apparently decided that debconf shouldn't have decent support for help, but that extra help should be provided as a separate screen BEFORE the questions where you need it. To top it off they made it impossible to return to this help screen when you actually knew what you wanted help with. Madness!

Another extreme stupidity in debconf is that you can't select the question priority when you start configuring a package. Just because I want to use a certain priority for some kinds of packages doesn't mean I want the same priority automatically for all packages!

Reply Score: 1

RE: /me hates debconf
by da_Chicken on Thu 8th Jun 2006 16:03 UTC in reply to "/me hates debconf"
da_Chicken Member since:
2006-01-01

It's always better to see the help screen before you answer the questions than after them. Besides, you can rerun the questions as many times as you like with "dpkg-reconfigure".

You can set the default priority of debconf questions to the level that is most convenient to you. And if you want to configure some packages in more detail, you can just run "dpkg-reconfigure" afterwards using a lower priority.

Reply Score: 2

RE[2]: /me hates debconf
by msundman on Fri 9th Jun 2006 03:00 UTC in reply to "RE: /me hates debconf"
msundman Member since:
2005-07-06

> It's always better to see the help screen before you
> answer the questions than after them.

Why would the help be shown when you don't need it anymore?!? Not the sharpest knife in the drawer, right? Or was that supposed to be a joke that I'm too stupid to get?

Anyway, if the help is shown before you need it you have to memorize the whole thing (actually I take screen shots, or if it's in a console I'll use my digital camerah) since you don't know what you'll need.
Ugh.
Obviously you want help when you need it. Neither before, nor after.

> Besides, you can rerun the questions as many times as you
> like with "dpkg-reconfigure".

Yeah, sure. Installing a bunch of packages would become so much fun when you have to write down which packages aptitude installs and then after exiting aptitude run dpkg-reconfigure manually for each of them.

> You can set the default priority of debconf questions to
> the level that is most convenient to you.

As I said, the level is different depending on which package I'm installing. I might be an expert on development utilities but know almost nothing about stuff like X11 internals. There is no one single level that would be "most convenient to [me]".

> And if you want to configure some packages in more
> detail, you can just run "dpkg-reconfigure" afterwards
> using a lower priority.

If I wanted more work for myself I wouldn't use debian based distros, now would I?

Reply Score: 1

RE[3]: /me hates debconf
by da_Chicken on Fri 9th Jun 2006 04:04 UTC in reply to "RE[2]: /me hates debconf"
da_Chicken Member since:
2006-01-01

There's no reason to torture yourself. If debconf seems too difficult for your intellectual capacity, just set the priority to "critical" and debconf shouldn't ask you too many questions. And if it still asks something, just keep hitting Enter until the questions go away. Problem solved.

Reply Score: 1

RE[4]: /me hates debconf
by msundman on Fri 9th Jun 2006 11:29 UTC in reply to "RE[3]: /me hates debconf"
msundman Member since:
2005-07-06

> If debconf seems too difficult for your intellectual capacity,
> just set the priority to "critical" and debconf shouldn't
> ask you too many questions. And if it still asks something,
> just keep hitting Enter until the questions go away.

Huh? (You must be the guy who decided how debconf should provide help, because it seems quite unrealistic that there would be two people so dumb.)

Let's consider some emergency instructions on a helicopter. The instructions have 10 steps and the first is "1. Press the red button to eject the door."
Now the conversation goes:

Me: It's stupid to have those instructions on the inside of the door since the door gets ejected.

You: It's always better to have them on the inside of the door rather than on the outside of it. Besides, you could always land, pick up the ejected door and start over.

(JohnMG: You can use a door with hinges so that when it's "ejected" you can still read the instructions by sticking your head out the doorway.)

Me: Obviously it would be better to put the instructions on the inside next to the door so you wouldn't have to memorize them before starting to execute them.

You: If it's too difficult for your intellectual capacity, just ignore the instructions. Problem solved.

Reply Score: 2

RE[5]: /me hates debconf
by da_Chicken on Fri 9th Jun 2006 11:47 UTC in reply to "RE[4]: /me hates debconf"
da_Chicken Member since:
2006-01-01

It tells something of your powers of concentration that you can't remember the help offered to you in the previous screen.

But you're missing my point: debconf works for you even if you cannot figure out the correct answers. Debconf has in-built default answers that you can accept by hitting Enter. If you always accept the default answers, you'll miss many customization options but debconf still tries to make everything all right for you.

You've just got to love debconf for that, don't you agree?

Reply Score: 1

RE[6]: /me hates debconf
by msundman on Fri 9th Jun 2006 13:29 UTC in reply to "RE[5]: /me hates debconf"
msundman Member since:
2005-07-06

> It tells something of your powers of concentration that you
> can't remember the help offered to you in the previous screen.

Just like it's perfect to have the emergency instructions on the helicopter door that gets ejected, right?

You are completely missing the point. Usually I don't need any instructions at all, but I don't know whether I need any or not until I see the fricking question. Now debconf forces me to read (and memorize) whole screens of text just because I might need it. Instead it should provide help on demand, don't you agree?

> But you're missing my point: debconf works for you even if
> you cannot figure out the correct answers.

No, you are missing the point: it's NOT that I can't figure out the correct answers or that I don't want to answer questions. I want to answer any questions that might make the system better, but I don't want to read and memorize tons of help screens that I don't need. However, I do want to read help screens if/when I need them. (I hope you get it now, because I don't think I can describe this obvious fact any simpler.)

Don't you think a good solution, and much better than the current one, would be to have a Help button on each screen, and when/if you need help regarding some question you press the help button? (E.g., like the kernel menuconfig does it, although in the case of debconf there should probably only be one help per screen instead of one per field like in menuconfig.)

Also, don't you think it would be a good thing to add optional support for debconf asking for the question level every time it starts configuring a package? (Of course it should not ask for the level if there are no questions above a user-specified level. The default answer on the question level selection should also be user-specified so that it would usually be enough to just press enter/next/continue.)

Reply Score: 1

RE[7]: /me hates debconf
by da_Chicken on Fri 9th Jun 2006 15:14 UTC in reply to "RE[6]: /me hates debconf"
da_Chicken Member since:
2006-01-01

Just like it's perfect to have the emergency instructions on the helicopter door that gets ejected, right?

I might be wrong but I don't think that debconf is used much in helicopters.

Don't you think a good solution, and much better than the current one, would be to have a Help button on each screen, and when/if you need help regarding some question you press the help button?

IIRC, gkdebconf already has this kind of help buttons.

Also, don't you think it would be a good thing to add optional support for debconf asking for the question level every time it starts configuring a package?

People would complain a lot if it was made this way. They would ask: Why do I have to set the priority level for every package separately? Why cannot I set it once and for all and be done with it?

As I already said, you can rerun any of the debconf questions later, as many times as you like. If you use "dpkg-reconfigure" without any options, the priority is automatically set to the lowest level. But you can also reconfigure packages individually, adding some command line options that tell debconf to use the priority level of your choice (see "man dpkg-reconfigure").

Reply Score: 1

RE: /me hates debconf
by JohnMG on Thu 8th Jun 2006 22:55 UTC in reply to "/me hates debconf"
JohnMG Member since:
2005-07-06

> [snip] but that extra help should be provided as a
> separate screen BEFORE the questions where you need it.

Not sure, but I think if you tell debconf to use the command-line interface instead of the ncurses one, maybe the help messages would still show up but you could then scroll up to read them?

Reply Score: 1

RE[2]: /me hates debconf
by msundman on Fri 9th Jun 2006 02:39 UTC in reply to "RE: /me hates debconf"
msundman Member since:
2005-07-06

> > [snip] but that extra help should be provided as a
> > separate screen BEFORE the questions where you need it.
>
> Not sure, but I think if you tell debconf to use the
> command-line interface instead of the ncurses one, maybe
> the help messages would still show up but you could then
> scroll up to read them?

Ah, clever. Now I'll just have to figure out how to get scrolling working with screen. Thanks.

Reply Score: 1

gkDebconf
by moleskine on Thu 8th Jun 2006 16:43 UTC
moleskine
Member since:
2005-11-05

I like gkDebconf since it provides a nice gtk gui to the whole Debconf thing as well as list all the packages you can use Debconf with. GkDebconf has some nice help information on what some questions mean and it is easier to go back and change answers to previous questions.

For those relatively new to Debian or who just like a gui when there is a choice, gkDebconf is a good extra tool to have around, imho.

Reply Score: 1

I hate debconf more then /me
by Jarek Poplawski on Fri 9th Jun 2006 07:29 UTC
Jarek Poplawski
Member since:
2006-06-09

I think the really bad think is you can't switch off or don't install debconf at all!

I've read some Debian posts, where main developers warned other developers that debconf shouldn't be treated like Windows registry, but it seems the effect is not convincing. Many times after reinstalling or upgrading I was wondering, why my hand edited configs were changed - so my confidence in Debian is very limited.

In my opinion Debian is going too far trying to race with other distros in user friendliness while most of its users are pretty advanced. There are more and more distros for common users and distros for admins or developers are going to be scarce.

I think that possibility of editing configs by hand and to control the system is one of the greatest *nix features and one of the main reasons to use something else then Windows for example. Unfortunately in Debian I see more and more config files with: "Don't edit by hand!" warnings. Will the next step be: "You have to use our XWindow clicking setup program!" to configure cups for example (like in Ubuntu).

And one question out of subject: Why Debian must be so different! Is it very shameful to change you way sometimes (even if it is slightly better) and do something like almost all others do? I mean /etc/sysconfig/ for example.

Jarek P.

Reply Score: 1

RE: I hate debconf more then /me
by da_Chicken on Fri 9th Jun 2006 08:49 UTC in reply to "I hate debconf more then /me"
da_Chicken Member since:
2006-01-01

Many times after reinstalling or upgrading I was wondering, why my hand edited configs were changed - so my confidence in Debian is very limited.

Can you give some specific example? I know for sure that debconf doesn't change xorg.conf if you've edited it manually. And debconf usually detects if some config file has been edited and it asks you if you would like it to install a new config file provided by the upstream developer or if you'd rather keep your manually edited file. And the default action (if you just hit Enter) is to keep your hand edited version. You need to specifically type "y" and then hit Enter if you want to install the new config file that overrides the changes you've made.

Unfortunately in Debian I see more and more config files with: "Don't edit by hand!" warnings.

Yes, there are some files in Debian that have these kinds of warnings. But there are usually also some directions that tell you some other way that you CAN edit these configurations by hand. For example, /etc/fonts/fonts.conf says "DO NOT EDIT THIS FILE" but just after that it says "LOCAL CHANGES BELONG IN 'local.conf'". So you can create /etc/fonts/local.conf (or ~/.fonts.conf) that will override any debconf settings, and you can edit this local conf file by hand as much as you want. Contrary to what you suggest, you can always override debconf settings by editing config files manually.

And one question out of subject: Why Debian must be so different! Is it very shameful to change you way sometimes (even if it is slightly better) and do something like almost all others do? I mean /etc/sysconfig/ for example.

I don't know why everyone thinks that RedHat peculiarities should always automatically become the standard that all other distros need to follow. In Debian /etc/default/ does pretty much the same as /etc/sysconfig/ in RedHat. Every distro has its own peculiar ways of doing some things and I don't believe that Debian is quite as different from others as you give to understand.

Reply Score: 2

Jarek Poplawski Member since:
2006-06-09

Many times after reinstalling or upgrading I was wondering, why my hand edited configs were changed - so my confidence in Debian is very limited.

Can you give some specific example?


Yes: /etc/console-tools/config very often. Maybe it was corrected in current versions, but I'm simply not interested in testing this "feature" with every package versions.

Unfortunately in Debian I see more and more config files with: "Don't edit by hand!" warnings.

Yes, there are some files in Debian that have these kinds of warnings. But there are usually also some directions that tell you some other way that you CAN edit these configurations by hand. For example, /etc/fonts/fonts.conf says "DO NOT EDIT THIS FILE" but just after that it says "LOCAL CHANGES BELONG IN 'local.conf'". So you can create /etc/fonts/local.conf (or ~/.fonts.conf) that will override any debconf settings, and you can edit this local conf file by hand as much as you want. Contrary to what you suggest, you can always override debconf settings by editing config files manually.


And you really think I have spare time and memory to remember, where the options are stored originally (by program manual), what are their names and where to change them in Debian, and not to forget to check if they are OK in all possible places?

And one question out of subject: Why Debian must be so different! Is it very shameful to change you way sometimes (even if it is slightly better) and do something like almost all others do? I mean /etc/sysconfig/ for example.

I don't know why everyone thinks that RedHat peculiarities should always automatically become the standard that all other distros need to follow.

Maybe because some RedHat peculiarities are also SUSE, and Mandriva peculiarities and because standards are not created for fun.

Edited 2006-06-09 09:48

Reply Score: 1

da_Chicken Member since:
2006-01-01

Yes: /etc/console-tools/config very often.

That's funny, because I have also modified my /etc/console-tools/config and debconf has NEVER overwritten my settings there.

And you really think I have spare time and memory to remember, where the options are stored originally (by program manual), what are their names and where to change them in Debian, and not to forget to check if they are OK in all possible places?

I couldn't say anything about your spare time or your memory. Based on my own experience, it's easy: you learn them once and that's all you need to do. If you forget, Debian has very good documentation for each package in /usr/share/doc/package_name/. And there's often README.Debian that in most cases tells you what you need to know. Also, if some application's exec command doesn't have a man page, it's considered a release critical bug in Debian. And there are man pages for many config files, too. Excellent documentation is one good reason to favour Debian.

Maybe because some RedHat peculiarities are also SUSE, and Mandriva peculiarities and because standards are not created for fun.

Let me repeat: RedHat peculiarities are NOT standards. Mandriva is based on RedHat and SUSE is also modelled after RedHat. But there are more Debian-based distros than there are RedHat/Mandriva/SUSE-based distros put together.

Reply Score: 1

Jarek Poplawski Member since:
2006-06-09

That's funny, because I have also modified my /etc/console-tools/config and debconf has NEVER overwritten my settings there.

Yes it's very funny. But maybe it could be changed.
Do you think it is impossible to let user choose if he/she wants debconf instaled and, if not, install packages only. Some linux distros and BSD flavors can do that and don't care it's not funny.

I couldn't say anything about your spare time or your memory. Based on my own experience, it's easy: you learn them once and that's all you need to do.

Some people say learning Windows registry isn't so hard also!

Let me repeat: RedHat peculiarities are NOT standards.

Let me repeat: maybe it's in common interest they sometimes should be.

Mandriva is based on RedHat and SUSE is also modelled after RedHat. But there are more Debian-based distros than there are RedHat/Mandriva/SUSE-based distros put together.

And this is the main reason not to do anything like RedHat does?

Edited 2006-06-09 11:10

Reply Score: 1

da_Chicken Member since:
2006-01-01

Do you think it is impossible to let user choose if he/she wants debconf instaled and, if not, install packages only.

Debian can't be installed without debconf. But I still think you have specifically asked debconf to overwrite your own settings. Debconf has never overwritten any of my settings without asking my permission first. And I've been using Debian for some years now, so I'm pretty sure that this is the default debconf behaviour.

Let me repeat: RedHat peculiarities are NOT standards.

Let me repeat: maybe it's in common interest they sometimes should be.


I agree. There exists the Free Standards Group http://www.freestandards.org/en/Main_Page lead by Ian Murdock (Debian's founder) that is working to establish common standards that all distros can follow. So there is development in the right direction and the future looks bright. Still, the fact remains: RedHat peculiarities are not standards.

Reply Score: 1

Jarek Poplawski Member since:
2006-06-09

But I still think you have specifically asked debconf to overwrite your own settings. Debconf has never overwritten any of my settings without asking my permission first. And I've been using Debian for some years now, so I'm pretty sure that this is the default debconf behaviour.

And I think we are living in great times - people have more confidence in a program then in other human!

Reply Score: 1

da_Chicken Member since:
2006-01-01

And I think we are living in great times - people have more confidence in a program then in other human!

OK, it's quite possible that there is (or has been) a bug in debconf. But it has never hit me, that's all I'm saying.

Reply Score: 1