Не может открыть файл 'svn/repo/db/txn-current-lock': Разрешение отклонено

Вот код Java для максимальной суммы подмассива по модулю. Мы рассмотрим случай, когда мы не можем найти наименьший элемент в дереве, строго превышающий s [i]

public static long maxModulo(long[] a, final long k) {
    long[] s = new long[a.length];
    TreeSet<Long> tree = new TreeSet<>();

    s[0] = a[0] % k;
    tree.add(s[0]);
    long result = s[0];

    for (int i = 1; i < a.length; i++) {

        s[i] = (s[i - 1] + a[i]) % k;

        // find least element in the tree strictly greater than s[i]
        Long v = tree.higher(s[i]);

        if (v == null) {
            // can't find v, then compare v and s[i]
            result = Math.max(s[i], result);
        } else {
            result = Math.max((s[i] - v + k) % k, result);
        }
        tree.add(s[i]);
    }
    return result;
 }
50
задан Braiam 17 September 2016 в 16:49
поделиться

2 ответа

Это обычная проблема. У вас почти наверняка возникнут проблемы с разрешениями. Чтобы решить эту проблему, убедитесь, что пользователь apache имеет доступ для чтения / записи ко всему вашему репозиторию. Для этого chown -R apache: apache * , chmod -R 664 * для всего, что находится в вашем репозитории svn.

Также см. здесь и здесь , если вы все еще застряли.


Обновите, чтобы ответить на дополнительный вопрос OP в комментариях:

Строка «664» - это восьмеричное (основание 8) представление разрешений. Здесь три цифры, обозначающие разрешения для владельца , группы и всех остальных (иногда называемых «миром») соответственно для этого файла или каталога. .

Обратите внимание, что каждая цифра с основанием 8 может быть представлена ​​3 битами (от 000 для «0» до 111 для «7»). Каждый бит означает что-то:

  • первый бит: права на чтение
  • второй бит: права на запись
  • третий бит: разрешения на выполнение

Например, 764 в файле будет означать, что:

  • владелец (первый цифра) имеет разрешение на чтение / запись / выполнение (7)
  • группа (вторая цифра) имеет разрешение на чтение / запись (6)
  • все остальные (третья цифра) имеют разрешение на чтение (4)

Надеюсь, что очищается все вверх!

67
ответ дан 7 November 2019 в 10:58
поделиться

Попробуйте отключить SELinux с помощью этой команды / usr / sbin / setenforce 0 . В моем случае это решило проблему.

-1
ответ дан 7 November 2019 в 10:58
поделиться
Другие вопросы по тегам:

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