Linux tools and tips
Linux is our preferred operating system (however we also allow Apple Macs running macOS), and developers are highly encouraged to run PopOS!. Bear in mind it is assumed you are capable of self-support when running Linux - there is a #linux channel in Slack where one can exchange tips and tricks, but it is not yet intended as an official helpdesk resource.
The following is a guide to go over the basics of what is recommended for installation to get you up and running as quickly as possible.
- Not everything listed here may apply to your use case.
- This document will not cover the customization desired for your own personal configuration and setup of your desktop/window manager/etc.
- This guide is intended to be very generic. Be aware package names listed here may be named differently on your distro of choice.
- And as always, there are multiple ways to do many things, so if you have a better preference or are more familiar with another method, feel free to do so and contribute back to this document.
Basic Setup
Outside of the basics listed here for all laptop and desktop systems, there are a few additional steps required for Linux. Currently, the recommended laptop for Linux is a System76, Framework, or Thinkpad running PopOS!.
PopOS! utilizes Full Disk Encryption (FDE) out of the box, and is recommended. Additionally we have a PopOS setup script available at https://gitlab.com/brmbl-io/devbox
These instructions assume that setup, so for alternate choices in hardware or Linux distribution it is recommended you use this as a general guideline but adapt as needed.
General Applications
-
Enable the firewall with the following command:
$ sudo ufw enable
-
The prompt will respond with “Firewall is active and enabled on system startup”.
-
Some common applications to install include Google Chrome, Slack, and Zoom. Not all may be available via the normal Ubuntu repository, but you can download them via their respective sites with up-to-date installation instructions:
- Google Chrome
- Slack
- Zoom
- Checkout our Tools page for more potential items.
Security and Compliance
- Full Disk Encryption
- Comes Out of the box with PopOS, if you use the whole disk
- If you are running dual boot - see these instructions
- Install the Drata Agent
- Enable Updates
- PopOS / Ubuntu LTS AutomaticSecurityUpdates
sudo apt-get install unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades
- Drata help doc
- PopOS / Ubuntu LTS AutomaticSecurityUpdates
- Antivirus
sudo apt-get install clamav
- To run your first scan:
sudo clamscan --max-filesize=3999M --max-scansize=3999M --exclude-dir=/sys/* -i -r /
Engineering/coding tools
- It’s advised to have some sort of version manager for programming languages as
what’s supplied by repos is typically not sufficient
- asdf is pretty good, and usable across
many platforms
- This project includes a large amount of plugins to control various packages as well as languages that you’d need
- asdf is pretty good, and usable across
many platforms
- Other common packages - this list includes things that always appear to be
required no matter what realm of work you are in:
gcc
git
libereadline-dev
libssl-dev
make
- Abide by our security practices:
Production engineering
- As a Production Engineer, we’ll need some common tooling
- Other important packages:
gnupg2
pwgen
yubikey-personalization
- If you chose to utilize
asdf
as mentioned above, install a few plugins to prep yourself to be ready to install a few tools in the future:asdf plugin-add kubectl
asdf plugin-add golang
asdf plugin-add pulumi
- Then you’ll need to find out which version of the above needs to be installed
- Check the appropriate repos or ask someone e.g.
asdf install pulumi 3.13.0
Development
- If you chose to utilize
asdf
as mentioned above, install a few plugins to prep yourself to be ready to install a few tools in the future:asdf plugin-add erlang
asdf plugin-add elixir
asdf plugin-add nodejs
asdf plugin-add yarn
asdf plugin-add postgres
- Then you’ll need to find out which version of the above needs to be installed
- Check the appropriate repos or ask someone e.g.
asdf install erlang 24.0.6
.
Troubleshooting
Here’s a list of common situations that sometimes prove to be problematic on linux. You’ll want to ensure these components work as desired:
- Audio through various types of headphones
- Video capturing - Obs, Zoom video and Zoom screen sharing
- Display - screen resolution or video card related issues