systemd-timesyncd зачем открыт порт
Кто разрешил? Зачем NTP-клиенту открытый порт? Где конфига?
# netstat -tulpen | grep systemd
udp 0 0 0.0.0.0:34487 0.0.0.0:* 105 41286 4448/systemd-timesy
Кто разрешил? Зачем NTP-клиенту открытый порт? Где конфига?
# netstat -tulpen | grep systemd
udp 0 0 0.0.0.0:34487 0.0.0.0:* 105 41286 4448/systemd-timesy
$ virtualenv bar
Running virtualenv with interpreter /usr/bin/python2
New python executable in bar/bin/python2
Also creating executable in bar/bin/python
Installing setuptools, pip...
Complete output from command /home/user/foo/bar/bin/python2 -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip:
Ignoring indexes: https://pypi.python.org/simple/
Downloading/unpacking setuptools
Cleaning up...
Exception:
Traceback (most recent call last):
File "/usr/share/python-wheels/pip-1.5.6-py2.py3-none-any.whl/pip/basecommand.py", line 122, in main
status = self.run(options, args)
File "/usr/share/python-wheels/pip-1.5.6-py2.py3-none-any.whl/pip/commands/install.py", line 290, in run
requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
File "/usr/share/python-wheels/pip-1.5.6-py2.py3-none-any.whl/pip/req.py", line 1178, in prepare_files
url = finder.find_requirement(req_to_install, upgrade=self.upgrade)
File "/usr/share/python-wheels/pip-1.5.6-py2.py3-none-any.whl/pip/index.py", line 292, in find_requirement
elif is_prerelease(version) and not (self.allow_all_prereleases or req.prereleases):
File "/usr/share/python-wheels/pip-1.5.6-py2.py3-none-any.whl/pip/util.py", line 739, in is_prerelease
return any([any([y in set(["a", "b", "c", "rc", "dev"]) for y in x]) for x in parsed])
TypeError: 'int' object is not iterable
Storing debug log for failure in /home/user/.pip/pip.log
----------------------------------------
...Installing setuptools, pip...done.
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/virtualenv.py", line 2378, in <module>
main()
File "/usr/lib/python3/dist-packages/virtualenv.py", line 830, in main
symlink=options.symlink)
File "/usr/lib/python3/dist-packages/virtualenv.py", line 1032, in create_environment
install_wheel(to_install, py_executable, search_dirs)
File "/usr/lib/python3/dist-packages/virtualenv.py", line 975, in install_wheel
'PIP_NO_INDEX': '1'
File "/usr/lib/python3/dist-packages/virtualenv.py", line 917, in call_subprocess
% (cmd_desc, proc.returncode))
OSError: Command /home/user/foo/bar/bin/python2 -c "import sys, pip; sys...d\"] + sys.argv[1:]))" setuptools pip failed with error code 2
$ cat ~/.pip/pip.log
------------------------------------------------------------
-c run on Thu May 21 11:21:45 2015
Ignoring indexes: https://pypi.python.org/simple/
Downloading/unpacking setuptools
URLs to search for versions for setuptools:
Skipping link . (from -f); not a file
Skipping link /usr/lib/python3/dist-packages (from -f); not a file
Skipping link /usr/share/python-wheels/ (from -f); not a file
Skipping link file:///home/user/foo/bar; not a file
Skipping link file:///usr/lib/python3/dist-packages/virtualenv-1.11.6.egg-info; unknown archive format: .egg-info
Skipping link file:///usr/lib/python3/dist-packages/virtualenv.py; unknown archive format: .py
Skipping link file:///usr/lib/python3/dist-packages/pkg_resources.py; unknown archive format: .py
Skipping link file:///usr/lib/python3/dist-packages/__pycache__; not a file
Skipping link file:///usr/lib/python3/dist-packages/debconf.py; unknown archive format: .py
Skipping link file:///usr/share/python-wheels/chardet-2.3.0-py2.py3-none-any.whl; wrong project name (not setuptools)
Skipping link file:///usr/share/python-wheels/urllib3-1.10.4-py2.py3-none-any.whl; wrong project name (not setuptools)
Skipping link file:///usr/share/python-wheels/pip.dependencies; unknown archive format: .dependencies
Skipping link file:///usr/share/python-wheels/six-1.9.0-py2.py3-none-any.whl; wrong project name (not setuptools)
Skipping link file:///usr/share/python-wheels/distlib-0.2.0-py2.py3-none-any.whl; wrong project name (not setuptools)
Skipping link file:///usr/share/python-wheels/requests-2.4.3-py2.py3-none-any.whl; wrong project name (not setuptools)
Skipping link file:///usr/share/python-wheels/pip-1.5.6-py2.py3-none-any.whl; wrong project name (not setuptools)
Found link file:///usr/share/python-wheels/setuptools-5.5.1-py2.py3-none-any.whl, version: 5.5.1
Skipping link file:///usr/share/python-wheels/colorama-0.3.3-py2.py3-none-any.whl; wrong project name (not setuptools)
Skipping link file:///usr/share/python-wheels/html5lib-0.999-py2.py3-none-any.whl; wrong project name (not setuptools)
Local files found: /usr/share/python-wheels/setuptools-5.5.1-py2.py3-none-any.whl
Cleaning up...
Exception:
Traceback (most recent call last):
File "/usr/share/python-wheels/pip-1.5.6-py2.py3-none-any.whl/pip/basecommand.py", line 122, in main
status = self.run(options, args)
File "/usr/share/python-wheels/pip-1.5.6-py2.py3-none-any.whl/pip/commands/install.py", line 290, in run
requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
File "/usr/share/python-wheels/pip-1.5.6-py2.py3-none-any.whl/pip/req.py", line 1178, in prepare_files
url = finder.find_requirement(req_to_install, upgrade=self.upgrade)
File "/usr/share/python-wheels/pip-1.5.6-py2.py3-none-any.whl/pip/index.py", line 292, in find_requirement
elif is_prerelease(version) and not (self.allow_all_prereleases or req.prereleases):
File "/usr/share/python-wheels/pip-1.5.6-py2.py3-none-any.whl/pip/util.py", line 739, in is_prerelease
return any([any([y in set(["a", "b", "c", "rc", "dev"]) for y in x]) for x in parsed])
TypeError: 'int' object is not iterable
$ aptitude show virtualenv | grep Version
Version: 1.11.6+ds-1
$ aptitude show python-pip | grep Version
Version: 1.5.6-5
$ aptitude show python-setuptools | grep Version
Version: 5.5.1-1
Делал так, на час ошибается. Но localtime() работает правильно. Почему?
#include <stdio.h>
#include <time.h>
extern long timezone;
int main(void) {
tzset();
printf("%ld\n", timezone);
return 0;
}
Дано: Карта с AT24C512SC и картридер
$ lsusb | grep -i smart
Bus 004 Device 004: ID 08e6:34ec Gemplus Compact Smart Card Reader Writer
Хочу первое читать/писать вторым. Куда копать?
Потыкал немного:
# pcscd -f -a
00000000 commands.c:979:CmdEscape error on byte 10
16557177 commands.c:248:CmdPowerOn Card absent or mute
00000031 ifdhandler.c:1206:IFDHPowerICC() PowerUp failed
00000037 eventhandler.c:435:EHStatusHandlerThread() Error powering up card.
$ pcsc_scan
PC/SC device scanner
V 1.4.23 (c) 2001-2011, Ludovic Rousseau <ludovic.rousseau@free.fr>
Compiled with PC/SC lite version: 1.8.11
Using reader plug'n play mechanism
Scanning present readers...
0: Gemalto GemPC Express 00 00
Mon Apr 27 00:04:47 2015
Reader 0: Gemalto GemPC Express 00 00
Card state: Card removed,
Mon Apr 27 00:04:59 2015
Reader 0: Gemalto GemPC Express 00 00
Card state: Card inserted, Unresponsive card,
Когда через dd пишется образ в 1 гб на карту, dd отрабатывает за пару секунд. Система это всё кэширует и в /proc/meminfo можно наблюдать, как значение Dirty медленно ползёт вниз.
Как это кэширование отключить? Если бы было просто копирование файлов, то можно было бы через опции монтирования. Но тут-то ничего не монтируется.
Есть сервер с KVM и виртуальными машинами. Под каждую виртуальную машину создаётся интерфейс vnetN. Мне интересно, используется ли для них TAP-драйвер или там что-то другое. Как это можно проверить? Спасибо.
Alpha Beta
+-----+ +------+ +------+
|1Gb/s|---| | | |
| | |switch|---|10Gb/s|
|1Gb/s|---| | | |
+-----+ +------+ +------+
Дано два сервера с рутовым доступом, альфа и бета. В альфе две сетевые карты по 1 Gb/s. В бете одна сетевая карта на 10 Gb/s. Между ними тупой свитч, настроек нет, 802.3ad не поддерживает. Есть ССЗБ, который хочет максимизировать скорость передачи между альфой и бетой через этот самый свитч, но в этих ваших сетях ничего не понимает.
Настроил на альфе bonding в модусе balance-rr. Вот что выдаёт iperf.
$ iperf -c 10.0.0.2 -r
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 10.0.0.2, TCP port 5001
TCP window size: 144 KByte (default)
------------------------------------------------------------
[ 5] local 10.0.0.1 port 60091 connected with 10.0.0.2 port 5001
[ ID] Interval Transfer Bandwidth
[ 5] 0.0-10.0 sec 1.79 GBytes 1.53 Gbits/sec
[ 4] local 10.0.0.1 port 5001 connected with 10.0.0.2 port 33331
[ 4] 0.0-10.0 sec 1.94 GBytes 1.66 Gbits/sec
$ iperf -c 10.0.0.2 -r -u
------------------------------------------------------------
Server listening on UDP port 5001
Receiving 1470 byte datagrams
UDP buffer size: 208 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 10.0.0.2, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size: 208 KByte (default)
------------------------------------------------------------
[ 4] local 10.0.0.1 port 56492 connected with 10.0.0.2 port 5001
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-10.0 sec 1.25 MBytes 1.05 Mbits/sec
[ 4] Sent 893 datagrams
[ 4] Server Report:
[ 4] 0.0-10.0 sec 1.25 MBytes 1.05 Mbits/sec 0.029 ms 0/ 893 (0%)
[ 3] local 10.0.0.1 port 5001 connected with 10.0.0.2 port 60428
[ 3] 0.0-10.0 sec 1.25 MBytes 1.05 Mbits/sec 0.011 ms 0/ 893 (0%)
В манах написано, что в balance-rr сетевые карты при отправке пакетов друг друга сменяют. Я ожидал, что скорость передачи данных возрастёт, но скорость приёма останется 1 Gb/s. Видимо я чего-то не понимаю?
Во вторых, скорость по udp не сильно-то возрасла. Почему, как исправить?
В третьих, а как это сделать правильно?
Зы: Результаты iperf возпроизводятся.
OpenVPN, тоннель по tcp.
$ iperf -c 10.11.12.2 -r -m
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 10.11.12.2, TCP port 5001
TCP window size: 22.6 KByte (default)
------------------------------------------------------------
[ 5] local 10.8.12.6 port 55646 connected with 10.11.12.2 port 5001
[ ID] Interval Transfer Bandwidth
[ 5] 0.0-10.0 sec 74.1 MBytes 62.0 Mbits/sec
[ 5] MSS size 1354 bytes (MTU 1394 bytes, unknown interface)
[ 4] local 10.8.12.6 port 5001 connected with 10.11.12.2 port 40690
[ 4] 0.0-10.1 sec 122 MBytes 102 Mbits/sec
[ 4] MSS size 1354 bytes (MTU 1394 bytes, unknown interface)
OpenVPN, тоннель по udp.
$ iperf -c 10.11.12.2 -r -m
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
------------------------------------------------------------
Client connecting to 10.11.12.2, TCP port 5001
TCP window size: 22.6 KByte (default)
------------------------------------------------------------
[ 5] local 10.8.8.14 port 37677 connected with 10.11.12.2 port 5001
[ ID] Interval Transfer Bandwidth
[ 5] 0.0-10.0 sec 60.2 MBytes 50.4 Mbits/sec
[ 5] MSS size 1356 bytes (MTU 1396 bytes, unknown interface)
[ 4] local 10.8.8.14 port 5001 connected with 10.11.12.2 port 58590
[ 4] 0.0-10.1 sec 60.8 MBytes 50.3 Mbits/sec
[ 4] MSS size 1356 bytes (MTU 1396 bytes, unknown interface)
Внезапно по tcp обратное соединение в два раза быстрее. Почему?
На работе есть с оффтопиком десятилетней давности внутри. Возник вопрос, есть ли аналог с линуксом. Пруфлинки приветствуются. Спасибо.
Каша в голове, да. Я прав или где-то ошибаюсь?
Значит такая модель. Есть 4 сетевых интерфейса: eth0, wlan0, tun0, tap0. Для каждого есть драйвер и какая-то плата, либо юзерспейсное приложение.
Открываем мы значит лор в браузере, http-запрос (прикладной уровень) упаковывается в ip-пакет (сетевой уровень). Согласно нашим таблицам маршруторизации ip-пакет пойдёт по одному из сетевых интерфейсов. При этом различий в ip-пакете не будет. Значит для сетевых интерфейсов есть какая-то общая функция типа send_data(interface, data).
Дальше начинаются различия.
В eth0 ip-пакет по идее должен быть упакован в ethernet-frame. Это происходит в драйвере или уже на плате? А может бывает по разному?
В wlan0 ip-пакет будет упакован во что-то похожее на ethernet-frame, но другое, так как wifi и ethernet отличаются на канальном и физическом уровнях.
В tap0 ip-пакет будет упакован драйвером в ethernet-frame и передан в юзерспейсное приложение.
В tun0 ip-пакет никуда не будет упакован, а будет сразу передан драйвером в юзерспейсное приложение.
Так или не так?
Кто не в курсе, chaos computer congress идёт уже третий день. В 10:30 по utc Столлман в первом зале собирается опять втирать про свободу. Ну и интересные темы там тоже бывают.
Есть glassfish 4.1. Надо запилить REST API с опциональной аутентификацией.
Согласно этому ихнему REST имя/пароль посылается с каждым запросом. Ну или не посылается, опционально же.
Использоваться будет жабоскриптом из браузера.
Хотел имя/пароль упаковать в JSON и посылать в теле запроса, но сервер его игнорирует нафиг, если запрос не POST.
Хотел сделать через basic authentication, но понятия не имею как запилить аутентификацию опционально - если хедер «Authorization» есть и аутентификация не прошла, надо выдать ошибку, если хедера нет, значит анонимус.
Как?
Есть виртуальные машины с VNC-серверами. К ним коннектятся юзеры и там работают. Юзеры могут субъективно определить качество соединения: «нормально» или «лагает».
Нужно более объективное определение.
Я так думаю, нужно замерить среднее время между тем моментом, когда юзер нажимает кнопки и тем моментом, когда обновляется изображение на экране.
Как бы это попроще сделать? Спасибо.
Теоретическая задача.
Дано: Сеть с кучей линуксовых машин, три провода в интернеты. Надо использовать три машины в качестве натирующих маршруторизаторов в интернеты, балансировано и отказоустойчиво.
Нашёл http://xgu.ru/wiki/Отказоустойчивая_маршрутизация с зоопарком полупроприетарных протоколов.
Пока курю найденое, но может кто посоветует, как оно правильно делается?
Этот ваш TikZ так умеет? Или что ещё есть? Спасибо.
--------------------
| |
|----- -----|
----------------- -----|abcd| foobar |text|
| | | |----- -----|
|----- -----| | | |
|text| |abcd|----- --------------------
|----- -----|
| foo\n |
| bar |
|----- -----|
|text| |efgh|----- --------------------
|----- -----| | | |
| | | |----- -----|
----------------- -----|efgh| foobar |text|
|----- -----|
| |
--------------------
Теоретическая задача.
Есть машина с четырмя сетевыми интерфейсами. Есть три сетки A, B, C.
Сеть A - 10.0.0.0/24. Сеть B - 10.0.1.0/24. Сеть C - 10.0.2.0/24.
eth0 и eth1 в сети A 10.0.0.1 и 10.0.0.2 соответственно.
eth2 в сети B 10.0.1.1.
eth3 в сети C 10.0.2.1.
Нужно натить машины из сети A в сети B и C. Пакеты приходящие на 10.0.0.1 должны идти в сеть B. Пакеты приходящие на 10.0.0.2 должны идти в сеть C.
Заморачиваюсь с iptables и несколькими таблицами маршруторизации, пока не работает.
Как?
|--------|
| |
|-eth0---| |--------eth2----B
A---| | R |
|-eth1---| |--------eth3----C
| |
|--------|
Есть сайт с аутентификацией юзера по ssl. Есть юзерский сертификат в формате pkcs12. В огнелисе работает.
Надо сделат пост-запрос из консоли. Приватный ключ должен быть зашифрованым.
Делаю так:
$ openssl pkcs12 -nokeys -clcerts -in mycert.p12 -out mycert.crt
Enter Import Password:
MAC verified OK
$ openssl pkcs12 -nocerts -in mycert.p12 -out mycert.key -nodes
Enter Import Password:
MAC verified OK
$ wget --certificate=mycert.crt --private-key=mycert.key -O- https://mysite --post-data=mydata=foobar
...
200 OK
...
<html>...Welcome...</html>
...
Делаю так:
$ openssl pkcs12 -nocerts -in mycert.p12 -out mycert.key
Enter Import Password:
MAC verified OK
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
$ wget --certificate=mycert.crt --private-key=mycert.key -O- https://mysite --post-data=mydata=foobar
...
200 OK
...
<html>...You are not authenticated...</html>
...
Гугл говорит, что wget таки умеет работать с шифроваными ключами.
Что я делаю не так?
Развели зоопарк, я ничего не понимаю. Поправьте/дополните, спасибо.
VirtualBox - кроссплатформенная виртуализация под десктопы
KVM - Линуксозависимая виртуализация для vps. При чём тут QEMU?
OpenVZ - Линуксозависимая виртуализация для vps, использует ядро хоста.
Vagrant - Обрёртка над VirtualBox, KVM, OpenVZ. Под десктопы рубиразработчиков. Wait... KVM и OpenVZ используют не только для vps?
LXC - Линуксозависимые чего-то там контейнеры. Куда? Зачем? Чем отличаются от OpenVZ?
Docker - Обёртка над LXC.
libvirt - Обёртка над всем. Это только либа? Если да, то чем ей управлять?
Есть классы, например дом, автомобиль.
У классов есть атрибуты, например площадь, количество дверей у класса дом, вес, количество дверей у класса автомобиль.
Классы и их атрибуты могут добавляться/удаляться/изменяться в зависимости от фазы луны.
Есть объекты, например дом-1 класса дом, площадь 100 м*м, количество дверей 5, автомобиль-1 класса автомобиль, вес 2 т, количество дверей 5. Объекты могут добавляться/удаляться/изменяться в зависимости от фазы луны.
Нужно искать объекты по атрибутам. Запрос «площадь 100 м*м» должен возвращать дом-1. Запрос «вес 2 т» должен возвращать автомобиль-1. Запрос «количество дверей 5» должен возвращать дом-1 и автомобиль-1.
Как это по умному запихнуть в mysql?
Думал как-то так:
classes
------------------
cid|cname
attributetypes
------------------
atid|atname|cid
objects
------------------
oid|oname|cid
attributes
------------------
aid|avalue|oid|atid
Но тут например можно добавить объекту одного класса атрибут от другого. Вообще не покидает ощущение, что я ректально лечу кариес.
← назад | следующие → |