`/bin/bash` can also be replaced by an arbitrary command to be run. Pass `-u root` to get a root shell inside the container.
To run an image other than `/var/lib/machines/xcache` additional options have to be passed on the command line since it won't read `/etc/systemd/nspawn/xcache.nspawn` then, e.g.
To get a shell in the **running** xcache container (as root, usually not nescessary)
```
nsenter --target=$(machinectl show --property Leader xcache | sed "s/^Leader=//") --all
```
inside, one can then switch to a shell as the xrootd user with e.g.
```
su -s /bin/bash xrootd
```
# Manually delete files from cache
This needs to be done inside the running container since it may need to clean up rucio metalink files from `dev/shm` which is currently a directory inside the container (not bind mounted).
So, as root do
```bash
nsenter --target=$(machinectl show --property Leader xcache | sed"s/^Leader=//")--all
```
And then
```bash
/var/local/xcache/rm_cached_file.sh <pattern>
# e.g. to delete all files starting with AOD.05536542
/var/local/xcache/rm_cached_file.sh AOD.05536542
# or all files in the mc15_13TeV scope
/var/local/xcache/rm_cached_file.sh mc15_13TeV
# xcache service unit
Show status
```bash
systemctl status systemd-nspawn@xcache
```
Restart
```bash
systemctl restart systemd-nspawn@xcache
```
Note: Logs are now in `/var/log/xcache` (not accessible via `journalctl` anymore)
# container commands
get a shell as xrootd user in a new temporary container using the xcache image
`/bin/bash` can also be replaced by an arbitrary command to be run. Pass `-u root` to get a root shell inside the container.
To run an image other than `/var/lib/machines/xcache` additional options have to be passed on the command line since it won't read `/etc/systemd/nspawn/xcache.nspawn` then, e.g.
To get a shell in the **running** xcache container (as root, usually not nescessary)
```
nsenter --target=$(machinectl show --property Leader xcache | sed "s/^Leader=//") --all
```
inside, one can then switch to a shell as the xrootd user with e.g.
```
su -s /bin/bash xrootd
```
# Manually delete files from cache
This needs to be done inside the running container since it may need to clean up rucio metalink files from `dev/shm` which is currently a directory inside the container (not bind mounted).
So, as root do
```bash
nsenter --target=$(machinectl show --property Leader xcache | sed"s/^Leader=//")--all
```
And then
```bash
/var/local/xcache/rm_cached_file.sh <pattern>
# e.g. to delete all files starting with AOD.05536542