yum/dnf снова запрашивает и кэширует репозиторий для разных пользователей

Файловая система sshfsFUSE реализована путем представления файловой системы поверх sftp, протокола передачи файлов. В результате любой доступ к файлу, такой как редактирование с помощью vi[m], требует, чтобы подсистема sshfsсначала скопировала файл в кэш локальной файловой системы. Если файл особенно велик или сеть между вашим клиентом и сервером особенно медленная, потребуется значительное время для передачи файла, прежде чем он станет доступным локально.

Это (очень )в целом эквивалентно следующему (, за исключением того, что здесь используется sftpвместоscp)

# Copy the remote file to a temporary local cache
scp -p remote:/path/to/file /tmp/file.tmp
checksum=$(cksum /tmp/file.tmp)

# Action on remote file is implemented by performing the action locally
vi /tmp/file.tmp

# Simplified; we would also need to handle local rm/mv -> remote rm/mv, etc.
[[ "$(cksum /tmp/file.tmp)" != "$checksum" ]] && scp -p /tmp/file.tmp remote:/path/to/file

Как следствие, вы обнаружите, что попытка запустить gccлокально будет значительно медленнее, чем просто войти на удаленный сервер и запустить его там. Честно говоря, я не слишком удивлен тому, что «gcc падает при попытке скомпилировать файлы на удаленной файловой системе ». Не должно, конечно, но тогда подумайте о том, что на самом деле происходит на заднем плане...

2
11.11.2020, 23:25
1 ответ

Is my assumption correct?

Да. Это описано в справочной странице dnf:

.

DNF uses a separate cache for each user under which it executes. The cache for the root user is called the system cache. This switch allows a regular user read-only access to the system cache, which usually is more fresh than the user’s and thus he does not have to wait for metadata sync.

Any way to make yum/dnf behave like apt?

Да; вы можете заставить dnfобновить системный кеш, запустив dnf mcот имени пользователя root, а затем запустить его от имени пользователя, отличного от -, с помощью переключателя-C(или--cacheonly):

Run entirely from system cache, don’t update the cache and use it even in case it is expired.

Пользовательские кеши будут игнорироваться и не будут обновляться.

1
18.03.2021, 22:50

Теги

Похожие вопросы