Posts Tagged ‘имя’

Aperture: 16. Работа с двумя мониторами

Написал admin . Опубликовано в Фото-уроки просмотров 243

Так себеПойдетХорошоПонравилосьОтличный пост (No Ratings Yet)
Загрузка...

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

Размеры объектов БД PostgreSQL

Написал admin . Опубликовано в Databases просмотров 2 491

Так себеПойдетХорошоПонравилосьОтличный пост (No Ratings Yet)
Загрузка...

Все объекты БД в PostgreSQL хранятся в каталоге data/base в виде OID (таблицы, индексы…).
Для сопоставления OID номеров с именами баз и таблиц в contrib есть утилита oid2name (перед использованием скомпилить и положить в удобное для использования место).

Для просмотра размера всех таблиц текущей БД можно использовать такой запрос:

SELECT relname AS name, relfilenode AS oid, (relpages * 8192 / (1024*1024))::int as size_mb, reltuples as count FROM pg_class WHERE relname NOT LIKE 'pg%' ORDER BY relpages DESC;

Блокировки в репозитории CVS

Написал admin . Опубликовано в Unix просмотров 147

Так себеПойдетХорошоПонравилосьОтличный пост (No Ratings Yet)
Загрузка...

Видимое пользователем поведение блокировок CVS описано в section Совместный доступ нескольких разработчиков к CVS. Эта глава ориентирована на людей, пишущих утилиты, обращающиеся к репозиторию CVS, не конфликтуя при этом с другими программами, обращающимися к тому же репозиторию. Если вы запутаетесь в описываемых здесь концепциях, как то блокировка чтения, блокировка записи и мертвая блокировка, то обратитесь к литературе по операционным системам или базам данных.

Файлы в репозитории, чьи имена начинаются с `#cvs.rfl’ — это блокировки чтения. Файлы, чьи имена начинаются с `#cvs.wfl’ — это блокировки записи. Старые версии CVS (до @cvsver{1.5}) создавали также файлы с именами, начинающимися с `#cvs.tfl’, но такие файлы здесь не обсуждаются. Каталог `#cvs.lock’ служит основной блокировкой, то есть перед тем, как создавать какую-либо еще блокировку, сначала необходимо создать основную блокировку.

Чтобы создать блокировку чтения, сначала создайте каталог `#cvs.lock’. В большинстве операционных систем операция создания каталога является атомарной. Если попытка создания завершилась неудачно, значит, основная блокировка уже существует, поэтому подождите немного и попробуйте еще. После получения блокировки `#cvs.lock’ создайте файл, чье имя состоит из `#cvs.rfl’, и информацией по вашему выбору, например, имя машины и номер процесса. Потом удалите каталог `#cvs.lock’, чтобы снять основную блокировку. Теперь можно читать репозиторий. Когда чтение окончено, удалите файл `#cvs.rfl’, чтобы снять блокировку чтения.

Чтобы получить блокировку записи, сначала создайте каталог `#cvs.lock’, как и в случае с блокировкой чтения. Затем убедитесь, что в репозитории нет файлов, чьи имена начинаются с `#cvs.rfl’. Если они имеются, удалите `#cvs.lock’, подождите немного и попробуйте снова. Если блокировок чтения нет, создайте файл с именем, состоящим из `#cvs.wfl’ и какой-нибудь информации по вашему выбору, например, имени машины и номера процесса. Не удаляйте блокировку `#cvs.lock’. Теперь вы можете писать в репозиторий. Когда запись окончена, сначала удалите файл `#cvs.wfl’, а затем каталог `#cvs.lock’. Заметьте, что в отличие от файла `#cvs.rfl’, файл `#cvs.wfl’ имеет чисто информационное значение; он не оказывает блокирующего эффекта, который в данном случае достигается использованием главной блокировки (`#cvs.lock’).

Заметьте, что каждая блокировка (чтения или записи) блокирует единственный каталог в репозитории, включая `Attic’ и `CVS’, но не включая подкаталоги, которые представляют собой другие каталоги, находящиеся под контролем версий. Чтобы заблокировать целое дерево, вам следует заблокировать каждый каталог (заметьте, что если вы не сможете получить хотя бы одну блокировку в этом процессе, то следует отменить все уже полученные блокировки, затем подождать и попробовать снова, во избежание мертвых блокировок.)

