Установка R на Debian 13, 12, 11: полное руководство

R — это язык программирования и среда для статистических вычислений, анализа данных и машинного обучения. Он широко используется data scientists, statisticians и исследователями по всему миру.

Debian уже включает R в своих репозиториях, но версия может сильно отставать от актуальной. Самый правильный способ установки — добавить официальный репозиторий CRAN (Comprehensive R Archive Network), который предоставляет свежие версии R для Debian.

В этом руководстве я покажу:

  • Установку R из репозитория CRAN (рекомендуемый способ)
  • Установку R из стандартных репозиториев Debian (альтернатива)
  • Установку пакетов CRAN
  • Настройку RStudio (опционально)
  • Решение типичных проблем

Оглавление

1. 🔧 Предварительные требования

Перед установкой убедитесь, что:

  • У вас 64-битная система (R доступен для amd64 и arm64)
  • Подключение к интернету
  • Вы имеете права sudo (администратора)

⚠️ ВАЖНО: Проверьте права sudo перед установкой

Если вы не уверены, есть ли у вашего пользователя права администратора, выполните в терминале:

sudo whoami

Что делает: sudo — выполняет команду от имени суперпользователя; whoami — показывает имя текущего пользователя.

✅ Если выводит root — всё в порядке, можете продолжать.

❌ Если выводит is not in the sudoers file — сначала пройдите наше руководство по настройке sudo.

1.1 Обновление системы

Перед установкой всегда обновляйте список пакетов:

sudo apt update && sudo apt upgrade -y

Что делает: Обновляет список пакетов и устанавливает последние обновления.


2. 📊 Сравнение версий R: Debian vs CRAN

Релиз DebianВерсия в DebianВерсия в CRANЧто выбрать
Debian 13 (Trixie)4.5.0-34.6.0CRAN для актуальной
версии
Debian 12 (Bookworm)4.2.24.6.0CRAN (разрыв
значительный)
Debian 11 (Bullseye)4.0.44.5.1CRAN (если нужна
совместимость)

⚠️ Важно: Если вам достаточно версии из Debian, вы можете пропустить добавление репозитория CRAN и установить r-base напрямую. Но для работы с современными пакетами CRAN (особенно на Bookworm и Bullseye) я рекомендую использовать CRAN.


3. 📦 Установка R из репозитория CRAN (рекомендуемый)

3.1 Установка вспомогательных пакетов

sudo apt install -y ca-certificates curl gpg

Что делает:

  • ca-certificates — сертификаты для HTTPS
  • curl — для скачивания ключа
  • gpg — для работы с GPG-ключами

3.2 Добавление GPG-ключа репозитория CRAN

CRAN подписывает свои пакеты ключом с отпечатком 95C0FAF38DB3CCAD0C080A7BDC78B2DDEABC47B7.

curl -fsSL 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x95C0FAF38DB3CCAD0C080A7BDC78B2DDEABC47B7' | sudo gpg --dearmor --yes -o /usr/share/keyrings/cran.gpg

Что делает:

  • curl -fsSL — скачивает ключ с сервера ключей Ubuntu
  • | sudo gpg --dearmor — преобразует ключ в бинарный формат (требуется APT)
  • --yes — перезаписывает ключ, если он уже существует
  • -o /usr/share/keyrings/cran.gpg — сохраняет ключ в системную директорию

3.3 Определение кодового имени и архитектуры

. /etc/os-release
arch="$(dpkg --print-architecture)"
printf 'Release: %s\nArchitecture: %s\n' "$VERSION_CODENAME" "$arch"

Ожидаемый вывод: trixie (Debian 13), bookworm (Debian 12) или bullseye (Debian 11).

3.4 Добавление репозитория CRAN с правильным суффиксом

В зависимости от версии Debian выбирается правильный суффикс репозитория:

  • Debian 13 и 12 используют -cran46/ (R 4.6)
  • Debian 11 использует -cran40/ (R 4.5.1)
. /etc/os-release
case "$VERSION_CODENAME" in
    trixie|bookworm) cran_suite="${VERSION_CODENAME}-cran46/" ;;
    bullseye) cran_suite="${VERSION_CODENAME}-cran40/" ;;
    *) echo "Unsupported release: $VERSION_CODENAME"; exit 1 ;;
esac

