Ubuntu основана на Debian, но включает вещи, которые Debian не делает (и в свою очередь часто включены в Debian позже). add-apt-repository
команда является примером, который был включен в Ubuntu сначала.
add-apt-repository
на самом деле просто выполняет несколько команд для добавления репозитория:
/etc/apt/sources.list
Сценарий такой делает то же, которое может быть найдено, здесь заключается в кавычки ниже
#!/bin/bash
if [ $# -eq 1 ]
NM=$(uname -a && date)
NAME=$(echo $NM | md5sum | cut -f1 -d" ")
then
ppa_name=$(echo "$1" | cut -d":" -f2 -s)
if [ -z "$ppa_name" ]
then
echo "PPA name not found"
echo "Utility to add PPA repositories in your debian machine"
echo "$0 ppa:user/ppa-name"
else
echo "$ppa_name"
echo "deb http://ppa.launchpad.net/$ppa_name/ubuntu lucid main" >> /etc/apt/sources.list
apt-get update >> /dev/null 2> /tmp/${NAME}_apt_add_key.txt
key=$(cat /tmp/${NAME}_apt_add_key.txt | cut -d":" -f6 | cut -d" " -f3)
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $key
rm -rf /tmp/${NAME}_apt_add_key.txt
fi
else
echo "Utility to add PPA repositories in your debian machine"
echo "$0 ppa:user/ppa-name"
fi
Это должно быть эквивалентно crontab -u user filename
:
su user -c "'crontab filename'"
Я использовал этот прием прежде для решения проблемы Соляриса:
EDITOR="cat $file >" VISUAL="cat $file >" crontab -e "$user"