Persistent mode что это
Перейти к содержимому

Persistent mode что это

  • автор:

Да бл persistence как сделать?

В общем пытаюсь сделать все как в инструкции на codeby, на флешке с образом создаю новый раздел persistence, с параметрами primary и ext4, вставляю загружаю Kali live, в консоли с помощью fdisk -l смотрю на диски. Далее

mount /dev/sda3 /mnt/USB

echo «/ union» >> /mnt/USB/persistence.conf

Kali с оф. сайта, еще если поможет, я еще когда в Окнах сидел, заметил что этот компьютер говорит что флешка 32G свободна на 27кб, а программа для разметки говорит что у меня 27G свободного места, и именно это место занимает созданный мною раздел sda3. Можно на кали без танцев с бубном поработать?

Ah_shit
22.09.19 10:23:49 MSK

Можно на кали без танцев с бубном поработать

Можно, если умеешь. А если нет, возьми ubuntu.

Yorween ★
( 22.09.19 10:27:15 MSK )
Ответ на: комментарий от Yorween 22.09.19 10:27:15 MSK

Спасибо, научусь когда нибудь и на кали

Ah_shit
( 22.09.19 10:30:10 MSK ) автор топика
Ответ на: комментарий от Ah_shit 22.09.19 10:30:10 MSK

Вот на это заблуждение тебе все и указывают . На личном опыте отговаривающих это основано . На этом Kali — никогда — ничему не научишься. Он не для этого сделан . Как и что делать — уже писали .

anonymous
( 22.09.19 11:51:31 MSK )

Ну вот зачем ты **** с Кали? Это не принесет _никакой_ выгоды — возня со специализированным глюкодромом не дает никаких профессиональных или житейских навыков.

Не используй Kali Linux, его разрекламированность как «сложный дистрибутив, изучив который станешь профи» является мифом, и разработчики Kali Linux не рекомендуют его как плацдарм для изучения Linux. Для изучения професионального использования Linux предпочтительнее Debian stable/Ubuntu LTS или CentOS.

Не ведись на хайп с ютубчика — читай официальную документацию.

Kali — дистрибутив со специальным ПО для пентестов.

И достаточно долго он оставался известным довольно узкой группе людей — как магазин с отмычками не имеет особой популярности вне своей аудитории.

Но потом произошло событие — выход сериала Mr. Robot. У Kali Linux — достаточно необычный и вычурный дизайн, именно потому его и выбрали сценаристы как десктоп для одного из персонажей, который хакер.

Потом это попало на YouTube — и миф уже было не остановить. Kali Linux действительно используется для пентестов, но как плацдарм для изучения Linux он так себе (ссылку давал). Но сейчас хайп и мифы YouTube популярнее чтения нормальной официальной документации.

Kali как профессиональный дистр лишь миф, порожденный «Mr. Robot».

Но есть такие товарищи, их зовут script kiddies — так называют тех, кто осуществляет взломы готовыми инструментами. В среде IT их _не_ уважают, так как такой взлом не требует ума и навыков.

Потому любой, кто ставит Kali, по умолчанию получает клеймо IT-гопника, тупого и агрессивного подростка, что ломает соседский WiFi ради понтов. Это _не_ круто, это мерзко.

Именно этим и объясняется ушат помоев, что ты получил здесь в лицо.

Vsevolod-linuxoid ★★★★★
( 22.09.19 11:58:20 MSK )
Последнее исправление: Vsevolod-linuxoid 22.09.19 12:01:33 MSK (всего исправлений: 2)

compizomania

Давайте сразу разберёмся что такое live-usb и live-usb persistent.

1. Live USB — подключаемый к порту USB носитель данных, содержащий операционную систему с возможностью загрузки. Обычно в качестве Live USB используется флеш-накопители.

Применяется в основном для:

— оценки новых версий операционных систем пользователем без установки их на жёсткий диск компьютера;
— восстановления данных и/или работоспособности операционной системы компьютера;
— установки операционной системы на жёсткий диск;
— возможность настройки системы и установки новых программ;
— сброса пароля администратора и других действий.

Примечание. Все изменения сделанные пользователем в live-режиме не сохраняются.

2. live-usb persistent — это загрузочный носитель с возможностью сохранять изменённое состояние. Само слово persistent в переводе с английского означает сохраняемость данных.
live-usb persistent имеет все характеристики обычного live-usb, плюс возможность сохранять изменённое состояние системы после изменения настроек и установки доп.программ.
Т.е. загрузиться а live-режиме с флешки live-usb persistent, сделать какие-то изменения в системе и после перезагрузки с этой же флешки вы получите работоспособную live-систему с предыдущими настройками. Все пользовательские файлы хранятся в образе раздела casper-rw.
После настроек в live-usb persistent вы можете использовать флешку на других компьютерах, как обычную систему.

Примечание. Чего нельзя в live-usb persistent, например, загрузиться с новым ядром или установку видеодрайвера!

Установка инструмента mkusb для создания образа live-usb persistent.

Откройте терминал (Ctrl+Alt+T), скопируйте и выполните следующие команды:

sudo add-apt-repository ppa:mkusb/ppa
sudo apt update
sudo apt install —install-recommends mkusb mkusb-nox usb-pack-efi

Создание live-usb persistent с дистрибутивом Ubuntu/Debian

Примечание. Прежде чем начинать создание образа live-usb persistent, у вас уже должен быть загружен из сети iso-образ с дистрибутивом.

1. Запустите из системного меню программу mkusb.

2. Откроется окно с вопросом: «Хотите ли вы запустить версию DUS?», где нужно нажать на кнопке Yes (Да), либо Enter для продолжения.

Вам будет предложено ввести пароль администратора. Введите его и нажмите Enter.

3. Создание загрузочного устройства.
Примечание. Перед созданием загрузочного устройства, у вас должна быть вставлена в компьютер флешка объёмом не менее 4 ГБ.

В следующем окне выберите опцию — Install (make a boot device) и Ок.

В следующем окне выберите опцию — “Persistent live” -only Debian and Ubuntu и Ok.

Далее выберите ISO-файл операционной системы, которую вы хотите сделать, как live-usb.

Теперь необходимо правильно выбрать вашу флешку в этом окне.

В следующем окне выберите опцию — “upefi”, которая поддерживает UEFI BIOS с безопасной загрузкой.

Оставьте процент хранения persistent данных на 50 по умолчанию. Это не имеет особого значения, если вы используете USB-накопитель объёмом 4 Гб и более.

Заключительное окно спросит вас, хотите ли вы продолжить создание persistent диска. Выберите Go и нажмите на кнопке Go.

Теперь mkusb начнёт создание live-usb persistent на основе выбранного вами ISO-образа.

Весь процесс займет несколько минут, в зависимости от вашей флешки и размера ISO-образа.

По окончании создания live-usb persistent, окно mkusb сообщит вам об этом.

4. Теперь вы можете загрузится с созданной флешки в liv-режиме и производить необходимые изменения системы, которые теперь будут сохранены при последующих входах. А также использовать эту флешку на других компьютерах как обычную систему без установки на ж/диск..

Примечание. Iso-образ с созданной live-usb persistent, имеет свой загрузчик GRUB, т.к. флешка разбита на разделы. Не путайте его с системным GRUB.

Персистентная очередь

Персистентная очередь (англ. persistent queue) — это очередь, реализующая персистентность, то есть позволяющая получить доступ ко всем своим предыдущим версиям. Как будет показано далее, можно реализовать функциональную персистентность, то есть каждая ячейка памяти в такой структуре будет инициализирована один раз и в дальнейшем не изменится.

Основная идея

Для создания персистентной очереди очень удобно пользоваться ее реализацией на стеках, поскольку стеки легко сделать персистентными, причем в этом случае мы добьемся функциональной персистентности. Реализация на двух стеках не подходит для этого, так как в худшем случае требует [math]O(n)[/math] времени, а значит и [math]O(n)[/math] памяти на операцию в случае персистентности. Покажем сначала, как создать очередь в реальном времени с [math]O(1)[/math] времени на операцию, а затем превратим ее в персистентную.

Реализация очереди на шести стеках

Одним из минусов реализации на двух стеках является то, что в худшем случае мы тратим [math]O(n)[/math] времени на операцию. Если распределить время, необходимое для перемещения элементов из одного стека в другой, по операциям, мы получим очередь без худших случаев с [math]O(1)[/math] истинного времени на операцию.

Сначала будем действовать аналогично случаю с двумя стеками. Пусть у нас есть стек [math]L[/math] для операций [math]\mathtt[/math] и стек [math]R[/math] для операций [math]\mathtt[/math] . К моменту опустошения стека [math]R[/math] нам нужно успеть получить стек [math]R'[/math] , содержащий текущие элементы стека [math]L[/math] в правильном для извлечения порядке. Перекопирование (recopy mode) начнется, когда появится опасность того, что мы не сможем за оставшиеся [math]R.size[/math] операций [math]\mathtt[/math] со стеком [math]R[/math] перекопировать стек [math]L[/math] в новый стек [math]R'[/math] . Очевидно, это ситуация [math]L.size\gt R.size[/math] , пусть такое состояние отражает специальная переменная логического типа [math]\mathtt[/math] .

Понятно, что во время перекопирования могут поступить операции [math]\mathtt[/math] , а стек [math]L[/math] в это время потеряет свою структуру, сложить элементы туда мы уже не сможем, значит нужно завести еще один стек [math]L'[/math] , в который мы и будем складывать новые элементы. После окончания перекопирования мы поменяем ролями [math]L,L'[/math] и [math]R,R'[/math] , на первый взгляд, все станет хорошо.

Однако, если реализовать этот алгоритм, мы получим неприятную вещь: старый стек [math]R[/math] может и не опустошиться за это время, то есть мы получили два стека с выходными данными, а значит, возможен случай (например, если все поступающие операции — [math]\mathtt[/math] ), когда при следующем перекопировании у нас не будет свободного стека для копирования туда элементов [math]L[/math] . Для преодоления этой проблемы мы принудительно будем извлекать все элементы из стека [math]R[/math] во вспомогательный стек [math]S[/math] , затем копировать элементы из стека [math]L[/math] в [math]R[/math] , а затем обратно копировать элементы из стека [math]S[/math] в [math]R[/math] . Легко показать, что приведенный алгоритм как раз получает на выходе в [math]R[/math] все элементы стеков [math]L,R[/math] в правильном порядке.

Но этого еще недостаточно. Если мы принудительно извлекаем элементы из стека [math]R[/math] , появляются следующие проблемы:

  1. Что вернуть при операции [math]\mathtt[/math] ? Для этого заведем себе стек [math]Rc[/math] — копию стека [math]R[/math] , из которого мы и будем извлекать требуемые элементы.
  2. Как поддерживать корректность такой копии? Поскольку этот стек нужен только для перекопирования, а во время него он занят, нужна запасная копия [math]Rc'[/math] для копирования всех элементов, которые мы копируем в [math]R[/math] , а по окончании перекопирования поменяем ролями стеки [math]Rc, Rc'[/math] , как мы делали со стеками [math]L, L'[/math] .
  3. Как учесть, что во время перекопирования часть элементов была извлечена из [math]Rc[/math] ? Для этого заведем специальную переменную [math]\mathtt[/math] , которая показывает, сколько корректных элементов находится в стеке [math]S[/math] , и уменьшается при каждом извлечении из [math]S[/math] или операции [math]\mathtt[/math] . К счастью, все некорректные элементы будут нарастать со дна стека, так что мы никогда не извлечем некорректный элемент, если [math]\mathtt\gt 0[/math] . Если во время операции [math]\mathtt[/math] у нас [math]\mathtt = 0[/math] , это означает, что теперь в стеке [math]R[/math] находится весь правый кусок очереди, так что нам придется извлечь элемент из него.

Теперь может возникнуть проблема с непустым [math]Rc[/math] после завершения перекопирования. Покажем, что мы всегда успеем его опустошить, если будем использовать дополнительное извлечение из него при каждой операции в обычном режиме, для этого полностью проанализируем алгоритм.

Пусть на начало перекопирования в стеке [math]R[/math] содержится [math]n[/math] элементов, тогда в стеке [math]L[/math] находится [math]n + 1[/math] элементов. Мы корректно можем обработать любое количество операций [math]\mathtt[/math] , а также [math]n[/math] операций [math]\mathtt[/math] . Заметим, что операция [math]\mathtt[/math] во время перекопирования всегда возвращает [math]false[/math] , так как мы не можем извлекать элементы из стека [math]L[/math] , который не пустой. Таким образом вместе с операцией, активирующей перекопирование, мы гарантированно можем корректно обработать [math]n + 1[/math] операцию.

