Skip to content
Kev++ edited this page May 31, 2017 · 7 revisions

Build

$ git clone https://github.com/aliyun/ossfs.git
$ cd ossfs
$ ./autogen.sh
$ ./configure --prefix=/usr
$ make install DESTDIR=/tmp/ossfs_install

Config

$ cd /tmp/ossfs_install
$ mkdir -p etc/default lib/systemd/system/
$ vi etc/default/ossfs
$ vi etc/passwd-ossfs
$ chmod 600 etc/passwd-ossfs
$ vi lib/systemd/system/ossfs.service
$ tree /tmp/ossfs_install
/tmp/ossfs_install
├── etc
│   ├── default
│   │   └── ossfs
│   └── passwd-ossfs
├── lib
│   └── systemd
│       └── system
│           └── ossfs.service
└── usr
    ├── bin
    │   └── ossfs
    └── share
        └── man
            └── man1
                └── ossfs.1

Package

$ apt-get install ruby ruby-dev rubygems build-essential
$ gem install --no-ri --no-rdoc fpm
$ fpm -s dir -t deb -n ossfs -v 1.80.1 -a armhf -C /tmp/ossfs_install -p ossfs_VERSION-1_ARCH.deb -d "fuse >= 2.8.4" -d "libcurl3-gnutls >= 7.0" -d "libxml2 >= 2.6" -d "libssl1.0.0 >= 1.0.1"

/etc/default/ossfs

ENDPOINT=https://oss-cn-shanghai.aliyuncs.com
BUCKET=your_bucket_name
TARGET=/mnt/oss
EXTRA_OPTS="-o allow_other"

More options can be added:

For example: EXTRA_OPTS="-o allow_other -o mp_umask=022 -o uid=1000 -o gid=1000"

/etc/passwd-ossfs

Bucket_Name:Access_Key_ID:Access_Key_Secret

/lib/systemd/system/ossfs.service

[Unit]
Description=Mount Aliyun OSS Bucket
After=network.target

[Service]
EnvironmentFile=/etc/default/ossfs
ExecStartPre=/bin/mkdir -p ${TARGET}
ExecStart=/usr/bin/ossfs -f ${BUCKET} ${TARGET} -o url=${ENDPOINT} $EXTRA_OPTS
ExecStop=/bin/fusermount -u ${TARGET}
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target
Clone this wiki locally