Bash скрипт за автоматично добавяне на хранилища и ключовете им
При всяка преинсталация на системата се сблъскваме с неприятният проблем „допълнителни хранилища“. Т.е., ако искате да използвате актуален софтуер и той не се намира е официалните хранилища на Убунту, тогава трябва да търсите страниците на проектите, да добавяте на ръка хранилищата и ключовете към тях. Поради тази причина реших да напиша едно скриптче, което извършва това автоматично. В момента е разчетено за Убунту 8.04 х86_64 бита. Хранилищата, които добавя са за launchpad neosofti, ubuntu tweak, playonlinux, cairo dock, wine, medibuntu, wicd и transmission.
Как функционира скрипта?
- първо прави бекъп на актуалната sources.list с името sources.list.backup.<потребител-дата.месец.година_час:минути:секунди>, за да се постигне по-голяма пригледност и по-лесно да се ориентираме по имената на файловете
- след това се добавя всяко хранилище в sources.list и съответният му ключ
- накрая се прави ъпдейт на списъка с хранилищата и пакетите в тях, добавя се medibuntu-keyring (трябва да го потвърдите) и пак се прави ъпдейт на списъка с хранилищата и пакетите в тях. Принципно може да се добави опция скрипта сам да си потвърждава запитването за medibuntu-keyring и потребителя само да изчака скрипта да си свърши работата.
Как се използва скрипта?
- стартирате го с sudo sh reposcript.sh
От къде мога да го изтегля?
- цъкни тук
Приятно използване. ![]()
@ROSEMARY
При мене конзолата вади това.
neosofti@jaunty:~/Desktop$ sh reposcript.sh
[sudo] password for neosofti:
Всичко функционира наред. Скрипта опаче е статичен и е само за Убунту 8.04 64 бита. Не за други версии. Отдавна се каня да го преработа да е интерактивен със запитване към потребитела кои хранилища иска и т.н., но все не ми остава време.
Постави изхода от
cat reposcript.sh
за да видя какво има вътре след като го изтеглиш.
Здравей,
това ми показва в терминала:Can’t open reposcript.sh
Хубав ден!
Браво, това е добро!
Това ми беше идеята за после
. За момента е просто набързо скалъпено скрипче.
„В момента е разчетено за Убунту 8.04 х86_64 бита“ – не мисля, че има някакво значение за хранилищата с каква архитектура си. Пътя е един и същ, имената на пакетите са различни. Но самия скрипт може да се преработи малко, това да добавя всички хранилища без да има право на избор или поне да има избор за дистрибуция:
USAGE=“Usage `basename $0` ubuntu_version“
if [ $# -lt 1 ] ; then
echo „$USAGE“
exit 1
fi
case $1 in
interpid) ….
;;
hardy) ….
;;
*) echo „$USAGE“ ;
exit 0;
;;
esac