Посмотрим на дополнительные действия, которые нам предстоят:

  1. Переместить содержимое [math]R[/math] в [math]S[/math] , [math]n[/math] действий.
  2. Переместить содержимое [math]L[/math] в стеки [math]R, Rc'[/math] , [math]n + 1[/math] действий.
  3. Переместить первые [math]\mathtt[/math] элементов из [math]S[/math] в [math]R, Rc'[/math] , остальные выкинуть, [math]n[/math] действий.
  4. Поменять ролями стеки [math]Rc, Rc'[/math] , [math]L, L'[/math] , [math]2[/math] действия.

Таким образом, получили [math]3 \cdot n + 3[/math] дополнительных действия за [math]n + 1[/math] операций, или [math]3 = O(1)[/math] дополнительных действий на операцию в режиме перекопирования, что и требовалось.

Теперь рассмотрим, как изменились наши стеки за весь период перекопирования. Договоримся, что операция [math]\mathtt[/math] не меняет очередь, то есть никакие дополнительные действия не совершаются. Пусть за [math]n[/math] следующих за активацией меняющих операций ( [math]\mathtt, \mathtt[/math] ) поступило [math]x[/math] операций [math]\mathtt[/math] , [math]n — x[/math] операций [math]\mathtt[/math] . Очевидно, что после перекопирования в новых стеках окажется: [math]n-x[/math] элементов в [math]L[/math] , [math]2 \cdot n + 1 — x = (n — x) + (n + 1)[/math] элементов в [math]R[/math] , то есть до следующего перекопирования еще [math]n + 2[/math] операции. С другой стороны, стек [math]Rc[/math] содержал всего [math]n[/math] элементов, так что мы можем очистить его, просто удаляя по одному элементу при каждой операции в обычном режиме.

Итак, очередь [math]Q[/math] будет состоять из шести стеков [math]L,L’,R,Rc,Rc’,S[/math] , а также двух внутренних переменных [math]\mathtt, \mathtt[/math] , которые нужны для корректности перекопирования + дополнительная переменная [math]\mathtt[/math] , показывающая, перемещали ли мы элементы из стека [math]L[/math] в стек [math]R[/math] , чтобы не начать перемещать эти элементы в стек [math]S[/math] .

Инвариант очереди (обычный режим):

  1. Стек [math]L[/math] содержит левую половину очереди, порядок при извлечении обратный.
  2. Стек [math]R[/math] содержит правую половину очереди, порядок при извлечении прямой.
  3. [math]L.size \leqslant R.size[/math]
  4. [math]R.size = 0 \equiv Q.size = 0[/math]
  5. [math]Rc[/math] — копия [math]R[/math]
  6. [math]Rc’.size \lt R.size — L.size[/math]
  7. [math]L’.size = 0, S.size = 0[/math]

Тогда к следующему перекопированию ( [math]L.size=R.size+1[/math] ) мы гарантированно будем иметь пустые стеки [math]L’,S,Rc'[/math] , которые нам понадобятся.

