vs220 |
|
Темы:
22
Сообщения:
8070
Участник с: 16 августа 2009
|
ChipsЭто ссылки |
Aivar |
|
Темы:
4
Сообщения:
6897
Участник с: 17 февраля 2011
|
VadimЭто не тот случай. |
Chips |
|
Темы:
45
Сообщения:
297
Участник с: 14 января 2014
|
vs220Да теперь я вижу что это происходит только с ссылками. Возможно coreutils сломал во время экспериментов |
vs220 |
|
Темы:
22
Сообщения:
8070
Участник с: 16 августа 2009
|
ChipsНа символьные ссылки вы права не поменяете просто. |
Chips |
|
Темы:
45
Сообщения:
297
Участник с: 14 января 2014
|
Как я понимаю cp должен игнорировать линки ну то есть просто их копировать. Не суть сам виноват у меня тут из системы винегрет получился. |
Chips |
|
Темы:
45
Сообщения:
297
Участник с: 14 января 2014
|
Урааа раскурил это действительно косяк coreutils над которым я безжалостно поиздевался Test for proper exit code of chmod on a processed symlink. Я для своих экспериментов собрал его без данного патча который это исправляет аналогичные патчи есть в Gentoo, OpenMandriva, Fedora, Void... |
vasek |
|
Темы:
48
Сообщения:
11320
Участник с: 17 февраля 2013
|
ChipsКопировать то он копируют, но симлинки получаются сломанные. Пример - берем любой симлинк, например, /usr/lib64/ld-linux-x86-64.so.2 смотрим file /usr/lib64/ld-linux-x86-64.so.2 Копируем (хоть с -a, хоть без -a) в другое место: cp -a /usr/lib64/ld-linux-x86-64.so.2 ~/TTT/TEMP/1проверяем ls -l ~/TTT/TEMP/1/ld-linux-x86-64.so.2 lrwxrwxrwx 1 vasek users 10 мая 12 2021 /home/vasek/TTT/TEMP/1/ld-linux-x86-64.so.2 -> ld-2.33.soвсе скопировалось, НО смотрим подробнее file ~/TTT/TEMP/1/ld-linux-x86-64.so.2 и видим ... broken symbolic link to ld-2.33.so ..... а что это означает???hexdump -C -n 16 /usr/lib64/ld-linux-x86-64.so.2 hexdump -C -n 16 ~/TTT/TEMP/1/ld-linux-x86-64.so.2
Ошибки не исчезают с опытом - они просто умнеют
|
jim945 |
|
![]()
Темы:
8
Сообщения:
3066
Участник с: 25 января 2010
|
vasekНичего он не ломает. Просто в симлинке указан относительный путь. cp копирует как есть. Не редактировать же ему линк.
Lupus pilum mutat, non mentem.
|
vasek |
|
Темы:
48
Сообщения:
11320
Участник с: 17 февраля 2013
|
jim945Если симлинк не работает, для системы он "сломан" Или используй опцию cp --preserve=links (cp -L) - скопируется сам файл, либо используй ln + readlink - для создания симлинка с абсолютным путем
Ошибки не исчезают с опытом - они просто умнеют
|
jim945 |
|
![]()
Темы:
8
Сообщения:
3066
Участник с: 25 января 2010
|
vasekА не надо было копировать симлинк без файла, на который он ссылается. Сам сломал же. Ты приводишь в пример какую-то надуманую ситуацию, которая фиг знает для чего может понадобиться (только если в "исследовательских целях" ), потом жалуешься на то что cp что-то там ломает.
Lupus pilum mutat, non mentem.
|