Рабочий пример записи в fstab для unionfs-fuse

unionfs-fuse#/media/disk1=rw:/media/disk2=rw /media/unionfs_disk fuse allow_other,nobootwait 0 0

allow_other необходим, чтобы кто-то кроме root мог пользоваться смонтированной unionfs-fuse директорией.

Очень понравился сервис генерации картинок из текста, хотя он и без наворотов. Запишу его сюда, чтобы не забыть.
http://www.email2image.com/Convert-Email-to-Image.aspx

 

Все приборы врут,
Все, кто с нами - умрут.
Кольцевые дороги
Никуда не ведут.

[ ]
 

Поскольку sed не использует регулярные выражения, а вместо регулярных выражений использует морально устаревшее, труднообъяснимое, мало понятное непойми что, мы его заменим конструкцией

perl -0777pe 's/search/replace/g' -i filename

Где

-0777 - символ, использующийся в качестве построчного разделителя вместо стандартного \n (значения от 0400 и выше заставят perl обработать сразу весь файл целиком в один заход, но 0777 является общепринятым соглашением для этой цели).
-p - встраивает вводимый вами код на perl в "печатающий цикл", который будет обрабатывать stdin построчно.
-e - Позволяет передать исполняемый код в качестве аргумента, а не файла.
-i - Заменяет строки указанного входного файла на результаты вывода perl.

Живой работающий пример:

perl -0777pe 's#(\s+else[\s]+)cnf="\$1/openssl.cnf"(\s+fi)#$1cnf="\$1/openssl-1\.0\.0\.cnf"$2#g' -i /etc/openvpn/easy-rsa/2.0/whichopensslcnf

Пользителка (пользявка) для .bashrc

greplace()
{
  perl -0777pe "$1" -i $2
}

Или, что еще удобней и безопасней (-i надо добавлять вручную, чтоб заменило, а без -i в stdout для отладки выводить будет просто):

greplace()
{
  perl -0777pe "$1" $2 $3
}

А теперь заменим все "echo" внутри файла filename на адрес нашего айпишника, который выдаст нам curl из своего stdout (при условии, что сервис по адресу http://myip.dnsomatic.com доступен и работает исправно, чего я гарантировать не могу).

greplace 's/echo/'`curl -s http://myip.dnsomatic.com`'/g' -i filename

На случай, если http://myip.dnsomatic.com или какая-либо другая команда, будет возвращать данные с пробелами или символом ", обернём `curl -s http://myip.dnsomatic.com` в "".

greplace 's/echo/'"`curl -s http://myip.dnsomatic.com`"'/g' -i filename

И ещё можно вынести за скобки s

greplace()
{
  perl -0777pe s"$1" $2 $3
}

и писать вот так

greplace /search/replace/g filename

Правда без использования кавычек \ придётся экранировать: \\

greplace /\\s+/_/g filename

Спасибо всем этим прекрасным людям, лучшим сынам своего отечества, без которых этот пост был бы невозможен:
http://stackoverflow.com/questions/3365260/match-and-replace-multiple-newlines-with-a-sed-or-perl-one-liner
http://stackoverflow.com/questions/6302025/perl-flags-pe-pi-p-w-d-i-t
http://perldoc.perl.org/perlrun.html#Command-Switches

SHOW DATABASES

SELECT * FROM pg_database

SHOW TABLES

SELECT * FROM information_schema.tables

SHOW COLUMNS

SELECT * FROM information_schema.columns WHERE table_name ='table'

Спасибо Artem Nosulchik, копия его поста ниже:

PostgreSQL is one of the best database engines for an average web project and many who moves to psql from mysql (for example) often ask the following questions: what is the analog of “show tables” in postgres? or how can I get the list of databases in postgres like “show databases” in mysql? The answers are short:

mysql: SHOW TABLES
postgresql: \d
postgresql: SELECT table_name FROM information_schema.tables WHERE table_schema = 'public';

mysql: SHOW DATABASES
postgresql: \l
postgresql: SELECT datname FROM pg_database;

mysql: SHOW COLUMNS
postgresql: \d table
postgresql: SELECT column_name FROM information_schema.columns WHERE table_name ='table';

mysql: DESCRIBE TABLE
postgresql: \d+ table
postgresql: SELECT column_name FROM information_schema.columns WHERE table_name ='table';

[ ]
 

Чтобы закрыть доступ к внешнему интернету, необходимо зайти на страницу
127.0.0.1:7657/i2ptunnelmgr
И в свойствах I2P HTTP Proxy и I2P HTTPS Proxy убрать значения "outproxy".
В моём случае это были "false.i2p" и "outproxyng.h2ik.i2p" соответственно.
После чего необходимо перезапустить роутер и дождаться инициализации туннелей.

To close external internet access provided through outproxies:
1. go to 127.0.0.1:7657/i2ptunnelmgr
2. delete "outproxy" value from "I2P HTTP Proxy" and "I2P HTTPS Proxy"
3. restart the i2p router and wait for tunnels initialization

[ ]
 
linuxuser@linux:~$ psql
admin=> CREATE ROLE username LOGIN PASSWORD 'password';
admin=> CREATE DATABASE databasename;
admin=> GRANT username TO admin
admin=> ALTER DATABASE databasename OWNER TO username;
admin=> \q

СМЕНА postgres=# на postgres-# должна вызвать ПАДАЗРЕНИЕ что ты забыл поставить ';' и эта сука теперь ждёт пока ты введёшь ещё 10 команд, чтобы потом выкатить претензии, всё похерить и обосрать.

Важно помнить, что psql это программа из которой можно выйти только набрав \q (exit/quit/Ctrl+C не работают). Это явный признак, что её писал неуравновешенный шизоид, поэтому следует быть начеку.

[ ]
 

Задание выполнил успешно. Рекомендую.

Шифровать надо всё, потому что если шифровать не всё, то зашифрованное привлекает внимание.

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