Arch Notes:

default

 
systemctl start sshd.service
# Start the sshd service
# Start a service

systemctl enable sshd.service
# Start sshd service on bootup
# Start a service on boot

lspci -vnn -d 14e4:
# View wireless card (used this to find out what broadcom I had)

synclient TouchpadOff=1
# Turn touchpad off. (synclient may need to be installed; already was for me)

setxkbmap -variant intl
# Switch keyboard variant to intl, which lets you
# type spanish accent marks with 'e, 'a ~n, altR!, etc.
# Does this under us layout at least. Is not persistent
# through reboots, but could be added to .xintrc, etc.

sleep 1 && xset dpms force off
# Turn off backlight (will turn back on with mouse or keyboard input)

~?
# SSH list of options / show ssh help

Press enter, then:
~.
# Terminate ssh session
# Use this when ssh session disconnecte and it is stuck

ls --color | less -R
# Have color when piping ls to less

ls -d */
# List only directories

ls -d .*/
# List hidden directories (will error if non exist)

du -a | sort -n -r | head -n 10
du -a /this/location | sort -n -r | head -n 10
# Find the 10 largest files

du -hs * | sort -rh | head -10
# Show 10 largest files human readable

du -Sh | sort -rh | head -10
# Show largest directories separating sub directories

find -type f -exec du -Sh {} + | sort -rh | head -10
find /home/here -type f -exec du -Sh {} + | sort -rh | head -10
# Display larget files in directory

sudo mount -o gid=users,fmask=113,dmask=002 /dev/sdb1 /mnt/usbstick
# Mount usb drive with permission for any user to write to it

mount -o loop /path-to/image.iso /mnt/mountpoint
# Mount an iso

ntfs-3g /dev/ntfsPartition /mount/folderPoint

find . -name "index.html*" -type f -delete
# Delete all files that begin with index.html

cups-pdf
The default location for
pdf output is /var/spool/cups-pdf/$username.

