LINUX.ORG.RU

Сообщения gIiIjony

 

Многопоточное программирование в Python

Форум — Development

Всем доброго дня.

Хотел узнать, как правильно многопоточно программировать в Python. Мне необходимо параллельно запускать кучу тестов Selenium. Как я делаю сейчас - у меня есть отдельный скрипт, который принимает аргументы из sys.argv от программы вышестоящей(которая собирает Pool, делает map_async, и открывает через subprocess новый процесс интерпретатора Пайтона).

То есть схема примерно получается такая:

Основное приложение - Thread на вызов клиента - Pool - в одном потоке Пула вызывается subprocess - subprocess открывает новый интерпретатор Пайтона, который выполняет нужную мне программу.

Таким образом я могу запускать 100-200 тестов, перехватывать stdout и stderr программ-тестов, и вообще не особо париться. Но проблема только в том, что Pool как-то нестабильно работает. Допустим, у меня есть Pool на 100 потоков, есть инфа, 70к записей, по которой нужно сделать map, то есть передать параметры в реальный тест. Но иногда Pool зависает, не запускает больше потоков, либо держит включёнными только 2-3(может чуть больше), хотя в параметрах указано явно 100.

В общем хотел узнать, какой есть стабильный вариант многопоточного программирования в Python. И по тому что я сказал, мне нужна больше не функциональность многопоточного программирования, а уже видимо что-то типа nohup, но с контролем количества процессов.

Извиняюсь заранее за скомканное изложение, если что-то непонятно - пишите.

P.S. Прямой вызов функций из Pool я перестал юзать после того как неосилил исключения, которые вроде как и есть, но их не видно и вообще пофиг. С отдельным скриптом я многое сумел побороть, и это наиболее удобный для меня вариант получился.

 , ,

gIiIjony
()

Использование модуля в модулях

Форум — Development

Доброй ночи. Интересует возможность использования в Python модулей в других модулях. Допустим у меня есть собственный модуль, который я импортирую из локального каталога, путём sys.path.append и import, ему нужен курсор MySQL(cur) и сам модуль MySQL(для перехвата исключений).

Обычно я указываю это в args, например что-то вроде:

def blabla(cur, MySQLdb, logging):

Или же импортирую модуль __builtin__, и назначаю глобальный cur и MySQL.

Ну и хотел всё-таки спросить - как правильно делать такие вещи? Передавать курсоры в аргументах, или же устанавливать их глобально? Либо как-то ещё?

 

gIiIjony
()

Вопрос по Clipboard

Форум — Development

Добрый вечер, снова.

Заинтересовал такой вопрос. Я в этом не особо разбираюсь, но хотелось бы понять. Допустим, мы берём и копируем страницу с Лора, она копируется в буфер обмена, идём потом в какой-нибудь Gmail, переходим в написание письма, нажимаем Ctrl+v - и видим кусок вставленного Лора. Хочу попросить про это побольше инфы, как работает, и т.п., но даже запрос для гугла не хватает мозгов составить. И ещё один вопрос интересует - возможно ли просто взять какой-то специально-подготовленный код(например в одной вкладке браузера открыт txt-файл простой), скопировать его содержимое, вставить в тот же Gmail, и получить готовый html, как в первом варианте, который я описал? Извиняюсь за скомканность мыслей, буду рад всем вашим ответам, спасибо.

 

gIiIjony
()

Firefox падает

Форум — Development

Добрый вечер, лоровцы.

Столкнулся с проблемой - запускаю для тестов на основе Selenium одновременно 40 копий Firefox из под разных программ(разных PID, в смысле), вижу что появляются процессы в системе, но с подписью

[defunct]

И выкидывается исключение:

Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py", line 77, in __init__
    self.binary, timeout),
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/extension_connection.py", line 49, in __init__
    self.binary.launch_browser(self.profile)
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox_binary.py", line 68, in launch_browser
    self._wait_until_connectable()
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/firefox_binary.py", line 103, in _wait_until_connectable
    raise WebDriverException("Can't load the profile. Profile "
WebDriverException: Message: Can't load the profile. Profile Dir: %s If you specified a log_file in the FirefoxBinary constructor, check it for details.

Запилил цикл, который ловит исключение, и пытается заново запустить браузер - уходит в бесконечное выполнение. в /tmp/ появляется куча каталогов вида tmp*, содержащие профили Firefox. Пытался включить логи с помощью firefox_binary - ничего внятного не получил. Написано только что инсталлит дополнения некие, и всё, исключение. Если запускать 10 копий программы с 10 копиями Firefox - то всё работает хорошо.

Firefox - 31 версия, selenium - последняя. Python - 2.7.

Очень хотелось бы разобраться, уже голова пухнет.

 , ,

gIiIjony
()

copy-paste в PhantomJS с Selenium

Форум — Development

Добрый день.

Хотелось узнать у знающих людей, есть ли возможность copy-paste в PhantomJS? Сейчас в своих тестах я использую Firefox с Xvfb, выделяю элемент по id, посылаю ему сначала:

Keys.CONTROL 'a'
(выполняем выделение элемента)

Потом:

Keys.CONTROL, 'c'
(копирование выделенного элемента)

И потом уже выполняю на странице с формой:

Keys.CONTROL, 'v'

Судя по всему информация из браузера копируется в буфер обмена Иксов(xvfb), но в phantomjs нет поддержки Иксов. Вот, собственно, и мой вопрос - есть ли возможность в PhantomJS использовать буфер обмена?

 , , ,

gIiIjony
()

Возможен ли запуск множества X-серверов/дисплеев на одной видеокарте?

Форум — Desktop

Добрый день.

Заинтересовал такой вопрос - можно ли запустить, допустим, 500 X-серверов, чтобы к каждому можно было подключиться через export DISPLAY, сделать что-либо, используя ускорение видеокарты? Например, запустить на 20 экранах эмулятор терминала, а на 5 - glxgears? И при этом чтобы всё параллельно могло работать, используя одну видеокарту.

 ,

gIiIjony
()

После запуска Firefox/Chrome X-сервер зависает.

Форум — Desktop

Добрый день.

Столкнулся с проблемой - на сервере собран X-сервер с поддержкой opengl(видеокарта - встроенная интеловская), сервер, как понятно, без монитора. Стартую X-сервер, пробую запускать glxinfo, glxgears - всё ок, glxinfo выводит нужную инфу, glxgears по-видимому крутит шестерёнками, потому что говорит о количестве FPS, но после того как я запускаю какой-либо браузер на этом экране - Firefox или Chromium/Chrome, то X-сервер больше ни на какие пинки не отвечает. По-видимому сам браузер даже не запускается, а просто висит и ждёт чего-то, потому что не выводит даже никакие warning, которые я привык видеть. Очень хотелось бы услышать варианты причин такого поведения, и очень бы был благодарен.

xorg.conf - https://bpaste.net/show/122df4445171

make.conf - https://bpaste.net/show/a2c2087f62ce

lspci - https://bpaste.net/show/06ba3023726a

В логах X-сервера ничего значительного.

 , ,

gIiIjony
()

Хардварное ускорение в Chrome/Chromium

Форум — Desktop

Добрый день. У меня есть программа, которая плодит много-много браузеров Google Chrome с помощью selenium, собирая много всякой разной инфы, но нагрузка при рендеринге страниц просто ужасная. Иногда программы вылетают с исключением вида:

Timed out recieving message from rendered: 600, 000

И вот что я хотел узнать у знающих: если я подключу какой-либо GPU в сервер, который поддерживает Opencl, и прочее что нужно Chrome для хардварного ускорения - снизится ли нагрузка на процессор? Сейчас каждый браузер работает в отдельном xvfb-дисплее. В общем, хотел бы узнать подробней, как работает хардварное ускорение, и поможет ли оно мне в таком случае.

Всем спасибо за ответы.

 , ,

gIiIjony
()

Selenium, phantomjs, и python. Проблемы при многопоточной работе.

Форум — Development

Доброго вечера, Лоровцы. В общем, есть такая проблема. Запускаю selenium grid, вот так:

java -Xms512m -Xmx2048m -jar selenium-server-standalone-2.45.0.jar -role hub -log ./out.log 
Потом запускаю как selenium-node сотню процессов phantomjs на разных портах, и подключаю к selenium grid.

Запускаю так:

for port in {8080..8180}; do phantomjs --webdriver=192.168.1.155:$port --webdriver-selenium-grid-hub=http://172.17.0.7:4444 &  done

Всё по логам запускается, в selenium grid console видно все процессы, видно что подключены, например, так:

[INFO  - 2015-03-23T18:41:57.883Z] HUB Register - register - Registered with grid hub: http://172.17.0.7:4444/ (ok)
[INFO  - 2015-03-23T18:41:57.886Z] HUB Register - register - Registered with grid hub: http://172.17.0.7:4444/ (ok)
[INFO  - 2015-03-23T18:41:57.887Z] HUB Register - register - Registered with grid hub: http://172.17.0.7:4444/ (ok)
[INFO  - 2015-03-23T18:41:57.889Z] HUB Register - register - Registered with grid hub: http://172.17.0.7:4444/ (ok)
[INFO  - 2015-03-23T18:41:57.890Z] HUB Register - register - Registered with grid hub: http://172.17.0.7:4444/ (ok)
[INFO  - 2015-03-23T18:41:57.891Z] HUB Register - register - Registered with grid hub: http://172.17.0.7:4444/ (ok)
[INFO  - 2015-03-23T18:41:57.893Z] HUB Register - register - Registered with grid hub: http://172.17.0.7:4444/ (ok)

Но при использовании вот такого кода(запускается 10 python-процессов, подключаются к selenium grid, вызывают браузер, и загружают\скриншотят страницу, выпадает следующая ошибка, от самой python-программы:

selenium.common.exceptions.WebDriverException: Message: cannot forward the request 192.168.1.155:8132 failed to respond
Stacktrace:
    at org.openqa.grid.web.servlet.handler.RequestHandler.process (RequestHandler.java:139)
    at org.openqa.grid.web.servlet.DriverServlet.process (DriverServlet.java:83)
    at org.openqa.grid.web.servlet.DriverServlet.doPost (DriverServlet.java:67)
    at javax.servlet.http.HttpServlet.service (HttpServlet.java:727)
    at javax.servlet.http.HttpServlet.service (HttpServlet.java:820)
    at org.seleniumhq.jetty7.servlet.ServletHolder.handle (ServletHolder.java:565)

Никаких фаерволов нет, подсети друг-друга видят, и т.п.

Сам скрипт на Python:

#!/usr/bin/env python2.7
# coding=utf-8

import os
import time
import random
from termcolor import colored
from multiprocessing import Pool
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from selenium.common.exceptions import WebDriverException

url1 = ['https://yandex.ru']
urls = url1 * 2000

def main(url):
	###
	file = './tmp/'+str(random.random())+'.png'
	###
	print colored('start browser with id = '+str(os.getpid()), 'green')
	###
	try:
		driver = webdriver.Remote(
			command_executor='http://172.17.0.7:4444/wd/hub',
			desired_capabilities={
	            "browserName": "phantomjs",
        	})
	except WebDriverException:
		###
		print colored('Browser fail to start, try again', 'red')
		###
		print colored('Waiting for new browser', 'red')
		###
		time.sleep(30)
		####
		driver = webdriver.Remote(
			command_executor='http://:4444/wd/hub',
			desired_capabilities={
	            "browserName": "phantomjs",
        	})
	###
	driver.set_window_size(1440, 900)
	#browser.maximize_window() 
	driver.implicitly_wait(40)
	driver.set_page_load_timeout(80)
	###
	time.sleep(5)
	###
	print 'browser is load = '+str(os.getpid())
	###
	print 'Get page = '+str(os.getpid())+' | '+str(url)
	###
	driver.get(url)
	time.sleep(20)
	###
	print colored('Save screenshot = '+str(os.getpid()), 'cyan')
	###
	driver.save_screenshot(file)
	time.sleep(10)
	###
	print 'Stay to memory = '+str(os.getpid())
	###
	time.sleep(5)
	###
	print colored('Free memory!', 'green')
	driver.quit()

pool 			= Pool(processes=10)
#pool = Pool(80)
count = 0
while count < len(urls):
	print urls[count]
	pool.map(main, urls[count])
	time.sleep(5)
	count += 1

#result.wait()
pool.close()
pool.join()

В логе selenium-grid никаких ошибок нет, только инфа о старте новой сессии(одной), и всё.

В чём может быть дело? Уже ума не приложу.

 , , ,

gIiIjony
()

Помогите найти маленький нетбук/ноутбук

Форум — Linux-hardware

Добрый вечер. Ходил тут недавно по темам на Лоре, и наткнулся на какой-то не очень старый тред про n900, и там один человек сказал вот об этом «ноутбуке» - http://www.ebay.com/itm/Fujitsu-LifeBook-P1120-ultraportable-laptop-8-9-touch... , и сказал, что эта штука очень дешёвая(вероятно, на тот момент). Но всё что я нашёл - это вот по этой ссылке на ebay, где цена его очень высока. Может вы посоветуете что-нибудь такое тоже? Маленький размер, не попсовый какой-нибудь нетбук, и не мелкий vaio, а что-нибудь поменьше. Желательно не очень дорогой, и без разницы с каким железом, можно даже меньше того, что указано у этого «ноутбука»(800 мгц), и обязательно с поддержкой Линукса. Всем большое спасибо за помощь.

 ,

gIiIjony
()

selenium, python, и много-много браузеров мультипоточно

Форум — Development

Доброй ночи, Лоровцы. Пайтон знаю не очень хорошо, и недавно столкнулся с одной проблемой. В общем, есть следующий код:

#!/usr/bin/env python2.7
from multiprocessing import Pool
from termcolor import colored
from selenium import webdriver
#from pyvirtualdisplay import Display
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
import random
import time

urls = ['http://linux.org.ru', 'http://opennet.ru'] # и куча остальных url

def bobo(url):
        bro = webdriver.Remote(
           command_executor='http://192.168.1.125:4444/wd/hub',
           desired_capabilities=DesiredCapabilities.FIREFOX)

        print colored('>>> Start browser', 'green')
        bro.get(url)
        print colored('>>> Get page: ', 'yellow')+colored(url, 'cyan')
        bro.save_screenshot('./screens/'+str(random.random())+'.png')
        print colored('>>> Make screenshot', 'magenta')
        bro.quit()
        print colored('>>> Exit ...', 'red')


if __name__ == '__main__':
    pool = Pool(processes=100)           
    result = pool.map_async(bobo, urls)   
    result.wait()
    print result
    print result.get(timeout=1)          
    print colored('*** END ***', 'red')

На другом компьютере запущен selenium-server, к которому из этого кода я и подключаюсь. Так вот, проблема в том, что через некоторое время начинается какая-то непонятная феерия, которая, выглядит, например, так:

<multiprocessing.pool.MapResult object at 0x7f957bf35390>
Traceback (most recent call last):
  File "./poo.py", line 51, in <module>
    print result.get(timeout=1)          
  File "/usr/lib/python2.7/multiprocessing/pool.py", line 558, in get
    raise self._value
selenium.common.exceptions.WebDriverException: Message: Could not convert screenshot to base64 - Error: Invalid base64 data: data:,
Driver info: driver.version: unknown
Stacktrace:
    at <anonymous class>.FirefoxDriver.prototype.screenshot (file:///tmp/anonymous8234494257891062854webdriver-profile/extensions/fxdriver@googlecode.com/components/drive
r-component.js:9844:5)
    at <anonymous class>.DelayedCommand.prototype.executeInternal_/h (file:///tmp/anonymous8234494257891062854webdriver-profile/extensions/fxdriver@googlecode.com/compone
nts/command-processor.js:11635:16)
    at <anonymous class>.DelayedCommand.prototype.executeInternal_ (file:///tmp/anonymous8234494257891062854webdriver-profile/extensions/fxdriver@googlecode.com/component
s/command-processor.js:11640:7)
    at <anonymous class>.DelayedCommand.prototype.execute/< (file:///tmp/anonymous8234494257891062854webdriver-profile/extensions/fxdriver@googlecode.com/components/comma
nd-processor.js:11582:5)

Ну, и ещё бывают всякие разные ошибки. Например, когда я из этого же кода пытаюсь вызвать phantomjs много раз, без selenium remote, то например, эта программа вываливается со следующими ошибками:

>>> Start browser
<multiprocessing.pool.MapResult object at 0x7f4d9d36ed90>
Traceback (most recent call last):
  File "./poo.py", line 51, in <module>
    print result.get(timeout=1)
  File "/usr/lib/python2.7/multiprocessing/pool.py", line 558, in get
    raise self._value
selenium.common.exceptions.WebDriverException: Message: Can not connect to GhostDriver

Собственно, хочу спросить, как правильно можно использовать толпу браузеров совместно с python? Или я допустил в коде какую-то ошибку? Буду очень признателен за помощь.

 , ,

gIiIjony
()

Gentoo и Mate

Галерея — Скриншоты

Доброй ночи, Лоровцы.

Я уже выкладывал скриншоты своей рабочей системы на своей старой рабочей машинке. Я давно уже хотел перейти на KDE3, но у меня никак не получалось, то одно не компилируется, то другое, и в итоге я решил попробовал Mate. Раньше почти всё время сидел на Gnome 2, потом перешёл на KDE, потом на Openbox, и до сих пор на нём и оставался. И пока сидел на Openbox очень скучал по иконкам, и всему такому, что добавляет удобства. Было очень удобно тыкать просто на иконку, развалившесь на стуле, и созерцать результат, а не набирать, как я, в быстро-открытой tilda что-то. Да, конечно множно использовать хоткеи, и я их использовал, но всё-же хотелось иконок. Как-то удобней так, и уютней.

Ну, и собственно выкладываю скриншот того, что получилось. Список того, что постоянно использовал, и использую:

- Firefox

- Thunderbird

- urxvt и tabbedex (кстати, на скриншоте у меня вы увидите три значка, на которых написано «shell», это иконки, с помощью которых можно подключиться к некоторым локальным моим компьютерам. Сейчас эти иконки лишь для красоты, т.к. на каждое нажатие открывается отдельный терминал. Никто не знает как реализовать из командной строки открывание новой вкладки в urxvt? Был бы очень признателен)

- Пишу всякую фигню в Sublime Text, так же из под отдельного юзера.

- Раньше в качестве плеера использовал mpd и ncmpcpp, теперь mpd и gmpc. Вполне удобный, этот gmpc. Обложки, уведомления, круто. Мне этого не хватало. :)

- Когда пишу всякую фигню в Sublime Text, коммичу в свой локальный git-сервер, который стоит на старом компьютере в openvz-контейнере.

- В качестве Jabber-клиента - Gajim.

- Шрифты - в терминале Терминус, в остальных местах - droid sans.

- Тема всего - уже вообще ничего не помню. Старый, сто лет назад мною настроенный qtcurve, и теперь вечно с собою таскаемый.

- Обоина добыта многоминутным скроллом по выдаче картинок гугла «8bit wallpaper».

- Ну и tilda, она прячется.

- Иконки - стандартные «Gnome», я по ним скучал, поэтому не меняю. :)

- Иконки веб-браузеров и Thunderbird где-то нагуглил, и указал картинки в параметрах к значку. Вот так-то.

- tmux с какой-то старой, не помню где взятой, темой.

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

http://rghost.ru/58341571 alt+f2

http://rghost.ru/58341576 плеер

>>> Просмотр (1024x768, 582 Kb)

 ,

gIiIjony
()

Материнская плата включается сама

Форум — Linux-hardware

Добрый день, есть материнская плата на AM3, есть блок питания 24+4(хотя для материнки надо ещё четырёхконтактный разъём, для питания процессора). В общем, как только включаю всё это дело в сеть, то материнка и бп начинают сразу крутить вентиляторами. При этом на монитор ничего не выводится, а клавиатура(ps/2) при включении моргает всеми диодами один раз, и ничего более. Блок питания вроде рабочий, на 350 ватт.

В чём может быть дело? Заранее благодарю.

gIiIjony
()

Чем синхронизировать текстовые файлы?

Форум — General

Привет, Лор. Допустим, есть каталоги bla и bla1, в bla1 есть текстовый файл lo, в котором написано «LO», в каталоге bla1 есть текстовый файл lo, в котором написано «LO1». Чем можно сделать так, чтобы можно было эти два каталога синхронизировать, и изменения в текстовых файлах бы тоже синхронизировались? То есть в bla/lo было бы LO и LO1. Вот, как-то так.

gIiIjony
()

Gentoo, Openbox, и серость

Галерея — Скриншоты

Привет, Лор! Я тут уже постил скриншот с Openbox, когда у меня был компьютер на третьем пентиуме, и всё было то же самое, с этого момента многое поменялось, и конфигурация компьютера, и сама моя жизнь, а вот вид системы остался прежним. Не знаю, пустят ли этот скриншот сюда вообще, или удалят, но меня очень тянет, почему-то, запостить его. :)

Роутер стал миленьким Compaq Desktop EN с третьим пентиумом внутри, Дебианом, и тремя сетевухами. Мой десктоп стал четвёртым пентиумом, и памяти стало полтора гигабайта. А система 64-битная Gentoo. Раньше в нём стоял Celeron D частотой в 3 с чем-то ггц, и вдруг мне в руки случайно попался Пентиум 4, поставил его, сдружился, и теперь использую его, хотя частота у него меньше, но система стала быстрей.

Сначала стоял у меня всего гигабайт памяти, и это немного напрягало, когда используешь, например, браузер. Потом я добавил ещё две планки по 256 мегабайт каких-то очень модных, кажется OCZ, с медными радиаторами, настроил zRam, и теперь всё работает довольно быстро. :)

В моей маленькой сети ещё есть asus pundit на celeron с двумя гигагерцами, на котором стоит Gentoo и куча всяких lxc-контейнеров для разных целей. Ещё у меня есть гигабитный свитч, и 100-мегабитный коммутатор 3Com на 16 портов, который мне достался за 50 рублей. :) Смотрится он клёво, только поэтому я его взял. Можете погуглить. Вообще испытваю очень странное влечение ко всяким горизонтальным корпусам, и старым компьютерам, они очень харизматично смотрятся, когда-нибудь я вам сфотографирую своё «рабочее» место. Ещё у меня в сети есть, не побоюсь этого сказать, самый мощный компьютер, который принадлежит моей девушке, двухядерный AMD с двумя гигабайтами памяти. Вот так и живём. Старое железо нашло у меня хороший приют, можно назвать это приютом грёз. :)

Теперь о системе, заново:

Использую urxvt в качестве терминала, шрифт Terminus.

Музыку слушаю с помощью mpd, звуковая подсистема - alsa

Встроенное видео Intel, сначала были какие-то баги с курсором и мусором в терминале, но это я решил добавлением какой-то строчки конфига.

Пишу небольшие скрипты на bash для автоматизации всяких дел, пишу, о горе мне, в Sublime Text. Он очень красивый, и синтаксис подсвечивается классно, и ничего не надо настраивать. :) Запускаю его, правда, из под отдельного пользователя, мало ли.

Браузер Firefox, двадцать какой-то версии, давно не обновлял, и хорошо. Новый интерфейс мне не очень нравится.

Сам WM - Openbox, без композитинга, без всего, нафиг нужно. :)

Пишу заметки в Cherrytree.

Jabber-клиент использую Gajim, жрёт памяти аж почти 100 мегабайт, но очень удобный и красивый, по сравнению с другими. :)

Почтовый клиент Thunderbird.

Панелька от XFCE, так исторически сложилось.

Коньки, давным-давно утянутые у Мегабакса. Такую «слабую» по сегодняшним меркам систему нужно мониторить. :)

В качествен терминального мультиплексора использую tmux, иногда screen, на старых системах. :)

Для вкладок в терминале использую tabbedex

Как вы поняли, я какой-то вид нищеброда, или вроде того. Это я пишу для того, чтобы поделиться с вами маленькой интересной штукой. Сейчас у меня отключен интернет по витой паре, которым я обычно пользуюсь, а так как денег нет, а работать нужно, то я воспользовался моей N900, которая меня уже в конец задолбала, но ещё годна для некоторых вещей. Подключил к ней какой-то открытой вовне вайфай, подключил её к роутеру по USB, настроил на N900 iptables, настроил сетевой интерфейс между ними, прописал Нокию как шлюз, и вуаля. Почти нормальный интернет. :)

Использую, в основном, три окна терминала. На одном - плеер, терминал пользователя, и терминал root.

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

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

Вот так вот и выглядит мой компьютерный маленький мирок, если что интересно - спрашивайте. :) Надеюсь не сразу удалят.

Скриншот с ssh Роутера: http://rghost.ru/57506087

>>> Просмотр (1024x768, 38 Kb)

 ,

gIiIjony
()

LXC, Gentoo, и странные тормоза

Форум — Admin

Привет, Лор! Назрела у меня проблема. Есть компьютер с Gentoo, и на нём есть пара LXC-контейнеров. Debian и Gentoo. Debian работает нормально, но когда я захожу на по ssh на контейнер с Gentoo, и пытаюсь собрать, например nginx, то система начинает адски тормозить на запись. Когда я пишу emerge nginx, то в dmesg выпадает такое сообщение:

[ 2430.450306] emerge (6361) used greatest stack depth: 5104 bytes left

И запись на весь диск, который в системе, начинает адски тормозить, например:

cfe home # dd if=/dev/zero of=./file 
^C444+0 records in
444+0 records out
227328 bytes (227 kB) copied, 7.77296 s, 29.2 kB/s

С чтением вроде бы всё в порядке. Хард не битый,

Ядро:

Linux cfe 3.13.10-geek #7 Sat Jul 19 20:35:40 MSK 2014 i686 Intel(R) Celeron(R) CPU 2.00GHz GenuineIntel GNU/Linux

Процессор:

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 15
model           : 2
model name      : Intel(R) Celeron(R) CPU 2.00GHz
stepping        : 9
cpu MHz         : 2666.543
cache size      : 128 KB
fdiv_bug        : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pebs bts cid xtpr
bogomips        : 5333.08
clflush size    : 64
cache_alignment : 128
address sizes   : 36 bits physical, 32 bits virtual
power management:

make.conf:

CFLAGS="-O2 -march=pentium4 -pipe -mfpmath=sse -msse2 -ftree-vectorize -fexcess-precision=fast -fomit-frame-pointer -ffast-math -finline-functions"
CXXFLAGS="${CFLAGS}"
CPPFLAGS="${CFLAGS}"
CHOST="i686-pc-linux-gnu"

CPUINST="       mmx sse sse2"
DROP="          -cups -debug -ipv6 -bindist -qrcode -alsa -systemd"
SYSTEM="        python sqlite symlink glibc-omitfp bash-completion logrotate"
USE="${CPUINST} ${DROP} ${SYSTEM}"
LINGUAS="ruy"

FEATURES="parallel-fetch metadata-transfer"
PORTDIR="/usr/portage"
DISTDIR="${PORTDIR}/distfiles"
PKGDIR="${PORTDIR}/packages"

source "/var/lib/layman/make.conf"

PORTAGE_NICENESS="10"
PORTAGE_IONICE_COMMAND="ionice -c 3 -p \${PID}"

Ещё что-нибудь нужно будет для определения проблемы - пишите.

Вот такая вот фигня, причём до этого момента, когда я в виртуалке собираю nginx, всё работает нормально.

Буду рад, если кто-нибудь натолкнёт меня на ответ. :)

gIiIjony
()

Ищу удалённую работу

Форум — Job

Здравствуй, Лор. Из-за нехватки финансов решил окунуться в так называемый «фриланс». Имею опыт работы с mysql, nginx, apache, lighttpd, squid, zabbix, ejabberd, openfire, openvpn, и немного iptables(установка, настройка, администрирование). Достаточно хорошо обращаюсь с Debian, Gentoo, Centos. :) Так же могу настроить вам что угодно, если на это есть документация. :)

По всем вопросам лучше всего обращаться в giiijony@draugr.de

Всем удачного дня! :)

gIiIjony
()

i915, gentoo, и лог загрузки

Форум — Linux-install

Всем привет! В общем, сразу в карьер. Собрал ядро с встроенными драйверами i915 прямо в ядро, загружаюсь, запускается init-скрипт самописный(может в этом соль, нет очистки экрана, или ещё какой фигни), я ввожу пароль для шифрованного корня, и дальше не вижу ничего. Ни старт демонов openrc, нифига. В конце вижу только предложение залогиниться. Как можно это побороть? Компьютер, я, конечно, включаю-выключаю не так часто, но всё-таки хотелось бы видеть лог загрузки openrc. Всем заранее спасибо за ответы, буду очень благодарен.

lspci - http://bpaste.net/show/152682/

Конфиг ядра - http://bpaste.net/show/152683/

Кривой init-скрипт :) - http://bpaste.net/show/152684/

 , ,

gIiIjony
()

Cryptsetup вываливается с ошибками

Форум — Linux-install

Всем привет, люди с Лора. Собрал себе недавно компьютер на замену моей развалины, ещё старей собранного, и решил зашифровать диск, с корнем. Делал всё, в общем-то, по-старому, как всё и делал раньше, а раньше проблем никаких почти не возникало, но теперь cryptsetup у меня начал вываливаться с ошибками «cryptsetup error creating iv» и кучей всего про ioctl. Ситуация такая - собрал ядро, собрал небольшой initrd, чтобы монтировать шифрованный корень, сунул его в /boot, загружаюсь, ввожу пароль к разделу - и куча ошибок, о которых написано ранее. Если пароль ввести неправильно, или что-то ещё, то cryptsetup всё-равно пишет все эти ошибки. cryptsetup, busybox, и прочее-прочее, что лежит у меня в initramfs - всё собрано с use-флагами static и static-libs. Вот, вроде бы, я всё и описал, осталось конфиги показать. Очень жду ваших ответов, и буду вам очень благодарен, так как мучаюсь уже какой день.

make.conf - http://bpaste.net/show/152413/

Конфиг ядра - http://bpaste.net/show/152409/

Это я смотрю на свой шифрованный раздел с загрузочного sysrescuecd - http://bpaste.net/show/7GqelPDiLtXy4g64wd1d/

 , ,

gIiIjony
()

RSS подписка на новые темы