Сначала сделайте резервную копию.
Run:
# cd
# yum install java-1.6.0-openjdk-1.6.0.0-5.1.13.3.el6_5.rpm
Если дела идут не очень хорошо и в системе доступен RPM предыдущей версии, вы можете откатиться назад с:
# yum history undo last
Если его нет в системе, вы можете понизить рейтинг, переустановив предыдущую версию (после скачивания сначала) с:
# cd
# yum downgrade java-1.6.0-openjdk-1.6.0.0-3.1.13.1.el6_5.rpm
Что-то подобное сделает то, что вам нужно.
#!/bin/bash
#
SOURCE="$1" COPY="$2"
cd "$SOURCE"
find . |
sed 's!^\./!!' |
while IFS= read ITEM
do
test -d "$ITEM" && { mkdir -p "$COPY/$ITEM"; continue; }
BASE="${FILE%\/*}"
( cd "$COPY/$BASE" && ln -s "$SOURCE/$ITEM" )
done
Каталоги создаются в целевом дереве COPY. Все остальное связано с абсолютным путем в дереве SOURCE. Убедитесь, что и SOURCE, и COPY указаны как абсолютные пути (начиная с /
).
Если имеется большое дерево для копирования и требуется отчет о ходе выполнения по каталогу, можно добавить echo «$ ПРЕДМЕТА» > & 2;
непосредственно перед командой mkdir
.
(Я посмотрел на cp
и cpio
, но ни у одного из них нет возможности связать источник с символическими ссылками.)
Цитирование документации bash (от man bash
):
JOB CONTROL
Job control refers to the ability to selectively stop
(suspend) the execution of processes and continue (resume)
their execution at a later point. A user typically employs
this facility via an interactive interface supplied jointly
by the operating system kernel's terminal driver and bash.
Так что, проще говоря, установив -m
(по умолчанию для
интерактивные оболочки) позволяет использовать встроенные модули, такие как fg
и bg
,
который будет отключен в набор + m
(по умолчанию для неинтерактивных оболочек).
Для меня не очевидно, какова связь между управлением работой и
тем не менее, уничтожение фоновых процессов на выходе, но я могу подтвердить, что
имеется один: работающий набор -m; (сон 10; сенсорный контроль) &
создать файл, если он выходит из оболочки сразу после ввода
команда, но набор + m; (сон 10; touch control-off) и
не будет.
Я думаю, что ответ лежит в остальной документации для set -m
:
-m Monitor mode. [...] Background pro‐
cesses run in a separate process group and a line con‐
taining their exit status is printed upon their comple‐
tion.
Это означает, что фоновые задания, начатые при наборах + m
, не являются фактическими
«фоновые процессы» («Фоновые процессы те чей процесс
идентификатор группы отличается от идентификатора терминала "): они совместно используют один и тот же процесс
идентификатор группы в качестве оболочки, которая их начала, а не иметь свой собственный
группы процессов, такие как соответствующие фоновые процессы. Это объясняет
поведение, наблюдаемое, когда оболочка выходит из строя до некоторой части ее фона
рабочие места: если я правильно понимаю, при увольнении посылается сигнал
процессы в той же группе процессов, что и оболочка (таким образом убивая
фоновые задания, запущенные в набор + m
), но не в соответствии с заданиями других
группы процессов (оставляя в покое запущенные истинные фоновые процессы)
в set -m
).
Таким образом, в вашем случае сценарий startup.sh
, предположительно, запускает
фоновое задание. Когда этот сценарий выполняется неинтерактивно, например
по SSH, как в вопросе, с которым вы связаны, управление заданиями отключено,
фоновое задание совместно использует группу процессов удаленной оболочки, и
таким образом, убивается, как только этот снаряд выходит. И наоборот, путем включения задания
управление в этой оболочке, фоновое задание приобретает свой собственный процесс
группа и не погибает при выходе из родительской оболочки.
Файловая система fat32 не имеет понятия владельца или разрешений. На справочной странице для mount
перечислены следующие параметры, которые помогают приблизиться к ожиданиям пользователей Unix:
uid = value и gid = value. Задайте владельца и группу всех файлов. (По умолчанию:uid и gid текущего процесса.) umask = значение Задайте маску umask (битовую маску разрешений, которые не являются настоящее время). По умолчанию используется маска текущего процесса.
Таким образом, когда вы монтировали его, он был смонтирован с вашим userid, groupid и umask (который, я полагаю, 022
). Все файлы и каталоги будут принадлежать вам и будут иметь разрешения rwxr-xr-x
.
ext4, с другой стороны, является классической файловой системой Unix, в которой хранятся сведения о пользователях, группах и разрешениях. Если каталог создается как root, он будет принадлежать root, пока для его изменения не будет использован chown
. Можно изменить разрешения группы или других с помощью chmod
, чтобы сделать объект доступным для записи нескольким пользователям.