среда, 12 ноября 2008 г.

Монтирование FTP в файловую систему

CurlFtpFS - это маленькая програмка, которая дает нам прекрасную возможность присоединять папки с фтп серверов без использования графической оболочки.

Features:

* SSLv3 and TLSv1 support
* connecting through tunneling HTTP proxies
* automatically reconnection if the server times out
* transform absolute symlinks to point back into the ftp file system

Програмка базируется на FUSE и libcurl, и доступна в universe-репозитории.

Для установки откроем терминал, и наберем следующие:

sudo apt-get install curlftpfs

Для монтирования ФТП-раздела к примеру в папку /media/ftp набираем в терминале следующие:

curlftpfs ftp://[user]:[passwort]@ftpserver.net /media/ftp

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

Отмонтировать раздел можно привычным umount:
sudo umount /media/ftp

воскресенье, 20 июля 2008 г.

Шифрование всего через SSL

Шифрование отдельного файла
[править] Шифрование

Если нужно зашифровать отдельный файл (к примеру архив или документ) - можно воспользоваться утилитой openssl.

Шифрование файла file будет выглядеть так:

openssl enc -e -aes-256-cbc -k ПАРОЛЬ -in ./file -out ./file.encoded

или так:

cat ./file | openssl enc -e -aes-256-cbc -k ПАРОЛЬ > file.encoded

Параметр -k и пароль можно не указывать, тогда он будет запрошен во время выполнения команды.
[править] Дешифрование

Расшифровать обратно файл можно будет командой:

openssl enc -d -aes-256-cbc -k ПАРОЛЬ -in ./file -out ./file.encoded

(параметр -e меняется на -d) ну или соответственно:

cat ./file.encoded | openssl enc -d -aes-256-cbc -k ПАРОЛЬ > ./file

Параметр -k и пароль можно не указывать, тогда он будет запрошен во время выполнения команды.
[править] Комбинирование (Создание шифрованого архива, разбиение на тома)

Естественно команды можно комбинировать, и к примеру создание архива директории dir со сжатием gzip и шифрованием openssl aes будет выглядеть так:

tar -czf - ./dir | openssl enc -e -aes-256-cbc -k ПАРОЛЬ > archive.tar.gz.encoded

Рашифровываем (в обратном порядке):

openssl enc -d -aes-256-cbc -in ./archive.tar.gz.encoded | tar -xz


Плюс если шифрованный архив надо разбить на куски - добавляем split, все ограничивается только вашей фантазией :)

tar -czf - ./dir | openssl enc -e -aes-256-cbc -k ПАРОЛЬ | split -db 4M - arc

Склеиваем, дешифруем, разжимаем, разворачиваем:

cat arc* | openssl enc -d -aes-256-cbc | tar -xzf -

Вот это я понимаю unix-way! Не то что всякие там rar-ы! ;)

суббота, 15 марта 2008 г.

Переход на нестабильный дебиан

Для перехода надо подключить репозитории Lenni
deb http://mirror.yandex.ru/debian lenny main contrib non-free
Потом
apt-get dist-upgrade

четверг, 17 января 2008 г.

среда, 16 января 2008 г.

Подъём виртуальных bridg интерфейсов для Virtualbox

1. Создаем мост (что это такое так и не вкурил)
sudo /sbin/brctl addbr br0

2. Убираем IP адрес у интерфейса
sudo /sbin/ifconfig eth0 0.0.0.0 promisc

3. Добавляем интерфейс к мосту
sudo /sbin/brctl addif br0 eth0

4. Даем адрес мосту
sudo /sbin/ifconfig br0 192.168.1.74

5. Чтобы работал интернет
sudo /sbin/route add default gw 192.168.1.1

6. Создаем фиктивный интерфейс
sudo /usr/lib/virtualbox/VBoxTunctl -t vbox0 -u

7. Добавляем его к мосту
sudo /sbin/brctl addif br0 vbox0

