mirror of
https://github.com/QubesOS/qubes-doc.git
synced 2024-12-26 07:49:34 -05:00
Merge branch 'thunderbird-removal-problems' of https://github.com/joshfleming/qubes-doc into joshfleming-thunderbird-removal-problems
This commit is contained in:
commit
b5dc036cc5
93
customization/removing-templatevm-packages.md
Normal file
93
customization/removing-templatevm-packages.md
Normal file
@ -0,0 +1,93 @@
|
||||
---
|
||||
layout: doc
|
||||
title: Removing TemplateVM Packages
|
||||
permalink: /doc/removing-templatevm-packages/
|
||||
---
|
||||
|
||||
# Removing TemplateVM Packages
|
||||
When removing any packages from a default TemplateVM, be sure to check what's being removed by `apt autoremove` or `dnf`.
|
||||
When removing certain packages, for instance Thunderbird, `apt` and `dnf` will attempt to remove many packages required by qubes for the template to function correctly under qubes.
|
||||
|
||||
As an example from a terminal in a TemplateVM:
|
||||
```shell_session
|
||||
$ sudo apt remove thunderbird
|
||||
Reading package lists... Done
|
||||
Building dependency tree
|
||||
Reading state information... Done
|
||||
The following packages were automatically installed and are no longer required:
|
||||
debugedit libjs-sphinxdoc libjs-underscore librpm3 librpmbuild3 librpmio3
|
||||
librpmsign3 libsqlite0 linux-headers-4.9.0-6-amd64
|
||||
linux-headers-4.9.0-6-common linux-image-4.9.0-6-amd64 python-backports-abc
|
||||
python-cffi-backend python-concurrent.futures python-croniter
|
||||
python-cryptography python-dateutil python-enum34 python-idna
|
||||
python-iniparse python-ipaddress python-jinja2 python-libxml2 python-lzma
|
||||
python-markupsafe python-msgpack python-openssl python-pyasn1 python-pycurl
|
||||
python-requests python-rpm python-singledispatch python-six python-sqlite
|
||||
python-sqlitecachec python-tornado python-tz python-urlgrabber
|
||||
python-urllib3 python-xpyb python-yaml qubes-core-agent-dom0-updates
|
||||
qubes-core-agent-passwordless-root qubes-gpg-split qubes-img-converter
|
||||
qubes-input-proxy-sender qubes-mgmt-salt-vm-connector qubes-pdf-converter
|
||||
qubes-usb-proxy rpm rpm-common rpm2cpio salt-common salt-ssh usbutils yum
|
||||
yum-utils
|
||||
Use 'sudo apt autoremove' to remove them.
|
||||
The following packages will be REMOVED:
|
||||
icedove lightning qubes-thunderbird qubes-vm-recommended thunderbird
|
||||
0 upgraded, 0 newly installed, 5 to remove and 0 not upgraded.
|
||||
After this operation, 151 MB disk space will be freed.
|
||||
Do you want to continue? [Y/n]
|
||||
```
|
||||
|
||||
Note all of the qubes packages are tracked as dependencies that will no longer be required. `apt remove` will only remove the packages listed, which is ok.
|
||||
If, however you also run `apt autoremove` the other qubes packages necessary for TemplateVMs will be removed.
|
||||
|
||||
If you'd still like to remove one of these applications without breaking your TemplateVM you have a couple different options.
|
||||
|
||||
## Removing Only Packages Not Needed for a Qubes TemplateVM
|
||||
|
||||
### Debian
|
||||
1. In your TemplateVM terminal run:
|
||||
```shell_session $ apt remove package-name```
|
||||
Note the packages "no longer required"
|
||||
2. If the list of "no longer required" packages includes anything beginning with `qubes-` or `salt-` make a note to yourself to **never** run `$ sudo apt autoremove` on this TemplateVM
|
||||
|
||||
**Recommended but optional:** Use `apt-mark` to make `apt autoremove` safe again.
|
||||
```shell_session
|
||||
$ sudo apt mark-manual package-name package-name
|
||||
```
|
||||
|
||||
Replace package-names with actual `qubes-*` and `salt-*` packages you'd like to retain.
|
||||
|
||||
For example, still in your TemplateVM terminal:
|
||||
```shell_session
|
||||
$ sudo apt-mark manual qubes-core-agent-dom0-updates qubes-core-agent-passwordless-root qubes-gpg-split qubes-img-converter qubes-input-proxy-sender qubes-mgmt-salt-vm-connector qubes-pdf-converter salt-common salt-ssh qubes-usb-proxy
|
||||
```
|
||||
|
||||
`$ apt autoremove` should now be safe to use.
|
||||
|
||||
### Fedora
|
||||
In your TemplateVM terminal, run:
|
||||
```shell_session
|
||||
$ dnf remove --noautoremove package-name
|
||||
```
|
||||
|
||||
|
||||
## Recovering A TemplateVM which you've already removed needed qubes-* packages
|
||||
If you've already removed packages, run `apt autoremove` and restarted your VM you've lost passwordless sudo access.
|
||||
You can login as root, open a terminal in dom0 and run:
|
||||
```shell_session
|
||||
$ qvm-run -u root vmname xterm
|
||||
```
|
||||
This will open an xterm terminal in the TemplateVM named `vmname`
|
||||
|
||||
Once you're logged in as root, reinstall these packages & their dependencies:
|
||||
|
||||
### Debian
|
||||
```shell_session
|
||||
$ sudo apt install qubes-core-agent-dom0-updates qubes-core-agent-passwordless-root qubes-gpg-split qubes-img-converter qubes-input-proxy-sender qubes-mgmt-salt-vm-connector qubes-pdf-converter salt-common salt-ssh
|
||||
```
|
||||
|
||||
### Fedora
|
||||
Similar to Debian for example (package names may vary):
|
||||
```shell_session
|
||||
$ sudo dnf install qubes-core-agent-dom0-updates qubes-core-agent-passwordless-root qubes-gpg-split qubes-img-converter qubes-input-proxy-sender qubes-mgmt-salt-vm-connector qubes-pdf-converter salt-common salt-ssh
|
||||
```
|
1
doc.md
1
doc.md
@ -158,6 +158,7 @@ Customization Guides
|
||||
* [Language Localization](/doc/language-localization/)
|
||||
* [Dark Theme in Dom0 and DomU](/doc/dark-theme/)
|
||||
* [How to make any file in a TemplateBasedVM persistent using bind-dirs](/doc/bind-dirs/)
|
||||
* [Safely Removing TemplateVM Packages (Example: Thunderbird)](/doc/removing-templatevm-packages/)
|
||||
|
||||
|
||||
Troubleshooting
|
||||
|
Loading…
Reference in New Issue
Block a user