Я вижу два способа сделать это:
yum
для repolist
, --disablerepo
и --enablerepo
. repoquery --requires --resolve --recursive <package_name> | xargs -r yumdownloader
. repoquery
также имеет параметры для включения/отключения репозиториев, см. справочную страницу. Эта команда найдет нужный пакет vim
и все зависимости и загрузит эти RPM. Затем вы можете установить их с помощью yum
с помощью локальных утилит установки/обновления или с помощью RPM. Кроме того, обратите внимание, что man-страница для yum
говорит о флаге --security
:
This option includes packages that say they fix a security issue, in updates.
Возможно, эти vim-minimal
версии не имеют обновлений безопасности.
fnctl
это то, что вы ищете. Его man
страница довольно сложная. Он сообщает вам, доступен ли открытый файл только для чтения или для записи, и возвращает -1 для закрытых файлов. Он мощный и может дать гораздо больше деталей, таких как (неисправный )механизм замка.
#include <fcntl.h>
int
fcntl(int fd, int cmd,...);
Для ваших целей используйте флаг F_GETFL
, как в
int r, fd;
r = fcntl ( fd, F_GETFL );
if (r==-1)
printf("File %d is closed.\n", fd);
if (r>0)
printf("File %d is open.\n", fd);
Если возвращаемое значение равно -1, файл не открыт (или fd
не является допустимым дескриптором файла ). Если возвращаемое значение положительное, fd
описывает открытый файл.