Ищу решение для переключения репозитория с CD на зеркальные, не заходя в /etc/apt/sources.list
и меняя содержимое в список зеркал Интернета.
IMHO Абсолютная трата времени - делать это только для одного или двух приложений, не включенных в репозиторий компакт-дисков ...
Подобно yum
, например
yum install --enablerepo=repository_name_here package_name
что-нибудь подобное в Debian?
Вы можете использовать команду sed
, чтобы отключить / включить URL-адреса в вашем sources.list
, чтобы отключить все ] urls
:
sed -i '/debian.org/s/^/#/g' /etc/apt/sources.list
Чтобы включить все urls
:
sed -i '/debian.org/s/^#//g' /etc/apt/sources.list
Замените строку debian.org
своей.
Этот сценарий должен работать, он создаст резервную копию вашего текущего файла репо и создаст псевдоним, , чтобы вы могли включить отключение репозиториев с помощью команд:
Чтобы включить репозиторий cd:
cd-repo-enable
Для включения сетевой репутации:
net-repo-enable
Скрипт:
# backing up
if [ ! -f "/etc/apt/_back.sources.list_back" ]; then
cp /etc/apt/sources.list /etc/apt/_back.sources.list_back
fi &&
# creating repo file for net
cat <<"EOF" >> /etc/apt/sources.list_net
deb http://httpredir.debian.org/debian jessie main contrib
deb-src http://httpredir.debian.org/debian jessie main contrib
deb http://httpredir.debian.org/debian jessie-updates main contrib
deb-src http://httpredir.debian.org/debian jessie-updates main contrib
deb http://ftp.debian.org/debian/ jessie-updates main contrib
deb-src http://ftp.debian.org/debian/ jessie-updates main contrib
EOF
# creating cd repo file
cp /etc/apt/sources.list cp /etc/apt/sources.list_cd
# enable cd-repo
cat <<"EOF">> /usr/local/bin/cd-repo-enable.sh
rm -fr /etc/apt/sources.list
cp /etc/apt/sources.list_cd /etc/apt/sources.list
apt-get update
EOF
chmod +x /usr/local/bin/cd-repo-enable.sh
# enabling net repo
cat <<"EOF">> /usr/local/bin/net-repo-enable.sh
rm -fr /etc/apt/sources.list
cp /etc/apt/sources.list_net /etc/apt/sources.list
apt-get update
EOF
chmod +x /usr/local/bin/net-repo-enable.sh
# Removing old alias "net-repo-enable" if detected
sed -i 's/alias net-repo-enable=.*//g' /root/.bashrc
cat <<"EOF">> /root/.bashrc
alias net-repo-enable='/usr/local/bin/net-repo-enable.sh'
EOF
# Removing old alias "cd-repo-enable" if detected
sed -i 's/alias cd-repo-enable=.*//g' /root/.bashrc
cat <<"EOF">>/root/.bashrc
alias cd-repo-enable='/usr/local/bin/cd-repo-enable.sh'
EOF
# Applying changes
source ~/.bashrc
echo "Installation sucess"
Имеется восемь (8) компакт-дисков с Debian Jessie, если только у вас нет их всех, скорее всего, на компакт-диске не будет больше одного или двух приложений. Кроме того, использование сетевого зеркала упрощает доступ к точечным выпускам, и вам, вероятно, в любом случае следует получать обновления безопасности из сетевого архива.
Кроме того, если вы используете сетевое зеркало при установке, вам не нужно редактировать sources.list
, чтобы добавить его.
Но см. Также: Как добавить репозиторий из оболочки в Debian?