Инвариант очереди (режим перекопирования):

  1. [math]Rc.size = \mathtt[/math]
  2. Если [math]L.size = 0[/math] , то:
    1. При [math]\mathtt \gt 0[/math] первые [math]\mathtt[/math] элементов [math]S[/math] — корректны, то есть действительно содержатся в очереди.
    2. При [math]\mathtt \leqslant 0[/math] стек [math]R[/math] содержит весь правый кусок очереди в правильном порядке.

    Очередь будет работать в двух режимах:

    1. Обычный режим, кладем в [math]L[/math] , извлекаем из [math]R[/math] и из [math]Rc, Rc'[/math] для поддержания порядка, операция [math]empty = (R.size = 0)[/math] .
    2. Режим перекопирования, кладем в [math]L'[/math] , извлекаем из [math]Rc[/math] , возможно из [math]R[/math] , [math]\mathtt = \mathtt[/math] , совершаем дополнительные действия.

    Также после операции в обычном режиме следует проверка на активацию перекопирования ( [math]\mathtt = (L.size \gt R.size)[/math] ), если это так, [math]\mathtt = R.size, \mathtt = true, \mathtt = false[/math] , совершается первый набор дополнительных действий.

    После операции в режиме перекопирования следует проверка на завершение перекопирования ( [math]\mathtt = (S.size == 0)[/math] ), а при завершении меняются ролями стеки [math]Rc, Rc'[/math] , [math]L, L'[/math] .

    Следующий псевдокод выполняет требуемые операции:

    empty

    boolean empty(): return !recopy and R.size == 0

    push

    function push(x : T): if !recopy L.push(x) if Rc'.size > 0 Rc'.pop() checkRecopy() else L'.push(x) checkNormal()

    pop

    T pop(): if !recopy T tmp = R.pop() Rc.pop() if Rc'.size > 0 Rc'.pop() checkRecopy() return tmp else T tmp = Rc.pop() if toCopy > 0 toCopy = toCopy - 1 else R.pop() Rc'.pop() checkNormal() return tmp

    checkRecopy

    function checkRecopy(): recopy = L.size > R.size if recopy toCopy = R.size copied = false checkNormal()

    checkNormal

    function checkNormal(): additionalOperations() // Если мы не все перекопировали, то у нас не пуст стек S recopy = S.size [math] \neq [/math] 0

    additionalOperations

    function additionalOperations(): // Нам достаточно 3 операций на вызов int toDo = 3 // Пытаемся перекопировать R в S while not copied and toDo > 0 and R.size > 0 S.push(R.pop()) toDo = toDo - 1 // Пытаемся перекопировать L в R и Rc' while toDo > 0 and L.size > 0 copied = true T x = L.pop() R.push(x) Rc'.push(x) toDo = toDo - 1 // Пытаемся перекопировать S в R и Rc' с учетом toCopy while toDo > 0 and S.size > 0 T x = S.pop() if toCopy > 0 R.push(x) Rc'.push(x) toCopy = toCopy - 1 toDo = toDo - 1 // Если все скопировано, то меняем роли L, L' и Rc, Rc' if S.size == 0 swap(L, L') swap(Rc, Rc')

    Персистентная очередь на пяти стеках

    После того, как мы получили очередь в реальном времени с [math]O(1) = 6[/math] обычными стеками, ее можно легко превратить в персистентную, сделав все стеки персистентными, но на самом деле персистентность позволяет не создавать явной копии стека [math]R[/math] , так что достаточно всего пяти стеков.

    Вместо стеков [math]Rc, Rc'[/math] персистентная очередь хранит один стек [math]R'[/math] , в который при активации перекопирования записывается последняя версия стека [math]R[/math] , в дальнейшем все операции [math]\mathtt[/math] обращаются именно к ней. Все замечания о [math]\mathtt[/math] остаются в силе.

    Также нам нет необходимости опустошать стек [math]R'[/math] к моменту перекопирования, так как скопировать туда новую версию [math]R[/math] мы можем за [math]O(1)[/math] , а освобождение ячеек памяти бессмысленно, так как они используются в других версиях персистентной очереди.

    В качестве версии очереди мы будем использовать запись [math]Q= \langle L, L’, R, R’, S, \mathtt, \mathtt, \mathtt\rangle[/math] , содержащую пять версий персистентных стеков и три переменных.

    Пусть персистентный стек возвращает вместе с обычным результатом работы стека новую версию, то есть операция [math]S.pop[/math] возвращает [math]\langle Sn, x\rangle[/math] , а операция [math]S.push(x)[/math] возвращает [math]Sn[/math] .

    Аналогично свою новую версию вместе с результатом операции возвращает и персистентная очередь, то есть [math]Q.pop[/math] возвращает [math]\langle Qn, x\rangle[/math] , а [math]Q.push(x)[/math] возвращает [math]Qn[/math] .

    Следующий псевдокод выполняет требуемые операции:

    empty

    boolean empty(): return !recopy and R.size == 0

    push

    function push(x : T): if !recopy stack Ln = L.push(x) stack , stack , stack , stack , stack , boolean, int, boolean> Q' = return Q'.checkRecopy() else stack Ln' = L'.push(x) stack , stack , stack , stack , stack , boolean, int, boolean> Q' = return Q'.checkNormal()

    pop

    stack , T> pop(): if !recopy = R.pop() stack , stack , stack , stack , stack , boolean, int, boolean> Q’ = return else = R’.pop() int curCopy = toCopy Rn = R if toCopy > 0 curCopy = curCopy — 1 else = Rn.pop() Q’ = return

    checkRecopy

    stack , stack , stack , stack , stack , boolean, int, boolean> checkRecopy(): if L.size > R.size stack , stack , stack , stack , stack , boolean, int, boolean> Q’ = return Q’.checkNormal() else return

    checkNormal

    stack , stack , stack , stack , stack , boolean, int, boolean> checkNormal(): Q' = Q.additionalOperations() // Если мы не все перекопировали, то у нас не пуст стек S return [math] \ne [/math] 0, Q'.toCopy, Q'.copied>

    additionalOperations

    stack , stack , stack , stack , stack , boolean, int, boolean> additionalOperations(): // Нам достаточно 3 операций на вызов int toDo = 3 // Пытаемся перекопировать R в S stack Rn = R stack Sn = S boolean curCopied = copied while not curCopied and toDo > 0 and Rn.size > 0 = Rn.pop() Sn = Sn.push(x) toDo = toDo — 1 Ln = L // Пытаемся перекопировать L в R while toDo > 0 and Ln.size > 0 curCopied = true = Ln.pop() Rn = Rn.push(x) toDo = toDo — 1 curCopy = toCopy // Пытаемся перекопировать S в R с учетом toCopy while toDo > 0 and Sn.size > 0 = Sn.pop() if curCopy > 0 Rn = Rn.push(x) curCopy = curCopy — 1 toDo = toDo — 1 stack Ln’ = L’ // Если все скопировано, то меняем роли L1, L2 if S.size == 0 swap(Ln, Ln’) return

    Пример

    Пусть мы создали персистентную очередь. Будем изображать ее в виде пяти деревьев версий персистентных стеков, закрашенные вершины — текущие версии стеков, соответствующие текущему состоянию очереди; стрелка от стека [math]R'[/math] указывает на ту версию стека [math]R[/math] , которая там сейчас хранится. В самих вершинах записаны соответствующие этим вершинам значения.

    PersistentQueue state0.png

    Сделаем операцию [math] \mathtt [/math] , изначально режим обычный, так что элемент пойдет в стек [math]L[/math] . Эта операция активирует режим перекопирования, в результате которого содержимое [math]L[/math] перекопируется в стек [math]R[/math] , после чего перекопирование завершится, стеки [math]L, L'[/math] поменяются местами.

    PersistentQueue state1.png

    Сделаем операцию [math] \mathtt [/math] , у нас обычный режим, поэтому элемент пойдет в стек [math]L[/math] , перекопирование не активируется.

    PersistentQueue state2.png

    Сделаем операцию [math] \mathtt [/math] , у нас обычный режим, поэтому элемент пойдет в стек [math]L[/math] , активируется перекопирование, [math]R’ = R[/math] , за три операции мы успеваем перекопировать элемент стека [math]R[/math] в стек [math]S[/math] , а также перекопировать два элемента стека [math]L[/math] в стек [math]R[/math] .

    PersistentQueue state3.png

    Сделаем операцию [math] \mathtt [/math] , мы в режиме перекопирования, поэтому элемент пойдет в стек [math]L'[/math] , далее мы успеваем перекопировать обратно элемент из стека [math]S[/math] в стек [math]R[/math] , перекопирование завершается, стеки [math]L, L'[/math] меняются местами.

    PersistentQueue state4.png

    Сделаем операцию [math] \mathtt [/math] , у нас обычный режим, поэтому элемент пойдет в стек [math]L[/math] , перекопирование не активируется.

    PersistentQueue state5.png

    Сделаем операцию [math] \mathtt [/math] , у нас обычный режим, поэтому элемент пойдет в стек [math]L[/math] , перекопирование не активируется.

    PersistentQueue state6.png

    Сделаем операцию [math] \mathtt [/math] , у нас обычный режим, поэтому элемент пойдет в стек [math]L[/math] , перекопирование активируется, [math]R’ = R[/math] , [math]\mathtt = 3[/math] , за три операции мы успеваем перекопировать содержимое стека [math]R[/math] в стек [math]S[/math] .

    PersistentQueue state7.png

    Сделаем операцию [math]\mathtt[/math] , мы находимся в режиме перекопирования, так что элемент извлекается из [math]R'[/math] , [math]\mathtt = 2[/math] . За три операции мы успеваем перекопировать три элемента стека [math]L[/math] в стек [math]R[/math] .

    PersistentQueue state8.png

    Сделаем операцию [math]\mathtt[/math] , мы находимся в режиме перекопирования, так что элемент извлекается из [math]R'[/math] , [math]\mathtt = 1[/math] . За три операции мы успеваем перекопировать один элемент стека [math]L[/math] в стек [math]R[/math] , а также извлечь два элемента стека [math]S[/math] , с учетом [math]\mathtt[/math] только один элемент попадет в стек [math]R[/math] , [math]\mathtt = 0[/math] .

    PersistentQueue State9.png

    Сделаем операцию [math]\mathtt[/math] , мы находимся в режиме перекопирования, так что элемент извлекается из [math]R'[/math] , но [math]\mathtt = 0[/math] , так что нам приходится извлечь еше один элемент из стека [math]R[/math] . Мы извлекаем один элемент из стека [math]S[/math] , перекопирование заканчивается, стеки [math]L, L'[/math] меняются местами.

    PersistentQueue state10.png

    См. также

    • Персистентный стек
    • Персистентный дек
    • Персистентная приоритетная очередь

    Источники информации

    • Hood R., Melville R. Real Time Queue Operations in Pure LISP. — Cornell University, 1980
    • Хабрахабр — Персистентная очередь
    • Codeforces — Персистентная очередь и её друзья

    HackWare.ru

    Этичный хакинг и тестирование на проникновение, информационная безопасность

    Как сделать Kali Linux 2022 Live USB с постоянным хранилищем и шифрованием (в Windows)

    Оглавление

    На этой странице представлено полное руководство по созданию и дальнейшей настройке Kali Linux на портативном носителе (карте памяти, флешке, внешнем диске). Для лаконичности, в инструкции будет говориться «на флешке», хотя имеется ввиду любой из перечисленных носителей.

    Создать флешку с Kali Linux 2021 Live USB можно прямо в Windows. На самом деле эта инструкция подходит как для Windows, так и для Linux, поскольку для записи Kali Linux Live на USB нам понадобится одна кроссплатформенная утилита. Другие действия по настройке постоянного хранилища мы будем делать уже из самой Kali Linux.

    В инструкции мы создадим раздел persistent, то есть постоянное хранилище на котором будут сохраняться файлы и настройки между перезагрузками. При желании, этот раздел можно сделать зашифрованным.

    • создавать LIVE систему на флешке с Kali Linux (в Windows или Linux)
    • создавать постоянное хранилище (persistence) для вашей LIVE системы
    • создавать зашифрованное постоянное хранилище Kali Linux

    Альтернативным методом получения портативной Kali Linux на сменном носителе является «Установка Kali Linux на флешку или на внешний диск как полноценную ОС».

    1. Скачать Kali Linux 2021 (Live)

    Создание загрузочной флешки с LIVE системой – это один из самых быстрых способов запуска Kali Linux. У этого способа имеется несколько преимуществ:

    • быстрое развёртывание (так как не требуется установка с распаковкой каждого пакета) на USB флешке
    • невозможно навредить основной системе – при создании загрузочной флешки не затрагиваются жёсткие диски компьютера и загрузчик основной системы
    • портативность – с записанной флешки вы можете загрузиться на любом компьютере
    • можно настроить постоянное хранилище – немного дополнительных усилий и ваша LIVE система Kali Linux сможет сохранять файлы и новые системные настройки

    Если вы хотите систему с одним или несколькими постоянными хранилищами, то начать нужно с создания загрузочной флешки с LIVE системой – это отправная точка для всех последующих действий. Поэтому в любом случае нам понадобиться ISO образ системы с официального сайта: https://www.kali.org/get-kali/#kali-live

    На выбор доступен последний выпуск, а также Weekly Image, то есть еженедельный образ (с более свежими версиями пакетов, но выпускается без тестирования) — выберите любой из них. Вы можете скачать образ по прямой ссылке или с помощью torrent.

    Также понадобиться флешка. Чем быстрее скорость чтения/записи флешки, тем комфортнее будет работать. Если вам нужна LIVE система Kali Linux и не нужны постоянные хранилища, то достаточно флешки любого размера, превышающего размер ISO образа, т.е. это 4 и более гигабайт.

    Если вы планируете создавать один или несколько постоянных хранилищ, то рекомендуется флешка объёмом 16 и более гигабайт.

    2. Запись Kali Linux 2021 Live ISO на USB

    Нам нужна программа для записи ISO на USB флешку. Для этих целей идеально подойдёт кроссплатформенная Etcher. То есть неважно, вы сейчас на Windows или на Linux, вы можете использовать Etcher для записи образа диска на флешку.

    Переходим на сайт программы Etcher: https://www.balena.io/etcher/ и скачиваем её:

    Подключите вашу USB флешку, запустите Etcher, выберите скаченный ISO образ Kali Linux LIVE, затем просто нажмите кнопку Flash! и дождитесь завершения.

    У меня флешка с большим объёмом (256 Гб), поэтому программа показывает мне предупреждение: «You are about to erase an unusually large drive. Are you sure the selected drive is not a storage drive?». В предупреждении говорится: вы собираетесь стереть диск необычно большого размера. Вы уверены, что выбранный диск не является накопителем?

    Если всё правильно (а в моём случае всё как я хочу), то нажимаем «Yes, I’m sure».

    3. Загрузка в Kali Linux Live с USB

    Если вы уже запускали компьютер с загрузочной флешки, то повторите эти действия для Kali Linux Live. Например, на моём компьютере при включении нужно много раз нажимать кнопку ESC (в некоторых системах это Delete или F12, F2 и так далее), а затем достаточно выбрать флешку.

    Если это для вас не сработало, то начните загрузку компьютера с зажатой клавишей SHIFT. Вы можете попасть в следующее меню:

    Выберите раздел «Использовать устройство», там вы увидите вашу флешку.

    Если и это для вас не сработало, то возможно у вас включены Security Boot и Fast Boot. Эти настройки нужно отключать в меню UEFI (новый вариант БИОС).

    Чтобы в него попасть, включите компьютер с зажатой клавишей SHIFT. Перейдите в раздел «Поиск и исправление неисправностей»:

    Перейдите в «Дополнительные параметры»:

    Выберите «Параметры встроенного ПО UEFI»:

    Нажмите кнопку «Перезагрузить».

    Вы попадёте в настройки UEFI, которые напоминают продвинутый БИОС. Конкретный вид и структура меню различаются в зависимости от производителя материнской платы. Вам нужно найти и отключить настройки «Security Boot» и «Fast Boot».

    Если клавиша SHIFT по каким-то причинам для вас не сработала, то смотрите инструкцию «Три способа доступа к меню параметров загрузки Windows».

    Загрузочное меню Kali Linux 2021 Live выглядит так:

    Выберите опцию «Live system».

    Вход в систему будет выполнен без пароля. Если система в какой-то момент запросит пароль, например для разблокировки экрана, то введите «kali».

    4. Как создать раздел persistence (постоянное хранилище)

    Уже на этом этапе вы можете начать знакомство с Kali Linux. Среди прочего вы можете:

    • запускать инструменты
    • обновлять имеющиеся программы
    • устанавливать новые инструменты
    • сохранять файлы

    Все изменения будут сохранены в виртуальной файловой системе и при перезагрузке компьютера будут потеряны.

    Для того чтобы установленные пакеты и сохранённые файлы не пропадали после перезагрузки, нужно настроить раздел persistence — постоянное хранилище.

    К примеру, я использую флешку размером 256 Гб, а Live образ Kali Linux занимает 4 Гб, значит под постоянное хранилище я могу выделить до 252 Гб.

    ВНИМАНИЕ: Это очень ответственный шаг, так как если вы ошибётесь, то можете удалить данные с диска, который не собирались стирать.

    Откройте терминал и выполните там команду:

    sudo fdisk -l

    Вы увидите список дисков и разделов на них.

    Нам нужно узнать имя диска (оно имеет вид /dev/sd*) с которого мы загрузили Kali Linux. На скриншоте выше имена дисков выделены красным цветом.

    На скриншоте ниже представлено два диска (1) , чтобы сориентироваться, смотрите на размер диска (2) , модель диска (3) , перечень разделов (4) .

    Флешка, с Live образом Kali Linux должна иметь два раздела:

    Device Boot Start End Sectors Size Id Type /dev/sdb1 * 64 7866239 7866176 3.8G 17 Hidden HPFS/NTFS /dev/sdb2 7866240 7867711 1472 736K 1 FAT12

    Как мы можем увидеть, диск называется /dev/sdb, а ISO образ записан в раздел /dev/sdb1.

    Чтобы дополнительно убедиться в имени диска, запустим следующую команду:

    ls -l /dev/disk/by-label/Kali*

    Как можно убедиться, Live система установлена на раздел sdb1, значит нам действительно нужен диск /dev/sdb.

    ВНИМАНИЕ: если вы не уверены в имени диска, сделайте скриншот или фотографию всех ваших дисков (вывод команды «sudo fdisk -l») и покажите здесь в комментариях — попробуем разобраться вместе.

    Итак, на флешке с Kali Linux мне нужно узнать где начинается свободное место, для этого используйте команду вида:

    sudo parted /dev/ДИСК unit MB print free

    Например, в моём случае диск называется /dev/sdb, тогда команда следующая:

    sudo parted /dev/sdb unit MB print free

    Обратите внимание на строку:

    4028MB 256642MB 252613MB Free Space

    4028MB – это начало свободного места. Всего мне доступно 252613M (т.е. 252 Гигабайта) свободного места на флешке.

    Команда для создания нового логического раздела имеет вид:

    sudo parted /dev/ДИСК mkpart primary ext3 НАЧАЛО КОНЕЦ

    Следующей командой я создаю новый логический раздел на флешке (у меня это диск /dev/sdb), раздел будет начинаться с 4028MB и заканчиваться на 100GB:

    sudo parted /dev/sdb mkpart primary ext3 4028MB 100GB
    • sudo parted – вызов программы parted с привилегиями суперпользователя
    • /dev/sdb – путь до моей флешки
    • mkpart – внутренняя команда программы parted, которая означает создание раздела
    • primary – тип раздела
    • ext3 – файловая система раздела
    • 4028MB – начало нового раздела
    • 100GB – конец нового раздела, т.е. новый раздел будет иметь объём 100GB минус 4028MB, т.е. примерно 96 гигабайт. Вместо GB можно указать MB (величину в мегабайтах). ВНИМАНИЕ: здесь вы указываете НЕ размер раздела, а количество мегабайт (или гигабайт), которые нужно отступить от начала флешки до конца создаваемого раздела.

    Команда показывает следующее предупреждение:

    Warning: The resulting partition is not properly aligned for best performance: 7867712s % 2048s != 0s Ignore/Cancel?

    Суть сообщения в том, что запись на диски выполняется блоками, а выбранные настройки не в полной мере соответствуют блокам — для носителей на которых записан ISO образ это нормально. Поэтому вводим «Ignore».

    Команда создаст раздел очень быстро и выведет следующую информацию, которую можно проигнорировать:

    Information: You may need to update /etc/fstab.

    Увидеть новый раздел вы можете с помощью команды

    sudo fdisk -l

    У меня он отображён как

    Device Boot Start End Sectors Size Id Type /dev/sdb3 7867712 195312500 187444789 89.4G 83 Linux

    ПРИМЕЧАНИЕ: если вы хотите чтобы ваше постоянное хранилище было зашифрованным, то вам необязательно завершать последующие команды из этого четвёртого раздела, вы можете прямо сейчас переходить к пятому этапу «5. Постоянное хранилище с шифрованием».

    Следующая команда создаст файловую систему ext3 на указанном разделе и присвоит ему ярлык «persistence».

    sudo mkfs.ext3 -L persistence /dev/РАЗДЕЛ

    В моём случае раздел имеет имя /dev/sdb3, тогда команда следующая:

    sudo mkfs.ext3 -L persistence /dev/sdb3

    Теперь нам нужно сохранить на только что созданном разделе небольшой файл, необходимый для нормального функционирования постоянного хранилища. Следующими командами мы создадим точку монтирования в текущей системе, смонтируем флешку (чтобы можно было вносить в неё изменения), запишем конфигурационный файл для включения постоянного хранилища и отмонтируем флешку:

    sudo mkdir -p /mnt/my_usb sudo mount /dev/sdb3 /mnt/my_usb sudo bash -c "echo '/ union' > /mnt/my_usb/persistence.conf" sudo umount /dev/sdb3

    Обратите внимание, что в этих командах вам нужно дважды заменить /dev/sdb3 на имя и номер вашего раздела.

    Теперь можно перезагрузить компьютер и загрузиться с флешки. В начале загрузки выберите пункт «Live USB Persistence».

    Теперь система будет запоминать сделанные изменения. Например, вы можете сохранять файлы или устанавливать новые программы и они не исчезнуть после перезагрузки.

    Для того чтобы система использовала постоянное хранилище, каждый раз при загрузке выбирайте «Live USB Persistence». В противном случае будет загружаться обычная Live система.

    5. Постоянное хранилище с шифрованием

    Созданный дополнительный раздел вы можете зашифровать. В результате все хранимые на нём данные будут надёжно защищены. При каждой загрузки Kali Linux будет спрашивать пароль для расшифровки раздела. Данные будут автоматически шифроваться при записи на зашифрованный и автоматически расшифровываться при чтении с раздела.

    Нужно начать с создания постоянного хранилища, как это описано чуть выше. Предположим, вы уже создали постоянное хранилище, поэтому продолжаем.

    Если вы только что создали постоянное хранилище и ещё не перезагрузились, то переходите к его шифрованию. Если вы уже перезагрузились, то при включении компьютера вам необходимо в меню загрузки выбрать «Live system» (а НЕ «Live USB Persistence»), чтобы раздел, который мы собираемся шифровать, не использовался системой.

    ВНИМАНИЕ: Помните, что во всех последующих командах вам очень важно заменить /dev/sdb3 на имя вашего диска, иначе вы рискуете удалить данные с неверного диска.

    При шифровании раздела все данные, которые содержаться на нём, будут уничтожены и их будет невозможно восстановить. Чтобы начать шифрование, введите команду

    sudo cryptsetup --verbose --verify-passphrase luksFormat /dev/sdb3

    Утилита показывает нам предупреждение:

    WARNING: Device /dev/sdb3 already contains a 'ext3' superblock signature. WARNING! ======== This will overwrite data on /dev/sdb3 irrevocably.

    Суть его в том, что все данные с выбранного раздела будут безвозвратно перезаписаны.

    Если вы уверены, вам нужно ввести слово «YES» (все заглавные буквы).

    Далее придумайте пароль, которым будет открываться доступ к зашифрованному разделу. Если вы забудете этот пароль, то не будет способа восстановить информацию. Хотя она никуда не денется, но воспользоваться ей будет невозможно.

    Вы можете столкнуться с ошибкой:

    Выполнение команды завершилось с кодом ошибки 16: Нельзя отформатировать устройство /dev/sdb3, которое ещё используется.

    Это означает, что система автоматически смонтировала раздел и вам нужно вручную его отмонтировать, это можно сделать командой:

    sudo umount /путь/до/раздела

    Также утилита может вывести следующее сообщение:

    mke2fs 1.46.4 (18-Aug-2021) /dev/mapper/my_usb contains `OpenPGP Secret Key' data Proceed anyway? (y,N)

    В нём говорится, что данный раздел содержит данные «секретного ключа OpenPGP». Тем не менее, продолжайте, для этого введите «y».

    Теперь мы открываем зашифрованный раздел, чтобы продолжить его настройку:

    sudo cryptsetup open --type luks /dev/sdb3 my_usb

    Фраза «Enter passphrase for /dev/sdb3» приглашает нас ввести пароль для открытия диска.

    Создадим файловую систему ext3 и присвоим ей ярлык «persistence»:

    sudo mkfs.ext3 -L persistence /dev/mapper/my_usb

    Создадим точку монтирования, смонтируем наш новый зашифрованный раздел и сделаем запись в файл persistence.conf после чего отмонтируем раздел:

    sudo mkdir -p /mnt/my_usb sudo mount /dev/mapper/my_usb /mnt/my_usb sudo bash -c "echo '/ union' > /mnt/my_usb/persistence.conf" sudo umount /dev/mapper/my_usb

    Закройте зашифрованный канал до нашего раздела persistence:

    sudo cryptsetup luksClose /dev/mapper/my_usb

    Всё готово. При загрузке с флешки выберите «Live USB Encrypted Persistence».

    В какой-то момент загрузка остановится и вам нужно будет ввести пароль. После ввода пароля система продолжит загрузку.

    6. «Русификация» Kali Linux

    Как изменить язык Kali Linux?

    Для смены языка операционной системы на русский выполните следующую команду:

    sudo localectl set-locale LANG=ru_RU.UTF-8

    Подробности:

    • Почему Kali Linux не полностью на русском
    • Как поменять язык Kali Linux без переустановки системы

    После перезагрузки система предложит изменить имена папок на локализованные:

    Как поменять раскладку клавиатуры?

    Перейдите в Настройки → Клавиатура → Раскладка:

    Чтобы выполнить настройку, снимите галочку с «Использовать стандартные системные параметры», в результате вы сможете добавить новые раскладки клавиатуры, выбрать раскладку клавиатуры по умолчанию, изменить комбинацию клавиш для смены клавиатуры (В англоязычной версии это «Settings» → «Keyboard» → «Layout» → «Use system defaults».).

    Для изменения и установки других комбинаций клавиатуры, смотрите соседнюю вкладку «Комбинация клавиш».

    Вам также могут оказаться полезными статьи

    • Что нужно сделать после установки Kali Linux
    • Как из Windows просмотреть содержимое диска Linux и скопировать с него файлы
    • Почему Linux с Persistence не сохраняет настройки после перезагрузки? (РЕШЕНО)

    Связанные статьи:

    • Как установить Windows 11 и Kali Linux на одну флешку (100%)
    • Установка Kali Linux на флешку или на внешний диск как полноценную ОС (84.8%)
    • Linux на флешке: установка и другие подсказки по использованию Linux на USB носителях (83.4%)
    • Как установить Windows на USB диск (74.4%)
    • Установка Kali Linux с полным шифрованием диска и с зашифрованной домашней папкой пользователя (74.4%)
    • Как защитить веб-сервер Apache от взлома в Windows (RANDOM — 51.7%)

    факультете информационной безопасности от GeekBrains? Комплексная годовая программа практического обучения с охватом всех основных тем, а также с дополнительными курсами в подарок. По итогам обучения выдаётся свидетельство установленного образца и сертификат. По этой ссылке специальная скидка на любые факультеты и курсы!

    Рекомендуется Вам:

    56 комментариев to Как сделать Kali Linux 2022 Live USB с постоянным хранилищем и шифрованием (в Windows)

    Здраствуйте!
    При использовании флэшки usb 3.0 не сохраняется информация на зашифрованном разделе. При этом в самом процессе создания ошибок не наблюдается. При загрузке отрабатывает запрос пароля, но дальнейшая загрузка проходит в режи Лайв.

    Alexey :

    У вас только одно постоянное хранилище? Если вы создали сразу несколько, то зашифрованное постоянное хранилище должно быть последним.

    Здравствуйте! В лав системе полученной из kali-linux-xfce-2017.2-amd64.iso нигде в настройках нет пункта «Region and Language». Почему так могло получиться?

    Alexey :

    В домашней директории создайте файл .i18n

    leafpad .i18n

    и скопируйте туда:

    export LANGUAGE=ru_RU.utf8 export LANG=ru_RU.utf8 export LC_ALL=ru_RU.utf8

    После перезагрузки должно быть на русском. Если это не сработает, то эти строки можно попробовать записать в файл ~/.bashrc

    Alexey, спасибо, про этот вариант я в курсе. Мне просто интересно стало почему в меню про reg… ничего не видать. Такая же фигня была когда я делал флэшку из kali-linux-lxde-rolling-i386.iso. Я и подумал может это у меня возрастное) не вижу чего-нибудь)

    Через Винду с помощью Win32 Disk Imager не получается создать загрузочную флешку. После записи, казалось бы успешной, при попытке просмотреть файлы на флешке, выскакивает окно с просьбой отформатировать флешку. И загрузка с нее так же не увенчалась успехом. (Делал процедуру 2 раза)

    А как же sudo перед командой dd?

    Alexey :

    Foolproof: если скопировал бездумно, то не сработает. Если прочитал (вначале третьего раздела упоминается, что этой команде нужно sudo), то значит и прочитал что команду нужно изменить в соответствии с именами своих дисков.

    Здравствуйте! Хелп ми. При шифровании, почему то изменились имена разделов, и имя флешки sdc3 у меня изменилось, а это имя присвоилось жесткому диску и он стал шифрованным. Как его вернуть в предний вид? не открывается даже при вводе пароля — просто исчезает из вида(((

    Здравствуйте. Получается, если я поставил целый linux, а не light, то создавать persistent не нужно, потому что сохранять будет и так? Или же все равно необходимо, потому и полная версия сохраняет только при перезагрузке?

    Alexey :

    Если вы установили Kali Linux как обычную систему (а не используете как LIVE), то создавать persistent не нужно.

    Спасибо большое, уже проверил))) Пару файлов загрузил, настройки потыкал и перезагрузил)
    Ребят а ошибка Command failed with code 22 что означает ?

    Ни через Винду, ни через Mac, ни через Linux не удалось заставить сохранять данные в раздел persistence. Установка дополнительных пакетов или изменение темы оформления не сохраняются. Не понимаю, что и где идёт не так.

    linuxoidfluxion :
    Спасибо — Хороший сайт!

    Добрый день — создал все по инструкции — сделал зашифрованный раздел после стал устанавливать настройки для privoxy с целью кинуть весь трафик через тор в итоге при изменении файла коннфига система пишет что не возможно это сделать не в корневой директории /etc/ ни в persistane/etc/ раздел шифрованный создан один

    Alexey :

    Напишите дословно (как есть) — что пишет система?

    если открываешь файл конфиг находящийся в папке /etc/privoxy/config — то он только для чтения и любые изменения в нем делать нельзя — пишет ошибку при сохранении Can’t open file to write (через разный редакторы текста) а если заходишь под рутом или своим аккаунтом с админ правами то после комманды leafpad /etc/privoxy/config вместо открытия файла выдает Warring: noroot option is not aviable —- —- — leafpad: cannot open display: Parent is shutting down, bye…

    Приветствую, почему вы создаёте новый логический раздел в файловой системе ext3 а не ext4?

    Alexey :

    Хмммм… Видимо, вот отсюда это пошло: https://docs.kali.org/downloading/kali-linux-live-usb-persistence Почему они выбрали именно ext3 для флешек, я не знаю. Можно предположить, что из-за накладных расходов. Например, вот здесь показано, что свежий, только что отформатированный раздел ext4 с резервированием под рут пространством установленным на 0 сразу занимает 27G из 1.8T! То есть ещё не записали ни одного файла, а 27 Гигабайт УЖЕ ушло на накладные расходы файловой системы. В тех же условиях ext3 использует 196M. Может быть дело в чём-то ещё. Например, если я вручную размечаю диски под установку Linux, то для boot раздела я выбираю ext2, поскольку она быстрее, и журналирование там едва ли нужно. Под основные разделы, конечно, выбираю ext4 — что на флешках, что на внутренних дисках. Здесь же создаётся раздел для хранения разницы между файлами, которые невозможно изменить, и новыми данными. Возможно, есть какой-то смысл использовать ext3. В общем, ссылку на первоначальную инструкцию я дал, а точной причины я не знаю — можете попробовать спросить у них на форуме. П.с.: почитал там комментарии, в них говорят, что накладные расходы важны если вы создаёте маленькие тома, такие как зашифрованные контейнеры для чувствительных документов, в которых вы не собираетесь устанавливать ПО или выполнять операции от root — видимо, этим же руководствовались авторы инструкции. Там правда на это отвечают, что в этом случае лучше использовать -m 0 и накладные расходы ext4 составят только 1.5%.

    Здравствуйте, создал загрузочную флэшку Kali с помощью винды. Перегрузил ноут, все нормально, загрузка с флэшки произвелась. Перешел к выполнению 4 шага «Добавление постоянного хранилища в Kali Linux Live на USB флэшке» и столкнулся со следующими сложностями: во первых не понял как открыть командную строку или как она называется для выполнения команд sudo, во вторых как мне выяснить путь до устройства (имя диска), если описанный способ мне не подходит (тут описывается что в Linux нужно извлечь флэшку и выполнить команду sudo fdisk -1, затем уже с вставленной флэшкой повторить и таким образом вычеслить имя флэшки) а у меня просто загрузочнвя флэшка с Linux и вытащить я ее не могу, или я что- то не верно понимаю?

    После sudo e2label /dev/sdb3 persistence получаю ответ e2label: Bad magic number in super-block while trying to open /dev/sdb3 Что делать?

    Здравствуйте, возникла проблема такова вида:

    dd: failed to open 'kali-linux-2019.4-amd64.iso': No such file or directory

    У меня так же адрес загрузочной флешки /dev/sdb, отличается только версия Linux. Что происходит и как это обойти. Спасибо!)))

    Alexey :

    Приветствую! В сообщении сказано, что не найден файл ‘kali-linux-2019.4-amd64.iso’. По умолчанию файл ищется в текущей папке (текущей рабочей директории). То есть либо указано неправильное имя файла, либо файл в другой папке. Поскольку, видимо, вы новичок, то я бы настоятельно не рекомендовал пользоваться командой dd (некоторые в шутку говорят, что её имя расшифровывается как data destroyer, то есть «уничтожитель данных», поскольку если указать не тот диск, то на нём будут потеряны данные). Вместо dd я рекомендую использовать Etcher — простая в использовании программа с графическим интерфейсом и двумя кнопками. И поскольку без знания хотя бы основ командной строки в Kali Linux мало что можно сделать, то я рекомендую ознакомиться со статьёй «Азы работы в командной строке Linux (часть 1)» а также с последующими частями. Там написано, как узнать свою текущую рабочую папку, как посмотреть, какие файлы расположены в этой папке, как использовать TAB для автодополнения и т.д.

    При записи на флешку системы с помощью Etcher, Kali Linux можно будет запускать в persistance режиме ?

    Alexey :

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *