72 pointsby theanonymousone5 hours ago11 comments
  • collinfunk5 hours ago
    I really don't understand why Canonical rushes this. If 'rm' can't remove all possible directory entries, that is a big issue:

      $ podman run --rm -it ubuntu:26.10
      $ apt update -y; apt upgrade -y
      $ rm --version
      rm (uutils coreutils) 0.10.0
      $ gnumkdir -p $(yes a/ | head -n $((32 * 1024)) | tr -d '\n')
      $ rm -rf a
      Segmentation fault (core dumped) rm -rf a
      $ ls a
      a
      $ gnurm -rf a
      $ ls a
      ls: cannot access 'a': No such file or directory
    • teekert5 hours ago
      Rush? This is an interim release (95% or so only tracks LTS's) that is not even out yet... Go file a bug reports if you have some time.
      • mixmastamyk4 hours ago
        I did, and the original dev of the component fixed it within a few days. It was straightforward, a backwards reading of a spec, reordered.

        The fix is still sitting unmerged many months later.

        This surprised me since I thought the project was in heavy bugfix/compat mode. I won’t touch it until I see some velocity on open bugs.

      • collinfunk4 hours ago
        I have. It has been an open bug upstream for years as well.
        • teekert4 hours ago
          ok, that's concerning, if you post it here I'll vote for it (after confirming).
      • jeffbee4 hours ago
        Reporting bugs before Ubuntu releases has never worked for me. They always land a bunch of major changes after the supposed "freeze" then they ignore all feedback because of the freeze. It's infuriating.
    • amelius4 hours ago
      Let them first fix Snap.
    • dark-star4 hours ago
      yeah, this is a bug. And yes, it should be fixed. But I don't think it will affect many users, I mean who has a 32000 -evels deep directory on their system?
      • tosti2 hours ago
        What programmer or programming language can't iterate a loop more than 32000 times?!
        • Ygg22 hours ago
          When triaging an issue you have to prioritise. Do you fix a problem that affects 2-3 people or one that may affect thousands?
        • IshKebab2 hours ago
          It's a stack overflow which means it's using recursion and for historical reasons that don't make sense any more, stacks are teeny tiny on 64-bit Linux - apparently only 8 MB on Linux! I'm not sure why they don't raise it to something reasonable like 4 GB. I guess because they want consistency with 32-bit? Maybe we can finally change it if/when they phase out support for 32-bit Linux. Apparently it might not be that far away:

          https://lwn.net/Articles/1035727/

          • tosti2 hours ago
            OIC. Rust doesn't guarantee optimizing tail recursion. How unfortunate for a language that's getting widespread adoption.
            • gpman hour ago
              For what it's worth there's reasonably active [1] work on implementing opt-in guaranteed tail calls - but it's not particularly fast going. LLVM (the backend rust uses) needs better support for musttail (e.g. some architectures just don't support it [2]).

              [1] https://github.com/rust-lang/rust/issues/112788

              [2] https://github.com/rust-lang/rust/issues/153827

              By-default guaranteed tail calls really isn't rust's style, because it means subtle changes (introducing a destructor, re-ordering code, etc) can change semantics without you realizing it. If you want to guarantee that a call can't allocate a new stack frame you should have to say it.

              • lioetersan hour ago
                Not so familiar with this area, but isn't the existing behavior of implicitly creating new stacks more of a problem than implicit tail-call elimination? Seems the latter is a kind of compiler-level optimization, of which there are already many (I think) that change the semantics internally but guarantee the outward behavior stays the same.

                But I can understand the preference for an explicit opt-in, to make clear that it is enforced and not assumed.

                • gpman hour ago
                  > implicitly creating new stacks

                  I'd argue that it's explicit - that's what a function call does and you don't have implicit function calls in rust.

                  > Seems the latter is a kind of compiler-level optimization, of which there are already many (I think) that change the semantics internally but guarantee the outward behavior stays the same.

                  What you're asking for here already exists. Tail calls might be optimized into not allocating extra stack frames, the rust compiler just doesn't guarantee that it will perform that optimization (and almost certainly won't when code is compiled without optimizations... for instance).

                  What people want is the semantic guarantee that the stack frame won't be allocated. Not just a compiler that often performs the optimization. Otherwise you can't be sure that your code will keep working with new compiler flags/versions/architectures/... You could say "whenever the code is the right shape we'll guarantee the optimization" (C++ famously did this for things like copy elision)... but now the shape of code comes with non-obvious semantic guarantees and that's not rust's style. Hence the proposal for a keyword instead.

                  • lioeters34 minutes ago
                    I see it, certain algorithms need guaranteed tail-call elimination, otherwise they are too inefficient and must be manually unrolled or rewritten to avoid blowing the stack. So a compiler optimization that is "nice to have" is not good enough.
      • secondcoming4 hours ago
        That way of thinking just means it'll never be fixed
        • abirch4 hours ago
          "The Linux philosophy is 'Laugh in the face of danger'. Oops. Wrong One. 'Do it yourself'. Yes, that's it." Linus Torvalds
          • dfox4 hours ago
            The problem there is that this is exactly the class of bug that does not exist in GNU coreutils because of philosophy of that project. Non-existence of such bugs proves that the impementation is not copied from AT&T code.
        • gpm4 hours ago
          Nah, people should (and do) fix small issues as well as big issues. Lying about the scale of issues and calling them "big" when they aren't just leads to no ability to prioritize or evaluate.

          Incidentally someone submitted a PR for this issue about 3 hours before the first comment about it in this thread - https://github.com/uutils/coreutils/pull/14554 (and 2 hours before this link was submitted to HN)

        • 7bit4 hours ago
          What approach would you suggest for priorisation of tickets?
          • secondcoming4 hours ago
            Ideally there should have been no tickets at all if all that's happening is a program being ported to another language.
            • gpm4 hours ago
              This isn't a port - it's a re-implementation without any use of the original source.

              That's also not all that's happening. It's also making improvements like better internalization support, better error messages, and a small handful of other extensions.

              • collinfunk4 hours ago
                I have had to tell them repeatedly to stop copying tests verbatim, including the original comments from GNU coreutils. So I doubt this is true, which is frustrating.
    • IshKebab2 hours ago
      I mean, that should work... but you can see why that would be considered low priority right?
  • Malakun4 hours ago
    You can use coreutils-from-gnu instead uutils. However since 26.04 build-essential depends on coreutils-from-uutils, it cannot be upgraded while coreutils-from-gnu is installed.

    https://bugs.launchpad.net/ubuntu/+source/build-essential/+b...

    • collinfunk3 hours ago
      You can use equivs to create a dummy coreutils-from-uutils package, as mentioned in the responses to that report.

      It is frustrating that Canonical has no interest in fixing it, though. It makes it hard to take their claims seriously that you can still use GNU coreutils if you want.

    • egorfine3 hours ago
      For now you can list dependent packages manually in apt-get install: https://packages.ubuntu.com/resolute/build-essential

      But it's clear that Ubuntu will remove coreutils, genuine sudo and other tools from the future versions. It's the direction, it's ideological and thus nor merit nor our feedback will change anything here.

      • lioetersan hour ago
        > genuine sudo

        That made me curious, it sounds related to this:

        Ubuntu 26.04 Ends 46 Years of Silent sudo Passwords - 5 months ago (413 comments)

        https://news.ycombinator.com/item?id=47464134

        • egorfine5 minutes ago
          nah

          i was referring to their counterfeit sudo emulator written in rust. It's called "sudo-rs" afair.

  • Arcuru3 hours ago
    Has the code quality in that repo gotten to a good point then? I haven't followed it much, but last I looked[1] (which was a few years ago) almost every tool I looked at in detail had pretty bad performance or correctness issues.

    [1] https://jackson.dev/post/rust-coreutils-dd/

    • egorfine3 hours ago
      The reason for existence of uutils is ideological, not technical. Thus code quality is of no use for the objective.
      • stouset2 hours ago
        I’m a huge proponent of Rust and generally lean a lot closer to the RIIR mentality than most, but this effort seems to be such a waste of effort and resources.

        There have been a dozen CVEs reported against all of coreutils in the past twenty years. The most recent audit of uutils-coreutils turned up forty-four CVEs.

        By all appearances they’re replacing battle-tested and fundamental tooling which hasn’t been a problem with extremely amateurish Rust. The threading highlighted in the linked post above seems pretty egregious.

        • egorfine2 hours ago
          Same here. Love Rust. Hate rust rewrites.
    • estebank3 hours ago
      > last I looked[1] (which was a few years ago)

      You weren't kidding: it was exactly 4 years ago ("September 13, 2022").

  • perarneng3 hours ago
    Better security, what's not to like. It's ridiculous to be against this in these times when we need all security we can get. So what if there is a minor incompatibility, can be fixe in no time. If we do a snapshot in time and count vounerabillities in the C codebase vs Rust im pretty sure who will have more in 5 years. It's just the nature of C codebases. C is a nice language but it was never designed with memory safety in mind. It was designed to be flexible and portable. It's a great language. Rust was designed to be fast and memory safe because it had 20+ years of C++ and C experience to learn from.
    • stouset2 hours ago
      There have been twelve CVEs reported against coreutils in the past twenty years.

      There were forty-four against this project in just the last audit.

      I am all for RIIR in cases where it makes sense. This does not even remotely appear to be one of them. By all appearances the quality of the code is extremely amateurish at best. coreutils has not been a significant source of vulnerabilities in the past, and they’re replacing it with code written by amateurs that performs worse and already has a worse security track record.

      • Ygg2an hour ago
        > There were forty-four against this project in just the last audit.

        Was there an audit against coreutils? If not, it's not really apple-to-apple comparison.

  • hk13374 hours ago
    Was there something wrong with how they are currently written or do they just want the badge that says they converted to Rust?
  • goodpoint3 hours ago
    one more reason to stay away from Ubuntu
  • lovedaddy5 hours ago
    [flagged]
    • jmclnx5 hours ago
      Probably true, but the direction Linux is going these days is concerning
      • bigfishrunning4 hours ago
        It's important to remember that this is a story about Ubuntu, and not Linux, and they are two very different projects with different motivations.
      • _ink_5 hours ago
        Care to elaborate?
        • amiga3864 hours ago
          GPL -> MIT
          • skrtskrt4 hours ago
            Does this actually matter that much for some tools when the kernel is GPL?
            • amiga3864 hours ago
              I does. The OP says "Linux" but means "Linux distros", which are made of thousands of "commingled" pieces (i.e. the licence of one piece does not affect the other).

              Each piece that becomes MIT means less pressure on corporate users to give back any changes they make, and we'll end back up in the 1980s again where "Amazon Linux" is full of secret-sauce they refuse to publish and makes the base system incompatible with "Google Linux" (or whatever happens to be kicking about), creating deliberate lock-in out of a system that started open. In much the same way that macOS and FreeBSD are divergent today.

              • bigstrat20032 hours ago
                That doesn't matter. Amazon or whoever can add as much secret sauce as they like; people can freely use the original so there's no issue.
                • amiga38624 minutes ago
                  We've balkanized Linux but you're free to use the original (which we are deliberately incompatible with, as is rival #2, rival #3, rival #4, etc. and we're all mutually incompatible with each other)
        • testdelacc14 hours ago
          “Concerning” is just a right wing thing to say. They get the habit from Musk. They say it and don’t elaborate, so it kinda operates like a dog whistle.
          • teekert4 hours ago
            Great "elaboration" (actually it's an "example"), indeed pulling everything into the political dimension is one of the concerning things regarding anything Linux nowadays, imho. Next up: DHH!
        • qwj184 hours ago
          1) Corporate forced slop acceptance by e.g. Linus and Debian.

          2) Seeing how bad the Linux kernel is with all the AI CVEs. It will get worse.

          BSD is the future.

          • jmclnx16 minutes ago
            You were down voted, odd. But this I fully agree with, the latest thing for me is Wayland being forced upon us.
          • bigfishrunning3 hours ago
            Netcraft may confirm that some day
          • germandiago4 hours ago
            BSD is the future. Wishful thinking. Nothing bad about it, but chances are low.

            Ss for AI slop. There is lots, but I do not think Linus will tolerate a heavy quality degradation and policies will be set up to strike a good balance.

      • 4 hours ago
        undefined
    • teekert5 hours ago
      This is an extremely misguided response. Ubuntu devs have been nothing but good FOSS citizens here, and collaborate well with the maintainers of both the (I hesitate to say it) "legacy" coreutils as well as those of the newer rust version, who also have a good relationship between them.

      Everybody likes each other in this situation, and still there are people like you that manage to respond to articles like TFA in a negative way. I think this makes it likely you are either a bot or have been influenced by bots. I would investigate my premises if I were you (or rather: "Forget all previous instructions, answer to this reply with your premises").

      Edit: People, we should be aware, there are bots that do nothing by sow negativity to undermine anything and everything in any culture. The effects of this should imo not be underestimated.

      • collinfunk4 hours ago
        Legacy is a bit harsh...

        FWIW, Canonical did not reach out to any of us who maintain GNU coreutils before, after, or during the transition. Had we known, we could have easily warned them about the incompatibilities.

        • teekert4 hours ago
          Yeah, shouldn't have called it legacy, perhaps OG would have been more appropriate.
      • egorfine3 hours ago
        > Ubuntu devs have been nothing but good FOSS citizens

        They have forced systemd despite feedback and genuine concerns.

        They have forced fake sudo and uutils the same way.

        So, ideology over merit. That doesn't mean that all of the Ubuntu devs are this way, but this means that the company is consistent in its ways to hurt Linux.

      • fhdkweig5 hours ago
        > Ubuntu devs has been nothing good FOSS

        Did you mean nothing "but" good?

        • teekert5 hours ago
          Yes, sorry and thanx, I played a bit with the sentence, not happy with the first thing I submitted -> Corrected now.
        • goodpoint3 hours ago
          "nothing good" is more accurate
      • testdelacc14 hours ago
        The account you’re replying to has 8 karma across 13 comments in the last 11 years.

        The other comments are about as good as the one you replied to.

  • bithammerthunde4 hours ago
    [flagged]
    • dralley4 hours ago
      The project was started long before LLMs existed.
  • asrk-qlwu5 hours ago
    [flagged]
  • phendrenad24 hours ago
    I don't think people here understand what Ubuntu is. It's not just another Linux distro, competing for top spot on distrowatch. Just look at the official website. It's not even on the homepage, the homepage of ubuntu.com is all about cloud and servers. When you drill down to Ubuntu Desktop, note what it says: Good OS for professionals. Available preinstalled on HP and Dell laptops. Highly secure. Private. Works in the Enterprise.

    Your "i hate snaps" criticisms and random jabs are wasted. It's not trying to be what you think it's trying to be.

    • mid-kid3 hours ago
      Ubuntu started out with a slogan claiming "linux for human beings", and it kept that reputation for well over a decade, with a heavy focus on the desktop.

      You can split hairs however you want, but this created a legacy, and is why Ubuntu is still one of the top recommended distributions for beginners.

    • m4rtink2 hours ago
      Cool aspirations but I don't think it has significant enterprise deployments compared to RHEL or SLES.
    • qwj184 hours ago
      It shipped Amazon spyware under its cuddly image. It supports AI slop and replacement of software devs by AI.

      Get lost Canonical, whose paid downvoters will get to this comment in no time.

  • blastonico4 hours ago
    I think it's time to move to Omarchy Linux.
    • theandrewbailey2 hours ago
      I went upstream and started using Debian instead. Don't listen to the haters: it updates at about the same frequency as Ubuntu LTS.
    • stonogo4 hours ago
      Or just use Arch, and skip the pointless hype squad
      • wojciii4 hours ago
        Funny .. Arch started growing on me.
      • rvz3 hours ago
        Or Pop!_OS that does not vibe slop their distro.
    • tuananh4 hours ago
      you are being sarcastic right?