Мне подключили внешний жесткий диск к моему маршрутизатору WRT1900AC, который имеет встроенную поддержку ftp. Доступ ftp является пользователем и защищенный паролем.
Я хотел бы использовать способное зеркало для загрузки репозиториев Ubuntu во внешнем жестком диске.
Я пытался изменить:
/etc/apt/mirror.list
установка base_path следующим образом:
ftp://marcelo:mypassword@192.168.1.1/linux/apt-mirror
папка/linux/apt-mirror существует в FTP-сервере, и у меня есть полномочия записи на нем.
Когда я выполняю способное зеркало, я добираюсь:
sudo apt-mirror
apt-mirror: can't create ftp://marcelo:mypassword@192.168.1.1/linux/apt-mirror/mirror directory at /usr/bin/apt-mirror line 342.
Причина, которую я хочу сделать, это должно позволить любому в моей LAN получать доступ к репозиториям и не использовать ограниченное пространство в моем ноутбуке диск SDD.
Я создал следующий сценарий в случае, если любому интересно.
сценарий монтирует долю самбы в локальной файловой системе, выполняет способное зеркало, и размонтируйте долю самбы, когда это закончилось.
Это - в значительной степени мой первый документ на получение когда-либо, таким образом, я уверен, что существует большой простор для совершенствования
#!/bin/bash
# This scripts expects cifs-utils installed and apt-mirror
# installed and configured, and all samba shares properly configured
######### Variables Definition ##############
mountDir='/mnt/apt-mirrors'
sambaShare="//myserver/apt-mirrors"
sambaUser="myUser"
sambaPwd="mySambaPassword"
######### End Variables Definition ##########
clear
echo
echo "********** Starting Execution **********"
echo
if [ ! -d $mountDir ]; then
echo "creating dir: $mountDir.."
mkdir $mountDir
echo "$mountDir created"
else
echo "dir $mountDir exists"
fi
mounted () {
eval "grep -qs $mountDir /proc/mounts"
}
echo
if mounted; then
echo "something is mounted in $mountDir. Unmounting..."
umount -f $mountDir
echo
fi
echo "mounting share $sambaShare in dir $mountDir..."
mount -t cifs -o username=$sambaUser,password=$sambaPwd $sambaShare $mountDir
if mounted; then
echo "samba share $sambaShare successfuly mounted"
echo
echo "********* starting apt-mirror **********"
echo
(exec /usr/bin/apt-mirror)
echo
echo "********* apt-mirror finished **********"
echo
echo "unmounting $mountDir"
umount -l $mountDir
fi
echo
if ! mounted; then
echo "unmount successful"
else
echo "something went wrong: $sambaShare is still mounted"
echo "forcing unmount..."
umount -f $mountDir
fi
echo
echo "cleaning $mountDir..."
rm -r $mountDir
echo
echo "********** Execution Finished **********"
exit
, можно заменить значения переменных для установки потребностям