Итак, у меня есть скрипт Python, и я хочу, чтобы он отформатировал диск, затем зашифровал его, а затем переформатировал диск. Проблема, с которой я сталкиваюсь, заключается в том, что мне приходится взаимодействовать с командной строкой, и я хочу, чтобы это было полностью автоматизировано. А также команда luksClose не работает. Я не знаю, что не так и что делать.
Код создан специально для Linux. Код выглядит следующим образом:
def _wipe_thread(self):
try:
mount_point = '/mnt/myluks'
# Attempt to unmount the device
subprocess.run(['sudo', 'umount', self.selected_drive], check=True)
# Perform wiping operations
subprocess.run(['echo', 'yes', '|', 'sudo', 'mkfs.ext4', '-F', self.selected_drive], check=True)
subprocess.run(
['sudo', 'cryptsetup', 'luksFormat', '--type', 'luks2', '--verify-passphrase', self.selected_drive],
check=True)
subprocess.run(['sudo', 'cryptsetup', 'luksClose', '--batch-mode', 'ENCRYPTED'], check=True``)
subprocess.run(['echo', 'yes', '|', 'sudo', 'mkfs.ext4', '-F', self.selected_drive], check=True)
subprocess.run(['sudo', 'mount', self.selected_drive, mount_point], check=True)
# Show completion message
messagebox.showinfo("Wipe Complete",
f"Drive {self.selected_drive} has been securely wiped and reformatted in ext4.")
# Print message to terminal
print(f"Wipe process completed for drive: {self.selected_drive}")
except subprocess.CalledProcessError as e:
messagebox.showerror("Error", f"Subprocess error occurred: {e}")
except Exception as e:
messagebox.showerror("Error", f"Unexpected error occurred: {str(e)}")
Я пытался запустить его на Ubuntu.
Ожидаемый результат заключался в том, что он будет просто форматировать-шифровать-переформатировать без дальнейшего взаимодействия с пользователем
Произошло следующее: мне все еще требовалось взаимодействие человека с консолью, и возникла ошибка, сообщающая, что LuksClose не удалось.
Итак, у меня есть скрипт Python, и я хочу, чтобы он отформатировал диск, затем зашифровал его, а затем переформатировал диск. Проблема, с которой я сталкиваюсь, заключается в том, что мне приходится взаимодействовать с командной строкой, и я хочу, чтобы это было полностью автоматизировано. А также команда luksClose не работает. Я не знаю, что не так и что делать.
Код создан специально для Linux. Код выглядит следующим образом: [code]def _wipe_thread(self): try: mount_point = '/mnt/myluks' # Attempt to unmount the device subprocess.run(['sudo', 'umount', self.selected_drive], check=True)
# Show completion message messagebox.showinfo("Wipe Complete", f"Drive {self.selected_drive} has been securely wiped and reformatted in ext4.")
# Print message to terminal print(f"Wipe process completed for drive: {self.selected_drive}")
except subprocess.CalledProcessError as e: messagebox.showerror("Error", f"Subprocess error occurred: {e}") except Exception as e: messagebox.showerror("Error", f"Unexpected error occurred: {str(e)}") [/code] Я пытался запустить его на Ubuntu. Ожидаемый результат заключался в том, что он будет просто форматировать-шифровать-переформатировать без дальнейшего взаимодействия с пользователем Произошло следующее: мне все еще требовалось взаимодействие человека с консолью, и возникла ошибка, сообщающая, что LuksClose не удалось.