Я хочу установить библиотеку libevent. Я забыл выполнить su root и запустить ./configure под своей учетной esolve . Затем я замечаю, что после запуска make install с esolve .

Мой root не может изменять файлы, которые были изменены esolve (мне не очень понятно почему, потому что ОС Linux на этом компьютере была настроена каким-то системным / сетевым администратором).

Теперь я su root и запускаю ./configure , и я получаю следующую ошибку:

 ./configure: line 2178 config.log permission denied

Итак, где я могу найти файл config.log и удалить или изменить его?

К вашему сведению - мой компьютер: 3.6.10-2.fc16.x86_64

1 ответ1

1

Если вы запускаете команду ./configure в определенном каталоге, я ожидаю, что config.log будет в этом месте. Вы можете запустить эту команду, чтобы найти файл из этого каталога:

$ find . -name "config.log"

Если вы обращаетесь к каталогу, смонтированному из другой системы, root может не иметь доступа к действиям в этом смонтированном каталоге. Это обычно имеет место в Linux/UNIX.

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

$ df -h .
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                      429G  375G   32G  93% /

Если вы видите путь вроде: /dev/... тогда каталог является частью локальной файловой системы компьютера, если вы видите что-то вроде этого:

# windows share mounted locally
$ df -h .
Filesystem            Size  Used Avail Use% Mounted on
//remotecomputer/t    22T   12T   10T  55% /remote/t

# linux share mounted locally
$ df -h .
Filesystem            Size  Used Avail Use% Mounted on
cobbler:/cobbler/isos
                       43G   33G  8.3G  80% /cobbler/isos

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

Это в последних двух случаях, когда root часто не имеет прав на запись в общие каталоги.

компиляция на удаленном ресурсе

Как правило, я бы запустил первые 2 шага компиляции от имени пользователя без полномочий root, а затем переключился на root для шага установки:

как некорневой

$ ./configure
$ make

как корень

$ make install

Предполагая, что целью установки является некоторый локальный каталог на компьютере, например /usr или /usr/local .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .