Programs and documents can be added to the registry so typing their name without their path in the Start – Run dialog box or shortcut enables Windows to find them.
This is a generic reg file. Copy the lines below to a new Text Document and save it as anyname.reg. Edit it with your programs or documents.
In paths use \
to seperate folder names in key paths as regedit uses a single to seperate it’s key names. All reg files start with REGEDIT4. A semicolon turns a line into a comment. The @ symbol means to assign the value to the key rather than a named value.
The file doesn’t have to exist. This can be used to set Word.exe to open Winword.exe.
This sample add IE.Txt (from IE5) to the registry so typing IE.Txt will open it. I think the file is called IE4.txt in IE4.
REGEDIT4
;The bolded name below is the name of the document or program, <filename>.<file extension>
[HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionApp PathsIE.txt]
;The @ means the path to the file is assigned to the default value for the key.
;The whole path in enclosed in a quotation mark ".
@=""C:\Program Files\Internet Explorer\IE.txt""
;Optional Parameters. The semicolon means don't process the line. Remove it if you want to put it in the registry
;Informs the shell that the program accepts URLs.
;"useURL"="1"
;Sets the path that a program will use as its' default directory. This is commented out.
;"Path"="C:\Program Files\Microsoft Office\Office\"
reg
command can read or write to the registry in batch. Register it as if it’s an exe file not a batch file.
В этой краткой заметке я хочу рассказать как узнать какому пакету принадлежит файл Linux, мы рассмотрим как решить эту задачу не только в Ubuntu, но и в других популярных дистрибутивах. Такая задача возникает очень редко. Например, вы чистите систему, увидели странный файл, или файл который занимает много места и хотите узнать какому пакету он принадлежит, и вообще, нужен ли он здесь. Или другая ситуация вы хотите установить или удалить программу но не помните название пакета, но знаете как называется исполняемый файл.
Для получения такой информации в Ubuntu есть несколько способов. Это стандартная утилита dpkg, которая работает только с существующими файлами, а также инструмент apt-file, позволяющий получить название программы зная имя исполняемого файла. Подобные инструменты есть и для других дистрибутивов.
Узнаем какому пакету принадлежит файл в dpkg
Для того чтобы узнать какому пакету принадлежит файл dpkg имеет опцию -S, правда, выведено будет только имя пакета и адрес файла, например:
dpkg -S /usr/bin/cloud
Теперь если хотим получить информацию о пакете, используем опцию -s:
dpkg -s ncdu
Или объедением эти команды:
dpkg -S /usr/bin/cloud | awk -F: '{print $1}' | xargs dpkg -s
Как узнать имя пакета по файлу в apt-file
Утилита apt-file не является стандартной для системы Ubuntu, поэтому сначала ее нужно установить:
sudo apt install apt-file
Затем нужно обновить базу данных программы, при обновлении загрузиться около 30 Мегабайт данных:
sudo apt-file update
Теперь можно использовать:
apt-file search /usr/bin/ncdu
Узнаем какому пакету принадлежит файл в rpm
В системах на базе Red Hat Linux тоже можно выполнить аналогичное действие. Здесь вместо dpkg используется консольная утилита rpm. Для получения информации о пакетах используется опция -q, если комбинировать ее с опцией -f и передать адрес файла, мы сможем узнать какому пакету принадлежит файл:
rpm -qf /bin/ls
Хотите более подробной информации о пакете, добавьте опцию -i:
rpm -qif /bin/ls
Пакетный менеджер yum, используемый в системах, основанных на Red Hat, тоже умеет искать пакеты по файлу, для этого есть команда whatpovides:
yum whatprovides /bin/ls
Какому пакету принадлежит файл в Arch Linux
ArchLinux использует собственный менеджер пакетов, очень сильно отличающийся от описанных выше. Но здесь тоже можно сделать то, что нам нужно. Для этого есть опция -Qo:
pacman -Qo /usr/bin/pkgfile
Но этот способ работает только для установленных пакетов, если пакет не установлен, можно использовать утилиту pkgfile. Она не поставляется по умолчанию, но ее можно установить:
sudo pacman -S pkgtools
Теперь посмотрим какому пакету принадлежит /bin/evince:
pkgfile evince
Теперь вы можете узнать из какого пакета можно получить нужную вам программу.
Поиск пакета по файлу в Gentoo
Еще один интересный дистрибутив со своеобразной системой работы с пакетами. Здесь пакеты поставляются в виде исходных кодов и скриптов для сборки. Найти пакет по файлу вы можете с помощью утилиты equery, передав ей параметр b. Например:
equery b /usr/bin/qtconfig
x11-libs/qt-qt3support-4.6.2 (/usr/bin/qtconfig)
Такой способ работает только для установленных пакетов. Из-за специфики дистрибутива для не установленных пакетов способа поиска не существует.
Выводы
Теперь вы знаете как понять какому пакету принадлежит файл в любом из самых популярных дистрибутивов Linux. Во всех дистрибутивах, основанных на Ubuntu и Debian, работает dpkg, для RPM-based дистрибутивов подходит утилита rpm. А два остальных менее популярных, но очень интересных мы рассмотрели отдельно. Если у вас остались вопросы, спрашивайте в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .
Об авторе
Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.
Поиск пакетов, содержащих определенный файл
1
В данной статье рассматривается утилита apt-file, которая позволяет найти, к какому пакету относится определенный файл. Утилита работает в Ubuntu-based дистрибутивах.
С ее помощью можно, например, найти в каком пакете находится та или иная программа. Или же можно найти, в какой библиотеке находится заголовочный файл, это иногда нужно при сборке программ из исходных кодов.
Установка apt-file
Установим утилиту apt-file. Выполняем команду:
sudo apt install apt-file
После установки apt-file должна выполнить индексацию репозиториев, чтобы получить актуальную информацию о пакетах. Для этого выполняем команду:
sudo apt-file update
Поиск пакетов
Синтаксис команды apt-file для поиска пакетов следующий:
apt-file <опции> search <имя_файла>
Полезные опции:
- –ignore-case или -i — не учитывать регистр.
- –regexp или -x — рассматривать имя_файла, как регулярное выражение. Используется синтаксис регулярных выражений Perl.
- –package-only или -l — показывать только имена пакетов. Не показывать имена файлов.
- –fixed-string или -F — искать строго по заданному имени_файла (полное вхождение/совпадение).
имя_файла — имя файла (полный путь), часть имени файла или регулярное выражение для поиска среди репозиториев.
Команда apt-file выполняет поиск пакетов, которые содержат внутри себя файлы, соответствующие искомому имени_файла.
Примеры
Рассмотрим несколько примеров.
Найдем пакеты, которые содержат файл fftw3.h:
apt-file search fftw3.h
Найдем пакеты, содержащие файл firefox:
apt-file search firefox
Обратите внимание, что при поиске будут найдены все вхождения слова firefox в путях файлов, это, например, файлы firefox.png и так далее. Поэтому, можно задать более конкретный запрос, указав часть пути:
apt-file search bin/firefox
Пример использования регулярного выражения (используется perl regex):
apt-file -x search fftw_threads.so.*
Список файлов в пакете
Еще одна полезная возможность команды apt-file — это вывод списка файлов внутри определенного пакета. Для этого используется действие show.
Например, выведем список файлов в пакете cowsay:
apt-file show cowsay
Чтобы получить справку по всем возможностям apt-file выполните в терминале команду:
man apt-file
Лайков: +2
Войдите, чтобы ставить лайкимне нравится
Смотрите также
- Основы работы в командной строке Linux
- Сравнение файлов в Linux (команда diff)
- Обзор-сравнение командных оболочек (unix shell): BASH, ZSH, FISH
- Выключение и перезагрузка Linux. Shutdown и Reboot
- Объединение файлов командой cat
- pikaur — современный помощник AUR
- Установка Xfce в Ubuntu и немного впечатлений
- Вывод файла в терминале с нумерацией строк
- Обновление Ubuntu
- Скачиваем сайты целиком — утилита wget
Как пакетный файл найти, где он находится?
Как пакетный файл сам по себе может увидеть, где он находится?
2009-05-25 03:20
2
ответа
Решение
%0 – это имя файла. %~dp0 будет абсолютным местоположением файла, где d – диск, p – путь, а 0 – имя файла.
2009-05-25 03:24
Просто назовите “CD”
set WORKING_DIRECTORY=%cd%
Раньше был%~dp0, но это не работает для меня в Vista.
user64203
25 май ’09 в 03:23
2009-05-25 03:23
2009-05-25 03:23
А какой там пакетный менеджер?
- Ссылка
Ответ на:
комментарий
от xterro 13.03.15 13:10:19 MSK
Ответ на:
комментарий
от sunny1983 13.03.15 13:11:41 MSK
Тогда apt-cache search «имя» + Google, которым можно узнать, к какому пакету принадлежит файл 🙂
xterro ★★★★★
(13.03.15 13:14:04 MSK)
- Ссылка
Ответ на:
комментарий
от grem 13.03.15 13:11:11 MSK
Работает. Проверил в simply linux livecd.
grem ★★★★★
(13.03.15 13:16:45 MSK)
- Ссылка
Попробуй поискать по зависимостям, из синаптика удобно.
Сходу ответить не могу, но например, если я делаю
apt-get install /usr/bin/wesnoth
то вижу
Reading Package Lists… Done
Building Dependency Tree… Done
Selecting wesnoth for ‘/usr/bin/wesnoth’
The following extra packages will be installed:
итд итп
Так что видимо какой-то поиск есть, по крайней мере если знать, где должен лежать файл, то всё работает..
GreyDoom ★★★★
(13.03.15 13:29:21 MSK)
- Показать ответ
- Ссылка
Ответ на:
комментарий
от grem 13.03.15 13:11:11 MSK
нет, не работает.
–names-only – это поиск только по имени пакета без дескрипшна, см ман
GreyDoom ★★★★
(13.03.15 13:32:07 MSK)
- Показать ответы
- Ссылка
Ответ на:
комментарий
от GreyDoom 13.03.15 13:32:07 MSK
Ответ на:
комментарий
от GreyDoom 13.03.15 13:29:21 MSK
веснот при этом, естественно, никогда не ставился
GreyDoom ★★★★
(13.03.15 13:33:57 MSK)
- Ссылка
Ответ на:
комментарий
от xterro 13.03.15 13:33:44 MSK
Ответ на:
комментарий
от GreyDoom 13.03.15 13:34:36 MSK
Ответ на:
комментарий
от GreyDoom 13.03.15 13:32:07 MSK
Ааа, тебе поиск пакета по имени входящего в него файла нужен? Тогда попробуй
rpm -qf /путь/имя_файла
Правда это не поможет, если пакет не установлен 🙁
grem ★★★★★
(13.03.15 13:53:33 MSK)
Последнее исправление: grem 13.03.15 13:54:32 MSK
(всего
исправлений: 2)
- Ссылка
Ответ на:
комментарий
от xterro 13.03.15 13:37:19 MSK
Ответ на:
комментарий
от xterro 13.03.15 13:33:44 MSK
Ответ на:
комментарий
от xterro 13.03.15 13:33:44 MSK
Мне etcnet выдаёт «wlanconfig: ioctl: Operation not supported»
Пытаюсь найти пакет, содержащий в своём составе «„bin/ioctl
sunny1983 ★★★★★
(13.03.15 22:40:48 MSK)
- Показать ответы
- Ссылка
Ответ на:
комментарий
от sunny1983 13.03.15 22:40:48 MSK
Скорее всего он у тебя уже стоит. Ты лучше опиши что пытаешься сделать/настроить и на каком этапе он это выдаёт? Какое оборудование при этом запускаешь (вендор, драйвер)?
grem ★★★★★
(13.03.15 23:08:15 MSK)
- Ссылка
Ответ на:
комментарий
от sunny1983 13.03.15 22:40:48 MSK
Тут походе что с дровами проблема. Убедись что установлен wireless-tools, а дальше забей текст что привёл, в гугл и разбирайся. Судя по количеству ссылок, вопрос старый и поплясав с бубном можно его решить.
xterro ★★★★★
(13.03.15 23:08:51 MSK)
- Ссылка
Ответ на:
комментарий
от sunny1983 13.03.15 22:40:48 MSK
Мне etcnet выдаёт «wlanconfig: ioctl: Operation not supported»
Пытаюсь найти пакет, содержащий в своём составе «„bin/ioctl
bin/ioctl не существует. Погугли ошибку, подобное много в каких случаях возникает и оно не ALT-специфичное. Ты просто что-то не то написал в конфиге. Что хочешь сделать ? WiFi настраиваешь через etcnet ?
AS ★★★★★
(13.03.15 23:54:05 MSK)
- Показать ответ
- Ссылка
Ответ на:
комментарий
от AS 13.03.15 23:54:05 MSK
Именно, WiFi настраиваю через etcnet. Правильно ли это? etcnet умеет переподключаться к точке доступа, в случае кратковременного падения последней?
А ещё я Altlinus устанавливал с образа-пустышки JeOS, поскольку мне удобно сначала установить самый минимум, а потом все компоненты доустанавливать.
Проприетарный драйвер от broadcom установлен. wireles-tools и wpa-supplicant тоже установлены.
Содержимое конфигов такое:
/etc/net/ifaces/wlan0/options
ONBOOT=yes
HOST=wlan0
BOOTPROTO=dhcp
/etc/net/ifaces/wlan0/iwconfig
В /etc/net/ifaces/wlan0/wpa_supplicant.conf содержится вывод кманды wpa_passphrase.
sunny1983 ★★★★★
(14.03.15 09:18:05 MSK)
- Показать ответ
- Ссылка
Ответ на:
комментарий
от sunny1983 14.03.15 09:18:05 MSK
etcnet умеет переподключаться к точке доступа, в случае
кратковременного падения последней ?
Сущность etcnet в том, что это штука для запуска чего-то для конфигурирования интерфейса. Если это «чего-то» умеет переподключаться, оно будет переподключаться. Если нет – нет. Сам etcnet – набор разово исполняющихся скриптов.
Именно, WiFi настраиваю через etcnet.
Вот тут читал ? http://www.altlinux.org/Etcnet
К сожалению, именно Wi-Fi я через etcnet не настраивал, да и, вообще, не особенно с Wi-Fi разбирался. Ровно на двух нотебуках, где я с Wi-Wi вообще дело имел, стояли Atheros какие-то, в KDesktop ими Network Manager занимается и всё работает сходу.
У тебя руками получается Wi-Fi поднять через все эти iwconfig и т.п. ?
AS ★★★★★
(14.03.15 14:19:25 MSK)
- Показать ответ
- Ссылка
Ответ на:
комментарий
от AS 14.03.15 14:19:25 MSK
Конечно читал, но надо юудет наверное помозговать ещё.
Вручную через iwconfig и wpa_supplicant WiFi поднять получается.
sunny1983 ★★★★★
(14.03.15 14:55:00 MSK)
- Показать ответ
- Ссылка
Ответ на:
комментарий
от sunny1983 14.03.15 14:55:00 MSK
Вручную через iwconfig и wpa_supplicant WiFi поднять получается.
Значит, должно быть можно через etcnet. Вообще, там есть возможность сделать грубый хак. Положи в /etc/net/ifaces/wlan0 исполняемый скрипт с названием ifup-post и сделай всё в нём. Или ifup-pre. Имя интерфейса там будет первым параметром в вызове, то есть, можно использовать $1, если скрипт копировать куда потом.
AS ★★★★★
(14.03.15 15:04:53 MSK)
- Ссылка
Ответ на:
комментарий
от xterro 13.03.15 13:33:44 MSK
Хорошо. Теперь попробуем такую задачу: найдём пакеты, содержащие файлы, в полном имени которых содержится «/usr/share/man/ru», чтобы найти пакет с русскими манами.
sunny1983 ★★★★★
(15.03.15 18:45:53 MSK)
- Показать ответы
- Ссылка
urpmi в altlinux есть?
Если есть,то посмотри в справке,должна быть опция для вывода всех пакетов в репозитории.
Если я правильно помню то набирал нечто такое:
urpmi -qa|grep кусок_имени_пакета|grep ещё кусок имени пакета|sort -u
torvn77 ★★★★★
(15.03.15 18:55:25 MSK)
- Показать ответ
- Ссылка
Ответ на:
комментарий
от sunny1983 15.03.15 18:45:53 MSK
чтобы найти пакет с русскими манами.
AS ★★★★★
(15.03.15 18:59:20 MSK)
- Ссылка
Ответ на:
комментарий
от torvn77 15.03.15 18:55:25 MSK
urpmi в altlinux есть ?
Есть, но не пойдёт: репозитарии сделаны под apt-rpm. Разве что отзеркалить репозитарий и переиндексировать локально.
AS ★★★★★
(15.03.15 19:01:04 MSK)
- Показать ответ
- Ссылка
Ответ на:
комментарий
от sunny1983 15.03.15 18:45:53 MSK
Воспользуйся apt-shell, в нём есть автодополнение по названиям пакетов:
apt> install man
man manaworld-music man-pages man-pages-posix-devel man-sh
man2web mandvd man-pages-micq man-pages-ru man-whatis
manaworld manedit man-pages-posix man-pages-utils
apt> install man
sin_a ★★★★★
(15.03.15 19:06:47 MSK)
- Ссылка
Ответ на:
комментарий
от AS 15.03.15 19:01:04 MSK
apt-rpm не знаю,но если есть голый apt то
apt list |grep кусок_имени_пакета |grep другой_кусок_имени_пакета|sort -u
torvn77 ★★★★★
(15.03.15 20:03:54 MSK)
Последнее исправление: torvn77 15.03.15 20:06:08 MSK
(всего
исправлений: 4)
- Показать ответ
- Ссылка
Ответ на:
комментарий
от torvn77 15.03.15 20:03:54 MSK
но если есть голый apt то
Голый apt про rpm ничего не знает, а пакеты в Alt не deb.
apt list |grep кусок_имени_пакета |grep другой_кусок_имени_пакета|sort -u
apt-rpm – это не apt в Debian. Многое похоже, но не всё.
AS ★★★★★
(15.03.15 20:54:44 MSK)
Последнее исправление: AS 15.03.15 20:55:41 MSK
(всего
исправлений: 1)
- Показать ответ
- Ссылка
Ответ на:
комментарий
от AS 15.03.15 20:54:44 MSK
Ответ на:
комментарий
от torvn77 15.03.15 21:40:55 MSK
Ужос.>_<
ну не ужас-ужас же. Зато есть определённые ништяки. Как от rpm vs deb, так и из-за кое-каких собственных доработок, например, так называемые set-version зависимости, учитывающие не только soname библиотек, но и фактическое наличие предоставляемых символов. Впрочем, эта доработка тоже rpm касается.
AS ★★★★★
(15.03.15 22:00:00 MSK)
Последнее исправление: AS 15.03.15 22:00:41 MSK
(всего
исправлений: 1)
- Ссылка
Поиск по форуму altlinux находит ответы, что такая задача как поиск
в репозитории пакета по имени файла невозможен в принципе. Никто
не знает, это действительно так или можно как-нибудь извернуться?
AS ★★★★★
(04.04.15 21:15:57 MSK)
- Ссылка
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.