4 ms·
I don't understand your comment. a DNS server is typically also a cache, and this is what systemd was attempting to provide, without the public server part. It'
by ominous_prime 12y ago
I don't understand your comment. a DNS server is typically also a cache, and this is what systemd was attempting to provide, without the public server part. It's the same thing that distros were using e.g. dnsmasq for.
What does the kernel have to do with this? No one is proposing that the kernel should have a DNS cache.
- jacquesm 12y agoGP says 'Linux doesn't have a built in cache'. I presume (hopefully correct) that he means 'the kernel', since Linux doesn't have anything 'built in' that you don't run as a user process. The kernel of course has plenty of stuff built in but (fortunately) it tries hard to stay away from things that can and should be done in userland. Systemd is a user process and now tries to replicate functionality that we already had a perfectly good solution for. Since a DNS server is typically also a cache we already had this functionality (and more), simply make it listen to a local port and nothing else. That way you don't need to resort to rebuilding things we already have with incompatible interfaces.
- _delirium 12y agoLinux hasn't been just a kernel for a while; it's a kernel with some associated userland utilities that are developed together and normally expected to be present. That's been the case in the filesystem part for a long time; the userland fs-related binaries are developed in sync with the kernel side. Systemd is doing something similar with e.g. cgroups. Linux develops fewer things this way than the BSDs typically do, outsourcing a lot of userland to other projects like GNU, but it doesn't literally develop only kernelspace code. Imo it's generally an improvement; the situation with trying to get things like cgroups to work together with process management previously was terrible.
- jacquesm 12y agoThis is absolutely true, which is why linux is as large as it is and why you need certain stuff in order to bring up a functioning linux system. As for the filesystems they are modules plugged into the kernel (linked directly so you can boot our kernel straightaway or through a ram disk kludge as modules in linux, not the most elegant solution because technically that duplicates a buch of stuff but nobody seems to care too much) and a bunch of supporting programs, this has been the unix way since time immemorial, I think even the first unix I ever used had fsck. The reason those have to be kept in sync is simply because you don't want to run fsck on a filesystem that was built with a newer kernel that possibly has datastructures that your fsck (or other filesystem aware utility) accesses directly without going through the kernel. Essentially such programs re-implement a bunch of kernel functionality because they access file systems that are not currently mounted. Systemd on the other hand (in the case at hand) replicates the functionality of another user process that we already have, know how to use and have hardened over many millions of hours of use. That seems folly to me, it duplicates functionality, makes troubleshooting harder and increases the size of the codebase without actually improving anything. What's next? The framebuffer? Keyboard interface? TCP stack? There are no really hard reasons why those could not be user programs. It's fine with me if we make linux a micro kernel but let's do that in a way that we do not need to revisit the last decade or so of security issues and ill thought out interfaces. Once we start to need things like DBUS and X in order to bring up a server we've really lost the plot.
- rwmj 12y ago> What's next? Keyboard interface? I'm afraid so: http://lists.freedesktop.org/archives/systemd-devel/2013-November/014808.html http://lists.freedesktop.org/archives/systemd-devel/2013-Nov...
- jacquesm 12y agoNo way. That was meant as a joke. This is really bad.
- angersock 12y agoAll hail our new systemd overlords. Get with the program, citizen.
- vezzy-fnord 12y agoNot as much as you'd think, actually. The CONFIG_VT subsystem has been a bane on the Linux developers for a long time. A userspace replacement entitled kmscon has already been around since 2012, by David Herrmann. It's a totally separate project. consoled is a minimalistic fallback done by the same person. I'm not sure if it really needs to exist, but replacing CONFIG_VT in of itself isn't bad. Most people will probably still have kmscon primarily.
- JdeBP 12y agoI strongly suspect that at this point most people will in fact have one of the several tools that preceded kmscon by some years and are still around: zhcon (http://zhcon.sourceforge.net/ http://zhcon.sourceforge.net/), jfbterm (http://jfbterm.sourceforge.jp/ http://jfbterm.sourceforge.jp/), fbterm (https://code.google.com/p/fbterm/ https://code.google.com/p/fbterm/), yaft (https://github.com/uobikiemukot/yaft https://github.com/uobikiemukot/yaft), fbpad (http://repo.or.cz/w/fbpad.git http://repo.or.cz/w/fbpad.git), and so forth.
- rdtsc 12y ago> this is what systemd was attempting to provide Why does systemd need to provide it? I already provides enough things. Are there any bugs in : http://www.thekelleys.org.uk/dnsmasq/doc.html http://www.thekelleys.org.uk/dnsmasq/doc.html I had great success using that. Both installing it on my own or run it part of Ubuntu's base install. (And the answer of "but it already provides everything + kitchen sink, might as well provide DNS caching too" would probably not be what most people would want to hear).
- RexRollman 12y agoBecause it is the Emacs of init systems.
- josteink 12y agoDepending in your standing as far as emacs goes, that may actually be something good. I doubt you will find anyone interpreting this as such.
- parfe 12y agoEmacs is the Emacs of init systems http://www.informatimago.com/linux/emacs-on-user-mode-linux.html http://www.informatimago.com/linux/emacs-on-user-mode-linux....
- deleted 12y ago[deleted]
- ominous_prime 12y ago> Why does systemd need to provide it? I already provides enough things. I'm not saying it needs to, or trying to defend systemd. All I'm saying that systemd is providing and alternative to running another resolver.