Re: [gentoo-user] Re: Fwd:How about the gentoo server or cluster in production environment?

2014-02-21 Thread Andrew Savchenko
On Thu, 20 Feb 2014 22:59:59 +0200 Alan McKinnon wrote:
 On 20/02/2014 22:41, Nicolas Sebrecht wrote:
  On Thu, Feb 20, 2014 at 08:52:07PM +0400, Andrew Savchenko wrote:
  
  And this point is one of the highest security benefits in real world:
  one have non-standard binaries, not available in the wild. Most
  exploits will fail on such binaries even if vulnerability is still
  there. 
  
  While excluding few security issues by compiling less code is possible,
  believing that non-standard binaries (in the sense of compiled for
  with local compilation flags) gives more security is a dangerous dream.
  
 
 
 +1
 
 non-standard binaries is really just a special form of security by
 obscurity. Or alternatively a special form of no-one will eva figure
 out my l33t skillz! Mwahahaha!

Exactly. This is security trough obscurity. I never claimed this is
an ultimate or a sufficient way to protect a system. But this is just
a single of many multiple layers which can be used to provide
acceptable security level.

 Which is a very poor stance to take.
 
 The total amount of code not compiled by setting some USE flags off is
 on the whole not likely to be very much, and hoping with finger crossed
 that the next weakness in a package will just happen to fall within a
 code path that got left out by USE flags is a fools dream.

You mare compare binary sizes for e.g. openldap (and all its
libraries) with minimal and full (USE=-minimal *) setup. Quite
impressive, not to count all external so libraries involved.
 
 I'm glad you mentioned this Andrew, because the internets are full of
 stupid advice like this non-standard binary nonsense.

Are you considering Bruce Schneier's advice as a stupid nonsense? In
his Applied cryptography he recommended one of the ways to
straighten a system: to use not so frequently used algorithms instead
of selected standards because less frequently used algorithms has no
better math but are less targeted, have less specialized hardware
built to crack them and so on.

 Yes, the
 arguments at face value are difficult to refute with hard facts, but
 those that do not known it is stupid are easily led into a sense of
 false security, doesn't matter how many disclaimers are tagged on the end.
 
 I reckon it's the duty of all knowledgeable sysadmins to stamp out this
 crap HARD every time it raises it's head. To the user who brought it up
 - this might seem overly harsh but I've yet to find a better method that
 actually works and gets through to people.

I never talked about a sense of security just because system has
non-standard binaries. I talked about high variance which brings a
_bit_ more security. And I'm talking not from some theorizing, but
from practical experience on both ends (data protection and
legitimate system forensics).

Have you ever considered how systems became broken in the wild? The
most common way (in numbers of hosts, not significance) are automated
robots and botnets. They just scan the net, try to bruteforce any
login service they found and try to apply any exploit appropriate
from their database. If one have a widely used and improperly
configured (or not timely updated) setup, it will be hacked this way.

The key point of any attack is *cost*, is *money* one needs to spend
for an attack. Automated attacks are cheap and such _simple
and cheap_ measures as obscured binaries and non-standard (e.g. ssh)
ports will stop most of these attacks. This way it will cost _more_
for the attacker to break into protected system and with raise of an
attack cost system protection level also rises.

Of course, obfuscation is _not_ sufficient for system protection.
This is just one small step forward. I don't want to discuss full
scope of server protection issues, because this is far out of the
topic of this discussion and because measures needed are task-
dependent.

However I want to notice one critical security issue quite common for
production servers: an old software. It doesn't matter how many
protection layers system have, how skilled person configured it was.
When software is old it is quite trivial to look up for CVEs and
break the system. Quite practical encounter from my own experience: I
was asked to legitimately obtain root on the box (admin forgot
password, reboot (with init=/bin/bash) was not an option and root
access was needed for reconfiguration); a box was a year old RHEL
with SELinux enforced. Third kernel exploit worked perfectly (I just
found them on the net, not bothered to code myself). Such trivia with
Gentoo and its custom binaries is not possible. And Gentoo is quite
good with recent software updates (RH sometimes is too slow with
critical kernel/libc issues).

Old software is evil. It doesn't matter how good and tested it _was_.
Variety and diversity are quite important for real word systems
protection.

Of course, it is possible to break _any_ box on the Earth, the
only question is how high the cost will be. My point is that Gentoo
provides native

Re: [gentoo-user] Fwd: How about the gentoo server or cluster in production environment?

2014-02-20 Thread Andrew Savchenko
Hi,

On Thu, 20 Feb 2014 07:40:59 +0800 Franklin Wang wrote:
 I'm not familiar with gentoo server and cluster. So could you tell me
 the experience about them? Thanks.

We have successful experience with Gentoo on both production servers
(someone call this area enterprise, though I dislike such name) and
HPC setups.

In short,
Procs:
- fine-tuned setups;
- really large choice of components;
- high-performance setups (especially rocks for HPC);
- reduced attack surface;
- nontrivial attack surface;
- large system updates easy (comparted to e.g. RHEL4 - RHEL5
  migration);
- easier to add and maintain out-of-tree software.
Cons:
- much longer time for initial setup;
- harder to apply routine updates;
- poorly suitable for tasks like: create me this new service ASAP
  (for which you don't have prepared images), preferably yesterday.
Other notes:
- requires more qualified personnel to maintain.

Best regards,
Andrew Savchenko


pgpkbel_Wkp06.pgp
Description: PGP signature


Re: [gentoo-user] Re: Fwd:How about the gentoo server or cluster in production environment?

2014-02-20 Thread Andrew Savchenko
On Thu, 20 Feb 2014 11:29:52 +0100 Nicolas Sebrecht wrote:
 The 20/02/14, Nilesh Govindrajan wrote:
 
 Gentoo makes the best server os because it's a custom built os where the
 admin knows each and every aspect of the os. Security wise, there are no
 unwanted or unused stuff, so lesser bugs to deal with.
 
 While I agree with the less code is less bug argument, I disagree with
 your point.
 
 Tuning softwares mean that the binaries compiled on a machine are less
 used in the wild (other Gentoo systems have other hardware, enabled use
 flags, etc). Hence, the binaries executed on you local server are likely
 much less tested by others.

And this point is one of the highest security benefits in real world:
one have non-standard binaries, not available in the wild. Most
exploits will fail on such binaries even if vulnerability is still
there. This will cut-off most off automatic botnet attacks even
without additional security measures like hardened setup, PaX or
GRSecurity (yeah, I never trusted SELinux because of its main
author: sane agency will never release a security tool which can be
a hinder to this agency). Of course, if system is specifically
targeted by qualified professionals, this will only hinder their
approach, but binary based distributions will not provide any
advantage here either.

Best regards,
Andrew Savchenko


pgpdyWR4NlZ8L.pgp
Description: PGP signature


Re: [gentoo-user] Debian just voted in systemd for default init system in jessie

2014-02-20 Thread Andrew Savchenko
On Fri, 21 Feb 2014 11:36:15 +0800 Mark David Dumlao wrote:
[...]
  So, please, don't take it as an insult. In fact you have done a very good
  job of patiently spelling out the advantages of systemd, to the point I'm no
  longer afraid of it taking over and devouring the linux world.
 
 If systemd truly is, as you say taking over and devouring the linux world
 such that the majority of distro maintainers are individually choosing
 to use a feature or two from it, then yes, it definitely is the job of people
 who want to opt out of it to do the work.
 
 If Gnome wants systemd, and you don't, but you want to continue using
 Gnome, it's _your_ job to look for a method or patch or package or script
 that makes it work.

1. I do _not_ want to use Gnome (and never used it) as DE.
2. Someone called Lennart was a long-time Gnome contributor before
Gnome required systemd without alternative. Coincidence? I don't
believe in them. I trust probabilities and statistics.

 If udev wants systemd, and you don't, but you want to continue using
 udev, it's _your_ job to look for a method or patch or package or script
 that makes it work.

We have eudev fork which is clean from systemd crapware and works
perfectly on production setutps.

 If foo wants systemd, and you don't, but you want to continue using
 foo, it's _your_ job to look for a method or patch or package or script
 that makes it work.
 
 If everybody else wants to use systemd but you, it's your job to keep
 your system working the way you want to.

Nobody else requires systemd mandatory now as to my knowledge.

 Nobody's going to go out of their way to specifically and targettedly break
 your system, because you don't like their way. However, you can co-opt
 some package maintainer's way and say he's obligated to make a
 pure and systemd uncorrupted system for you. Because he's not.
 
  Bottom line: since Gentoo's default and primary init system is (and
  hopefully will be for a very long time) OpenRC, it is on the systemd folks
  to do the work to get systemd fully supported.
 
 
 systemd IS supported and working. The problem arises when there are
 people that want to push for a system with no systemd whatsoever
 and act like it's the systemd maintainer's job to make that happen.

OpenRC is default in Gentoo now, and it is my best hope it will be.
Thus anyone willing to use something else should do an appropriate
job.

Best regards,
Andrew Savchenko


pgpiEf5yXsVgJ.pgp
Description: PGP signature


Re: [gentoo-user] Re: Debian just voted in systemd for default init system in jessie

2014-02-20 Thread Andrew Savchenko
On Thu, 20 Feb 2014 18:08:43 -0600 Daniel Campbell wrote:
 It's marginally clever, but so clearly obvious at the same time. It's
 sad (to me) that the community didn't see it coming. Those who did have
 been written off as conspiracy theorists or FUDders. Time will reveal all.

Indeed time reveals everything and part of this foiled plot
revealed itself two days ago. It was said earlier in the list by
systemd supporters, that this project is modular, fine split to
binaries and thus critical issues in the pid 1 are not that likely.
And just look at systemd-209 release notes:

http://lists.freedesktop.org/archives/systemd-devel/2014-February/017146.html
[quote] We merged libsystemd-journal.so, libsystemd-id128.so,
libsystemd-login and libsystemd-daemon into a a single libsystemd.so
to reduce code duplication and avoid cyclic dependencies (see below).
[/quote]

So all talks about systemd being modular are nothing more than
nonsense. Guess what will happen on segfault in libsystemd.so?
Segfaults in pid 1 are so nice to bear...

And Canek please talk no more about how talented systemd
programmers are or even about how professional they are, because
they're no longer. They failed a trivial textbook example: what should
one do when libraries A and B have some common code and cyclic deps?
Push common code to library C. That's the Unix way and secure way.
Creating single bloated library will help in neither fencing nor
debugging, nor code audit.

It looks like to me that ultimate goal of systemd is to consume as
much system and user tools and interfaces as possible. Perhaps, in the
ideal systemd world there will be nothing but linux-systemd kernel and
systemd-stuff userspace. Shell communication will extinct, all major
application and daemons will be converted to systemd modules. Of
course this goal will be never achieved as-is, but one may consider
it as an asymptote of their actions.

Best regards,
Andrew Savchenko


pgpef2uhhHI0s.pgp
Description: PGP signature


Re: [gentoo-user] Debian just voted in systemd for default init system in jessie

2014-02-19 Thread Andrew Savchenko
On Wed, 19 Feb 2014 10:19:43 + thegeezer wrote:
[...]
  For all this talk about technical details,
  nobody seems to notice the marketing
  A few people including myself have noted it earlier.
 
  that's going on and frankly it disgusts me.
   And me too.
 
 
 I have to confess that it does feel very evangelistic the approach from
 folks pushing systemd.  perhaps it is just because for some it has been
 four years of looking at new ways of doing things, whilst others are
 just realising now how different it is.
 I saw an interesting blog post [1] that basically tried to convince
 directly gentoo devs.
 it was interesting because of this comment:
 
 snip
 
 *Simon*
 September 26, 2013 at 2:58 am
 https://blogs.gnome.org/ovitters/2013/09/25/gnome-and-logindsystemd-thoughts/comment-page-1/#comment-756
 
 
 Yes, I think you’re dead on, there. It’s not that Gnome depends on
 systemd – but it’s increasingly dependent on features that are only
 provided by systemd. The example of OpenRC not behaving according to
 GDM’s assumptions is a perfect illustration of that. It’s dependent not
 on systemd, but on something that for practical purposes is
 indistinguishable from systemd
 
 /snip

It looks like systemd PR agents put it quite simple: my way or the
highway. And it looks like Gentoo is the last major shelter for
freedom we have.
 
 the difficulty is that without knowing what features are required but
 assumed to be there it becomes very difficult to build something the has
 the API that logind or others might be requiring.an update of gnome
 might require a new feature that is hot off the presses, and until it
 breaks an openrc-logind system no one is aware of that requirement.  the
 API does seem to be online [2], albeit updated 30days ago; i can't
 comment if this is up to date enough or not.
 
 I think the argument on the blog page is a bit disingenuous too -
 essentially implying that if you want gnome then you must have logind,
 and if you want logind you must supply the features supplied by systemd:
 but to get a list of the features required is _your_ problem: go through
 the gnome source code to find out.
 these kinds of things are what folks are taking umbrage against. 
 
 I'm also a little confused over the socket matrix feature.  I think it's
 very clever to be negotiating and buffering socket and mounts to
 services that need them, but I haven't seen a good technical argument as
 to why this is required.  From my perspective i see it as xinet.d for
 unix sockets and well, is anyone using xinet.d on a production server?  
 Hopefuly someone can enlighten me?  also what happens if the socket
 arbitrator dies ?

1. We never use xinetd on either production systems or
desktops/laptops. The only legitimate setup with xinetd I can recall
is CVS server. Though the very CVS technology is obsolete this days
(yes, I know portage tree is still using it and I'm looking forward
for git migration).

Socket activation feature is dubious at least. It looks like nobody
from its developers cared to assume that services may start not as
fast as they expect (e.g. network issues with cisco switches being
too slow to answer dhcp which may take up to several minutes). That's
why socket activation is extremely dangerous: it may cause services
to fail _on_ start. Some may just crash and will be restarted (though
not all services may be restarted after crash without manual
interaction, e.g. some DB setups may fail badly), while other may
loose some functionality and continue to work.

Best regards,
Andrew Savchenko


pgpgPnRlfgeDk.pgp
Description: PGP signature


Re: [gentoo-user] Why WordPress is masked?

2014-02-19 Thread Andrew Savchenko
Hi,

On Wed, 19 Feb 2014 16:54:12 +0200 Gevisz wrote:
 After emerge --search wordpress, I have found that this package is
 currently masked (at least for amd64 architecture). The same says
 https://wiki.gentoo.org/wiki/WordPress
 
 Earlier, in this mailing list, I was told that I can see the reasons
 for masking a package in .../profile/package.mask file.
 
 However, looking into it, I have not found there the wordpress
 package at all.
 
 Does anybody know, why wordpress package is currently masked and how
 dangerous it is to unmask it as the wikipage above advises.

Wordpress is not masked on my ~x86 and ~amd64 boxes. Probably you
have stable amd64 setup. Unmasking is generally safe in such cases,
though if you'll mix stable and unstable packages too much you may
have unforeseen consequences.

Best regards,
Andrew Savchenko


pgpdKbIpCtX_5.pgp
Description: PGP signature


Re: [gentoo-user] Debian just voted in systemd for default init system in jessie

2014-02-18 Thread Andrew Savchenko
On Mon, 17 Feb 2014 19:09:40 -0600 Canek Peláez Valdés wrote:
  How Integrated? The TCP/IP stack *is* integrated. But it is *protocol*
  integration, *standards* integration not *software* integration. You do want
  tight integration where it just can't work otherwise, but the design of Unix
  provides (well, again repeating this), and almost any robust design should
  provide, the ignorance of one abstraction level about another. Why HAL? Why
  udev? Why drivers as modules? Why not just go and integrate all stuff into
  the kernel, well (again!) like MS do, and don't please say I compare wrong
  things just because MS is not OSS.
 
 You make a wrong comparison, because MS is not free (libre) software.
 With Linux, and systemd, and OpenRC, and HAL, and devfs, and sysv, we
 have been able to try new technologies (and see that some of them
 fail, like HAL [yuck!]), because we have the source.

But the comparison is quite right. When one have to deal with software
lock-in, this means that one have to fork a huge stack of software
which is theoretically doable (because software is free), but is
impractical unless one owns a corporation with large number of full
time paid developers. The same way one in theory can change everything
in MS by changing assembler code of their software. Well, this will
require some time, but asm is nothing more than low-level programming
language, thus formally one have the sources.

The key feature here is deliberate and malicious lock-in: as long as
software enforces one, it is non-free in practical terms.

 As you said, you can replace the whole of Linux if you so desire (and
 have the technical ability).
 
 You will never be able to do that with any MS software, and so the
 comparison makes no sense.

