move /media/A2SHARED to /srv/A2SERVER

This commit is contained in:
Ivan X 2015-12-09 20:39:09 -05:00
parent a90cd89288
commit 435857e3bb
16 changed files with 96 additions and 77 deletions

View File

@ -34,7 +34,7 @@ behavior like invisible files.
Unix-type computers can also use `scp` to copy files to and from A2SERVER; Unix-type computers can also use `scp` to copy files to and from A2SERVER;
Windows computers can also do so in the command window by using `pscp` in Windows computers can also do so in the command window by using `pscp` in
[PuTTY][1]. The shared volumes are within /media/A2SHARED. [PuTTY][1]. The shared volumes are within /srv/A2SERVER.
If you need to set the ProDOS file type of a file you have copied to A2SERVER, If you need to set the ProDOS file type of a file you have copied to A2SERVER,
[log in to A2SERVER](a2server_commands.md) and use `afptype`. [log in to A2SERVER](a2server_commands.md) and use `afptype`.

View File

@ -26,7 +26,7 @@ The default username is either "pi" for Raspberry Pi, and otherwise
standard installation of Raspbian; you can use the standard installation of Raspbian; you can use the
[installer script](a2server_installer.md) to install A2SERVER.) [installer script](a2server_installer.md) to install A2SERVER.)
Shared volumes can be found at /media/A2SHARED. Netatalk configuration files Shared volumes can be found at /srv/A2SERVER. Netatalk configuration files
are in /usr/local/etc/netatalk. are in /usr/local/etc/netatalk.
Once logged in, you can enter the following commands. Once logged in, you can enter the following commands.

View File

@ -21,7 +21,7 @@ themselves):
[Storage setup](scripts/a2server-1-storage.txt) (runs during initial setup, skipped on subsequent runs) [Storage setup](scripts/a2server-1-storage.txt) (runs during initial setup, skipped on subsequent runs)
* Make the /media/A2SHARED directory * Make the /srv/A2SERVER directory
[A2SERVER tools install](scripts/a2server-2-tools.txt) (always runs) [A2SERVER tools install](scripts/a2server-2-tools.txt) (always runs)

View File

@ -4,7 +4,7 @@
# skip if we're already set up # skip if we're already set up
if [[ -d /media/A2SHARED ]]; then if [[ -d /srv/A2SERVER ]]; then
echo "A2SERVER: Shared disk is already prepared for use." echo "A2SERVER: Shared disk is already prepared for use."
@ -12,8 +12,8 @@ else
echo "A2SERVER: Preparing the shared files disk..." echo "A2SERVER: Preparing the shared files disk..."
sudo mkdir /media/A2SHARED sudo mkdir /srv/A2SERVER
sudo chown $USER:$USER /media/A2SHARED sudo chown $USER:$USER /srv/A2SERVER
fi fi

View File

@ -213,7 +213,7 @@ fi
sudo sed -i \ sudo sed -i \
's/^#share1/\/media\/A2SHARED\/GSFILES\ GSFILES ea:ad/' \ 's/^#share1/\/media\/A2SHARED\/GSFILES\ GSFILES ea:ad/' \
/usr/local/etc/netatalk/AppleVolumes.default /usr/local/etc/netatalk/AppleVolumes.default
[[ -d /media/A2SHARED/GSFILES ]] || mkdir -p /media/A2SHARED/GSFILES [[ -d /srv/A2SERVER/GSFILES ]] || mkdir -p /srv/A2SERVER/GSFILES
# set up A2FILES share (for ProDOS 8 files, and GS/OS system) # set up A2FILES share (for ProDOS 8 files, and GS/OS system)
# file names must be ProDOS 8 compliant (all caps, 15 chars, letters/numbers/periods only) # file names must be ProDOS 8 compliant (all caps, 15 chars, letters/numbers/periods only)
@ -222,9 +222,9 @@ sudo sed -i \
sudo sed -i \ sudo sed -i \
's/^#share2/\/media\/A2SHARED\/A2FILES\ A2FILES options:prodos\ casefold:toupper ea:ad/' \ 's/^#share2/\/media\/A2SHARED\/A2FILES\ A2FILES options:prodos\ casefold:toupper ea:ad/' \
/usr/local/etc/netatalk/AppleVolumes.default /usr/local/etc/netatalk/AppleVolumes.default
[[ -d /media/A2SHARED/A2FILES ]] || mkdir -p /media/A2SHARED/A2FILES [[ -d /srv/A2SERVER/A2FILES ]] || mkdir -p /srv/A2SERVER/A2FILES
if [[ ! -d /media/A2SHARED/A2FILES/.AppleDesktop ]]; then if [[ ! -d /srv/A2SERVER/A2FILES/.AppleDesktop ]]; then
cd /media/A2SHARED/A2FILES cd /srv/A2SERVER/A2FILES
mkdir .AppleDesktop mkdir .AppleDesktop
ln -s .AppleDesktop .APPLEDESKTOP ln -s .AppleDesktop .APPLEDESKTOP
fi fi
@ -232,11 +232,11 @@ fi
# set up ADTDISKS share (ADTPro disk image folder, if A2CLOUD is installed) # set up ADTDISKS share (ADTPro disk image folder, if A2CLOUD is installed)
# classic Mac OS file names are allowed (31 chars, mixed case, everything but colons) # classic Mac OS file names are allowed (31 chars, mixed case, everything but colons)
if [[ -d /usr/local/adtpro/disks ]]; then # A2CLOUD/ADTPro installed if [[ -d /usr/local/adtpro/disks ]]; then # A2CLOUD/ADTPro installed
if [[ ! -d /media/A2SHARED/ADTDISKS ]]; then if [[ ! -d /srv/A2SERVER/ADTDISKS ]]; then
ln -s /usr/local/adtpro/disks /media/A2SHARED/ADTDISKS ln -s /usr/local/adtpro/disks /srv/A2SERVER/ADTDISKS
fi fi
if [[ ! $(grep ADTDISKS /usr/local/etc/netatalk/AppleVolumes.default) ]]; then if [[ ! $(grep ADTDISKS /usr/local/etc/netatalk/AppleVolumes.default) ]]; then
sudo sed -i 's@^# End of File@/media/A2SHARED/ADTDISKS ADTDISKS ea:ad\n\n# End of File@' /usr/local/etc/netatalk/AppleVolumes.default sudo sed -i 's@^# End of File@/srv/A2SERVER/ADTDISKS ADTDISKS ea:ad\n\n# End of File@' /usr/local/etc/netatalk/AppleVolumes.default
fi fi
fi fi

View File

@ -6,15 +6,15 @@
# program (for Apple IIe users, and IIgs users in ProDOS network mode). # program (for Apple IIe users, and IIgs users in ProDOS network mode).
# It also can download and install GS/OS for a network boot configuration. # It also can download and install GS/OS for a network boot configuration.
gsosDir="/media/A2SHARED/A2FILES" gsosDir="/srv/A2SERVER/A2FILES"
imagesDir=$gsosDir/GSOS.INSTALLER/IMAGES imagesDir=$gsosDir/GSOS.INSTALLER/IMAGES
imageToolsDir=$gsosDir/GSOS.INSTALLER/IMAGE.TOOLS imageToolsDir=$gsosDir/GSOS.INSTALLER/IMAGE.TOOLS
netInstallDir=$gsosDir/GSOS.INSTALLER/NET.INSTALL netInstallDir=$gsosDir/GSOS.INSTALLER/NET.INSTALL
p8Dir="/media/A2SHARED/A2FILES" p8Dir="/srv/A2SERVER/A2FILES"
diskToolsP8Dir=$p8Dir/DISK.TOOLS.P8 diskToolsP8Dir=$p8Dir/DISK.TOOLS.P8
commDir="/media/A2SHARED/A2FILES/COMM" commDir="/srv/A2SERVER/A2FILES/COMM"
spectrumDir=$commDir/SPECTRUM spectrumDir=$commDir/SPECTRUM
protermDir=$commDir/PROTERM protermDir=$commDir/PROTERM
zlinkDir=$commDir/Z.LINK zlinkDir=$commDir/Z.LINK
@ -116,7 +116,7 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupNetBoot ]]; then
mkatinit -gs -d -f # GS/OS registered user and Guest starts up with SYSTEM/FINDER mkatinit -gs -d -f # GS/OS registered user and Guest starts up with SYSTEM/FINDER
mkatinit -d -f guest # ProDOS 8 Guest starts up with BASIC.SYSTEM (no registered user) mkatinit -d -f guest # ProDOS 8 Guest starts up with BASIC.SYSTEM (no registered user)
if [[ -f "/media/A2SHARED/A2FILES/SYSTEM/START.GS.OS" ]]; then if [[ -f "/srv/A2SERVER/A2FILES/SYSTEM/START.GS.OS" ]]; then
echo "A2SERVER: GS/OS has already been downloaded and installed." echo "A2SERVER: GS/OS has already been downloaded and installed."
gsosInstall=1 gsosInstall=1
else else

View File

@ -62,7 +62,7 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupWindowsSharing ]]; then
echo "A2SERVER: $sharename is already set up for Windows file sharing." echo "A2SERVER: $sharename is already set up for Windows file sharing."
else else
echo "[$sharename]" | sudo tee -a /etc/samba/smb.conf > /dev/null echo "[$sharename]" | sudo tee -a /etc/samba/smb.conf > /dev/null
echo " path = /media/A2SHARED/$sharename" | sudo tee -a /etc/samba/smb.conf > /dev/null echo " path = /srv/A2SERVER/$sharename" | sudo tee -a /etc/samba/smb.conf > /dev/null
echo " browsable = yes" | sudo tee -a /etc/samba/smb.conf > /dev/null echo " browsable = yes" | sudo tee -a /etc/samba/smb.conf > /dev/null
echo " guest ok = yes" | sudo tee -a /etc/samba/smb.conf > /dev/null echo " guest ok = yes" | sudo tee -a /etc/samba/smb.conf > /dev/null
echo " read only = no" | sudo tee -a /etc/samba/smb.conf > /dev/null echo " read only = no" | sudo tee -a /etc/samba/smb.conf > /dev/null

View File

