I answered this question on Quora and figured that I might as well put the answer here, too:
The question: Are there any good resources (Books) to get started on a Linux (Debian) web server?
Here is my answer:
You should definitely get The Debian Administrator's Handbook.
Then there is everything on the Debian documentation page.
And the good thing about Debian is that most posts and other references that explain how to do something in Ubuntu will also work for Debian.
With that in mind, just about any book or site that helps you run any kind of Linux web server will help you with Debian.
O'Reilly is releasing a new version of The Apache Cookbook in two months. I highly recommend it.
This part is not on Quora:
I've been thinking for years that the technical publishing industry has thought of Linux as "done," and would continue to wind down their previously robust book schedules.
That pretty much happened, but seeing a new "Apache Cookbook," plus these two excellent titles from No Starch as well as a third, The Linux Programming Interface: A Linux and Unix System Programming Handbook, I see four very compelling Linux books that aren't woefully out of date.
They may not be focused on individual distros, but that is a strength, not a weakness.
Like any software upgrade, going from Fedora 22 to 23 has its wins and losses, however temporary in both cases.
In the "wins" category:
Yumex-DNF, the graphical package manager that isn't
GNOME Software now displays normally with the Adiwata dark theme that I've been using.
Hopefully there is improvement across the board in GTK3 application rendering with dark themes.
Fedora Magazine did a "How Do You Fedora" interview with Kevin Fenzi, longtime Fedora contributor and Red Hat employee who does so much for Xfce in the distribution.
Fedora 23 has been out for awhile and I haven't yet upgraded the HP Pavilion g2-2210us laptop I've been running and upgrading since I first installed F18 on it in mid-2013.
One reason I'm not upgrading, though under examination illogically, is that Fedora 22 is the best-running, most "stable" release I've ever run on this now-2 1/2-year-old hardware.
Librarian and Linux user and advocate Steven Ovadia of the excellent My Linux Setup blog is writing a book, "Learn Linux in a Month of Lunches," available now in "early-access" form from Manning and as a full book sometime in summer 2016.
Steven's blog is an excellent resource, and he's a pragmatic advocate for free software who does a lot of good.
And in contrast with the early 2000s, when there seemed to be new Linux/Unix books every month, we are in a persistent drought when it comes to how-to books about Linux and related technologies.
So I think "Learn Linux in a Month of Lunches" is just the thing new and prospective Linux uses need to help them make the move from Windows and OS X to the freedom and flexibility offered by Linux and its many distributions.
You can get the first six chapters of the book today in electronic form, with additional chapters delivered as they are ready. It sounds positively Dickensian (in the novels-delivered-as-monthly-parts way, not in the children-working-in-a-bootblacking-factory way, to be clear about it).
I stumbled upon the Fedora Developer Portal via a link from Reddit that actually first took me to the Deploy and Distribute page, which offers overviews on how to create RPM packages and create/use a COPR repository. Then there's the Tools page on DevAssistant, Vagrant and Docker, and the Languages & Databases page to help you get your development environment together.
And this only scratches the surface of what you can do in Fedora (and other Linux operating systems such as Debian and Ubuntu).
I guess I'm a developer in that I write code sometimes, and Fedora is a great way to get a whole lot of fairly up-to-date tools without having to chase down updates from individual projects.
Fedora is developer-centric. That's what people use it for. So if that "bias" works for you (and it does for me), Fedora is a great way to go.
Note on Fedora Workstation: While I do have all of the Fedora Workstation packages on my system and can run its GNOME 3 desktop environment whenever I get the urge, I find that the Xfce desktop environment fits better for what I do both professionally and otherwise with this computer. You can get Xfce on any Fedora system via the package manager, or install it directly with the Xfce Spin.
Like anybody who uses Linux (or any other system) for a length of time, I have applications and configurations that I prefer, though the Fedora Xfce Spin is a great place to start.
I had a problem in Fedora 22 where switching the audio between the laptop's own audio and HDMI audio using the PulseAudio Volume Control (aka
pavucontrol) mutes the audio out of HDMI until logging out and back in.
Now that problem has been solved. I don't know how. I don't know which package is responsible. But what was once an annoying bug is a problem no longer. Audio switching via the
pavucontrol is perfect.
That's what happens with Fedora 22. Sometimes you have a regression, or something never worked at all. Eventually there are improvements and bug fixes in any number of upstream packages, from the kernel on down, that stand a good chance of making those bugs go away and bringing needed (and wanted) improvements.
I'm getting tired of the constancy of keeping a Fedora Linux system up to date.
I've got plenty of bandwidth, and I often do appreciate all the newness that Fedora constantly brings to the table, even within releases.
But while there isn't much breakage, there is breakage. It usually gets fixed within two weeks to a month. And I know that "stable" distros can suffer with breakage for the entire period of the release.
But I'm weary of the sheer number of update in Fedora.
There is a way to make it ... less:
Just update less often. I tend to update daily. I could definitely get away with doing it weekly. And in the absence of major security issues I might even be able do it monthly.
Just not daily.
Briefly, for no good reason, my networking on the HP Pavilion g6 2210-us is broken after suspend/resume in Fedora 22.
It's not broken on live Fedora 22 and Xubuntu 15.04 images. It wasn't broken a week ago in the Fedora 22 system I've been upgrading since I started it with F18 in 2012.
I should probably just reinstall. And I probably will. Xubuntu on a new drive. Soon.
But until then, I need networking to return after a suspend/resume.
I've tried lots of things. Nothing has really worked. Closest is Wake-On-Lan issue with Realtek r8169: immediate resume after suspend from the Ubuntu Forums.
That script doesn't work.
But it did give me the idea to just run the
$ sudo modprobe -r r8169 $ sudo modprobe r8169
That works. The network comes back (both wired and wireless, even though this only addresses the wired Ethernet network).
The script in
/etc/pm/sleep.d seems to do nothing.
But running this script, which I titled
jump_start, does work:
#! /bin/bash modprobe -r r8169 modprobe r8169 exit 0
As a workaround, I created a launcher in Xfce, hooked it up to this two-line Bash script, and made an exception for it with
visudo so I could run it from the launcher.
Now I resume the laptop, click my "jumpstart the network" icon in the panel, and I'm ready to go.
It's less than automatic, but for now it works.
I have no idea why this happened, but since every new live system I try suspends and resumes with no problems at all, this hack will keep me going until I build my new Linux system on a new hard drive. (This is a "production" laptop, and I want to avoid the anxiety of having to rebuild and configure it under pressure, so I'm opting for a new hard drive that will be a single-boot Linux system.)
Update: I may be putting my scripts in the wrong place for automatic execution in a Systemd environment. Fedora users suggest
This is the script I put in
#!/bin/sh case "$1" in hibernate|suspend) systemctl stop NetworkManager.service modprobe -r r8169 ;; thaw|resume) modprobe r8169 systemctl start NetworkManager.service ;; esac
I'm not convinced that any of this (other than running my
jump_start script with the two
modprobe lines) is working.
Further update: A day later, I've been using WiFi only, and the network has been available after suspend/resume with no trouble. Not sure why.
Further further update: It's spotty. I'm taking the script out of
/usr/lib/systemd/system-sleep/ -- I don't think it's doing a damn thing. I still need my local script sometimes to jump-start the network.
Oct. 10 update: Things seem a lot better. I'm not 100 percent sure the problem has been solved. Maybe 80 percent.
I'm surprised that the Fedora documentation for working with GRUB 2 doesn't address rebuilding GRUB 2 entries for EFI booting.
They do address it, but they get it wrong.
grub2-mkconfig instructions for both BIOS and UEFI systems are the same. The problem is that this instruction will only build the BIOS entries. The UEFI entries won't be rebuilt.
Once you have your changes set in
/etc/default/grub, here is how to rebuild the GRUB 2 entries for BIOS and UEFI systems?
# grub2-mkconfig -o /boot/grub2/grub.cfg
# grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
It is perfectly OK to do both of these commands (using root, hence the
# prompt, or with
sudo), but you do need the one that matches your booting method (
BIOS for older systems, optionally
UEFI for newer systems).
The only reason I figured this out is because I poked around quite a bit when having dual-booting issues. Someone should fix the Fedora GRUB page. I'm a Fedora member and could probably make the fix myself, but I'm not 100 percent sure what I'm doing here is the absolute best method because my GRUB bootlines after doing this look different then they do when the system (either
dnf) does a kernel update.