Installation
go get perkeep.org/cmd/pk-mount
Overview
The pk-mount tool mounts a root directory blob onto the given mountpoint. The blobref can be given directly or through a share blob URL. If no root blobref is given, an automatic root is created instead.
Mounting
Execute the following commands in a shell to mount a Perkeep directory in your home directory.
mkdir ~/Perkeep pk-mount ~/Perkeep cd ~/Perkeep ls -C1 WELCOME.txt at date recent roots sha1-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx sha224-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx tag
Creating a Root Node
Files and directories are anchored in a root node. You can view and create Root nodes in the roots directory. For example to create a Photos root node execute the following commands:
cd ~/Perkeep mkdir roots/Photos cd roots/Photos cp -R ~/Photos/* .
Accessing Recent Items
A list of recently accessed items are visible in the recent directory.
cd ~/Perkeep/recent ls -C1 IMG_20171104_193001.jpg IMG_20171104_205408_thumbnail.jpg IMG_20171208_070038.jpg test.txt
Accessing Content at a specific Point in Time
The at directory contains full instructions in the README.txt file contained within.
Accessing a specific Node
You can directly access a specific directory by using the full sha224 identifier.
cd ~/Perkeep cd sha224-xxx # where xxx is the full 56 character identifier
Understanding the schema
As there are various ways to model parent/child relationships in Perkeep, and as they are represented differently in the FUSE interface and in the web user interface, here is a summary of the schema used by the FUSE interface.
A directory is a permanode with a camliRoot set to the name of the directory, or a permanode with a camliNodeType set to the "directory" value, and its title set to the name of the directory.
A file is a permanode with a camliContent set to the blobRef of a file schema (a fileRef).
The child of a directory can be, as expected, another directory or file, as defined above.
Permanode X, representing the file or directory "foo", is the child of permanode Y, representing the directory "bar", if on permanode Y the attribute "camliPath:foo" is set with the blobRef of permanode X as value.
Full Command Line Usage
pk-mount [opts] [<mountpoint> [<root-blobref>|<share URL>|<root-name>]] -debug print debugging messages. -help print usage -legal show licenses -open Open a GUI window -secret-keyring string GnuPG secret keyring file to use. -server string Perkeep server prefix. If blank, the default from the "server" field of the default config is used. Acceptable forms: https://you.example.com, example.com:1345 (https assumed), or http://you.example.com/alt-root -term Open a terminal window. Doesn't shut down when exited. Mostly for demos. -verbose extra debug logging -version show version -xterm Run an xterm in the mounted directory. Shut down when xterm ends.