Установка CUDA немного сложнее. Я выполнил следующие шаги, и это работает для меня. Вы также можете обратиться к этой ссылке .
Подтверждение среды:
lspci | grep -i nvidia
(Убедитесь, что отображается информация о плате NVIDIA)
uname -m
( убедитесь, что это x86_64)
gcc --version
(убедитесь, что оно установлено)
Установка CUDA -
[ 1139]
Скачать файл cuda_7.5.18_linux.run
с https://developer.nvidia.com/cuda-downloads
Выполнить следующие команды:
sudo apt-get install build-essential
echo blacklist nouveau option nouveau modeset=0 |sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf
sudo update-initramfs -u
Перезагрузка компьютера
На экране входа нажмите Ctrl kbd> + Alt kbd > + F1 kbd> и войдите в систему для вашего пользователя.
Перейдите в каталог, где находится драйвер CUDA, и выполните
chmod a+x .
sudo service lightdm stop
sudo bash cuda-7.5.18_linux.run --no-opengl-libs
Во время установки:
Проверьте, существуют ли файлы /dev/nvidia*
. Если это не так, сделайте следующее
sudo modprobe nvidia
Установите переменные пути среды
export PATH=/usr/local/cuda-7.5/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH
Проверьте версию драйвера
cat /proc/driver/nvidia/version`
Проверьте версию драйвера CUDA
nvcc –V
Снова включите lightdm
sudo service lightdm start
Создать примеры CUDA , Перейдите в папку NVIDIA_CUDA-7.5_Samples
через терминал, затем выполните следующую команду:
make
cd bin/x86_64/linux/release/
./deviceQuery
./bandwidthTest
Оба теста должны в конечном итоге вывести «PASS» в терминале
Перезагрузить систему
(Спасибо @Zulakis и за ответ на Serverfault за то, что он указал, что этот ответ не поспевает за продолжающимся развитием Ubuntu.)
С принятием systemd
по состоянию на 15.04 , теперь существует централизованный механизм для создания временных файлов и каталогов, подобных этим. Служба, желающая использовать этот метод, может удалить команды mkdir
в своем собственном сценарии запуска и вместо этого поместить файл .conf
в /etc/tmpfiles.d
, /run/tmpfiles.d
или /usr/lib/tmpfiles.d
, при этом службы Ubuntu предпочитают последний вариант. Например, моя система теперь имеет:
$ egrep -r /var/run /usr/lib/tmpfiles.d
/usr/lib/tmpfiles.d/var.conf:L /var/run - - - - ../run
/usr/lib/tmpfiles.d/sudo.conf:d /var/run/sudo 0711 root root
/usr/lib/tmpfiles.d/sudo.conf:D /var/run/sudo/ts 0700 root root
/usr/lib/tmpfiles.d/postgresql.conf:d /var/run/postgresql 2775 postgres postgres - -
/usr/lib/tmpfiles.d/sshd.conf:d /var/run/sshd 0755 root root
/usr/lib/tmpfiles.d/screen-cleanup.conf:d /var/run/screen 0775 root utmp
d
означает создание каталога, если он еще не существует, после этого - путь, а остальные - разрешения, пользователь и группа. Эти каталоги будут созданы независимо от того, запущена ли соответствующая служба.
Для полной документации см. man tmpfiles.d
.
СТАРЫЙ ПРЕД-СИСТЕМНЫЙ ОТВЕТ:
Похоже, что они динамически создаются отдельными службами при запуске:
$ sudo egrep -r 'mkdir.*/var/run' /etc
/etc/init.d/ssh: mkdir /var/run/sshd
/etc/init.d/bind9: mkdir -p /var/run/named
/etc/init.d/timidity: mkdir -p /var/run/timidity
/etc/init.d/bzflag: mkdir -p /var/run/bzflag
/etc/init.d/dns-clean:mkdir /var/run/pppconfig >/dev/null 2>&1 || true
/etc/init/winbind.conf: mkdir -p /var/run/samba/winbindd_privileged
/etc/init/dbus.conf: mkdir -p /var/run/dbus
/etc/init/ssh.conf: mkdir -p -m0755 /var/run/sshd
/etc/init/libvirt-bin.conf: mkdir -p /var/run/libvirt
/etc/init/cups.conf: mkdir -p /var/run/cups/certs
Я считаю, что это тот, который обрабатывает mysqld:
[ -d /var/run/mysqld ] || install -m 755 -o mysql -g root -d /var/run/mysqld
/lib/init/apparmor-profile-load usr.sbin.mysqld
man install
говорит, что форма -d «создаст все компоненты указанных каталогов».
Для всех, кто сталкивался с этой темой, потому что вы ищете решение о том, как вы можете настроить приложение так, чтобы оно создавало каталог в /var/run
, чтобы оно могло хранить свой файл носка или pid или что-то еще… вот пример , Я наткнулся на эту тему, потому что я хотел сохранить файл носка MySQL в /var/run/mysqld
. Итак, после того, как я наткнулся на эту тему, я начал искать в файлах /etc/init
примеры. дбус был хорошим. И я придумал эту конфигурацию запуска mysql:
start on runlevel [2345]
stop on runlevel [!2345]
expect daemon
pre-start script
mkdir -p -m0755 /var/run/mysqld
chown mysql:mysql /var/run/mysqld
end script
exec /etc/init.d/mysql start
pre-stop exec /etc/init.d/mysql stop
Предварительная часть скрипта сделала свое дело.
douggro абсолютно прав, / var / run монтируется как tmpfs, а / var / run является символической ссылкой на / run, которая постоянна при перезагрузках, поэтому все, что входит / запускается, также появляется (и остается) /var/run.
Так что любые загрузочные сервисы, такие как mysqld, который является демоном, запускаемым во время загрузки, который создает файлы в / run, также будут иметь файлы, видимые в / var / run (символическая ссылка на / run запомнить). Если вы хотите создать файл, который будет сохраняться после перезагрузки в / var / run, создайте его в / run и затем перезагрузите.
Надеюсь, это ответит на ваш вопрос.
tmpfs
энергозависимо, и изменения потеряны.
– CiccioMiami
16.05.2020, 23:13
Тем не менее, я вижу там несколько папок, например / var / run / mysqld и многие другие. Как эти папки создаются при каждой перезагрузке? Есть ли какая-нибудь папка с шаблоном, которая была скопирована в / var / run / (и если да, какой скрипт это делает), или каждая папка mkdired отдельно, или что?
blockquote>Как определено в Стандарт файловой иерархии ,
/var/run
или/run
используется для хранения изменчивых данных времени выполнения.Все папки и файлы, созданные в них, управляются соответствующей программой, создавшей файлы. Не существует такой вещи, как папка с шаблоном, которая копируется, каждая программа может использовать эту папку для хранения изменчивой информации. Сохраненные данные теряются при перезагрузке системы.
Обычно для использования папки
/run
хранитсяpid
запущенных демонов, файлов маркеров, которые содержат номер процесса. Они в основном используются для сценариев запуска / остановки, которые вы можете найти, например, в/etc/init.d/
. Надеюсь, вы прояснили это!
br
Ваше предположение не совсем верно. Местоположение папки /var
является договорным, то есть вы можете использовать альтернативный раздел или том, на котором можно найти папку /var
. Независимо от того, где находится папка /var
, папка /var/run
является символической ссылкой на папку /run
, и ее содержимое остается после перезагрузок, хотя многие файлы в /run
создаются или изменяются при загрузке службами, запускающимися во время загрузки. Таким образом, именно службы, такие как mysqld
, вызывают загрузку файлов в каталог /var/run
и предназначены для создания подкаталогов, если их в данный момент не существует.
Новая папка /run
, смонтированная на tmpfs, позволяет таким программам, как udev, lvm и mdadm, сохранять данные времени выполнения от initrd до завершения работы.
/var
является стандартным каталогом любой системы Linux / UNIX - он обозначает «переменная» и является местом, где хранится множество журналов, файлов, НО, также программные файлы настроек переменных и даже некоторые базы данных конфигурации системы. [ 119]
Большинство вещей в /var
должны быть должным образом очищены и отрегулированы системой. Ваши файлы подкачки для виртуальной памяти также живут в /var
, так что не связывайтесь с этим. /var/run
также содержит много информации о состоянии и параметрах активно работающих демонов процессов.
Этот каталог содержит данные системной информации, описывающие систему с момента ее загрузки. Файлы в этом каталоге должны быть очищены (удалены или усечены соответствующим образом) в начале процесса загрузки. Программы могут иметь подкаталог /var/run
; это рекомендуется для программ, которые используют более одного файла времени выполнения.
Хорошо, поскольку /var/run
смонтирован как tmpfs. Это означает, что когда ваша машина загружается, она полностью пуста и должна быть такой, чтобы предотвратить запуск таких вещей, как демоны, из-за оставшегося PID-файла.
Скрипты запуска обычно создают нужные им каталоги перед их использованием. Если вы хотите сохранить PID-файл, либо поместите его в /var/run
напрямую, либо создайте каталог перед созданием PID-файла. Здесь не место для хранения данных, которые должны оставаться там при перезагрузках.
Источники: Pathname & amp; Руководство системного администратора Linux sup>