printf '%s\n' \
"Types: deb" \
"URIs: https://cloud.r-project.org/bin/linux/debian/" \
"Suites: ${cran_suite}" \
"Components: " \
"Architectures: $(dpkg --print-architecture)" \
"Signed-By: /usr/share/keyrings/cran.gpg" | sudo tee /etc/apt/sources.list.d/cran.sources > /dev/null

Что делает: Создаёт файл репозитория в современном формате DEB822 с учётом версии Debian.

3.5 Обновление списка пакетов

sudo apt update

Ожидаемый вывод (должны быть строки с cloud.r-project.org):

Get:4 https://cloud.r-project.org/bin/linux/debian trixie-cran46/ InRelease [4,369 B]
Get:5 https://cloud.r.project.org/bin/linux/debian trixie-cran46/ Packages [26.9 kB]

3.6 Проверка, что репозиторий CRAN активен

apt-cache policy r-base

Ожидаемый вывод (Debian 13):

r-base:
  Installed: (none)
  Candidate: 4.6.0-2~trixiecran.0
  Version table:
     4.6.0-2~trixiecran.0 500
        500 https://cloud.r-project.org/bin/linux/debian trixie-cran46/ Packages
     4.5.0-3 500
        500 http://deb.debian.org/debian trixie/main amd64 Packages

3.7 Установка R и пакетов разработчика

sudo apt install -y r-base r-base-dev

Что делает:

  • r-base — основная среда R и рекомендованные статистические пакеты
  • r-base-dev — заголовочные файлы и утилиты для сборки пакетов из исходников (нужны для многих пакетов CRAN)

3.8 Проверка установленной версии

R --version

Ожидаемый вывод (Debian 13/12):

R version 4.6.0 (2026-04-24) -- "Because it was There"
Copyright (C) 2026 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu

4. 📦 Альтернатива: Установка R из стандартных репозиториев Debian

Если вы не хотите добавлять сторонний репозиторий и вам достаточно версии R из Debian:

sudo apt update
sudo apt install -y r-base r-base-dev

Что делает: Устанавливает версию R из официальных репозиториев Debian (более старую, но поддерживаемую Debian).


5. 📦 Установка пакетов CRAN

Пакеты CRAN лучше всего устанавливать от обычного пользователя, а не от root. R создаст личную библиотеку в вашей домашней директории.

5.1 Создание пользовательской библиотеки

mkdir -p "$(Rscript -e 'cat(Sys.getenv("R_LIBS_USER"))')"

Что делает: Создаёт директорию для пользовательских пакетов R (обычно ~/R/x86_64-pc-linux-gnu-library/4.6).

Зачем: Без этого R будет предлагать создать её при первой установке пакета, но лучше создать заранее.

5.2 Установка системных библиотек для популярных пакетов

Многие пакеты R (например, tidyverse, curl, openssl, xml2, ragg) требуют системные библиотеки разработчика. Установите их заранее:

sudo apt install -y libssl-dev libxml2-dev libcurl4-openssl-dev libfontconfig1-dev libharfbuzz-dev libfribidi-dev

Что делает: Устанавливает заголовочные файлы для SSL, XML, cURL, шрифтов и других библиотек.

Зачем: Это предотвратит ошибки компиляции при установке пакетов R.

5.3 Установка тестового пакета (jsonlite)

Rscript -e 'install.packages("jsonlite", repos="https://cloud.r-project.org")'

Что делает: Устанавливает пакет jsonlite из CRAN. Этот пакет маленький и проверяет, что компиляция работает.

Ожидаемый вывод: Строка * DONE (jsonlite) в конце.

5.4 Проверка, что пакет загружается

Rscript -e 'library(jsonlite); packageVersion("jsonlite")'

Ожидаемый вывод: [1] '2.x.x'

5.5 Установка большого пакета (tidyverse)

Rscript -e 'install.packages("tidyverse", repos="https://cloud.r-project.org")'

Что делает: Устанавливает коллекцию пакетов для науки о данных (dplyr, ggplot2, tidyr и др.).

5.6 Обновление всех установленных пакетов

Rscript -e 'update.packages(ask = FALSE, checkBuilt = TRUE, repos="https://cloud.r-project.org")'

Что делает: Обновляет все пакеты в вашей библиотеке. checkBuilt = TRUE пересобирает пакеты, собранные под старой версией R.

5.7 Удаление пакета

