Flashybrid: Porovnání verzí
Z Wiki UnArt Slavičín
Skočit na navigaciSkočit na vyhledávání
Bez shrnutí editace |
Bez shrnutí editace |
||
Řádek 3: | Řádek 3: | ||
apt-get install flashybrid | apt-get install flashybrid | ||
Upravte | Upravte soubor /etc/init.d/flashybrid (zdroj https://dl.dropboxusercontent.com/u/1490505/HP-T5730/etc/init.d/flashybrid): | ||
#!/bin/sh | |||
# Set up/shutdown the flashybrid system, including the ramdisk and partial | |||
# directory bind mounts. This needs to run at the part of system bootup that | |||
# mounts all the disks. It should also run at shutdown right before | |||
# filesystems are unmounted. | |||
# Licensed under the terms of GPL v2 | |||
# Diego Iastrubni <diego.iastrubni@xorcom.com> 2006 | |||
# Joey Hess <joeyh@debian.org> 2002-2006 | |||
# Thibaut VARENE <varenet@debian.org> 2014 | |||
# Modified by Darkwing to try get it working under Debian 8 with systemd | |||
# -> All mounts now have an extra option "--make-private" | |||
# -> Date: 14.05.2015 | |||
### BEGIN INIT INFO | ### BEGIN INIT INFO | ||
# Provides: flashybrid | # Provides: flashybrid | ||
# Required-Start: $local_fs | # Required-Start: $local_fs | ||
# Required-Stop: $local_fs | # Required-Stop: $local_fs | ||
# Should-Start: | # Should-Start: | ||
# Should-Stop: | # Should-Stop: | ||
# Default-Start: S | |||
# Default-Stop: 0 1 6 | |||
# X-Start-Before: $network | # X-Start-Before: $network | ||
# X-Stop- | # X-Stop-Before: $network | ||
# Short-Description: automates use of a flash disk as the root filesystem | # Short-Description: automates use of a flash disk as the root filesystem | ||
# Description: Flashybrid is a system to help in setting up and managing hybrid | # Description: Flashybrid is a system to help in setting up and managing hybrid | ||
Řádek 23: | Řádek 39: | ||
# mb is more comfortable. | # mb is more comfortable. | ||
### END INIT INFO | ### END INIT INFO | ||
. /lib/lsb/init-functions | |||
CONFDIR=/etc/flashybrid | |||
if [ -e $CONFDIR/config ]; then | |||
. $CONFDIR/config | |||
fi | |||
ENABLED=no | |||
if [ -e /etc/default/flashybrid ]; then | |||
. /etc/default/flashybrid | |||
fi | |||
if [ -z "$RAMMOUNT" ]; then | |||
exit 0 | |||
fi | |||
is_mounted () { | |||
grep -q " $1 " /proc/mounts | |||
} | |||
case "$1" in | |||
start) | |||
if [ "$ENABLED" != yes ]; then | |||
log_warning_msg "Not setting up flashybrid system: disabled." | |||
exit | |||
fi | |||
if [ ! -d "$RAMMOUNT" ] ; then | |||
log_failure_msg "Error, RAMMOUNT directory is not found ($RAMMOUNT)" | |||
exit 1 | |||
fi | |||
log_daemon_msg "Setting up flashybrid system for" | |||
EXTRA_PARAMS="" | |||
if [ "xx$FLASH_MAX" != "xx" ]; then | |||
EXTRA_PARAMS=" -o size=$FLASH_MAX " | |||
fi | |||
# Set up ram disk to hold variable data. | |||
if ! is_mounted $RAMMOUNT; then | |||
#mount tmpfs -t tmpfs $RAMMOUNT $EXTRA_PARAMS | |||
mount --make-private tmpfs -t tmpfs $RAMMOUNT $EXTRA_PARAMS | |||
fi | |||
# Temporary directories on ram disk. | |||
cp $CONFDIR/ramtmp $RAMMOUNT/.fh-config-ramtmp | |||
for dir in $(grep -v '^#' $CONFDIR/ramtmp); do | |||
if [ -d $dir ]; then | |||
mkdir -p -m 1777 $RAMMOUNT/$dir | |||
if is_mounted $dir; then | |||
umount $dir | |||
fi | |||
#mount --bind $RAMMOUNT/$dir $dir | |||
mount --bind --make-private $RAMMOUNT/$dir $dir | |||
fi | |||
done | |||
# when syncing we will use this configuration for restoring, | |||
# as the user may modify the configuration on the disk, and completely | |||
# mess up the system, eventually making his machine unusable | |||
cp $CONFDIR/ramstore $RAMMOUNT/.fh-config-ramstore | |||
# Copy data from flash to ram disk for these directories | |||
for dir in $(grep -v '^#' $CONFDIR/ramstore); do | |||
# Skip dirs that are not present. | |||
if [ -d $dir ]; then | |||
if [ "$VERBOSE" = yes ]; then | |||
log_progress_msg "$dir" | |||
fi | |||
ramdir=$RAMMOUNT$dir | |||
if is_mounted $dir; then | |||
umount $dir | |||
fi | |||
if is_mounted $ramdir.flash; then | |||
umount $ramdir.flash | |||
fi | |||
if [ ! -d $ramdir ]; then | |||
mkdir -p ${ramdir%/*} # dirname | |||
cp -a $dir $ramdir | |||
fi | |||
mkdir -p $ramdir.flash | |||
#mount --bind $dir $ramdir.flash | |||
#mount --bind $ramdir $dir | |||
mount --bind --make-private $dir $ramdir.flash | |||
mount --bind --make-private $ramdir $dir | |||
fi | |||
done | |||
log_end_msg 0 | |||
mountro | |||
;; | |||
stop) | |||
if [ "$ENABLED" != yes ]; then | |||
log_warning_msg "Not shutting down flashybrid system: disabled." | |||
exit | |||
fi | |||
fh-sync | |||
mountrw | |||
;; | |||
reload) | |||
echo "This target is available only for compatibility." | |||
echo "Gracefully exiting" | |||
;; | |||
restart) | |||
echo "This target is available only for compatibility, and usually will fail to work" | |||
echo "If you really want to restart this service please try 'force-reload'." | |||
echo | |||
echo "Gracefully exiting" | |||
;; | |||
force-reload) | |||
$0 stop | |||
$0 start | |||
;; | |||
*) | |||
echo "Usage: $0 {start|stop|restart|force-reload}" | |||
exit 1 | |||
;; | |||
esac | |||
Odstraňte špatné soubory z /etc/rc.d*: | Odstraňte špatné soubory z /etc/rc.d*: |
Verze z 31. 3. 2016, 11:24
Nainstalujte:
apt-get install flashybrid
Upravte soubor /etc/init.d/flashybrid (zdroj https://dl.dropboxusercontent.com/u/1490505/HP-T5730/etc/init.d/flashybrid):
#!/bin/sh # Set up/shutdown the flashybrid system, including the ramdisk and partial # directory bind mounts. This needs to run at the part of system bootup that # mounts all the disks. It should also run at shutdown right before # filesystems are unmounted. # Licensed under the terms of GPL v2 # Diego Iastrubni <diego.iastrubni@xorcom.com> 2006 # Joey Hess <joeyh@debian.org> 2002-2006 # Thibaut VARENE <varenet@debian.org> 2014 # Modified by Darkwing to try get it working under Debian 8 with systemd # -> All mounts now have an extra option "--make-private" # -> Date: 14.05.2015 ### BEGIN INIT INFO # Provides: flashybrid # Required-Start: $local_fs # Required-Stop: $local_fs # Should-Start: # Should-Stop: # Default-Start: S # Default-Stop: 0 1 6 # X-Start-Before: $network # X-Stop-Before: $network # Short-Description: automates use of a flash disk as the root filesystem # Description: Flashybrid is a system to help in setting up and managing hybrid # flash/disk/ram based Debian systems which can run most of the time # using only a small flash disk for their root filesystem and do a useful, # but limited task (such as being a router, or a PDA, or a rescue system # on a USB keydrive). The flash can be as small as 32 mb, though 64 to 256 # mb is more comfortable. ### END INIT INFO . /lib/lsb/init-functions CONFDIR=/etc/flashybrid if [ -e $CONFDIR/config ]; then . $CONFDIR/config fi ENABLED=no if [ -e /etc/default/flashybrid ]; then . /etc/default/flashybrid fi if [ -z "$RAMMOUNT" ]; then exit 0 fi is_mounted () { grep -q " $1 " /proc/mounts } case "$1" in start) if [ "$ENABLED" != yes ]; then log_warning_msg "Not setting up flashybrid system: disabled." exit fi if [ ! -d "$RAMMOUNT" ] ; then log_failure_msg "Error, RAMMOUNT directory is not found ($RAMMOUNT)" exit 1 fi log_daemon_msg "Setting up flashybrid system for" EXTRA_PARAMS="" if [ "xx$FLASH_MAX" != "xx" ]; then EXTRA_PARAMS=" -o size=$FLASH_MAX " fi # Set up ram disk to hold variable data. if ! is_mounted $RAMMOUNT; then #mount tmpfs -t tmpfs $RAMMOUNT $EXTRA_PARAMS mount --make-private tmpfs -t tmpfs $RAMMOUNT $EXTRA_PARAMS fi # Temporary directories on ram disk. cp $CONFDIR/ramtmp $RAMMOUNT/.fh-config-ramtmp for dir in $(grep -v '^#' $CONFDIR/ramtmp); do if [ -d $dir ]; then mkdir -p -m 1777 $RAMMOUNT/$dir if is_mounted $dir; then umount $dir fi #mount --bind $RAMMOUNT/$dir $dir mount --bind --make-private $RAMMOUNT/$dir $dir fi done # when syncing we will use this configuration for restoring, # as the user may modify the configuration on the disk, and completely # mess up the system, eventually making his machine unusable cp $CONFDIR/ramstore $RAMMOUNT/.fh-config-ramstore # Copy data from flash to ram disk for these directories for dir in $(grep -v '^#' $CONFDIR/ramstore); do # Skip dirs that are not present. if [ -d $dir ]; then if [ "$VERBOSE" = yes ]; then log_progress_msg "$dir" fi ramdir=$RAMMOUNT$dir if is_mounted $dir; then umount $dir fi if is_mounted $ramdir.flash; then umount $ramdir.flash fi if [ ! -d $ramdir ]; then mkdir -p ${ramdir%/*} # dirname cp -a $dir $ramdir fi mkdir -p $ramdir.flash #mount --bind $dir $ramdir.flash #mount --bind $ramdir $dir mount --bind --make-private $dir $ramdir.flash mount --bind --make-private $ramdir $dir fi done log_end_msg 0 mountro ;; stop) if [ "$ENABLED" != yes ]; then log_warning_msg "Not shutting down flashybrid system: disabled." exit fi fh-sync mountrw ;; reload) echo "This target is available only for compatibility." echo "Gracefully exiting" ;; restart) echo "This target is available only for compatibility, and usually will fail to work" echo "If you really want to restart this service please try 'force-reload'." echo echo "Gracefully exiting" ;; force-reload) $0 stop $0 start ;; *) echo "Usage: $0 {start|stop|restart|force-reload}" exit 1 ;; esac
Odstraňte špatné soubory z /etc/rc.d*:
rm /etc/rc{0,1,2,3,4,5,6,S}.d/*flashybrid
Obnovte je z naší nové hlavičky:
insserv -v flashybrid