this post was submitted on 05 Dec 2025
0 points (50.0% liked)

Linux

14449 readers
15 users here now

Welcome to c/linux!

Welcome to our thriving Linux community! Whether you're a seasoned Linux enthusiast or just starting your journey, we're excited to have you here. Explore, learn, and collaborate with like-minded individuals who share a passion for open-source software and the endless possibilities it offers. Together, let's dive into the world of Linux and embrace the power of freedom, customization, and innovation. Enjoy your stay and feel free to join the vibrant discussions that await you!

Rules:

  1. Stay on topic: Posts and discussions should be related to Linux, open source software, and related technologies.

  2. Be respectful: Treat fellow community members with respect and courtesy.

  3. Quality over quantity: Share informative and thought-provoking content.

  4. No spam or self-promotion: Avoid excessive self-promotion or spamming.

  5. No NSFW adult content

  6. Follow general lemmy guidelines.

founded 2 years ago
MODERATORS
 

Hello o/

I would like to develop a package manager in c# to expand my knowledge about the language and more understand how package managers put together entire system.

so here are my questions:

  1. where should I start?
  2. do I invent my own pkg format or do I use pre built packages like deb or rpm? I think the later one will be more easier
  3. how do I setup my dev environment I am on Ubuntu and has installed VS Code and dotnet sdk

sorry it these questions feel too naive but I really think I can do this!

Thanks in advance!

top 1 comments
sorted by: hot top controversial new old
[–] just_another_person@lemmy.world 2 points 2 weeks ago

It might be better to first learn about existing package managers: build some packages for rpm, apt, pac...etc.

The fundamentals would be easier to understand from there to figure out what you actually want to write and why.

At their core, packages are simply just bundles of flat files, and stages of scripts that get executed. That's it. Like a zip file with scripts.

Package Managers on the other hand are just clients that deal with the metadata and contents of packages and decide what to do with them. They go way deeper.