@ -47,8 +47,8 @@ alias appletalk-on='sudo sed -i "s/ATALKD_RUN=no/ATALKD_RUN=yes/" /etc/default/n
NETATALK="/usr/local/etc/netatalk" NETATALK="/usr/local/etc/netatalk"
A2FILES="/media/A2SHARED/A2FILES" A2FILES="/srv/A2SERVER/A2FILES"
GSFILES="/media/A2SHARED/GSFILES" GSFILES="/srv/A2SERVER/GSFILES"
alias netboot-gsos="mkatinit -gs -d -f" alias netboot-gsos="mkatinit -gs -d -f"
alias netboot-gsos-guest="mkatinit -gs -d -f guest" alias netboot-gsos-guest="mkatinit -gs -d -f guest"
@ -70,9 +70,9 @@ alias samba-start='[[ $(lsb_release -d 2> /dev/null | grep Ubuntu) ]] && { sudo
alias samba-restart='[[ $(lsb_release -d 2> /dev/null | grep Ubuntu) ]] && { sudo initctl restart smbd; sudo initctl restart nmbd; } || { sudo /etc/init.d/samba restart; }' alias samba-restart='[[ $(lsb_release -d 2> /dev/null | grep Ubuntu) ]] && { sudo initctl restart smbd; sudo initctl restart nmbd; } || { sudo /etc/init.d/samba restart; }'
alias gsfiles-share="sudo sed -i 's/^\/media\/A2SHARED\/GSFILES\ GSFILES options:prodos/#share1/' /usr/local/etc/netatalk/AppleVolumes.default" alias gsfiles-share="sudo sed -i 's/^\/media\/A2SHARED\/GSFILES\ GSFILES options:prodos/#share1/' /usr/local/etc/netatalk/AppleVolumes.default"
alias gsfiles-unshare="sudo sed -i 's/^#share1/\/media\/A2SHARED\/GSFILES\ GSFILES options:prodos/' /usr/local/etc/netatalk/AppleVolumes.default; [[ -d /media/A2SHARED/GSFILES ]] || mkdir /media/A2SHARED/GSFILES" alias gsfiles-unshare="sudo sed -i 's/^#share1/\/media\/A2SHARED\/GSFILES\ GSFILES options:prodos/' /usr/local/etc/netatalk/AppleVolumes.default; [[ -d /srv/A2SERVER/GSFILES ]] || mkdir /srv/A2SERVER/GSFILES"
alias a2files-share="sudo sed -i 's/^\/media\/A2SHARED\/A2FILES\ A2FILES options:prodos\ casefold:toupper/#share2/' /usr/local/etc/netatalk/AppleVolumes.default" alias a2files-share="sudo sed -i 's/^\/media\/A2SHARED\/A2FILES\ A2FILES options:prodos\ casefold:toupper/#share2/' /usr/local/etc/netatalk/AppleVolumes.default"
alias a2files-unshare="sudo sed -i 's/^#share2/\/media\/A2SHARED\/A2FILES\ A2FILES options:prodos\ casefold:toupper/' /usr/local/etc/netatalk/AppleVolumes.default; [[ -d /media/A2SHARED/A2FILES ]] || mkdir /media/A2SHARED/A2FILES" alias a2files-unshare="sudo sed -i 's/^#share2/\/media\/A2SHARED\/A2FILES\ A2FILES options:prodos\ casefold:toupper/' /usr/local/etc/netatalk/AppleVolumes.default; [[ -d /srv/A2SERVER/A2FILES ]] || mkdir /srv/A2SERVER/A2FILES"
alias showalias="alias | cut -d= -f 1 | cut -d' ' -f2 | more" alias showalias="alias | cut -d= -f 1 | cut -d' ' -f2 | more"

View File

@ -3,18 +3,29 @@
# --- Setting up the share volume # --- Setting up the share volume
# 1.3.0: move /media/A2SHARED (pre-1.3.0) to /srv/A2SERVER
if [[ -d /media/A2SHARED ]]; then
echo "A2SERVER: Moving /media/A2SHARED to /srv/A2SERVER..."
sudo /etc/init.d/netatalk stop &> /dev/null
sudo /etc/init.d/samba stop &> /dev/null
[[ ! -d /srv ]] && sudo mkdir -p /srv
sudo mv /media/A2SHARED /srv/A2SERVER
sudo sed -i 's|/media/A2SHARED|/srv/A2SERVER|g' /usr/local/etc/netatalk/AppleVolumes.default
[[ -f /etc/samba/smbd.conf ]] && sudo sed -i 's|/media/A2SHARED|/srv/A2SERVER|g' /etc/samba/smbd.conf
fi
# skip if we're already set up # skip if we're already set up
if [[ -d /media/A2SHARED ]]; then if [[ -d /srv/A2SERVER ]]; then
echo "A2SERVER: Shared disk is already prepared for use." echo "A2SERVER: Shared volume is already prepared for use."
else else
echo "A2SERVER: Preparing the shared files disk..." echo "A2SERVER: Preparing the shared files volume..."
sudo mkdir /media/A2SHARED sudo mkdir /srv/A2SERVER
sudo chown $USER:$USER /media/A2SHARED sudo chown $USER:$USER /srv/A2SERVER
fi fi

View File

@ -30,7 +30,7 @@ isJessie=
[[ ( -f /etc/debian_version ) && ( $(cut -c 1-2 < /etc/debian_version) == "8." ) ]] && isJessie=1 [[ ( -f /etc/debian_version ) && ( $(cut -c 1-2 < /etc/debian_version) == "8." ) ]] && isJessie=1
# skip this if already done # skip this if already done
if [[ -f /usr/local/etc/A2SERVER-version ]] && (( $(cat /usr/local/etc/A2SERVER-version) >= 101 )); then if [[ -f /usr/local/etc/A2SERVER-version ]] && (( $(head -c 3 /usr/local/etc/A2SERVER-version) >= 101 )); then
echo "A2SERVER: Netatalk is already installed." echo "A2SERVER: Netatalk is already installed."
@ -38,8 +38,11 @@ else
echo "A2SERVER: Installing Netatalk (this will take a while)..." echo "A2SERVER: Installing Netatalk (this will take a while)..."
# stop Netatalk if running (during upgrade) # stop Netatalk and samba if running (during upgrade)
[[ $(ps --no-headers -C afpd) ]] && sudo /etc/init.d/netatalk stop if [[ $(ps --no-headers -C afpd) ]]; then
sudo /etc/init.d/netatalk stop
sudo /etc/init.d/samba stop &> /dev/null
fi
if [[ ! -f /tmp/a2server-packageReposUpdated ]]; then if [[ ! -f /tmp/a2server-packageReposUpdated ]]; then
# prepare for installing packages # prepare for installing packages
@ -125,7 +128,7 @@ else
elif [[ $(apt-cache search '^libdb5.1-dev$') ]]; then elif [[ $(apt-cache search '^libdb5.1-dev$') ]]; then
sudo apt-get -y install libdb5.1-dev sudo apt-get -y install libdb5.1-dev
else else
echo "A2SERVER: WARNING: unknown version of libdb-dev is being installed" echo "A2SERVER: WARNING: unknown version of libdb-dev is being installed."
sudo apt-get -y install libdb-dev sudo apt-get -y install libdb-dev
fi fi
if [[ $isJessie ]]; then if [[ $isJessie ]]; then
@ -138,7 +141,7 @@ else
elif [[ $(apt-cache search '^libgcrypt11-dev$') ]]; then elif [[ $(apt-cache search '^libgcrypt11-dev$') ]]; then
sudo apt-get -y install libgcrypt11-dev sudo apt-get -y install libgcrypt11-dev
else else
echo "A2SERVER: WARNING: unknown version of libgcrypt-dev is being installed" echo "A2SERVER: WARNING: unknown version of libgcrypt-dev is being installed."
sudo apt-get -y install $(apt-cache search '^libgcrypt.*dev$' | sort -r | head -1 | cut -d ' ' -f 1) sudo apt-get -y install $(apt-cache search '^libgcrypt.*dev$' | sort -r | head -1 | cut -d ' ' -f 1)
fi fi
sudo apt-get clean sudo apt-get clean
@ -255,8 +258,8 @@ fi
# /usr/local/etc/netatalk/AppleVolumes.default # /usr/local/etc/netatalk/AppleVolumes.default
# 1.3.0: if GSFILES is being shared, make directory if not there # 1.3.0: if GSFILES is being shared, make directory if not there
if grep -q '^/media/A2SHARED/GSFILES' /usr/local/etc/netatalk/AppleVolumes.default; then if grep -q '^/srv/A2SERVER/GSFILES' /usr/local/etc/netatalk/AppleVolumes.default; then
[[ -d /media/A2SHARED/GSFILES ]] || mkdir -p /media/A2SHARED/GSFILES; [[ -d /srv/A2SERVER/GSFILES ]] || mkdir -p /srv/A2SERVER/GSFILES;
fi fi
# prior to 1.3.0: # prior to 1.3.0:
@ -268,17 +271,18 @@ fi
# see if shared already uses ciopfs (case-insensitive file system), and convert if not # see if shared already uses ciopfs (case-insensitive file system), and convert if not
# restore known GS/OS file paths to mixed case # restore known GS/OS file paths to mixed case
# set up ciopfs (case insensitive file system) for share # set up ciopfs (case insensitive file system) for share
if [[ -d /media/A2SHARED/A2FILES && ! -d /media/A2SHARED/.a2files ]]; then if [[ -d /srv/A2SERVER/A2FILES && ! -d /srv/A2SERVER/.a2files ]]; then
echo "A2SERVER: Converting A2FILES to support mixed case..." echo "A2SERVER: Converting A2FILES to support mixed case..."
sudo /etc/init.d/netatalk stop &> /dev/null sudo /etc/init.d/netatalk stop &> /dev/null
sudo /etc/init.d/samba stop &> /dev/null
if ! command -v getfattr &> /dev/null; then if ! command -v getfattr &> /dev/null; then
sudo apt-get -y install attr &> /dev/null sudo apt-get -y install attr &> /dev/null
sudo apt-get clean sudo apt-get clean
fi fi
rm /media/A2SHARED/A2FILES/.APPLEDESKTOP 2> /dev/null rm /srv/A2SERVER/A2FILES/.APPLEDESKTOP 2> /dev/null
mkdir -p /tmp/netboot mkdir -p /tmp/netboot
a2FilesList="$(wget -qO- http://ivanx.com/a2server/files/A2FILES-list.txt)" a2FilesList="$(wget -qO- http://ivanx.com/a2server/files/A2FILES-list.txt)"
find /media/A2SHARED/A2FILES -name '*' | tail -n +2 | tac | while read -d $'\n' thisFile; do find /srv/A2SERVER/A2FILES -name '*' | tail -n +2 | tac | while read -d $'\n' thisFile; do
mixedCase="${thisFile##*/}" mixedCase="${thisFile##*/}"
gsosPath=$(grep -i "^${thisFile}$" <<< "$a2FilesList") gsosPath=$(grep -i "^${thisFile}$" <<< "$a2FilesList")
[[ $gsosPath ]] && mixedCase="${gsosPath##*/}" [[ $gsosPath ]] && mixedCase="${gsosPath##*/}"
@ -290,22 +294,23 @@ if [[ -d /media/A2SHARED/A2FILES && ! -d /media/A2SHARED/.a2files ]]; then
fi fi
sudo mv "$thisFile" "${thisFile%/*}"/"$(tr [:upper:] [:lower:] <<< $mixedCase)" 2> /dev/null sudo mv "$thisFile" "${thisFile%/*}"/"$(tr [:upper:] [:lower:] <<< $mixedCase)" 2> /dev/null
done done
mv /media/A2SHARED/A2FILES /media/A2SHARED/.a2files mv /srv/A2SERVER/A2FILES /srv/A2SERVER/.a2files
mkdir /media/A2SHARED/A2FILES mkdir /srv/A2SERVER/A2FILES
sudo sed -i 's/casefold:toupper //' /usr/local/etc/netatalk/AppleVolumes.default sudo sed -i 's/casefold:toupper //' /usr/local/etc/netatalk/AppleVolumes.default
sudo sed -i 's/^VOLCASEFOLD:.*/VOLCASEFOLD:/' /media/A2SHARED/.a2files/.appledesktop/.volinfo sudo sed -i 's/^VOLCASEFOLD:.*/VOLCASEFOLD:/' /srv/A2SERVER/.a2files/.appledesktop/.volinfo
fi fi
# 1.3.0: remove GSFILES if empty # 1.3.0: remove GSFILES if empty
if grep -q '^/media/A2SHARED/GSFILES' /usr/local/etc/netatalk/AppleVolumes.default; then if grep -q '^/srv/A2SERVER/GSFILES' /usr/local/etc/netatalk/AppleVolumes.default; then
gsFilesContents= gsFilesContents=
if [[ -d /media/A2SHARED/GSFILES ]]; then if [[ -d /srv/A2SERVER/GSFILES ]]; then
gsFilesContents="$(find /media/A2SHARED/GSFILES -not -path '*/\.*' | grep -v '^/media/A2SHARED/GSFILES$' | grep -v '^/media/A2SHARED/GSFILES/Network Trash Folder$' | grep -v '^/media/A2SHARED/GSFILES/Temporary Items$')" gsFilesContents="$(find /srv/A2SERVER/GSFILES -not -path '*/\.*' | grep -v '^/srv/A2SERVER/GSFILES$' | grep -v '^/srv/A2SERVER/GSFILES/Network Trash Folder$' | grep -v '^/srv/A2SERVER/GSFILES/Temporary Items$')"
if [[ ! $gsFilesContents ]]; then if [[ ! $gsFilesContents ]]; then
echo "A2SERVER: Removing empty GSFILES shared volume..." echo "A2SERVER: Removing empty GSFILES shared volume..."
sudo /etc/init.d/netatalk stop &> /dev/null sudo /etc/init.d/netatalk stop &> /dev/null
sudo sed -i 's|^/media/A2SHARED/GSFILES.*$|#share1|' /usr/local/etc/netatalk/AppleVolumes.default sudo /etc/init.d/samba stop &> /dev/null
sudo rm -r /media/A2SHARED/GSFILES sudo sed -i 's|^/srv/A2SERVER/GSFILES.*$|#share1|' /usr/local/etc/netatalk/AppleVolumes.default
sudo rm -r /srv/A2SERVER/GSFILES
else else
echo "A2SERVER: GSFILES shared volume has files, leaving as is." echo "A2SERVER: GSFILES shared volume has files, leaving as is."
fi fi
@ -316,8 +321,8 @@ fi
sudo sed -i \ sudo sed -i \
's/^#share2/\/media\/A2SHARED\/A2FILES\ A2FILES options:prodos\ ea:ad/' \ 's/^#share2/\/media\/A2SHARED\/A2FILES\ A2FILES options:prodos\ ea:ad/' \
/usr/local/etc/netatalk/AppleVolumes.default /usr/local/etc/netatalk/AppleVolumes.default
[[ -d /media/A2SHARED/A2FILES ]] || mkdir -p /media/A2SHARED/A2FILES [[ -d /srv/A2SERVER/A2FILES ]] || mkdir -p /srv/A2SERVER/A2FILES
[[ -d /media/A2SHARED/.a2files ]] || mkdir -p /media/A2SHARED/.a2files [[ -d /srv/A2SERVER/.a2files ]] || mkdir -p /srv/A2SERVER/.a2files
# set up ciopfs # set up ciopfs
if ! command -v ciopfs > /dev/null; then if ! command -v ciopfs > /dev/null; then
@ -357,28 +362,28 @@ if ! command -v ciopfs > /dev/null; then
rm -rf /tmp/ciopfs rm -rf /tmp/ciopfs
fi fi
if ! grep -q '^ciopfs' /etc/fstab; then if ! grep -q '^ciopfs' /etc/fstab; then
echo "ciopfs#/media/A2SHARED/.a2files /media/A2SHARED/A2FILES fuse allow_other 0 0" | sudo tee -a /etc/fstab > /dev/null echo "ciopfs#/srv/A2SERVER/.a2files /srv/A2SERVER/A2FILES fuse allow_other 0 0" | sudo tee -a /etc/fstab > /dev/null
fi fi
if ! mount | grep '^ciopfs.*A2FILES'; then if ! mount | grep '^ciopfs.*A2FILES'; then
sudo ciopfs /media/A2SHARED/.a2files /media/A2SHARED/A2FILES -o allow_other sudo ciopfs /srv/A2SERVER/.a2files /srv/A2SERVER/A2FILES -o allow_other
fi fi
else else
echo "A2SERVER: ciopfs (case insensitive file system) has already been installed." echo "A2SERVER: ciopfs (case insensitive file system) has already been installed."
fi fi
if [[ ! -d /media/A2SHARED/A2FILES/.AppleDesktop ]]; then if [[ ! -d /srv/A2SERVER/A2FILES/.AppleDesktop ]]; then
cd /media/A2SHARED/A2FILES cd /srv/A2SERVER/A2FILES
mkdir .AppleDesktop mkdir .AppleDesktop
fi fi
# set up ADTDISKS share (ADTPro disk image folder, if A2CLOUD is installed) # set up ADTDISKS share (ADTPro disk image folder, if A2CLOUD is installed)
# classic Mac OS file names are allowed (31 chars, mixed case, everything but colons) # classic Mac OS file names are allowed (31 chars, mixed case, everything but colons)
if [[ -d /usr/local/adtpro/disks ]]; then # A2CLOUD/ADTPro installed if [[ -d /usr/local/adtpro/disks ]]; then # A2CLOUD/ADTPro installed
if [[ ! -d /media/A2SHARED/ADTDISKS ]]; then if [[ ! -d /srv/A2SERVER/ADTDISKS ]]; then
ln -s /usr/local/adtpro/disks /media/A2SHARED/ADTDISKS ln -s /usr/local/adtpro/disks /srv/A2SERVER/ADTDISKS
fi fi
if [[ ! $(grep ADTDISKS /usr/local/etc/netatalk/AppleVolumes.default) ]]; then if [[ ! $(grep ADTDISKS /usr/local/etc/netatalk/AppleVolumes.default) ]]; then
sudo sed -i 's@^# End of File@/media/A2SHARED/ADTDISKS ADTDISKS ea:ad\n\n# End of File@' /usr/local/etc/netatalk/AppleVolumes.default sudo sed -i 's@^# End of File@/srv/A2SERVER/ADTDISKS ADTDISKS ea:ad\n\n# End of File@' /usr/local/etc/netatalk/AppleVolumes.default
fi fi
fi fi
@ -398,7 +403,7 @@ if [[ -f /usr/local/etc/netatalk/afppasswd ]]; then
else else
echo echo
echo "A2SERVER: Setting up AFP password 'apple2' for Apple II and Mac clients." echo "A2SERVER: Setting up AFP password 'apple2' for Apple II and Mac clients..."
# echo "A2SERVER: Enter 'apple2' or another password of up to eight characters." # echo "A2SERVER: Enter 'apple2' or another password of up to eight characters."
echo echo
# set registered user login using RandNum authentication # set registered user login using RandNum authentication
@ -428,12 +433,12 @@ if [[ $kernelMajorRelease -eq 3 && $kernelMinorRelease -ge 12 && $kernelMinorRel
if [[ $(sha1sum /lib/modules/$kernelRelease/kernel/net/appletalk/appletalk.ko | cut -f 1 -d ' ') != "ecb239fc084c36de93f6926e7749b80f6024f269" ]]; then if [[ $(sha1sum /lib/modules/$kernelRelease/kernel/net/appletalk/appletalk.ko | cut -f 1 -d ' ') != "ecb239fc084c36de93f6926e7749b80f6024f269" ]]; then
# stop Netatalk # stop Netatalk
sudo /etc/init.d/netatalk stop &> /dev/null sudo /etc/init.d/netatalk stop &> /dev/null
echo "A2SERVER: Deleting defective AppleTalk kernel module." echo "A2SERVER: Deleting defective AppleTalk kernel module..."
sudo rmmod appletalk 2> /dev/null sudo rmmod appletalk 2> /dev/null
sudo rm -r /lib/modules/$kernelRelease/kernel/net/appletalk sudo rm -r /lib/modules/$kernelRelease/kernel/net/appletalk
# disable single-user mode on Pi (other Linux can use Recovery boot) # disable single-user mode on Pi (other Linux can use Recovery boot)
if [[ $isRpi && $(grep ' single' /boot/cmdline.txt 2> /dev/null) ]]; then if [[ $isRpi && $(grep ' single' /boot/cmdline.txt 2> /dev/null) ]]; then
echo "A2SERVER: Disabling single-user mode for next boot." echo "A2SERVER: Disabling single-user mode for next boot..."
sudo sed -i 's/ single//' /boot/cmdline.txt sudo sed -i 's/ single//' /boot/cmdline.txt
touch /tmp/singleUser # so note to restart can display following install touch /tmp/singleUser # so note to restart can display following install
fi fi

View File

@ -13,15 +13,15 @@ case "$A2SERVER_SCRIPT_URL" in
*) scriptURL="${A2SERVER_SCRIPT_URL:-http://ivanx.com/a2server}/" ;; *) scriptURL="${A2SERVER_SCRIPT_URL:-http://ivanx.com/a2server}/" ;;
esac esac
gsosDir="/media/A2SHARED/A2FILES" gsosDir="/srv/A2SERVER/A2FILES"
imagesDir=$gsosDir/GSOS.Installer/Images imagesDir=$gsosDir/GSOS.Installer/Images
imageToolsDir=$gsosDir/GSOS.Installer/Image.Tools imageToolsDir=$gsosDir/GSOS.Installer/Image.Tools
netInstallDir=$gsosDir/GSOS.Installer/Net.Install netInstallDir=$gsosDir/GSOS.Installer/Net.Install
p8Dir="/media/A2SHARED/A2FILES" p8Dir="/srv/A2SERVER/A2FILES"
diskToolsP8Dir=$p8Dir/Disk.Tools.P8 diskToolsP8Dir=$p8Dir/Disk.Tools.P8
commDir="/media/A2SHARED/A2FILES/Comm" commDir="/srv/A2SERVER/A2FILES/Comm"
spectrumDir=$commDir/Spectrum spectrumDir=$commDir/Spectrum
protermDir=$commDir/ProTERM protermDir=$commDir/ProTERM
zlinkDir=$commDir/Z.Link zlinkDir=$commDir/Z.Link

