• Установка jdk на Antergos?

    xotkot
    @xotkot
    DarkByte2015:
    Кстати почему "open"? java же вроде проприетарная штука - Oracle.

    в open не входят вещи которые завязаны на закрытых патентах
    В чем разница между JDK и ОpenJDK ?
  • Установка jdk на Antergos?

    xotkot
    @xotkot
    DarkByte2015:
    Вот что есть в папке /usr/bin. Обратите внимание на флаги...

    там всё нормально, просто это ссылки на то где реально лежат исполняемые файлы.

    я так понимаю вы ставили jdk с AURA а не с офф. репозитория(openjdk) ?
    если да, то возможно в установочном скрипте плохо прописаны переменные или что-то еще

    попробуйте для начала команду:
    archlinux-java fix

    посмотрите какая среда используется(и при необходимости выставите нужную если их установлено несколько):
    archlinux-java status
    в общем по ссылке что я выше вам давал все подробно описано.

    если не поможет попробуйте прописать переменные вручную, к примеру так(для default):
    export PATH=${PATH}:/usr/lib/jvm/default/bin
    если в терминале после этого все нормально заведётся то добавляйте уже в файл /etc/profile

    проверить что в переменную PATH добавились нужные пути можно просто выведя ее:
    echo $PATH
  • Почему скрипт не работает после запуска unit в systemd?

    xotkot
    @xotkot
    pfg21: если честно с таким не сталкивался, везде systemctl --user enable XXX работало без проблем, поэтому трудно что нибудь посоветовать по этому поводу. Возможно это проблема старых версий systemd или установлены специфические настройки или еще что нибудь.
  • Почему скрипт не работает после запуска unit в systemd?

    xotkot
    @xotkot
    pfg21:
    что значит не работает ?
    работа с юнитом от обычного пользователя аналогична работе от суперпользователя. Единственное отличие это местоположение и добавочный параметр запуска --user.
    Чтобы посмотреть статус юнита, а также возникшие ошибки можно командой:
    systemctl --user status ЮНИТ
    Чтобы посмотреть все(в том числе и добавленные вами) пользовательские сервис-юниты можно командой:
    systemctl --user --type=service --all list-units
  • Привязка выполнения файла к инициализации в терминале?

    xotkot
    @xotkot
    Алексей: с последовательностью всё в порядке, оно все отрабатывает как запрограммировано, здесь скорее всего дело в неправильной настройке сервера/клиента Postgres.
    оставлю это здесь, может пригодится:
    Client Connection Problems
    PostgreSQL
  • Привязка выполнения файла к инициализации в терминале?

    xotkot
    @xotkot
    Алексей:
    т.к. пути не успевают присваиваться, а сервер psql запускается и выдает ошибку

    что за ошибку выдаёт ?
  • Привязка выполнения файла к инициализации в терминале?

    xotkot
    @xotkot
    Алексей:
    пароль уже установлен, но я не против его убрать)

    пароль убирать ненужно, сначала зайди от суперпользователя и установи(если нету) пароль:
    passwd postgres
    ... вводишь новый пароль


    Далее установи и настрой sudo(если еще не стоит). [sudo можно настроить так чтобы например для определённой команды(программы) или например пользователя чтобы не нужно было вводить пароль, он будет подцепляется автоматом) ]
    к примеру, если в /etc/sudoers (файл настроек sudo) добавить строку:
    pangaea ALL = (postgres) NOPASSWD: ALL
    (здесь pangaea это твой пользователь с которого ты заходишь к пользователю postgres)
    то это позволит без ввода пароля заходить к пользователю postgres, то есть команда su postgres и последующий ввод пароля, заменится на:
    sudo -u postgres -i
    без ввода какого либо пароля

    Далее на эту команду можно сделать алиас, для этого в конец файла .bashrc который находится в корне твоей домашней директории вставляешь строчку:
    alias startpsql='sudo -u postgres -i'
    Теперь можно входить к пользователю postgres просто введя в терминале команду:
    startpsql

    Далее, чтобы при входе к пользователю postgres автоматом исполнялся набор нужных тебе команд их можно добавить в один из файлов что обрабатываются при входе в шел-оболочку нужного тебе пользователя. Если брать только для конкретного пользователя, то эти файлы, по умолчанию, должны находится в корне домашней директории выбранного пользователя(postgres) и должны принадлежать ему.
    Для каждой оболочки(sh, bash, zsh ...) есть свои "стартующие" файлы, но файл .profile является как бы общим для всех оболочек данного пользователя. То есть, тебе нужно создать его, а затем добавить в него те команды которые нужно выполнить при входе:
    export PATH=$PATH:/usr/local/pgsql/bin
    export PGDATA=/usr/local/pgsql/data
    pg_ctl start -l logfile
    psql -c 'select now()'
    psql

    Данный файл необходимо поместить в домашнюю директорию пользователя postgres, путь к данной директории можешь посмотреть командой:
    awk -F: '$1=="postgres" {print $6}' /etc/passwd
    по данному пути размещаешь свой файл .profile

    Далее, необходимо удостоверится что файл .profile принадлежит пользователю postgres иначе он не сможет его обработать.
    Права на файл можно посмотреть командой(находясь в одной папке с данным файлом):
    ls -la .profile
    должно вывести примерно следующее:
    -rw-r--r--  1 postgres postgres  .......   .profile

    если это не так то нужно задать необходимые права вручную, примерно так:
    chown postgres:postgres .profile
    команда выполняется от суперпользователя.

    =======================
    После вышеприведенных манипуляций если нигде не допустишь ошибок то всё должно завестись, после чего в итоге будет достаточно набрать в терминале команду:
    startpsql
    чтобы получить желаемый результат
  • Привязка выполнения файла к инициализации в терминале?

    xotkot
    @xotkot
    ввод пароля; - здесь я так понимаю простой точкой с запятой не отделаешься.

    вообще-то там нужно сначала установить пароль для пользователя postgres

    Алексей:
    чтобы не гадать, напиши версию Debian который у тебя установлен и ссылку на страницу по информации с которой ты устанавливаешь postgres.
  • Привязка выполнения файла к инициализации в терминале?

    xotkot
    @xotkot
    Алексей:
    ок, если не хочешь по простому то можно и по другому.
    Так, на сколько я понял при установке Posgresql создаёт в системе пользователя и группу postgres а домашняя директория у него /usr/local/pgsql это если судить по вашим путям.(кстати под Арчем это /var/lib/postgres)
    На всякий случай посмотрите путь к домашней директории postgres, когда зайдете в него(su postgres), выполните:
    echo $HOME
    Далее в этой домашней директории postgres размещаете файл .profile с таким содержимым:
    export PATH="$PATH:/usr/local/pgsql/bin"
    export PGDATA="/usr/local/pgsql/data"

    Под Арчем кстати пользователю postgres в целях защиты не разрешается создавать простые файлы в домашней директории, поэтому пришлось файл .profile создавать под суперпользователем, а затем менять владельца на postgres. Возможно у вашего файла .profile не соответствуют владелец файла поэтому он и не считывается при входе.

    ниже написал скрипт в котором автоматизировал выполнения некоторых действий. Создай файл test.sh (в любом месте) под обычным пользователем, с таким содержимым:
    #!/bin/sh
    
    myPATH="/usr/local/pgsql"
    
    # узнаем домашнюю директорию postgres
    DIR_PG="$(awk -F: '$1=="postgres" {print $6}' /etc/passwd)"
    
    # создаем и заполняем файл .profile в домашней директории пользователя postgres
    echo "export PATH=${PATH}:${myPATH}/bin" > ${DIR_PG}/.profile
    echo "export PGDATA=${myPATH}/data" >> ${DIR_PG}/.profile
    
    # Владельцем файла делаем пользователя postgres
    chown postgres:postgres ${DIR_PG}/.profile
    
    echo "ГОТОВО"

    далее файл необходимо сделать исполняемым и запустить от суперпользователя:
    chmod +x test.sh
    sudo ./test


    ====================================
    Есть еще вариант передавать параметры через sudo при заходе:
    sudo -u postgres -i PGDATA="/usr/local/pgsql/data" PATH="$PATH:/usr/local/pgsql/bin"

    и можно было бы повесить на alias, но к сожалению для переменной PATH передача не работает так как перезаписывается уже существующей(та что в /etc/profile).
  • Привязка выполнения файла к инициализации в терминале?

    xotkot
    @xotkot
    Алексей:
    проще говоря в любом редакторе из под рута откройте файл /etc/profile и в его конец добавьте две строки:
    export PATH=$PATH:/usr/local/pgsql/bin
    export PGDATA=/usr/local/pgsql/data
  • Привязка выполнения файла к инициализации в терминале?

    xotkot
    @xotkot
    Алексей:
    знак >> означает добавление в конец файла
    к примеру, консольная команда:
    # echo 'export PGDATA=/usr/local/pgsql/data' >> /etc/profile

    означает что в конец файла /etc/profile будет записана строка export PGDATA=/usr/local/pgsql/data
    всё тоже самое можно сделать если в каком нибудь редакторе(например nano) открыть данный файл и вручную добавить в конец файла вышеуказанную строку.

    здесь знак в начале команды(его писать ненужно) означает:
    # - команда выполняется от суперпользователя(root)
    $ - команда выполняется от простого пользователя

    не испортит мне глобальное использование путей?

    все пути(переменные) вы можете сами легко отследить, например:
    echo $PGDATA
    выведет переменную PGDATA если она была ранее инициализирована, если нет то выведет пустую строку.
    А переменную PATH я вам подправил, и ваш путь запишется к остальной кагорте путей что содержится в этой переменной.
  • Кто за то, чтобы добавить шкалу сложности к новому, только что созданному вопросу?

    xotkot
    @xotkot
    xmoonlight:
    сейчас на часть вопросов я просто не подписываюсь чтобы не спамило, хотя мне вопрос может быть интересен/полезен но только как ответ на него. Если же убрать в настройках спам по отслеживаемому вопросу то я не смогу нормально следить за другими вопросами для которых мне интересен не только ответ но и обсуждение процесса его поиска.
  • Кто за то, чтобы добавить шкалу сложности к новому, только что созданному вопросу?

    xotkot
    @xotkot
    xmoonlight: полезность вопроса это почти тоже самое что и полезность ответа, то есть мне интересен этот вопрос так как меня интересует ответ на него, а не сам процесс нахождения его.
    Сейчас подписка на вопрос неотделима как от "мне интересен вопрос и я готов обсуждать его" так и от "мне интересен вопрос но только в плане ответа"
  • Домашний "сервер" из ноутбука?

    xotkot
    @xotkot
    Mikhail-B: добавлю лишь что используется оСь ArchLinux без графической оболочки, хожу в основном по ssh, используется так уже 2-3 года, проблем с нагрузкой или нагревом замечено не было