Pense-bête …
sudo apt-get install bindfs
mkdir ~/myUIDdiskFoo
sudo bindfs -u $(id -u) -g $(id -g) /media/diskFoo ~/myUIDdiskFoo
Pense-bête …
sudo apt-get install bindfs
mkdir ~/myUIDdiskFoo
sudo bindfs -u $(id -u) -g $(id -g) /media/diskFoo ~/myUIDdiskFoo
Execute this script in .xprofile to fix crazy resolution on ubuntu 14 with 2 screen connected.
#!/bin/sh # HDMI-0 == external screen # LVDS1 is laptop screen #check if HDMI-0 is connected if (xrandr | grep "HDMI-0 connected" > /dev/null); then exec echo "HDMI-0 is connected!" & xrandr --output LVDS1 --off xrandr --output HDMI-0 --primary --mode 1920x1080 else exec echo "CRT1 isn't connected!" & xrandr --output LVDS1 --primary --mode 1920x1080 fi #if [ "$1" == "dual" ]; then # xrandr --output LVDS1 --mode 1920x1080 --below HDMI-0 #fi
Il vous faut créer un fichier .mount normalisé.
Le nom du fichier, par convention, doit correspondre au path du point de montage, par exemple à /mnt/nfs correspond le fichier mnt-nfs.mount
Cette unit devant être gérer par le système, il doit se trouver dans /etc/systemd/system .
vi /etc/systemd/system/mnt-nfs.mount
[Unit] Description = nfs mount core to host [Mount] What = votreserveurnfs:/votrepartage/ Where = /mnt/nfs Type = nfs Options = vers=3,nolock,udp [Install] WantedBy = multi-user.target
testez
systemctl daemon-reload systemctl start mnt-nfs.mount systemctl status mnt-nfs.mount
Malheureusement systemd ne donne pas accès à ses variables (par exemple %H) dans la requête nfs créée.
Si vous avez besoins par exemple d’avoir un partage propre à chaque machine, pour contourner cette limitation vous pouvez passer par des variables d’environnement comme ceci:
[Unit] Description = nfs mount core to host [Mount] What = votreserveurnfs:/votrepartage/${HOST} Environment="HOST=%H" Where = /mnt/nfs Type = nfs Options = vers=3,nolock,udp [Install] WantedBy = multi-user.target
automount suit la même convention que mount.
Il vous faut créer un fichier .automount normalisé.
Le nom du fichier, par convention, doit correspondre au path du point de montage, par exemple à /mnt/nfs correspond le fichier mnt-nfs.automount
Cette unit devant être gérer par le système, il doit se trouver dans /etc/systemd/system .
[Unit] Description = nfs auto mount core to host [Automount] Where = /mnt/nfs [Install] WantedBy=multi-user.target
Votre unit .automount n’ayant pas de dépendant, il ne s’executera pas au démarrage de vote système.
Si par exemple, vous avez besoins de ce point de montage pour docker, vous pouvez modifier votre unit docker.
Dans le cas d’un système CoreOS, modifier /etc/systemd/system/early-docker.service comme suit.
Regarder le paramètre Requires
Tips 2 : Changer le home de Docker sur support nfs : modifier ExecStart en ajoutant –graph et –storage-driver.
[Unit] Description=Early Docker Application Container Engine Documentation=http://docs.docker.com After=early-docker.socket Requires=early-docker.socket mnt-nfs.automount mnt-nfs.mount [Service] Environment=TMPDIR=/var/tmp MountFlags=slave LimitNOFILE=1048576 LimitNPROC=1048576 ExecStartPre=-/usr/bin/mkdir -p /mnt/nfs/early ExecStart=/usr/lib/coreos/dockerd daemon --host=fd:// --bridge=none --iptables=false --ip-masq=false --graph=/mnt/nfs/early --pidfile=/var/run/early-docker.pid --storage-driver=overlay $DOCKER_OPTS [Install] WantedBy=early-docker.target
Et l’on prend les points ci-dessus pour les mettre dans un user-data coreOS…
- name: mnt-nfs.mount content: | [Unit] Description = nfs mount core to host [Mount] What = votreserveurnfs:/votrepartage/${HOST} Environment="HOST=%H" Where = /mnt/nfs Type = nfs Options = vers=3,nolock,udp [Install] WantedBy = multi-user.target - name: mnt-nfs.automount content: | [Unit] Description = nfs auto mount core to host [Automount] Where = /mnt/nfs [Install] WantedBy=multi-user.target - name: docker.service content: | [Unit] Description=Docker Application Container Engine Documentation=http://docs.docker.com After=docker.socket early-docker.target network.target Requires=docker.socket early-docker.target [Service] EnvironmentFile=-/run/flannel_docker_opts.env MountFlags=slave LimitNOFILE=1048576 LimitNPROC=1048576 ExecStartPre=-/usr/bin/mkdir -p /mnt/nfs/docker ExecStart=/usr/lib/coreos/dockerd daemon --host=fd:// $DOCKER_OPTS $DOCKER_OPT_BIP $DOCKER_OPT_MTU $DOCKER_OPT_IPMASQ --graph=/mnt/nfs/docker --storage-driver=overlay [Install] WantedBy=multi-user.target command: restart - name: early-docker.service content: | [Unit] Description=Early Docker Application Container Engine Documentation=http://docs.docker.com After=early-docker.socket Requires=early-docker.socket mnt-nfs.automount mnt-nfs.mount [Service] Environment=TMPDIR=/var/tmp MountFlags=slave LimitNOFILE=1048576 LimitNPROC=1048576 ExecStartPre=-/usr/bin/mkdir -p /mnt/nfs/early ExecStart=/usr/lib/coreos/dockerd daemon --host=fd:// --bridge=none --iptables=false --ip-masq=false --graph=/mnt/nfs/early --pidfile=/var/run/early-docker.pid --storage-driver=overlay $DOCKER_OPTS [Install] WantedBy=early-docker.target
pour que ces units s’éxecutent au démarrage vous pouvez jouer avec leur flags
runtime: true
enable: true