sudo не проходит> оператор, потому что он никогда не видит его. Оболочка интерпретирует>, символ и sudo только видят эхо 4096. Это означает, что оболочка как Ваш идентификатор пользователя пытается открыться/proc/sys/fs/file-max и таким образом перестала работать.
Работа arounds:
% echo 4096 | sudo dd of=/proc/sys/fs/file-max
% sudoedit /proc/sys/fs/file-max
Необходимо сделать файл читаемым для копирования его. Это не связано с выбором инструмента: каждая программа не откроет файл для чтения, так как у Вас нет разрешения считать его.
Если ACLs включены (с ext2/ext3/ext4, это требует опции монтирования acl
) и Вы не интересуетесь копированием их, добавляете ACL, который позволяет пользователю, делающему копию читать файл.
setfacl -R -m u:username:rX sourcedirectory
Иначе необходимо будет или изменить полномочия файла заранее и восстановить их (с обеих сторон) впоследствии или сделать копию как корень.
Эта страница дает множество способов скопировать данные, сохраняя как можно больше метаданных. Вы могли попробовать каждый из них как корень:
cp -av /source /dest
# не использовать -r
, его поведение трудно предсказать и -a
уже включает -R
cd /source; tar -cf- . | tar -xvpf- -C /dest
cd /source; find . -depth -print0 | cpio -pdmv -0 /dest
rsync -av --delete --hard-links /source/ /dest
Rsync немного хитер о запаздывании /
s в его аргументах. Как объяснено в его странице справочника, оба из них являются способами скопировать каталог /source/foo
кому: /dest/foo
:
rsync ... /source/foo /dest
rsync ... /source/foo/ /dest/foo
Его возможное, что ни один из них не будет работать. Удостоверьтесь, что Вы пробуете их, в то время как поддерживают лучшие перспективы.
Насколько я могу думать, мы можем выполнить эти шаги для поддержания разрешения, как это, и скопируйте все файлы также.
$ cd <sourcedirectory>
$ tar -cvf <sourcedirectory.tar> .
$ cp <sourcedirectory.tar> <destinationdirectory>
$ tar -xvf <sourcedirectory.tar>
tar -cf sourcedirectory.tar .
дает сообщения как tar: ./foo/somefile.bar: Cannot open: Permission denied
. (Я опустил -v
опция к tar
, но это не должно влиять на проблему.)
– sampablokuper
21.10.2012, 16:20
-p
отметьте к четвертой строке, чтобы сохранить полномочия при расширении, вместо того, чтобы использовать безотносительно тока umask
.
– dubiousjim
21.10.2012, 17:09