Автор Тема: Как найти пакет в altlinux с неизвестным именем?  (Прочитано 94251 раз)

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: Про поиск пакета по файлу
« Ответ #165 : 19.07.2016 07:33:07 »
Если удалить хотя бы один пакет содержащий требуемую драйверу библиотеку,
Код: [Выделить]

# rpm -e --nodeps libstdc++6


то никакой apt или rpm вам уже не поможет чтобы просто и быстро поставить пакет с драйвером
Код: [Выделить]

# apt-get reinstall  /home/user/Загрузки/temporar/mf4410-64bit/uk_eng/32-bit_Driver/RPM/cndrvcups-common-3.40-1.i386.rpm
apt-get: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

Ну да, вначале ломаем работу apt, а потом удивляемся, что он не работает.




Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: Про поиск пакета по файлу
« Ответ #166 : 19.07.2016 07:36:02 »
$ apt-cache search libstdc++
gcc-c++-aarch64-linux-gnu - Cross-build binary utilities for aarch64-linux-gnu
gcc-c++-arm-linux-gnu - Cross-build binary utilities for arm-linux-gnu
gcc-c++-x86_64-linux-gnu - Cross-build binary utilities for x86_64-linux-gnu
libstdc++3.3 - GNU C++ library
libstdc++3.4-devel - Header files and libraries for C++ development
libstdc++3.4-devel-precompiled - Precompiled header files for C++ development
libstdc++3.4-devel-static - Static libraries for C++ development
libstdc++4.1-devel - Header files and libraries for C++ development
libstdc++4.1-devel-precompiled - Precompiled header files for C++ development
libstdc++4.1-devel-static - Static libraries for C++ development
libstdc++4.3-devel - Header files and libraries for C++ development
libstdc++4.3-devel-static - Static libraries for C++ development
libstdc++4.4-devel - Header files and libraries for C++ development
libstdc++4.4-devel-static - Static libraries for C++ development
libstdc++4.5-devel - Header files and libraries for C++ development
libstdc++4.5-devel-static - Static libraries for C++ development
libstdc++4.6-devel - Header files and libraries for C++ development
libstdc++4.6-devel-static - Static libraries for C++ development
libstdc++4.7-devel - Header files and libraries for C++ development
libstdc++4.7-devel-static - Static libraries for C++ development
libstdc++4.8-devel - Header files and libraries for C++ development
libstdc++4.8-devel-static - Static libraries for C++ development
libstdc++4.9-devel - Header files and libraries for C++ development
libstdc++4.9-devel-static - Static libraries for C++ development
libstdc++5-devel - Header files and libraries for C++ development
libstdc++5-devel-static - Static libraries for C++ development
libstdc++6 - GNU Standard C++ library
$ rpm -ql libstdc++6
/usr/lib64/libstdc++.so.6
/usr/lib64/libstdc++.so.6.0.21
/usr/share/gcc-5
/usr/share/gcc-5/python
/usr/share/gcc-5/python/libjava
/usr/share/gcc-5/python/libjava/aotcompile.py
/usr/share/gcc-5/python/libjava/classfile.py
/usr/share/gcc-5/python/libstdcxx
/usr/share/gcc-5/python/libstdcxx/__init__.py
/usr/share/gcc-5/python/libstdcxx/v6
/usr/share/gcc-5/python/libstdcxx/v6/__init__.py
/usr/share/gcc-5/python/libstdcxx/v6/printers.py
/usr/share/gcc-5/python/libstdcxx/v6/xmethods.py
/usr/share/gdb/auto-load/usr/lib64
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.21-gdb.py
Как странно - пакет так-же называется :-o

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: поиск по файлу в репозитории
« Ответ #167 : 19.07.2016 07:41:47 »
Сизифные цели не содержат (идентификатора) поля между типом (rpm) и uri (http...)
Как и в любом случае - если вы не хотите проверять подлинность репозитория, то не содержат, а если хотите, то содержат:

