View previous topic :: View next topic |
Author |
Message |
pti-rem Guru
Joined: 14 Oct 2011 Posts: 488
|
Posted: Thu Nov 28, 2024 10:36 am Post subject: time sudo emaint sync --auto # très long (GIT vs rsync) |
|
|
Bonjour,
Il y a une semaine, la synchronisation de l'arbre a pris 30 minutes à la louche ; j'ai trouvé ça long.
Cette nuit, elle a pris deux heures !
C'est la phase de vérification de /var/db/repos/gentoo/.tmp-unverified-download-quarantine qui est très longue.
Je n'ai pas déclaré d'autre dépôt que le dépôt principal Gentoo.
Il y a un source et un binaire de déclaré.
Code: | $ time sudo emaint sync --auto
...
xfce-extra/xfce4-weather-plugin/xfce4-weather-plugin-0.11.3.ebuild
Number of files: 152.687 (reg: 125.447, dir: 27.240)
Number of created files: 1.836 (reg: 1.755, dir: 81)
Number of deleted files: 1.731 (reg: 1.650, dir: 81)
Number of regular files transferred: 8.688
Total file size: 229,16M bytes
Total transferred file size: 43,65M bytes
Literal data: 43,65M bytes
Matched data: 0 bytes
File list size: 3,61M
File list generation time: 0,001 seconds
File list transfer time: 0,000 seconds
Total bytes sent: 198,87K
Total bytes received: 48,00M
sent 198,87K bytes received 48,00M bytes 2,35M bytes/sec
total size is 229,16M speedup is 4,75
* Manifest timestamp: 2024-11-28 00:40:27 UTC
* Valid OpenPGP signature found:
* - primary key: DCD05B71EAB94199527F44ACDB6B8C1F96D8BF6D
* - subkey: E1D6ABB63BFCFB4BA02FDF1CEC590EEAC9189250
* - timestamp: 2024-11-28 00:40:27 UTC
* Verifying /var/db/repos/gentoo/.tmp-unverified-download-quarantine ... [ ok ]
=== Sync completed for gentoo
Performing Global Updates
(Could take a couple of minutes if you have a lot of binary packages.)
.='update pass' *='binary update' #='/var/db update' @='/var/db move'
s='/var/db SLOT move' %='binary move' S='binary SLOT move'
p='update /etc/portage/package.*'
/var/db/repos/gentoo/profiles/updates/1Q-2020..........
/var/db/repos/gentoo/profiles/updates/3Q-2022.....................
/var/db/repos/gentoo/profiles/updates/4Q-2022.........
/var/db/repos/gentoo/profiles/updates/4Q-2024...............................................................
@#Binpkg update ignored for signed package: /var/cache/binpkgs/dev-python/urllib3/urllib3-2.2.3-1.gpkg.tar, the file will be removed.
*
Action: sync for repo: gentoo, returned code = 0
real 121m57,898s
user 0m0,187s
sys 0m0,293s
$ |
Je ne sais pas trop quoi vérifier.
Je présente déjà le souci.
Merci _________________ Traduction : le wiki a besoin de vous !
Last edited by pti-rem on Fri Nov 29, 2024 11:52 am; edited 3 times in total |
|
Back to top |
|
|
pti-rem Guru
Joined: 14 Oct 2011 Posts: 488
|
Posted: Thu Nov 28, 2024 11:01 am Post subject: emerge --info |
|
|
Code: | $ emerge --info
Portage 3.0.66.1 (python 3.12.7-final-0, default/linux/amd64/23.0/desktop/systemd, gcc-14, glibc-2.40-r5, 6.6.62-gentoo-dist x86_64)
=================================================================
System uname: Linux-6.6.62-gentoo-dist-x86_64-Intel-R-_Core-TM-_i5-4460S_CPU_@_2.90GHz-with-glibc2.40
KiB Mem: 16331220 total, 15757724 free
KiB Swap: 16777212 total, 16777212 free
Timestamp of repository gentoo: Thu, 28 Nov 2024 01:00:00 +0000
Head commit of repository gentoo: d7abc091a8475d6d13c35791f9c87b122a91120e
sh bash 5.2_p37
ld GNU ld (Gentoo 2.42 p6) 2.42.0
app-misc/pax-utils: 1.3.8::gentoo
app-shells/bash: 5.2_p37::gentoo
dev-build/autoconf: 2.72-r1::gentoo
dev-build/automake: 1.16.5-r2::gentoo
dev-build/cmake: 3.30.5::gentoo
dev-build/libtool: 2.4.7-r4::gentoo
dev-build/make: 4.4.1-r100::gentoo
dev-build/meson: 1.5.2::gentoo
dev-lang/perl: 5.40.0::gentoo
dev-lang/python: 3.12.7_p1::gentoo, 3.13.0::gentoo
dev-lang/rust-bin: 1.81.0-r100::gentoo
sys-apps/baselayout: 2.17::gentoo
sys-apps/sandbox: 2.39::gentoo
sys-apps/systemd: 256.7::gentoo
sys-devel/binutils: 2.42-r2::gentoo
sys-devel/binutils-config: 5.5.2::gentoo
sys-devel/clang: 18.1.8::gentoo
sys-devel/gcc: 14.2.1_p20241116::gentoo
sys-devel/gcc-config: 2.11::gentoo
sys-devel/llvm: 18.1.8-r1::gentoo
sys-kernel/linux-headers: 6.6-r1::gentoo (virtual/os-headers)
sys-libs/glibc: 2.40-r5::gentoo
Repositories:
gentoo
location: /var/db/repos/gentoo
sync-type: rsync
sync-uri: rsync://rsync.gentoo.org/gentoo-portage
priority: -1000
volatile: False
sync-rsync-verify-max-age: 3
sync-rsync-verify-metamanifest: yes
sync-rsync-extra-opts:
sync-rsync-verify-jobs: 1
Binary Repositories:
gentoobinhost
priority: 1
sync-uri: rsync://mirrors.ircam.fr/pub/gentoo-distfiles/releases/amd64/binpackages/23.0/x86-64
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="@FREE @BINARY-REDISTRIBUTABLE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
FCFLAGS="-march=native -O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance binpkg-request-signature buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles getbinpkg ipc-sandbox merge-sync merge-wait multilib-strict network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-march=native -O2 -pipe"
GENTOO_MIRRORS="rsync://mirrors.ircam.fr/pub/gentoo-distfiles/ http://212.27.60.27/mirrors/ftp.gentoo.org/ http://ftp.free.fr/mirrors/ftp.gentoo.org/"
LANG="fr_FR.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-z,pack-relative-relocs"
LEX="flex"
LINGUAS="fr"
MAKEOPTS="-j5"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
SHELL="/bin/bash"
USE="X a52 aac acl acpi alsa amd64 bluetooth branding bzip2 cairo cdda cdr cet crypt cups dbus dist-kernel dri dts dvd dvdr encode examples exif flac gdbm gif gpm gtk gui handbook iconv icu ipv6 jpeg kf6compat lcms libnotify libtirpc mad mng mp3 mp4 mpeg multilib ncurses nls ogg opengl openmp pam pango pcre pdf png policykit ppds qml qt5 qt6 readline sdl seccomp sound spell ssl startup-notification svg systemd test-rust tiff truetype udev udisks unicode upower usb vorbis vulkan wayland wxwidgets x264 xattr xcb xft xml xv xvid zlib" ABI_X86="64" ADA_TARGET="gcc_12" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2 aes avx avx2 f16c fma3 pclmul popcnt rdrand sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" GRUB_PLATFORMS="efi-64" GUILE_SINGLE_TARGET="3-0" GUILE_TARGETS="3-0" INPUT_DEVICES="libinput" KERNEL="linux" L10N="fr fr-FR en en-US en-GB" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-2" POSTGRES_TARGETS="postgres16" PYTHON_SINGLE_TARGET="python3_12" PYTHON_TARGETS="python3_12" RUBY_TARGETS="ruby32" VIDEO_CARDS="nouveau" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account"
Unset: ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EMERGE_DEFAULT_OPTS, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS
$ |
|
|
Back to top |
|
|
ghoti Advocate
Joined: 30 Dec 2002 Posts: 3636 Location: Belgium
|
Posted: Thu Nov 28, 2024 3:17 pm Post subject: |
|
|
Salut !
Ton /var/db/repos/gentoo ne serait pas sur un vieux HDD mécanique, des fois ? |
|
Back to top |
|
|
pti-rem Guru
Joined: 14 Oct 2011 Posts: 488
|
Posted: Thu Nov 28, 2024 3:30 pm Post subject: |
|
|
Salut ghoti
Il y a deux disques SATA de 4TB qui servent à faire des volumes logiques en RAID1.
Il ne sont pas spécialement vieux.
Code: | $ sudo fdisk -l /dev/sd[ab]
Disque /dev/sda : 3,64 TiB, 4000787030016 octets, 7814037168 secteurs
Modèle de disque : WDC WD40EFRX-68N
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Type d'étiquette de disque : gpt
Identifiant de disque : AFA77873-47FF-454A-8E29-8EE380C41AF6
Périphérique Début Fin Secteurs Taille Type
/dev/sda1 2048 526335 524288 256M Système EFI
/dev/sda2 526336 34080767 33554432 16G Partition d'échange Linux
/dev/sda3 34080768 7814035455 7779954688 3,6T LVM Linux
Disque /dev/sdb : 3,64 TiB, 4000787030016 octets, 7814037168 secteurs
Modèle de disque : WDC WD40EFRX-68N
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Type d'étiquette de disque : gpt
Identifiant de disque : 11DABCFD-06A2-47AD-8A32-0573E3061AF3
Périphérique Début Fin Secteurs Taille Type
/dev/sdb1 2048 526335 524288 256M Système de fichiers Linux
/dev/sdb2 526336 34080767 33554432 16G Système de fichiers Linux
/dev/sdb3 34080768 7814035455 7779954688 3,6T LVM Linux
$ |
Code: | $ sudo lvdisplay /dev/vg-nef/racine
--- Logical volume ---
LV Path /dev/vg-nef/racine
LV Name racine
VG Name vg-nef
LV UUID 8O1HuL-RoHI-gZCx-77gD-8ckI-68Jr-c5oBBs
LV Write Access read/write
LV Creation host, time livecd, 2024-08-03 16:20:46 +0200
LV Status available
# open 1
LV Size 50,00 GiB
Current LE 12800
Mirrored volumes 2
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:4
$ |
J'ai un /usr/share/portage/config/repos.conf mais pas de /etc/portage/repos.conf/gentoo.conf
Je commence à ne plus comprendre la différence entre /usr/share/portage/config/repos.conf et les GENTOO_MIRRORS définis dans /etc/portage/make.conf |
|
Back to top |
|
|
pti-rem Guru
Joined: 14 Oct 2011 Posts: 488
|
Posted: Thu Nov 28, 2024 4:10 pm Post subject: |
|
|
J'ai commenté des modifications de FETCHCOMMAND_RSYNC et RESUMECOMMAND_RSYNC
(voir https://forums.gentoo.org/viewtopic-t-1170224.html)
Code: | $ grep -i command /etc/portage/make.conf
#FETCHCOMMAND="wget -t 3 -T 60 --quiet --passive-ftp -O \"\${DISTDIR}/\${FILE}\" \"\${URI}\""
#RESUMECOMMAND="wget -c -t 3 -T 60 --quiet --passive-ftp -O \"\${DISTDIR}/\${FILE}\" \"\${URI}\""
#FETCHCOMMAND_RSYNC="rsync -LtvP --quiet \"\${URI}\" \"\${DISTDIR}/\${FILE}\""
#RESUMECOMMAND_RSYNC="rsync -LtvP --quiet \"\${URI}\" \"\${DISTDIR}/\${FILE}\""
$ |
J'ai un meilleur résultat :
Code: | $ time sudo eix-sync -a
...
* Time statistics:
656 seconds for syncing
2 seconds for eix-update
3 seconds for eix-diff
662 seconds total
real 11m2,089s
user 0m0,036s
sys 0m0,073s
$ |
Je dois attendre demain pour essayer une commande time sudo emaint sync --auto
Je ne comprends pas encore l'amélioration. |
|
Back to top |
|
|
ghoti Advocate
Joined: 30 Dec 2002 Posts: 3636 Location: Belgium
|
Posted: Thu Nov 28, 2024 5:18 pm Post subject: |
|
|
pti-rem wrote: | Je dois attendre demain pour essayer une commande time sudo emaint sync --auto |
On ne va sûrement pas te ban si, exceptionnellement, tu fais plus d'un sync par jour !
Les disques mécaniques sont considérablement plus lents que les SSD (même les SSD SATA !).
Vu qu'ici, la vérification implique la création de dizaines de milliers de liens physiques dans le répertoire temporaire, tu gagnerais certainement du temps en plaçant ton /var/db/repos/gentoo sur un SSD.
De plus, en écriture, le RAID1 ne t'apporte rien niveau vitesse, que du contraire ! |
|
Back to top |
|
|
xaviermiller Bodhisattva
Joined: 23 Jul 2004 Posts: 8721 Location: ~Brussels - Belgique
|
Posted: Fri Nov 29, 2024 7:40 am Post subject: |
|
|
Bonjour pti-rem,
As-tu essayé de synchroniser via GIT plutôt que RSYNC ? _________________ Kind regards,
Xavier Miller |
|
Back to top |
|
|
pti-rem Guru
Joined: 14 Oct 2011 Posts: 488
|
Posted: Fri Nov 29, 2024 10:08 am Post subject: |
|
|
Bonjour xaviermiller
J'essaierai de synchroniser avec GIT un de ces quatre.
Je crois avoir compris que plus j'espace les syncs, plus celles-ci sont longues.
J'ai constaté l'allongement après avoir choisi de les espacer d'une semaine au lieu de deux jours environ.
Je ne m'attendais pas à avoir une sync longue de deux heures.
Je crois que les FETCHCOMMAND_RSYNC et RESUMECOMMAND_RSYNC modifiées n'y sont pour rien.
C'est vrai que c'est ma première machine non-SSD pour /var/db/repos/gentoo
Je n'ai pas de SSD pour elle.
Merci |
|
Back to top |
|
|
pti-rem Guru
Joined: 14 Oct 2011 Posts: 488
|
Posted: Fri Nov 29, 2024 11:19 am Post subject: |
|
|
Avec GIT :
Quote: | J'ai un /usr/share/portage/config/repos.conf mais pas de /etc/portage/repos.conf/gentoo.conf |
/etc/portage/repos.conf/gentoo.conf doit exister pour faire eselect repository disable gentoo : | $ sudo mkdir /etc/portage/repos.conf
$ sudo cp /usr/share/portage/config/repos.conf /etc/portage/repos.conf/gentoo.conf
$ |
Code: | $ time sudo emaint sync -r gentoo
>>> Syncing repository 'gentoo' into '/var/db/repos/gentoo'...
/usr/sbin/git clone --depth 1 https://github.com/gentoo-mirror/gentoo.git .
Cloning into '.'...
remote: Enumerating objects: 141756, done.
remote: Counting objects: 100% (141756/141756), done.
remote: Compressing objects: 100% (108242/108242), done.
remote: Total 141756 (delta 38776), reused 81794 (delta 32495), pack-reused 0 (from 0)
Receiving objects: 100% (141756/141756), 72.86 MiB | 5.08 MiB/s, done.
Resolving deltas: 100% (38776/38776), done.
Updating files: 100% (123747/123747), done.
=== Sync completed for gentoo
Performing Global Updates
(Could take a couple of minutes if you have a lot of binary packages.)
.='update pass' *='binary update' #='/var/db update' @='/var/db move'
s='/var/db SLOT move' %='binary move' S='binary SLOT move'
p='update /etc/portage/package.*'
/var/db/repos/gentoo/profiles/updates/1Q-2018.....................
/var/db/repos/gentoo/profiles/updates/1Q-2019................
/var/db/repos/gentoo/profiles/updates/1Q-2020..........
/var/db/repos/gentoo/profiles/updates/1Q-2021.......
/var/db/repos/gentoo/profiles/updates/1Q-2023.......................
/var/db/repos/gentoo/profiles/updates/1Q-2024...................................................................................................
/var/db/repos/gentoo/profiles/updates/2Q-2018................
/var/db/repos/gentoo/profiles/updates/2Q-2019...
/var/db/repos/gentoo/profiles/updates/2Q-2020.........
/var/db/repos/gentoo/profiles/updates/2Q-2021........
/var/db/repos/gentoo/profiles/updates/2Q-2022............
/var/db/repos/gentoo/profiles/updates/2Q-2023...............................
/var/db/repos/gentoo/profiles/updates/2Q-2024.............
/var/db/repos/gentoo/profiles/updates/3Q-2018..
/var/db/repos/gentoo/profiles/updates/3Q-2019.....
/var/db/repos/gentoo/profiles/updates/3Q-2020..............
/var/db/repos/gentoo/profiles/updates/3Q-2021............
/var/db/repos/gentoo/profiles/updates/3Q-2022.....................
/var/db/repos/gentoo/profiles/updates/3Q-2023...................
/var/db/repos/gentoo/profiles/updates/3Q-2024.............
/var/db/repos/gentoo/profiles/updates/4Q-2018.....
/var/db/repos/gentoo/profiles/updates/4Q-2019.......
/var/db/repos/gentoo/profiles/updates/4Q-2020.......
/var/db/repos/gentoo/profiles/updates/4Q-2021........................................................................
/var/db/repos/gentoo/profiles/updates/4Q-2022.........
/var/db/repos/gentoo/profiles/updates/4Q-2023.........................................
/var/db/repos/gentoo/profiles/updates/4Q-2024...............................................................
Action: sync for repo: gentoo, returned code = 0
real 0m30,982s
user 0m0,010s
sys 0m0,026s
$ |
Run again to test. Code: | $ time sudo emaint sync --auto
>>> Syncing repository 'gentoo' into '/var/db/repos/gentoo'...
/usr/sbin/git fetch origin --depth 1
remote: Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
/usr/sbin/git reset --merge refs/remotes/origin/stable
=== Sync completed for gentoo
Action: sync for repo: gentoo, returned code = 0
real 0m2,797s
user 0m0,001s
sys 0m0,011s
$ |
Quote: | Later emerges may be lengthy without metadata cache during dependency resolution. The cache can be rebuilt using egencache. For further reading, refer to Portage and ebuild repository synchronization. |
Code: | $ egencache --help
...
$ time sudo egencache --jobs=5 --update --repo gentoo
real 0m8,844s
user 0m0,004s
sys 0m0,008s
$
|
Je vais attendre une semaine pour comparer la sync avec GIT.
Ça me semble bon |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|