вторник, 28 июня 2011 г.

Как расшарить Интернет по Wi-Fi

Исходное состояние: витая пара приходит на одну машину (eth0), а Интернет нужен на многих. Из бесконечного количества всевозможных вариантов описываю наиболее очевидный - через коррекцию пакетов посредством штатных средств iptables.
  1. Настраиваем раздающую машину на лирический лад:
    • sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
      
    • sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
    • расскомментируем строку net.ipv4.ip_forward=1 в /etc/sysctl.conf
    • перезагрузим сетевые соединения sudo /etc/init.d/networking restart
  2. Настраиваем клиентскую машину посылать пакеты туда, куда нужно:
    • Прописываем шлюз по-умолчанию:
      sudo route add default gw 192.168.100.1
      
      последний - ip address head machine WiFi card
    • Прописываем DNS по-умолчанию:
      sudo sh -c "echo 'nameserver 8.8.8.8' >> /etc/resolv.conf"
      
      При желании и знании 8.8.8.8 (Google DNS) следует заменить на адрес вашего локального.
  3. Проверяем работоспособность!
  4. Пьём воду, чай, кофе, пиво или водку и радуемся жизни и жизни в Интернете!

воскресенье, 9 января 2011 г.

Создание csv файлов через MySQL

_mysql_exceptions.InternalError: (1, "Can't create/write to file '/home/antony/job/join/result.csv' (Errcode: 13)")
Основной загвоздкой стало, что по умолчанию пользователю MySQL не дано права записи и чтения файлов и урезано право записи в файловую систему. Первое решается через 
GRANT FILE ... для нужного пользователя.
Второе - сложнее в 4 ступени:

  1. Указать директорию с правом на запись для MySQL:  sudo gedit /etc/apparmor.d/usr.sbin.mysqld;
  2. Добавить строку с нужным каталогом: /<path/to/output/directory>/* w,;
  3. Перезапустить MySQLd: sudo service mysql restart;
  4. Сменить права директории, чтобы у пользователя mysql было право записи.
Теперь Мускул может писать файлы в указанную вами директорию.