LINUX.ORG.RU

Избранные сообщения ford1813

Как избавться от (python) pdb?

Форум — General

Привет

В последнее время при падении питоновской программы (как я понял), запускается некий pdb и просит что-то ввести. Проблема в том, что это тормозит всю установку emerge, и требует ручного вмешательства.

Как избавиться от pdb?

Пример:

$ emerge --unmerge noto-cjk
 * This action can remove important packages! In order to be safer, use
 * `emerge -pv --depclean <atom>` to check for reverse dependencies before
 * removing packages.

 media-fonts/noto-cjk
    selected: 20150615
   protected: none
     omitted: none

All selected packages: =media-fonts/noto-cjk-20150615

>>> 'Selected' packages are slated for removal.
>>> 'Protected' and 'omitted' packages will not be removed.

>>> Waiting 5 seconds before starting...
>>> (Control-C to abort)...
>>> Unmerging in: 5 4 3 2 1
>>> Unmerging (1 of 1) media-fonts/noto-cjk-20150615...

...

--Return--
> /usr/lib64/python3.6/site-packages/portage/util/_eventloop/asyncio_event_loop.py(76)_internal_caller_exception_handler()->None
-> pdb.set_trace()
(Pdb)

 ,

Kroz
()

простой веб на питоне

Форум — Web-development

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

 ,

chenbr0
()

Помогите адаптировать команду под Python notify-send | grep

Форум — Development

Всем доброго времени. Помогите пожалуйста адаптировать команду notify-send | grep под Python. В Python - дилетант.

Python скрипт рассчитывает значения названия/количества/стоимости с построчным выводом в консоль или в файл >> result-ap.txt

Выводятся следующие значения:

print (nomination[amount] + ' = ' + str(price/1000))

Например: "коробка	2	= 12.80"

Задача выводить построчно через notify-send определённые значения (price/1000), с обрезанием ненужных символов.

Получилось настроить только в Bash и пуляет он всё сразу, так как grep_ает с готового файла, без tail -f, но работает.

В grep -v -w ххх.хх

соответственно подставляются любые «ненужные» значения.

notify-send --urgency=critical "$(echo "123" | grep -v -w 100.0 /home/baza1/result-ap.txt echo 123456789 | rev | cut -c1-13 | rev)" -t 0

Просьба помочь настроить построчный вывод в notify-send или notify2 из терминала в Python скрипте, с текущими настройками. Пробовал так:

import os
import subprocess

os.system ('notify-send "Hello world!" -t 0')

Пример (Hello world!), в скрипте работает без проблем, пишет в файл и выдаёт после каждой строки уведомление: Hello world!

Ну а так конечно не работает:

send = str(price/1000)
os.system ('notify-send  "$(send)" -t 0')

или

os.system ('notify-send  "$(echo "123" | grep -v -w 100.0 echo 123456789 | rev | cut -c1-13 | rev str(price/1000))" -t 0')

Понимаю что нужны print-for-re-split()-rsplit()..., но не понимаю как реализовать... Пробовал ещё Python.sh С notify2 вообще ничего непонятно.

Заранее Благодарен за помощь.

 

asston
()

Не включается комп с ядром 4.15

Форум — Linux-hardware

У меня Xubuntu 18.04(Ubuntu) и комп не хочет грузиться на ядре 4.15. Таже беда была на Xubuntu 16.04. Приходится удалять ядро 4.15 и загружатся на ядре 4.13. Как быть? Как грузиться на ядре 4.15? Слышал, что у кого-то с пятой перезагрузки компа может включиться комп

Вообщем решение следующее - это баг ядра и конфликтует сч моим железом.

 

stafik1993
()

однострочник на python

Форум — Development

Гм вот такая вот задачка простейшая:

есть некий словарь

test = { "name1" : 1, "name2": 2, "name10" : 10 }

Нужно для какого-то условия ( например value > 5 ) умножить значения value *2. Можно ли это сделать в 1 строчку ?

 

Jopich1
()

Redis сначала работает прекрасно, но потом дико тормозит 100% CPU!

Форум — Development

Рэдис использую как кэш временный на 1 день, без сохранения снапшотов. Сайт с посещаемостью от 50к. Изначально запускаю редис и он работает быстро - так как и нужно, но потом где-то через час он упирается в 100% CPU и начинает ниистово тормозить. Перезапускаю - и он снова работает великолепно. Слышал о том что это возможно из-за ключей удалённых какой-то мусор накапливается… Незнаю куда двигаться.

