Журнал LinuxFormat - перейти на главную

LXF116:Ответы

Материал из Linuxformat
Версия от 22:07, 1 февраля 2010; Crazy Rebel (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Содержание

Ответы

Есть вопрос по Open Source? Пишите нам по адресу: answers@linuxformat.ru!

1 Вариант USB-загрузки

В Пытался инсталлировать Ubuntu на мой старый ноутбук HP Pavilion. У меня на винчестере было мало места (там еще и Windows), и я установил его на USB-диск. Установка прошла хорошо, но при перезагрузке Grub выдает ошибку. Почитав об этом, я сообразил, что некоторые старые машины не допускают загрузку с USB, и действительно, у меня нет опции USB в BIOS (или в Smart Boot Manager). Пришлось восстановить загрузочный сектор Windows со спасательного диска MS, и все вернулось на место; но у меня остался USB-диск с Linux (совершенно нетронутый, как я понимаю), а пользоваться им нельзя. Раз вы сторонники Linux, вас это должно раздражать так же, как и меня!

Мне интересно вот что: с дискеты моя машина загружается, так нельзя ли положить на дискету какое-либо ядро Linux (м.б., даже с графическим интерфейсом пользователя) и получить доступ к злополучному диску, ради набора приложений Linux? По-моему, этот метод лучше, чем Live DVD: тогда я мог бы сохранить мои изменяющиеся настройки и т.д. и дополнить дистрибутив другими нужными мне программами.

Приемлем ли такой вариант? Буду весьма признателен за совет.

Билл Смит [Bill Smith]

О Это раздражает не только простоем Linux: если Ваш компьютер не загружается с USB, ОС тут ни при чем. Увы, USB-загрузка – известный источник неприятностей, и не только из-за BIOS компьютера, но и из-за разнобоя USB-устройств: одни работают лучше, другие хуже, и приходится действовать методом проб и ошибок.

Похоже, что Вы установили Grub на жесткий диск, и система во время инсталляции видит жесткий диск как первый, а USB-диск – как второй; но во время загрузки второго (USB) диска не существует, отсюда и ошибки Grub (которая почти наверняка «диск не найден»). Маловероятно, чтобы Ваш компьютер поддерживал загрузку с USB, если уж в BIOS такого нет, но некоторые компьютеры вызывают загрузочное меню, если нажать некую клавишу (чаще всего Delete, F12 или F2) сразу после запуска. К сожалению, стандарт здесь отсутствует, так что почитайте руководство, или посмотрите при включении – нет ли сообщения о таком варианте, или пробуйте удерживать разные функциональные клавиши каждый раз при загрузке, пока Вам не повезет.

Вы исключили вариант Live DVD, но многие из них предусматривают подключение USB-дисков в качестве домашнего каталога, позволяя сохранять документы и настройки и устанавливать дополнительное ПО; хотя сверх такого богатого DVD, как Knoppix, ПО остается не так и много. Если Ваш компьютер все-таки не поддерживает USB-загрузку, это выглядит лучшим вариантом, чем использование ненадежной дискеты.

Загрузитесь с CD или DVD Knoppix, подключите USB-диск и выберите пункт меню Knoppix > Configure > Create A Persistent Knoppix Disk Image [Knoppix > Настройка > Создать постоянный дисковый образ Knoppix]. Ответьте на вопросы, и у Вас на диске создастся файл с именем knoppix.img, содержащий Вашу домашнюю директорию и настройки. При перезагрузке Knoppix обнаружит его и спросит, хотите ли Вы использовать этот файл, или же можно указать место его расположения, набрав

knoppix home=/dev/sda1

в строке загрузки. НБ

2 Расширенные права файлов

В Я хотел бы сделать файлы в некой директории общими для конкретных (локальных) пользователей, чтобы они имели к ним доступ на чтение/запись, и хотел бы оставить umask установленным в 022 для прав доступа ко всем остальным файлам по умолчанию.

Я могу создать группу и установить права доступа на файлы в общей директории как 660 при соответствующем назначении группы, но это не решает проблемы новых файлов, которые может создать любой пользователь. Не все пользователи обладают Linux-смекалкой, и в любом случае я считаю излишним каждый раз изменять группы и права вручную.

Одним из вариантов было бы написание демона, который следил бы за новыми файлами и менял права доступа к ним. Есть ли лучший путь? А может, кто-то это уже сделал, чтобы сэкономить мне упражнения в кодировании?

С. МакЭвой [C McEvoy]

О Вы обнаружили один из недостатков стандартных прав доступа к файлам в Linux. Вы можете изменить группу владельца для каталога, чтобы ее члены получили возможность создавать в нем файлы, но последние будут доступны на запись только собственным владельцам. Ответ – ACL (списки контроля доступа), позволяющие регулировать права доступа к файлам с гораздо большей точностью. Требований для использования ACL три. Во-первых, ядро должно включать поддержку ACL для файловой системы, которую Вы применяете (стандартное ядро дистрибутива ее уже имеет). Затем необходимо смонтировать файловую систему с включенным ACL, отредактировав /etc/fstab и добавив acl к списку опций – например, заменив

/dev/sda5 /home ext3 defaults,noatime 0 0

на

/dev/sda5 /home ext3 defaults,noatime,acl 0 0

а затем перемонтировать файловую систему –

mount /home -o remount

или перезагрузиться. Этот шаг не нужен, если Вы используете XFS – там уже есть поддержка ACL по умолчанию, но если у Вас ext2/3 или ReiserFS, придется изменить fstab и выполнить перемонтирование. Наконец, установите пакет acl, он включает пользовательские инструменты для управления ACL.

Теперь можно добавить пользователей к одной и той же группе, скажем project, и сделать так:

mkdir shared
chmod 2775 shared
setfacl -m default:group:project:rwx shared

Если Ваш пользователь имеет полные права на запись в директорию, где Вы это делаете, то Вам не нужны привилегии root. Эти команды создают каталог и делают его доступным группе для записи и выполнения. Последняя строка выполняет умный трюк: она устанавливает правила доступа по умолчанию для директории так, чтобы все файлы имели разрешения rwx для всех членов группы project. Это правило распространяется на все новые файлы, так что выполните приведенные выше команды перед их созданием. Чтобы установить права доступа к уже имеющимся файлам, поступите так:

setfacl -R -m group:project:rwx shared

Здесь нет параметра default:, но -R распространяет команду рекурсивно на все существующие файлы и каталоги. Вы также можете установить контроль доступа для отдельных пользователей: например,

setfacl -m default:user:fred:r-x shared

дает этому пользователю права «только для чтения». Если Вы экспериментировали с установкой с ACL, то найдете эти команды полезными:

getfacl shared
setfacl -x default:user:fred shared

Первая показывает ACL для файла или директории, вторая удаляет их. Синтаксис -x такой же, как и для -m, только Вы не указываете права доступа. МС

3 Диагностика диска

В В последнее время Seti@Home получает сигнал 11, что означает поломку, связанную с проблемами жестких дисков. Моя же проблема в том, что я не знаю, как лучше проверить свой жесткий диск.

Я использую Kubuntu 8.04, и у меня четыре раздела: один для Windows (VFAT), swap, корневой (ext3) и /home (ReiserFS), который установился по умолчанию, когда я ставил свой первый Linux (SUSE 7.2). Если не ошибаюсь, я не форматировал и не проверял раздел /home с момента создания, шесть лет назад, что лично я считаю весьма впечатляющим (для меня, по крайней мере) – шесть лет без проблем!

Что мне делать? Загрузиться с Live CD? Поколдовать с CLI? Или для этого есть нечто графическое?

Javier, с форумов

О Есть две различные вещи, которых это может касаться: физический диск и файловая система на нем. Проще всего разобраться с файловой системой: можно просто запустить на ней fsck. Конечно, не все так просто: с помощью fsck невозможно проверять смонтированные файловые системы. Можно отмонтировать /home, но это сработает, только если у Вас настроен вход от имени суперпользователя-root. Тогда выйдите из рабочего стола, переключитесь в виртуальную консоль с помощью Ctrl+Alt+F1 и войдите от имени root.

Выйти из рабочего стола необходимо, поскольку любой подключенный пользователь, кроме root [домашний каталог которого находится на другом разделе, – прим. ред.], не даст Вам размонтировать /home. Sudo здесь тоже не поможет.

Теперь запустите fsck на требуемом разделе:

fsck /dev/sda4

Альтернатива – использование Live CD или DVD, которые также позволят Вам проверить корневой раздел. Этот вариант, как правило, проще, если Вы не против перезагрузки компьютера. Любой дистрибутив Live CD содержит инструменты fsck, но мой текущий фаворит для этого вида работ – GRML (http://www.grml.org). Он основан на Debian и ориентирован на системное администрирование и восстановление. Другим вариантом может быть SystemRescue CD (http://www.sysresccd.org).

Fsck проверяет на повреждения файловую систему, но не смотрит на соответствующее аппаратное обеспечение. Хорошим выбором для последнего будет инструментарий Smartmontools, включенный в репозитории большинства дистрибутивов. Технология Smart (Self-Monitoring, Analysis, and Reporting Technology) позволяет жестким дискам контролировать свою собственную производительность, посредством запуска комплекса тестов самообследования для обнаружения и даже предсказания сбоев. Чтобы Smart заработал, Вам, возможно, потребуется включить опцию в BIOS Вашего компьютера, а затем установить Smartmontools и отредактировать /etc/smartd.conf, сказав ему, какие диски и каким образом тестировать. Хорошей отправной точкой являются настройки

 /dev/sda -d sat -I 194 -I 231 -I 9 -W 5 -a -m me@example.com

При этом проверяется /dev/sda, SATA-диск, игнорируя атрибуты 9 (время работы), 194 и 231 (температура), но сообщается об изменении температуры более чем на пять градусов. Опция -a указывает контролировать все другие атрибуты, а -m задает адрес электронной почты для отсылки сообщений о наличии ошибок и предупреждений. Если у Вас есть PATA/IDE диск, используйте -d ata. Установите smartd на запуск при загрузке в менеджере служб, и Ваш(и) диск(и) – всегда под контролем.

Вы можете немедленно запустить проверку здоровья диска с помощью

 smartctl --health -d sat /dev/sda

или выполнить различные тесты

 smartctl --test=TEST -d sat /dev/sda

где TEST – это offline, short или long. См. man-страницы smartd и smartctl для (гораздо) большей информации о различных опциях, атрибутах и тестах, которые можно использовать. НБ

4 Проsedить текст

В У меня есть большой файл, строк на 800–900. А я хочу написать скрипт, способный найти определенное выражение в файле, а затем изменить или заменить одно слово в этой строке и другое слово строкой ниже. Например, файл содержит

 I am in London
 Family is in Canada

Я хочу найти выражение in London и заменить I am на You are, а в нижней строке заменить Family is на Girlfriend is.

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

Sandy4u, с форумов

О Вам нужен Sed (Stream Editor). Он может заменять, удалять или выполнять иные манипуляции с данными в файле с помощью регулярных выражений. Простейшая замена – нечто вроде этого:

sed ‘s/I am/You are/’ myfile >newfile

Это самый распространенный пример использования Sed – замена найденной строки на другую, но Вы попросили нечто более специфичное: замену только в строке, содержащей определенный текст, и в последующей строке. Тогда можно ограничить диапазон охвата команды. Команда s (означающая замену) в приведенном выше примере применяется к каждой строке этого файла. Чтобы ограничить ее применение, предварите ее диапазоном адресов. Это может быть пара номеров строк (начало и конец), но загодя Вы их не знаете, так что мы используем

sed ‘/in London/,+1 s/I am/You are/’ myfile >newfile

Диапазон адресов здесь состоит из двух компонентов, разделенных запятыми. Во-первых, это шаблон, ограниченный слэшами: он совпадает с любой строкой, содержащий “in London”. Второй компонент, +1, ограничивает дальнейший поиск строкой сразу после найденной. Вы можете использовать любые номера, но каждая строка может быть только в одном диапазоне. Так, если найдутся строки 3, 4 и 7, команда применится дважды, сначала для строк 3 и 4, а затем для строк 7 и 8. Все остальные строки останутся без изменений. За адресом следует команда s. В этом примере мы делаем только одну замену; чтобы применить несколько команд для диапазона адресов, заключите их в скобки, разделенные точкой с запятой. Вот что Вам поможет:

sed ‘/in London/,+1{s/I am/You are/ ; s/Family is/Girlfriend/}’ myfile >newfile

Каждый раз мы перенаправляем вывод в новый файл. Sed имеет опцию -i для редактирования файла на месте, но не используйте ее до тех пор, пока не убедитесь, что Ваш синтаксис правилен или что у Вас есть резервная копия исходного файла, потому что описка может привести к уничтожению данных. От синтаксических ошибок вреда не будет – Sed не заменит файл, пока команда не станет правильной; верные же команды, делающие не то, что Вы хотели, вызовут проблемы. Sed – очень мощное средство, но его man-страница скудна, поэтому читайте документы info или зайдите на сайт http://sed.sourceforge.net. НБ

5 Виртуализация автоматом

В Хочу, чтобы при старте Ubuntu не просила меня ввести имя пользователя и пароль, а открывала VMware и запускала виртуальную машину. Я знаю, как сделать это вручную, но нельзя ли написать небольшой командный файл (если я правильно выражаюсь), делающий это для меня автоматически?

Ffilc7373, с форумов

О Здесь присутствуют два этапа: автоматический вход в рабочий стол пользователя и последующий запуск программы. Первое можно сделать в Ubuntu 8.10, выбрав опцию автоматического входа в процессе инсталляции. Если у Вас более ранняя версия Ubuntu или 8.10 уже установлена, можете настроить это вручную: запустите Система > Администрирование > Окно входа в систему, перейдите на вкладку Безопасность [Security], поставьте галочку рядом с Включить автоматический вход в систему [Enable Automatic Login] и выберите пользователя, под которым нужно войти.

Gnome запустит любую программу, какую Вы велите, при своем старте. Перейдите в Система > Параметры > Сеансы, нажмите Добавить [Add] и введите команду, которую хотите запустить, а также название и описание. В частности, для запуска виртуальной машины VMware Workstation используйте

vmware -X /path/to/virtualmachine.vmx

где -X велит VMware запустить виртуальную машину и переключиться в полноэкранный режим, а далее идет путь к .vmx-файлу виртуальной машины. Если Вы используете VMplayer, замените в этой команде vmware на vmplayer. При использовании VMware-server необходимо убедиться, что сервер запускается при старте системы (для этого воспользуйтесь менеджером служб Ubuntu), а затем применить vmrun для запуска виртуальной машины. ГМ

6 Защитим мои данные

В На прошлой неделе меня ограбили! Воры унесли два телевизора и компьютерную периферию, в том числе все мои внешние диски. От этого я стал сущим параноиком насчет сохранности данных на моих ноутбуках и настольном ПК. Нет ли способа шифрования жестких дисков без их переформатирования?

Jonlewi5, c форумов

О Сочувствуем Вашей беде. Основных способов шифрования файловой системы два: один заключается в создании зашифрованного блочного устройства, а затем организации на нем файловой системы. Это метод обычно использую я, но его фактическая реализация зависит от выбранного дистрибутива, так как он просит ключ расшифровки и разблокирует файловую систему, прежде чем монтировать ее в процессе загрузки. Это делают команды (запускать от root)

cryptsetup luksFormat /dev/sda2
cryptsetup luksOpen /dev/sda2 home

Первая создает зашифрованное блочное устройство в /dev/sda2, ее нужно дать только один раз. Вторая открывает зашифрованное устройство, предлагая ввести пароль, хотя можно использовать и файл с ключом на съемном устройстве. Она создает блочное устройство /dev/mapper/home, которое можно форматировать, монтировать и использовать как любое другое блочное устройство.

Главный недостаток этого метода – необходимость переформатировать часть Вашего диска для его использования. Другой вариант – виртуальная файловая система, где одна файловая система работает «поверх» другой. Самая популярная криптографическая виртуальная система – EncFS (Fuse), но в настоящий момент ядро Linux включает ecryptfs. Вам надо установить утилиты ecryptfsutils, которые должны быть в репозиториях Вашего дистрибутива и, может быть, уже установлены. Они содержат инструменты для создания и управления файловыми системами ecryptfs. Затем Вы можете создать одну такую:

mkdir .private
mkdir private
sudo mount -t ecryptfs .private private

Надо будет ответить на несколько вопросов; установите passphrase как вид ключа, AES в качестве типа шифрования, длину ключа 16; опцию passthrough установите в [off]. При желании можно использовать другие настройки, но эти будут хорошей отправной точкой. Создастся зашифрованный слой, и все, что Вы пишете в private, фактически сохраняется как зашифрованный файл в .private. Попробуйте скопировать некоторые файлы в private, а затем прочитать их. Теперь попробуйте прочесть эти же файлы в .private. Отмонтируйте private с помощью

sudo umount private

и эта директория теперь будет пустой, а зашифрованные файлы будут находиться в .private. Чтобы смонтировать директорию снова, укажите опции, заданные при ее создании.

sudo mount -t ecryptfs .private private -o key=passphrase,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_passthrough=n

Вам будет предложено ввести пароль еще раз, и тогда файлы станут читаемы. Можно закрепить эту команду за иконкой или вызывать ее из менеджера сеансов рабочего стола, чтобы каталог монтировался автоматически при входе в систему. Обеспечьте указание на запуск команды в терминале: это понадобится, если Вы захотите ввести пароль.

Можно поместить эти настройки и в /etc/fstab:

/home/user/.private /home/user/private ecryptfs 
noauto,user,key=passphrase,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,
ecryptfs_ passthrough=n 0 0

Использование noauto предотвращает попытки монтирования при загрузке, а опция user разрешает монтирование без вызова sudo любому пользователю, если он знает пароль.

Вы можете либо сохранить конфиденциальные данные в защищенном каталоге и сменить настройки своих программ, либо переместить туда данные из других каталогов и создать символьные ссылки на старых местах. Выполняя резервное копирование, скопируйте .private вместо private, и Ваши данные останутся зашифрованными. НБ

7 Испортили Opera

В Я вчера купил Linux Format и попробовал Opera 9.26, 9.27 и 9.52 на моей Mandriva 2008.1pwp. Потом я установил кое-какие интересные мне виджеты. Но при попытке использовать Opera мой ПК [Dell OptiPlex GX110] завис. Я тут же удалил Opera. Есть мысли по поводу этого?

Питер Маул [Peter Moule]

О Правильно ли Opera работала до установки виджетов? Если да, попробуйте «чистую» версию Opera, а затем добавляйте виджеты по одному, перезапуская браузер после каждой установки. Вычислив проблемный виджет, отправьте сообщение об ошибке на сайт разработчиков, чтобы они могли ее исправить.

Еще лучше будет запустить Opera из терминала, просто набрав для этого

opera

Так Вы не защититесь от проблемы, но получите больше информации о том, что было не так. Даже если вывод для Вас – пустой звук, он пригодится разработчикам для отслеживания источника сбоя. Если проблема – в самой Opera, попробуйте открыть ее еще раз из терминала, чтобы увидеть возникающие сообщения об ошибках.

Во многих случаях копирование информации об ошибке в любимую поисковую систему приведет к получению ссылок на сообщения от людей, столкнувшихся с той же проблемой, а зачастую и на решение. НБ

8 Шлифуем OpenSUSE

В Уже месяца два как я перешел на Linux (OpenSUSE 10.3). Системой вполне доволен, но за это время у меня накопилось несколько мелких вопросов:

1. Я подключаюсь к Интернету через обычную телефонную линию, используя программу КРРР. Ее необходимо запускать от имени root, и открывать консоль, набирая в ней su, пароль и kppp мне уже порядком надоело. Есть ли возможность создать ярлык на рабочем столе (или что нибудь в этом роде), и вводить только пароль?

2. У меня еще остались разделы в формате NTFS. По умолчанию система монтирует их только для чтения. Как выполнить автомонтирование при загрузке в режиме чтения-записи? Можно ли конвертировать NTFS в Ext3 без потери данных? Мой /etc/fstab (в части разделов NTFS) выглядит так:

/dev/disk/by-id/scsi-SATA_WDC_WD1600AAJB-_WD-WCAP98377163-part1 /windows/C ntfs-3g users,gid=users,fmask=133,dmask=022,locale=ru_RU.UTF-8 0 0
/dev/disk/by-id/scsi-SATA_WDC_WD1600AAJB-_WD-WCAP98377163-part5 /windows/D ntfs-3g users,gid=users,fmask=133,dmask=022,locale=ru_RU.UTF-8 0 0
/dev/disk/by-id/scsi-SATA_WDC_WD1600AAJB-_WD-WCAP98377163-part6 /windows/E ntfs-3g users,gid=users,fmask=133,dmask=022,locale=ru_RU.UTF-8 0 0

3. Мне довольно часто приходиться создавать файлы в формате PDF. Хочу воспользоваться для этих целей утилитой cups-pdf-2.4.8-4.1.i586.rpm, но как правильно установить и настроить её, не знаю.

Николай

О Я тоже использую KPPP, когда мне надо установить коммутируемое соединение (правда, обычно речь идет о GPRS или CDMA), но мне ни разу не приходилось сталкиваться с необходимостью запускать ее от имени root. Для начала, попробуйте подключиться к Сети с правами обычного пользователя. Если же это не удастся (у меня есть парочка соображений, почему такое может произойти, но предоставленных сведений мало, чтобы говорить наверняка), то создать описанный вами ярлык можно следующим простым способом: щелкните на рабочем столе правой кнопкой мыши и выберите Создать > Ссылка на приложение. На вкладке Приложение, в поле Команда, следует указать kdesu kppp. Kdesu имеет те же функции, что и стандартная команда su, но она снабжена графическим интерфейсом. Все остальные поля (название, значок и т.п) можете заполнить по своему усмотрению.

Проблема с записью на разделы NTFS кроется в настройках fmask и dmask – они задают биты, по умолчанию выключенные в правах доступа файлов и каталогов соответственно. Как можно видеть, для файлов снимается восьмеричное 1 (бит x – выполнение) для всех, и 2 (бит w – запись) для группы и всего мира; для каталогов x остается на месте, так как иначе Вы не сможете в них перейти. Ваш пользователь входит в группу users, которая выбрана в качестве группы владельца для всех файлов и директорий на разделах NTFS (опция gid=users). Решение – разрешить для группы запись в файлы и каталоги, с учетом этого fmask/dmask примут следующий вид: fmask=113,dmask=002. Конвертировать NTFS в Ext3 без потери данных нельзя.

Что же касается генерации PDF-файлов, скорее всего, в Вашей системе уже есть все необходимое (а даже если нет, требуемые инструменты можно добавить через Yast). Если вы работаете с офисными документами, воспользуйтесь функцией экспорта в PDF, имеющейся в OpenOffice.org. Вы также можете перейти в Центр управления KDE > Периферия > Принтеры и создать там виртуальный PDF-принтер, который будет доступен для любого приложения, умеющего выводить свои данные на печать. ВС

Примечание: Возможность использовать программы дозвона (GnomePPP, KPPP, wvdial,...) только от имени root в подавляющем большинстве случаев означает, что непривелигированному пользователю запрещен доступ к соответствующему файлу устройства в каталоге /dev/. При создании соответствующих файлов доступ к ним на чтение и запись разрешен пользователю (чаще всего это root) и группе, а всем остальным запрещен. Так что самый простой выход это включить всех пользователей Интернет на конкретном компьютере в указанную группу. К сожалению имя группы зависит от дистрибутива но ее очень легко выяснить набрав команду ls -l /dev/tty*, а еще лучше вместо tty* набрать конкретное имя устройства. Третья и четвертая колонка это имя владельца и имя группы.

9 Видео для Android’ов

В Недавно я побаловал себя телефоном G1, работающим под управлением ОС Android от Google. Мне он очень нравится, но я постоянно спорю с моими друзьями – владельцами iPhone: «может ли он сделать то» или «почему он не может сделать се». Пока он не оправдал себя только в двух моментах; без имитации светового меча я обойдусь, но меня бесят бесплодные попытки поместить на него видео в «играбельном» формате.

Нет ли простого способа конвертировать видеофайлы или DVD-диски в формат, проигрываемый на G1? Если да, то какие форматы он поддерживает? У меня OpenSUSE 11.0, если это имеет значение.

Мартин Уэллс [Martin Wells]

О G1 не имеет родного видеоплейера, но они есть на Android Market и имеют изобретательные названия Video Player или Cinema. Диапазон форматов, поддерживаемый этими программами, весьма ограничен, и Вы должны аккуратно использовать заведомо правильные настройки при конвертировании видео, не то они просто не будут его проигрывать. Хорошая программа конвертирования – Avidemux (http://fixounet.free.fr/avidemux), но ее нет в стандартных репозиториях OpenSUSE 11.0. Чтобы получить ее, перейдите в раздел Software Repositories в Yast, нажмите кнопку Add и выберите Community Repositories. Добавьте Packman, где содержится Avidemux. Надо также включить Main Repository (ОСС), если этого еще не сделано, для разрешения зависимостей. Теперь Вы можете поискать и установить либо avidemux-gtk или avidemux-qt в разделе Software Management – упрощенно, это два «лица» одной и той же программы.

Запустите Avidemux, нажмите Open и выберите видеофайл. Установите тип видео на MPEG-4 ASP (lavc), нажмите Configure и установите режим кодирования Constant Bitrate или Two Pass – Average Bitrate. Последний дает лучшее качество, за счет удвоения продолжительности процесса. Задайте битрейт с учетом просмотра видео на трехдюймовом экране: горячиться не надо. По-моему, 384 Кб/с обеспечивает достойное качество и небольшой размер файлов. В окне Filters дважды щелкните по MPlayer Resize и установите ширину и высоту в 480 x 320, нажмите ОК, затем Close.

Установите настройки звука в AAC (FAAC) с битрейтом 96 или чуть выше. Установите для выходного файла формат MP4, и Вы готовы начать, но сначала выберите небольшой участок видео для испытания. Перетащите ползунок на начало подходящего момента и нажмите на кнопку A, затем переместите ползунок на минуту и нажмите B. Нажмите Save, выберите имя файла и дайте программе несколько секунд для обработки видео в зависимости от скорости Вашего компьютера. Убедитесь, что получился файл с расширением .mp4, иначе Video Player не сможет его найти.

Скопируйте полученный файл на SD-карту телефона (не забудьте отключиться, чтобы SD-карта снова стала видима из G1) и запустите Video Player. Он должен забрать видео оттуда, где Вы сохранили его на SD-карте. Если видео проигрывается хорошо, можете перекодировать весь материал. LXF

Шаг за шагом: Кодируем видео для Android

LXF116 89 1.jpg

  • 1 Установим ПО
    Добавьте репозиторий Packman в OpenSUSE, чтобы получить возможность установить Avidemux и множество других полезных программ.

LXF116 89 2.jpg

  • 2 Зададим тип видео
    После загрузки вашего видеофайла, установите тип вывода в MPEG-4 ASP (lavc). Это критично, если вы хотите проиграть его на G1.

LXF116 89 3.jpg

  • 3 Зададим выходной размер
    Avidemux имеет два фильтра изменения размера; предпочтительный выбор – MPlayer. Задайте размер вашего видео не более чем 488 x 320.

LXF116 89 4.jpg

  • 4 Установим битрейт
    Битрейт определяет компромисс размер/качество 384 для видео и 96 для звука будут хорошим первичным выбором.

LXF116 89 5.jpg

  • 5 Выберем скин
    Есть две различных версии Avidemux (на GTK и Qt4). Разница чисто эстетическая, так как функционально они одинаковы.

LXF116 89 6.jpg

  • 6 Вытащим оглавление DVD
    Vobcopy и MPlayer – хороший выбор для извлечения видеозаголовков в файлы. Чтобы все работало, смонтируйте DVD в Vobcopy.

* Загрузка с защитой

В Сейчас большинство дистрибутивов использует Grub, и я понимаю, что он проще, чем Lilo. Но, по-видимому, в нем отсутствует одна очень важная функция: Lilo может использовать опцию -R для загрузки ядра только один раз, а потом возвращается к старому по умолчанию, что очень удобно для тестирования новых ядер: при неудаче перезагрузка просто возвращает ваш компьютер к исходному состоянию. И очень важна возможность делать это на удаленном сервере, но я не могу понять, как сделать это в Grub.

Фил Джеффрис [Phil Jeffries]

О Это возможно и в Grub, хотя чуть менее интуитивно. Есть несколько методов, но наиболее гибкий – откат. Вот пример конфигурации:

root (hd0,0)
timeout 10
default saved
fallback 1 2
title new kernel
kernel /boot/vmlinuz root=/dev/sda1 panic=10
savedefault fallback
title old kernel
kernel /boot/vmlinuz.old root=/dev/sda1 panic=10
savedefault fallback
title rescue shell
kernel /boot/vmlinuz.old root=/dev/sda1 init=/bin/bb
savedefault

Строка default saved сообщает Grub, что номер пункта меню надо взять из /boot/grub/default (если таковой отсутствует, будет выбран первый пункт). Итак, Grub загружает первый пункт, затем Ваше новое ядро и строка savedefault устанавливают в качестве умолчательного пункт 1, то есть второй в меню (помните, Grub считает от нуля). Параметр panic=10 означает, что в случае паники ядра система перезагрузится через десять секунд, а Grub использует второй пункт.

Этого должно быть достаточно, но для большей подстраховки можно повторить этот процесс с ядром, который будет использоваться как второй запасной вариант, если что-то пойдет неправильно. Этот окончательный выбор просто использует savedefault, который сохраняет себя по умолчанию. Вы могли отметить незначительный изъян этого процесса: Ваш запасной вариант всегда сохраняется как новый по умолчанию, даже если удастся загрузиться. Это лечится с помощью запуска команды

grub-set-default 0

в конце удавшейся загрузки, обычно в скрипте rc.local, но это зависит от Вашего дистрибутива.

Хотя данная методика сложнее, чем -R в Lilo (имеется и более простая альтернатива), она намного полезнее, поскольку всегда действенна. При каждой перезагрузке компьютера без полного завершения процесса загрузки он переключается на старое ядро, а Lilo требует для этого задания команды.

Часто задаваемые вопросы: Fish

  • Имеет ли это какое-то отношение к обитателям водоемов?
    Нет, это серьезная тема.
  • Тогда что это?
    Это сокращение от FIles (Файлов), передаваемых через протокол SHell (оболочки). Проще говоря, он дает доступ к файлам на удаленной машине только через SSH (или RSH). На удаленной машине не нужно никакого специального ПО, кроме SSH и стандартных команд оболочки. На вашем ПК должны стоять FISH-программы для доступа к этим файлам.
  • А где взять такое ПО?
    Скорее всего, оно у вас есть: Midnight Commander поддерживает Fish. Наберите cd /#sh:user@hostname/some/path в Midnight Commander, и получите список содержимого /some/path на удаленной машине. Если опустить часть user@, будет использовано текущее имя пользователя.
  • Выходит, через FISH кто-то может читать файлы на моем компьютере?
    Нет, потому что используется SSH. Задайте аутентификацию по ключу или ставьте пароль на учетную запись: тогда доступ сможете получить только вы.
  • Ну, ладно, но Midnight Commander малость устарел, а? В смысле, это ведь консольная программа, а как насчет GUI?
    Вы используете KDE? Если да, то откройте Konqueror (или мини-консоль по Alt+F2) и наберите fish://user@hostname/some/path Используя магию KIO slaves, эта команда загрузит удаленную директорию в Konqueror. Благодаря свойству разбиения Konqueror на два окна, легко сравнивать или переписывать локальную и удаленную копии директорий.
  • Итак, я могу использовать это для управления файлами в Konqueror или Midnight Commander?
    Управление файлами – это еще не все. Любое приложение KDE, работающее с файлами, может получать их через FISH. Хотите отредактировать файл на вашем web-сервере на другом конце земного шара? Просто наберите kate fish://me@my.server/iffypagename.html для загрузки его в Kate, и при нажатии Save модифицированный файл отправится обратно на сервер. Конечно, web-страницами вы не ограничены: столь же удобно использовать это для редактирования файлов конфигурации.
  • Значит, можно использовать FISH для управления файлами на службах удаленного резервирования, вроде Rsync.net или StrongSpace?
    К сожалению, нет. FISH предусмотрен только для входа через учетную запись с правами запуска базовых команд оболочки. Эти сервисы не дают установить полный вход в оболочку, и FISH не работает, но есть альтернатива. SSHFS (http://fuse.sourceforge.net/sshfs.html) – файловая система FUSE, позволяющая монтировать себя на учетных записях с возможностью только копировать файлы (scp или rsync), но требуется монтировать удаленную файловую систему, даже если нужно взять всего один файл.

Краткая справка DVD-CSS

Это из-за системы DVD Content Scrambling System (CSS) большинство коммерческих DVD не проигрывается мультимедиа-проигрывателями Linux при установке «из коробки». CSS пресекает копирование DVD-видео за счет шифрования данных на диске. Ключ шифрования хранится в специальной области диска, не доступной стандартным устройствам записи DVD. В пустых DVD+/-RW эта область заполнена нулями. Если сделать прямую копию DVD, зашифрованного CSS, скопируются все зашифрованные данные, но не ключ к шифру.

Алгоритм CSS был раскрыт тремя людьми. Двое из них предпочли остаться анонимами, третьим был подросток Йон-Лех Йохансен [Jon Lech Johansen], известный как «Йон-DVD». Эти трое создали DeCSS, впоследствии включенную в библиотеку libdvdcss. Если она установлена, проигрыватели Linux могут использовать ее для воспроизведения зашифрованных DVD.

Правовой статус DeCSS темен: Йон-DVD даже был однажды арестован, но не осужден, и за использование libdvdcss пока никого не посадили. Но риск велик, так что практически нет дистрибутивов, включающих поддержку CSS по умолчанию. Установка библиотеки – задача тривиальная, и она оставлена на усмотрение пользователя. Многие дистрибутивы имеют неофициальные сайты с подходящими пакетами, или можно установить ее из исходных текстов.

Установка libdvdcss позволяет всем DVD-проигрывателям показывать коммерческие DVD без каких-либо дальнейших действий.

Персональные инструменты
купить
подписаться
Яндекс.Метрика