8. Поднимаем фиктивный интерфейс (одной из команд)
а) sudo /sbin/ifconfig vbox0 192.168.1.75 up
б) sudo /sbin/ifconfig vbox0 192.168.2.75 up

9. В Virtual Box указываем Host Interface и говорим какой интефейс используем - vbox0.

10. Смотрим результат:

Для правильного разрешения экрана, для автоматического захвата мыши, для общего буфера обмена (не заработало, а читать инструкцию и лазить у них по сайту я поленился) можно поставить эти дополнения. Для установки выберите в меню гостевой ОС пункт Устройства / Установить Дополнения гостевой ОС, далее просто подмонтируйте CD-привод. На нем будут лежать файлы для Windows и Linux. Если вы эмулируете Linux, то обязательно пропишите в /etc/X11/xorg.conf

Section "ServerFlags"
Option "Xinerama" "true"
EndSection

Отличная консолька! консоль

Исчезающая в верху консоль
yakuake

Менеджер пакетов APT

Менеджер пакетов APT

Warderer
при участии представителей коллективного разума Линуксфорума:
Vladislav, Topper, zhik, Genie, t.t, clx, ValKov, Demetrio
Версия 2, 2005.11.24

Q: Что такое apt?
A: apt - это Advanced Packaging Tool, система управления пакетами, то есть набор программ для установки, удаления, поиска бинарных пакетов определенных форматов.

Q: В каких дистрибутивах используется apt?
A: apt первоначально был разработан для дистрибутива Debian и формата пакетов deb. Ныне используется во всех клонах Debian (Ubuntu, Kubuntu, Mepis, Xandros), а также в некоторыхх rpm based дистрибутивах (например, в Altlinux).

Q: Какие утилиты входят в состав пакета apt?
apt-cache - средство для работы с кэшами пакетов (например, поиса пакетов по ключевым словам), apt-extracttemplates, apt-sortpkgs, apt-cdrom, apt-ftparchive, apt-key, apt-config, apt-get - средство установки и удаления пакетов, apt-setup

Q: Как обновить список пакетов?
A: apt-get update пройдет по всему списку указанному у вас в /etc/apt/sources.list и обновит списки пакетов по всем репозиториям.

Q: Списки я обновил, как теперь обновить сами пакеты?
A: apt-get upgrade - менее "интеллектуальный" вариант, обновляющий пакеты, которые есть в системе;
apt-get dist-upgrade - более "интеллектуальный" вариант, который следит за тем, не сменили ли пакеты имя и пытающийся обновлять более важные пакеты даже ценой удаления менее важных.

Q: А я не хочу все обновлять, как мне обновить только один пакет?
A: Точно так же, как и установка пакета: apt-get install <пакет>

Q: Как удалить пакет?
A: apt-get remove <пакет>

Q: А после удаления точно ничего от пакета не останется?
A: Для того, чтобы точно не осталось, лучше пользоваться apt-get remove --purge <пакет>

Q: Как мне узнать, как называется пакет для какой-то определенной цели?
A: Попробуйте поиск по ключевым словам при помощи apt-cache search <слова>

Q: Мне принесли компакты дистрибутива, которых у меня не было, как мне их добавить?
A: apt-cdrom add должно помочь

Q: Мне кажется, что меня взломали и что-то сделали с <пакетом>
A: apt-get install --reinstall вернет пакет к изначальному состоянию, то есть такому, какой он был на свежеустановленной системе.

Q: Очень хочется создать локальное зеркало, в какую сторону смотреть?
A: apt-move скорее всего решит полностью вашу проблему, для него достаточно указать, где лежит архив файлов и куда выложить ваше зеркало.

Q: А подробнее про apt-move можно?
А: Можно:
apt-move update - переносит из /var/cache/apt/archives пакеты в директорию локального зеркала (указывается в /etc/apt-move.conf как переменная LOCALDIR=path_to).
По сути apt-move update является выполнением последовательности команд 
$ apt-move get
$ apt-move move
$ apt-move delete
$ apt-move packages
apt-move get - формирует мастер-файл;
apt-move move - переносит пакеты из кэша apt в локальное зеркало;
apt-move delete - удаляет устаревшие пакеты;
apt-move packages - создает Packages.gz и Sources.gz дерева локального зеркала


