Вы можете получить минимальную установку без большого количества вещей X, если не установите все рекомендации:
sudo apt-get install --no-install-recommends cuda
Чтобы вернуть безголовый сервер, удалите пакет cuda и выполните автоматическое удаление
sudo apt-get remove cuda
sudo apt-get autoremove
Я не уверен, что команды полностью правильны, но они должны дать вам подсказку.
При открытии файла на запись с использованием перенаправления >
файл усекается , т.е. полностью очищается. Однако он не удаляется и создается заново.
Если одна команда начинает с усечения файла, а затем записывает в него что-то,и если другая команда сделает то же самое, позиция первой команды в файле не изменится. Это означает, что у вас есть две команды, записывающие в один и тот же файл в двух независимых позициях, одна из которых может перезаписывать вывод другой, в зависимости от порядка записи и количества записываемых данных .
Итак, да, данные в файле вполне могут представлять собой переплетенный беспорядок вывода обеих программ, но это будет зависеть от порядка записи в файл, а также от количества записываемых данных и времени выполнения. усечения файла.
Вот пример переплетения данных двух команд:
#!/bin/sh
( { echo hello; sleep 2; echo world; } | cat >file ) &
sleep 1
echo 123 >file &
wait
Вот что происходит в этом скрипте:
hello\n
. 123\n
. В этот момент указатель файла первой команды все еще указывает на файл с некоторым смещением. world\n
в файл. В результате получается файл с нулевыми символами в середине:
$ hexdump -C file
00000000 31 32 33 0a 00 00 77 6f 72 6c 64 0a |123...world.|
0000000c
Нули(00
в приведенном выше выводе )происходят из-за того, что указатель файла первой команды не был сброшен усечением файла второй командой, поэтому образовалась «дыра». Вторая команда записала только 123\n
, но перезаписала бы нули, если бы записала больше данных :
$ hexdump -C file
00000000 31 32 33 35 36 37 77 6f 72 6c 64 0a |123567world.|
0000000c
Здесь я сделал вторую команду echo 1234567890
, но в файле осталась только 1234567
. Это происходит из-за того, что первая команда продолжает писать world\n
в том месте, где находился ее указатель файла после того, как вторая команда закончила запись.