File Storage#
The Package Manager service stores a variety of files containing software packages, metadata, and artifacts to function properly and speed up computation.
This storage can be configured in three different ways:
- Local storage: This is the default configuration and only works with single-node configurations
- Network File Systems (NFS): This enables Package Manager to function in a cluster and provides better redundancy
- AWS Simple Cloud Storage Service (S3): This also enables Package Manager to function in a cluster, provides better redundancy, and allows administrators to separate the computation from the storage-layer entirely
The only exceptions are the application program files, the application logging, and the access logging which will be written to local storage by default.
Program Files#
The Package Manager installers place all program files into the
/opt/rstudio-pm
directory.
You should not move any files in the /opt/rstudio-pm
hierarchy as this could break installations. Also, note that
any alterations will be overwritten by subsquent Package Manager upgrades.
The installer will also create the /var/log/rstudio/rstudio-pm
directory with 0775
permissions,
/var/lib/rstudio-pm
directory with 0701
permissions, and all other subdirectories
within /var/lib/rstudio-pm
(e.g., file storage and database directories) with 0700
permissions.
Configuration#
The Package Manager configuration file is stored at /etc/rstudio-pm/rstudio-pm.gcfg
and owned by rstudio-pm
with permissions
0640
. This configuration may need to contain passwords and other sensitive information. See
the appendix for more information on encrypting this information for better security.
Info
An example configuration file that includes all the available configuration
settings along with their defaults is installed at /etc/rstudio-pm/rstudio-pm.gcfg.defaults
.
Data Directory#
The Package Manager data directory contains information used by the server to manage repositories
including a SQLite
databases and an encryption key.
The default location for the Package Manager data directory is /var/lib/rstudio-pm
, which can be configured
by changing the DataDir
setting in your configuration file's Server
section. Here is an example of updating the
DataDir
to the point to the /mnt/rstudio-pm
directory:
[Server]
DataDir = /mnt/rstudio-pm
The Package Manager service user must have permissions to read, write, and create directories in
the data directory. See the appendix for more information on changing the
RunAs
user.
Warning
The SQLite database must exist on local storage. If the location for DataDir
is not
local storage but a networked location over NFS, configure the Dir
setting in the SQLite
section of your
server configuration file.
[Server]
DataDir = /mnt/rstudio-pm
[SQLite]
Dir = /var/lib/rstudio-pm/db
By default, the data directory stores several subdirectories used by Package Manager. These subdirectories include the cache
,
launcher
, metrics
, packages
, and other folders containing data used by Package Manager during execution. Although it is
not recommended, you can customize each of these storage directories individually. For more information on the
contents of these subdirectories or how to change the locations, see the appendix.
Data Destinations#
As mentioned above, Package Manager can use local, NFS, or S3 for file storage. While local storage is does not require additional configuration, NFS and S3 setups can be more involved are covered individually in the next pages.