Jak zapewne większość z Was wie, Raspberry Pi jako głównego nośnika pamięci używa karty SD (lub miniSD/microSD), co ma swoje zalety, ale i wady – limitowana ilość zapisu (teoretycznie i odczytu) komórek pamięci.

Wprawdzie są to zazwyczaj na tyle duże wartości, że nie ma co się nimi przejmować podczas „normalnego użytkowania”, ale tam gdzie dane są często modyfikowane (np. odczyty z różnych czujników – ale o tym będzie zapewne później) można pomyśleć o jakiś alternatywnych rozwiązaniach…

Alternatywna/dodatkowa pamięć w Raspberry Pi

Zasadniczo można zastosować któreś z 3 rozwiązań:

  • Nośniki USB (PenDrive, dysk HDD USB)
  • Zasoby sieciowe
  • Dysk RAM (RAMdysk / RAMdisk)

Pierwsze 2 sposoby już były omówione, a dodatkowo nie są bez wad, choć to zależy od infrastruktury którą dysponujemy:

  • Jeśli to będzie PanDrive – to też jest pamięć flash
  • Jeśli to będzie dysk twardy (HDD) na USB – zależnie od intensywności zapisu – albo musi ciągle pracować, albo będzie „co chwilę” wybudzany
  • W przypadku zasobów sieciowych – potrzebujemy dodatkowego urządzenia (komputer, router, NAS) które będzie te zasoby udostępniało. Do tego zależnie od użytego typu pamięci mogą tego rozwiązania dotyczyć również wady wymienione powyżej

RAMdysk (RAMdisk) w Raspberry Pi

Dlatego dziś chciałbym omówić rozwiązanie numer 3, które z racji tego, że korzysta z pamięci RAM Raspbbery Pi wydaje się idealne do przechowywania niewielkich ilości często zmienianych danych. Niewielkich – bo Pi pamięci RAM posiada stosunkowo niewiele, zależnie od wersji będzie to 256 lub 512 MB.

Oczywiście opisane to rozwiązania zadziałają prawie z każdym komputerem z systemem Linux, a tam (np. komputer stacjonarny) takiej pamięci może być znacznie więcej do naszej dyspozycji, a więc i dysk RAM może być większy.

Systemowe wsparcie dla dysków RAM

Wykorzystamy fakt, że w systemie mamy domyślnie dodaną obsługę dysków RAM, co możemy sprawdzić korzystając z polecenia:

ls /dev/ -l | grep ram

 

raspberry-pi_ramdisk_01

Jak widać wyżej gotowych do pracy jest łącznie 16 „urządzeń” – zaczynając od ram0, a kończąc na ram15.

Shared Memory (SHM)

Wprawdzie wpis będzie poświęcony dyskom RAM w Raspberry Pi i systemie Raspbian (przystosowana specjalnie dla tego mikrokomputera dystrybucja Debiana) jest spora szansa, że również w przypadku innych wersji Linuxa będziecie mogli skorzystać z podobnego rozwiązania, wykorzystując natywne wsparcie dla dysków działających w pamięci RAM (jądro Linuxa 2.6 lub nowsze jest wymagane), choć będzie to wyglądało trochę inaczej. Dysk taki znajduje się pod adresem:

/dev/shm

Zazwyczaj jego rozmiar to połowa pamięci RAM zainstalowanej w komputerze, lub dostępnej dla serwera VPS:

patryk:~$ df /dev/shm -h

Filesystem Size Used Avail Use% Mounted on
tmpfs 1002M 0 1002M 0% /dev/shm

Powyżej wynik dla jednego z moich serwerów VPS, który korzysta z 2 GB pamięci RAM, i tym samym dysk RAM (Shared Memory/SHM) to 1 GB (połowa dostępnej pamięci RAM).

Jeśli zajdzie potrzeba, możecie dokonać modyfikacji standardowych ustawień/parametrów edytując plik:

sudo nano /etc/default/tmpfs

I choć ścieżka/konstrukcja tego dysku jest trochę inna, to w większości przypadków będzie działał on tak samo jak opisywany tu szczegółowo dysk RAM w Raspberry Pi. Zresztą w przypadku Raspberry Pi i Raspbiana (obecnie) również możemy korzystać z pamięci SHM.

RAMdysk (RAMdisk) tymczasowy

Tymczasowy dlatego, że po każdym uruchomieniu czy to komputera, czy Raspberry Pi będzie tworzony od nowa, a więc nadaje się głównie do przechowywania danych tymczasowych, do których chcemy mieć szybki dostęp, ale nie zależy nam na tym, by były „archiwizowane”. Np. bieżące odczyty z czujnika temperatury, bieżący podgląd z kamery internetowej, itp.

Konfiguracja

Zaczynamy od stworzenia katalogu do którego będziemy montować nasz dysk (RAM):

sudo mkdir /mnt/ramdisk

Następnie musimy sformatować dysk RAM przed zamontowaniem go:

sudo mkfs -q /dev/ram1 2048
  • /dev/ram1 – „urządzenie” z którego korzystamy jako dysku RAM, czytaj wyżej
  • 2048 – Rozmiar dysku w kilobajtach (KB), 2048 to 2 megabajty (MB)

Zarówno wielkość jaki „urządzenie” możecie dobrać indywidualnie, wedle potrzeb.

Montujemy dysk, tak jak to się robi przy montowaniu innych zasobów/urządzeń:

sudo mount /dev/ram1 /mnt/ramdisk

Możemy teraz sprawdzić czy nasz dysk jest widoczny w systemie za pomocą polecenia:

df -h

 

raspberry-pi_ramdisk_02

Jak widać, wszystko działa prawidłowo, więc pora (oczywiście jeśli chcecie) skonfigurować system tak, by RAMdysk (RAMdisk) był tworzony automatycznie podczas startu systemu…

Automatyczne tworzenie i montowanie dysku RAM

W tym celu musimy dodać komendy które wpisywaliśmy powyżej do pliku „rc.local”:

sudo nano /etc/rc.local

I przed „exit 0” dodajemy:

sudo mkfs -q /dev/ram1 2048
sudo mount /dev/ram1 /mnt/ramdisk

 

raspberry-pi_ramdisk_03

Obowiązuje tu taka sama zasada jak wyżej dotycząca wyboru urządzenia i rozmiaru dysku.

Wychodzimy zapisując zmiany: CTRL+Q i Y

Po ponownym uruchomieniu komputera/Pi możecie sprawdzić, że dysk RAM został poprawnie skonfigurowany i podłączony, ponownie korzystając z polecenia:

df -h

Jak już wspominałem, wadą dysku RAM jest jego nietrwałość, czyli ulotność wszystkich danych po ponownym uruchomieniu Raspberry Pi (albo innego komputera). Ale można temu zaradzić korzystając z pewnej sztuczki…

RAMdysk (RAMdisk) z zachowywaniem danych

Osiągniemy to korzystając ze skryptu który oprócz tego, że automatycznie utworzy dysk RAM podczas uruchamiania systemu, to dodatkowo podczas zamykania systemu skopiuje zawartość dysku RAM do tymczasowego katalogu, po czym podczas ponownego startu systemy wykona operację odwrotną – przywróci dane na dysk RAM.

Tym sposobem mamy wszystkie zalety dysku RAM, ale pozbyliśmy się jego największej wady.

Gotowy skrypt

Byście nie musieli sami się z tym „bawić” przygotowałem skrypt z którego możecie skorzystać.

Skrypt zawsze w najnowszej (aktualnej) wersji znajdziecie pod adresem:

https://webinsider.pl/add/download/?link=raspberrypi_ramdisk

#!/bin/sh
### BEGIN INIT INFO
# Provides:          ramdisk
# Required-Start:    $local_fs $remote_fs $syslog
# Required-Stop:     $local_fs $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: RAMdisk RPL script with restore after reboot/halt
# Description:       Use './ramdisk help' or after install '/etc/init.d/ramdisk help' or 'ramdisk help' for help. This revision use rsync to backup/restore RAMdisk
### END INIT INFO

