file

How to idempotently change file attributes (e.g. immutable) with Ansible

I recently needed to force the /etc/resolv.conf file to be immutable on a set of CentOS servers, since the upstream provider's DHCP server was giving me a poorly-running set of default DNS servers, which was getting written to the resolv.conf file on every reboot.

There are a few different ways to force your own DNS servers (and override DHCP), but one of the simplest, at least for my use case, is to change the file attributes on /etc/resolv.conf to make the file immutable (unable to be overwritten, e.g. by the network service's DHCP on reboot).

Typically you would do this on the command line with:

chattr +i /etc/resolv.conf

And Ansible's file module has an attributes (alias: attr) parameter which allows the setting of attributes. For example, to set the attributes to i, you would use a task like:

Migrating 20,000 images, audio clips, and video clips into Drupal 8

tl;dr: If you want to skip the 'how-to' part and explanation, check out the pix_migrate example Drupal 8 migration module on GitHub.

For a couple years, I wanted to work on my first personal site migration into Drupal 8, for the last Drupal 6 site I had running on my servers. I've run a family photo/audio/video sharing website since 2009, and through the years it has accumulated hundreds of galleries, and over 20,000 media items.

Family Photos and Events website display - desktop and mobile
The home page of the Drupal 8 photo sharing website.

Connecting to a Windows File Share from a Mac

Here's a quickie: A lot of Mac users are on Windows networks, and need to sometimes connect to a shared folder on their network to share/retrieve documents with other Windows users. The easiest way to do this is to type in the path to the shared folder in the "Connect to Server..." dialog box. To do this, just:

  1. Switch to the Finder.
  2. Choose the "Connect to Server..." menu option in the Go menu (or press Command-K).
  3. Type in the path to your windows shared folder as follows:

smb://SERVER_NAME/share-name/folder-name

Hopefully, a dialog box will open up asking you to type in your username and password. If you need to find out the path of your windows shared folder, ask your network administrator. (note: private shared folders usually have a dollar sign after them—for example, smb://SERVER_NAME/share-name/folder-name$).

Dealing with Locked Files on a Mac

Quite often, I am asked one of two related questions: 1) "Why can't I delete this pesky file? My Mac says the file is locked, and I can't delete it unless I do something special!" or 2) "Gaa! I can't copy <insert name here> to my flash drive or another hard drive because it's locked—help!"

Locked Trash File - Hold down Option to Delete

Well, I will answer those questions, and much more, after the break.

Subscribe to RSS - file