cat /etc/apt/sources.list.d/alt.list
# ftp.altlinux.org (ALT Linux, Moscow)

# ALT Linux Sisyphus

# rpm [alt] ftp://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus x86_64 classic
# rpm [alt] ftp://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus noarch classic
# rpm [alt] ftp://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus x86_64-i586 classic

# rpm [alt] http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus x86_64 classic
# rpm [alt] http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus noarch classic
# rpm [alt] http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus x86_64-i586 classic

# rpm [alt] rsync://ftp.altlinux.org/ALTLinux/Sisyphus x86_64 classic
# rpm [alt] rsync://ftp.altlinux.org/ALTLinux/Sisyphus noarch classic
# rpm [alt] rsync://ftp.altlinux.org/ALTLinux/Sisyphus x86_64-i586 classic

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: поиск по файлу в репозитории
« Ответ #168 : 19.07.2016 07:46:16 »
, но этот скрипт умеет работать и со старым форматом sources.list,
Нет никакого старого формата - есть только различные формы представления одного и того-же формата. И apt и synapic и aptitude и альтератор установки программ умеют работать с любыми представлениями этого формата, а то что отдельные скрипты ломаются, то все претензии только к авторам этих скриптов надо предъявлять, что они заложились только на одну конкретную разновидность представления.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: поиск по файлу в репозитории
« Ответ #169 : 19.07.2016 07:48:53 »
то все претензии только к авторам этих скриптов надо предъявлять, что они заложились только на одну конкретную разновидность представления.
Что не снижает полезность этих скриптов и блпгодарность их создателям ;-)

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: поиск по файлу в репозитории
« Ответ #170 : 19.07.2016 08:09:02 »
, но этот скрипт умеет работать и со старым форматом sources.list,
Нет никакого старого формата - есть только различные формы представления одного и того-же формата.

Руслан, это не представления, это количество и номера полей для awk, а ему, awk-у, представления до лампочки. Номер первого захваченного поля может варьироваться.
« Последнее редактирование: 19.07.2016 08:12:01 от Speccyfighter »

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: поиск по файлу в репозитории
« Ответ #171 : 19.07.2016 08:21:40 »
Руслан, это не представления, это количество и номера полей для awk,
Если awk не подходит, примените что-то ещё. Не надо путать формат с методом его обработки.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: поиск по файлу в репозитории
« Ответ #172 : 19.07.2016 08:35:50 »
Говоря языком алгоритмики тут есть реквизиты:

1. тип пакета (deb/rpm/rpm-src)
2. имя подписи поставщика (см  /etc/apt/vendors.list.d) - может отсутствовать (например, если у меня нет локального ключа этой подписи, а обновить я хочу) , но желательна.
3. uri - топ урла от которого идёт адресация
4. дестрибуция - верхний уровень репозитория (в "классическом" виде )
5. компоненты - подрепозитории - может быть от одного и больше (разделены между собой разделителями).
uri/дестрибуция - задаёт место расположения репозитория

Все реквизиты разделены между собой разделителями, состоящими из набора [[empty]].

 

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: поиск по файлу в репозитории
« Ответ #173 : 19.07.2016 08:36:42 »
Руслан, это не представления, это количество и номера полей для awk,
Если awk не подходит, примените что-то ещё. Не надо путать формат с методом его обработки.

