4/05/2009

Байки о Линусе Торвальдсе

Линус Торвальдс настолько суров, что:

  • Первое слово Линуса Торвальдса было : “syscalls“.
  • Когда Линус Торвальдс входит в комнату все компьютеры с Windows моментально выпадают в segfaults.
  • Линус Торвальдс может запустить “emerge –update world“, и весь мир будет действительно обновлён!
  • Линус Торвальдс не нуждается в бэкапах, он просто аплоадит файлы и зеркалирует их по всему миру.
  • Линус Торвальдс занимается сёрфингом в Интернете не используя ничего, кроме netcat.
  • Линус Торвальдс сделал красную таблетку.
  • Линус Торвальдс может играть в 3D игры в голове, путем интерпретации исходного кода в режиме реального времени.
  • Линус Торвальдс может взглянуть на ваш рабочий стол и узнать порно сайты, которые вы посетили за последние десять лет.
  • Билл Гейтс бросил университет, чтобы основать Micro$офт. Стив Джобс продал свой Wolkswagen, чтобы создать Apple. Линус Торвальдс создал новую тему на форуме и положил файлы на FTP-сервер.

4/02/2009



Gmailfs - это виртуальная файловая система позволяющая пользователям монтировать и использовать дисковое пространство, предоставляемое им с почтовым ящиком от Gmail. На данный момент это приблизительно 8 Гигабайта в ваше личное пользование. Конечно, скорость работы меньше чем с локальными разделами. Главным же преимуществом есть возможность доступа с любой точки земного шара, имеющей выход в Интернет.

Установка.

Здесь я рассматриваю установку программы в Debian Etch. Все должно работать и в последних версиях (Edgy и Feisty, Interpid) Ubuntu/Kubuntu.
Бинарные пакеты для других популярных дистрибутивов тоже существуют. Проверьте с помощью менеджера пакетов вашей системы.
Для работы программы в системе должен быть установлен Python версии 2.3 или позже. Также ядро должно быть собрано с поддержкой fuse. В последних версиях ядра он включен по умолчанию. Если в ядро вашего дистрибутива этот модуль не включен, соберите и установите его как описано здесь.

Собственно установка:

$ sudo apt-get install gmailfs

Проверяем, загружен ли модуль fuse (у меня не был):

$ lsmod | grep fuse

Если команда выдает что-нибудь наподобие:

fuse 48944 0

все замечательно, следующий шаг можно пропустить, иначе
подгружаем модуль fuse:

$ sudo modprobe fuse

Модуль должен подгрузиться. Можете проверить опять.

Теперь можно приступить и к знакомой работе, связанной с монтированием.

Монтирование.

Создаем точку монтирования:

$ sudo mkdir -p /mnt/gmail

Монтировать как всегда можно вручную (после перезагрузки все теряется) и прописав опции монтирования в файле /etc/fstab. Все зависит от частоты перезагрузки вашего компьютера и частоты пользования данной утилитой. Рассмотрим оба варианта.

Монтирование вручную:

Наберите в терминале следующее:
$ sudo mount -t gmailfs none /mnt/gmail -o username=account_name@gmail.com,password=password,fsname=xxx
Ignored option :rw

Вставьте соответственно имя своего аккаунта и пароль. Также введите что-нибудь пооригинальней в пункте fsname (вроде пароля).

Для проверки скопируйте файл в созданную директорию и проверьте ее содержимое (только под пользователем root).

$su
#cd /mnt/gmail/
#mc (копируем файлы в папку /mnt/gmail)
#ls
1.png 2.png 3.png 4.png

Закончив работу, отмонтируем:

#umount /mnt/gmail

Монтируем с записью в /etc/fstab/:

Открываем упомянутый файл:

$ sudo nano /etc/fstab

и вносим в него опции монтирования:

/usr/share/pycentral/gmailfs/site-packages/gmailfs.py /mnt/gmail gmailfs username=account_name@gmail.com,password=password,fsname=xxx

Сохраняем изменения и монтируем:

$sudo mount /mnt/gmail

Виртуальная файловая система смонтирована и готова к работе.

В качестве альтернативы все данные (имя, пароль и fsname) можно занести в файл /etc/gmailfs/gmailfs.conf и после этого монтировать без них.

Теперь несколько слов о проблемах:

1. При копировании файла на gmail-disc на ящик приходит 3 письма с такими заголовками:
"v=3 r=1137456558 q=__g__gmail__h__ "

Я эту проблему решил с помощью настройки фильтров на аккаунте gmail и в почтовой программе. В качестве параметра для фильтрования можно задать величину q=__g__123123__h__, где 123123 ваш fsname.


2. Работать можно только от пользователя root
От имени обычного пользователя зайти в примонтированную папку не получается. При попытке просмотреть права доступа выдает следующее:

serhiy@debian:/mnt$ ls -l
итого 6
?--------- ? ? ? ? ? gmail

Пока не знаю как с этим бороться. Добавление пользователя в группу fuse не помогло. Может, кто-нибудь сталкивался?

Монтировать нужно от имени обычного пользователя, а размонтировать с помощью sudo:

serhiy@debian:/mnt$ mount /mnt/gmail/
serhiy@debian:/mnt$ cd gmail/
serhiy@debian:/mnt/gmail$ ls
1.png 2.png 3.png 4.png IMG_0001.JPG
serhiy@debian:/mnt/gmail$ umount /mnt/gmail
serhiy@debian:/mnt/gmail$ cd ..
serhiy@debian:/mnt$ umount /mnt/gmail
umount: /mnt/gmail mount disagrees with the fstab
serhiy@debian:/mnt$ sudo umount /mnt/gmail/
serhiy@debian:/mnt$
Может это выглядит и не очень красиво, но зато работать можно от имени обычного пользователя. В целом, меня все устраивает.

Пока же буду работать только от имени суперпользователя.