Задать вопрос
  • Сталкивался ли кто-нибудь с проблемой перезапуска nginx?

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    Теги: start-stop-daemon, говно.

    Мы эту проблему решали добавлением kill -9 в конце init-скрипта nginx-а, если он сам не сдохнет за сколько то секунд.

    start-stop-daemon возвращает, что всё ок, но в реальности nginx ещё не закрыл все соединения (и не убил процессы).
    Ответ написан
    4 комментария
  • Бесшумный вентилятор для корпуса

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
  • Сайт не открывается в хост-системе

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    В качестве IP хоста (третий столбец) нужно указать 127.0.0.1
    Ответ написан
    Комментировать
  • Как обстоят дела с "Роскомнадзором" на западе?

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    Там всё очень просто. Есть сайт, нарушает законодательство, сайт закрывают (через хостера, через разделегирование домена или ещё как). Если сайт нарушает законы ЕС, но создан резидентом законодательства, в котором такого закона нет (и хостится там, где такого закона нет) - се ля ви, в интернете границ нет.
    Ничего нигде не блокируется на принудительной основе.

    Есть добровольно-принудительные (в смысле, они по дефолту включены всем новым пользователям) фильтры у отдельных провайдеров в отдельных странах (в Великобритании, например, эта тема активно мусолится), но все провайдеры обязаны предоставить пользователю кнопку "да-да, у меня крепкая психика, я хочу смотреть порнографию, детей сюда не пущу".

    Наша страна пошла по пути тоталитарных государств, где властьимущим можно всё и им за это ничего не будет. Ну и тотальная слежка за всеми не за горами.
    Ответ написан
    4 комментария
  • Какая хостинговая компания имеет самую лучшую службу поддержки?

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    Как ни странно, hetzner.
    Письмо "сервер недоступен, после ребута не работает тоже" -> заменное железо. И так уже раз 20 на моей жизни, никаких лишних вопросов.

    С дисками аналогично - тикет на замену, логи из которых явно видно, что диску плохо -> другой диск. По срокам - час-два в рабочее время. Серьёзные поломки (вроде БП) - и в ночное тоже.

    И да - не используйте аппаратные контроллеры.
    Ответ написан
    Комментировать
  • Как вернуть новый интерфейс Google?

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    Гугл запиннил новый интерфейс для определенных юзер-агентов.

    Притворяйтесь последним стабильным хромом.
    Ответ написан
    Комментировать
  • Существует ли скрипт делающий из Debian (например LAMP) minimal редакцию?

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    На всякий случай для тех, кто ещё будет пользоваться этим решением:
    Внимательно смотрите за тем, что удаляете!
    Список этих пакетов (длинный список в первой команде - список пакетов, которые удалять не нужно через | ) меняется от версии к версии Дебиана/Убунты и зависит от того, под чем запущен пингвин (на железке/в KVM/Xen/openvz/chroot). Перед использованием первой команды нужно получить список пакетов на дебиане той же версии с установленным openssh-server в виртуалбоксе или ещё чем-то похожем.

    Для debian squeeze как то так:
    apt-get purge $(dpkg -l | awk '/ii / {print $2}' | egrep -vi '(adduser|anacron|apt|apt-utils|aptitude|base-files|base-passwd|bash|bind9|bind9-host|bind9utils|binutils|bsdmainutils|bsdutils|bzip2|ca-certificates|cifs-utils|console-common|console-data|console-tools|console-tools-dev|coreutils|cpio|cpp|cpp-4.4|cracklib-runtime|cron|dash|db4.8-util|debconf|debconf-i18n|debconf-utils|debian-archive-keyring|debianutils|defoma|dhcp3-client|dhcp3-common|diff|diffutils|dmsetup|dpkg|dselect|e2fslibs|e2fsprogs|ed|exim4|exim4-base|exim4-config|exim4-daemon-light|expat|fetchmail|file|findutils|finger|fontconfig|fontconfig-config|ftp|gawk|gcc-4.4-base|gettext|gettext-base|gnupg|gpgv|grep|groff-base|gzip|heirloom-mailx|hostname|htop|ifupdown|info|initramfs-tools|initscripts|insserv|install-info|iproute|iptables|iputils-arping|iputils-ping|iputils-tracepath|isc-dhcp-client|isc-dhcp-common|klibc-utils|klogd|ldap-utils|less|libacl1|libapr1|libaprutil1|libaprutil1-dbd-sqlite3|libaprutil1-ldap|libattr1|libavahi-client3|libavahi-common-data|libavahi-common3|libbind9-60|libblkid1|libboost-iostreams1.42.0|libbsd0|libbz2-1.0|libc-bin|libc6|libcap2|libck-connector0|libcomerr2|libconsole|libcrack2|libcroco3|libcups2|libcwidget3|libdb1-compat|libdb4.7|libdb4.8|libdbus-1-3|libdevmapper1.02.1|libdns69|libedit2|libept1|libexpat1|libfile-copy-recursive-perl|libfontconfig1|libfreetype6|libgcc1|libgcrypt11|libgdbm3|libgeoip1|libglib2.0-0|libgmp3c2|libgnutls26|libgomp1|libgpg-error0|libgpm2|libgssapi-krb5-2|libidn11|libisc62|libisccc60|libisccfg62|libk5crypto3|libkeyutils1|libklibc|libkrb5-3|libkrb5support0|libldap-2.4-2|liblocale-gettext-perl|liblockfile1|libltdl7|liblwres60|liblzma2|libmagic1|libmpfr4|libncurses5|libncursesw5|libnewt0.52|libnfnetlink0|libnl1|libpam-ck-connector|libpam-foreground|libpam-modules|libpam-runtime|libpam0g|libpaper1|libpcap0.8|libpcre3|libperl5.10|libpopt0|libreadline6|libsasl2-2|libselinux1|libsensors4|libsepol1|libsigc++-2.0-0c2a|libslang2|libsnmp-base|libsnmp15|libsqlite3-0|libss2|libssl0.9.8|libstdc++6|libsysfs2|libtalloc2|libtasn1-3|libtext-charwidth-perl|libtext-iconv-perl|libtext-wrapi18n-perl|libudev0|libunistring0|libusb-0.1-4|libuuid1|libwbclient0|libwrap0|libxapian22|libxml2|locales|lockfile-progs|login|logrotate|lsb-base|lsb-release|lsof|lynx|lynx-cur|lzma|m4|make|makedev|man-db|manpages|memtester|mime-support|mktemp|mlocate|module-init-tools|mount|mtools|nano|ncurses-base|ncurses-bin|ncurses-term|net-tools|netbase|odbcinst|odbcinst1debian2|openssh-blacklist|openssh-client|openssh-server|openssl|openssl-blacklist|passwd|perl|perl-base|perl-modules|portmap|procinfo|procmail|procps|psmisc|psutils|pwgen|python|python-minimal|python-support|python2.6|python2.6-minimal|quota|readline-common|rsync|samba|samba-common|sasl2-bin|screen|sed|sendmail-base|sendmail-cf|sendmail-doc|sensible-utils|sharutils|smbfs|snmp|ssl-cert|sudo|sysklogd|syslinux|syslinux-common|sysv-rc|sysvinit|sysvinit-utils|tar|tcpd|tcpdump|tcsh|telnet|tofrodos|traceroute|ttf-dejavu|ttf-dejavu-core|ttf-dejavu-extra|ttf-freefont|tzdata|ucf|udev|unixodbc|unzip|update-inetd|util-linux|uuid-runtime|vim|vim-common|vim-runtime|wget|whiptail|whois|wide-dhcpv6-client|xinetd|xz-utils|zlib1g|linux)' | tr "\r\n" " ")


    (ахтунг, не тестил).

    Список базовых пакетов нужно сначала получить на чистой машине (с уже установленным openssh-server):
    dpkg -l | awk '{print $2}' | egrep -v '(Status|Err|Name) |  tr "\r\n" " " | sed 's/ /|/g'


    Думать лень с утра, так что написал по быдляцки команды, но обе работают. Только внимательно смотрите, что там удаляется, у меня на wheezy оно собралось сносить apt, хотя на squeeze не пыталось.

    Ну и да, конкретно этот список я снимал с openvz-виртуалки, для KVM/Xen/baremetall список другим будет.
    Ответ написан
    Комментировать
  • Шифрование текста PHP

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    Есть вполне себе готовая реализация на javascript для Chrome - https://code.google.com/p/javascript-experiments/
    Оттуда можно взять все алгоритмы. Да и так же на JS реализовать, чтобы на сервер не передавался ключ для расшифровки.
    Ответ написан
    Комментировать
  • Минимальная температура процессора во время простоя 4 - 7°С это нормально?

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    Ну вообще большинство CPU способно работать при своей температуре от -20 до +120 по цельсию. В районе сотни их обычно вырубает автоматика, разве что.

    Если не опускается ниже нуля и вы не собираетесь машину часто держать выключенной - можно только радоваться. И да, моделью кулера поделитесь) У меня даже гидра на полной мощности такого не выдавала на low-voltage процессорах.

    Само собой, всё это при условии, что температура снимается правильно, а не датчики глючат.
    Ответ написан
  • Оплата на фрилансим.ру. Теперь 300 рублей?

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    Не 100 рублей за объявление, а 300 рублей в месяц за неограниченное кол-во объявлений.
    Ответ написан
    Комментировать
  • Как сделать «фоновый» парсинг?

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    Крон и есть самый правильный метод.
    Ответ написан
    Комментировать
  • Raid1 + lvm (восстановление зеркала)

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    "Почти" не считается. Диск должен был быть ровно такого размера или больше.

    Лучше пустите сисадмина в rescue-mode, пусть кто-то опытный восстановит. Сейчас шанс потерять все данные огромный.
    Ответ написан
  • Кроссплатформенный ЯП для простых программ?

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    Я бы порекомендовал тоже Python, но программирование в нём под разные оси всё же отличается. Под POSIX писать удобно и весело, все интерфейсы стандартны, а вот под винду - печально.
    Ответ написан
  • Почему "load average" не соответствует загрузке процессора?

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    У вас диск умер, скорее всего.
    Много раз уже обсуждалось, в том числе и на тостере в несколько топиков я лично отвечал.

    load average (высокий) больше не о реальной нагрузке на проц, а о процессах в D-state (это "залипшие" из-за диска или сети процессы). С учетом того, что случилось после ребута - тут явно диск, который очень тупит и bios при загрузке не успевает его инициализировать.

    Возможно, так же, проблемы с дисковым контроллером.
    Ответ написан
    Комментировать
  • Нужно ли хорошо знать математику, чтобы стать программистом? (в частности PHP разработчиком)

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    Нет, не нужно, если не собираетесь решать каких-либо специфических задач (физика игр, математические задачи, бухгалтерские задачи и прочее). Но в таком случае это называется "знанием матчасти программы" - там может в зависимости от программы понадобиться знания от того, что такое циклон, до устройства атомного реактора в совершенстве.

    Примитивную математику знать нужно, само собой.
    Ответ написан
    Комментировать
  • Linux очередь исполнение php файлов

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    Если просто из консоли, то:
    for i in {1..100}; do php file.php; done
    Ответ написан
    Комментировать
  • Вопросы про MESH Wi-Fi

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    > Несмотря на криптоанархические идеи, мне кажется, что выполнение хотя бы параллельно
    Если вкратце, в России это никому не выгодно. А энтузиастов нет. Да и государство будет ставить палки в колеса таким энтузиастам.

    В Ирландии уже есть деревушки, которые покрыты MESH-сетями с одним аплинком оптикой или спутником от провайдера вышестоящего, например.

    > про cjdns от любителей i2p
    cjdns сама является оверлейной. При том нет необходимости запускать внутри неё i2p - трафик всё равно зашифрован от любого хоста к любому хосту и никто не может прочитать его по дороге.

    Критика там в основном из-за того, что Hyperboria не является анонимной (есть статические адреса, можно найти с кем эти адреса пирятся и по цепочке найти человека физически, если есть ресурсы и все в цепочке окажутся сговорчивыми). Создатель пытается при помощи cjdns заменить существующий интернет и зашифровать весь трафик в нем, но не сделать всех анонимами в масках. Впрочем, это не отменяет того, что TOR и i2p тоже не особенно анонимны местами. Тем более, когда мало пользователей.
    Ответ написан
  • Так ли я настроил SPF

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    Нет, неправильно.
    Вы создали запись, которая "перенаправляет" SPF запись с вашего домена на ваш домен. Что, в общем-то, чушь.
    Ну и ещё кавычки забыли, но это я уже сразу про конфиги dns-сервера думаю, в веб-морде хостера кавычки могут и не требоваться.

    Правильная SPF запись для вашего случая должна выглядеть как-то так:
    @ IN TXT "v=spf1 ip4:10.0.0.0 a mx ~all"

    ip4:10.0.0.0 - здесь указываете ipv4-адрес сервера, с которого отправляете почту домена (есть и ip6;... директива, если что)
    a - указываем на то, что серверу, на который указывает А-запись домена, можно слать почту с этого домена.
    mx - указываем, что серверы, на которые указывают mx-записи домена, могут слать почту с этого домена.

    Соответственно, если вы шлете почту с того же сервера, где у вас работает сам сайт или его почта, будет достаточно такой записи:
    @ IN TXT "v=spf1 a mx ~all"

    Кавычки в конфиге bind9 должны быть обязательно, про кавычки в вебморде уточняйте у хостера/регистратора/где вы там вносите dns-записи.
    Ответ написан
    Комментировать
  • VPS XEN. Как спрятать демон от админов?

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    Вообще лучше бы свалить к другому хостеру =) Который не страдает такой фигней.

    А по сабжу - проверить, что админы не имеют доступа к машине (нет лишних ssh-ключей, сменен пароль). Убрать прокси за iptables.
    Ну и проверить, что у вас вообще Xen, а не openvz. Снаружи виртуалки Xen админ не должен видеть, что у вас в ней запущено. Только по ssh/сканированием по сети.

    Впрочем, это не отменяет того, что администратор VPS всегда может выключить вашу виртуалку и получить доступ к её файлам. А на чтение - так и вообще без выключения.
    Ответ написан
    Комментировать
  • Как написть реврайты nginx

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    Мхм. Ну у вас слишком пространный вопрос.

    Вообще так:
    location =/index.php {
    proxy_pass http://гдеувастамphpкрутится
    ...
    остальные_параметры_proxy
    }
    
    location / { 
    rewrite ^/(.*) /index.php?tag=$1 last; 
    }

    Но оно как-то должно с другим сочетаться. Ту же статику нужно не забыть описать отдельным location. А если у вас не все запросы должны заруливаться в tag= - то и это нужно учесть. И здесь не учтено то, что URI может быть вида /bla/bla/bal (оно приедет в виде tag=bla/bla/bla)

    В общем, советую уточнить вопрос и написать, что вам нужно целиком. А то понапишут вам тут сейчас =)
    Ответ написан
    Комментировать