Server

redis_version:5.0.0 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:589bbec69921e7d1 redis_mode:standalone os:Linux 4.4.0-142-generic x86_64 arch_bits:64 multiplexing_api:epoll atomicvar_api:atomic-builtin gcc_version:5.4.0 process_id:10690 run_id:2bf978f1c4ac625d6f476055026dee521a6e2be6 tcp_port:6379 uptime_in_seconds:633 uptime_in_days:0 hz:10 configured_hz:10 lru_clock:6720524 executable:/root/redis-server config_file:/etc/redis/redis.conf

Clients

connected_clients:7 client_recent_max_input_buffer:215082 client_recent_max_output_buffer:102496 blocked_clients:0

Memory

used_memory:626516840 used_memory_human:597.49M used_memory_rss:619220992 used_memory_rss_human:590.54M used_memory_peak:626679184 used_memory_peak_human:597.65M used_memory_peak_perc:99.97% used_memory_overhead:5102146 used_memory_startup:791928 used_memory_dataset:621414694 used_memory_dataset_perc:99.31% allocator_allocated:627069472 allocator_active:649281536 allocator_resident:657899520 total_system_memory:16826458112 total_system_memory_human:15.67G used_memory_lua:13079552 used_memory_lua_human:12.47M used_memory_scripts:3805152 used_memory_scripts_human:3.63M number_of_cached_scripts:7252 maxmemory:1200000000 maxmemory_human:1.12G maxmemory_policy:allkeys-lru allocator_frag_ratio:1.04 allocator_frag_bytes:22212064 allocator_rss_ratio:1.01 allocator_rss_bytes:8617984 rss_overhead_ratio:0.94 rss_overhead_bytes:18446744073670873088 mem_fragmentation_ratio:0.99 mem_fragmentation_bytes:18446744073702256816 mem_not_counted_for_evict:0 mem_replication_backlog:0 mem_clients_slaves:0 mem_clients_normal:151170 mem_aof_buffer:0 mem_allocator:jemalloc-5.1.0 active_defrag_running:0 lazyfree_pending_objects:0

Persistence

loading:0 rdb_changes_since_last_save:21619 rdb_bgsave_in_progress:0 rdb_last_save_time:1550223763 rdb_last_bgsave_status:ok rdb_last_bgsave_time_sec:-1 rdb_current_bgsave_time_sec:-1 rdb_last_cow_size:0 aof_enabled:0 aof_rewrite_in_progress:0 aof_rewrite_scheduled:0 aof_last_rewrite_time_sec:-1 aof_current_rewrite_time_sec:-1 aof_last_bgrewrite_status:ok aof_last_write_status:ok aof_last_cow_size:0

Stats

total_connections_received:3976 total_commands_processed:28536173 instantaneous_ops_per_sec:70602 total_net_input_bytes:553074494 total_net_output_bytes:102416450 instantaneous_input_kbps:887.71 instantaneous_output_kbps:58.73 rejected_connections:0 sync_full:0 sync_partial_ok:0 sync_partial_err:0 expired_keys:0 expired_stale_perc:0.00 expired_time_cap_reached_count:0 evicted_keys:0 keyspace_hits:28500429 keyspace_misses:2099 pubsub_channels:0 pubsub_patterns:0 latest_fork_usec:0 migrate_cached_sockets:0 slave_expires_tracked_keys:0 active_defrag_hits:0 active_defrag_misses:0 active_defrag_key_hits:0 active_defrag_key_misses:0

Replication

role:master connected_slaves:0 master_replid:0c163b3898c1ce935bbf4a1938a635c22422c5f2 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:0 second_repl_offset:-1 repl_backlog_active:0 repl_backlog_size:1048576 repl_backlog_first_byte_offset:0 repl_backlog_histlen:0

CPU

used_cpu_sys:3.392000 used_cpu_user:71.864000 used_cpu_sys_children:0.000000 used_cpu_user_children:0.000000

Cluster

cluster_enabled:0

Keyspace

db0:keys=7209,expires=0,avg_ttl=0

 , ,

taram
()

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

Форум — General

