Menu
Home
About
Our Role
Goals
The Team
Roadmap
Tokenomics
How To Buy
Knowledge Base
Contacts
Sitemap & Links
A.I.
Chart
Shop
IMMORTALITY
🏠
⬇️
Ram Disks
New name
B
I
U
S
link
image
code
HTML
list
Show page
Syntax
Two scripts, one is the system service so that the ram disk is re-instated upon reboot, ram volatility is obviously the situation with ram disks and the ram disk script. Setup RAM disk service on Linux {pre} # Filename: setup-ramdisk.service # /etc/systemd/system/setup-ramdisk.service # sudo cp /home/x/ram_disk/setup-ramdisk.service /etc/systemd/system/setup-ramdisk.service # sudo systemctl daemon-reload # sudo systemctl enable setup-ramdisk # sudo systemctl start setup-ramdisk # After reboot check with df -h | grep ramdisk # sudo systemctl status setup-ramdisk [Unit] Description=Setup RAM disk and start web server After=network.target [Service] Type=oneshot ExecStart=/home/x/ram_disk/setup-ramdisk.sh RemainAfterExit=true [Install] WantedBy=multi-user.target {/pre} The second script involves keeping a copy of linux as chrooted jail for a user. Alpine Linux is sufficiently small that its works for this purpose. The second program is named schroot, apt-get install schroot. Putting the ram disk in a chroot jail insures we do not use the disk at all, a lib or two could sneak under the radar causing a bottleneck. {pre} #!/bin/bash # Set variables RAMDISK_SIZE="1G" RAM_DISK="/mnt/ramdisk" # Create the mount point if it doesn't exist mkdir -p $RAM_DISK # Mount the RAM disk mount -t tmpfs -o size=$RAMDISK_SIZE tmpfs $RAM_DISK # Configure schroot (not part of the script) # sudo apt-get install schroot # [jimbo] # description=Chroot for username # directory=/mnt/ramdisk # users=jimbo # root-groups=root # Add filesystem sudo tar -xzf /home/x/ram_disk/alpine-minirootfs-3.20.0-x86_64.tar.gz -C ${RAM_DISK} # Setup special directories by binding them to the host system sudo mount -t proc /proc ${RAM_DISK}/proc sudo mount -t sysfs /sys ${RAM_DISK}/sys sudo mount --rbind /dev ${RAM_DISK}/dev sudo mount --rbind /dev/pts ${RAM_DISK}/dev/pts sudo mount --rbind /run ${RAM_DISK}/run # Set permissions sudo chmod 1777 ${RAM_DISK}/tmp # Set up jimbo user sudo schroot -c jimbo --run-session -- mkdir -p /home/jimbo sudo schroot -c jimbo --run-session -- chown jimbo:jimbo /home/jimbo # touch nginx pid file, nginx mkdir -p /run/nginx sudo touch /run/nginx/nginx.pid sudo schroot -c jimbo --directory=/home/jimbo -- nginx # Note: make sure /etc/resolve.conf has DNS value such as nameserver 8.8.8.8 and nameserver 8.8.4.4 # sudo mount --bind /run/systemd/resolve/resolv.conf ${RAM_DISK}/etc/resolv.conf #echo "nameserver 8.8.8.8" | sudo tee ${RAM_DISK}/etc/resolv.conf #echo "nameserver 8.8.4.4" | sudo tee -a ${RAM_DISK}/etc/resolv.conf #echo "It works, cocksucker!" | sudo tee -a ${RAM_DISK}/var/www/localhost/htdocs/index.html #sudo schroot -c jimbo #sudo schroot -c jimbo --directory=/home/jimbo {/pre} A more complex script removes the mounts, but requires MAKEDEV to be copied into alpine-minirootfs-3.20.0-x86_64.tar.gz {pre} #!/bin/bash # Set variables RAMDISK_SIZE="1G" RAM_DISK="/mnt/ramdisk" # Create the mount point if it doesn't exist mkdir -p $RAM_DISK # Mount the RAM disk mount -t tmpfs -o size=$RAMDISK_SIZE tmpfs $RAM_DISK # Configure schroot # sudo apt-get install schroot # [jimbo] # description=Chroot for username # directory=/mnt/ramdisk # users=jimbo # root-groups=root # Make filesystem sudo tar -xzf /home/x/ram_disk/alpine-minirootfs-3.20.0-x86_64.tar.gz -C ${RAM_DISK} # Set permissions sudo chmod 1777 ${RAM_DISK}/tmp #Make dev mkdir -p ${RAM_DISK}/dev sudo schroot -c jimbo -u root -- sh -c "cd /dev && /usr/sbin/MAKEDEV std" sudo schroot -c jimbo --run-session -- mount -t dev dev /dev # Setup proc within the chroot, do not bind mkdir -p ${RAM_DISK}/proc sudo schroot -c jimbo --run-session -- mount -t proc proc /proc # Setup sys in ram, do not bind mkdir -p ${RAM_DISK}/sys sudo schroot -c jimbo --run-session -- mount -t sysfs sysfs /sys # Setup run in ram, do not bind, no mont required mkdir -p ${RAM_DISK}/run mkdir -p ${RAM_DISK}/run/nginx sudo touch ${RAM_DISK}/run/nginx/nginx.pid ########################################################## # Every program requires a pid to be made from this script ########################################################## # Set up jimbo user sudo schroot -c jimbo --run-session -- mkdir -p /home/jimbo sudo schroot -c jimbo --run-session -- chown jimbo:jimbo /home/jimbo # Enter chroot and start services, run applications at boot sudo schroot -c jimbo --directory=/home/jimbo -- nginx # Add permanent resolve.conf to alpine-minirootfs-3.20.0-x86_64.tar.gz # rather than generating it. # Note: make sure /etc/resolve.conf has DNS value such as nameserver 8.8.8.8 and nameserver 8.8.4.4 # sudo mount --bind /run/systemd/resolve/resolv.conf ${RAM_DISK}/etc/resolv.conf #echo "nameserver 8.8.8.8" | sudo tee ${RAM_DISK}/etc/resolv.conf #echo "nameserver 8.8.4.4" | sudo tee -a ${RAM_DISK}/etc/resolv.conf #echo "It works, cock." | sudo tee -a ${RAM_DISK}/var/www/localhost/htdocs/index.html # How to login #sudo schroot -c jimbo #sudo schroot -c jimbo --directory=/home/jimbo {/pre} The root filesystem used with the above changes: [alpine-minirootfs-3.20.0-x86_64.tar.gz|https://imtcoin.com/images/alpine-minirootfs-3.20.0-x86_64.tar.gz]
Password
Summary of changes
📜
⏱️
⬆️