Bind to ignore to ignore permission…

Pense-bête …

sudo apt-get install bindfs
mkdir ~/myUIDdiskFoo
sudo bindfs -u $(id -u) -g $(id -g) /media/diskFoo ~/myUIDdiskFoo


Monter en miroir un volume synology


Monter un volume, par exemple le /volume1 du synology, dans un répertoire de partage /volume1/volume1 afin de tout sauvegarder y compris les répertoires cachés ou cryptés.


  • créez un répertoire partagé nommé volume1
  • connectez-vous en ssh
  • ajoutez un fichier dans /usr/syno/etc.defaults/rc.d
  • le contenu du fichier:


/bin/mount -o bind /volume1 /volume1/volume1

/bin/umount /volume1/volume1

case "$1" in
start) start ;;
stop) stop ;;
*) ;;

  • chmod 755
  • start

voilà! Ca devrait même marcher au démarrage du nas…

Go get and Fork – script helper workaround


If you write some Golang code, from my point of view, one of biggest pitfall of this language is dependency management.

At the beginning, get library directly from git repository seems a good idea, but between package rules, versions, your pull requests, it becomes a mess quickly.

Some sources on this problem:
Article: Forking Golang repositories on GitHub and managing the import path

StackOverflow : Using forked package import in Go

My workaround

Then, why not automate this procedure ?
In your .bashrc add:

function gofork() {
  if [ $# -ne 2 ] || [ -z "$1" ] || [ -z "$2" ]; then
    echo 'Usage: gofork yourFork originalModule'
    echo 'Example: golang'
   echo "Go get fork $1 and replace $2 in GOPATH: $GOPATH"
   go get $1
   go get $2
   cd $GOPATH/src/$1
   remote1=$(git config --get remote.origin.url)
   cd $GOPATH/src/$2
   remote2=$(git config --get remote.origin.url)
   cd $currentDir
   rm -rf $GOPATH/src/$2
   mv $GOPATH/src/$1 $GOPATH/src/$2
   cd $GOPATH/src/$2
   git remote add their $remote2
   echo Now in $GOPATH/src/$2 origin remote is $remote1
   echo And in $GOPATH/src/$2 their remote is $remote2
   cd $currentDir

export -f gofork

This command do

  • a ‘go get’ on source and fork repositories
  • extract remote urls
  • replace source code by fork
  • add source remote to your fork repository in case you want pull from source

You can call this script from command line or directly from a script like this: