Ru-Board.club
← Вернуться в раздел «UNIX»

» OpenSuSE

Автор: sLO
Дата сообщения: 24.01.2008 09:06
Граждане, помогите начинающему линуксоиду, или если вопрос уже поднимался (хотя по поиску не нашел) ткните где прочесть можно.

Следущая ситуация: имеется SuSe 10.2 в процессе установки кодеков слетела кде. Вроде бы что-то там из необходимых файлов удалилось, как это могло произойти - хз. Консоль грузится нормально, но на startx не реагирует. Вопросы:
- как посмотреть, каких пакетов не хватает для загрузки?
- как их установить?
Либо посоветуйте другую последовательность действий для поднятия иксов.
Автор: lopen3
Дата сообщения: 24.01.2008 09:57
sLO
У тебя вместе с кодеками подцепились какие-то новые библиотеки. Наверняка при установке yast ругался, а ты ответил ignore...
1. startx оставляет логи в твоём home - смотри где чего разъехалось
2. yast работает и в текстовом режиме - можно откатить изменения
Автор: sLO
Дата сообщения: 24.01.2008 10:31
lopen3

Цитата:
2. yast работает и в текстовом режиме - можно откатить изменения

Как?
Автор: lopen3
Дата сообщения: 24.01.2008 10:40
sLO
весьма криво и не удобно, но можно.
1-й вариант
* отфильтровать пакеты по Installation source
* просмотреть версии пакетов (закладка Version ...)
* вернуть на исходную/дистрибутивную версию
2-й вариант
* смотреть зависимости пакетов от кодеков
* возвращать на исходную/дистрибутивную версию
Автор: GukaR
Дата сообщения: 24.01.2008 15:32
Возврашаюсь к вопросу по ALSA , Почему если я стираю конфигурацию sound в YAST после перезапуска компа звук всёравно грузится, хотя в Yast стоит карта не настроена? Я ни как не пойму почему так не стабильно работает звук, то нормально , то после очередной перезагрузки компа начинает заикаться, Хотя под виндой и 10.1 работает всё стабильно.
Автор: CoolKonig
Дата сообщения: 27.01.2008 09:44
Поставил OpenSUSE 10.3 на ноут ASUS A6M, завелся только с выключенным acpi=off. Все работает отлично, но есть две проблемы - заряд батареи конечно не показывает и выключаться не хочет. Можно ли что-то сделать? как-нибудь включить поддержку acpi?
Автор: GukaR
Дата сообщения: 27.01.2008 10:54
Попробуй этот скрипт https://bugzilla.novell.com/attachment.cgi?id=89097 и почитай https://bugzilla.novell.com/show_bug.cgi?id=182234
Автор: Crusader
Дата сообщения: 28.01.2008 07:34
lopen3
Докладаю:

У федоры Xorg - 7.3 у сузи 7.2
Ядро федора - 2.6.23 сузи - 2.6.22
-----
А проблему нашел. Она была в .... мышке!!!! Он ее определял как логитек блютуз че-та-там. Когда вручную указал, что это просто mouse - все стало нормально и стабильно.
-----
Насчет мотокросса - официально он называется X-Moto. Можно посмотреть в репозитариях - в 10.3 он идет в комплекте, я его не качал.
-----
Теперь в ближайших планах compiz поднять и покрутить...
Автор: kingoff
Дата сообщения: 30.01.2008 01:50
Приветствую. Поставил я openSUSE 10.3, все прошло успешно. Но теперь при запуске системы горизонтальные размытые полосы. Видюха определилась правильно. GeForce 6600 AGP. Единственное я поменял глубину цвета на 24 (стояло 16), но это думаю не важно..
Теперь хочу попробовать дрова переставить, (в дистрибе же идут на nVIDIA или их нужно качать?) но как это сделать ума не приложу..
Еще нашел у людей похожую проблему, помогло отключение xgl. От сюда следующий вопрос: как отключить xgl?
Автор: aaz1
Дата сообщения: 30.01.2008 06:23
kingoff
В дистрибе урезанные дрова без 3D. Надо подключить репозитарий Nvidia и установить дрова из него. На сайте nvidia подробно написано как и что.
Автор: kingoff
Дата сообщения: 30.01.2008 18:47

Цитата:
На сайте nvidia подробно написано как и что.

На сайте пишут как установить из интернета, но мне хотябы иксы запустить, уже не говоря об установке соединения..
Посмотрел на офсайте SUSE вроде понятно, 4 команды. Но не пишут в какую папку запаковку драйвера ложить.
Качаю из под винды. И еще трабла с Ext2IFS. Может кто сталкивался, был бы признателен за любую помощь.

Добавлено:
Да, так же почитал насет отключения xgl, ни одна команда

Цитата:
gnome-xgl-settings
gnome-xgl-switch –disable-xgl

не работает..
Автор: GukaR
Дата сообщения: 30.01.2008 20:21
Yast запусается и без Х-ов ,зайди под root ,Yast2, настрой сеть ( хотя это лучше было бы зделать при инсталяции) ,выбери репозиторий Nvidia, установи дровишки. А XGL у тебя не установлена ещё, так что и отключаться нечему.
Автор: Gorislov
Дата сообщения: 30.01.2008 21:05
kingoff Вот нарыл у себя статейку может поможет, когда-то брал на сайте http://www.suseclub.ru/ (куда он делся только)

Установка драйверов NVIDIA на SuSe Linux 10.0 и SuSe Linux 10.1

Примечание. Для установки драйверов необходимо знать пароль root.

Автоматическая установка драйверов.

Автоматическая установка драйверов доступна пользователям SuSe 10.0 (в SuSe 10.1 данная опция, к сожалению, не поддерживается). Для того, чтобы установить драйвер, нужно воспользоваться онлайн обновлением (необходимо подключение к интернету). Попасть туда можно либо перейдя Yast – Software - онлайн обновление, либо через SuSe Watcher – нажать кнопку “Start online update”. В обеих случаях будет запрошен пароль root, после чего откроется окно программы онлайн обновления. Необходимо выбрать один из предложенных серверов, отметить крестиком окошко «выбирать модификации вручную» и нажать «дальше». Во вновь открывшемся окне нужно в разделе «фильтр» выбрать «заплатки YOU», в разделе «показать категорию заплатки:» выбрать «все заплатки» после чего найти в списке Download NVIDIA(r) Graphics Driver, отметить галочкой в квадратике и нажать кнопку «принять». После чего появится окно с лицензией, прочитав которую, нужно согласиться с её пунктами для установки драйвера. Дальнейший процесс не требует активного участия, за исключением нажатия на кнопку «завершить» после успешной установки. После установки драйвера необходимо перезагрузить х-сервер нажав Ctrl+ Alt+ Backspace.

Достоинства метода: Просто и не требует специфических знаний о системе в целом.

Недостатки: После перезагрузки системы можно с удивлением обнаружить, что пропали консоли, т.е. при нажатии Ctrl+ Alt+ F1-F6 открывается абсолютно черное окно, кроме того, при выключении системы, вместо привычной сплеш заставки открывается зеленое окно с артефактами. Исправить положение можно добавив в файл /etc/X11/xorg.conf строку:

Option "NoInt10" "true"

в раздел Section "Screen".

Для исправления файла xorg.conf необходимы права root. Для начинающих проще всего воспользоваться файловым менеджером (с root привилегиями). В меню КДЕ он находится в Система – файловые менеджеры. Открыв файловый менеджер и введя пароль root нужно перейти в директорию /etc/X11, нажать правой кнопкой на иконку файла xorg.conf и в ниспадающем меню выбрать «открыть в». По умолчанию там есть два текстовых редактора. Выбрать можно любой. После внесения изменений файл нужно сохранить. При этом исходный файл будет сохранен в виде резервной копии. При необходимости его можно восстановить, просто переименовав в исходное имя.
Установка драйверов из rpm пакетов.

Для установки драйверов с применением rpm пакетов для SUSE 10.1 / SLED 10 необходимо подключить репозиторий NVIDIA. Для этого выбираем в меню Yast – вводим пароль root – Источник установки. В открывшемся окне нажимаем кнопку добавить и выбираем ftp. В новом окне в разделе Имя сервера записываем download.nvidia.com, в разделе Каталог на сервере вписываем novell, и нажимаем ОК.

После добавления источника нажимаем кнопку Завершить. Теперь можно в разделе Yast -Управление программным обеспечением установить необходимые пакеты. Это 2 пакета:

* x11-video-nvidia
* nvidia-gfx-kmp-"kernel-flavor"

вместо "kernel-flavor"- должно быть название установленного у вас кернел. Узнать это можно с помощью команды uname -r выполненной в консоли.

Т.е возможные варианты -это nvidia-gfx-kmp-kernel-default, или nvidia-gfx-kmp-kernel-smp или nvidia-gfx-kmp-kernel-bigsmp.

Потом от рута выполняем команду sax2 -r для конфигурации Х-сервера. Достоинство этого метода заключается в том, что нет необходимости ничего менять при обновлении ядра. Однако, если вы хотите иметь новейшие версии драйверов, вам следует воспользоваться следующим методом.

Ручная установка драйверов.

Перед установкой драйвера нужно убедиться, что в системе установлены необходимые пакеты. Для SuSe это kernel-source, make и gсс. Заходим в Yast – Software – Software Management (Yast – Программное обеспечение - Управление программным обеспечением) и проверяем установлены ли эти пакеты, и, при необходимости, доустанавливаем их.

Внимание! Версия kernel-source должна соответствовать установленному kernel.

Теперь нужно скачать необходимый нам драйвер с http://www.nvidia.ru/object/linux_ru.html в соответствии с конфигурацией вашего компьютера. Рекомендую поместить скачанный драйвер в вашу домашнюю папку ( Дело в том, что установка драйвера происходит вне графического режима и при установке необходимо указать путь к драйверу. Запомнить же /home/you_login ( где you_login – логин вашей учетной записи) не составит особого труда). Если же вы поместили драйвер в другую папку рекомендую записать на бумаге полный путь к нему.

Установка драйвера.

Если вы находитесь в иксах т.е. в графической системе (runlevel 5 – многопользовательский, с иксами и сетью) - вам нужно перейти на runlevel 3 ( многопользовательский, без иксов и с сетью). Для этого откройте терминал (его иконка находится на рабочей панели в виде черного экранчика), наберите команду su и нажмите Enter, после чего введите пароль root и снова нажмите Enter. Таким образом вы получите временно привилегии root. Теперь перейдем на runlevel 3, для чего наберем команду

# init 3

Система выйдет из иксов, откроется консоль, где в текстовом режиме будет сообщение о завершении runlevel 5 и переходе в runlevel 3. В конце будет приглашение Login. Так как установка драйверов требует права root, то после Login мы пишем root, нажимаем Enter, вводим пароль root и снова нажимаем Enter. Теперь перейдем в папку, где лежит драйвер при помощи команды cd. Если драйвер находится в вашей домашней папке, то команда выглядит так:

# cd /home/you_login

где you_login – логин Вашей учетной записи

Если драйвер в другой папке делаем так:

# cd /ваш_путь_к_файлу

Теперь запустим собственно установку драйвера. Последний на время написания драйвер для 32битных платформ называется так: NVIDIA-Linux-x86-1.0-8762-pkg1.run. Запускаем установку командой:

# sh NVIDIA-Linux-x86-1.0-8762-pkg1.run -q

Для других платформ название драйвера соответственно другое.

Примечание. Для ускорения набора команд в консоли очень удобно использовать клавишу «Tab». Для набора, например, названия папки /home достаточно набрать /h и нажать «Tab». Для набора команды запуска драйвера можно набрать:

sh NV (нажать «Tab») -q.

Клавиша «Tab» дополняет строку, если нет других команд, папок, файлов на эту букву. Если же таковые есть, будет подан звуковой сигнал. При повторном нажатии на «Tab» будут показаны возможные опции, если опций слишком много, будет запрошено показывать ли их всех.

После запуска программы установки драйвера откроется окно в псевдографике, где будет предложено ознакомиться с лицензией. Ознакамливаемся и нажимаем «Accept». (Для перехода между опциями используются клавиша «Tab» или стрелки, для выбора опции - клавиша «Enter»). Инсталятор сообщит, что прекомпилированные модули для данной версии ядра не обнаружены и предложит поискать в интернете. Милостиво согласимся, и, после недолгих поисков будет сообщено, что указанный модуль всё равно не обнаружен и предложено скомпилировать его. Соглашаемся и через некоторое время получаем сообщение, что установка прошла успешно. Также будет предложено сконфигурировать х-сервер при помощи sax2. Последний раз жмем ОК и инсталятор прекращает свою работу.

Для ускорения работы инсталятора можно добавить к команде еще несколько ключей:

* -a --accept-license чтобы не приставало с лицензией.
* -N, --no-network не лезть в инет .. там все равно нету.
* -n: --no-precompiled-interface : это чтоб точно нигде не искал.
* ключ -q, означает no-questions : отвечать на все вопрсы "yes"

т.е если у вас нет интернета и вы однозначно согласны с лицензией команда для установки выглядит следующим образом:

# sh NVIDIA-Linux-x86-1.0-8762-pkg1.run -a -q -N -n

Последний шаг - конфигурация х-сервера при помощи sax2. Для этого пишем:

# sax2 -r -m 0=nvidia

где 0 – это цифра, а не буква!

sax2 запустит иксы и покажет тестовую страницу. Если параметры Вас устраивают, сохраняемся. Если нет, вносим изменения и сохраняем. После чего нас снова вернет в текстовый режим.

Для перехода в графический режим (runlevel 5) набираем команду init 5.

Если Вы по какой либо причине обновляли ядро , то после загрузки системы иксы могут не запуститься, с сообщением об отсутствии модуля nvidia. Для исправления этой ситуации логинимся под рутом, переходим на runlevel 3 при помощи команды init 3, заходим в папку, где лежит драйвер и подаем команду:

# sh NVIDIA-Linux-x86-1.0-8762-pkg1.run -K

разумеется, с именем того драйвера, что у Вас установлен. Затем повторяется процесс установки драйвера, включая конфигурацию х-сервера при помощи sax2.

Данный материал описывает только базовую установку драйверов NVIDIA и не претендует служить исчерпывающим руководством.

Автор: kingoff
Дата сообщения: 30.01.2008 23:17
Господа, не ужели не возможно добавить репозитарии в сусе локально?
Автор: lopen3
Дата сообщения: 31.01.2008 08:41
kingoff
Ты имеешь в виду поставить уже скачанные rpm'ы? Я не знаю какой умник в SuSe это придумал - тебе поможет волшебная команда yum
Автор: nakonectozaregilsya
Дата сообщения: 31.01.2008 11:27
Есть образ openSUSE-10.3-GM-KDE-Live-i386.iso. После установки появляется приглашение залогиниться, набираю root нажимаю Enter, получаю надпись Have a lot of fun...и всё. А как дальше запускать собственно KDE? Я заранее извиняюсь за скорей всего глупый вопрос, просто я только начал осваивать Linux. Поискал по теме в версии для печати, не нашел схожего вопроса. Или ткните просто носом в мануал. А то на офсайте документации именно по openSUSE-10.3-GM-KDE-Live-i386 не нашел.
Заранее спасибо.
Автор: lopen3
Дата сообщения: 31.01.2008 11:50
nakonectozaregilsya
Твой вопрос не имеет специфики SuSe ни капли - почитай лучше литературу по linux.
варианты:
1) init 5
2) xdm
возможно сперва потребуется настроить X сервер с помощью sax2
Автор: nakonectozaregilsya
Дата сообщения: 31.01.2008 11:58
Вообще как-то не очень логично получается. Live-Cd и позиционируется как средство для быстрого ознакомления с операционкой без установки на винт. Да и некоторое время назад пробовал PcBSD, там вроде тоже KDE, так там все запускалось без допдействий.
Автор: valhalla
Дата сообщения: 31.01.2008 12:55
kingoff

