Home Download Docs Code Community

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.
Website layout inspired by memcached.
Content by the authors.