SRM lançado no macOS Sierra (10.12)

33

Acabei de atualizar para o macOS 10.12 e quando tento executar srmno Terminal, ele diz -bash: srm: command not found.

Foi srmremovido? Como consertar isto?

Niktin Roman
fonte
Como uma nota lateral: srmfoi um projeto moribundo no início dos anos 2000. A Apple investiu alguns recursos no projeto e ele aparece pela primeira vez na versão 10.3. Você deve estar ciente de que o uso srmnão garante que os dados não sejam recuperáveis.
Fd0
@ fd0, você pode ter uma idéia melhor ou remover com segurança arquivos do SSD em macs mais novos?
Niktin Roman 9/09/16
1
Criptografia de disco completa, embora eu não a use, e rmou esvazie a Lixeira na GUI.
Fd0
4
O @NiktinRoman for SSDs srm não é mais seguro que o rm - srm só faz sentido para discos rígidos. Eu suspeito que este é o motivo pelo qual ele foi removido #
user151019

Respostas:

3

Ainda não está executando o macOS 10.12, no entanto, no OS X 10.8.5, a página do manual srmna NOTESseção afirma:

O desenvolvimento e a discussão do srm são realizados em < http://sourceforge.net/project/?group_id=3297 >, que também pode ser acessado em < http://srm.sourceforge.net >.

Agora você teria que baixar o código fonte e compilá-lo por si mesmo. Isso exigiria a instalação de ferramentas de linha de comando para o Xcode. No entanto, se ainda não for aplicável no macOS 10.12, consulte Como instalar ferramentas de linha de comando no OS X Mavericks & Yosemite (sem o Xcode) para obter detalhes. Ou no Terminal, use o seguinte comando:xcode-select --install

Eu baixei o código-fonte mais recente e ele foi compilado sem erros no OS X 10.8.5, embora isso não signifique que ele esteja no macOS 10.12, mas provavelmente é a única opção que você tem se srmtiver sido removido.

Dito isto, eu provavelmente usaria apenas srmdiscos rígidos de rotação e não SSDs.

user3439894
fonte
3
NB srm está disponível em homebrew / dupes se você usar homebrew. Ele reclamará que o MacOS já fornece este software. Isso não é verdade em Sierra, mas em qualquer caso de usar homebrew para instalá-lo você devebrew install srm && brew link --force srm
kojiro
1
@kojiro não funciona. "srm foi excluído do homebrew / core no commit 7957c4b98"
AfterWorkGuinness
@AfterWorkGuinness É verdade que a Apple ostensivamente removeu o srm porque eles pensavam que isso destruiria o ssds das pessoas. github.com/Homebrew/homebrew-dupes/issues/725 . Estou um pouco cético quanto ao fato de eles terem exatamente esse motivo em mente, mas o ponto permanece que os comandos de exclusão segura são menos úteis no ssd do que a oxidação em rotação. (Ele provavelmente nunca ocorre para a Apple que alguém pode querer ligar um dist ferrugem spinning.)
kojiro
27

A partir deste comentário:

você pode ter uma idéia melhor ou remover com segurança arquivos do SSD em macs mais recentes? - Niktin Roman

Não há necessidade srm; desde que o TRIM esteja ativado em sua máquina 1

O suporte TRIM lida com isso para você. Quando você exclui um arquivo da sua unidade, o sistema operacional marcará o espaço no arquivo como "não em uso" - isso se aplica a qualquer unidade. Em um SSD, diferentemente de um HDD, um comando TRIM é enviado para limpar quaisquer dados no espaço marcado. Isso permite que o seu SSD possa gravar dados nesse espaço marcado como se fosse novo e nunca usado, além de ignorar o processo tradicional de exclusão.

Se você estiver procurando por mais segurança, ative o FileVault .

Por suporte da Apple :

Nota: Com uma unidade SSD, o Secure Erase e o Erasing Free Space não estão disponíveis no Disk Utility. Essas opções não são necessárias para uma unidade SSD porque uma exclusão padrão dificulta a recuperação de dados de um SSD. Para obter mais segurança, considere ativar a criptografia do FileVault quando começar a usar sua unidade SSD.

Também desaconselho o uso, srmpois emite mais e desnecessárias operações de gravação no SSD, reduzindo assim sua vida útil. Na página do manual :