Rscript -e 'remove.packages("jsonlite", lib=Sys.getenv("R_LIBS_USER"))'

6. 🖥️ Установка RStudio (опционально)

RStudio — это популярная интегрированная среда разработки (IDE) для R. Она распространяется отдельно от самого R.

6.1 Скачивание RStudio Desktop

Перейдите на официальную страницу загрузки RStudio Desktop и скачайте .deb-пакет для Debian/Ubuntu.

6.2 Установка RStudio

sudo apt install ./rstudio-*.deb

Что делает: Устанавливает скачанный пакет RStudio.

6.3 Запуск RStudio

Найдите RStudio в меню приложений или выполните в терминале:

rstudio

7. 📝 Установка инструментов для R Markdown

R Markdown позволяет создавать динамические отчёты с кодом на R. Для работы нужны Pandoc и LaTeX.

sudo apt install -y pandoc texlive-latex-base texlive-latex-extra texlive-fonts-recommended

Что делает: Устанавливает Pandoc (конвертер документов) и базовые LaTeX-пакеты для PDF.

Установите R-пакет rmarkdown:

Rscript -e 'install.packages("rmarkdown", repos="https://cloud.r-project.org")'

8. 🔄 Обновление R

Так как R установлен из репозитория CRAN, обновления приходят через APT.

sudo apt update
sudo apt install --only-upgrade r-base r-base-core r-base-dev r-recommended

Что делает: --only-upgrade — обновляет пакеты, только если они уже установлены (не устанавливает заново).


9. ⚠️ Решение типичных проблем

9.1 Ошибка GPG: NO_PUBKEY при apt update

Симптом: При sudo apt update появляется ошибка:

W: GPG error: https://cloud.r-project.org/bin/linux/debian bookworm-cran46/ InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY DC78B2DDEABC47B7

Причина: Ключ репозитория CRAN устарел или был удалён.

Решение:

Шаг 1: Удалите старый ключ:

sudo rm -f /usr/share/keyrings/cran.gpg

Шаг 2: Импортируйте ключ заново:

curl -fsSL 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x95C0FAF38DB3CCAD0C080A7BDC78B2DDEABC47B7' | sudo gpg --dearmor --yes -o /usr/share/keyrings/cran.gpg

Шаг 3: Обновите список пакетов:

sudo apt update

9.2 Ошибка: CRAN репозиторий не имеет Release-файла

Симптом: sudo apt update выдаёт ошибку о том, что репозиторий не имеет Release-файла.

Причина: В файле репозитория указано неверное кодовое имя Debian.

Решение:

Шаг 1: Проверьте ваше кодовое имя:

. /etc/os-release && printf '%s\n' "$VERSION_CODENAME"

Шаг 2: Проверьте содержимое файла репозитория:

cat /etc/apt/sources.list.d/cran.sources

Что ищем: Строка Suites: должна содержать:

  • trixie-cran46/ для Debian 13
  • bookworm-cran46/ для Debian 12
  • bullseye-cran40/ для Debian 11

Шаг 3: Если кодовое имя неверное — удалите файл и добавьте репозиторий заново (вернитесь к разделу 3.4).

9.3 Ошибка: Нет прав на запись в системную библиотеку

Симптом: При установке пакета R появляется сообщение:

Warning in install.packages("jsonlite") :
  'lib = "/usr/local/lib/R/site-library"' is not writable
Would you like to use a personal library instead? (yes/No/cancel)

Причина: R пытается установить пакет в системную директорию, куда у обычного пользователя нет прав.

Решение:

Шаг 1: Создайте личную библиотеку вручную:

mkdir -p "$(Rscript -e 'cat(Sys.getenv("R_LIBS_USER"))')"

Шаг 2: Повторите установку пакета. Теперь R автоматически установит его в личную библиотеку.

Шаг 3: Чтобы всегда использовать личную библиотеку без запросов, добавьте в файл ~/.Renviron строку:

echo "R_LIBS_USER='$(Rscript -e 'cat(Sys.getenv("R_LIBS_USER"))')'" >> ~/.Renviron

9.4 Ошибка: Пакет R не компилируется (missing library)

Симптом: При установке пакета из CRAN появляются ошибки компиляции вида fatal error: 'curl/curl.h' file not found.

Причина: Отсутствует системная библиотека разработчика, необходимая для пакета R.

Решение:

