Late AF and the book might be finished by now but an interesting post so I wanted to add my $0.02:
Feedback on the structure and content
Underlined additions are suggested chapters. Bullet point are sub-chapters
Part 1: Introduction to Debian
History and Philosophy of Debian
Advantages of using Debian
- Expecting friction & setbacks when using a new OS: Reminding users that they have likely been using a different OS for years, and that it'll take time to reach the same level of competency on Debian and that's OK
Understanding Different Debian Releases (Stable, Testing, Unstable)
Desktop environments
Part 2: Getting Started with Debian
Downloading the installer image
Installation process (graphical and command-line)
Basic system configuration (keyboard, language, etc.)
Part 3: Essential Tools and Techniques
Understanding permissions
Navigating the file system with the terminal
- Deep dive into using man when using the terminal
Text editor (nano)
Package management with apt
- Here, the `hello` package might be a useful tool. It's basically the `hello-world` of apt
User and group management and maintenance
Troubleshooting tips
- How to determine what is the important part of the output of an error message to search for results faster (and also, to generally slow down and read what the error is instead of panicking)
- The importance of backing up early & often (especially when you're new and most liable to break stuff).
- Pros & Cons of using LLMs when you can't find a solution online
Part 4: Resources and Community
Official Debian Documentation
Online forum
Contributing to Debian
Supplementing Apt
- Benefits/Drawbacks of Flatpak/AppImages (and to a lesser degree Snap)
- GitHub
- Backports
- Adding to $PATH & Proper install locations (~/.local/bin, etc)
Appendix
Recommendations for existing resources: I will try to look for the newest and best books, manuals and websites. What books, manuals or websites do you suggest?
ArchWiki is obvious, but I wanted to put into words why I prefer their articles to official Debian articles: Both sites have varying degrees of informality but ArchWiki manage to be concise where Debian often feels like reading multiple tangentially-related paragraphs to get a simple answer.
My ability to grow w/ Linux was based on two Udemy Courses I purchased for around $10/each: A
general Linux course & a follow-up one on
bash scripting. Both really gave me a solid footing and I revisit my notes when i want to do more intermediate things w/i a terminal. With that said, they were only helpful when everything was going right. These skills were irrelevant when my computer booted to a black screen (driver issues) or kept crashing after waking from hibernation (KDE/X11 issues) or the simple cron job that I wrote never executes (env variables created by cron issues).
General suggestions: Any advice you have for making the book informative, engaging, and helpful would be greatly appreciated.
One overarching frustration I had when starting w/ Debian was that the official documentation goes out of its way to be unopinionated in places that harm newbies and serve no benefit to experienced users. For example the
official install page lists 9 options that are all equal in terms of prominence, even though my uneducated guess is that +50% of Debian users (and +90% of newbies) will use amd64. Technically it's listed first but in 2024, the most common answer is typically made more obvious from a UI-perspective...
I've been w/ Debian for over a year, but I still remember that I had to pause a video tutorial I was following and spend a few hours trying to determine the difference in architectures (or what netinst was or why cdrom was so prominently featured, etc) for the first few hours of my journey. It was hard just finding the right file to install and I ended up finding an install script on GitHub which is the least secure method available. I think that had the install guide been more opinionated (based on what is most common for new users) instead of trying to appear as objective as possible, I would've had a much smoother experience. I appreciate that Debian supports so many architectures and install methods, but IMO it would be more advantageous to make clear what is the most likely install method for the majority of users. I enjoy the fact that Debian is unopinionated software, but when it comes to documentation, new users need opinionated hand-holding that clears the path of as many obstacles as possible.
Someone experienced enough to write a book on Debian undoubtedly has an opinionated view of how Debian should be used, but on the other hand, ironically that too can be a stumbling block as well in a different way... One question that I hope you'll continually ask yourself when writing the book is whether you would have the same beliefs if you had started learning Linux today as opposed to +10 years ago? I do think that excluding GitHub/Flatpaks/backports/non-Debian repos/etc are understandable from your perspective because those tools were not utilized/available to you when you started your Linux journey and so they seem unnecessary and outside of Debian. With that said, that is also not the world that new Linux users are growing up in. These modern tools standardize software in a way that equalizes and modernizes the Linux OS experience without sacrificing stability (when used properly) and could very well be a large contributing factor for new users taking the plunge into Linux/Debian.
IMO, teaching is analogous to child-rearing in that you want to artfully nudge learners in the direction that your experience has taught you is best, while also accepting the possibility that their experiences and interests may not completely align with yours. There's a balance to strike and you definitely don't want to feel like you're writing a book that goes against what you believe in, but to fall back on the analogy, the kids are going to gain experience regardless, and if not from you, then from other (inexperienced) kids.
Then again, I could be off-base and users that would rather read a book on Debian are also the type of users uninterested in modern (by Linux standards) tools.
Kudos for writing the book either way and I'll buy a copy either way.