# Author: Webinsider.pl.pl
# RAMdisk info URL: https://webinsider.pl/raspberry-pi-ramdisk
# Revision: 201710181644


### START config here:

# Size in KB
RAMDISK_SIZE="2048"

RAMDISK_MNT_DIR=/mnt
RAMDISK_TEMP_DIR=/mnt
RAMDISK_NAME=ramdisk
RAMDISK_TEMP_NAME=ramdisk_temp

RAMDISK_TEMP_FULL=$RAMDISK_TEMP_DIR/$RAMDISK_TEMP_NAME/
RAMDISK_MNT_FULL=$RAMDISK_MNT_DIR/$RAMDISK_NAME/

RAMDISK_DEV=/dev/ram1

# Auto BackUp RAMdisk (RAMDISK_MNT_FULL > RAMDISK_TEMP_FULL), every RAMDISK_AUTO_BACKUP_TIME minute(s) if RAMDISK_AUTO_BACKUP=1
RAMDISK_AUTO_BACKUP=1
#RAMDISK_AUTO_BACKUP_SET 1=minute(s) 0-59, 2=hour(s) 0-23
RAMDISK_AUTO_BACKUP_SET=2
RAMDISK_AUTO_BACKUP_TIME=1
RAMDISK_AUTO_BACKUP_USER=root

# Use "cp" or "rsync", 1 - use rsync
RAMDISK_BACKUP_RSYNC=1

### END config here.

DOWNLOAD_URL=https://webinsider.pl/add/download/?link=raspberrypi_ramdisk

COMMANDS="{start|stop|restart|status|backup|restore|config|install|uninstall|clear|update|help}"

NAME=ramdisk
SCRIPTNAME=/etc/init.d/$NAME



f_start()
{
		sudo mkfs -q $RAMDISK_DEV $RAMDISK_SIZE
		sudo mount $RAMDISK_DEV $RAMDISK_MNT_FULL
		if [ "$RAMDISK_BACKUP_RSYNC" = "1" ]
		then
			sudo rsync -avzil --delete --progress $RAMDISK_TEMP_FULL $RAMDISK_MNT_FULL  > /dev/null
		else
			sleep 2
			sudo rm -rf $RAMDISK_MNT_FULL*
			sleep 1
			sudo cp -rf $RAMDISK_TEMP_FULL* $RAMDISK_MNT_FULL
		fi
		echo "RAMdisk START OK"
}

f_stop()
{
		if [ "$RAMDISK_BACKUP_RSYNC" = "1" ]
		then
			sudo rsync -avzil --delete --progress $RAMDISK_MNT_FULL $RAMDISK_TEMP_FULL
		else
			sudo rm -rf $RAMDISK_TEMP_FULL*
			sleep 2
			sudo cp -rf $RAMDISK_MNT_FULL* $RAMDISK_TEMP_FULL
		fi
		sudo umount $RAMDISK_MNT_FULL
		echo "RAMdisk STOP OK"
}

# f_restart() only restart) ...

f_backup()
{
		if [ "$RAMDISK_BACKUP_RSYNC" = "1" ]
		then
			sudo rsync -avzil --delete --progress $RAMDISK_MNT_FULL $RAMDISK_TEMP_FULL
		else
			sudo rm -rf $RAMDISK_TEMP_FULL*
			sudo cp -rf $RAMDISK_MNT_FULL* $RAMDISK_TEMP_FULL
		fi
		echo "RAMdisk BackUp OK"
}

f_restore()
{
		if [ "$RAMDISK_BACKUP_RSYNC" = "1" ]
		then
			sudo rsync -avzil --delete --progress $RAMDISK_TEMP_FULL $RAMDISK_MNT_FULL
		else
			sudo rm -rf $RAMDISK_MNT_FULL*
			sudo cp -rf $RAMDISK_TEMP_FULL* $RAMDISK_MNT_FULL
		fi
		echo "RAMdisk restore OK"
}

