не может уменьшить размер raid1 с помощью mdadm

Большинство оболочек не используют getenv()/setenv()/putenv()API.

При запуске -они создают переменные оболочки для каждой полученной переменной окружения. Они будут храниться во внутренних структурах, которые должны нести другую информацию, например, экспортируется ли переменная, только для чтения -... Они не могут использовать для этого libc environ.

Точно так же и по этой причине они не будут использовать execlp(), execvp()для выполнения команд, а будут вызывать системный вызов execve()напрямую, вычисляя массив envp[]на основе списка своих экспортируемых переменных.

Таким образом, в вашем gdbвам нужно будет добавить запись во внутреннюю таблицу переменных этой оболочки или, возможно, вызвать правильную функцию, которая заставит интерпретировать код export VAR=valueдля обновления этой таблицы самостоятельно..

Что касается того, почему вы видите разницу между bashи zshпри вызове setenv()в gdb, я подозреваю, что это потому, что вы вызываете setenv()до инициализации оболочки, например, при вводе main().

Вы заметите, что bash's main()- это int main(int argc, char* argv[], char* envp[])(, а bashотображает переменные из этих env vars в envp[]), а zsh's - это int main(int argc, char* argv[])и zshполучает переменные вместо этого из environ. setenv()изменяет environ, но не может изменять envp[]в -место (для чтения -только в нескольких системах, а также строки, на которые указывают эти указатели ).

В любом случае, после того как оболочка прочитала environпри запуске, использование setenv()будет неэффективным, так как после этого оболочка больше не используетenviron(или getenv()).

1
17.10.2019, 16:34
1 ответ

Со страниц руководства mdadm

       -G, --grow
              Change the size or shape of an active array.

Это означает, что вы не можете изменить размер (в МБ, ГБ или что-то в этом роде ). После сжатия файловой системы вы можете уменьшить размер разделов, которые вы использовали для рейда mdadm. Таким образом, вы должны «восстановить» место на диске, чтобы создать новый раздел (s ).

0
27.01.2020, 23:59

Теги

Похожие вопросы