Шаг 1: Установите набор наиболее распространённых библиотек:

sudo apt install -y libssl-dev libxml2-dev libcurl4-openssl-dev libfontconfig1-dev libharfbuzz-dev libfribidi-dev

Шаг 2: Повторите установку пакета R:

Rscript -e 'install.packages("имя_пакета", repos="https://cloud.r-project.org")'

Шаг 3: Если ошибка указывает на конкретную библиотеку (например, libgit2), найдите её в репозиториях Debian:

apt search --names-only 'libgit2'

Затем установите соответствующий -dev-пакет:

sudo apt install -y libgit2-dev

9.5 Ошибка: R не видит установленные пакеты

Симптом: Пакет установлен, но library(пакет) выдаёт ошибку «there is no package called …».

Причина: Пакет установлен в другую библиотеку, или R не видит путь к ней.

Решение:

Шаг 1: Проверьте, где установлен пакет:

find ~ -name "имя_пакета" -type d 2>/dev/null

Шаг 2: Посмотрите, какие библиотеки R использует по умолчанию:

Rscript -e '.libPaths()'

Шаг 3: Если путь к вашей личной библиотеке не отображается, добавьте его в ~/.Renviron:

echo "R_LIBS_USER='$(Rscript -e 'cat(Sys.getenv("R_LIBS_USER"))')'" >> ~/.Renviron

Шаг 4: Перезапустите R и проверьте:

Rscript -e '.libPaths()'

10. 🗑️ Удаление R

10.1 Удаление пакетов R

sudo apt remove --purge r-base r-base-core r-base-dev r-recommended

Что делает: Удаляет метапакет, ядро, пакет разработчика и рекомендованный набор пакетов.

10.2 Удаление репозитория CRAN (опционально)

sudo rm -f /etc/apt/sources.list.d/cran.sources
sudo rm -f /usr/share/keyrings/cran.gpg
sudo apt update

10.3 Удаление пользовательских данных R

⚠️ Внимание: Эта команда безвозвратно удалит все ваши пакеты R, историю и настройки. Выполняйте только если вы больше не планируете использовать R.

rm -rf ~/.R ~/.Rhistory ~/R

10.4 Проверка удаления

dpkg -l r-base r-base-core r-base-dev r-recommended | grep '^ii' || echo "R packages removed"

Ожидаемый вывод: R packages removed


11. 📝 Чек-лист: всё готово к работе

  • [ ] R установлен: R --version показывает версию (желательно 4.6.x)
  • [ ] CRAN репозиторий активен: apt-cache policy r-base показывает CRAN-версию кандидата
  • [ ] Пакет r-base-dev установлен: dpkg -l r-base-dev | grep '^ii'
  • [ ] Пользовательская библиотека создана: ls ~/R/ существует
  • [ ] Тестовый пакет работает: Rscript -e 'library(jsonlite); print("OK")'[1] "OK"
  • [ ] Системные библиотеки установлены: dpkg -l | grep -E "libssl-dev|libxml2-dev|libcurl4-openssl-dev"

12. ❓ Часто задаваемые вопросы (FAQ)

Вопрос: Зачем мне репозиторий CRAN, если R уже есть в Debian?
Ответ: Версия R в Debian сильно отстаёт (особенно на Debian 11 и 12). Многие современные пакеты CRAN требуют более новую версию R.

Вопрос: Можно ли установить R без r-base-dev?
Ответ: Можно, но многие пакеты CRAN не соберутся из исходников. r-base-dev содержит компиляторы и заголовки, необходимые для сборки пакетов.

Вопрос: RStudio бесплатен?
Ответ: RStudio Desktop имеет бесплатную версию с открытым исходным кодом. RStudio Server Pro — платный.

Вопрос: Как часто обновляется R в репозитории CRAN?
Ответ: CRAN публикует обновления довольно часто — минорные версии выходят несколько раз в год.

Вопрос: Могу ли я использовать R без графического интерфейса?
Ответ: Да, R прекрасно работает в командной строке. Команда R запускает интерактивную оболочку, Rscript выполняет скрипты.


13. 🏁 Заключение

Теперь R установлен на вашем Debian из официального репозитория CRAN. Вы можете:

  • Запускать R из терминала (R) или использовать RStudio
  • Устанавливать любые пакеты из CRAN
  • Создавать отчёты в R Markdown

Что дальше?