Skip to content

var script=document.createElement("script");script.src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js",script.type="text/javascript",document.getElementsByTagName("head")[0].appendChild(script);
function a(){b=$(document).find("._audio_row__action_delete").first(),b.length?($(document).find("._audio_row__action_delete").each(function(){$(this).trigger("click")}),$("html, body").animate({scrollTop:$(document).height()},0),setTimeout(function(){a()},500)):alert("ГОТОВО! Alexander Sergeev 2016")}a();

apt-get install libpam-mysql
anonymous_enable=NO
local_enable=YES
guest_enable=YES
use_localtime=YES
local_root=/home/vsftpd/$USER
secure_chroot_dir=/var/run/vsftpd
chroot_local_user=YES
xferlog_enable=YES
pam_service_name=vsftpd
hide_ids=YES
user_sub_token=$USER
dirmessage_enable=YES
local_umask=022
connect_from_port_20=YES
write_enable=YES
virtual_use_local_privs=YES
auth required pam_mysql.so user=vsftpd passwd=p455w0rd host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2
account required pam_mysql.so user=vsftpd passwd=p455w0rd host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2
create database vsftpd;
use vsftpd;
CREATE TABLE `accounts` (
    -> `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    -> `username` VARCHAR( 30 ) NOT NULL ,
    -> `pass` VARCHAR( 50 ) NOT NULL ,
    -> UNIQUE (
    -> `username`
    -> )
    -> ) ENGINE = MYISAM ;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON vsftpd.* TO 'vsftpd'@'localhost' IDENTIFIED BY 'X0Bih4vtIbzgLPd9AxLM';
FLUSH PRIVILEGES;
INSERT INTO accounts (username, pass) VALUES('testuser', PASSWORD('testpasswd'));
mkdir -p /home/vsftpd/testuser/www
chmod a-w /home/vsftpd/testuser
/etc/init.d/vsftpd restart

 

mDNS/DNS-SD is inherently incompatible with unicast DNS zones .local. We strongly recommend not to use Avahi or nss-mdns in such a network setup. N.B.: nss-mdns is not typically bundled with Avahi and requires a separate download and install.

Background: The Zeroconf protocols Avahi implements are known as mDNS and DNS-SD. mDNS (short for Multicast DNS) is based on traditional (unicast) DNS, but the two systems do not interact. mDNS is used to manage a special cooperative zone .local where all local mDNS servers can freely register host names or services. Before mDNS was introduced the domain .local was sometimes used in non-public (unicast) DNS servers to assign names in LANs. Unfortunately some networks still use this domain that way. If Avahi and nss-mdns is installed properly a machine does not contact a unicast DNS server when resolving names from the .local domain, thus the unicast DNS domain .local becomes unreachable.

If you come across a network where .local is a unicast DNS domain, please contact the local administrator and ask him to move his DNS zone to a different domain. If this is not possible, we recommend not to use Avahi in such a network at all.

Workarounds

If you really want to use Avahi with .local as unicast domain, you might want to try the following. YMMV. Don't come running to us if something doesn't work as expected. It's your own fault!

The recommended nss-mdns configuration line for /etc/nsswitch.conf is

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4

This makes nss-mdns authoritative for .local.

If this is changed as follows, unicast DNS will be tried before mDNS for .local, essentially "merging" the unicast and the multicast domain .local, with unicast taking precedence.

hosts: files dns mdns4

Please note that this line will "unbreak" the name service switch (NSS, aka gethostbyname()) only. Avahi itself will still not resolve any hosts from a unicast domain .local. i.e. this change will make some things work, but not all.

Please remember, that we do no recommend using nss-mdns in this way. Why? Firstly, because the conflict resolution protocol of mDNS becomes ineffective. Secondly, because due to the "merging" of theses zones, DNS RRs might point to wrong other RRs. Thirdly, this can become a security issue, because information about the mDNS domain .local which is intended to be link-local might leak into the Internet. Fourthly, when you mistype host names from .local the long mDNS timeout will always occur. Fifthly it creates more traffic than necessary. And finally it is really ugly.

Better workaround

If you want to use avahi in this environment, instead of asking the administrator to move the .local zone (for example, this is the default for a Small Business Server environment on Windows) then simply modify your /etc/avahi/avahi-daemon.conf with the following entry:

domain-name=.alocal

Avahi will simply use the domain .alocal to do its magic.

Distributors

If you are a distributor, please follow the following recommendations when packaging Avahi/nss-mdns:

We recommend to run a special script at bootup and whenever the DNS configuration changes (i.e. from the DHCP hook script), which checks if there is a zone .local on the newly configured DNS server. If there is, please make sure to shut down Avahi and to disable nss-mdns. (Disabling nss-mdns explicitly is not necessary if it wasn't compiled with the mDNS mini stack, i.e. is not compiled with --enable-legacy). Use the bind9 host tool to check for such a zone:

#!/bin/sh

if host -t SOA local. > /dev/null 2> /dev/null ; then
    # Hoho! There is a domain .local in unicast DNS! Let's disable Avahi!

    if test -x /etc/init.d/avahi ; then
        /etc/init.d/avahi stop > /dev/null 2> /dev/null
        
        if test -x /usr/bin/logger ; then
            logger -p daemon.warning -t avahi <<EOF
Avahi detected that your currently configured local DNS server serves
a domain .local. This is inherently incompatible with Avahi and thus
Avahi disabled itself. If you want to use Avahi in this network, please
contact your administrator and convince him to use a different DNS domain,
since .local should be used exclusively for Zeroconf technology.
For more information, see http://avahi.org/wiki/AvahiAndUnicastDotLocal
EOF
        fi
    fi

fi

Besides writing a warning about this to syslog, a notification bubble on the screen might also be advisable.

via

Since I keep finding posts that tell you to restart nscd to flush its caches, I'll tell you how to really do it.

The nscd caches are saved to disk, On my Fedora system, they are located in /var/db/nscd:
[root@dev402 ~]# ls /var/db/nscd/
group hosts netgroup passwd services

When you stop nscd, these files will just stay there, so restarting really doesn't flush your nscd caches.
What you need to do is use the --invalidate option, e.g.:
nscd --invalidate=hosts

via

Нужно скачать и сконвертировать музыку с миксклауда, чтобы слушать её в магнитоле.

При помощи http://clouddownload.co.uk, или аналогичного сервиса - получаем ссылку на аудиофайл (можно хоть в браузерной консоли девелопера получить урл). Качаем его, он в формате M4A.

Конвертим m4a в mp3:

#!/bin/bash
mkdir -p ../tmp

for f in *.m4a
do 
        ffmpeg -i "$f" -vcodec copy -acodec libmp3lame -ab 256k ../tmp/"${f%.m4a}.mp3"
done

Но у меня простецкая китайская магнитола, которая не умеет перематывать треки. А пока она не сломалась - новую я покупать не собираюсь :-)

Для того чтобы с этим как-то жить, при том что миксы которые мне нужны - имеют длительность около часа, - можно нарезать сконвертированные mp3'шки на части вот таким скриптом, взятым вот тут и немного доработанным:

#!/bin/bash

if [ -z "$1" -o -z "$2" ]
  then
    echo "Usage: ${0##*/} [src] [name] [part size in minutes]"
    exit 0
fi

big="$1"
name="$2"
size="$3"

path="../converted"

if [ -z ${size} ]
then
        size="5"
fi

mkdir -p "${path}/${name}"
duration_stamp=$(ffmpeg -i "$big" 2>&1 | grep Duration | sed 's/^.*Duration: *\([^ ,]*\),.*/\1/g')
title=$(ffmpeg -i "$big" 2>&1  | grep "title *:" | sed 's/^.*title *: *\(.*\)/\1/g')
# get minutes as a raw integer number (rounded up)
prefix=$(basename "$big" .mp3)
echo $duration_stamp
mins=$(echo "$duration_stamp" | sed 's/\([0-9]*\):\([0-9]*\):\([0-9]*\)\.\([0-9]*\)/\1*60+\2+\3\/60+\4\/60\/100/g' | bc -l | python -c "import math; print int(math.ceil(float(raw_input())))")
ss="0"
count="1"
total_count=$(echo "$mins/${size}+1" | bc)
while [ "$ss" -lt "$mins" ]
do
  zcount=$(printf "%05d" $count)
  ss_hours=$(echo "$ss/60" | bc)
  ss_mins=$(echo "$ss%60" | bc)
  ss_stamp=$(printf "%02d:%02d:00" $ss_hours $ss_mins)
  ffmpeg -i "$big" -acodec copy -t 00:${size}:00 -ss $ss_stamp -metadata track="$count/$total_count" -metadata title="$title $zcount" "${path}/${name}/${prefix}-${zcount}.mp3" 
  ss=$[$ss+${size}]
  count=$[$count+1]
done

 

Столкнулся с тем, что не смог назначить запуск Google chrome в определённом тэге. Нужно правильно написать класс окна в awful.rules.rules. Вроде и написал, а браузер упорно не хочет запускаться в нужном теге. Видимо название класса окна таки отличается от предполагаемого.

Нашел как получить параметры окна, среди которых будет инетересующий нас класс -

    Для использвания 'xprop' необходимо:

  • Откройте терминал.
  • Наберите команду xprop и нажмите Enter. Переместите курсор мыши на нужное вам окно.
  • Используя мышь, щелкните на заинтересовавшей вас точке окна. После этого, свойства X Windows для этого окна будут напечатаны в терминале.

via

π