2011-04-06 25 views
15

Ubuntu ile çalışmaya başladım ve R'de programlamak istiyorum. Son R (en son 2.12.2) sürümünü terminalden başarıyla yükledim.R Paket XML'i Debian/Ubuntu'ya kurun

> install.packages("XML") 
Installing package(s) into ‘/usr/local/lib/R/site-library’ 
(as ‘lib’ is unspecified) 
Warning in install.packages("XML") : 
    'lib = "/usr/local/lib/R/site-library"' is not writable 
Would you like to create a personal library 
'~/R/i686-pc-linux-gnu-library/2.12' 
to install packages into? (y/n) 

Ben kişisel dizin oluşturmak mıyım yoksa bana sitesi kitaplığına yazmasına olanak tanır yerde bir adım özledin mi: O zaman aşağıdaki komutu çalıştırmak için çalıştı.

Şimdiden teşekkürler.

+8

Eğer 'yoluyla sudo' ya da sadece normal bir kullanıcı olarak' R' kabuğunu mi başladı Ubuntu 14.04 test edilmiştir? Normal kullanıcılar '/ usr/local/lib /' dizinine yazma iznine sahip olmazlar, bu yüzden 's' ile' r' 'i başlatırsanız, site kütüphanesi dizinine yazılmaya izin vermelidir. – sarnold

+0

Sadece y düğmesine basın. :) –

+4

'/ usr/local/lib/R/site-library /' işlevinin kullanılması tercih edilir. Unix, her şeyden önce, çok kullanıcılı bir sistemdir. –

cevap

30

sarnold tarafından yapılan yorum oldukça doğrudur. Debian (ve dolayısıyla Ubuntu) Pakette, dizin /usr/local/lib/R/site-library/ dosya /var/lib/dpkg/info/r-base-core.postinst komut dosyası tarafından oluşturulur - ve ilgili kodu:

böylece dizin root:staff tarafından ve mod 2775, ya da 'kullanıcı aittir
# edd 03 Apr 2003 cf Section 10.1.2 of Debian Policy 
if [ ! -e /usr/local/lib/R ]; then 
    if mkdir /usr/local/lib/R 2>/dev/null; then 
    chown root:staff /usr/local/lib/R 
    chmod 2775 /usr/local/lib/R 
    fi 
fi 
if [ ! -e /usr/local/lib/R/site-library ]; then 
    if mkdir /usr/local/lib/R/site-library 2>/dev/null; then 
    chown root:staff /usr/local/lib/R/site-library 
    chmod 2775 /usr/local/lib/R/site-library 
    fi 
fi 

ve grup okuma-yazma, diğerleri salt okunur.

  1. Daima sudo kullanabilir veya sakar root hale gelir:

    Yani orada yazmak için, iki temel seçenek var.

  2. Kendinizi staff grubuna ekleyin. Bunun için muhtemelen kullanıcı dostu bir GUI var; Ben Unix eski-okulum ve bunu /etc/group ve /etc/gshadow düzenleyerek elle yapabilirsiniz - bundan sonra doğrudan yükleyebilirsiniz (bu haklara sahip olmak için yeni bir kabuğa ihtiyacınız var, ya da yeni bir terminali başlatın). Tabii ki farklı bir grup seçebilir veya bir tane oluşturabilirsiniz, ancak daha sonra /usr/local/lib/R/ dizin dizinini de buna göre değiştirmeniz gerekir.

Bu yardımcı olur umarım. R-sig-debian listesi, Debian/Ubuntu soruları için uygun bir yer ve bunu tavsiye ediyorum. Soru daha önce ortaya çıktı.

Düzenleme: Ayrıca (daha karmaşık) paketlerin adil sayıda yani sadece sudo apt-get install r-cran-xml için her XML almak için, Ubuntu/Debian parçasıdır. Uygun olanı görmek için apt-cache search r-cran yapın.

+1

Teşekkürler, BÜYÜK yardım. – Btibert3

+6

"sudo adduser USER GROUP" mevcut USER'yi mevcut GROUP'a ekleyecektir. – neilfws

+0

Seçenek 2. Ubuntu 14.04 üzerinde çalışmıyor. –

8

En basit seçenek staff kullanıcı grubunu eklemektir. Sadece çalıştırın:

sudo adduser <user> staff 

<user>'u kullanıcı adınızla değiştirin.

İlgili konular