# Misc Tips, TroubleShooting

## Sending commands to LXD containers

Use `bash -c "<command>"` for commands with wildcards. i.e.

    for machine in $(lxc list | grep RUNNING | awk '{print $2}') ;\
        do lxc exec "${machine}" -- bash -c "cat /etc/apt/apt.conf.d/02*" ; done

fish shell is actually a little bit cleaner

    for machine in (lxc list | grep RUNNING | awk '{print $2}') ; \
        lxc exec $machine -- bash -c "cat /etc/apt/apt.conf.d/02*" ; end

    # change all their time zones
    for machine in (lxc list | grep RUNNING | awk '{print $2}') ; \
        lxc exec $machine -- bash -c "timedatectl set-timezone America/Los_Angeles" ; end
    # check to see if anyone is logged in before rebooting
    for machine in (lxc list | grep RUNNING | awk '{print $2}') ; echo ; \
        echo $machine ; lxc exec $machine -- bash -c "who" ; end

## Move LXD container to another Server

    # stop the container
    lxc stop <container name>
    # publish image of container to local *storage*
    lxc publish <container name> --alias <image name>
    # export the new image to tarball
    lxc image export <image name>
    # scp tarball to other box
    scp a4762b114fecee2e2bc227b9032405642c5286c02009babef7953e011e597bfe.tar.gz server:
    # on other box import the image
    lxc image import <tarball file name> --alias <image name>
    # launch container
    lxc launch <image name> <container name>
    # assign profile to container
    lxc profile assign <container name> <profile name>

Shell into the new running container, update any network interface configurations that you need to, and then restart the container.

See also LXD Container Home Server Networking For Dummies

## Ubuntu-Mate-Welcome-Center doesn't work for some repos

Perhaps your apt-cacher-ng proxy server isn't configured to allow traffic through from https sources. Make sure the following is uncommented. This applies for all PPA's that use https.

    # /etc/apt-cacher-ng/acng.conf
    PassThroughPattern: .*

## Quitting Mosh

The key combination to quit mosh it `ctrl+6+.` Also, WTF?

## Updating Caddy Server

You update Caddy Server with a new Go Binary, try to restart caddy.service, and it fails. Maybe you get an error message such as the following `listen tcp :80: bind: permission denied` and/or `listen tcp :443: bind: permission denied`.
Fix this error with the following command `sudo setcap CAP_NET_BIND_SERVICE=+eip /path/to/caddy`

## ZFS Disc Error Disc Identification

You created a zpool using /dev/disk-by-id to specify the devices, and now you want to figure out which disks are causing you trouble. For instance, your system log, `journalctl | grep -i fail` shows read error on /dev/sdc.

You can use `lsblk -o MODEL,SERIAL` to match the information generated by `zpool status`.

## Byobu/Tmux copy mode

1. Enter Copy Mode

   - in byobu use key `F7`
   - in tmux use `<prefix> [`

2. Navigate around less/copy buffer using `h,j,k,l`

3. Select text

   - `<space>` begins text selection
   - move cursor around using `h,j,k,l`
   - `<enter>` ends text selection

4. Paste selection in any tmux/byobu window

   - in byobu use `alt+insert`
   - in tmux use `<prefix> ]`

« Previous Next »