2013-07-18 4 views
3

Есть ли способ иметь apt установить пакет из определенного хранилища для запуска?Сделать apt устанавливать пакеты из определенного репозитория

Я хотел бы настроить небольшой тестовый сервер и установить все пакеты 1000+ r-cran-* из cran2deb4ubuntulaunchpad repository. По состоянию на последний месяц все пакеты в этом репозитории are build for R 3.0.1. Поэтому я установить копию R 3.0.1, а затем сделать:

sudo add-apt-repository marutter/c2d4u 
sudo apt-get update 
sudo apt-get install r-cran-* 

Однако, это также будет устанавливать все пакеты r-cran-* формы universe, которые строят для R 2.15, и, следовательно, не сможет загрузить. Есть ли простой способ установить пакеты только с c2d4u? Или, альтернативно, есть ли способ занести в черный список пакеты r-cran- во вселенной с apt?

+0

Это, вероятно, больше подходит для суперпользователя, или askubuntu. –

+0

См. Http://askubuntu.com/questions/27362/how-to-only-install-updates-from-a-specific-repository - опция -t apt-get - это то, что вы ищете. – TeTeT

+0

Google «apt pinning», который позволяет вам отдавать предпочтения/рейтинги различным репозиториям. –

ответ

2

Что я в итоге сделал, просто установите все пакеты, а затем удалите их со старой сборкой. То есть

sudo add-apt-repository ppa:marutter/c2d4u -y 
sudo add-apt-repository ppa:marutter/rrutter -y 
sudo apt-get update 
sudo apt-get install r-bioc-* 
sudo apt-get install r-cran- 

А затем в R:

which(installed.packages()[,"Built"] < 3.0)