/etc/apt/sources.list
인터넷 미러 목록에 접속하여 내용을 인터넷 미러 목록으로 변경 하지 않고 CD에서 미러 저장소로 저장소를 전환하는 솔루션을 찾고 있습니다 .
IMHO, CD 저장소에 포함되지 않은 하나 또는 두 개의 응용 프로그램에 대해 이 작업을 수행하는 것은 절대 시간 낭비입니다...
yum
예를 들어 와 유사합니다 .
yum install --enablerepo=repository_name_here package_name
데비안에도 비슷한 것이 있나요?
답변1
Debian Jessie는 여덟(8) 개의 CD로 제공됩니다. CD를 모두 가지고 있지 않는 한 CD에서 한두 개 이상의 응용 프로그램을 찾을 수 없을 것입니다. 또한 네트워크 미러를 사용하면 포인트 버전에 더 쉽게 액세스할 수 있으며 어쨌든 네트워크 아카이브에서 보안 업데이트를 받아야 합니다.
또한 네트워크 미러를 사용하여 설치하는 경우에는 sources.list
편집 없이 추가할 수 있습니다.
그러나 다음도 참조하십시오.데비안의 쉘에서 저장소를 추가하는 방법은 무엇입니까?
답변2
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
.
답변3
이 스크립트는 트릭을 수행해야 하며 현재 저장소 파일을 지원하고 별칭을 생성하므로 다음 명령을 사용하여 저장소를 활성화 및 비활성화할 수 있습니다.
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"