srm remove cada arquivo especificado substituindo, renomeando e
truncá-lo antes de desvincular


1 O TRIM vem ativado por padrão se o seu Mac veio com um SSD pré-instalado. se você adicionou um SSD após o fato, deverá habilitar o TRIM emitindo o comando sudo trimforce enableno Terminal.

Allan
fonte
3
Essa deve ser a resposta aceita.
LS
O TRIM marca o espaço dessa maneira quando você remova o arquivo no terminal (o (s) arquivo (s) excluído (s) não aparecerá (s) no Lixo) ou somente se você excluir "regularmente" (mova-o para o Lixo)? Obrigado!
precisa
1
"Lixeira" é apenas uma pasta oculta no seu diretório pessoal - ~/.Trash. Portanto, "mover um arquivo para a lixeira" é apenas isso - mover um arquivo. Quando você esvazia o lixo, é quando você realmente exclui o arquivo. Quando o arquivo é realmente excluído por esse método ou via rmé quando o TRIM entra em vigor.
Allan
2
O comando TRIM não deve ser confiável para apagar dados de forma confiável em um SSD. Ele simplesmente permite que o sistema operacional informe ao SSD que determinados blocos não estão mais em uso. Cabe ao controlador de firmware SSD implementar o TRIM corretamente. Os fabricantes de unidades não têm um bom histórico aqui. Até o comando ATA mais seguro "apagar seguro" é implementado de maneira inconsistente, às vezes relatando sucesso quando todos os dados permaneciam na unidade. Consulte cseweb.ucsd.edu/~swanson/papers/Fast2011SecErase.pdf para obter mais informações.
William Budington
1
@WilliamBudington - suas informações estão desatualizadas. Veja esta postagem: apple.stackexchange.com/questions/269863/…
Allan
25

rm possui uma opção -P que substituirá o arquivo três vezes antes de excluir. Melhor que nada, suponho.

Tom
fonte
Nesse caso de uso, isso é tecnicamente correto. Três vezes nada é melhor que nada.
Rimian 13/08
9

Para excluir com segurança um arquivo / pasta no MacOS Sierra sem utilitários externos, use rmcom o -Pswitch:

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

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

Na página do 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 : Caso você tenha instalado o GNU coreutils a partir do homebrew com os nomes padrão, por exemplo brew install coreutils --default-names, dependendo de como você configurou seu PATH, a versão do GNU rmpoderá sombrear a versão do Mac /bin/rme não aceitará a -Popção. Use which -a rmpara verificar novamente.

ccpizza
fonte
7

Desde que esta pergunta foi originalmente respondida, duas coisas aconteceram:

  • homebrew-dupes foi mesclado em homebrew-core
  • srm foi excluído de homebrew-core

Se você tentar instalá-lo agora, ele fornecerá detalhes da confirmação de exclusão e uma sugestão para criar seu próprio toque, se você ainda precisar. Eu fiz isso aqui .

Você pode instalá-lo usando o Homebrew :brew install khell/homebrew-srm/srm

Cameron Yan
fonte
2

Use o Homebrew , conforme sugerido aqui :

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

Há uma abundância de boas razões para não usar ferramentas de eliminação segura ( srm, shred, rm -P, etc) em sistemas modernos (com SSDs TRIM habilitados e / ou sistemas de arquivos apoiado). A resposta de @ Allan, em particular, é clara.

No entanto, se você realmente , realmente deseja restaurar srm, alguém publicou uma torneira Homebrew aqui que as obras. Ou seja:

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

(Depois de instalar o Homebrew , obviamente.)

Molomby
fonte
-2

sudo port install srm que fará

Roberto Domingos
fonte
3
Provavelmente, isso levará a um -bash: port: command not founderro; portanto, mais detalhes podem ser necessários aqui.
nohillside
1
Instalar MacPorts: macports.org/install.php
eggonlegs
Foi o que fiz quando o Macports foi desinstalado durante alguma atualização do sistema operacional, presumivelmente. Este é o método preferido no meu livro, mas não é uma resposta completa, portanto não podemos votar ... tudo bem. O comando que usei sudo srm -RfvD TargetDirectoryToWipe . Não está em um SSD ...
NOTjust - user4304