f_install()
{
		sudo mkdir $RAMDISK_MNT_FULL
		sudo mkdir $RAMDISK_TEMP_FULL
		sudo cp -r $NAME /etc/init.d
		sudo update-rc.d $NAME defaults
		sudo /etc/init.d/$NAME start
		
		if [ "$RAMDISK_AUTO_BACKUP" = "1" ]
		then
			if [ "$RAMDISK_AUTO_BACKUP_SET" = "1" ]
			then
				echo "# RAMdisk AutoBackup START" | sudo tee -a /etc/crontab > /dev/null
				echo "*/"$RAMDISK_AUTO_BACKUP_TIME" * * * * "$RAMDISK_AUTO_BACKUP_USER" /etc/init.d/"$NAME" backup" | sudo tee -a /etc/crontab > /dev/null
				echo "# RAMdisk AutoBackup END" | sudo tee -a /etc/crontab > /dev/null
				echo "Auto BackUp set, run every "$RAMDISK_AUTO_BACKUP_TIME" minute(s)"
			fi
			if [ "$RAMDISK_AUTO_BACKUP_SET" = "2" ]
			then
				echo "# RAMdisk AutoBackup START" | sudo tee -a /etc/crontab > /dev/null
				echo "0 */"$RAMDISK_AUTO_BACKUP_TIME" * * * "$RAMDISK_AUTO_BACKUP_USER" /etc/init.d/"$NAME" backup" | sudo tee -a /etc/crontab > /dev/null
				echo "# RAMdisk AutoBackup END" | sudo tee -a /etc/crontab > /dev/null
				echo "Auto BackUp set, run every "$RAMDISK_AUTO_BACKUP_TIME" hour(s)"
			fi
		fi
		
		sudo ln -s /etc/init.d/$NAME /bin/$NAME
		
		rm ramdisk
		echo ""
		echo "Script installed OK, see 'df -h'"
}

