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

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 18 748
    • Домашняя страница
    • Email
Сами придумали, сами возмущаетесь.
Андрей Черепанов (cas@)

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 9 836
И почему он тут называется apf а не apt-file?

Ключ от сейфа внутри сейфа, а выключатель, естественно, в шкафу.... Истинно нашенский дистр!

Для туго соображающих:
apt-rpm, это не apt-deb. А apf, это не apt-file, хоть функциональность их и похожа.
А ещё, потому что скрипт apf, это ни разу не скрипт apt-file. И по коду они ни разу не совпадают. А стало быть одно имя они не могут иметь ни при каком раскладе. Уж вам-то как убунтоводу, это положено знать:
$ sed -n '542,593p' ./usr/bin/apt-file
sub print_help {
    my $err_code = shift || 0;

    print <<"EOF";

apt-file [options] action [pattern]
apt-file [options] -f action <file>
apt-file [options] -D action <debfile>

Pattern options:
================

    --fixed-string     -F               Do not expand pattern
    --from-deb         -D               Use file list of .deb package(s) as
                                        patterns; implies -F
    --from-file        -f               Read patterns from file(s), one per line
                                        (use '-' for stdin)
    --ignore-case      -i               Ignore case distinctions
    --regexp           -x               pattern is a regular expression
    --substring-match                   pattern is a substring (no glob/regex)


Search filter options:
======================

    --architecture     -a  <arch>       Use specific architecture [L]
    --index-names      -I  <names>      Only search indices listed in <names> [L]
    --filter-suites        <suites>     Only search indices for the listed <suites> [L]
                                        (E.g. "unstable")
    --filter-origins       <origins>    Only search indices from <origins> [L]
                                        (E.g. "Debian")

Other options:
==============

    --config           -c <file>        Parse the given APT config file [R]
    --option           -o <A::B>=<V>    Set the APT config option A::B to "V" [R]
    --package-only     -l               Only display packages name
    --verbose          -v               run in verbose mode [R]
    --help             -h               Show this help.
                       --               End of options (necessary if pattern
                                        starts with a '-')

[L]: Takes a comma-separated list of values.
[R]: The option can be used repeatedly

Action:
    list|show          <pattern>        List files in packages
    list-indices                        List indices configured in APT.
    search|find        <pattern>        Search files in packages
    update                              Fetch Contents files from apt-sources.
EOF
$ sed -n '16,24p' /usr/bin/apf
sub usage
{
  print STDERR
    "Usage:\n" .
    " apf <find|search|list|show> <pattern>\n" .
    "or:\n" .
    " apf update\n";
  exit 1;
}
« Последнее редактирование: 11.01.2020 19:07:24 от Speccyfighter »

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 7 494
  • Sunny 273 RUS crew
Так все-таки, в каком пакете лежит обещанный apt-file ?
...
И почему он тут называется apf а не apt-file?
Внезапно apf, как называется утилита, так и пакет. Плюс тут упоминался FAQ:
https://www.altlinux.org/FAQ#Как_узнать_название_пакета_по_имени_неустановленного_файла,_или_каталога?
Да и вот так тоже можно:
$ apt-cache search apt-file
apf - Search for a package containing given file
И, даже, можно просто "apt-get install apt-file", так как у apf в спеке написано "Provides: apt-file".

Почему - уже ответили.
« Последнее редактирование: 12.01.2020 02:15:51 от asy »