SRM desapareció en macOS Sierra (10.12)

33

Acabo de actualizar a macOS 10.12 y cuando intento ejecutar srmen Terminal, dice -bash: srm: command not found.

Es srmeliminado? ¿Cómo arreglar esto?

Niktin Roman
fuente
Como nota al margen: srmfue un proyecto moribundo a principios de la década de 2000. Apple vertió algunos recursos en el proyecto y aparece por primera vez en 10.3. Debe tener en cuenta que el uso srmno garantiza que los datos no sean recuperables.
fd0
@ fd0, ¿se te ocurre una idea mejor o eliminar de forma segura archivos de SSD en equipos Mac más nuevos?
Niktin Roman
1
Cifrado de disco completo, aunque no lo uso, rmo la Papelera vacía en la GUI.
fd0
44
@NiktinRoman para SSD srm no es más seguro que rm - srm solo tiene sentido para discos duros. Sospecho que esta es la razón por la que se ha eliminado
user151019

Respuestas:

3

Aún no ejecuta macOS 10.12, sin embargo, en OS X 10.8.5, la página de manual de srmla NOTESsección dice:

El desarrollo y discusión de srm se lleva a cabo en < http://sourceforge.net/project/?group_id=3297 >, al que también se puede acceder a través de < http://srm.sourceforge.net >.

Ahora tendría que descargar el código fuente y compilarlo usted mismo. Esto requeriría instalar las herramientas de línea de comandos para Xcode. Sin embargo, no estoy seguro si aún es aplicable en macOS 10.12, consulte Cómo instalar las herramientas de línea de comandos en OS X Mavericks y Yosemite (sin Xcode) para obtener más información. O en Terminal use el siguiente comando:xcode-select --install

Descargué el último código fuente y lo compilé sin errores en OS X 10.8.5, aunque eso no significa que lo hará en macOS 10.12, pero probablemente sea la única opción que tienes si srmse ha eliminado.

Dicho esto, probablemente solo lo haría srmen HDD rotacionales, no en SSD.

usuario3439894
fuente
3
NB srm está disponible en homebrew / dupes si usa homebrew. Se quejará de que MacOS ya proporciona este software. Eso no es cierto en Sierra, pero en cualquier caso para usar homebrew para instalarlo debes hacerlobrew install srm && brew link --force srm
kojiro
1
@kojiro no funciona. "srm se eliminó de homebrew / core en commit 7957c4b98"
AfterWorkGuinness
@AfterWorkGuinness Es cierto, Apple aparentemente eliminó el srm porque pensaban que destruiría los ssds de las personas. github.com/Homebrew/homebrew-dupes/issues/725 . Soy un poco escéptico de que tengan exactamente esa razón en mente, pero el punto sigue siendo que los comandos de eliminación segura son menos útiles en SSD que el óxido giratorio. (Probablemente nunca se le ocurra a Apple que alguien podría querer conectar una destilación de óxido giratorio.)
Kojiro
27

De este comentario:

¿Se te ocurre una idea mejor o eliminar de forma segura archivos de SSD en equipos Mac más nuevos? - Niktin Roman

No hay necesidad de srm; siempre que TRIM esté habilitado en su máquina 1

El soporte TRIM maneja esto por usted. Cuando elimina un archivo de su unidad, el sistema operativo marcará el espacio de archivo como "no en uso"; esto se aplica a cualquier unidad. En un SSD, a diferencia de un HDD, se envía un comando TRIM para borrar cualquier dato en ese espacio marcado. Esto permite que su SSD pueda escribir datos en ese espacio marcado como si fuera nuevo y nunca usado, y omitir el proceso de eliminación tradicional.

Si está buscando más seguridad, active FileVault .

Por soporte de Apple :

Nota: Con una unidad SSD, el borrado seguro y el espacio libre de borrado no están disponibles en la Utilidad de Discos. Estas opciones no son necesarias para una unidad SSD porque un borrado estándar dificulta la recuperación de datos de una SSD. Para mayor seguridad, considere activar el cifrado FileVault cuando comience a usar su unidad SSD.

También desaconsejo el uso srmporque emite más operaciones de escritura innecesarias en el SSD, lo que acorta su vida útil. Desde la página del manual :

srm elimina cada archivo especificado sobrescribiendo, renombrando y
truncarlo antes de desvincularlo


1 TRIM viene habilitado de forma predeterminada si su Mac viene con un SSD preinstalado. si agregó un SSD después del hecho, debe habilitar TRIM emitiendo el comando sudo trimforce enableen la Terminal.

Alano
fuente
3
Esta debería ser la respuesta aceptada.
LS
¿TRIM marca el espacio de esta manera cuando rm el archivo en la terminal (los archivos eliminados no aparecerán en la Papelera) o solo si lo elimina "regularmente" (muévalo a la Papelera)? ¡Gracias!
ScienceFriction
1
"Papelera" es solo una carpeta oculta en su directorio de inicio ~/.Trash. Así que "mover un archivo a la papelera" es solo eso: mover un archivo. Cuando vacía la papelera es cuando realmente elimina el archivo. Cuando el archivo se elimina realmente mediante este método o mediante rmcuando TRIM entra en vigencia.
Allan
2
No se debe confiar en el comando TRIM para borrar de manera confiable los datos en un SSD. Simplemente permite que el sistema operativo le diga al SSD que ciertos bloques ya no están en uso. Depende del controlador de firmware SSD implementar TRIM correctamente. Los fabricantes de unidades no tienen un buen historial aquí. Incluso el comando ATA de "borrado seguro" más fuerte se implementa de manera inconsistente, incluso a veces informa de éxito cuando todos los datos permanecen en el disco. Consulte cseweb.ucsd.edu/~swanson/papers/Fast2011SecErase.pdf para obtener más información.
William Budington
1
@WilliamBudington: su información es lamentablemente desactualizada. Ver esta publicación: apple.stackexchange.com/questions/269863/…
Allan
25

rm tiene un interruptor -P que sobrescribirá el archivo tres veces antes de eliminarlo. Mejor que nada, supongo.

Tom
fuente
En este caso de uso, esto es técnicamente correcto. Tres veces nada es mejor que nada.
Rimian
9

Para eliminar de forma segura un archivo / carpeta en MacOS Sierra sin utilizar utilidades externas rmcon el -Pinterruptor:

## delete a single file
rm -Pv wikileak1.txt

## delete a folder recursively
rm -Pvrf ~/.wikileaks

Desde la página del manual :

 -P          Overwrite regular files before deleting them.  Files are
             overwritten three times, first with the byte pattern 0xff,
             then 0x00, and then 0xff again, before they are deleted.

 -v          increase verbosity

NOTA : En caso de que haya instalado GNU coreutils de homebrew con los nombres predeterminados, por ejemplo brew install coreutils --default-names, dependiendo de cómo haya configurado su PATH, la versión de GNU de rmpodría sombrear la versión de Mac /bin/rmy no aceptará la -Popción. Use which -a rmpara verificar dos veces.

ccpizza
fuente
7

Desde que esta pregunta se respondió originalmente, han sucedido dos cosas:

  • homebrew-dupes se fusionó en homebrew-core
  • srm fue eliminado de homebrew-core

Si intenta instalarlo ahora, le dará detalles de la confirmación de eliminación y una sugerencia para crear su propio toque si aún lo necesita. Lo he hecho aquí .

Puedes instalarlo usando Homebrew :brew install khell/homebrew-srm/srm

Cameron Yan
fuente
2

Use Homebrew , como se sugiere aquí :

brew install homebrew/dupes/srm
brew link --force srm
n1000
fuente
0

Hay un montón de buenas razones para no usar herramientas de borrado seguro ( srm, shred, rm -P, etc.) en los sistemas modernos (con los SSD habilitados para recortar y / o sistemas de archivos del registro en diario). La respuesta de @ Allan en particular es acertada.

Sin embargo, si realmente , realmente desea restaurar srm, alguien publicó un grifo Homebrew aquí que las obras. Es decir:

brew install khell/homebrew-srm/srm
srm secrets.txt

(Después de haber instalado Homebrew , obviamente).

Molomby
fuente
-2

sudo port install srm que hará

Roberto Domingos
fuente
3
Probablemente conducirá a un -bash: port: command not founderror, por lo que se pueden requerir más detalles aquí.
nohillside
1
Instale macports: macports.org/install.php
eggonlegs el
Esto es lo que hice cuando Macports se desinstaló durante alguna actualización del sistema operativo presumiblemente. Este es el método preferido en mi libro, pero no es una respuesta completa, así que no puedo votar ... oh, bueno. El comando luego usé sudo srm -RfvD TargetDirectoryToWipe . No en un SSD ...
NO solo - user4304