Путать,  не путать, да чёрт подери, нет представлений! Есть строка, есть поля, есть номера полей! И всё! Нет больше ничего.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: поиск по файлу в репозитории
« Ответ #174 : 19.07.2016 08:44:28 »
Исправленный скрипт, проверено на сизифе
index=contents_index; \
basedir=$HOME'/.'$index; \
apt-repo | \
awk -F" " \
'{ \
if ( $2 ~ /http:/ ) { print $2 "/" $3 } \
else if ( $3 ~ /http:/ ) { print $3 "/" $4 } \
}' \
| sed 's/$/\/base\/contents_index/g' \
| while read line; \
do \
repocount=$(( $repocount + 1 )); [[ $basedir ]] || mkdir -p $basedir'/'$repocount; \
rm -f $basedir'/'$repocount/*; \
wget -c $line -P $basedir'/'$repocount; \
done

Скрипт ищет URI по второму или третьему полю.
Если каталоги для сохранения contents_index не существуют, создаёт их.
При повторном запуске уничтожает файлы contents_index и перекачивает эти файлы.

И вроде бы даже можно что-то найти, - поиск исполняемого файла или пакета с именем audacity:
# grep -rhi audacity ~/.contents_index/ | grep '\/bin\|\/sbin'
/usr/bin/audacity audacity



Проба скрипта на sources.list из p7, - разница только в третьей строке: grep вместо apt-repo
# index=contents_index; \
> basedir=$HOME'/.'$index; \
> grep -rh http /home/user/Загрузки/temporar/apt-conf-branch_p7/etc/apt/sources.list.d/alt.list | \
> awk -F" " \
> '{ \
> if ( $2 ~ /http:/ ) { print $2 "/" $3 } \
> else if ( $3 ~ /http:/ ) { print $3 "/" $4 } \
> }' \
> | sed 's/$/\/base\/contents_index/g' \
> | while read line; \
> do \
> repocount=$(( $repocount + 1 )); [[ $basedir ]] || mkdir -p $basedir'/'$repocount; \
> rm -f $basedir'/'$repocount/*; \
> wget -c $line -P $basedir'/'$repocount; \
> done
--2016-07-19 09:11:48--  http://ftp.altlinux.org/pub/distributions/ALTLinux/p7/branch/i586/base/contents_index
Распознаётся ftp.altlinux.org (ftp.altlinux.org)… 62.152.55.238
Подключение к ftp.altlinux.org (ftp.altlinux.org)|62.152.55.238|:80... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа… 200 OK
Длина: 109383354 (104M) [application/octet-stream]
Сохранение в: «/root/.contents_index/1/contents_index»

contents_index           100%[=================================>] 104,32M   290KB/s    in 6m 37s 

2016-07-19 09:18:25 (269 KB/s) - «/root/.contents_index/1/contents_index» сохранён [109383354/109383354]

rm: невозможно удалить «/root/.contents_index/2/i586»: Это каталог
rm: невозможно удалить «/root/.contents_index/2/noarch»: Это каталог
--2016-07-19 09:18:25--  http://ftp.altlinux.org/pub/distributions/ALTLinux/p7/branch/noarch/base/contents_index
Распознаётся ftp.altlinux.org (ftp.altlinux.org)… 62.152.55.238
Подключение к ftp.altlinux.org (ftp.altlinux.org)|62.152.55.238|:80... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа… 200 OK
Длина: 257741858 (246M) [application/octet-stream]
Сохранение в: «/root/.contents_index/2/contents_index»

contents_index           100%[=================================>] 245,80M   278KB/s    in 15m 35s

2016-07-19 09:34:01 (269 KB/s) - «/root/.contents_index/2/contents_index» сохранён [257741858/257741858]


и следом поиск kdm
# grep -rhi kdm ~/.contents_index/ | grep '\/bin\|\/sbin'
/usr/bin/kdm /usr/bin/kdm
/usr/bin/kdm_config /usr/bin/kdm_config
/usr/bin/kdmctl /usr/bin/kdmctl
/usr/lib/kde3/bin/genkdmconf kdebase-kdm
/usr/lib/kde3/bin/kdm_greet kdebase-kdm
/usr/lib/kde3/bin/kdmtsak kdebase-kdm
/usr/lib/kde3/bin/krootimage kdebase-kdm
/usr/lib/kde4/bin/genkdmconf kde4base-workspace-kdm

Что-то он выдал местами чепуху какую-то:
Файл /usr/bin/kdmctl относится к пакету /usr/bin/kdmctl
Это только мне так померещилось? :-)
« Последнее редактирование: 19.07.2016 09:51:36 от Speccyfighter »

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 923
    • Домашняя страница
    • Email
Re: поиск по файлу в репозитории
« Ответ #175 : 19.07.2016 09:13:56 »
Скачивать лучше через rsync, если сервер его поддерживает.
Андрей Черепанов (cas@)

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: поиск по файлу в репозитории
« Ответ #176 : 19.07.2016 09:19:45 »
if ( $2 ~ /http:/ )
Хм, вот тут может и сломаться, например:
$ apt-repo
 rpm [alt] file:/mnt/Arhiv4/Sisyphus/ x86_64 classic
 rpm [alt] file:/mnt/Arhiv4/Sisyphus/ noarch classic
 rpm [alt] file:/mnt/Arhiv4/Sisyphus/ x86_64-i586 classic

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: поиск по файлу в репозитории
« Ответ #177 : 19.07.2016 09:21:22 »
man sources.list

Цитировать
Спецификация URI
       В настоящий момент распознаются следующие типы URI: cdrom, file, http и
       ftp.

       file   Схема file позволяет указать как архив нужный каталог в файловой
              системе. Это полезно для  каталогов,  смонтированных  по  NFS  и
              локальных зеркал или архивов.

       cdrom  Схема  cdrom  позволяет  APT  использовать  локальное устройство
              CDROM со сменным носителем. Используйте  программу  apt-cdrom(8)
              для создания записей cdrom в файле содержащем список источников.

       http   Схема  http  задает  архив  на  HTTP  сервере.  Если установлена
              переменная окружения $http_proxy в формате  http://server:port/,
              то  будет  использован  прокси  сервер  заданный  в $http_proxy.
              Пользователи  HTTP/1.1  прокси  с  авторизацией  доступа   могут
              использовать   строку   формата   http://user:pass@server:port/.
              Заметим,  что  это  метод  авторизации,  который   не   отвечает
              безопастности.

       ftp    Схема  ftp задает архив на FTP сервере. Поведение APT FTP хорошо
              настраивается; для подробностей  смотрите  страницу  руководства
              apt.conf(5).   Пожалуйста  заметьте,  что  используя  переменную
              окружения ftp_proxy может быть задан ftp прокси. Возможно задать
              http  прокси  (http  прокси  серверы часто понимают URL для ftp)
              используя данный метод и ТОЛЬКО этот метод. Заданные в  файле  с
              настройками ftp прокси, использующие http, будут игнорированы.

       copy   Схема  copy идентична схеме file за исключением того, что пакеты
              копируются в каталог  кэша  вместо  того,  чтобы  использоваться
              непосредственно  из  их  местоположения.  Это полезно для людей,
              использующих диск zip для копирования файлов для APT.


Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: поиск по файлу в репозитории
« Ответ #178 : 19.07.2016 09:22:08 »
От себя добалю, что ещё бывает rsync


rpm [alt] rsync://ftp.altlinux.org/ALTLinux/Sisyphus x86_64 classic
rpm [alt] rsync://ftp.altlinux.org/ALTLinux/Sisyphus noarch classic
rpm [alt] rsync://ftp.altlinux.org/ALTLinux/Sisyphus x86_64-i586 classic
« Последнее редактирование: 19.07.2016 09:31:08 от ruslandh »

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 251
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Re: поиск по файлу в репозитории
« Ответ #179 : 19.07.2016 09:24:07 »
Плюс из английского мана:
Цитировать
URI SPECIFICATION
.....
       rsh

       ssh    The rsh/ssh method invokes rsh/ssh to connect to a remote host as a given user and access the files. No password authentication is possible, prior arrange‐
              ments with RSA keys or rhosts must have been made.  Access to files on the remote uses standard find and dd commands to perform the file transfers from the
              remote.

Вполне может использоваться в какой-то локальной сети.
« Последнее редактирование: 19.07.2016 09:32:35 от ruslandh »