воскресенье, 21 июня 2015 г.

rsync начало...

Пытаюсь открыть для себя rsync для скачивания дерева дистрибутива...

Узнать с помощью rsync какие доступны дерева можно так:
rsync -n -vv ftp.slackware.com::
Узнать наличие и расположение директорий можно выбрав одно из дерев:
rsync -n -vv ftp.slackware.com::slackware
Скачать можно так:
rsync --stats --progress -z -vv  ftp.slackware.com::slackware/slackware64-current ~/slackware-current-x86_64
Если есть надобность исключить какие-то ветки из синхронизации, то можно добавить опцию --filter ': my-filter', где my-filter текстовый файл вида:
- source/
- pasture/source/
- testing/source/
+ */
где '-' не синхронизировать, '+'  - синхронизируя с удалённой директорий, скачивать еще недоступное на локальной. Символ косой черты тоже обязателен, если хотите чтобы rsync работал с вложенными директориями. Без двоеточия и пробела, --filter будет восприниматься прямыми правилами, вроде тех, которые процитированы выше. Но тогда опция --filter будет такой:
--filter='- source/' \ --filter '- pasture/source/' \ --filter '- testing/source/'
Пробел между знаком - и именем маски игнорируемого имени, - обязателен; допустимы и символы уточняющие условия поиска: *,?,! . А сами правила ОБЯЗАТЕЛЬНО должны быть взяты в одинарные кавычки. И ВАЖНЕЙШЕЕ ПРАВИЛО: ОДИН --filter - ОДНО ПРАВИЛО. Мне это было трудно усвоить :)

Можно использовать опцию --example и --example-file для установки только разрешённых веток дерева.

В целом команда, к примеру, скачивания дистрибутива Slackware-current будет такой:
rsync -Pavv rsync://mirror.yandex.ru/slackware/slackware64-current/ --filter='- source/' --filter '- pasture/source/' --filter '- testing/source/' ./slack/'
Ссылки:
Правила опции filter для rsync (англ)
https://forums.gentoo.org/viewtopic-t-703508-start-0.html

Ярлыки:

пятница, 19 июня 2015 г.

proftpd. Очень удобный фтп-сервер для вашей ос.

Собственно proftpd даёт возможность для организации разных фтп для разных пользователей, со своими аккаунтами:

Вот мой /etc/proftpd/proftpd.conf где я попытался описать более-менее опции:
ServerName        "DebianFTP"
ServerType        standalone
DeferWelcome        on
MultilineRFC2228    on
DefaultServer        on
ShowSymlinks        on
Port        21

# Любые параметры дисконнекта или приветствия, могут быть как общими, в данном месте, так и в разделе описаний пользователей ФТП
TimeoutNoTransfer    300
TimeoutStalled        300
TimeoutIdle        2200
MaxClients        10    "Sorry, max %m users -- try again later"
DisplayLogin        welcome.msg
DisplayChdir        .message true
ListOptions        "-l"
MaxStoreFileSize    1 Gb
MaxRetrieveFileSize    1 Gb
umask            022    022
AllowOverwrite        on
# Крайне важные опции, предотвращающие использования уровня root поверх ftp-сервера
DefaultRoot         ~
RootLogin        off
MaxInstances        30
MaxLoginAttempts    3

# Пользователь и группа от имени которых запускается сервер
User                nobody
Group                nogroup


# Далее идут пользовательские лимиты.
# FTP зарегистрированного логина в системе.
<limit LOGIN>
    AllowALL
</limit>

# Логи
TransferLog    /var/log/proftpd/xferlog
SystemLog    /var/log/proftpd/proftpd.log

<anonymous ~ftp>

# общие лимиты anonymous
  <limit WRITE READ>
    AllowALL
  </limit>
  <limit DELE>
    DenyALL
  </limit>

# Пользователь и группа anonymous
User                ftp
Group                nogroup

# Псевдоним anonymous
UserAlias        anonymous ftp

DirFakeUser on ftp
DirFakeGroup   on ftp
RequireValidShell       off
MaxClients          10 "Sorry, max %m users -- try again later"
DisplayLogin            welcome.msg
DisplayChdir               .message

# Запрет на работу anonymous с корнем фтп
  <directory *>
    <limit WRITE>
      DenyALL
    </limit>
#    <limit STOR>
#      DenyALL
#    </limit>
  </directory>
# В описании любого пользователя можно задать директории с иными правами записи/чтения, нежели у родительской директории
  <directory pub/*>
    <limit READ>
      AllowALL
    </limit>
    <limit WRITE>
      AllowALL
    </limit>
    <limit DELE>
      AllowALL
    </limit>
  </directory>
</anonymous>
Заремаркерованный STOR распространяет лимиты на все вложенные директории, потому команда Limit STOR для корня, прямо противоречит такой-же опции для директории pub.

Ярлыки: ,

суббота, 6 июня 2015 г.

Системные названия клавиш...

Иногда возникает нужда как называются клавиши вашей клавиатуры с точки зрения системы, дисплейного или оконного менеджера. Для того, чтобы узнать, можно воспользоваться такой строкой в терминале:
xev | grep -A2 --line-buffered '^KeyRelease' | sed -n '/keycode /s/^.*keycode \([0-9]*\).* (.*, \(.*\)).*$/\1 \2/p'

Источник: форум поддержки Elementary-OS: Смена раскладки клавиатуры