простое перемещение my $url в цикл, замена адреса и ручное указание архитектуры сработало :)
#!/usr/bin/perl
use strict;
use warnings;

use File::Temp qw/tempdir/;

my @repos = qw/core extra community/;

my $tmpdir = tempdir(CLEANUP=>1);

foreach my $repo (@repos)
{
  my $url = 'ftp://gd.tuwien.ac.at/opsys/linux/archlinux/$repo/os/x86_64';
  chomp $url;
  my $files_url = $url;
  $files_url =~ s/\/\$repo\//\/$repo\//;
  $files_url .= '/' . $repo .'.files.tar.gz';
  `cd "$tmpdir" && curl "$files_url" | bsdtar -xf-`;
}
opendir(my $dh, $tmpdir) or die;
my @pkgs = readdir($dh);
close($dh);

my $l = 0;
foreach my $pkg (@pkgs)
{
  my $i = length($pkg);
  $l = $i if $i > $l;
}

foreach my $pkg (sort @pkgs)
{
  next if ($pkg eq '.' or $pkg eq '..');
  my @files = ();
  if (open(my $fh, '<', $tmpdir .'/'. $pkg .'/files'))
  {
    while (defined(my $line = <$fh>))
    {
      chomp $line;
      next if $line eq '%FILES%' or substr($line,-1) eq '/';
      push @files, '/' . $line;
    }
    close($fh);
    my $n = scalar @files;
    next if $n == 0;
    my $i = 0;
    foreach my $file (@files)
    {
      $i++ if -f $file;
    }
    printf("%-${l}s %3d%%\n", $pkg, 100*$i/$n);
  }
  else
  {
    print "error: failed to open $tmpdir/$pkg/files\n";
  }
}
$ sudo pacman -S ruby
перевіряння конфліктів між файлами…
пошук конфліктних пакунків…

Пакунки (18) bash-4.4.012-2  db-5.3.28-3  filesystem-2016.12-2  gcc-libs-6.3.1-1  gdbm-1.12-2  glibc-2.24-2  gmp-6.1.2-1  iana-etc-20161101-1  libffi-3.2.1-2  libyaml-0.1.7-1  linux-api-headers-4.7-1  ncurses-6.0+20170128-1  openssl-1.0.2.k-1  perl-5.24.1-1  readline-7.0.003-1  tzdata-2016j-1  zlib-1:1.2.11-1
             ruby-2.4.0-1

Повний розмір звантаження:    3,73 MiB
Загальний розмір встановлення:  215,86 MiB

:: Продовжити встановлення? [Y/n] n

 08:41:57  ✘  ~  ♦️ ruby-2.3.3 
$ sudo pacman -Fl ruby
попередження: database file for 'core' does not exist
попередження: database file for 'extra' does not exist
попередження: database file for 'community' does not exist
попередження: database file for 'archlinuxfr' does not exist
помилка: пакунок «ruby» не знайдено

для ключа -S пакеты есть, а для -F нет? pacman -Syy делал
скрипт от Xyne видел, запускал

Use of uninitialized value in concatenation (.) or string at ./test.perl line 7.
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: ftp.archlinux.org
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: ftp.archlinux.org
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: ftp.archlinux.org

проще будет свое написать, чем в перле разбираться.
/var/log/pacman.log не остался. как получить список файлов не локального пакета?
При установке арча, сделал var как отдельный раздел. При выключении системы ошибка была, типа невозможно отмонтировать /var, т.к. логи пишутся.
Решил перенести данные в /, но неудачно. Сейчас у меня /var/lib/pacman пустая.
Можно как-то возобновить базу из установленых пакетов?
Интересуют названия пакетов, ибо сейчас даже обновиться не могу.
Aivar
О чем это вы?