Hey, but people are already doing this! Google for ReactOS or Wine.

 The thing (and that's also my point), apparently *most* of the people
 willing and able to create cool software have decided that systemd is
 the way to go. And, even if you want to attribute that to a simple
 monetary issue, most of them do it *happily* because many things are
 just easier to do with systemd.

Most people should never care what init system is in charge while
writing end-user software. If software (e.g. some daemon) depends on
specific init system, it is broken by design.
 
  They'll be able to
  stuff everything into it, making effectively a thing in itself which will
  dictate you where to go and what to do, just because you're not technically
  competent enough to deal with it -- hence more support calls and more $ etc
  etc.
 
 Oh, but nobody will be able to do that to me. I know how to write
 code. I'm willing (and I believe able) to write and/or modify software
 if I don't like how it does things. I've done it before; I could do it
 again.

Even if you have superior and outstanding programming skills I doubt
you have time and resources to rewrite the whole software stack (e.g.
systemd and everything depending on it) yourself.

  If *someone*, *willing* AND *able* steps up to do ALL that work, MAYBE
  it would happen.
 
  But don't complain if no one does, and it doesn't.
 
 
  That's your point -- and mine. We aren't complaining -- we want to prevent
  this.
 
 Prevent what? People writing new software that offers cool features,
 and therefore distros are using them?

Prevent loosing our freedom in practical sense: while the software
will be still free in FSF license terms, it will be so locked onto
itself that it will be eventually impossible for anyone besides large
corporations to replace it. Thus in the end we'll be dictated what to
do and how to do.

  The forward-looking people must unite, it may sound ridiculous,
  against systemd
 
 You cannot stop people for writing new cool stuff, nor distros for
 wanting to using them. You CAN write your own cool stuff, and
 convincing people that is better than the alternative.

And you can't force people to use your cool stuff because you're
assuming it is cool. That's called freedom, freedom of choice. That
is what I love Gentoo for. That's why I support systemd
profile propose. That's why I will do my best to protect this freedom
in our community.

  You know what it is: everything's free but nothing to choose from. We had it
  before, it's called communism. Maybe it is not that bad but we don't want it
  anymore.
 
 (Really? A cold war reference?)

Yes, we have a software^Wcorporation war right upon us.
 
Best regards,
Andrew Savchenko


pgpwNStDaxmGV.pgp
Description: PGP signature


Re: [gentoo-user] Debian just voted in systemd for default init system in jessie

2014-02-18 Thread Andrew Savchenko
On Tue, 18 Feb 2014 11:46:14 +0800 Mark David Dumlao wrote:
 init scripts, in general, are ad-hoc, quirky, and incomplete
 implementations of service supervision in bash. They're reliable so
 long as the daemon can be relied on to advertise one or all of its
 processes in a pid file. Thing is, there are way too many different
 possible setups for services for that to be the case. In the average
 case watching a PID file works. And since most people use average
 software, most people don't care. That's ok.
 
 Thing is an init isn't just for most people. It's for all people.
 It should be reliable for all services.
 
 I used to use cherokee. Fast, light, awesome, and with a web admin.
 The init script always failed me. /etc/init.d/cherokee stop was not a
 guaranteed stop to all forked cherokee processes - the parent pid
 dies, but some forked process or something, usually related to
 rrdtool, doesn't. Or the parent does exit and erases the pid file but
 it returns control immediately and its not yet done exiting. Something
 like that or other. Point is, I've several times had to ps aux|grep
 ... kill; zap; start - on production servers.
 
 Was it cherokee's fault? Maybe. But the init script should have told
 me that. Or even better, the init script should have done its job and
 terminted the processes. See, pid files are just a proxy, they don't
 work for all services and all setups. Maybe a process crashes before
 it kills its forks. Maybe the server has a restart feature that fails
 to write the pid file because the init script created it as root but
 the daemon relinquished privileges. Maybe there's a bug somewhere.
 Maybe the pid file gets overwritten accidentally. Maybe the pid file
 is stale because of a power failure. Point is you don't know until the
 service restart which should just take a sec costs you maybe an hour
 or two in billable time.
 
 With supervised cgroups that's not a problem. Because all process
 forks are grouped together, it doesn't matter if there's a pid file or
 not. When its kill time, the daemon and all forks and children go
 down. Because they're dynamically created on start, they don't get
 stale or point to the wrong process. Sounds to me like the right tool
 for the job.

I agree with you. But openrc has cgroups support now for each
service started. Thus systemd is not the only solution solving
problem you described above.

Best regards,
Andrew Savchenko


pgpPRQOqUQGFy.pgp
Description: PGP signature


Re: [gentoo-user] Debian just voted in systemd for default init system in jessie

2014-02-18 Thread Andrew Savchenko
On Mon, 17 Feb 2014 18:35:34 -0600 Canek Peláez Valdés wrote:
[...]
   Complexity means bugs.
   Bugs get reported, bugs get fixes. Life goes on.
 
  You didn't answered this, did you?
 
  Bugs are different.
 
 Bugs are bugs, period. And they get reported and fixed.

Bugs are not equal. They differ in at least two dimensions:
significance depending on the component affected and severity of the
bug itself.

  Bugs in the critical system components are
  critical to the whole system.
 
 Yeah, that's why we have unit testing and QA teams and stable and
 unstable releases, etc.

Every decent project has QA and unit tests one way or another. But
the larger project is, the more bugs it has. And I do not want bugs
in PID 1, that's why it should be small and sound, not bloated (even
with some components split as separate binaries) and broken by design.

  If Libreoffice or browser
  segfaults, some data may be lost and inconvenience created, but the
  system will continue to run. If PID 1 segfaults — everything is
  lost, you have a kernel panic.
 
 And the world will end? The same happens if the kernel has an error.

Kernel has mature error correction infrastructure (Oops handling) and
much wider community.
 
  That's why critical components should
  be as simple and clean as possible.
 
 Like the kernel? You call that simple?

Don't mix user space and kernel space, please. There are
more secure by design micro kernels out there (like Hurd), but
they're out of the scope of this discussion.

 I'm sorry, but you are (IMO) wrong: critical components should be
 thoroughly tested and debugged, and have integrated unit testing, and
 a large enough group of volunteers to test new releases before they go
 into the general public.

You're pointing to valid issues, but not to the whole picture.
Critical components should _start_ from good design, sound modular
architecture and _then_ with QA and testing. You're omitting the most
important stuff, though.

  SysVinit code size is about 10 000 lines of code, OpenRC contains
  about 13 000 lines, systemd — about 200 000 lines.
 
 If you take into account the thousands of shell code that SysV and
 OpenRC need to fill the functionality of systemd, they use even more.

If that code will fail, this wouldn't be critical at system level.
Thus scope of fatal error is limited.

  Even assuming
  systemd code is as mature as sysvinit or openrc (though I doubt this)
  you can calculate probabilities of segfaults yourself easily.
 
 I don't care about probabilities; I care about facts: FACT, I've been
 using systemd since 2010, in several machines, and I haven't had a
 single segfault. FACT: almost no bug report in systemd involves a
 segfault in PID 1.

You need facts? Here is one for you (systemd-208):
http://fly.osdn.org.ua/~mike/img/misc/systemd-segfault.jpg
 
   Looks broken. Broken by design. The worst form of broken.
 
  By your opinion, not others.
 
  That is not just an opinion. There is a science and experience behind
  system's design.
 
 Yeah, what do you think about  Greg Kroah-Hartman, Linus' right hand,
 or Keith Packard of X.org fame? None of them works for Red Hat; both
 of them know more about Unix and Linux than you and me together, and
 both of them promote systemd.

I respect Greg for most of his work, but this doesn't mean he is an
oracle we need to adhere to. But in FOSS reputation is not that
important, though clean technical reasons are.
 
  And all that science was ignored during systemd
  architecture process if there was any at all.
 
 You should read systemd-devel and Lennart's blog posts before saying
 something like that. I did.

I read that blog. No valid reason were found (if we're comparing
systemd to what is outside of systemd's world, not only to bare
sysvinit). But what I found it that blog is a lack of thorough
project design (it looks like many components were added by the fly
without preliminary planning) and a lot of religious statements.

Best regards,
Andrew Savchenko


pgpko_nMZl2xr.pgp
Description: PGP signature


Re: [gentoo-user] Debian just voted in systemd for default init system in jessie

2014-02-18 Thread Andrew Savchenko
On Tue, 18 Feb 2014 04:05:03 +0200 Gevisz wrote:
  I mean, I myself know a thing or two about computing and Linux, and I
  promote systemd (and nobody pays me, BTW), but obviously you don't
  need to believe in my credentials.
 
 I have said you, he is just an unpayed fanatic systemd promoter!  

Frankly, I have doubts he is unpayed. Though as long as arguments are
technical this doesn't matter. Though when arguments are down to Said
who? Listen to the Oracle! it starts to.

Best regards,
Andrew Savchenko


pgp3mkVhNVMFr.pgp
Description: PGP signature


Re: [gentoo-user] Debian just voted in systemd for default init system in jessie

2014-02-18 Thread Andrew Savchenko
On Mon, 17 Feb 2014 23:30:42 -0600 Canek Peláez Valdés wrote:
 On Mon, Feb 17, 2014 at 8:05 PM, Gevisz gev...@gmail.com wrote:
 [ snip ]
  How can you be sure if something is large enough if, as you say below,
  you do not care about probabilities?
 
 By writing correct code?

Real world code without mistakes and larger than Hello, world!
exercises is not possible. Large systems must have error suppression
and correction techniques, modular and replaceable design is one of
them, KISS is another one. Systemd has none known to me.
 
  I don't care about probabilities;
 
  If you do not care (= do not now anything) about probabilities
  (and mathematics, in general), you just unable to understand
  that debugging a program with 200K lines of code take
 
  20!/(1!)^20
 
  more time than debugging of 20 different programs with 10K lines of
  code. You can try to calculate that number yourself but I quite sure
  that if the latter can take, say, 20 days, the former can take
  millions of years.
 
  It is all the probability! Or, to be more precise, combinatorics.
 
 My PhD thesis (which I will defend in a few weeks) is in computer
 science, specifically computational geometry and combinatorics.

You're not the one here on the list with PhD (either defended or
near its end). And argument Listen to me! I'm PhD here! looks
miserable. Please stop this. 

  I care about facts: FACT, I've been using systemd since 2010,
  in several machines, and I haven't had a single segfault.
 
  Have you ever tried forex? If yes, you should have been warned
  that no past performance guarantee the future one.
 
 I never said that. I trust the quality of the code, measured by my own
 judgment and bug reports, etc. Not past performance.
 
 And even if a bug goes by, then what? The world will end?

This depends on what bug at what component occurred. Just imagine
pid 1 segfault on medical life support equipment. With systemd going
into embedded this is not just pure speculation, though, of course
medical stuff should have extra safeguards. But any FT or at
least HA setup is a combination of multiple layers. I do not want to
allow badly broken core component on mine setups even if its faults
may be compensated by other means.

Yet again, I respect ones right to use whatever one wants, but I ask
to respect mine as well. That's why I propose a separate systemd
profile for those willing to use it.

  Sorry, but it's you who doesn't know the matter at hand: kdbus was
  (and is) written by Greg Kroah-Hartman, Linus' right hand, and who
  works for the Linux Foundation.
 
  Lol, he seems to start to use the arguments like You even do not know
  my elder brother/acquaintance from the street nearby who can easily
  hit you down!
 
 If you don't think Greg's words have any weight in a Linux-related
 technical discussion, then I'm afraid we will need to agree to
 disagree on any technical subject.

You know, common sense should always override person's prestige.
History knows many examples. Sir Isaac Newton enforced corpuscular
point of view on the light's nature. And while he was genius in other
physical aspects, he was mistaken here. Albert Einstein was rejective
to probabilistic nature of quantum mechanics and even proposed an
entangled particles paradox as an example of its flawed nature.
Though as we know these days such systems exist and are quite well
used in numerous experiments. My point is simple: do not blindly
adhere to someone's words, even if this person has high authority.
Common sense must prevail. Period.

Best regards,
Andrew Savchenko


pgpdeThnp3qdq.pgp
Description: PGP signature


Re: [gentoo-user] Debian just voted in systemd for default init system in jessie

2014-02-18 Thread Andrew Savchenko
 and
 able to produce a compatible replacement: logind works with a dbus
 API, so it's (in theory) *easy* to duplicate its functionality. Ubuntu
 has been working in a replacement, but (AFAIU) is not finished.

And logind hardly depends on systemd . That's why Gnome depends on
systemd.

  The real reason is money: systemd is a Red
  Hat project (despite being formally open for everyone) and is their
  tool^Wweapon to fight with Canonical for a sales market. It the last
  years RH was pushed near even in a server market and now they are
  fighting back.
 
 Nice conspiracy theory you have going on.

You may call facts as like as you want to. This will not change them.
 
  They were lucky enough to acquire Poettiring guy and
  create from a simple and sound sysvinit (which is an important but
  not dictating peace of software) a key component where they can
  dictate their own line, where they can lead all Linux community in
  a way they need.
 
 And it gets better. Citation needed? Any hard proof?

Citation for what? You're free to analyze fact and trends yourself.
 
  That the real reason I despise systemd: in replaces the freedom of
  choice by a dictatorship of a small bunch of managers of a single
  corporation (yes, managers, not developers). And all this is under the
  veil of GPL and technical merits. This is the poison in the well of
  FOSS.
 
 I don't work for RedHat; I teach in a University. Nobody pays me for
 using systemd; I just choose to because I think is a technical sound
 solution for the chaos that was the plumbing layer in Linux.

This chaos is called freedom, freedom of choice, which leads to
diversity, evolution and security. With every system unified in
its core component we'll have a nice single and easily targeted point
of failure. With systemd on most Linux distributions viruses (in
terms of self-spreading windows malware) are just a matter of time.
If this folly will not be stopped before it's spread you may recall my
words in about five years.

 The technical merits and advantages of systemd are there in the open
 for anyone willing to study a little about it. *After* you carefully
 read the code, the documentation, and test the software in real life,
 you *may* still think you don't like the software or its design.

Believe me or not, but I tested it, I read its docs and I studied its
code. I vomited.

There are two major types of failures: design failure and
implementation failure. I'm tolerant to implementation issues, anyone
have them after all. But monolithic deeply integrated approach is
flawed by design. Even this issue can be tolerated as long as project
is supposed to be compatible and replaceable with other solutions
(remember, everyone has right to shoot oneself in the leg). But if
project is being aggressively enforced, this is no way to go.

Best regards,
Andrew Savchenko


pgpOjpSt4fW_y.pgp
Description: PGP signature


Re: [gentoo-user] Debian just voted in systemd for default init system in jessie

2014-02-18 Thread Andrew Savchenko
On Tue, 18 Feb 2014 11:22:23 -0600 Canek Peláez Valdés wrote:
  Yet again, I respect ones right to use whatever one wants, but I ask
  to respect mine as well. That's why I propose a separate systemd
  profile for those willing to use it.
 
 Then write. Just be aware that to write a systemd profile, you need to
 use systemd.

Or to create a non-systemd profile :)

Best regards,
Andrew Savchenko


pgpKEksCQfVOx.pgp
Description: PGP signature


Re: [gentoo-user] Debian just voted in systemd for default init system in jessie

2014-02-17 Thread Andrew Savchenko
On Sun, 16 Feb 2014 15:16:36 -0600 Canek Peláez Valdés wrote:
 On Sun, Feb 16, 2014 at 2:58 PM, Volker Armin Hemmann
 volkerar...@googlemail.com wrote:
  Am 16.02.2014 21:08, schrieb Canek Peláez Valdés:
  On Sun, Feb 16, 2014 at 12:59 PM, Volker Armin Hemmann
  volkerar...@googlemail.com wrote:
  [ snip ]
  or it is an idiotic decision. Because features means complexity.
  Yeah, like the kernel.
 
  Complexity means bugs.
  Bugs get reported, bugs get fixes. Life goes on.
 
 You didn't answered this, did you?

Bugs are different. Bugs in the critical system components are
critical to the whole system. If Libreoffice or browser
segfaults, some data may be lost and inconvenience created, but the
system will continue to run. If PID 1 segfaults — everything is
lost, you have a kernel panic. That's why critical components should
be as simple and clean as possible.

SysVinit code size is about 10 000 lines of code, OpenRC contains
about 13 000 lines, systemd — about 200 000 lines. Even assuming
systemd code is as mature as sysvinit or openrc (though I doubt this)
you can calculate probabilities of segfaults yourself easily.

  All of them are different tools providing one capability to systemd as
  a whole. So systemd is a collection of tools, where each one does one
  thing, and it does it well.
 
  By your definition, systemd perfectly follows the unix way.
 
 
  no, it isn't.
 
  How are those binaries talk to each other?
 
 dbus, which is about to be integrated into the kernel with kdbus.

And this is a very, very bad idea. Looks like you don't know matter at
all: to begin with kdbus protocol is NOT compatible dbus and special
converter daemon will be needed to enable dbus to talk to kdbus. The
whole kdbus technology is very questionable itself (and was
forcefully pushed by RH devs), anyway it is possible to disable this
stuff in kernel and guess what will be done on my systems.

  Looks broken. Broken by design. The worst form of broken.
 
 By your opinion, not others.

That is not just an opinion. There is a science and experience behind
system's design. And all that science was ignored during systemd
architecture process if there was any at all.
 
Best regards,
Andrew Savchenko


pgpPqKWNVnvHI.pgp
Description: PGP signature


Re: [gentoo-user] Debian just voted in systemd for default init system in jessie

2014-02-17 Thread Andrew Savchenko
On Mon, 17 Feb 2014 11:13:39 -0600 Canek Peláez Valdés wrote:
  It simply doesn't matter if systemd boils down to one monolithic binary, or
  600, if they are tied together in such a way that they can not
  *individually* be replaced *easily and simply* (ie, without having to
  rewrite the whole of systemd).
 
 You are setting a group of conditions that preemptively wants to stop
 adoption of anything that is tightly integrated. That is a losing
 strategy (different projects actually *want* tight integration), and
 besides the burden of work should not fall on the people wanting to
 use a tightly integrated stack.
 
 You want individual modules that are easily and simply replaced?
 Then WROTE THEM. Don't expect the systemd authors (or any other) to do
 it for you.

And here we have a small problem: for modules to be replaceable the
core system should be designed to support replaceable modules, but
systemd is not. The whole deep integration approach and lack of
inter-module boundaries doesn't allow one to write replaceable blocks
without crazy hacking.