Создал контейнер для программирования esp32 и для этого в конфиге прописал:

lxc.mount.entry = /dev/ttyUSB0 dev/ttyUSB0 none bind,optional,create=file

всё работает, но когда вытаскиваю и вставляю плату, ttyUSB0 больше не доступен из lxc. Есть ли способ как-то решить эту проблему?

 ,

devalone
()

Зачем тут нужны snap пакеты?

Форум — General

Зачем Убунта ставит скайп и дискорд через снапы, когда они все, вроде, не заброшены, написаны непротухших библиотеках и вообще даже производитель их в .dep пакетах раздает? Я бы понял, если бы они уже лет 10 как не обновлялись - тогда был бы смысл изолировать тухлятину в один такой пакет и забыть о проблемах с ним навсегда. Но зачем это надо тут? Разве apt-get не должен сам понять чего ему не хватает для разрешения зависимостей при установке из убунтовских репозиториев, в которых раньше точно где-то был скайп? Мне места на диске не жалко, но выглядит это как-то, мягко говоря, странным. Вроде, годный линукс для смертных был, а выкинули тут такое...

By the way. Если я пишу какую-то программу на Qt, то в снап я должен запихать все .so файлы от которых зависит моя программа и все .so файлы от которых зависят все .so файлы? А если я там использую капельку java, то мне еще надо запихнуть свое jre со всеми его зависимостями на 200+ мегабайт? Так что-ли?!

 ,

fghjklld
()

Редактор текста в bash, без применения vi, sed, и т.д.

Форум — Development

Добрый день, такой вопрос. Есть потребность в создании программы, для редактирования текста в потоке(аналог sed но своими ручками). Решил использовать фичу read -e -i , чтоб построчно выводить файл и менять. Встал в тупик, написав только это(в цикле не работает read). Точнее он работает, но строки пустыми выводит. Как фиксить и кто поможет? Заранее спасибо. Текст скрипта:

#!/bin/bash

while true
do
	ABSOLUTE_FILENAME=`readlink -e "$0"`
	DIRECTORY=`dirname "$ABSOLUTE_FILENAME"`
	read -e -p "Enter path to the file: " -i $DIRECTORY FILE
	echo $FILE
	read -p "PRESS 
	y - show file
	e - exit
	" work
	while read -p line 
	do
		case $work in
			y|Y) read -e -p "Edit: " -i $line text;echo $text;
			sleep 1;;
			e|E) break;;
		esac
	done < $FILE 
	break
done

 , , ,

SerGraph
()

Добавить атрибуты в OpenLDAP

Форум — Admin

Всем привет! Мы юзали старый SUN Directory Server Enterprise Edition и потребовалось переехать на OpenLDAP, всем понятно наверное почему. Для SUN Directory у меня был ldiff с уникальными атрибутами, которые мне требуется запилить по аналогии в OpenLDAP.

dn: cn=schema
objectClass: top
objectClass: ldapSubentry
objectClass: subschema
cn: schema
aci: (target="ldap:///cn=schema")(targetattr !="aci")(version 3.0;acl "anonymo
 us, no acis"; allow (read, search, compare) userdn = "ldap:///anyone";)
modifiersName: cn=admin,cn=administrators,cn=dscc
modifyTimestamp: 20140825092336Z
attributeTypes: ( firstName-oid NAME 'firstName' DESC 'First name of a person'
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE X-ORIGIN 'user defined' )
attributeTypes: ( privateEmail-oid NAME 'privateEmail' DESC 'Private email of
 a person' SYNTAX 1.3.6.1.4.1.1466.115.121.1.41 X-ORIGIN 'user defined' )
attributeTypes: ( userOid-oid NAME 'userOid'  SYNTAX 1.3.6.1.4.1.1466.115.121.
 1.15 SINGLE-VALUE X-ORIGIN 'user defined' )
attributeTypes: ( isTrusted-oid NAME 'isTrusted' DESC 'Determines if user is t
 rusted' SYNTAX 1.3.6.1.4.1.1466.115.121.1.7 SINGLE-VALUE X-ORIGIN 'user defi
 ned' )
objectClasses: ( myUser-oid NAME 'myUser' DESC 'user for my entity' SUP
 top STRUCTURAL MUST ( uid $ isTrusted $ nsAccountLock $ firstName ) MAY ( la
 stName $ userPassword $ privateEmail $ otpContact $ otp
 AuthnFlag $ privatePhone $ userOid ) X-ORIGIN 'user defined' )
nsSchemaCSN: 53fb0098000000000000

У OpenLDAP вот такой формат ldif для организации схемы:

olcAttributeTypes: ( 0.9.2342.19200300.100.1.25
  NAME ( 'dc' 'domainComponent' )
  DESC 'RFC1274/2247: domain component'
  EQUALITY caseIgnoreIA5Match
  SUBSTR caseIgnoreIA5SubstringsMatch
  SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE )
Как мне переделать мои атрибуты в файлике ldif под OpenLDAP мне в упор непонятно

  • 1. Я не понимаю какой мне OID указывать в случае с OpenLDAP типа 0.9.2342.19200300.100.1.25, когда для SUN Directory у меня указывался OID в формате userOid-oid
  • 2. Я не понимаю что такое SINGLE-VALUE X-ORIGIN и нужны ли они мне в OpenLDAP
  • 3. Для моего Sun Directory путь размещения атрибутов:
    dn: cn=schema
    objectClass: top
    objectClass: ldapSubentry
    objectClass: subschema
    cn: schema
    а какой dn и objectClass мне в ldif для OpenLDAP указать?

 

trider
()

OpenVPN docker контейнер - нет доступа снаружи

Форум — Admin

Установил docker контейнер pritunl с web-интерфейсом который:

 # docker pull andrey0001/pritunl
docker run --privileged --name pritunl --restart unless-stopped --net=host -d -t andrey0001/pritunl

Он запущен удачно:

# docker ps
CONTAINER ID        IMAGE                COMMAND                  CREATED             STATUS              PORTS               NAMES
45e6ccf57df4        andrey0001/pritunl   "/bin/start-pritun..."   35 minutes ago      Up 9 minutes                            pritunl

Но недоступен снаружи web-интерфейс ни по 80 порту, ни по 443. Хотя

# netstat -ntpl | grep 80
tcp6       0      0 :::80                   :::*                    LISTEN      13451/pritunl-web

# netstat -ntpl | grep 443
tcp6       0      0 :::443                  :::*                    LISTEN      13451/pritunl-web

В iptables всё по нулям, никаких правил нет, но web-интерфейс доступен только с самого сервера через links или lynx, но там нельзя пройти авторизацию наверное из-за навороченного html.

# links внешний_ip


В логе самого докер контейнера pritunl никаких ерроров или варнингов нет...

 ,

gigantischer
()

cron. Как сдвинуть старт периодического задания на 37 секунд

Форум — Admin

Здравствуйте.

cron. Каждую минуту стартует задание.

Каким способом можно сдвинуть старт такого ежеминутного задания на 37 секунд?

Использовал гуглопоиск, но ничего вменяемого, кроме предварительного «sleep 37» не сыскалось.

Может быть, кто-нибудь знает альтернативные варианты?

 ,

LaLe
()

Подскажите резолвер DNS

Форум — Admin

Нужна легкая, быстрая, надежная, мультипоточная тулза для обработки списков содержащих миллионы доменов.
То есть получить linux.org.ru -> 178.248.233.6 от первого же отозвавшегося сервера. Или, если ответ не пришел, записать и это. Ну и конечно, если пришел ответ ответ что такого не существует.
Спасибо.

 , ,

E2-E4
()

Как *самому* создать антиспам для Postix'a на питоне или ещё чём-то?

Форум — General

Как *самому* создать антиспам для Postix'a на питоне или ещё чём-то? Это вообще возможно?

 

IVANJEZZ
()

Получение токена регистрации

Форум — Development

Всем доброго дня. Появилсь задачка - написать скриптик, который был на входе получал данные, и их запросами отправлял на некоторый сервер, дабы с ними там что-то происходило. Всё посто и реализовано. Но есть одно НО...

Для подключения к серверу требуется зайти на портал госуслуг(gosuslugi.ru), получить токен входа, и прикладывать его к каждому запросу. Приложить токен к запросу - легко.

Трудность в том, что не получается найти как можно зайти туда curl'ом, и получить в ответ нужный так токен.

Никто не сталкивался с такой задачей? Поля снилса и пароля - snils, password, а вот отловить, куда как сформировать запрос дальше - не получилось.

 ,

PearlyDragon
()

Подключение к tor из pycurl

Форум — Development

Добрый день подскажите в чем может быть проблема, при ображении к тор из pycurl получаю такую ошибку

* SOCKS5 communication to vokt.ru:80
* Received invalid version in initial SOCKS5 response.
* Closing connection 0
An error occurred:  (7, 'Received invalid version in initial SOCKS5 response.')
b''

врядли проблема в pycurl, так как я пробовал бесплатный сокс и все работает.

Перемещено jollheef из admin

 

serrrgggeee
()

вложенные точки монтирования в linux containers

Форум — General

Вот какое дело — есть непривилегированный контейнер с centos 6, к нему подключена внешняя точка монтирования

lxc.mount.entry = /mnt/Storage mnt/Storage none bind,optional,create=dir

Проблема — если кто-то в /mnt/Storage в родительской ОС примонтирует что-то (например, образ iso), то после запуска контейнера mnt/Storage в нем не виден.

Подозреваю, что дело в хитрых (или не очень) настройках cgroups, прошу совета по этому делу.

 ,

demidrol
()

Ldap+asterisk правила набора

Форум — Admin

Здравствуйте Хочу через лдап сделать ограничение звоноков на номера по заданному шаблону. Подскажите, пожалуйста, как настроить в атериске чтобы при исходящем звонке запрос делался в лдап для сверки разрешения пользователю на исходящий звонок?

 ,

alex772
()

Почему ping в скрипте под обычным юзером и под root может работать по-разному?

Форум — General

Господа,

что то я зачастил.

Но спасибо Вам большое за помощь.

Дело в том, что после некой аварии я пытаюсь сам, своими силами, наладить правильный бэкап.

У меня Ubuntu 16.04, на которой поднят KVM, и в одной из виртуалок крутится GitLab.

И у меня возникает такая задача: раз в день, если виртуалочка с GitLab выключена - надо её диск скопировать, а потом саму виртуалочку запустить командой virsh start.

Я сделал всё прямо, как железная дорога:

вот содержимое sh - файла, который я хочу запускать по крону:

if /bin/ping -c 1 192.168.10.57 &> /dev/null

then

echo Cant backup - VM working now

else

echo Try copy...

/bin/cp /VM/GitLab0_Ubuntu.img /backups/

/usr/bin/virsh start GitLab0_Ubuntu

fi

Но вот что интересно.

Я выключил виртуальную машину и стал пробовать скрипт в ручнмо режиме.

Когда я запускаю этот *.sh - файл под обычным пользователем - я получаю по морде отсутствием пермишшенов на /backups/

А когда я пишу

sudo ./backup-gitlab.sh

- я получаю еще более загадочный вывод:

Cant backup - VM working now

PING 192.168.10.57 (192.168.10.57) 56(84) bytes of data.

konst@LB1:/backups$ From 192.168.10.201 icmp_seq=1 Destination Host Unreachable

--- 192.168.10.57 ping statistics ---

1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms

То есть, впечатление такое, что скрипт начинает выполнять ветку, соответствующую тому, что ping до нужного хоста есть.

Хотя хост выключен.

Вот скриншот:

http://junecat.ru/Storage/oth/ping-1.jpg

Не знаете ли Вы, почему это может так работать? Ведь ничего не изменилось, кроме того, что второй раз я запускаюсь из под sudo.

И еще раз спасибо всем, кто мне даёт советы. Это - бесценно

 , ,

SteeL-HeaD
()

проверка доступности ресурса с учетом % потерь

Форум — General

Здравствуйте, подскажите пж-та, не могу никак сообразить: необходимо с помощью bash-скрипта проверять доступность ресурса http://www.google.com с помощью утилиты ping (отправляется 4 пакета) и в случае если процент потерь составляет 75% и больше (потерялось 3 пакета из 4 или 4 из 4), необходимо выполнить действие 1. Если процент потерь менее 75%, то выполнять действие 2. Не могу понять, как это реализовать. Пока сделал так: ping http://www.google.com -c 4 -q -w 30 &>/dev/null rezult=$? if [ $rezult != 0 ]; then echo «действие 1» else echo «действие 2»

Но данный способ не учитывает % потерь, условие срабатывает, даже если теряется 1 пакет

 ,

wiremann
()