rsync -avPH -e "ssh -p123" ~/local/folder/* username@192.167.1.2:/home/userName/remoteFolder
# Transfer files from local machine to remote machine
# That is all one line
# -a = archive (-rlptgoD)
# -v = verbose
# -P = --partial --progress (resume and progress bar)
# -H = preserver hard links
# -e = remote shell to use (ssh in this case)
# Add a trailing slash on source to backup files, without folder

rsync -avPh -e 'ssh -p123' mememe@192.118.22.82:/usr/home/youyou/work /home/mememe/bkup
# Transfer files from remote machine to local machine

import $(date '+%Y-%d-%m_%H:%M:%S').png
# Use imagemagick to create a screenshot by clicking the
# desired window. Naming files with dates; so they are
# in order taken.

convert ./*.png pdfs/somePdfToMakeFromPics.pdf
# Use imagemagick to convert a group of pngs to a pdf

ffmpeg -i someInputVideo.mov -c:v h264 -c:a aac someOutputVideo.mkv
# Convert an mov to an mkv using h264 video and aac for audio
# -c is to copy file rather than reencode it again. (which would make
# quality ever worse)
# Used this because VLC was only playing audio of an mov
# and video was not working

xrandr
Show available displays

xrandr --output VGA-0 --auto --left-of eDP
Bring up vga monitor left of eDP (laptop screen).

xrandr --output HDMI-1 --auto
xrandr --output HDMI-1 --left-of LVDS-1
# Get HDMI Tv to start working again after turning it
# off with:
# The auto got it to work again. --left-of
# Made it resize correctly
xrandr --output HDMI-1 --off

pacman --deps -S scsh
# Install scsh and all needed dependencies

pacman -S alsa-lib alsa-utils
pacman -S alsa-oss
# Install package(s) 

pacman -Ss xpdf
# Search pacman repository for xpdf

pacman -Si packageName
pacman -Qi packageName
# Get more info about package by name

pacman -Sf fontconfig
# Force update of one application

pacman -Su
# Update all packages on system
# Usually want to use: -Syu

pacman -Syu
# Sync repository database and update system

yaourt -Sf xorg-server
# Force install

pacman -Ql package
# Retrieve list of files installed by package

options snd-pcsp index=2
# Add to /etc/modprobe.conf to load pcsp last

MODULE=(... !snd_pcsp)
# Add to /etc/rc.conf
# To stop pcsp from loading pacman -S pulseaudio # Needed to get sound in flash gpasswd -a beastie audio # Add user beastie to audio group for playing purposes gpasswd -d [user] [group] # Remove user from group usermod -aG [group] [user] # Add user to a group adduser # Add user to system userdel # Delete user cat /etc/group # List all groups on system groups # List groups your user is in find /* -group groupName # List files owned by a group groupadd groupName # Create new group groupdel groupName # Remove group alsamixer # Bring up sound control amixer set Master 90% unmute
amixer set PCM 85% unmute # Set volume from command line alsactl store # Save audio settings arch=('x86_64') # Can be added to PKGBUILD to try to support 64bit /home/meUser/.mozilla/firefox/6yq6uxu4.default/extensions/VMwareVMRC@vmware.com/plugins/vmware-vmrc -h localhost:8333 -u root # Start vmware from command line mplayer -v -nocache -playlist "http://yp.shoutcast.com/sbin/tunein-station.pls?id=9768" # Play song of shoutcast with mplayer nitrogen /path/to/pic/dir/ # Set wallpaper nitrogen --restore & # Add to .xinitrc for restore of bkgrndPic date --set ='+60 minutes' # Move time ahead 60 minutes setterm -blength 0 # Turn off annoying beep in bash wodim -v dev=/dev/cdrw isoImage.iso # Burn an iso aumix # Volume controls from a command in app #-------vmwareServer2---------- /etc/init.d/vmware-mgmt start start vmware server 2 * wrong /etc/init.d/vmware start start vmware server 2 #-------vmwareServer2---------- # If you keep getting this error when trying to install a specific # package, and pacman-key is set up properly, try deleting the cache, # maybe the download actually is corrupt. # signature from "Some Person " is invalid or corrupt. # First try updating keyring: pacman-key --refresh-keys # # If that does not work try removing the package: rm /var/cache/pacman/pkg/corruptPackage # when running pacman -Syu this error harrrassed me: #-------------------------------------------------- # 100%error: failed to commit transaction (conflicting files) # fontconfig: /etc/fonts/conf.d/20-unhint-small-vera.conf exists in filesystem # fontconfig: /etc/fonts/conf.d/29-replace-bitmap-fonts.conf exists in filesystem # fontconfig: /etc/fonts/conf.d/30-metric-aliases.conf exists in filesystem # fontconfig: /etc/fonts/conf.d/30-urw-aliases.conf exists in filesystem # fontconfig: /etc/fonts/conf.d/40-nonlatin.conf exists in filesystem # fontconfig: /etc/fonts/conf.d/45-latin.conf exists in filesystem # fontconfig: /etc/fonts/conf.d/49-sansserif.conf exists in filesystem # fontconfig: /etc/fonts/conf.d/50-user.conf exists in filesystem # fontconfig: /etc/fonts/conf.d/51-local.conf exists in filesystem # fontconfig: /etc/fonts/conf.d/60-latin.conf exists in filesystem # fontconfig: /etc/fonts/conf.d/65-fonts-persian.conf exists in filesystem # fontconfig: /etc/fonts/conf.d/65-nonlatin.conf exists in filesystem # fontconfig: /etc/fonts/conf.d/69-unifont.conf exists in filesystem # fontconfig: /etc/fonts/conf.d/80-delicious.conf exists in filesystem # fontconfig: /etc/fonts/conf.d/90-synthetic.conf exists in filesystem # Errors occurred, no packages were upgraded. pacman -Sf fontconfig # booyaoh! Fixed. # Now this works: pacman -Syu # Old Arch Install Notes: ################################################### # These notes are for several different installs over years. # Usually commenting out the old differences from the current # machine. So don't copy blindly. I don't clean it up as a # reminder of the olden. # Some things have changed since I last tried Arch. Seems like # less configuration is going in /etc/rc.conf. Also the # /arch/setup script seems to be chased off. # ifconfig not around: (ip addr show) # http://www.archlinux.org/news/deprecation-of-net-tools/ # Installing Arch # https://wiki.archlinux.org/index.php/Beginners'_Guide # https://wiki.archlinux.org/index.php/installation_guide # You should probably head there if you are having to read this. # These are just my notes for installing in a virtualbox. # Extra info on archGuest in vbox: # https://wiki.archlinux.org/index.php/Arch_Linux_VirtualBox_Guest # Boot from cd. Should auto login as root, if not login as # root with no password. rmmod pcspkr # Turn off beeps (during install) timedatectl set-ntp true # Sync to ntp time # Make sure you are online before running this timedatectl status # Check status of timedatectl fdisk -l lsblk # Shows disk info, in case you don't know it already (ex: /dev/sda) ----------- #/arch/setup # Will start the install process (no longer works with newer isos) # No longer exists ----------- wipefs /dev/sda # Can run this to clear out a preused drive #Older version #cfdisk /dev/sda #New->primary->chosenSize->beginning->Type->83->bootable #New->primary->chosenSize->beginning->Type->82 #New->primary->chosenSize->beginning->Type->83 #Write #Quit # Partition the drive with chosen tool cfdisk /dev/sda Choose gpt # Create boot bios partition for grub (grub-legacy was different) New->1M->Type->BIOS boot New->choosenSize->(defaults to linuz filesystem) # This machine is only getting one partition (besides boot-bios) Write Quit #mkfs.ext4 /dev/sda1 #mkfs.ext4 /dev/sda3 mkfs.ext4 /dev/sda2 #mkswap /dev/sda2 && swapon /dev/sda2 # Don't need if not using swap partition #mount /dev/sda1 /mnt mount /dev/sda2 /mnt #mkdir /mnt/home && mount /dev/sda3 /mnt/home # If only using one partition, not needed #------------------------------------------------------------------- # rankmirrors seems to already be applied to /etc/pacman.d/mirrorlist # may want to double check before going further # The following will give the quickests 6: cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup sed '/^#\S/ s|#||' -i /etc/pacman.d/mirrorlist.backup rankmirrors -n 6 /etc/pacman.d/mirrorlist.backup > /etc/pacman.d/mirrorlist rankmirrors -h #for list of options # more info found here: # https://wiki.archlinux.org/index.php/Mirrors#Sorting_mirrors #------------------------------------------------------------------- pacstrap /mnt base base-devel genfstab -Up /mnt >> /mnt/etc/fstab # Run genfstab by itself to see options or genfstab -h arch-chroot /mnt # This will mount with sh as default shell. # arch-chroot /mnt /bin/bash # Would jump into bash. (could always run bash after anyway.) # Although arch uses zsh from boot, it will need to be installed now. ----------------------------------------------- seems /etc/rc.conf is losing most of it's reign ----------------------------------------------- vi /etc/hostname add-chosenHostname vi /etc/hosts append-chosenHostname-after-localhost add-this-line-if-using-static-ip= 192.168.1.1xx chosenHostname.domain.org chosenHostname vi /etc/vconsole.conf KEYMAP=us FONT= FONT_MAP= ls /usr/share/zoneinfo ls /usr/share/zoneinfo/US # Location of timzones. Can see all tzselect # Select time zone ln -s /usr/share/zoneinfo/US/Central /etc/localtime vi /etc/locale.gen uncomment chosen lines locale-gen vi /etc/locale.conf LANG=en_US.UTF-8 export LANG=en_US.UTF-8 hwclock --systohc --utc (make sure HARDWARECLOCK in /etc/rc.conf is not set, if using this!) -------------------------------------------------------- ip addr show ip route show looks like ifconfig not around: http://www.archlinux.org/news/deprecation-of-net-tools/ -------------------------------------------------------- vi /etc/rc.conf DAEMONS=(... network ...) #<-make sure network is listed on this line #gonna add static ip interface=eth0 address=192.168.0.67 netmask=255.255.255.0 broadcast=192.168.0.255 gateway=192.168.0.254 vi /etc/resolv.conf nameserver 8.8.8.8 nameserver 8.8.4.4 search example.com #pacman -S grub-bios #grub-install --target=i386-pc --recheck /dev/sda # Think this changed to: pacman -S grub grub-install /dev/sda #mkdir -p /boot/grub/locale #cp /usr/share/locale/en\@quot/LC_MESSAGES/grub.mo /boot/grub/locale/en.mo # Think this was for grub-legacy grub-mkconfig -o /boot/grub/grub.cfg passwd echo "blacklist pcspkr" > /etc/modprobe.d/nobeep.conf # Keep beep off on boots exit #umount /mnt/{boot,home,} umount /mnt reboot #take out cd (hurry!) vi /etc/resolv.conf nameserver 8.8.8.8 nameserver 8.8.4.4 search example.com vi /etc/pacman.conf # only add this if on 64bit and want to run 32bit apps [multilib] Include = /etc/pacman.d/mirrorlist pacman -Syu # Run this after adding multilib pacman -S reflector cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup reflector -l 6 --sort rate --save /etc/pacman.d/mirrorlist ----------------------------------------------------------------------------- reflector --help # for more info double check /etc/pacman.d/mirrorlist for quirks before running below command ----------------------------------------------------------------------------- pacman -Syy pacman -Syu ------------------------------------ pacman -Syu is same as: pacman --sync --refresh --sysupgrade ------------------------------------ ------------------------------------ reboot if their was a kernel upgrade ------------------------------------ #adduser # No longer around, can be added through aur pacman -S zsh useradd -m -G wheel -s /usr/bin/zsh joejoe # Add user and put them in additional group wheel # Make sure zsh is installed. -------------------------------------------------------------------------------------- #or non-interactive: #useradd -m -g users -G audio,games,log,lp,optical,power,scanner,storage,video,wheel -s /bin/bash coolusername # Don't add to all these groups anymore, since systemd. -------------------------------------------------------------------------------------- #pacman -S virtualbox-archlinux-additions # Old additions pacman -S virtualbox-guest-utils pacman -S virtualbox-guest-modules modprobe -a vboxguest vboxsf vboxvideo vi /etc/modules-load.d/vbox.conf vboxguest vboxsf vboxvideo #vboxdrv #vboxnetadp #vboxnetflt --------------------- add this to .xinitrc: VBoxClient-all & --------------------- ------------------------------------------------- ps aux | grep -i vbox will show which VBoxClient services are running ------------------------------------------------- vi /etc/rc.conf #to syncronise guest date with host add vbox-service to DAEMONS: DAEMONS=(... vbox-service ...) lspci | grep -e VGA -e 3D # Find out what kind of video card it is. pacman -Ss xf86-video # List of video card drivers (-Ss xorg-drivers will give more drivers) pacman -S mesa pacman -S xf86-video-intel # Install intel driver pacman -S xorg-server xorg-xinit xorg-server-utils cp /etc/X11/xinit/xinitrc ~/.xinitrc lspci | grep VGA pacman -S rxvt-unicode urxvt-perls xorg-xrdb # Install urxvt and perl keyboard shorcuts # xrdb for reloading .Xresources file pacman -S vim pacman -S emacs pacman -S i3-wm i3status i3lock # Install i3 window manager # The i3 config file can be found in ~/.i3/config or ~/.config/i3/config # after running i3 for the 1st time and generating an config file. # Turn off alert box prompt when exiting i3. i3 will exit immediately vi .config/i3/config # # find this line and comment it out with a #: bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'" # # replacing it with: bindsym $mod+Shift+e exit # # Add line to stop foucs chasing mouse around focus_follows_mouse no vi .xinitrc # Append a line to start syndaemon. syndaemon can be used to stop # touchpad tapping while typing exec syndaemon -i 2 -t -k & # synclient MaxTapTime=0 synclient MaxTapMove=0 synclient VertTwoFingerScroll=0 # Turn off mouse tap # Turn off scrolling with two fingers, as it # creates a mouse tap also. # Note: These could also be turned off in xorg.conf # This way you can change them off and on at will exec i3 #-------------------------------------------- # If you want to start i3 with debugging use: vi .xinitrc exec i3 -V >> ~/.i3/i3log 2>&1 #add this to i3's output (for debugging) #----------------------------------------- mkdir ~/.local/share/fonts pacman -R ttf-dejavu -------------- log on as user -------------- ------------------------------------------ # Theses notes are for virtual box install vi .xinitrc VBoxClient-all & exec i3 #end-virtualbox ------------------------------------------ cp /etc/i3/config ~/.i3/config #if you don't do this i3 prompt to do it for you on first run #and give choice for mod1 or mod4 as modifier key #(at time of writing) #keep in mind if you use mod4 certain keys will be overidden if windows #is the host. Such as mod4-l and mod4-u startx # If running in vbox, make sure it's tools are running ps aux | grep -i vbox pacman -S wget pacman -S git # Install git cd ~ && mkdir gitted && cd gitted # Create a folder to store repositories I've gitted git clone https://github.com/pbrisbin/aurget cd aurget ./aurget -S aurget # Lazy way to install aurget # Works like pacman but for the AUR: # aurget -Ss somePkgName pacman -S alsa-utils # Sound support amixer sset Master unmute # Unmute master channel alsamixer # Run alsamixer and set volume lspci -k # List all pci devices lsusb -v # List all usb devices pacman -S wpa_supplicant wifi-menu netctl # Tools for wifi wifi-menu # Choose wireless point and enter pass sudo netctl start wlp2s0b1-wifiRtr22 # Start wireless with netctl pacman -S xorg-xev # Get codes for keyboard keys in order get some of # the Fn keyboard shortcuts to work, that are # not working. Specifically turn off touchpad with # Fn+F5. Also add xbacklight to arrow keys, since # brightness is not working on this laptop: Dell E6230 xev | grep -A2 --line-buffered '^KeyRelease' | sed -n '/keycode /s/^.*keycode \([0-9]*\).* (.*, \(.*\)).*$/\1 \2/p' # Just show keycode and key # On this laptop: # Fn+F5 actually shows: 199 XF86TouchpadToggle # Fn+UpArrow = 233 XF86MonBrightnessUp # Fn+DownArrow = 232 XF86MonBrightnessDown # Mute Media Key = 121 XF86AudioMute # Volume lower key = 122 XF86AudioLowerVolume # Volume raise key = 123 XF86AudioRaiseVolume # Keyboard keys may differ per machine pacman -S xbindkeys # Install xbindkeys to map Fn+F5 (XF86TouchpadToggle) # to a .sh script that will do the toggling pacman -S xorg-xbacklight # Change backlight brightness # Usage: xbacklight -20 vim ~/.xbindkeysrc ######################### # To reload this file use: # xbindkeys -p # To make it permanent add it to .xinitrc # right before calling i3wm "~/mySystemScripts/touchpadToggle.sh" XF86TouchpadToggle # Run touchpadToggle.sh when XF86TouchpadToggle key # is pressed. Fn+F5 on this machine. "xbacklight +5" XF86MonBrightnessUp # Make backlight brighter with Fn+UpArrow (this machine) "xbacklight -5" XF86MonBrightnessDown # Make backlight dimmer with Fn+DownArrow (this machine) "amixer -c 0 set Master toggle" XF86AudioMute # Mute by pressing Mute button (top left corner on this machine) # -c = card 0 # Master needs to be capitalized "amixer -c 0 set Master 5-" XF86AudioLowerVolume # Use lower volume button (actual key on this keyboard) "amixer -c 0 set Master 5+" XF86AudioRaiseVolume # Use raise volume button (actual key on this keyboard) ##end-.xbindkeysrc ######################### ##################### ## MariaDB Install ## ##################### pacman -S mariadb # Install mariadb (mysql) mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql # Initialize some setting before starting. systemctl start mysqld.service # Start mariadb cd '/usr' ; /usr/bin/mysqld_safe --datadir='/var/lib/mysql' # Alternative way to start mariadb mysql_secure_installation # You can secure the mariadb by hand or this script. # Set mysql root password, remove anonymous users, # disable remote root login, remove test database and # access. Reload the privilege table mysql -u root -p # Login to mysql # -u = user # -p = password (will prompt if left blank) CREATE DATABASE IF NOT EXISTS samthemandb; CREATE USER 'samtheman'@'localhost' IDENTIFIED BY 'fromalabam'; GRANT ALL PRIVILEGES ON samthemandb.* TO 'samtheman'@'localhost'; FLUSH PRIVILEGES; # Create a database. # Create a user with given name and password. # Giver user permissions to chosen database (from localhost only). # Make changes to permissions take effect. mysqld --help --verbose | grep 'Default options' -A1 # Check to see which order mariadb config files are being read in. find /etc -name my.cnf # This install it is located: /etc/mysql/my.cnf #-------------------- vim /etc/mysql/my.cnf init_connect = 'SET collation_connection = utf8_general_ci,NAMES utf8' collation_server = utf8_general_ci character_set_client = utf8 character_set_server = utf8 # Find the section labeled [mysqld] and add # the above for UTF8 support skip-networking # Turn off networking (don't listen on 3306) # Find the above line and uncomment it (#skip-networking). auto-rehash # no-auto-rehash # Turn on tab-completion # Comment out the line (no-auto-rehash) and add: auto-rehash #end-my.cnf #---------- systemctl restart mysqld.service # Restart mariadb to use new settings. ##end-mariadb-install ##################### #################### ## Apache Install ## #################### pacman -S apache # Install apache sudo systemctl start httpd.service # Start apache pacman -S php php-apache # Install php ############################## ## Misc Programs to install ## ############################## pacman -S lm_sensor # Simple command line hardware monitor # To check laptop fan speed # Usage: sensors -f # -f = fahrenheit pacman -S unrar # Extract rar files # Usage: unrar x someFileName # x = extract with paths # Run unrar with no options or file for help pacman -S sharutils # Needed this to decode uuencoded files # Usage: uudecode yeahThisFile.uue ############################### ## Scripts used in this file ## ############################### ############################################################ ## touchpadToggle.sh #!/usr/bin/env bash # Toggle synclient's TouchpadOff on|off # Used for binding to Fn+F5 or some other key # Using xbindkeys for the binding tPadToggle=$(awk '/TouchpadOff/ {print $3}' <(synclient -l)) case "$tPadToggle" in 0) synclient TouchpadOff=1 # Turn on touchpad if it is off ;; 1) synclient TouchPadOff=2 # Turn on touchpad # 2 = on with no tapping or scrolling (not working) # using synclient in .xinitrc to turn those off. ;; 2) synclient TouchPadOff=1 # My system is defaulting to 2 rather than 0 # Might have to do with .xinitrc synclient # settings I am using ;; *) exit 1 esac ##end-touchpadToggle.sh ############################################################ #--------------------------------- ##end-scripts-used-in-this-file ## ################################## #+++++++++++++++++++++++++++ #+ Issues During Installs ++ #+++++++++++++++++++++++++++ #---------------------------------------- #- Invalid partition table! Dell E6230 -- #---------------------------------------- # After going through install got: # Invalid partition table! # I had a problem like this a long time ago and ended up using # MBR instead of GPT and it worked, but I think this one is # related to the BIOS possibly. # Booting from install media and running: parted /dev/sda disk_toggle pmbr_boot quit reboot # Fixed the problem. Seems bios wanted a boot flag set. #----------------------------- #- Extra signatures on disk -- #----------------------------- # When trying to mount /dev/sda1 with: mount /dev/sda1 /mnt # Was given an error/warning about extra signatures. # (This used to be a freebsd drive with zfs.) # It advised I use wipefs: wipefs /dev/sda1 # Shows I have the ext4 that was just created, but also has zfs_member. # Removed it with: wipefs -o 0x4a85bff000 # Run wipefs again and see there is another one. Seems to only # get rid of the first zfs_member it runs into. wipefs /dev/sda1 # Tried to use: wipefs -a -t zfs_member /dev/sda1 # To get rid of all zfs_member, but could not figure out correct syntax. # Run it a couple times on offsets and see if only a couple. wipefs -o 0x4a85bfe000 wipefs -o 0x4a85bfd000 wipefs -o 0x4a85bff000 # Nope could be doing this all day. # Grab the offset with awk: wipefs /dev/sda1 | grep zfs | awk '{print $1}' # Chunk offsets with a for loop: (not sure how many, but can try 200 first) for i in {1..200}; wipefs -o `wipefs /dev/sda1 | grep zfs | awk '{print $1}'` /dev/sda1 # Oh yeah look at em go... Hey wait your done! wipefs: invalid offset argument: '/dev/sda1' # ^C to get out of loop. Guess there was less than 200. # Run wipefs /dev/sda1 one more time, all looks good. mount /dev/sda1 /mnt # Good to glow. #-end-Extra-signatures-on-disk #---------------------------

default