Код: Выделить всё
#!/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
#добавление ppa репозитория в debian
#затем сохранить сие дав файлу имя add-apt-repository
#после чего поместить его в папку /usr/sbin
#$ sudo cp add-apt-repository /usr/sbin/add-apt-repository
#заменить владельца скрипта на root
#$sudo chown root:root /usr/sbin/add-apt-repository
#и дать сему файлу права на выполнение
#$ sudo chmod o+x /usr/sbin/add-apt-repository
#в результате ppa репозитарии можно будет добавлять следующей командой:
#$ sudo add-apt-repository ppa:ppa-name
#и удалить
#$ sudo add-apt-repository --remove ppa:ppa-name
#при написании скрипта есть один нюанс: сие делать желательно в редакторах типа vi emacs или nano, обычные текстовые редакторы оставят метки типа ^M
#и интерпретатор будет вылетать с ошибкой: /bin/bash^M: плохой интерпретатор: Нет такого файла или каталога
#Все, команда add-apt-repository теперь доступна.
#После добавления репозитория следует проверить его файл конфигурации в:
#/etc/apt/sources.list.d/
#если встретите там описание репозитория как: .../ubuntu stretch main, то следует заменить stretch на xenial (дистрибутив Ubuntu 16.04 основанный на Stretch).
#http://uzverss.livejournal.com/10514.html