Just imagine that one have PCI-E bus and this bug is being replaced
with some other PC-systemd bus, where one have to interface each
component differently. And if one removes e.g. audio card some other
seemingly independent component e.g. network controller becomes
broken. That is the nature of systemd and that is many people dislike
this technology.

  That said, it seems to me that, for now at least, it isn't that big a deal
  to switch back and forth between systemd and, for example, OpenRC.
 
 It depends; right now you can't switch back and forth between OpenRC
 and systemd without reemerging some stuff. Some of those packages
 *could* be made to switch functionality at run time instead of compile
 time, but SOMEONE has to write that support, and it's probably that
 the upstream for the package will not accept those changes, since for
 binary distributions it makes no sense to have the complexity on the
 code of switching behavior at runtime when doing at compile time is
 easier and the distribution generates one binary per architecture for
 all its users.

The most sane and fair solution was already proposed: create a
systemd profile for those who need it. I personally highly dislike
systemd technology, but I respect the right of other to shoot them in
the leg (or head) as much as they want to. This is Gentoo: a universal
constructor providing people means to build any system in any shape
they need.

Unfortunately chances are that in future some software may become
unusable or unsupported outside of systemd profile. But patches may
be created and other profiles will continue to live the same way
hardened exists now and will continue to exist later.

BTW it was shown at the recent LVEE Winter 2014 conference that GDM
can be easily freed from systemd and OpenBSD guys have an interesting
idea for faking systemd presence for applications requesting one
mandatory. Though IMO any end-user application strictly dependable on
any init system is broken by design: for a daemon there should be no
difference by which tool it was started.

  In fact, it seems to me that, since (from what I've read) the primary reason
  that systemd was written in the first place was to provide extremely fast
  boots *in virtualized environments*,
 
 You are wrong; systemd was created because Upstart had the silly CLA
 from Canonical[1], and because its authors wanted a novel init system
 for Linux (and Linux only) that used all the cool technologies the
 kernel provides, and that it could solve problems like: how to easily
 and consistently start daemons with well defined semantics for its
 dependencies; how to easily and consistently apply resource quotas to
 them; how to deal with modern computers where hardware comes and goes
 (including CPUs) all the time, etc. [2].

Excuse me please, but what you wrote above is very naive. All that
reasons are just an excuse. The real reason is money: systemd is a Red
Hat project (despite being formally open for everyone) and is their
tool^Wweapon to fight with Canonical for a sales market. It the last
years RH was pushed near even in a server market and now they are
fighting back. They were lucky enough to acquire Poettiring guy and
create from a simple and sound sysvinit (which is an important but
not dictating peace of software) a key component where they can
dictate their own line, where they can lead all Linux community in
a way they need.

That the real reason I despise systemd: in replaces the freedom of
choice by a dictatorship of a small bunch of managers of a single
corporation (yes, managers, not developers). And all this is under the
veil of GPL and technical merits. This is the poison in the well of
FOSS.

Best regards,
Andrew Savchenko


pgpNXWRgUgRgH.pgp
Description: PGP signature


Re: [gentoo-user] Debian just voted in systemd for default init system in jessie

2014-02-17 Thread Andrew Savchenko
On Mon, 17 Feb 2014 14:52:33 -0500 Tanstaafl wrote:
 On 2014-02-17 12:52 PM, Andrew Savchenko birc...@gmail.com wrote:
  And this is a very, very bad idea. Looks like you don't know matter at
  all: to begin with kdbus protocol is NOT compatible dbus and special
  converter daemon will be needed to enable dbus to talk to kdbus. The
  whole kdbus technology is very questionable itself (and was
  forcefully pushed by RH devs), anyway it is possible to disable this
  stuff in kernel and guess what will be done on my systems.
 
 Forcefully? Are you saying that *anyone* can *force* Linus to put 
 something into the kernel?

OK, my choice of words was not appropriate. I mean that not every
kernel dev is happy that kdbus is in the kernel now.

 I'd also really, *really* like to hear a *recent* opinion from Linus on 
 systemd...

Judging from his previous opinions this one is unlikely to be systemd-
friendly.

Best regards,
Andrew Savchenko


pgpoH_OQWnQcJ.pgp
Description: PGP signature


Re: [gentoo-user] blocking -systemd

2014-02-09 Thread Andrew Savchenko
Hi,

On Thu, 6 Feb 2014 11:49:41 -0700 Joseph wrote:
 I have in make.conf USE: ... -systemd
 But gnome-base/gnome-settings-daemon wants to pull in systemd-208
 so I need to emerge sys-apps/systemd-208-r2 and I have installed udev which 
 conflicts with systemd.
 
 Do I need to unmerge udev and emerge systemd.  I'm not planning on 
 switching to systemd after recent experience.  So I was planning on avoiding 
 it but I don't know 
 if I can.

You can add openrc-force US flag to your make.conf. This way you will
drop systemd dependency, though you may loose some run-time
functionality of gnome.

Other alternative is to add sys-apps/systemd to package.provided,
though the effect will be the same as above.

And you may switch to some other DE/WM of course.

Best regards,
Andrew Savchenko


pgpc2mNVuTez1.pgp
Description: PGP signature


Re: [gentoo-user] Re: Portage performance dropped considerably

2014-02-02 Thread Andrew Savchenko
On Sat, 01 Feb 2014 00:12:58 +0200 Alan McKinnon wrote:
  and to use this library via some python binding from portage. But I
  suppose algorithm itself should be reviewed first.
 
 ^this is where the speedups will lie
 
 4 minutes on this here i7 monster and 40 on your Atom is ridiculous
 considering the problem that is being solved. Portage is probably
 searching and re-searching dead paths in the tree or something equally
 silly. The algorithm should be analysed and dead paths optimized away.
 Not a language problem.
 
Another challenge is to make dependency resolution parallel — result
should be awesome on modern multi-core CPUs. And I'm sure this is a
doable task (on a first glance analyse subtrees first then join), but
this issue requires further and deeper investigation.

Best regards,
Andrew Savchenko


pgpzv2pb2yd7N.pgp
Description: PGP signature


Re: [gentoo-user] Portage performance dropped considerably

2014-01-31 Thread Andrew Savchenko
On Sun, 26 Jan 2014 16:53:33 +0100 Mariusz Ceier wrote:
 No, it's not just you, running emerge -uNDvp world takes slightly
 over 18 minutes on my laptop (i5 M 430  @ 2.27GHz) - and when there
 was lot to update I had to wait over 1hr to just get the list of
 packages. I wonder if there's some profiling tool for portage.
 Also:
 time FEATURES=-xattr emerge owncloud -v
 real6m31.202s
 user2m42.057s
 sys 2m1.541s
 
 time FEATURES=xattr emerge owncloud -v
 real30m15.632s
 user22m44.369s
 sys 5m30.129s
 
 5 times longer - for something that's essentially copying files.

Slow xattr is a known problem, see bugs 482290, 465000:
https://bugs.gentoo.org/show_bug.cgi?id=482290
https://bugs.gentoo.org/show_bug.cgi?id=465000

But xattr bug shows itself during install phase and has nothing to do
with dependency calculation time mentioned in the original mail.

Best regards,
Andrew Savchenko


pgpZwwW6J9EA7.pgp
Description: PGP signature


Re: [gentoo-user] Re: Portage performance dropped considerably

2014-01-31 Thread Andrew Savchenko
On Sun, 26 Jan 2014 20:30:19 +0200 Alan McKinnon wrote:
 It comes from watching what happens at the end of running emerge, don't
 read any more into it than that. Especially not optimism, I think you
 might be projecting your own frustrations.
 
 A couple of years ago I used to have to manually resolve blockers about
 one world update in two. It started becoming a huge PITA especially as
 the deps are usually easy to solve - if I can look at the screen for a
 few seconds and figure it out, then software can do the same in
 milliseconds. Recent portages now do this properly when viewed from a
 results-only perspective.
 
 On my machines, that is what I see happening. That is the ONLY set of
 FACTS I have to work on; you may have more.
 
 I'm willing to give up 4 minutes while emerge runs so I don't have to
 spend many more minutes right afterwards doing manually the very shit
 that software is very good at. Whether portage is a complete pile of
 dogshit software or not is beside the point. Even if it is, my 4 minutes
 still buys me lots shrug

4 minutes are expendable but... on Atom N270 (my laptop) emerge
-DNuav world takes 40 (yes, forty) minutes to build dependency tree
with sqlite cache enabled and 60 minutes without sqlite. System was
pretty old (not updated aside from GLSA updates for a year). And this
40 minutes repeated many times since USE flag clashes and dependency
resolution failures. So I spent may day, damn whole day(!) for the
sake to just start compiling (distcc is my friend here).

Best regards,
Andrew Savchenko


pgpnG9flBECe4.pgp
Description: PGP signature


Re: [gentoo-user] Re: Portage performance dropped considerably

2014-01-31 Thread Andrew Savchenko
On Fri, 31 Jan 2014 19:13:21 + Mick wrote:
 On Friday 31 Jan 2014 19:03:05 Andrew Savchenko wrote:
  On Sun, 26 Jan 2014 20:30:19 +0200 Alan McKinnon wrote:
[...]
   I'm willing to give up 4 minutes while emerge runs so I don't have to
   spend many more minutes right afterwards doing manually the very shit
   that software is very good at. Whether portage is a complete pile of
   dogshit software or not is beside the point. Even if it is, my 4 minutes
   still buys me lots shrug
  
  4 minutes are expendable but... on Atom N270 (my laptop) emerge
  -DNuav world takes 40 (yes, forty) minutes to build dependency tree
  with sqlite cache enabled and 60 minutes without sqlite. System was
  pretty old (not updated aside from GLSA updates for a year). And this
  40 minutes repeated many times since USE flag clashes and dependency
  resolution failures. So I spent may day, damn whole day(!) for the
  sake to just start compiling (distcc is my friend here).
 
 Out of interest what fs are you running portage on?  I changed an old box 
 from 
 reiserfs to ext4 and couldn't believe the speed up I got.

I use ext4. In my case the problem is in CPU usage and Atom N270 is
pretty weak these days. On this box HDD is fast and NCQ capable,
memory is enough (2GB for 32bit setup). During dependencies
calculation all 100% of time is spent in the python process. CPU is
slightly overclocked (as much as SHE allows). There is nothing more
that I can do here as an admin of this host. (Gentoo setup itself is
complicated with 2200 packages.)

IMO the only way to improve this issue (without throwing good working
hardware in the window) is to rewrite dependency resolution code in
some highly optimized pure C library (probably with some asm code)
and to use this library via some python binding from portage. But I
suppose algorithm itself should be reviewed first.

Best regards,
Andrew Savchenko


pgp9TEWZL3PYu.pgp
Description: PGP signature


Re: [gentoo-user] to nest commands

2013-11-26 Thread Andrew Savchenko
On Tue, 26 Nov 2013 09:58:24 -0500 Randy Barlow wrote:
 On Tue, 26 Nov 2013 11:52:10 +0100
 Hinnerk van Bruinehsen h.v.bruineh...@fu-berlin.de wrote:
  There are some other options of nesting as well. You can use
  backticks ` or $(...) to run a command inside another. An example
  would be emerge `qlist -CI x11-drivers`  (or the equivalent emerge
  $(qlist -CI x11-drivers) ) . This would run qlist -CI
  x11-drivers (lists installed packages of the category x11-drivers)
  and use this output for emerge (which will effectively result in
  reinstalling every package from the x11-drivers category).
 
 As I understand it, the $(...) syntax is the preferred way of nesting,
 as opposed to backticks. I think this may be due to backticks requiring
 some special escaping that the $(...) syntax does not require. I
 attempted a brief search for supporting information, but didn't find a
 definitive source to back up my claims :)

The reason for $(...) being preferred is simple: you can nest
$($($(...))), but you can't nest `...`. Deep nesting is quite useful
indeed.

Best regards,
Andrew Savchenko


pgpv4whI_T8sT.pgp
Description: PGP signature


<    1   2   3