View File

@ -52,7 +52,7 @@ if [[ ! $autoAnswerYes || -f /tmp/a2server-setupWindowsSharing ]]; then
echo "A2SERVER: $sharename is already set up for Windows file sharing." echo "A2SERVER: $sharename is already set up for Windows file sharing."
else else
echo "[$sharename]" | sudo tee -a /etc/samba/smb.conf > /dev/null echo "[$sharename]" | sudo tee -a /etc/samba/smb.conf > /dev/null
echo " path = /media/A2SHARED/$sharename" | sudo tee -a /etc/samba/smb.conf > /dev/null echo " path = /srv/A2SERVER/$sharename" | sudo tee -a /etc/samba/smb.conf > /dev/null
echo " browsable = yes" | sudo tee -a /etc/samba/smb.conf > /dev/null echo " browsable = yes" | sudo tee -a /etc/samba/smb.conf > /dev/null
echo " guest ok = yes" | sudo tee -a /etc/samba/smb.conf > /dev/null echo " guest ok = yes" | sudo tee -a /etc/samba/smb.conf > /dev/null
echo " read only = no" | sudo tee -a /etc/samba/smb.conf > /dev/null echo " read only = no" | sudo tee -a /etc/samba/smb.conf > /dev/null

View File

@ -47,8 +47,8 @@ alias appletalk-on='sudo sed -i "s/ATALKD_RUN=no/ATALKD_RUN=yes/" /etc/default/n
NETATALK="/usr/local/etc/netatalk" NETATALK="/usr/local/etc/netatalk"
A2FILES="/media/A2SHARED/A2FILES" A2FILES="/srv/A2SERVER/A2FILES"
GSFILES="/media/A2SHARED/GSFILES" GSFILES="/srv/A2SERVER/GSFILES"
alias netboot-gsos="mkatinit -gs -d -f" alias netboot-gsos="mkatinit -gs -d -f"
alias netboot-gsos-guest="mkatinit -gs -d -f guest" alias netboot-gsos-guest="mkatinit -gs -d -f guest"
@ -69,8 +69,8 @@ alias samba-stop='sudo /etc/init.d/samba stop'
alias samba-start='sudo /etc/init.d/samba start' alias samba-start='sudo /etc/init.d/samba start'
alias samba-restart='sudo /etc/init.d/samba restart' alias samba-restart='sudo /etc/init.d/samba restart'
alias a2files-share="sudo sed -i 's/^#share2/\/media\/A2SHARED\/A2FILES\ A2FILES options:prodos ea:ad/' /usr/local/etc/netatalk/AppleVolumes.default; [[ -d /media/A2SHARED/A2FILES ]] || mkdir /media/A2SHARED/A2FILES" alias a2files-share="sudo sed -i 's/^#share2/\/srv\/A2SERVER\/A2FILES\ A2FILES options:prodos ea:ad/' /usr/local/etc/netatalk/AppleVolumes.default; [[ -d /srv/A2SERVER/A2FILES ]] || mkdir /srv/A2SERVER/A2FILES"
alias a2files-unshare="sudo sed -i 's/^\/media\/A2SHARED\/A2FILES.*$/#share2/' /usr/local/etc/netatalk/AppleVolumes.default" alias a2files-unshare="sudo sed -i 's/^\/srv\/A2SERVER\/A2FILES.*$/#share2/' /usr/local/etc/netatalk/AppleVolumes.default"
alias showalias="alias | cut -d= -f 1 | cut -d' ' -f2 | more" alias showalias="alias | cut -d= -f 1 | cut -d' ' -f2 | more"

View File

@ -9,7 +9,7 @@
# to download and execute, type: # to download and execute, type:
# wget appleii.ivanx.com/a2server/setup; source setup # wget appleii.ivanx.com/a2server/setup; source setup
a2serverVersion="127" a2serverVersion="128d1"
# Ensure URL we'll use ends in a / # Ensure URL we'll use ends in a /
case "$A2SERVER_SCRIPT_URL" in case "$A2SERVER_SCRIPT_URL" in
@ -83,7 +83,7 @@ if [[ $updateRasppleII ]]; then
[[ $0 == "-bash" ]] && return 0 || exit 0 [[ $0 == "-bash" ]] && return 0 || exit 0
fi fi
if { [[ -f /usr/local/etc/A2SERVER-version ]] && (( $(cat /usr/local/etc/A2SERVER-version) < 110 )); }; then if { [[ -f /usr/local/etc/A2SERVER-version ]] && (( $(head -c 3 /usr/local/etc/A2SERVER-version) < 110 )); }; then
echo echo
echo "WARNING: The current A2SERVER installer scripts haven't been tested for" echo "WARNING: The current A2SERVER installer scripts haven't been tested for"
echo "updating the earlier version of A2SERVER that you have. A fresh install" echo "updating the earlier version of A2SERVER that you have. A fresh install"
@ -212,7 +212,7 @@ if (( $doSetup )); then
rm /tmp/a2server-packageReposUpdated &> /dev/null rm /tmp/a2server-packageReposUpdated &> /dev/null
if [[ ! -f /usr/local/etc/A2SERVER-version ]] \ if [[ ! -f /usr/local/etc/A2SERVER-version ]] \
|| (( $(cat /usr/local/etc/A2SERVER-version) < "$a2serverVersion" )); then || (( $(head -c 3 /usr/local/etc/A2SERVER-version) < ${a2serverVersion:0:3} )); then
echo "$a2serverVersion" | sudo tee /usr/local/etc/A2SERVER-version &> /dev/null echo "$a2serverVersion" | sudo tee /usr/local/etc/A2SERVER-version &> /dev/null
fi fi

