Как я могу сделать способное зеркало, чтобы сохранить файлы репозиториев на обеспеченном маршрутизатором FTP-сервере?

Мне подключили внешний жесткий диск к моему маршрутизатору 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.

1
задан 1 October 2015 в 22:21

1 ответ

Я создал следующий сценарий в случае, если любому интересно.

сценарий монтирует долю самбы в локальной файловой системе, выполняет способное зеркало, и размонтируйте долю самбы, когда это закончилось.

Это - в значительной степени мой первый документ на получение когда-либо, таким образом, я уверен, что существует большой простор для совершенствования

#!/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

, можно заменить значения переменных для установки потребностям

0
ответ дан 1 October 2019 в 00:47

Другие вопросы по тегам:

Похожие вопросы: