สมมติว่าคุณใช้https://www.dropbox.com/download?plat=lnx.x86และไม่ใช่แพ็คเกจ .deb วิธีที่เป็นไปได้ในการทำให้ตัวปล่อยรอบ็อกซ์รอลจะมาพร้อมกับเชลล์สคริปต์ ที่จริงแล้วฉันคิดว่าคุณใช้แพ็คเกจ. deb เนื่องจากคุณบอกว่า "แพตช์ตัวจัดการไฟล์" อย่างไรก็ตามสคริปต์ด้านล่างควรทำงานโดยไม่คำนึงถึงวิธีการติดตั้ง
เท่าที่ฉันเห็นmountall(8)
มีการเรียกใช้เป็น "งานพุ่งพรวด" ใน Ubuntu (ไม่ว่าจะเป็นอะไร) มันรันจนกระทั่งระบบไฟล์ทั้งหมด (รวมถึง NFS) ถูกเมาท์ เราสามารถตรวจสอบว่ามันกำลังทำงานหรือเริ่มต้น เมื่อได้รับสัญญาณUSR1โดยกระบวนการนั้นระบบ NFS ทั้งหมดจะถูกเมาท์ หากการติดตั้งสำเร็จแล้วmountall
จะตาย สคริปต์นี้จะต้องทำงานเป็นผู้ใช้ขั้นสูง
/ usr / local / bin / ดรอปบ็อกรอ-mount
#!/bin/sh
runas={$1:-root}
mpid=`pidof mountall`
if [ -z "$mpid" ] ; then
mountall --daemon --no-events -q
mpid=`pidof mountall`
else
echo mountall is running, going to notify it to mount nfs shares
fi
kill -USR1 $mpid # see /etc/init/mountall-net.conf and mountall(8)
mpid=`pidof mountall`
while [ -n "$mpid" ]; do
echo waiting for all mounts
sleep 30
kill -USR1 $mpid # see /etc/init/mountall-net.conf and mountall(8)
sleep 1
mpid=`pidof mountall`
done
echo should be safe to run dropbox now
exec su $runas -c /home/$runas/.dropbox-dist/dropboxd
หน้าคนแนะนำไม่พึ่งพาการทำงานของmountall
แต่ให้ลักษณะของ"การแก้ปัญหาชั่วคราว"ฉันคิดว่าคุณสามารถใช้สิ่งนี้ในบางครั้ง
และสำหรับการรวมเข้ากับงานเริ่มต้นของ Ubuntu:
/etc/init/dropbox.conf
# based on ssh.conf
description "Dropbox daemon"
env RUNAS=root # use /etc/init/dropbox.override
#start on stopped mountall-net RESULT=ok
start on remote-filesystems
stop on runlevel [!2345]
respawn
respawn limit 10 5
umask 022
# 'sshd -D' leaks stderr and confuses things in conjunction with 'console log'
console none
pre-start script
test -x /usr/local/bin/dropbox-wait-mount || { stop; exit 0; }
end script
# if you used to set SSHD_OPTS in /etc/default/ssh, you can change the
# 'exec' line here instead
exec /usr/local/bin/dropbox-wait-mount $RUNAS || { stop; exit 0; }
/etc/init/dropbox.override
env RUNAS=jaroslav
ตัวอย่างนี้ควรรันหลังจากติดตั้งระบบไฟล์เครือข่ายทั้งหมดแล้วเท่านั้น แต่ยังสามารถเรียกใช้ได้ด้วยตนเอง:
start dropbox #RUNAS=jaroslav