Показываю что у меня в кэше сохранилось. Могу поделиться пакетами.
Foodfast
Ну что за пздц. И че делать? Я хотел откатить ядро, а пакетов в кеше вже нема :( Где нарыть ядро версии 3.17.6 и заголовочные файлы?
вот что имеею
ls /var/cache/pacman/pkg/linux*
/var/cache/pacman/pkg/linux-3.14.6-1-x86_64.pkg.tar.xz
/var/cache/pacman/pkg/linux-3.16.3-1-x86_64.pkg.tar.xz
/var/cache/pacman/pkg/linux-3.16.4-1-x86_64.pkg.tar.xz
/var/cache/pacman/pkg/linux-3.17.1-1-x86_64.pkg.tar.xz
/var/cache/pacman/pkg/linux-3.17.2-1-x86_64.pkg.tar.xz
/var/cache/pacman/pkg/linux-3.17.3-1-x86_64.pkg.tar.xz
/var/cache/pacman/pkg/linux-3.17.4-1-x86_64.pkg.tar.xz
/var/cache/pacman/pkg/linux-3.17.6-1-x86_64.pkg.tar.xz
/var/cache/pacman/pkg/linux-api-headers-3.14.1-1-x86_64.pkg.tar.xz
/var/cache/pacman/pkg/linux-api-headers-3.16.2-1-x86_64.pkg.tar.xz
/var/cache/pacman/pkg/linux-api-headers-3.18.1-1-x86_64.pkg.tar.xz
/var/cache/pacman/pkg/linux-firmware-20140828.13eb208-1-any.pkg.tar.xz
/var/cache/pacman/pkg/linux-firmware-20141009.0e5f637-1-any.pkg.tar.xz
/var/cache/pacman/pkg/linux-firmware-20141201.38e5405-1-any.pkg.tar.xz
/var/cache/pacman/pkg/linux-headers-3.14.6-1-x86_64.pkg.tar.xz
/var/cache/pacman/pkg/linux-headers-3.16.3-1-x86_64.pkg.tar.xz
/var/cache/pacman/pkg/linux-headers-3.16.4-1-x86_64.pkg.tar.xz
/var/cache/pacman/pkg/linux-headers-3.17.1-1-x86_64.pkg.tar.xz
/var/cache/pacman/pkg/linux-headers-3.17.2-1-x86_64.pkg.tar.xz
/var/cache/pacman/pkg/linux-headers-3.17.3-1-x86_64.pkg.tar.xz
/var/cache/pacman/pkg/linux-headers-3.17.4-1-x86_64.pkg.tar.xz
/var/cache/pacman/pkg/linux-headers-3.17.6-1-x86_64.pkg.tar.xz
что-то тут с сортированием сообщений
управляет NM
Вот в один прекрасный момент он отвалился. Вроде обновлялся, но не знаю что там обновляло.
journalctl показывает такое
сер 05 22:57:56 arch dhcpcd[1015]: wlan0: failed to start wpa_supplicant
сер 05 22:57:56 arch dhcpcd[1016]: wlan0: Successfully initialized wpa_supplicant
                                      Line 1144: unknown EAP method 'SIM'
                                      You may need to add support for this EAP method during wpa_supplicant
                                      build time configuration.
                                      See README for more information.
                                      Line 1144: failed to parse eap 'SIM'.
                                      Line 1147: failed to parse network block.
                                      Line 1154: unknown EAP method 'PSK'
                                      You may need to add support for this EAP method during wpa_supplicant
                                      build time configuration.
                                      See README for more information.
                                      Line 1154: failed to parse eap 'PSK'.
                                      Line 1158: failed to parse network block.
                                      Line 1190: unknown EAP method 'IKEV2'
                                      You may need to add support for this EAP method during wpa_supplicant
                                      build time configuration.
                                      See README for more information.
                                      Line 1190: failed to parse eap 'IKEV2'.
                                      Line 1193: failed to parse network block.
                                      Failed to read or parse configuration '/etc/wpa_supplicant/wpa_supplicant.conf'.
сер 05 22:57:56 arch dhcpcd[984]: eth0: waiting for carrier
сер 05 22:57:56 arch dhcpcd[984]: wlan0: waiting for carrier
сер 05 22:57:56 arch dhcpcd[984]: wlan0: carrier acquired
сер 05 22:57:59 arch dhcpcd[984]: wlan0: if_up: Operation not possible due to RF-kill

сер 05 22:58:24 arch dhcpcd[984]: wlan0: dhcp if_readrawpacket: Network is down
сер 05 22:58:29 arch dhcpcd[984]: wlan0: if_sendrawpacket: Network is down
сер 05 22:58:29 arch dhcpcd[984]: wlan0: dhcp if_readrawpacket: Network is down
Kycok
Waleyn, а "на другом компе с арчем" тоже pppoe?
Да