Восстановление данных является хитрой вещью и больше подходящим для нескольких книг, чем ответ ИСПОЛЬЗОВАНИЯ. Существует много мифов, легенд и рецептов вуду там.:)
Если диск, кажется, говорит на шине, возможно, можно получить некоторые данные. Ищите GNU ddrescue. Это делает спасение блочного уровня диска или отдельных разделов. Там также 'просто' ddrescue
, который почти идентичен. Я использовал обоих.
Вам будет нужно ddrescue
, умирающий диск и другой диск равного или большего размера. Если Вы хотите спасти от диска к диску, диск должен, вероятно, быть идентичным в размере. В противном случае можно сделать копию диска к изображению и затем использовать losetup
, dmsetup
и mount
(с -o loop
опция) для получения доступа уровня файла к разделам.
ddrescue
работы немного как dd
(отсюда имя), но разработан для работы вокруг плохих разделов диска. Сначала это копирует большие блоки, покидая дыры (редкие файлы, если Вы сохраняете к файловой системе), где ошибки. Это затем делит и завоевывает, копируя прогрессивно меньшие области проблемных частей диска, пока только неудавшиеся поврежденные секторы не оставляют нескопированными. Это может также повторить свои операции, если диск ведет себя беспорядочно.
Кроме того, можно остановить его и перезапустить его каждый раз, когда Вы чувствуете себя подобно, если Вы даете ему файл журнала (который человекочитаем и говорит Вам, какие дисковые блоки повреждены). Вот демонстрационный вызов:
ddrescue /dev/sdg /mnt/sdg.img /mnt/sdg-ddrescue.log
Можно прервать его Ctrl-C
и перезапустите его каждый раз, когда Вы хотите. Проверьте страницу справочника на дополнительные опции, если спасательная операция не подходит.
+
средства, что файл имеет дополнительный набор ACLs. Можно установить их с setfacl
и запросите их с getfacl
:
martin@martin ~ % touch file
martin@martin ~ % ll file
-rw-rw-r-- 1 martin martin 0 Sep 23 21:59 file
martin@martin ~ % setfacl -m u:root:rw file
martin@martin ~ % ll file
-rw-rw-r--+ 1 martin martin 0 Sep 23 21:59 file
martin@martin ~ % getfacl file
# file: file
# owner: martin
# group: martin
user::rw-
user:root:rw-
group::rw-
mask::rw-
other::r--
Я не видел @
все же лично, но согласно этому потоку это показывает расширенные атрибуты, по крайней мере, на MacOS. Попробовать xattr -l
на таком файле.
На OSX означает, что они расширяются атрибуты. Посмотрите здесь: http://scottlab.ucsc.edu/~wgscott/xtal/wiki/index.php/Extended_Attributes
$ ls -lF *.pdf
-rw-r--r--@ 1 wgscott staff 222K Feb 27 17:08 1229.pdf
Говорит Вам, что файл имеет некоторую форму расширенного атрибута, связанного с ним. Давайте взглянем:
$ xattr -l 1229.pdf
com.apple.metadata:kMDItemWhereFroms:
0000 62 70 6C 69 73 74 30 30 A1 01 5F 10 37 68 74 74 bplist00.._.7htt
0010 70 3A 2F 2F 77 77 77 2E 73 63 69 65 6E 63 65 6D p://www.sciencem
0020 61 67 2E 6F 72 67 2F 63 67 69 2F 72 65 70 72 69 ag.org/cgi/repri
0030 6E 74 2F 33 32 33 2F 35 39 31 38 2F 31 32 32 39 nt/323/5918/1229
0040 2E 70 64 66 08 0A 00 00 00 00 00 00 01 01 00 00 .pdf............
0050 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 ................
0060 00 00 00 00 00 44 .....D
com.apple.quarantine: 0000;49a88e87;Safari.app;|com.apple.Safari
Для тех, кто ищет, почему они не могут редактировать файл с "@" или "+" в конце в mac osx, причина в вероятно, связано с метаданными, например, файл был скопирован из резервной копии Time Machine через терминал, а не через проводник.
Два шага позволят удалить метаданные и снова сделать их доступными для записи в MacOS:
# Remove the metadata attributes
xattr -c <some file>
# Remove the file ACL(s)
chmod -N <some file>
Как отмечали другие, это действительно метаданные. Одним из способов использования этого является хранение информации о загрузке, например, откуда был загружен файл. Это позволяет MacOS запрашивать у вас открытие файла, загруженного из Интернета, например:
$ xattr -p -l com.apple.metadata:kMDItemWhereFroms foo
com.apple.metadata:kMDItemWhereFroms:
00000000 62 70 6C 69 73 74 30 30 A2 01 02 5F 10 68 68 74 |bplist00..._.hht|
00000010 74 70 3A 2F 2F 64 6F 77 6E 6C 6F 61 64 73 2E 70 |tp://downloads.p|
00000020 65 72 66 73 6F 6E 61 72 2E 6E 65 74 2F 72 65 64 |erfsonar.net/red|
00000030 68 61 74 2F 6D 61 69 6E 2F 72 70 6D 73 2F 65 6C |hat/main/rpms/el|
00000040 36 2F 69 33 38 36 2F 6D 61 69 6E 2F 52 50 4D 53 |6/i386/main/RPMS|
00000050 2F 70 65 72 66 73 6F 6E 61 72 2D 75 69 2D 77 65 |/perfsonar-ui-we|
00000060 62 2D 31 2E 37 2E 31 2E 65 6C 36 2E 6E 6F 61 72 |b-1.7.1.el6.noar|
00000070 63 68 2E 72 70 6D 5F 10 2B 68 74 74 70 3A 2F 2F |ch.rpm_.+http://|
00000080 64 6F 63 73 2E 70 65 72 66 73 6F 6E 61 72 2E 6E |docs.perfsonar.n|
00000090 65 74 2F 69 6E 73 74 61 6C 6C 5F 70 73 75 69 2E |et/install_psui.|
000000A0 68 74 6D 6C 08 0B 76 00 00 00 00 00 00 01 01 00 |html..v.........|
000000B0 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 |................|
000000C0 00 00 00 00 00 00 A4 |.......|
000000c7
xattr
управляйте выходным – Evhz 08.01.2018, 13:02