Цитата:
Господа, не ужели не возможно добавить репозитарии в сусе локально?

Create a Local Yum Repository
Автор: oleslav
Дата сообщения: 01.02.2008 04:46
приветствую уважаемых!
такая проблемма:
поставил SLES 10.3. из нестандартного только SAMS и CommuniGate.
на сервере 2е сетьевухи(соответсвенно одна смотрит в инет(статичным интерфейсом), вторая в локалку. http раздаеться через проксю. но есть проги, которым надо открыть ftp порты(20:21) вовне, т.к. в них прописать прокси нет возможноти. пришлось открыть "трансляцию сетьевых адресов". на этом этапе все работает(когда в правилах SFW2 прописано, что маскарадить 0/0 или 192.168.0.0/24 (правда ftp клиенты цепляються только в пассивном режиме, но и это уже неплохо). проблемма в другом - как только в настройках SFW2 меняешь маску на 192.168.0.0/24,0/0,tcp,20:21 - ftp клиенты из локалки работать перестают, вроде к серваку цепляються, но выдают 500 ошибку - команда порт не выполнена ;( пробовал зацепиться по другим портам телнетом, к примеру по 110 на pop.mail.ru цепляеться... не мгу понять, где собака порылась ;( может скорости где не хватает, что-бы маскарадить ftp? но с другой стороны если открывать все - то скорости хватает вполне
Автор: CoolKonig
Дата сообщения: 01.02.2008 08:39
Подскажите кто знает, у меня на ноутбуке ASUS видеокарта nvidia Ge Force Go 6100. Если ставить драйвер Ссылка, то при перезагрузке система падает. Где можно найти драйвер для для данной ноутбучной модели, нашел здесь для Ubuntu и Debian Ссылка, но ставить под OpenSUSE не рискую.

Добавлено:

Цитата:
Поставил OpenSUSE 10.3 на ноут ASUS A6M, завелся только с выключенным acpi=off. Все работает отлично, но есть две проблемы - заряд батареи конечно не показывает и выключаться не хочет. Можно ли что-то сделать? как-нибудь включить поддержку acpi?

После того как поставил ядро последнее стабильное 2.6.24 и в настройках загрузки выставил nosmp noapic, все заработало - заряд батареи показывает, выключается... только не засыпает.
Автор: oleslav
Дата сообщения: 01.02.2008 11:49
Блин... долазился... КДЕ упало нафиг ;( загрузка останавливаеться на модуле suseRegister... не хотит его запускать... выдает 5 ошибку и все... хорошо-хоть остальные служба нормально запустились
собственно вопрос - за что это модуль отвечает, и от чего такую фигню выдает?
сорри! проблемма решене! все нормально было на самом деле... просто системма по дефолту на 3 уровне стартовала, естественно без графического ядра
с маскарадом ftp портов пока не разобрался. ни в какую не хочет даже в пассивном режиме работать ;(
Автор: Crusader
Дата сообщения: 07.02.2008 07:41
Вопросы по compiz-fusion наверное уже оскомину набили всем, но тем не менее.

После установки с локального репозитария (выкачал) все ставится-запускается но:
Куб вращается и кнопками (ctrl+alt+ -> < и из панели при переключении столов,

НО окна не перемещаются. Вернее не так. Мышь двигается, можно взять заголовок окна и перемещать, но перемещение не отрисовывается. Только если переключится на другой рабочий стол, а потом назад - окно уже будет стоять в новом месте.
Тоже самое с терминалами, печатаешь - не видно ничего, стол переключил - вернул - надписи в терминале на месте.

Куда смотреть то? Декорации окон?
Автор: b1t
Дата сообщения: 07.02.2008 12:46
такая проблема:
Иммется комп, ОС SAM LINUX, но это на основе SUSE сделано.
Там мне надо сделать так, чтоб использовал именно те DNS адреса, который я записываю, а не те, который дает DHCP.
а то напишу IP для DNS, после перезагрузки сбиваются.
Я отключил ПОЛУЧИТЬ DNS от DHCP, но этот раз после перезагрузки ничего не получил.
Я редакрировал файп /etc resolv.conf, но там тоже, как назло, после перезагрузки переходит по умолчанию.
Как заставить использовать мои DNS адреса??
Автор: KIP4
Дата сообщения: 09.02.2008 19:54
OpenSUSE 10.3 KDE
(если уже было, киньте ссылкой в этом топике. )
1.Проблемы с настройкой Realtek на чипе ALC882 (ASUS P5WD2 Premium, intel 955)
Звук из наушников я слышу (правда намного тише, чем в NT), в линуксе он висит на канале PCM, из колонок звука не слышно. Переназначение входов/выходов возможно и включение звука в колонках?
2. (сотни раз наверно объяснялось)
При запуске Sax2 пишет что не включена поддержка 3D (NVIDIA 7900GS), в итоге Compiz Fusion не работает. Настройка, описанная на офсайте, тоже не помогла.
3. Amarok, как я понимаю, из lossless только FLAC проигрывает. Какие из проигрывателей работают с ape+cue/flac+cue?

Автор: GukaR
Дата сообщения: 10.02.2008 08:44
1. Поиграй с переключателями в КMix
2.Установи дрова от Nvidia, выше уже описано как это делается
3. Я не вкурсе
Автор: VladMiron
Дата сообщения: 11.02.2008 09:55
Есть два винта в системе. Разбиты по-страшному, но менять ничего не хочу. То есть реально нужны (для работы) две ОС уже установленных (Windows Server 2003 и Windows XP Prof). Освободил место на одном из HDD (30 Gb), не форматировал, файловой системы не создавал. При установке OpenSUSE 10.3 установщик создает два раздела в неразмеченной области и лезет в один из разделов Windows, пытаясь создать в нем swap. Боязно что-то - данные опасаюсь потерять...
И ещё - на компе сейчас установлен OS Selector от Acronis. Что сделать, чтобы он подхватил SUSE и прописал в список ОС. (Перед этим экспериментировал с Fedora, так её он не подхватил).
Автор: sda00
Дата сообщения: 11.02.2008 17:10
VladMiron

ставь в режиме экспертной установки с ручным разбиением дисков и указанием точек монтирования.

imo - если есть 30 гигов на винте - большего и не надо. если 30-ка на extended - то сделай два logical partitions: под swap=1.5xRAM и остальное для / (root раздела). Можешь сделать из 30-ки один primary (Linux-у фиолетово куда ты его засунешь) для root-раздела, а swap потом организовать в виде отдельного файла (как в винде сделали).

imo - Acronis - галимое быдлоподелие, попробуй GRUB ставить в bootsector of a root partition (не пинай в MBR), хотя, если у тя два винта, то логично предположить, что в MBR одного из них "живёт" акронис, а в MBR второго можно засадить GRUB.
Автор: Begemotus
Дата сообщения: 11.02.2008 21:31
Господа, а как правильно бэкапить live систему? Диск разбит без LVM - насколько понимаю снапшоты делать нельзя?
Автор: HighwayStar
Дата сообщения: 12.02.2008 04:54
KIP4

Цитата:
3. Amarok, как я понимаю, из lossless только FLAC проигрывает. Какие из проигрывателей работают с ape+cue/flac+cue?

Амарок прекрасно понимает FLAC+CUE.Во время воспроизведения нажми справа на вкладку "Контекст" (првая сверху). В панели справа появится список треков, взятый из CUE файла.
APE может играться в xmms с плагином xmms-mac и библиотеками apetag и libmac2 из репозитария пакмана.
Эти пакеты можешь легко найти и установить в один клик по ссылке http://packages.opensuse-community.org/
Вообще лучше поставить еще пакет mac и сконвертировать все ape вщ flac вот этим свкриптом найденном на просторах интернета.
[more=convtoflac.sh]#!/bin/bash

# -----------------------------------------------------------------------------
#
#    App Title: convtoflac.sh
#    App Version: 1.1
#    Author: Jared Breland <jbreland@legroom.net>
#    Homepage: http://www.legroom.net/mysoft
#
#    Script Function:
#        Convert losslessly compressed audio file to FLAC format, preserving tags
#        Currently supports FLAC, Monkey's Audio (APE), Shorten, WAV, and WavPack
#
#    Instructions:
#        Ensure that all programs are properly set in "Setup environment"
#
#    Caveats:
#        Transcoded files will retain original file name, but use .flac extension
#        The one exception is for FLAC input files - the original input file will
#            be renamed <name>_old.flac, and the transcoded file will be named
#            <name>.flac.
#
#    Requirements:
#        The following programs must be installed and available
#        sed (http://sed.sourceforge.net/)
#            used to handle case sensitivity and tag processing
#        flac/metaflac (http://flac.sourceforge.net/)
#            used to create and tag new FLAC files
#        mac (http://sourceforge.net/projects/mac-port/)
#            used to decompress APE files
#        apeinfo (http://www.legroom.net/mysoft)
#            used to read tags from APE files
#        shorten (http://etree.org/shnutils/shorten/)
#            used to decompress Shorten files
#        wvunpack (http://www.wavpack.com/)
#            used to decompress WavPack files
#
#    Please visit the application's homepage for additional information.
#
# -----------------------------------------------------------------------------

# Setup environment
PROG=`basename $0`
SED=/usr/bin/sed
FLAC=/usr/bin/flac
METAFLAC=/usr/bin/metaflac
MAC=/usr/bin/mac
APEINFO=/usr/local/bin/apeinfo
SHORTEN=/usr/bin/shorten
WVUNPACK=/usr/bin/wvunpack
DELETE=""
COMPRESS="8"

# Function to display usage information
function warning() {
    echo -ne "Usage: $PROG [-h] [-cN] [-d|-p] <filename>\n"
    echo -ne "Convert losslessly compressed audio file to FLAC format, preserving tags\n"
    echo -ne "\nOptions:\n"
    echo -ne " -h Display this help information\n"
    echo -ne " -cN Set FLAC compression level, where N = 0 (fast) - 8 (best); default is 8\n"
    echo -ne " -d Delete file after conversion\n"
    echo -ne " -p Prompt to delete file after conversion\n"
    echo -ne "\nSupported input formats:\n"
    echo -ne " FLAC (.flac)\n"
    echo -ne " Monkey's Audio (.ape)\n"
    echo -ne " Shorten (.shn)\n"
    echo -ne " WAV (.wav)\n"
    echo -ne " WavPack (.wv)\n"
    exit
}

# Function to parse wvunpack output to find tags and convert to VORBISCOMMENT
function wvtags() {
    TAGS2=${TAGS}.wv
    $SED -i "/ = /w${TAGS2}" $TAGS
    $SED -i "s/ = /=/" $TAGS2
    $SED -i 's/\(.*\)=/\U\1=/' $TAGS2
    $SED -i "s/TRACK=/TRACKNUMBER=/;s/YEAR=/DATE=/;s/COMMENT=/DESCRIPTION=/" $TAGS2
    mv $TAGS2 $TAGS
}

# Process arguments
if [[ $# -eq 0 ]]; then
    warning
else
    while [ $# -ne 0 ]; do
        [ "$1" == "-h" ] && warning
        [ "$1" == "-d" ] && DELETE=force
        [ "$1" == "-p" ] && DELETE=prompt
        [ "${1:0:2}" == "-c" ] && COMPRESS="${1:2}"
        FILE=$1
        shift
    done
fi

# Validate COMPRESS setting
if [[ "$COMPRESS" != [0-8] ]]; then
    echo "Error: FLAC compression level must be between 0 and 8"
    exit
fi

# Determine file type and base filename
NAME=${FILE%.*}
EXT=`echo "${FILE##*.}" | $SED 's/\(.*\)/\L\1/'`

# Exit if wrong file passed
if [[ "$EXT" != "ape" && "$EXT" != "flac" && "$EXT" != "shn" && "$EXT" != "wav" && "$EXT" != "wv" ]]; then
    echo "Error: $FILE is not a supported input format"
    exit
fi

# Verify apps exist
if [ ! -e $FLAC ]; then
    echo "Error: cannot find flac binary"
    MISSING=true
fi
if [ ! -e $METAFLAC ]; then
    echo "Error: cannot find metaflac binary"
    MISSING=true
fi
if [[ "$EXT" == "ape" && ! -e $APEINFO ]]; then
    echo "Error: cannot find apeinfo binary"
    MISSING=true
fi
if [[ "$EXT" == "ape" && ! -e $MAC ]]; then
    echo "Error: cannot find mac binary"
    MISSING=true
fi
if [[ "$EXT" == "shn" && ! -e $SHORTEN ]]; then
    echo "Error: cannot find shorten binary"
    MISSING=true
fi
if [[ "$EXT" == "wv" && ! -e $WVUNPACK ]]; then
    echo "Error: cannot find wvunpack binary"
    MISSING=true
fi
[ -n "$MISSING" ] && exit

# Original FLAC file will need to be renamed - abort of file already exists
if [[ "$EXT" == "flac" ]]; then
    if [[ -e "${NAME}_old.flac" ]]; then
        echo -e "Error: \"${NAME}_old.flac\" already exists: could not rename input file"
        exit
    else
        mv -i "$FILE" "${NAME}_old.flac"
        FILE="${NAME}_old.flac"
    fi
fi

# Transcode file
if [ "$EXT" == "ape" ]; then
    $MAC "$FILE" - -d | $FLAC -$COMPRESS -s -o "$NAME.flac" -
elif [ "$EXT" == "flac" ]; then
    $FLAC -d "$FILE" -c | $FLAC -$COMPRESS -s -o "$NAME.flac" -
elif [ "$EXT" == "shn" ]; then
    $SHORTEN -x "$FILE" - | $FLAC -$COMPRESS -s -o "$NAME.flac" -
elif [ "$EXT" == "wav" ]; then
    $FLAC -$COMPRESS -o "$NAME.flac" "$FILE"
elif [ "$EXT" == "wv" ]; then
    $WVUNPACK "$FILE" -o - | $FLAC -$COMPRESS -s -o "$NAME.flac" -
fi

# Abort if transcode failed
if [ $? -ne 0 ]; then
    echo -e "\nError: \"$FILE\" could not be converted to a FLAC file"
    if [[ "$EXT" == "flac" ]]; then
        mv "$FILE" "$NAME.flac"
    fi
    exit
fi

# Copy tags
if [[ "$EXT" == "ape" || "$EXT" == "flac" || "$EXT" == "wv" ]]; then
    echo -ne "\nCopying tags..."
    TAGS=/tmp/$PROG.$RANDOM.tags
    if [ "$EXT" == "ape" ]; then
        $APEINFO -t "$FILE" >$TAGS
    elif [ "$EXT" == "flac" ]; then
        $METAFLAC --export-tags-to=$TAGS "$FILE"
    elif [ "$EXT" == "wv" ]; then
        $WVUNPACK -qss "$FILE" >$TAGS
        wvtags
    fi
    if [[ $? -ne 0 || ! -s "$TAGS" ]]; then
        echo -ne "\nWarning: tags could not be read from \"$FILE\"\n"
    else
        $METAFLAC --import-tags-from=$TAGS "$NAME.flac"
        if [[ $? -ne 0 ]]; then
            echo -ne "\nWarning: tags could not be written to \"$NAME.flac\"\n"
        else
            echo -ne " complete\n"
        fi
    fi
    rm $TAGS
fi

# Delete old file
if [ "$DELETE" == "prompt" ]; then
    echo -ne "\nDelete \"$FILE\"? "
    read -e DELPROMPT
    if [[ "$DELPROMPT" == "y" || "$DELPROMPT" == "Y" ]]; then
        DELETE=force
    fi
fi
echo -ne "\nConversion complete - "
if [ "$DELETE" == "force" ]; then
    rm "$FILE"
    echo -ne "deleted"
else
    echo -ne "kept"
fi
echo -ne " \"$FILE\"\n"
[/more]

Зы добавил в шапку сылку на поисковип пакетов для SUSE

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465

Предыдущая тема: Suse 9.3 Pro, recover bootloader


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.