f_uninstall()
{
		echo "Script deletes the following directories with the entire contents:"
		echo ""
		echo $RAMDISK_MNT_FULL" & "$RAMDISK_TEMP_FULL
		echo ""
		echo "If you do not want to delete them break (CTRL+C) and run:"
		echo "/etc/init.d/"$NAME" help"
		echo "for more information"
		echo ""
		read -p 'Press [Y] to continue: ' uninstall_yes

		if [ "$uninstall_yes" = "Y" ] || [ "$uninstall_yes" = "y" ]
		then
			echo ""
			sudo /etc/init.d/$NAME stop
			sudo update-rc.d $NAME remove
			sudo rm -rf $RAMDISK_MNT_FULL/*
			sudo rmdir $RAMDISK_MNT_FULL
			sudo rm -rf $RAMDISK_TEMP_FULL/*
			sudo rmdir $RAMDISK_TEMP_FULL
			sudo rm /etc/init.d/$NAME
			sudo rm /bin/$NAME
			echo ""
			echo "You must manually remove CRON Auto BackUp"
			echo "Run: 'sudo nano /etc/crontab'"
			echo ""
			echo "Please restart to finish"
		else
			echo "Exit without uninstall"
			echo "Command '/etc/init.d/"$NAME" help' show help"
			exit
		fi
}

f_update()
{
		sudo update-rc.d ramdisk remove
		sudo wget $DOWNLOAD_URL -O /etc/init.d/$NAME
		sudo chmod +x /etc/init.d/$NAME
		sudo update-rc.d $NAME defaults
		echo ""
		echo "Check RAMdisk size, now is: "$RAMDISK_SIZE"KB"
		echo "If want change type: 'sudo nano /etc/init.d/"$NAME"'"
		echo "Change value 'RAMDISK_SIZE'"
		echo "Next restart RAMdisk: '/etc/init.d/"$NAME" restart'"
		echo ""
		echo "Script update. If see error update again: '/etc/init.d/"$NAME" update'"
}

f_clear()
{
		sudo umount $RAMDISK_MNT_FULL
		sudo mkfs -q $RAMDISK_DEV $RAMDISK_SIZE
		sudo mount $RAMDISK_DEV $RAMDISK_MNT_FULL
		echo "RAMdisk clear OK"
}

f_status()
{
		echo "RAMdisk @ Crontab:"
		cat /etc/crontab | grep $NAME
		echo ""
		echo "RAMdisk:"
		df -h | grep $NAME
		echo ""
		echo "RAMdisk patch: "$RAMDISK_MNT_FULL
		echo "RAMdisk dev: "$RAMDISK_DEV
		echo "RAMdisk BackUp patch: "$RAMDISK_TEMP_FULL	
}

f_config()
{
		sudo nano /etc/init.d/$NAME
		echo "Changes will take effect after reboot. You can also restart only ramdisk:"
		echo $NAME" restart"
}

f_help()
{
		echo "RAMdisk script with restore after reboot/halt"
		echo ""
		echo "Script make RAMdisk, use "$RAMDISK_DEV
		echo "Also use "$RAMDISK_TEMP_FULL" for backup file when Pi halt/reboot."
		echo "Default RAMdisk size is "$RAMDISK_SIZE", and patch is "$RAMDISK_MNT_FULL
		
		if [ "$RAMDISK_AUTO_BACKUP" = "1" ]
		then
			if [ "$RAMDISK_AUTO_BACKUP_SET" = "1" ]
			then
				echo "Auto BackUp set, run every "$RAMDISK_AUTO_BACKUP_TIME" minute(s)"
			fi
			if [ "$RAMDISK_AUTO_BACKUP_SET" = "2" ]
			then
				echo "Auto BackUp set, run every "$RAMDISK_AUTO_BACKUP_TIME" hour(s)"
			fi
		fi
		
		echo ""
		echo "Use: "$SCRIPTNAME $COMMANDS
		echo ""
		echo "[RAMdisk RPL]"
		echo "1. Download: wget "$DOWNLOAD_URL" -O ramdisk"
		echo "2. Config: nano ramdisk"
		echo "3. Next: sudo chmod +x ramdisk"
		echo "4. Install: ./ramdisk install"
		echo "[RAMdisk RPL]"
		echo ""
		echo "Press any [ENTER] to continue..."
		read any_key
		echo ""
		echo "Commands after install:"
		echo "Use: "$NAME" COMMAND"
		echo "Start RAMdisk: "$NAME" start"
		echo "Stop RAMdisk: "$NAME" stop"
		echo "Restart RAMdisk: "$NAME" restart"
		echo "RAMdisk status: "$NAME" status"
		echo "Backup RAMdisk to "$RAMDISK_TEMP_FULL": "$NAME" backup"
		echo "Restore RAMdisk from "$RAMDISK_TEMP_FULL": "$NAME" restore"
		echo "Clear RAMdisk: "$NAME" clear"
		echo "Install RAMdisk: "$NAME" install"
		echo "Uninstall RAMdisk: "$NAME" uninstall"
		echo "Update RAMdisk script: "$NAME" update"
		echo "Edit options after install: sudo nano /etc/init.d/"$NAME
		echo "or: "$NAME" config"
		echo "Show help: "$NAME" help"
		echo ""
		echo "More info info go to: https://webinsider.pl/raspberry-pi-ramdisk"
		echo "Command '"$NAME" help' show this help"
}


case "$1" in
  start)
	f_start
	;;
  stop)
	f_stop
	;;
  restart)
	f_stop
	f_start
	;;
  status)
	f_status
	;;
  backup)
	f_backup
	;;
  restore)
	f_restore
	;;	
  install)
	f_install
	;;
  uninstall)
	f_uninstall
	;;
  config)
	f_config
	;;
  clear)
	f_clear
	;;
  update)
	f_update
	;;
  help)
	f_help
	;;
  *)
	echo "Use: "$SCRIPTNAME $COMMANDS
	exit
	;;
esac

exit 0

 

W Debian 8 Jessie zamiast powyższego polecenia można użyć:

sudo insserv nazwa_usługi

A czasem – przy niektórych zależnościach start/stop – jest to wręcz wymagane (a przynajmniej mocno zalecane).

Pobranie skryptu

Skrypt możemy pobrać bezpośrednio do Pi korzystając z polecenia:

wget https://webinsider.pl/add/download/?link=raspberrypi_ramdisk -O ramdisk

Konfiguracja

Domyślnie skrypt tworzy dysk RAM o wielkości 2 MB (2048 KB), jako swoją ścieżkę dostępu ustawia /mnt/ramdisk, a jako katalog tymczasowy (do kopii) /temp/ramdisk

Oczywiście przed instalacją można jeszcze skonfigurować skrypt wedle własnych potrzeb (po instalacji też w każdej chwili można dokonać korekty/zmiany ustawień), korzystamy z komendy:

nano ramdisk

Ustawienia (zmiany) robimy między:

### START config here:

a

### END config here.

W większości przypadków wystarczy ew. zmiana rozmiaru dysku:

RAMDISK_SIZE="2048"

Rozmiar wpisujemy w kilobajtach (KB), czyli np.:

  • 1 MB = 1024 KB
  • 2 MB = 2048 KB

Standardowo system obsługuje Ramdisk o maksymalnej pojemności 8 MB. Jeśli potrzebujecie większej pojemności, to musicie dodatkowo do pliku „cmdline.txt”:

sudo nano /boot/cmdline.txt

dodać linijkę:

ramdisk_size=32768

Podana tu wartość to 32 MB. Możecie wpisać również większą…

Jeśli chcecie zmienić katalog montowania dysku RAM, i/lub katalog „tymczasowy” możecie to zrobić modyfikując te linie:

RAMDISK_MNT_DIR=/mnt
RAMDISK_TEMP_DIR=/mnt
RAMDISK_NAME=ramdisk
RAMDISK_TEMP_NAME=ramdisk_temp

Skrypt domyślnie tworzy wpis do Cron (crontab) który powoduje uruchomienie uruchomienie kopii zapasowej dysku RAM do katalogu tymczasowego co godzinę:

raspberry-pi_ramdisk_07

Można to zmienić za pomocą tych ustawień:

RAMDISK_AUTO_BACKUP=1
RAMDISK_AUTO_BACKUP_TIME=1
RAMDISK_AUTO_BACKUP_USER=root

Kolejno:

  • RAMDISK_AUTO_BACKUP=1 – 1 oznacza, że Auto BackUp jest aktywny i zadanie zostanie dodane do Cron’a
  • RAMDISK_AUTO_BACKUP_TIME=1 – czas między kopiami w godzinach
  • RAMDISK_AUTO_BACKUP_USER=root – użytkownik dla zadania Cron

BackUp i restore

Skrypt domyślnie korzysta z polecenie „rsync” do kopiowania plików – jest to metoda bardziej niezawodna, i przy okazji szybsza.

Jeśli chcesz używać standardowego kopiowania za pomocą polecenia „cp” zmień:

RAMDISK_BACKUP_RSYNC=1

na

RAMDISK_BACKUP_RSYNC=0

Instalacja „rsync” w systemie:

sudo apt-get install rsync

Instalacja

Zaczynamy od ustawienia odpowiednich właściwości pliku:

sudo chmod +x ramdisk

Następnie, by zainstalować skrypt (usługę) możecie skorzystać z przygotowanej w skrypcie funkcji, w tym celu wystarczy wpisać komendę:

./ramdisk install

Skrypt sam doda się „gdzie trzeba”, oraz ustawi wszystko tak „by działało”, zgodnie z ustawieniami :-)

raspberry-pi_ramdisk_04

Obsługa

Zasadniczo skrypt jest bezobsługowy, czyli podczas startu systemu będzie tworzył dysk RAM (wedle zdefiniowanych parametrów), a podczas wyłączania komputera (w tym restartu) będzie zapisywał kopie danych na karcie pamięci, by podczas kolejnego uruchomienia systemu przywrócić te dane z powrotem do dysku RAM.

Jeśli zajdzie potrzeba zmiany konfiguracji już po instalacji skryptu, można to zrobić w prosty sposób za pomocą polecenia:

sudo nano /etc/init.d/ramdisk

I na koniec restart usługi, by zastosować nowe ustawienia:

ramdisk restart

lub

/etc/init.d/ramdisk restart

Gdzie „ramdisk” to domyślna nazwa skryptu. Jeśli ją zmieniliście, to w tych poleceniach również należy to zrobić.

Polecenia/komendy

W skrypt zostało wbudowanych też kilka komend/poleceń, z których możecie skorzystać:

  • ramdisk start – ręczny start dysku
  • ramdisk stop – ręczne tymczasowe (do restartu) utworzenie dysku
  • ramdisk restart – restart dysku (z kopią)
  • ramdisk status – informacje o aktywnym dysku RAM
  • ramdisk backup – kopia zawartości dysku na kartę SD
  • ramdisk restore – przywrócenie (nadpisanie) kopii z karty SD na RAMdysk
  • ramdisk config – edycja konfiguracji/skryptu
  • ramdisk clear – wyczyszczenie dysku
  • ramdisk install – automatyczna instalacja skryptu/usługi
  • ramdisk uninstall – automatyczne odinstalowanie skryptu/usługi
  • ramdisk update – aktualizacja skryptu
  • ramdisk help – pomoc

lub:

  • /etc/init.d/ramdisk start – ręczny start dysku
  • /etc/init.d/ramdisk stop – ręczne tymczasowe (do restartu) utworzenie dysku
  • /etc/init.d/ramdisk restart – restart dysku (z kopią)
  • /etc/init.d/ramdisk status – informacje o aktywnym dysku RAM
  • /etc/init.d/ramdisk backup – kopia zawartości dysku na kartę SD
  • /etc/init.d/ramdisk restore – przywrócenie (nadpisanie) kopii z karty SD na RAMdysk
  • /etc/init.d/ramdisk config – edycja konfiguracji/skryptu
  • /etc/init.d/ramdisk clear – wyczyszczenie dysku
  • /etc/init.d/ramdisk install – automatyczna instalacja skryptu/usługi
  • /etc/init.d/ramdisk uninstall – automatyczne odinstalowanie skryptu/usługi
  • /etc/init.d/ramdisk update – aktualizacja skryptu
  • /etc/init.d/ramdisk help – pomoc

Przykład działania polecenia aktualizacji skryptu:

raspberry-pi_ramdisk_05

Gdzie „ramdisk” to domyślna nazwa skryptu. Jeśli ją zmieniliście, to w tych poleceniach również należy to zrobić.

Odinstalowanie

Jeśli z jakichś przyczyn nie będziecie chcieli już korzystać z RAMdysku możecie odinstalować skrypt/usługę za pomocą polecenia:

/etc/init.d/ramdisk uninstall

lub

ramdisk uninstall

 

raspberry-pi_ramdisk_06

Jeśli podczas instalacji była aktywna opcja „Auto BackUp” (opisana wyżej), to należy jeszcze ręcznie usunąć wpis z tablicy Crona:

sudo nano /etc/crontab

I kasujemy od:

# RAMdisk AutoBackup END

do:

# RAMdisk AutoBackup END

 

raspberry-pi_ramdisk_07

Zobacz wszystkie artykuły z serii „Raspberry Pi”

(!) Zgłoś błąd na stronie | Lub postaw nam kawę :-)
LUTy dla D-Cinelike (DJI Mini 3 Pro, DJI Avata, OSMO Pocket) od MiniFly
Wdrożenie Omnibusa w sklepie na WooCommerce
Jak (legalnie) latać dronem w Kategorii Otwartej
Patryk