У меня есть программное обеспечение обновления в/opt/minergate-cli. Я переименовал каталог minergate-cli к minergate-старому с командой mv, затем установил более новую версию программного обеспечения, дающего то же имя каталога.
При принятии у меня были старая программа и теперь новая программа тем же именем, при этом тот был "minergate", что происходит с какими-либо символьными ссылками, указывающими на программу minergate?
Они указывают на исходную программу, живущую в minergate-старом, или ссылка перемещалась в новую программу minergate.cli?
После того как Вы перемещаете файл, на который указывает символьная ссылка, символьная ссылка повреждается, иначе подвешивая символьную ссылку. Необходимо удалить его и создать новый. См. также https://unix.stackexchange.com/a/18365/85039
Символьная ссылка просто содержит название файла, на который это указывает. (подскажите, сделайте ls -l symlink
и отметьте его размер файла). Если Вы удалите конечный файл, но затем создадите новый файл с тем же именем, то символьная ссылка будет счастливо продолжать работать, относясь к новому содержанию файла:
$ echo "first file" > file
$ ln -s file symlink
$ ls -l symlink
lrwxrwxrwx 1 jackman jackman 4 Oct 23 23:33 symlink -> file
# ...........................^=size ...................^^^^ target is 4 chars
$ cat symlink
first file
$ mv file file.old
$ echo "this is the second" > file
$ cat symlink
this is the second
Можно быть, думают о "твердой" ссылке, которая относится к inode конечного файла:
$ echo "first line" > file
$ ln file hardlink
$ ls -li hardlink file
1078415 -rw-r--r-- 2 jackman jackman 11 Oct 23 23:38 file
1078415 -rw-r--r-- 2 jackman jackman 11 Oct 23 23:38 hardlink
$ cat hardlink
first line
$ mv file file.old
$ echo "this is the new contents" > file
$ cat hardlink
first line
$ ls -li hardlink file file.old
1059446 -rw-r--r-- 1 jackman jackman 25 Oct 23 23:39 file
1078415 -rw-r--r-- 2 jackman jackman 11 Oct 23 23:38 file.old
1078415 -rw-r--r-- 2 jackman jackman 11 Oct 23 23:38 hardlink
здесь hardlink
тот же файл как оригинал file
файл.