Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 31 additions & 4 deletions content/FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -203,13 +203,40 @@

### [How do I install software?](#software)
{: #software}
#### Check if software is already installed
> `rpm -qa | grep x`

1. Check if it's already installed using `rpm -qa | grep x`
2. For GUI packages, you can install the Flatpak if available using the Software store or using `flatpak install`. You can browse this [catalogue of Flatpaks](https://flathub.org) to discover the available packages.
3. For CLI packages, you can install from brew if available using `brew install`. You can browse this [catalogue of Homebrew Formulae](https://formulae.brew.sh) to discover the available formulae.
4. If a package isn't available via the other two options, or if a package requires greater system integration, `rpm-ostree install` can be used to layer rpms directly into your subsequent deployments.
#### Flatpak
[Flatpaks](https://flatpak.org/) are the recommended way to install GUI software in secureblue, with the exception of [browsers](https://github.com/RKNF404/chromium-hardening-guide/blob/main/pages/BROWSER_SELECTION.md#flatpak-linux).
We have a specific article on flatpaks [here](https://secureblue.dev/articles/flatpak)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Something like

An article on why we recommend Flatpaks is available here

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also needs a . at the end. Also, please use paragraphs instead of newlines between each sentence

There are a few recommended ujust scripts to run for flatpaks, those being:
> `ujust harden-flatpak` - Enables [Hardened-Malloc](https://github.com/GrapheneOS/hardened_malloc) for flatpaks
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove this, this is run automatically

> `ujust flatpak-permissions-lockdown` - Significantly reduces default permissions of flatpaks.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove this, this is covered in the flatpak article


You can add the unfiltered Flathub repo with `ujust enable-flathub-unfiltered`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should probably be moved to the flatpak article, with an addition to that article covering what verification is

##### Installing Flatpaks
###### Bazaar
[Bazaar](https://github.com/kolunmi/bazaar) is the app store that comes preinstalled with secureblue. It is forked for secureblue so we can make a few of our own changes and audit updates for security.
It by default filters EoL apps and certain apps with known security issues. Do note that the scope of this filter is limited and an app being unfiltered does not mean it is secure.
Bazaar has a curated tab for software that compliments secureblue.
###### Flatpak CLI
Flatpaks can by installed using the flatpak CLI tool, which is preinstalled with secureblue. Run `flatpak --help` for a list of commands and their usage. You can browse this [catalogue of Flatpaks](https://flathub.org) to discover the available packages.
#### CLI Package
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should just say Homebrew, since RPMs can also be cli packages

For CLI packages, you can install with [Homebrew](https://docs.brew.sh/Manpage) using `brew install <package>`. You can browse this [catalogue of Homebrew Formulae](https://formulae.brew.sh) to discover the available formulae.
#### RPM
If a package isn't available via Flatpak or Homebrew, or if a package requires greater system integration, `rpm-ostree install <package>` can be used to layer rpms directly into your subsequent deployments.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use paragraphs

Sometimes an additional repository needs to be added to install software.

Check notice on line 228 in content/FAQ.md

View check run for this annotation

Codacy Production / Codacy Static Code Analysis

content/FAQ.md#L228

Expected: 0 or 2; Actual: 1
In this case, run:
`mv /path/to/repo /etc/yum.repos.d/reponame`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should just be an example curl command directly into the repos dir

`rpm-ostree install <packagename>`
Beware, you are trusting a third party to not ship malware. Third party copr's are particularly hazardous.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

COPR is all caps as it's an acronym

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of "beware.." maybe:

Note that by adding a third party repo, you are trusting the owner of that repo. You should avoid adding third party repos.

Also, the warning should precede the information on how to add third party repos

#### Distro-specific format (e.g. .deb)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

package format*

secureblue comes with [distrobox](https://distrobox.it/). This means that formats that are specific to some other distro can often be ran via distrobox.
For example, you can create and ubuntu container with `distrobox assemble` and then when you have entered that container with `distrobox enter ubuntu` you can use .deb packages from within it.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we should be encouraging this... or maybe even documenting it. It's a horrible practice.

  • Executing stuff downloaded from the browser ❌
  • Local installs don't update ❌

This should be removed

#### AppImage
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be removed and any appimage info kept in the appimage faq entry

See [here](https://secureblue.dev/faq#appimage).
Note: Sometimes AppImages can work if you extract them with `/path/to/your/appimage --appimage-extract`, then enter the `squashfs-root` directory created and run whatever binary is in there.


### [How do I install my VPN?](#vpn)
{: #vpn}
Expand Down