Все эти моменты решаются установщиком по умолчанию, если вы выбираете шифрование всего диска:
- современное шифрование
- полностью зашифрованный диск (включая свопинг)
- единый пароль при загрузке для дешифрования
- автоматическое шифрование в режиме гибернации / приостановки
Есть два раздела: / boot /
(sda1) не зашифрован, sda2 будет зашифрован, группа LVM будет сформирована из созданного устройства, и затем эта группа LVM будет разделена на /
, / home /
и раздел подкачки. Этот раздел подкачки также будет использоваться для гибернации. Использование только одного зашифрованного раздела делает необходимость только одного пароля во время загрузки или возобновления работы тривиальной.
К сожалению, я не смог найти никакой документации по этому поводу в вики-странице Debian, но Archlinux имеет эту статью .
второй пароль для загрузки второй действующей ОС для правдоподобного отрицания.
Я не знаю решения Linux для этого. И нигде нет реального решения, которое сделало бы отрицание действительно правдоподобным (в том смысле, что «фальшивая» система должна выглядеть так, как если бы она использовалась регулярно); но эта часть скорее принадлежит security.stackexchange , ИМХО.
Версия gcc
, распространяемая вместе с CentOS 6
, на самом деле 4.4.7.
Вы можете установить столько версий gcc
, либо установив devtoolset-#
через yum
, либо скомпилировав из исходного кода.
Первый способ самый простой. Убедитесь, что вы устанавливаете пакеты devtoolset
через scl repo
. Я полагаю, что вы уже это сделали, так как вы уже установили его, но на случай, если вы этого не сделали:
yum install centos-release-scl
Затем вы можете использовать приведенную ниже команду, чтобы установить gcc version
на любое значение, которое вы хотите.Используя 5 для этого примера и предполагая, что ваша оболочкаbash
:
scl enable devtoolset-5 bash
Если вы хотите изменить на 6:
scl enable devtoolset-6 bash
Если вы хотите вернуться к настройкам по умолчанию, любое из следующих действий будет работать, предполагая, что bash
— это ваша оболочка:
bash
source ~/.bash_profile
Первый запускает новый сеанс оболочки и устанавливает любые псевдонимы/переменные/команды в ~/.bashrc
. Второй установит его с помощью переменных/команд в ~/.bash_profile
. (Без включенного devtoolset ).
Вы даже можете поместить scl enable devtoolset-5 bash
, например, в ~/.bashrc
или ~/.bash_profile
, чтобы установить версию gcc
на одну из версий devtoolset
при входе в систему. Чтобы вернуться к системе по умолчанию, если вы используете этот метод, закомментируйте строку в ~/.bashrc
или ~/.bash_profile
, а затем запустите bash
или source ~/.bash_profile
соответственно. Это запустит новый сеанс оболочки со всем в одном из этих файлов инициализации оболочки, кроме команды scl enable
, которую вы закомментировали. Единственным недостатком является то, что любые переменные, которые вы установили с помощью команды export
, больше не будут существовать, поскольку сеанс оболочки будет новым.
Вероятно, это просто вопрос изменения некоторых переменных окружения, вроде PATH
. Насколько велик этот файл /opt/rh/devtoolset-5/enable
? Можете ли вы взглянуть на него, увидеть, что он делает, и адаптировать его для старого компилятора, который вы хотите использовать? Очевидными вещами, которые нужно искать, были бы имена каталогов. где установлены новые файлы компилятора (измените их на соответствующие пути для старого компилятора )и номер версии. Я не знаю, что еще может быть там.
Я не эксперт по scl
, но у меня многолетний опыт работы с Linux.
Когда вы выполняете scl enable devtoolset-9 bash
, происходит следующее: запускается новый bash и устанавливается новая среда.
Вы можете увидеть новый процесс bash
по:
echo $$
scl enable devtoolset-9 bash
echo $$
pstree -p
, чтобы увидеть, что ваш новый pid bash имеет родительский pid вашего старого процесса bash g++
, все, что вам нужно сделать, это выйти из вашего текущего процесса bash
, после чего у вас должен быть старый компилятор g++. Важное примечание относительно вашего ~/.bashrc:
~/.bashrc
scl enable devtoolset-9