LINUX.ORG.RU

Сообщения true_admin

 

jagged alliance 2: оно как под линуксом?

Форум — Games

Тут пришло от gag.com письмо что за 4 бакса можно взять ja2. Однако не понятно на сколько оно работоспособно под линухом. Гугление показало что... многие ссылки мертвы, инфа неактуальна, что с совместимостью с модами и AMD64 не понятно. Перелопачивать тонны фан-сайтов не хочется.

В общем, у кого какой опыт с нативной версией? Или забить и не насиловать труп?

true_admin
()

возврат ошибок системных вызовов

Форум — Development

Есть одна вещь которая меня коробит, это то как сделаны коды возврата в ядре. Идея простая: есть системные вызовы и есть стандартные коды возврата от SUCCESS до всяких EPERM, EBADF и прочих. Когда речь идёт о тривиальных вызовах типа open(«some file») всё понятно (и то бывают дурацкие проблемы со всякими xattrs, selinux и прочим, но selinux хотя бы логи умеет вести). Но есть гораздо более сложные ситуации когда внутри ядра происходит куча всего и одна и код возврата может быть использован в разных местах. Соотв. из userspace понять что там в ведре случилось невозможно. И что, блин, характерно, в логах тоже ничего не найдёшь.

Вот пример такого:

* We only trust the superuser with rebooting the system. */
- if (!capable(CAP_SYS_BOOT))
+ if (!capable(CAP_SYS_BOOT) || !capable(CAP_COMPROMISE_KERNEL))
return -EPERM;

Как бы с точки зрения ядра всё прекрасно, но вот для юзерспейса важно почему что-то не работает, иначе непонятно как исправлять ситуацию. И в данном случае без исходников ядра и долгого ковыряния определить почему ядро возвращает EPERM для рутового процесса очень сложно.

Я не требую введения иерархии эксепшенов. Прочто чочу чтобы ядро тоже умело писать в лог :(. Ну хотя бы в дебаг-сборке.

Перемещено mono из talks

 , ,

true_admin
()

два гейтвея: http/https завернуть во второй

Форум — Admin

Хочу http трафик завернуть в vpn. Попробовал вот так, но в туннель попадают пакеты не с того адреса:

# ДОБАВЛЯЕМ
iptables -t mangle -A OUTPUT -p tcp -m multiport --dports 80 -j MARK --set-xmark 666
ip route add table exevpn default via 172.16.1.1
ip rule add fwmark 666 table exevpn
ip route flush cache

# ПРОВЕРЯЕМ
# iptables -t mangle -L OUTPUT -v
Chain OUTPUT (policy ACCEPT 556 packets, 33522 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  379 22740 MARK       tcp  --  any    any     anywhere             anywhere             multiport dports http MARK set 0x29a

# ip route get 6.6.6.6 mark 666
6.6.6.6 via 172.16.1.1 dev exevpn  src 172.16.1.111  mark 0x29a
    cache 

# ip route get 6.6.6.6
6.6.6.6 via 10.23.0.1 dev wlan0  src 10.23.2.131 
    cache 

Вроде бы и правила на фаерволе срабатывают и роутинг отрабатывает как надо. Но вот tcpdump говорит что в туннель exevpn попадают пакеты с src-ip интерфейса wlan0, а надо чтобы было с адреса 172.16.1.111:

$ sudo tcpdump -n -i exevpn
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on exevpn, link-type EN10MB (Ethernet), capture size 65535 bytes
14:23:59.483671 IP 10.23.2.131.56446 > 87.250.250.119.80: Flags [S], seq 900304472, win 14600, options [mss 1460,sackOK,TS val 1053120 ecr 0,nop,wscale 7], length 0
14:23:59.483834 IP 10.23.2.131.35691 > 213.180.193.119.80: Flags [S], seq 2742770037, win 14600, options [mss 1460,sackOK,TS val 1053120 ecr 0,nop,wscale 7], length 0
14:24:00.486667 IP 10.23.2.131.56446 > 87.250.250.119.80: Flags [S], seq 900304472, win 14600, options [mss 1460,sackOK,TS val 1053421 ecr 0,nop,wscale 7], length 0

Что делать и почему так происходит? Неужели SNAT поднимать?

PS интерфейсы:

$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether c4:85:08:17:30:c2 brd ff:ff:ff:ff:ff:ff
    inet 10.23.2.131/16 brd 10.23.255.255 scope global wlan0
    inet6 fe80::c685:8ff:fe17:30c2/64 scope link 
       valid_lft forever preferred_lft forever
3: intbr: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN 
    link/ether c6:02:87:04:13:ca brd ff:ff:ff:ff:ff:ff
    inet 172.16.5.254/24 brd 172.16.5.255 scope global intbr
    inet6 fe80::c402:87ff:fe04:13ca/64 scope link 
       valid_lft forever preferred_lft forever
6: exevpn: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100
    link/ether aa:cb:15:09:c0:bf brd ff:ff:ff:ff:ff:ff
    inet 172.16.1.111/24 brd 172.16.1.255 scope global exevpn
    inet6 fe80::a8cb:15ff:fe09:c0bf/64 scope link 
       valid_lft forever preferred_lft forever

true_admin
()

как быстро создать свой ЯП?

Форум — Development

Сабж. Есть идеи, хочу их попробовать. Если ли, скажем, какие-то тулкиты для эээ автоматизации этого? Ну, например, набор примитивов (структуры, списки, массивы ...), плюс какие-нить парсеры итд итп. Я не про yacc/bison+llvm, а про что-нить более высокоуровневое и лузер-френдли.

 ,

true_admin
()

феерический ппц нашего времени

Форум — Talks

Давным-давно в systemd поломали dhcpcd@-сервис (а может он всегда был кривой). Проявляется это в том что там захардкодено eth0 в файле сервиса. Хрен бы с этим, но ведь с недавнего времени никаких eth0 больше нет, зато есть всякие enp3s0. И естестно это больше не работает вообще никак. Баг в арчлинукс направлен 10-го августа. Арчеводы быстренько закрыли с wontfix и перекинули проблему в upstream. А апстриму пофиг, апстрим не чешется. А между тем в обоих багтрекерах давным давно лежат решения проблем. Что делать, Зин?

Раньше говорили: «а ты написал багрепорт». Потом стали говорить «а ты засабмитил патч?». Что теперь говорить? «Постучал ли ты по башке девелоперам»? «Форкнул ли ты проект»? Зла на них всех не хватает :(. Короче, кто хочешь написать письмо Его Величеству? Я не в настроении писать цензурно.

Я давно предлагаю ввести новую должность - пинатель девелоперов.

PS а линукс тут при том что он служит низкоуровневой прослойкой для systemd.

Список использованной литературы:

https://bugs.archlinux.org/task/31093

https://bugs.freedesktop.org/show_bug.cgi?id=53954

 , , , ,

true_admin
()

почему после копирования дистра на другой раздел он стал больше?

Форум — Admin

Сабж.

# mkdir /tmp/arch
# mount --bind / /tmp/arch
# rsync -aHAXtShx --progress /tmp/arch/ /mnt/
sent 605.08M bytes  received 589.46K bytes  36.71M bytes/sec
total size is 611.91M  speedup is 1.01
# tune2fs -m 1 /dev/sda3
tune2fs 1.42.6 (21-Sep-2012)
Setting reserved blocks percentage to 1% (24412 blocks)
# df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs          960M  662M  250M  73% /
/dev/sda2       960M  662M  250M  73% /
/dev/sda2       960M  662M  250M  73% /tmp/arch
/dev/sda3       9.2G  790M  8.4G   9% /mnt
/dev/sda3       9.2G  790M  8.4G   9% /tmp/arch/mnt

Файлухи ext4, копировал с поддержкой sparse files, с хардлинками итп. Что я упустил?

PS кажется, я понял, так что пусть это будет задачкой для сисадминов.

 , ,

true_admin
()

не хочет hostname выставлять по dhcp

Форум — Admin

В /etc/conf.d/dhcpcd стоит DHCPCD_ARGS="-q -e force_hostname=YES", /etc/hostname я удалил, а имя всё равно localhost. По логам dnsmasq отдаёт корректное hostname.

Опытным путём было установлено что при следующем запросе (когда lease time истекает) оно таки выставляет правильный hostname. Вопрос: как сделать так чтобы оно сразу получало по сети нормальное имя?

 , ,

true_admin
()

работает ли в autofs wildcard?

Форум — Desktop

Пытаюсь придумать что-то удобное для автомонтирования флешек. Наткнулся на autofs, но, по-моему, там конфиги мегакостыльные. Простой сценарий когда прописываешь путь к устройству и папку монтирования работает, а вот со всеми этими wild cards не хочет работать, хотя делаю всё по мануалу с оффсайта и по манам.

Т.е. такая байда у меня не работает:

[root@ux32vd /]# cat /etc/autofs/auto.master 
/media /etc/autofs/auto.media

[root@ux32vd /]# cat /etc/autofs/auto.media 
*    -fstype=auto,sync     :/dev/sd&

[root@ux32vd ~]# automount -m

autofs dump map information
===========================

global options: none configured

Mount point: /media

source(s):

  instance type(s): file 
  map: /etc/autofs/auto.media

  * | -fstype=auto,sync     :/dev/sd&

Демона запускал через automount -v -d -f, всё без толку, путного ничего не выводит. ЧЯДНТ?

Если задать явно что /dev/sdb1 монтировать в /media/flashka то всё работает, но у флешки не обязательно имя sdb и не обязательно там один раздел.

 ,

true_admin
()

что есть философия unix

Форум — Talks

В порядке ликбеза.

Очень много споров на лоре на эту тему и стороны никак не могут между собой договориться. И тут, читая википедию на тему Поттеринг vs груповой шедулинг в cfs, наткнулся на, вы не поверите, http://en.wikipedia.org/wiki/Unix_philosophy . Что ж, теперь хоть понятно откуда корни у этой философии.

Для Ъ: там не только про модульность и «каждая программа должна делать только одну вещь».

 

true_admin
()

не менять разрешение консоли при загрузки

Форум — Admin

Хочу arch грузить с kvm -curses. Systemd хитрее: не смотря на nosetmode, nofb итп он всё равно меняет. Как я выяснил с systemd.confirm_spawn=true, происходит это в момент запуска udev.

Что крутить чтобы разрешение оставалось прежним?

 ,

true_admin
()

Accessing a corrupted shared library

Форум — Development

Почему на выходе получается битая либа? gcc version 4.7.2, ld 2.23.1 . Раньше такое работало.

p1@libtest$ cat ./test.c 
#include<stdio.h>
const char interpreter[] __attribute__((section(".interp"))) = "/lib/ld-linux.so.2";

int test(void) {
    printf("test\n");
}

p1@libtest$ cat ./Makefile 
test.so: test.c
	gcc -shared -ggdb -fpic -pipe -Wl,-e,test ./test.c -o test.so -ldl


p1@libtest$ make
gcc -shared -ggdb -fpic -pipe -Wl,-e,test ./test.c -o test.so -ldl
p1@libtest$ ldd ./test.so 
/usr/bin/ldd: line 117: ./test.so: Accessing a corrupted shared library

 , ,

true_admin
()

узнать текущую частоту процессора не через proc/ACPI/whatever

Форум — Development

Хочу узнать текущую частоту процессора в ноутбуке. Данные которые выдают powertop или /proc/cpuinfo противоречат спецификациям (что, кстати, заметил не только я, но и https://wiki.ubuntu.com/Kernel/Reference/fwts).

Вот вопрос как вычислить программными средствами. Может там какой цикл сделать и замерить скорость его выполнения?

Проц i7-3517, частоту пишет 2.8GHz для всех четырёх ядер (включая hyper-threading) стабильно. Должно быть 2.4, если верить powertop, или 2.3 если верить http://processors.findthebest.com/l/844/Intel-i7-3517U.

Ноут asus ux32vd.

true_admin
()

gmail теперь не работает с почтовиками с self-signed certificates

Форум — Talks

Сорри, если уже обсудили.

Теперь только «валидные» сертификаты принимаются если настроен забор почты с другого сервера: http://support.google.com/mail/bin/answer.py?hl=en&answer=21291&ctx=g...

Свой сертификат импортировать нельзя. Со слов гугла это делается для секурности. Поэтому или платите за сертификат, или ... снимите галочку «использовать ssl» в гэмыли. Секурно, мда..

А проблем две: 1) лично я не собираюсь 10 сертификатов покупать только чтобы угодить гуглу. Хотя, может жизнь заставит.

2) когда сервер не свой, а «корпоративный», заставить что-то сделать очень сложно. У подруги как раз этот случай, потому и плачусь.

true_admin
()

реально ли играть с bumblebee?

Форум — Games

Купил не так давно ноут asus ux32vd с core i7-3517u и geforce GT 620M. Решил поиграть (~6.5лет не играл, а тут захотелось). Дистр арч, поставил bumblebee из aur, всё как по инструкции (исключая допиливания под ядро 3.7). Проверил, optirun на glxspheres аж на 30% быстрее hd4000 (т.е. работает). Итак, запускаю American McGee's Alice (платиновый статус в wine имеет) и...

Выставляю разрешние 1920x1080, максимальные текстуры и 32-битный цвет (игра-то аж 2000 года) и... адские тормоза. Понижение качества текстур до среднего (хотя в игре уже ничего не видно, одно мыло) довело фпс аж до 12-14.5. В отдельных редких случаях фпс мог и превысить 15 (до 16.5 где-то), но только если камера в стену, нет врагов и не стрелять. Мышка реагирует с полусекундной задержкой, клава тоже. С меньшим разрешением оно чуток лучше шевелилось, но всё равно неиграбельно и были проблемы с масштабированием картинки (похоже, из-за того что игра не знает о существовании 16:9 моников, хотя можно подшаманить в конфигах). Я пытался применить компрессию (optirun -c jpeg), это только добавило тормозов. По top ядра все загружены на полную (интересно почему, отключение ядер не сильно уменьшило fps). На hd4000 тормозов ещё больше, тут уже откровенное слайдшоу. По-моему, у меня riva tnt третьекваку лет 12 назад быстрее гоняла. Правда, в 16-и битном цвете и 640x480, но всё же.

Так вот, это у всех так с bumblebee и virtualgl или только у меня?

PS я бы подумал что это тупо ноут слабый, но на ютубе под виндаме оно сносно шевелится даже в современных играх, надо только спецэффекты поубавить в соответствии с мощностью видяхи.

 , ,

true_admin
()

увеличить чувствительнось тачпада

Форум — Desktop

Хочу чтобы тачпад был более скоростным. Пробовал через xset mouse 10 1 и другие числа, не помогает. Пробовал через xinput шаманить с параметрами типа Device Accel Constant Deceleration, Device Accel Velocity Scaling и прочими, всё равно ничего не получается. Через synclient тоже не вышло. Вот уменьшить не проблема, проблема увеличить.

Я может что-то в корне не так делаю? Тачпад 'ETPS/2 Elantech Touchpad'

true_admin
()

реально ли перепаять память в ультрабуке для увеличения объёма?

Форум — Talks

Уже почти конец света, а ноуты в массе до сих пор с 4Gb памяти идут, даже якобы топовые. В большинстве случаев внутри всё намертво распаяно.

Реально ли в полукустарном окружении перенести более ёмкие микрухи на материнку ноута? Микрухи снять с планки памяти, например, или заказать отдельно. Я пока вижу основную проблема в пайке bga-корпусов.

true_admin
()

ipython vs нормальный питон: import urllib

Форум — Development

Почему если в ipython импортировать urllib то импортируется и urllib.request? Это фича такая?

$ ipython 
Python 3.3.0 (default, Sep 29 2012, 15:50:43) 
Type "copyright", "credits" or "license" for more information.

IPython 0.13.1 -- An enhanced Interactive Python.
[skip]
In [1]: import urllib

In [2]: urllib.request.urlopen
Out[2]: <function urllib.request.urlopen>
$ python3
Python 3.3.0 (default, Sep 29 2012, 15:50:43) 
[GCC 4.7.1 20120721 (prerelease)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import urllib
>>> urllib.request.urlopen
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'request'

 

true_admin
()

не могу собрать код из real world haskell

Форум — Development

Вот этот код не собирается потому что был написан под Control.OldException который давно выкинули. Моих знаний не хватило чтобы переделать. Можете подсказать что поменять?

module NiceFork
    (
      ThreadManager
    , newManager
    , forkManaged
    , getStatus
    , waitFor
    , waitAll
    ) where

import Control.Monad (join)
import Control.Concurrent
import Control.Exception (Exception, try)

import qualified Data.Map as M

data ThreadStatus = Running
                  | Finished         -- terminated normally
                  | Threw Exception  -- killed by uncaught exception
                    deriving (Eq, Show)

newtype ThreadManager =
    Mgr (MVar (M.Map ThreadId (MVar ThreadStatus)))
    deriving (Eq)

-- | Sleep :)
sleep :: Double -> IO ()
sleep s = threadDelay $ round $ s * 1000000

-- | Create a new thread manager.
newManager :: IO ThreadManager
newManager = Mgr `fmap` newMVar M.empty

-- | Create a new managed thread.
forkManaged :: ThreadManager -> IO () -> IO ThreadId
forkManaged (Mgr mgr) body =
    modifyMVar mgr $ \m -> do
      state <- newEmptyMVar
      tid <- forkIO $ do
        result <- try body
        putMVar state (either Threw (const Finished) result)
      return (M.insert tid state m, tid)

-- | Immediately return the status of a managed thread.
getStatus :: ThreadManager -> ThreadId -> IO (Maybe ThreadStatus)
getStatus (Mgr mgr) tid =
  modifyMVar mgr $ \m ->
    case M.lookup tid m of
      Nothing -> return (m, Nothing)
      Just st -> tryTakeMVar st >>= \mst -> case mst of
                   Nothing -> return (m, Just Running)
                   Just sth -> return (M.delete tid m, Just sth)

-- | Block until a specific managed thread terminates.
waitFor :: ThreadManager -> ThreadId -> IO (Maybe ThreadStatus)
waitFor (Mgr mgr) tid =
  join . modifyMVar mgr $ \m ->
    return $ case M.updateLookupWithKey (\_ _ -> Nothing) tid m of
      (Nothing, _) -> (m, return Nothing)
      (Just st, m') -> (m', Just `fmap` takeMVar st)


-- | Block until all managed threads terminate.
waitAll :: ThreadManager -> IO ()
waitAll (Mgr mgr) = modifyMVar mgr elems >>= mapM_ takeMVar
    where elems m = return (M.empty, M.elems m)

 

true_admin
()

отговорите: asus ux32vd

Форум — Linux-hardware

Я уже года четыре себе ноут выбираю и, кажись, нашёл свой идеал: asus 32vd. Там есть слот для оперативы, так что я могу туда запихнуть 8гб плашку и получить 10гиг в сумме (2гб на мамке распаяно). Так же там обычный венник стоит (правда, 7мм высотой) и 32гб ssd распаяно на мамке. Имхо, это превосходно: я систему поставлю на 32гига, а винтом буду пользоваться для помойки. В остальных случаях его можно будет отключить чтобы не сдох от, скажем, вибрации. Батарейка средняя, 48Wh. А так же: fullhd ISP матрица!

Из недостатков разве что nvidia optimus, но мне «дискретное» видео вообще не нужно, отключу сразу.

В общем, неужели я нашёл идеал?

UP: экран мерцает, юзеры жалуются на брак и на мягкую верхнюю крышку. Думаю откажусь от покупки

true_admin
()

временный тихий режим

Форум — Mobile

Я часто забываю восстановить громкость звонка после того как поставил её в ноль, скажем, на совещании. В результате потом пропускаю звонки. Можно ли какой-нить софтиной выставить «тихий режим - 1час!» ? Вернее, кто что порекомендует для этого?

OS: android 4.1 (cm10), трубка sgs2

true_admin
()

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