[{"data":1,"prerenderedAt":372},["ShallowReactive",2],{"project-20724858":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":34,"aspects":35,"strip":44,"post_text":46,"what":47,"said":63,"maker_in_thread":154,"shape":166,"grid":171,"attempts":333,"same_week":334,"maker_shows":38,"maker_hidden":364,"reader_version":365,"card":366},"20724858","distri","a Linux distribution to research fast package management","title","Show HN: distri: a Linux distribution to research fast package management","https:\u002F\u002Fmichael.stapelberg.ch\u002Fposts\u002F2019-08-17-introducing-distri\u002F","michael.stapelberg.ch","secure",1566060560,2019,92,66,528,2195,25,"notable","infrastructure","linux distribution","other",[24,21,25,26,27],"package management","squashfs","package store","fast installs","curious",0.006,{"positive":31,"neutral":32,"mixed":33,"critical":31},4,9,0,17,{"idea":36,"design":39,"performance":41,"execution":42,"docs":43},{"positive":37,"critical":38},3,2,{"positive":33,"critical":40},1,{"positive":33,"critical":33},{"positive":33,"critical":40},{"positive":40,"critical":33},[33,33,33,33,37,33,33,33,33,33,33,33,33,33,33,40,45,45,40,37,33,45,33,37,33,33,37,33,33,37,40,33,33,37,40,37,33,33,37,45],5,null,{"problem":48,"audience":46,"pricing":46,"motivation":55,"time_to_build":46,"stack":61,"openness":62,"stage":62,"team_size":62},{"value":49,"source":50,"evidence":51},"Linux package installs are slow and cause unrelated work during updates","maker",[52],{"id":53,"by":11,"text":54},"20728829","> Meanwhile, an installer\u002Fupdater knows exactly that something was changed, and what precisely it was―because the installer just done that. Except the distri installer does not…",{"value":56,"source":50,"evidence":57},"Research and show established distributions room for optimization",[58],{"id":59,"by":11,"text":60},"20726970","> While reading about the file system structure I was reminded a of Gobo Linux concepts - have you heard of it? Thanks for the pointer! Yeah, on twitter a few people have pointed…",[],"unknown",{"praise":64,"objections":88,"requests":109,"questions":114,"alternatives":133},[65,77],{"value":66,"source":67,"evidence":68},"Similar design to Haiku's packagefs package management","commenter",[69,73],{"id":70,"by":71,"text":72},"20726226","return_0e","This is very interesting as this is almost identical to how the Haiku Operating System does package management using their own packaging format (hpkg) which uses packagefs. [0]…",{"id":74,"by":75,"text":76},"20726176","waddlesplash","So ... this is more or less exactly how Haiku's package management system works. (It was designed in ~2008-2009, merged into the nightlies in 2013, and of course has been used by…",{"value":78,"source":67,"evidence":79},"Interesting approach to separating packages",[80,84],{"id":81,"by":82,"text":83},"20726232","Boulth","That's super interesting! I've been pondering better package management tools for a while as the current landscape seems stagnated. I hope some ideas from distri will make their…",{"id":85,"by":86,"text":87},"20726955","solarkraft","This is very nice and it comes as rather surprising to me that it doesn't exist yet in a \"serious\" Linux distribution. While reading about the file system structure I was…",[89,96,103],{"value":90,"source":67,"evidence":91},"Packages need recompiling to work under \u002Fro prefix",[92],{"id":93,"by":94,"text":95},"20727021","rurban","A package-specific \u002Fro prefix is annoying and will not persuade many. void linux uses standard paths, and still has a blazingly package manager, without the need for images being…",{"value":97,"source":67,"evidence":98},"No triggers means post-install work is shifted to runtime",[99],{"id":100,"by":101,"text":102},"20727485","aasasd","You might find this a problematic approach: - You make packages track more state―“stuff has changed”―and if there are no triggers, you can't even set a flag for the package's…",{"value":104,"source":50,"evidence":105},"Not suitable for all environments",[106],{"id":107,"by":11,"text":108},"20726870","Certainly distri isn’t suitable for all environments, but I think the general concept can be very resource-efficient. A few thoughts inline: > Sometimes you want a single…",[110],{"value":111,"source":67,"evidence":112},"Ideas adopted by mainstream distributions",[113],{"id":81,"by":82,"text":83},[115,125],{"value":116,"source":67,"evidence":117},"How font cache and post-install triggers are handled",[118,122],{"id":119,"by":120,"text":121},"20726159","viraptor","I'm curious about the no-triggers claim. There's stuff that happens after installing packages sometimes, which you can't put into an image. For example refreshing the font cache.…",{"id":123,"by":120,"text":124},"20726570","But in this case they're building an OS from existing components and not redesigning GUI libraries. The current reality is that you run fc-cache to update the cache. Hooks in…",{"value":126,"source":67,"evidence":127},"Performance compared with other package managers",[128,132],{"id":129,"by":130,"text":131},"20727869","drudru11","So is there any performance hit or gain when using SquashFS? I wonder why all the container folks aren’t using this.",{"id":93,"by":94,"text":95},[134,139,146,150],{"value":135,"source":67,"evidence":136},"Haiku packagefs",[137,138],{"id":70,"by":71,"text":72},{"id":74,"by":75,"text":76},{"value":140,"source":67,"evidence":141},"Nix",[142],{"id":143,"by":144,"text":145},"20726233","jchw","There’s been some related work lately, too. - Nix packages are still archives, but they do have separate roots, and use runpath to hardcode shared library paths into the Nix…",{"value":147,"source":67,"evidence":148},"GoboLinux",[149],{"id":85,"by":86,"text":87},{"value":151,"source":67,"evidence":152},"Void Linux XBPS",[153],{"id":93,"by":94,"text":95},{"comments":34,"answered":155,"key":156},11,[157,160,163],{"id":158,"text":159},"20726235","Thanks for sharing! Repeating my comment from the other thread for visibility: I learnt about the Haiku package management system when I had already developed distri for several…",{"id":161,"text":162},"20726228","Thanks for sharing, this sounds cool! I hadn’t heard of cvmfs, but we use a similar system at work, and it works really well.",{"id":164,"text":165},"20726502","Learn more at https:\u002F\u002Flanding.google.com\u002Fsre\u002Fworkbook\u002Fchapters\u002Feliminating-toil\u002F#case-study-2-decommissioning-filer-backed-home",{"commenters":167,"max_depth":168,"maker_replies":34,"first_comment_mins":169,"lifespan_hours":170},30,7,223,27,[172,174,177,179,181,184,186,188,190,192,196,197,199,201,205,207,210,212,215,218,221,224,227,230,233,236,237,241,244,245,247,250,253,255,258,260,261,263,267,270,272,275,278,280,283,286,287,289,292,294,297,299,300,303,306,308,310,312,314,316,318,321,323,325,327,330],[143,33,33,173,144,33],"commenter\u002Fneutral\u002Fnone",[175,33,33,173,176,33],"20727138","techntoke",[178,33,33,173,144,33],"20727593",[180,33,33,173,176,33],"20727680",[182,33,33,173,183,33],"20731598","paulcarroty",[185,33,33,173,176,33],"20732472",[187,33,33,173,144,33],"20732510",[70,40,37,189,71,33],"project\u002Fneutral\u002Fidea",[158,40,33,191,11,40],"maker\u002Fpositive\u002Fnone",[193,38,33,194,195,33],"20726217","other\u002Fneutral\u002Fidea","siscia",[161,38,33,191,11,40],[198,38,33,173,195,33],"20726477",[164,38,33,200,11,40],"maker\u002Fneutral\u002Fnone",[202,38,33,203,204,33],"20726860","other\u002Fneutral\u002Fnone","oneplane",[206,38,33,203,11,40],"20726915",[208,38,33,203,209,33],"20727905","Mathnerd314",[211,38,33,203,204,33],"20731799",[213,38,33,203,214,33],"20726554","marmaduke",[216,37,33,203,217,33],"20727161","codedokode",[219,37,33,173,220,33],"20728263","johnmarcus",[222,37,33,173,223,33],"20728271","CameronNemo",[225,37,33,173,226,33],"20729225","MayeulC",[228,37,33,229,217,33],"20732529","other\u002Fneutral\u002Fprivacy",[231,37,33,194,232,33],"20729006","antpls",[234,31,40,235,204,33],"20726839","project\u002Fcritical\u002Fidea",[107,31,33,189,11,40],[238,31,45,239,240,33],"20727068","project\u002Fpositive\u002Fidea","heavenlyhash",[242,31,33,243,11,40],"20727076","project\u002Fneutral\u002Fdesign",[81,45,45,239,82,33],[246,45,33,191,11,40],"20726242",[93,248,40,249,94,33],6,"project\u002Fcritical\u002Fdesign",[251,248,33,252,11,40],"20727054","project\u002Fneutral\u002Fperformance",[254,248,37,252,223,33],"20728289",[256,248,33,203,257,33],"20729509","hawski",[259,248,37,252,223,33],"20728301",[85,168,45,239,86,33],[59,168,33,262,11,40],"maker\u002Fneutral\u002Fidea",[264,265,33,194,266,33],"20729511",8,"elFarto",[268,32,37,189,269,33],"20726762","lone_haxx0r",[271,32,33,173,204,33],"20726790",[273,32,33,203,274,33],"20727121","stonogo",[276,32,33,173,277,33],"20727173","lmz",[279,32,33,194,223,33],"20728279",[119,281,37,282,120,33],10,"project\u002Fneutral\u002Fexecution",[284,281,33,285,11,40],"20726222","maker\u002Fneutral\u002Fexecution",[123,281,33,173,120,33],[288,281,33,285,11,40],"20726583",[290,281,37,282,291,33],"20726616","aflag",[293,281,33,285,11,40],"20726652",[295,281,33,296,75,33],"20726669","other\u002Fneutral\u002Fexecution",[100,281,40,298,101,33],"project\u002Fcritical\u002Fexecution",[53,281,33,285,11,40],[301,281,33,302,101,33],"20729234","commenter\u002Fneutral\u002Fexecution",[304,155,33,203,305,33],"20732300","compsciphd",[74,307,37,189,75,33],12,[309,307,33,262,11,40],"20726206",[311,307,40,235,75,33],"20726279",[313,307,33,285,11,40],"20726380",[315,307,37,252,75,33],"20726636",[317,307,33,285,11,40],"20726683",[319,307,33,173,320,33],"20726578","wolrah",[322,307,33,173,75,33],"20726615",[324,307,33,173,209,33],"20728142",[129,326,37,252,130,33],13,[328,326,33,329,11,40],"20728833","maker\u002Fneutral\u002Fperformance",[331,326,45,332,130,33],"20730201","maker\u002Fpositive\u002Fdocs",[],[335,340,345,350,354,359],{"id":336,"name":337,"points":338,"category":339},"20734956","Chart.xkcd",435,"dev_tools",{"id":341,"name":342,"points":343,"category":344},"20725311","Saag as a Service",303,"web_saas",{"id":346,"name":347,"points":348,"category":349},"20723366","ClojureScript pixel game engine with Blender live-reloading",285,"games",{"id":351,"name":352,"points":353,"category":339},"20737035","Crawlab",116,{"id":355,"name":356,"points":357,"category":358},"20704168","Homer",110,"languages",{"id":360,"name":361,"points":362,"category":363},"20738584","color.clss.hk",106,"creative",false,"v2",{"id":367,"name":5,"line":6,"ai":364,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":368,"top":18,"kw":369,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":370,"url":9,"mix":371,"praise":66,"objection":90,"sub":21},20724858,0.01,[24,21,25,26,27],"0000300000000001551305030030031003130035",[31,32,33,31],1794036579945]