DNF vs YUM – References

DNF has replaced YUM as the package manager for Fedora 22 onwards and future RHEL/CentOS releases. Luckily, DNF and YUM are very similar, particularly for commonly used commands, but there are some differences. Below are some links I’ve found handy for getting familiar with DNF.

  1. Changes in DNF CLI compared to Yum
    • Differences between Yum and DNF
  2. Yum to DNF Cheatsheet
    • Comparison of available features & plugins in Yum vs. DNF
  3. Features/DNF
    • DNF page on the Fedora wiki
  4. man dnf
    • The DNF man page

Enable TRIM support for SSDs on Linux

Most Linux distributions do not enable TRIM by default for a variety of reasons. To get the best long-term performance from your SSDs you’ll want to enable it manually. The best way to do this is to occassionally run the fstrim command on your SSD mount points.

Create a cron script that will run once a day:

sudo touch /etc/cron.daily/fstrim

Add the following to /etc/cron.daily/fstrim. In this example I have two mount points that I want to TRIM on my SSD, / and /home:

#!/bin/sh
LOG=/var/log/fstrim.log
echo [ $(date) ] $(fstrim -v / 2>&1) >> $LOG
echo [ $(date) ] $(fstrim -v /home 2>&1) >> $LOG

Save the file and then make it executable:

sudo chmod +x /etc/cron.daily/fstrim

It will run once a day and log to /var/log/fstrim.log:

[ Sat Oct 18 08:42:50 MDT 2014 ] /: 42.7 GiB (45856079872 bytes) trimmed
[ Sat Oct 18 08:42:51 MDT 2014 ] /home: 101.5 GiB (108950966272 bytes) trimmed

If you’re using LVM or disk encryption the instructions will be different. In that case I recommend you read through the relevant sections in the Arch wiki page for solid state drives:

https://wiki.archlinux.org/index.php/Solid_State_Drives

Setting kernel options in Fedora with a UEFI BIOS

If your computer is booting with a UEFI BIOS you may notice that changes you make to /etc/default/grub are not taking effect. This may be because you are generating grub.cfg in the wrong location.

Make your changes to /etc/default/grub (kernel options are set on the GRUB_CMDLINE_LINUX= line). Now regenerate your grub.cfg, both in the standard location:

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

And in the location that your UEFI BIOS will actually use:

sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

Alternatively, you can reference your grub config via the symbolic link in /etc. On UEFI:

sudo grub2-mkconfig -o /etc/grub2-efi.cfg

On non-EFI BIOS:

sudo grub2-mkconfig -o /etc/grub.cfg

Fix broken Helvetica fonts in Firefox

I’m running Firefox 32.0.2 on Fedora 21 and I noticed that sites that use Helvetica look very poorly. Here’s a side-by-side comparison of Firefox and Chrome showing the problem:

Helvetica on Firefox vs Chrome

I found a lot of complaints online regarding this issue, dating back several years, so I doubt this is a recent bug that will be fixed anytime soon. Luckily there’s a simple fix via Firefox’s userContent.css file.

Continue reading

Installing BitTorrent Sync on Linux

BitTorrent Sync is a powerful cross-platform file sharing application. Think of it as a decentralized version of Dropbox with no charges (it’s free), no limits, and no middle-man.

btsyncctl is a simple bash script I wrote to automate the process of starting, stopping, and checking the status of the BitTorrent Sync application (btsync) running on a Linux desktop or server. btsync runs as a non-privileged user and any user with adequate sudo privileges can use btsyncctl to pass it basic controls like start, stop, and status.

Continue reading