0
submitted 2 weeks ago by kionite231@lemmy.ca to c/linux@lemmy.world

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 4 comments
sorted by: hot top controversial new old
[-] anon5621@lemmy.ml 0 points 2 weeks ago

I think the most effective way would be for u to start learning source code of apt,rpm,pacman to understand what they are doing and this is for what we are loving free and open source software then start implementing small basic things.

[-] kionite231@lemmy.ca 1 points 2 weeks ago

I have a very rough idea actually, I know that all the package managers keeps track of all the installed files and then removes it when user demands it apart from that I think the most difficult thing would be deps resolution to do so I might have to maybe implement recursion in c#.

[-] hades@programming.dev 0 points 2 weeks ago

I’ll cover item 1: start by writing a document, describing what you want to achieve: what do you mean by package, what do you mean by package manager, what features you want to have, what features you do not want to have, how you’re going to build and distribute the packages.

The reason why this is important is that a) this will be a useful reference for the implementation, b) you will learn a lot about the subject matter by trying to answer these questions, and c) you’ll learn to write such documents which is a very useful skill.

[-] kionite231@lemmy.ca 1 points 2 weeks ago

okay so here is my plan, I am going to just have a apt alternative written in c# which will only depends on CLR, ar, tar, and bash. I have made a Dockerfile which I can send to you if you want to see my progress. :)

I thought about it and I will create package manager which will be using .deb format since .deb format has a lot of documentation and it's relatively easier but as someone mentioned I might also try replacing slackware's package manager which will be much easier. so yeah I am not going to create another package format I will just use existing package format and I hope I will learn a lot about package management and c# :)

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

Linux

14428 readers
48 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