Q: У меня пакеты все уже удалени из кэша, а друг тоже хочет весь "свежак", который у меня установлен...
A: Простой скрипт, выполненный в пустом каталоге, соберет в нем пакеты, которые установлены в системе:
dpkg --get-selections | \
grep -v "deinstall" | \
awk '{print $1}' | \
xargs dpkg-repack

Q: Есть подозрение, что из-за моих экспериментов в системе много мусора...
A: Попробуйте пакет debfoster, он при первом запуске спросит у вас о необходимости пакетов и удалит все лишнее.

Q: Где по умолчанию лежат пакеты, которые мне скачал apt-get?
A: в /var/cache/apt/archives

Q: Как мне поставить один *.deb пакет в систему?
A: При условии того, что удовлетворены все зависимости, dpkg -i <пакет> приведет к желаемому результату.

Q: Как заставит apt работать через proxy-сервер?
A: Либо установив переменную окружения при помощи 
export "http://login:password@xxx.xxx.x.xx:yyyy"
либо прописав в файл /etc/apt/apt.conf строку 
Acquire::http::Proxy "http://xxx.xxx.xx:yyyy"
где xxx.xxx.xx - имя вашего прокси, yyyy - порт


Q: Я хочу определить в каком пакете необходимый мне файл (например, libodbc.so).
А:
apt-file - утилита поиска по содержимому пакетов.
apt-file update - получает файл Contents-.gz, следует учесть, что исходя из того, что проект Debian довольно большой, то и файл получится соответствующий. apt-file search <файл> - поиск пакета с указанным файлом.
Пример: 
apt-file search libodbc.so
unixodbc: usr/lib/libodbc.so.1
unixodbc: usr/lib/libodbc.so.1.0.0
unixodbc-dev: usr/lib/libodbc.so

 

Q: А как просмотреть полный список содержимого пакета?
А: apt-file list <пакет> - отображает содержимое указанного пакета

Q: Я больше не собираюсь использовать apt-file, а Contents-.gz занимает место на диске.
А: apt-file purge удалить все Contents-.gz.
По поводу дополнительных опций - man apt-file

Q: Как мне найти неиспользуемые (осиротевшие) пакеты?
А: deborphan без указания ключа осуществляет поиск в разделе библиотек, с указанием ключа -a поиск ведется во всех разделах. Имеется и интерфейс к deborphan - orphaner, поставляются в одном пакете.

Q: есть локальный репозиторий из дистрибутивных дисков. Packages.gz сделал, а вот как сделать Contents-.gz для того, чтобы apt-file'ом можно было пользоваться?
A: 
apt-ftparchive contents . | gzip > Contents-i386.gz
также с помощью apt-ftparchive можно создавать Sources.gz и Packages.gz 
apt-ftparchive sources . | gzip > Sources.gz
apt-ftparchive packages .| gzip > Packages.gz

Q: хочется создать дистрибутив некоторых выбранных пакетов и залить его на болванки. При этом хочется поместить на болванки и пакеты, не установленные в моей системе. Как это объяснить apt-move?
A: Вариант номер один - посмотреть в сторону jidgo, возможно, он вас устроит, вариант номер два - получить недостающие пакеты, но не устанавливать их в систему с помощью аpt-get install -d <пакеты>.

Q: У меня стоит мешанина из stable, testing, unstable и даже кое-что из experimental установил. Как мне сделать, чтобы все в таком виде и обновлялось?
A: Чтобы этого добиться, поместите следующую строку в /etc/apt/apt.conf: 
 
APT::Default-Release "testing";
Затем, при установке пакетов из, например, нестабильного дистрибутива, просто используйте ключ -t: 
$ apt-get -t unstable install имя_пакета