One9twO

Below is my ‘quick fix’ (bandaid) solution to the following errors/exceptions.

The errors

Error: Execution of '/usr/bin/gem install --no-rdoc --no-ri cowsay' returned 1: ERROR:  While executing gem ... (OptionParser::InvalidOption)invalid option: --no-rdocDid you mean?  no-force

A reference article https://github.com/puphpet/puphpet/issues/2838

The ‘quick fix’

W.r.t. the reference article, I searched for the file ‘gem.rb’. Since ‘locate’ was not installed in the OS, I used the ‘find’ command to look for the file:

> find / -name 'gem.rb'
/usr/lib/ruby/vendor_ruby/puppet/provider/package/gem.rb

In the gem.rb file, I found the line throwing the exception and made the following modification:

#command << "--no-rdoc" << "--no-ri" << resource[:name]
command << "--no-document" << resource[:name]

--

--

I have just started using Azure cloud. As a frugal engineer, I will make full use of the 30 days free tier.

As I added more VMs to my free account, it finally hit the limit. On the Virtual Machines page, I could not find a button to downsize the ones I already created (even if I power the VM down). So I started deleting them to free up the limit.

But the following error persisted, even after I deleted every VM/refreshed the page:

X vCPUs are needed for this configuration, but only 0 vCPUs (of 4) remain in your subscription.

Eventually it turns out that there’s a need to click on the ‘Refresh quota’ link (a Blue hyperlink below the error), so it will get rid of the error.

--

--

Depending on which version of node exporter you are using, one of the following options will work.

Node exporter version go1.14.4

/usr/local/bin/node_exporter \
--collector.systemd \
--collector.system.unit-whitelist=(graylog-server|mongod|elasticsearch).service

Node exporter version go1.15.8

Since the option “collector.system.unit-whitelist” was deprecated, the syntax has changed to “collector.systemd.unit-include”.

Note that there might be a bug in this version such that it won’t work if you put an equal (=) sign before the value:

/usr/local/bin/node_exporter \
--collector.systemd \
--collector.systemd.unit-include "(graylog-server|mongod|elasticsearch).service"

--

--

PAM, or Linux Pluggable Authentication Modules

PAM stacks are not very easy to read. If you made a change but didn’t test it well, it might not work as expected. Or worse, you may end up exposing a vulnerability in your authentication mechanisms.

Here are my notes about the 3 terms in the PAM stack:

required: keeps going (despite success or failure).

sufficient: it stops (disregards what’s below it) when succeeds. It will only be successful if no previous ‘required’ items have failed.

requisite: if this fails, stops and return failure

--

--

One9twO

One9twO

A pragmatic programmer with a rubber duck.