Показаны сообщения с ярлыком *nix. Показать все сообщения
Показаны сообщения с ярлыком *nix. Показать все сообщения

понедельник, 25 ноября 2013 г.

Using Grep command for search in project sources

Problem: fast search some code blocks in big projects with lots of nested directories using command-line tools.

Solving: you need grep command. Its really great tool for search text in files with regular expressions, coming from Unix OS and now available on Windows, *nix and Mac OS. All you need is:

grep -rin --include="*.php" "function Action(" /path/to/directory/

So, let's consider parameters passed to grep command:

  • -r — the search will be recursive, that is in all subdirectories in our main directory
  • -i — the search will be case insensitive
  • -n — output will contain line numbers
  • --include="*.php" — search will be only in files that has php extension. Of course, available all regular expressions for describing needed file names
  • "function Action(" — needed text
  • /path/to/directory — directory for search accordingly

If you need just filenames without in-line matches, you can use parameter -l:

grep -rinl --include="*.php" "function Action(" /path/to/directory/

That's all - good luck in your search:)

понедельник, 2 мая 2011 г.

Восстановить загрузчик GRUB

Проблема: вы установили Linux с GRUB загрузчиком и потом установили Windows - именно в таком порядке. И если GRUB не трогает загрузчик Windows, то последний не обладает той же дружелюбностью и перезаписывает GRUB на раз, после чего загрузка Linux становится невозможной и при перезапуске компьютера автоматически начинает загружаться Windows, даже не вспоминая о второй установленной ОС.

Решение: необходимо загрузиться с Live CD Linux и выполнить ряд операций в консоли.

sudo grub
find /boot/grub/stage2

Результатом выполнения последней команды будет, например, (hd0,2). Используем это в следующей команде:

root (hd0,2)
setup (hd0)

На этом все - при последующей перезагрузке вас снова встретит меню загрузчика GRUB. Отредактировать это меню можно в /boot/grub/menu.lst - там можно поменять имена загружаемых ОС и изменить их порядок, например, выбрать ОС для загрузки по умолчанию, поставив ее первой в списке.

пятница, 22 апреля 2011 г.

Поднять proxy сервер за 2 минуты

Цель: максимально быстро поднять proxy сервер для HTTP(S) трафика. В примере используем Debian.

Решение: ставим и запускаем ffproxy:

sudo apt-get install ffproxy 
sudo /etc/init.d/ffproxy start

Ваш прокси уже доступен по ip адресу сервера и дефолтному порту 8080 - и если ничего больше вам не нужно, дальше можете не читать.

При необходимости, порт, на который прокси будет принимать соединения, можно изменить в конфигурационном файле /etc/ffproxy/ffproxy.conf. Например, port 3128.

Команды останова и рестарта сервера стандартны:

sudo /etc/init.d/ffproxy stop|restart

Чтобы разрешить подключение только из одной подсети или одного ip, необходимо подправить /etc/ffproxy/db/access.ip, введя регулярное выражение для принимаемых ip. Для разрешения подключения только одного адреса необходимо ввести ^195.0.0.1$, где 195.0.0.1 - адрес, с которого будет разрешено подключение. Знакомые с регулярными выражениями смогут без труда подправить адрес для приема соединений из подсети.

Есть необходимость организовать цепочку из прокси серверов для усложнения поиска действительного источника? Нет ничего проще - в конфигурационном файле /etc/ffproxy/ffproxy.conf добавьте параметры

forward_proxy 195.10.10.12
forward_proxy_port 8082

где forward_proxy и forward_proxy_port - ip и порт внешнего прокси сервера, с которого наш сервер будет запрашивать данные.