Ответы пользователя по тегу Linux
  • Является ли большое использование Slab память на сервере виртуализации утечкой?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    использует много slab-памяти (90Гб), согласно выводу atop, является ли это утечкой памяти

    Не обязательно. SLAB -- это механизм динамического выделения памяти внутри ядра для объектов одинкаового размера. Можно посмотреть на распределение памяти по типам SLAB-кешей командой slabtop, чтобы примерно понять, кем эта память используется. Жизненный цикл SLAB-кешей выделенных драйвером зависит от логики этого драйвера и может быть дольше, чем, например, жизненный цикл виртуальных машин. На утечку может указывать например то, что SLABы остаются после выгрузки драйвера который их создал.
    Ответ написан
    Комментировать
  • Почему при подключении по ssh с ключем требует пароль?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    от чего это тогда зависит?

    Зависит от того, куда ты положил файл authorized_keys с открытым ключом. Если ты положил его в ~root/.ssh -- можешь заходить от имени root, если в ~user/.ssh -- можешь заходить от имени user.
    Ответ написан
    2 комментария
  • Почему gcc: command not found в этом случае?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    ./configure CC=arm-linux-gnueabi-gcc-7 --host=aarch64-linux-android //тут ОК
    make // gcc: command not found

    Если конфигурирование прошло успешно, то система сборки должна использовать CC который был ей дан на этапе configure. То что где-то вызывается gcc это либо результат ошибки конфигурирования, либо баг в системе сборки проекта.

    Мне надо ссылку делать в bin на arm-linux-gnueabi-gcc-7, или это костыль в данном случае

    Если arm-linux-gnueabi-gcc-7 успешно вызывается из консоли по имени, то ничего делать не надо.
    gcc -- это хостовый компилятор, ты же не на arm-хосте компилируешь? Если gcc перестал вызываться из консоли -- это отдельная проблема, к кросс-компиляции не имеющая отношения.
    Ответ написан
    6 комментариев
  • Как экранировать символы в .bash-aliases?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Решил, как порядочный линуксоид вынести алисы в отдельный файл.

    $'/var/www/www-root/data/www\r'

    \r в конце намекает на то, что в этом отдельном файле концы строк виндовые а не юниксовые. dos2unix .bash-aliases должен это пофиксить.
    Ответ написан
    2 комментария
  • Почему не отрабатывает exit на третьем уровне скрипта?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Написали многоуровневое меню при помощи функций, работает без проблем все, кроме выхода.
    Примерно на 2-3 уровне меню "Exit" не выходит из скрипта, а возвращается на уровень выше.

    всё зависит от того, как эти функции вызываются. Если так:

    clear; ./1_1_ipmi_menu.sh ; unem ;;

    то разумеется вызов exit внутри скрипта 1_1_ipmi_menu.sh приведёт в возврату в unem, вы же тут отдельный процесс создаёте.
    Чтобы exit в функциях приводил к выходу из приложения нужно импортировать (source) функции из этих скриптов и вызывать функции вместо запуска скриптов.
    Типа того:
    #!/bin/bash
    unem() {
            read b
            case $b in
              1) clear ; … ; unem ;;
              2) clear; PMI ; unem ;;
              3) clear ; menu ;;
              0) exit 0 ;;
            esac
    }
    source 1_1_ipmi_menu.sh
    source 1_1_system_menu.sh
    unem
    Ответ написан
    Комментировать
  • Какие права нужны для создания сетевых интерфейсов linux?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    создать интерфейсы приложение не может т.к. не хватает привилегий.

    А если внимательно прочитать лог, то можно увидеть sudo: not found. Т.е. скрипт рассчитывает выполнить привилегированную часть с помощью sudo, но его (sudo) нет.

    Полагаю, необходимо дать права пользователю 1000:1000 на хосте, не совсем понятно какие и на какие файлы.

    Вообще для манипуляций с сетевыми ресурсами нужна capability CAP_NET_ADMIN, её отсутствие нельзя восполнить никакими разрешениями на файлах.
    Ответ написан
    Комментировать
  • Как разархивировать архив tar.gz, в котором архив и т.д?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Studencheskaya32 --to-command -- это прикольно.
    Но мне больше нравится решение с -O:
    tar -xzvOf archive.tar.gz | tar -xzvO | tar -xzvO | … | tar -xzvO | tar -xzv
    Ответ написан
    Комментировать
  • Почему система продолжает работать после выполнения команды?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Почему при выполнение данной команды ОС продолжает работать до момента перезагрузки?

    Я бы не сказал, что она "продолжает работать", но у нас, видимо, разные определения понятия "работать". Никакие новые исполняемые файлы в такой системе не могут быть запущены, потому что никаких файлов нет, а запущенные процессы -- да, могут продолжать выполняться и форкаться, пока им от файловой системы не нужны операции использующие имена файлов.
    Ну и, справедливости ради, надо отметить, что место занятое открытыми на момент выполнения команды rm -rf / файлами не будет освобождено и их содержимое не будет потеряно, пока они не будут закрыты. Можно будет продолжать читать и писать в них, в т.ч. ядро будет продолжать использовать их для реализации механизмов виртуальной памяти.
    Ответ написан
    Комментировать
  • Как переделать initrd (Altlinux 8 SP)?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    нужно выкинуть все лишнее из /lib/modules/5.10.144-std-def-alt0.c9f.2

    Это сравнительно легко сделать: нужно оставить только те модули, которые видны в lsmod после успешной загрузки.
    Ответ написан
    Комментировать
  • Почему не удается подключиться к Postgres(VirtualBox) из хостовой машины?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    в pg_hba.conf должно быть что-то типа того:
    host all all 0.0.0.0/0 md5
    host all all ::0/0 md5

    для приёма любых подключений с любого адреса.
    Ответ написан
  • Что делать с проблемой Job for apache2.service failed?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    дек 10 21:56:09 podd apachectl[2466]: AH00526: Syntax error on line 8 of /etc/a…
    дек 10 21:56:09 podd apachectl[2466]: Invalid command 'AssignUserID', perhaps m…

    ну так вот же он тебе говорит, где проблема и в чём она состоит. Правь этот конфиг.
    Ответ написан
    1 комментарий
  • Как удалить все строки до n через sed?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Как отредактировать это, чтобы работало?
    получаю n через grep
    Далее пытаюсь понять как удалить через sed все строки от 1 до n

    Можно всё это выполнить в одном скрипте sed:
    sed -i '0,/string:/d' file1
    Ответ написан
    2 комментария
  • Почему два идентичных файла ведут себя по разному?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Похоже на то, что hare run не нравятся виндовые концы строк (CR/LF). Можно использовать утилиту dos2unix для приведения концов строк в понятный hare вид (LF).
    Ответ написан
    2 комментария
  • Почему не собирается пакет gettext?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    /usr/lib/gcc/x86_64-lfs-linux-gnu/12.2.0/../../../../x86_64-lfs-linux-gnu/bin/as: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory


    Никита Савченко, я просмотрел по диагонали что LFS рекомендует собирать и не увидел в этом списке zlib. А это значит, что твои binutils подхватили ссылку на хостовый zlib, которого нет в chroot. Я подозреваю, что опция binutils configure --disable-shared или --enable-compressed-debug-sections=none решит эту проблему. Ну либо надо собрать и установить в chroot ещё и zlib.
    Ответ написан
    3 комментария
  • Почему iptables блокирует траффик?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    В syslog обнаружил, что мой ip блокируется почему-то


    Так это же из вот этого правила:
    5       30  5264 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0            limit: avg 5/min burst 5 LOG flags 0 level 7 prefix "iptables denied: "

    а поскольку оно стоит перед правилом ACCEPT для пакетов openvpn, то оно выводит и принятые пакеты openvpn.
    Перенеси его в конец цепочки input, чтобы оно выводило только реально отброшенные пакеты.
    Ответ написан
    5 комментариев
  • Что бы вы хотели знать, когда перешли на линукс или первый раз поставили?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Что бы вы хотели знать, когда перешли на линукс или первый раз поставили?

    - как устроена пакетная система: как искать пакеты, как по файлу найти содержащий его пакет, как получить список файлов пакета
    - как устроены настройки (что в /etc, что в /proc, что в /sys), как они применяются
    - как разбираться с проблемами: какие бывают логи, аудит, strace, gdb
    - как искать информацию: man, info, apropos
    - какие есть стандартные инструменты в этой системе: POSIX.1-2008: find, grep, kill, less, ps, ...

    что нужно делать, что не нужно

    - если нужны какие-то библиотеки -- сначала искать их в репозитории дистрибутива, только потом пытаться собирать их самому
    - если собрал что-то сам, что отсутствует в репозитории -- оформи это пакетом
    - не нужно пересобирать ядро, почти наверняка
    Ответ написан
  • Как в Си вывести в консоль без записи в буфер?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Если я использую printf("asd"), то весь текст в кавычках будет выведен на экран и записан в лог файл. Вот такая команда: './a.out > file.log'.

    Здесь несколько несуразностей: 1) printf в ./a.out > file.log не выведет ничего на экран, всё будет перенаправлено в файл. но 2) сам printf об этом ничего не знает. Он выводит данные в поток стандартного вывода, куда они перенаправляются потом -- не его дело. 3) оператор > перенаправляющий вывод -- это инструкция командной оболочке как запускать программу, к самой программе отношения не имеет.

    Есть ли какая другая команда вывода, которая будет текст выводить только в терминал, без записи в файл?

    Есть! ./a.out, без каких-либо изменений в коде.
    Ответ написан
    4 комментария
  • По какой причине возникает ошибка?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    По какой причине возникает ошибка?
    неопределённая ссылка на символ «dlclose@@GLIBC_2.2.5»

    -ldl отсутствует в команде линковки или указан слишком рано?
    Ответ написан
  • Как rsync сжимает при передаче данных?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Не будет ли он на сервере создавать какие то архивы?

    Нет. rsync -z сжимает на лету.
    Из man rsync:
    --compress, -z
                  With this option, rsync compresses the file data as it is
                  sent to the destination machine, which reduces the amount
                  of data being transmitted -- something that is useful over
                  a slow connection.
    Ответ написан
    Комментировать
  • Есть ли хорошие книги для глубокого изучения Linux?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    понять работу ядра Линукс

    Порекламирую в очередной раз свой список: https://qna.habr.com/answer?answer_id=392065#answe...
    Ответ написан
    1 комментарий