Заметьте также, что CVS ожидает, что доступ к отдельным файлам `foo,v’ контролируется блокировками записи. RCS использует в качестве блокировок файлы `,foo,’, но CVS не поддерживает такую схему, поэтому рекомендуется использование блокировки записи. Смотри комментарии к rcs_internal_lockfile в исходном коде CVS, где находится дополнительное обсуждение и мотивация.

Настройки прав доступа к FTP серверу

Написал admin . Опубликовано в Unix просмотров 2 211

Так себеПойдетХорошоПонравилосьОтличный пост (1 votes, average: 3,00 out of 5)
Загрузка...

Так как контент сервера расположен на файловой системе хостинговой машины, права доступа к нему управляются при помощи стандартного механизма прав операционной системы UNIX. При регистрации услуги FTP-сервера в домашней директории владельца сервера создается директория pub. Контент сервера должен располагаться в этой директории. При подключении к серверу пользователям доступна только часть файловой системы, лежащая ниже этой директории, т.е. пользователи видят эту директорию как корневую (‘/’) и не могут получить доступ к данным, расположенным вне ее.

Существует также другой механизм управления доступом к контенту сервера, позволяющий устанавливать права на выполнение операций чтения, записи, удаления, просмотра директории и т.д. независимо для каждого пользователя сервера.

Смена кодировки у множества файлов

Написал admin . Опубликовано в Mac OS X, Unix просмотров 1 344

Так себеПойдетХорошоПонравилосьОтличный пост (No Ratings Yet)
Загрузка...

Перед пользователем, переходящим с Windows на Mac, порой может встать задача, невыполнимая, на первый взгляд, в разумное время. Это перекодирование большого количества текстовых файлов (Notepad, etc.) в кодировку используемую в MacOSX. Или обратно — в случае регулярного обмена файлами с Windows-пользователями.

Использование команды iconv

* Запустите Terminal

* Перейдите в каталог с файлами, которые Вы хотите преобразовать из кодировки Windows (windows-1251) в кодировку MacOSX (utf-8)

* Выполните следующую команду:

for i in *; do iconv -f windows-1251 -t utf-8 «$i» >tmp; mv tmp «$i»; done

Что можно изменить:

* вместо wildcard «*» можно указать более точное значение, скажем, «*.txt»
* если Вы хотите обратную перекодировку — поменяйте местами входную и выходную кодировки (-f utf-8 -t windows-1251)
* если вы хотите перекодировать между другими кодировками, то вот список поддерживаемых командой iconv кодировок можно получить командой iconv -l

Возможная проблема: если слишком много файлов, может не поместиться в environment (там ограничение на размер). Или куча подкаталогов, которые тоже надо обработать.

Решение:

find . -name «*.txt» | while read i; do iconv -f windows-1251 -t utf-8 «$i» >tmp; mv tmp «$i»; done

Нюансы: ищет во всех подкаталогах от текущего. Не обязательно переходить в обрабатываемый каталог — для этого достаточно будет заменить «.» в параметрах find на имя каталога в который переходить (не забывайте, что имя с пробелами и некоторыми другими символами лучше всего заключать в двойные или даже одинарные кавычки)

Похожие статьи:

Поиск файлов с помощью find

Написал admin . Опубликовано в Unix просмотров 757

Так себеПойдетХорошоПонравилосьОтличный пост (No Ratings Yet)
Загрузка...

Используйте утилиту find для поиска файлов в дереве каталогов по имени файла. Укажите имя дерева каталогов для поиска, а затем, с помощью опции `-name’ — имя нужного Вам файла.

Чтобы увидеть список всех файлов системы, которые называются `top’, наберите:

$ find / -name top

Эта команда проведет поиск во всех каталогах, куда Вам разрешен доступ; если Вы не имеете прав прочесть содержимое каталога, find сообщить, что поиск в данном каталоге Вам запрещен.

Опция `-name’ различает прописные и строчные буквы; чтобы использовать поиск без этих различий, воспользуйтесь опцией `-iname’.

Чтобы увидеть список всех файлов системы, которые называются `top’, без учета регистра символов, наберите:

$ find / -iname top

Эта команда найдет все файлы, название которых состоит из букв `top’ — включая `Top’, `top’, и `TOP’.