Реализация GNU ls
команда (который Вы используете, так как Вы запускаете Linux) найдет все файлы в текущем каталоге, запускающемся с символа a-g.
ls --ignore='[!a-g]*'
Это говорит для игнорирования всех файлов, которые не запускаются с символа в диапазоне [a-g]
. !
инвертирует фильтр. *
указать
Следующий запуск вывод через wc -l
считать строки.
Полная команда таким образом будет:
ls --ignore='[!a-g]*' | wc -l
Это решение не будет повторяться в подкаталоги.
Кажется на выполнение правильных вещей убить IPv6 с точки зрения ядра но я мог бы также - предположение, что Вы не заботитесь о IPv6 - удаляют любые записи IPv6 в/etc/hosts. Если это все еще не добивается цели (и это уходит назад), у меня была проблема с резервным копированием Amanda, после того как это было очень похоже на Вашу проблему и только смогло зафиксировать ее путем установки xinetd вместо inetutils-inetd (обратите внимание, что я понятия не имею what's.u. S.E. устанавливает по умолчанию). Наконец (и как мера по отчаянию) я мог бы предложить использовать "strace" с чем-то как: strace-s 1024-f-o /tmp/zypper.log/path/to/zypperexecutable и затем проходит файл журнала, ища что адрес IPv6, и видящий, существует ли что-либо информативное, которое могло бы быть полезно. (К вашему сведению "strace" может генерировать ОГРОМНЫЙ файл, таким образом, Вы, вероятно, хотите прервать застежку-молнию, как только это перестало работать.)
После предложения user995746
, Я пытался работать strace
. Вот то, что это должно сказать:
...
1179 socket(PF_INET6, SOCK_DGRAM, IPPROTO_IP) = 5
1179 connect(5, {sa_family=AF_INET6, sin6_port=htons(80), inet_pton(AF_INET6, "2001:67c:2178:8::13", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 ENETUNREACH (Network is unreachable)
1179 close(5) = 0
1179 madvise(0x7ff48750c000, 8368128, MADV_DONTNEED) = 0
1179 _exit(0) = ?
1179 +++ exited with 0 +++
1177 <... poll resumed> ) = 0 (Timeout)
1177 socket(PF_INET, SOCK_STREAM|SOCK_CLOEXEC, IPPROTO_TCP) = 5
1177 fcntl(5, F_GETFL) = 0x2 (flags O_RDWR)
1177 fcntl(5, F_SETFL, O_RDWR|O_NONBLOCK) = 0
1177 connect(5, {sa_family=AF_INET, sin_port=htons(80), sin_addr=inet_addr("195.135.221.134")}, 16) = -1 EINPROGRESS (Operation now in progress)
1177 poll([{fd=5, events=POLLOUT|POLLWRNORM}], 1, 0) = 0 (Timeout)
1177 poll([{fd=5, events=POLLOUT}], 1, 1000) = 0 (Timeout)
1177 poll([{fd=5, events=POLLOUT|POLLWRNORM}], 1, 0) = 0 (Timeout)
1177 poll([{fd=5, events=POLLOUT}], 1, 1000) = 0 (Timeout)
1177 poll([{fd=5, events=POLLOUT|POLLWRNORM}], 1, 0) = 0 (Timeout)
1177 poll([{fd=5, events=POLLOUT}], 1, 1000) = 0 (Timeout)
1177 poll([{fd=5, events=POLLOUT|POLLWRNORM}], 1, 0) = 0 (Timeout)
1177 poll([{fd=5, events=POLLOUT}], 1, 1000) = 0 (Timeout)
1177 poll([{fd=5, events=POLLOUT|POLLWRNORM}], 1, 0) = 0 (Timeout)
1177 poll([{fd=5, events=POLLOUT}], 1, 1000) = 0 (Timeout)
1177 poll([{fd=5, events=POLLOUT|POLLWRNORM}], 1, 0) = 0 (Timeout)
1177 poll([{fd=5, events=POLLOUT}], 1, 1000) = 0 (Timeout)
1177 poll([{fd=5, events=POLLOUT|POLLWRNORM}], 1, 0) = 0 (Timeout)
1177 poll([{fd=5, events=POLLOUT}], 1, 1000) = ? ERESTART_RESTARTBLOCK (Interrupted by signal)
1177 --- SIGINT {si_signo=SIGINT, si_code=SI_KERNEL} ---
...
Кажется, затем, это даже при том, что в сообщении об ошибке от Zypper вполне ясно говорится "Отказавший для соединения с 2001:67c:2178:8:: 13: Сеть недостижима", программа на самом деле видит, что IPv6 недостижим, и отступающий к IPv4. Вопрос остается, почему он не может соединиться через IPv4 - это - вероятно, своего рода проблема брандмауэра с нашей LAN.
Таким образом, кажется, что IPv6 не является проблемой вообще, это просто, что сообщение об ошибке от Zypper является очень вводящим в заблуждение.
Разрешение download.opensuse.org (или любого другого сервера d / l, который вы хотите использовать) и последующая передача его IPv4-адреса в файл (ы) .repo сделали это за меня. Я использовал sed (1) для поиска + замены всего там; работал как шарм.
Не идеально, конечно; и невозможность вернуться к работающему (!) соединению v4 ... менее чем звездно. Неважно, что любое другое приложение с поддержкой двойного стека вполне способно (и может) получить доступ, скажем, к download.opensuse.org
, когда есть локальная сеть v6, которая не маршрутизируется (потому что г-н Интернет-провайдер не не подыгрываю, например).
До этого времени используйте только (числовые) IPv4-адреса.
Примечание: zypper использует libcurl, но не поддерживает $ HOME / .curlrc
. Возможно, он будет учитывать глобальные файлы конфигурации curl или переменные среды. curl
сам хочет -4
/ - ipv4
, чтобы заставить ipv4.
Кроме того, если бы кто-то перекомпилировал сам libcurl без поддержки ipv6, а затем установил там точку zypper через ld.so.conf
или что-то в этом роде, я бы подумал, что все должно работать так, как ожидалось.