View File

@ -1,20 +1,20 @@
#! /bin/bash #! /bin/bash
# vim: set tabstop=4 shiftwidth=4 expandtab filetype=sh: # vim: set tabstop=4 shiftwidth=4 expandtab filetype=sh:
currentVersion=127
if [[ -f /usr/local/etc/A2SERVER-version ]]; then
installedVersion=$(cat /usr/local/etc/A2SERVER-version)
else
installedVersion=100
fi
# Ensure URL we'll use ends in a / # Ensure URL we'll use ends in a /
case "$A2SERVER_SCRIPT_URL" in case "$A2SERVER_SCRIPT_URL" in
*/) scriptURL="$A2SERVER_SCRIPT_URL" ;; */) scriptURL="$A2SERVER_SCRIPT_URL" ;;
*) scriptURL="${A2SERVER_SCRIPT_URL:-http://appleii.ivanx.com/a2server}/" ;; *) scriptURL="${A2SERVER_SCRIPT_URL:-http://appleii.ivanx.com/a2server}/" ;;
esac esac
currentVersion=$(wget -qO- "${scriptURL}setup/index.txt" | grep '^a2serverVersion' | cut -d '"' -f 2)
if [[ -f /usr/local/etc/A2SERVER-version ]]; then
installedVersion=$(cat /usr/local/etc/A2SERVER-version)
else
installedVersion=100
fi
autoAnswerYes= autoAnswerYes=
for arg in $@; do for arg in $@; do
if [[ $arg == "-y" ]]; then if [[ $arg == "-y" ]]; then
@ -39,7 +39,7 @@ fi
if [[ ${REPLY:0:1} == "y" || ${REPLY:0:1} == "Y" ]]; then if [[ ${REPLY:0:1} == "y" || ${REPLY:0:1} == "Y" ]]; then
sudo rm /usr/local/etc/A2SERVER-version &> /dev/null sudo rm /usr/local/etc/A2SERVER-version &> /dev/null
# sudo rm /usr/local/etc/netatalk/a2boot/* &> /dev/null # sudo rm /usr/local/etc/netatalk/a2boot/* &> /dev/null
wget -q -O /tmp/setup "${scriptURL}setup"; source /tmp/setup "$@" wget -q -O /tmp/setup "${scriptURL}setup/index.txt"; source /tmp/setup "$@"
fi fi
unset currentVersion 2> /dev/null unset currentVersion 2> /dev/null

View File

@ -79,3 +79,6 @@
and TEACH are installed with netboot installation; minor bug and TEACH are installed with netboot installation; minor bug
fixes and tweaks fixes and tweaks
[not released] [not released]
128d1: Dec 2015: moved /media/A2SHARED to /srv/A2SERVER
[not released]