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
  5. man yum2dnf
    • man page for migrating from Yum to DNF

Enable TRIM 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 easiest way to do this is to enable systemd’s fstrim timer which will trim your SSDs weekly:

sudo systemctl enable fstrim.timer

Alternatively, you can setup a cronjob to occasionally run fstrim on your SSD’s mount points and log the results.

Create a cron script that will run once a week:

sudo touch /etc/cron.weekly/fstrim

Add the following to /etc/cron.weekly/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) ] $(/sbin/fstrim -v / 2>&1) >> $LOG
echo [ $(date) ] $(/sbin/fstrim -v /home 2>&1) >> $LOG

Save the file and then make it executable:

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

It will run once a week 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.

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 in the standard non-EFI location:

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

And/or in the EFI location:

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-UEFI BIOS:

sudo grub2-mkconfig -o /etc/grub2.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