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 hlavičku v /etc/init.d/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
  ### 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:      $local_fs
  # Should-Start:       
  # Should-Stop:      $local_fs
  # Should-Stop:       
# Default-Start:    S
# Default-Stop:      0 1 6
  # X-Start-Before:    $network
  # X-Start-Before:    $network
  # X-Stop-After:     $network
  # X-Stop-Before:     $network
# Default-Start:    S
# Default-Stop:      0 6
  # 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