Больше никаких Hash Sum Mismatch.
Разработчики недавно нас порадовали ускорением работы apt утилиты и вот ещё подарок — изменение в нашем общении с репозиториями.
Формат Debian репозитория был разработан очень давно. Самые старые его версии создавались через dpkg-scanpackages и забирали мы их через метод dselect по имени dpkg-ftp. Забирался файл Packages (возможно сжатый) и использовался в качестве индекс-файла, который отражал доступные пакеты. Каждый пакет имел контрольную сумму MD5, чтобы вы могли сверить наличие/отсутствие проблем при передаче. В те далёкие года ещё не было цифровой подписи у репозитория или какой-либо другой защиты от «человек посередине» (Man in the middle (MITM)).
Важной особенностью раннего формата репозитория, помимо Packages файла, — все файлы были статичны в том смысле, что будучи опубликованы, их контент не менялся без изменения имени файла. Это означает, что репозитория могли быть эффективно скопированы утилитами типа rsync без необходимости пересчитывать контрольную сумму всех файлов И помогали избежать сетевых гонок при обновлении.
Формат репозитория со временем эволюционировал под влиянием требований различных клиентских инструментов. В какой-то момент времени был добавлен индекс Sources для пакетов с исходниками программ по аналогии с Packages. Но значительным изменением в структуре репозитория стало внедрение проекта package pools.
Первоначальная схема подразумевала размещение пакетов в dists/ вместе с индексными файлами. Дерево dists/ создавало программные наборы (suite), современные примеры которых вы знаете по таким именам как stable, stable-updates, testing, unstable, xenial, xenial-updates. Это означало, что выпуск релиза Debian вынуждал копировать огромные массивы данных и делало реализацию testing очень затратной.
Package pools решили эту проблему перемещением отдельных файлов пакетов из dists/ в pool/, позволяя различным программным наборам (suite) делить между собой один и тот же пакет. Это позволило значительно снизить расходы дискового пространства и пропускную способность при зеркалировании репо. Как часть этого проекта, первоначальный скрипт dinstall, обслуживающий Debian репозиторий, был заменён на da-katie (dak), который использовал apt-ftparchive для построения индексных файлов. Были заменены dpkg-scanpackages, dpkg-scansources. Благодаря реализации кэша базы данных, было достигнуто существенное увеличение производительности.
Спустя пару месяцев после первой реализации package pools, были добавлены файлы Release. Они образовывали своего рода мета-индексы для каждого программного набора (suite), объясняя APT какие индексы доступны (main/binary-i386/Packages, non-free/source/Sources и т.д) и какие у них контрольные суммы. Реализация подписей (Release.gpg) позволило безопасно получать пакеты и проверять их на стороне клиента с помощью ключа репозитория. Данная структура репозитория оставалась неизменной многие годы.
В какой-то момент времени все те кто обслуживают хранилища пакетов начали осознавать, что потеряли важное свойство первоначального формата репозитория — отсутствие состояния гонки при обновлении (race-free). Но после введения файла Release это было утеряно. Клиент должен вначале скачать (fetch) Release и другие индексные файлы, обычно в отдельных HTTP транзакциях. Если клиенту не повезло и он попал в момент обновления репо, то транзакции будут завершены с ошибкой и он получит
Хуже того, если клиентом выступит сервер-зеркало, который в большинстве случаев не проверяет целостность индексов, оставляя своих клиентов с проблемой до своего следующего обновления с официального репо. Ситуация усугубляется фактом, что файл Release и Release.gpg могут быть рассинхронизированы при раздельной передаче.
Исправление ситуации заняло долгий путь с 2007 года, так как нужно было сохранить совместимость. Первым шагом было внедрение inline-signed версии файла Release под названием InRelease, чтобы избежать состояние гонки при скачивании Release и сигнатур.
Apt инструмент и репозитории Debian и Ubuntu поддерживают нововведение. Изменение других индексных файлов сложнее, хотя делать для них inline-signed версию необязательно, так как клиенты обычно забирают малую часть доступных индексов, доступных в данном программном наборе.
Окончательно решение проблемы было закончено благодаря работе Майкла Фогта (Michael Vogt). Его реализация в Apt по имени by-hash будет понятна людям, знакомые с работой git. Индексные файлы для программных наборов (suite) поддерживают механизм by-hash, который позволяет получить (fetch) их, используя URL-хэш. То есть клиент может использовать:
- Fetch dists/xenial/InRelease
- Fetch dists/xenial/main/binary-amd64/by-hash/SHA256/46316a202cdae76a73b555414741b11d08c66620b76c470a1623cedcc8a14740
- Fetch отдельный файл пакета
Все новшества доступны только в Ubuntu 16.04, так как ранние версии не имеют нужного в apt. Теперь Hash Sum Mismatch должны остаться в прошлом.
Есть люди, которые не получат выгоды от новшеств. Debmirror не поддерживает by-hash. Apt-cacher-ng поддерживает в Ubuntu 16.04. Полное зеркалирование репозитория должно происходить так: файлы by-hash должны быть скопированы ДО InRelease. Настоятельно рекомендуется двухступенчатое зеркалирование.
Если что-то происходит по вашему мнению странное, то выполните apt -o Debug::Acquire::http=true update
для отладки происходящего.
Оригинал No more Hash Sum Mismatch errors
APT станет быстрее.
С apt-get ни шагу назад.
Страница не найдена – Information Security Squad
Как создать зашифрованную файловую систему XFS, которая автоматически разблокируется при загрузке, используя clevis (клиент) и tang (сервер)? Red Hat уже много лет включает шифрование дисков с помощью Linux Unified Key Setup-on-disk-format (LUKS). Это решение легко внедрить и настроить в целях шифрования, но управление и практичность его ключей ужасны. Оно требует парольной фразы во время загрузки […]
Secure Shell (SSH) – один из наиболее часто используемых и защищенных способов подключения к удаленному серверу. Подключиться к удаленному серверу с помощью SSH легко, но что если вы хотите подключаться к разным серверам и делаете это часто. Становится трудно запоминать все IP-адреса, имена пользователей, команды и пароли. Чтобы решить эту проблему, SSH позволяет настраивать и […]
Стабильное сетевое соединение жизненно важно для любого бизнеса. Неудивительно, почему люди вкладывают средства в качественное интернет-соединение и Wi-Fi, обеспечивая бесперебойную работу своих организаций. Несмотря на все это, вы можете столкнуться с огромным количеством потерь пакетов, которые могут повлиять на подключение, доступность приложений и производительность. В результате вы можете наблюдать частые задержки и снижение эффективности работы. […]
Bluetooth существует на рынке с 2000 года и завоевал популярность во всем мире. Bluetooth помог людям без проблем подключаться к своим устройствам и обмениваться данными через него. Но безопасен ли Bluetooth? С развитием технологий возрастает вероятность атак и угроз для информации, передаваемой через Интернет. Однако технология Bluetooth изменила жизнь многих людей и в какой-то мере […]
Прямые трансляции на Twitch, Smashcast, Mixer, Bigo Live могут стать не только любимым хобби, но и вполне неплохими источником дохода в 2021 году. Однако для качественного стриминга, недостаточно просто купить хороший компьютер, камеру, микрофон и прочее оборудование. В современном мире киберпреступников, вопросам онлайн-безопасности необходимо уделять ничуть не меньше времени. Как же современные стримеры держат оборону […]
Как исправить обновление apt-get «Несоответствие хэш-суммы»
git clone https://github.com/spuder/puppet-gitlab
vagrant up
Как только запускается vagrant box apt-get update
, я получаю следующую ошибку.
... W: Failed to fetch gzip:/var/lib/apt/lists/partial/apt.puppetlabs.com_dists_precise_main_binary-amd64_Packages Hash Sum mismatch W: Failed to fetch gzip:/var/lib/apt/lists/partial/apt.puppetlabs.com_dists_precise_main_binary-i386_Packages Hash Sum mismatch W: Failed to fetch gzip:/var/lib/apt/lists/partial/apt.puppetlabs.com_dists_precise_dependencies_binary-i386_Packages Hash Sum mismatch W: Failed to fetch http://br.archive.ubuntu.com/ubuntu/dists/precise-updates/restricted/binary-i386/Packages 404 Not Found
Вещи, которые я пытался обойти эту ошибку.
- Используется 3 различных Ubuntu 12.04 коробки с « http://www.vagrantbox.es »
Решение предлагается здесь :
sudo rm -rf / var / lib / apt / lists / *
sudo apt-get update
sudo apt-get cleanУдалены и прочитаны пакеты кукольных лабораторий.
Я также попробовал аналогичные предложения, которые я нашел на первых нескольких страницах Google. Я даже пробовал несколько компьютеров и несколько подключений к Интернету.
Тот факт, что это повлияло на несколько Ubuntu VM на нескольких интернет-соединениях, заставляет меня думать, что что-то не так с репо Ubuntu.
Как еще я могу попытаться исправить эту проблему?
Обновить
Я попытался очистить ‘/ var / lib / apt / lists / part’ и запустить apt-get clean, а затем заменил источники в / etc / sources / list с помощью зеркал amazon, предложенных здесь:
Я все еще получаю похожую ошибку
Fetched 18.9 MB in 10s (1,865 kB/s) W: Failed to fetch bzip2:/var/lib/apt/lists/partial/us-west-1.ec2.archive.ubuntu.com_ubuntu_dists_precise_main_binary-amd64_Packages Hash Sum mismatch W: Failed to fetch bzip2:/var/lib/apt/lists/partial/us-west-1.
ec2.archive.ubuntu.com_ubuntu_dists_precise_universe_binary-amd64_Packages Hash Sum mismatch W: Failed to fetch bzip2:/var/lib/apt/lists/partial/us-west-1.ec2.archive.ubuntu.com_ubuntu_dists_precise_multiverse_binary-amd64_Packages Hash Sum mismatch W: Failed to fetch bzip2:/var/lib/apt/lists/partial/us-west-1.ec2.archive.ubuntu.com_ubuntu_dists_precise_main_binary-i386_Packages Hash Sum mismatch E: Some index files failed to download. They have been ignored, or old ones used instead.
Update2
У меня дома есть 2 интернет-соединения, они оба выдавали одну и ту же ошибку. Как только я подключил свой ноутбук к своему рабочему интернет-соединению, проблема исчезла.
Мне все еще любопытно понять, почему мое интернет-соединение будет иметь какое-либо значение.
Update3
Смотрите мой ответ ниже для объяснения. Мой интернет-фильтр повредил загрузку.
Я перефразирую вопрос, поскольку пока нет ответов.
Есть ли способ переопределить несоответствия хэш-суммы в apt-get?
Как установить jenkins, если Hash Sum mismatch? — Хабр Q&A
Пытаюсь установить на чистый ubuntu 18. 04 Jenkins, но получаю ошибку. Java установлен: openjdk-8-jre.Другие пакеты качаются нормально.
Установка из документации:
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt update
sudo apt install jenkins
Ход выполнения с ошибкой:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
daemon
The following NEW packages will be installed:
daemon jenkins
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 63.3 MB of archives.
After this operation, 63.8 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://ru.archive.ubuntu.com/ubuntu bionic/universe amd64 daemon amd64 0.6.4-1build1 [99.5 kB]
Get:2 https://pkg.jenkins.io/debian-stable binary/ jenkins 2. 204.5 [63.2 MB]
Err:2 https://pkg.jenkins.io/debian-stable binary/ jenkins 2.204.5
Hash Sum mismatch
Hashes of expected file:
- SHA512:60f60f02747d9993ab35185910352834a8d25750b3c62258dd1f616eb9716f7e697fe2a1a7252632f140159167a4cc56ee1db2165 d65868db4d0ea108e08a739
- SHA256:05ee55d82d5baa12094877bb6f9e74e0ca63cacdb0a0c222815a77b59b3ccd12
- SHA1:379ad8ee386b6cc5f9c6c4513e8d045ed5c2aab7 [weak]
- MD5Sum:93c550f232b9d1874e310da37b6c26c5 [weak]
- Filesize:63201636 [weak]
Hashes of received file:
- SHA512:94284388c1406901045ea7cd3b691615c65999fbce1b2a831164e14fbacd03c6b2e9295e5a21a4d2c1b23420d096fca5e6f0d5b43 1e40b2f4f44687e9906f25b
- SHA256:4e23722374a911aafd4c97ab6aae0c22a3091b5a105877c741a8d6497455acbd
- SHA1:c54edf8b56cc3b4e69184f91da4276eedc90857d [weak]
- MD5Sum:0014490c3200ff69af2b1cc70643a242 [weak]
- Filesize:63201636 [weak]
Last modification reported: Sat, 07 Mar 2020 21:33:04 +0000
Fetched 63.3 MB in 2min 5s (506 kB/s)
E: Failed to fetch https://prodjenkinsreleases. blob.core.windows.net/debian-stable/jenkins_2.204.5_all.deb Hash Sum mismatch
Hashes of expected file:
- SHA512:60f60f02747d9993ab35185910352834a8d25750b3c62258dd1f616eb9716f7e697fe2a1a7252632f140159167a4cc56ee1db216 5d65868db4d0ea108e08a739
- SHA256:05ee55d82d5baa12094877bb6f9e74e0ca63cacdb0a0c222815a77b59b3ccd12
- SHA1:379ad8ee386b6cc5f9c6c4513e8d045ed5c2aab7 [weak]
- MD5Sum:93c550f232b9d1874e310da37b6c26c5 [weak]
- Filesize:63201636 [weak]
Hashes of received file:
- SHA512:94284388c1406901045ea7cd3b691615c65999fbce1b2a831164e14fbacd03c6b2e9295e5a21a4d2c1b23420d096fca5e6f0d5b4 31e40b2f4f44687e9906f25b
- SHA256:4e23722374a911aafd4c97ab6aae0c22a3091b5a105877c741a8d6497455acbd
- SHA1:c54edf8b56cc3b4e69184f91da4276eedc90857d [weak]
- MD5Sum:0014490c3200ff69af2b1cc70643a242 [weak]
- Filesize:63201636 [weak]
Last modification reported: Sat, 07 Mar 2020 21:33:04 +0000
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
Пробовал:
sudo apt-get clean
sudo rm -rf /var/lib/apt/lists/*
sudo apt-get clean
sudo apt-get update
sudo apt install --fix-missing jenkins
Так же пытался скачать wget и установить deb файл jenkins — не устанавливает.
Как же установить Jenkins ?
Ubuntu чиним Hash sum mismatch
Get: 1 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libc6-dev amd64 2.31-0ubuntu9.2 [2,520 kB]
Get: 2 http://repo.zabbix.com/zabbix/5.2/ubuntu focal/main amd64 zabbix-server-pgsql amd64 1:5.2.4-1+ubuntu20.04 [2,599 kB]
Get: 3 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libc-dev-bin amd64 2.31-0ubuntu9.2 [71.8 kB]
Get: 4 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libc6 amd64 2.31-0ubuntu9.2 [2,715 kB]
Get: 5 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libc6 amd64 2.31-0ubuntu9.2 [2,715 kB]
Get: 6 http://repo.zabbix.com/zabbix/5.2/ubuntu focal/main amd64 zabbix-agent amd64 1:5.2.4-1+ubuntu20.04 [203 kB]
Get: 7 http://repo.zabbix.com/zabbix/5.2/ubuntu focal/main amd64 zabbix-frontend-php all 1:5.2.4-1+ubuntu20.04 [2,515 kB]
Err http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libc6 amd64 2.31-0ubuntu9.2
Hash Sum mismatch
Hashes of expected file:
— SHA512:2e5e62aa7426c436dad1ff71b7a689cbe334f4251b19fb2c22209ce1930315588f725dd60e44d2710d6dea1ff20f4b0b9167b4a469fefdc160e6535c0bd7f751
— SHA256:be7386ac249db6f5500f483456c135553a7b5b333388afa150a1f2ff3a294bb1
— SHA1:b1270449ee8ba6bb8f392d2a14a03c258e190df6 [weak]
— MD5Sum:582b1c473c06200a9de9652915955642 [weak]
— Filesize:2714688 [weak]
Hashes of received file:
— SHA512:f6e7e9ab05c7a1f5d4c740517188141d7c28a237ef452b6739d767a7060f51b72a9988758efbbdb6e437dbdb7d94823e29a5bc9b833d0a1b11cb479bf0429931
— SHA256:0949fdd153c7f4f057e37a7aa2ff783e4c1f5a779bc78844b5b2eac5df70df9e
— SHA1:962e2dbb1cc79047fca556e977c1ada50752cc98 [weak]
— MD5Sum:5067b45ddd3b86cf06f8b8f814ccba81 [weak]
— Filesize:2714688 [weak]
Last modification reported: Thu, 17 Dec 2020 00:19:45 +0000
Get: 8 http://archive. ubuntu.com/ubuntu focal-updates/main amd64 locales all 2.31-0ubuntu9.2 [3,872 kB]
Get: 9 http://repo.zabbix.com/zabbix/5.2/ubuntu focal/main amd64 zabbix-frontend-php all 1:5.2.4-1+ubuntu20.04 [2,515 kB]
Get: 10 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 locales all 2.31-0ubuntu9.2 [3,872 kB]
Get: 11 http://repo.zabbix.com/zabbix/5.2/ubuntu focal/main amd64 zabbix-apache-conf all 1:5.2.4-1+ubuntu20.04 [5,928 B]
Get: 12 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libc-bin amd64 2.31-0ubuntu9.2 [639 kB]
Get: 13 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libc-bin amd64 2.31-0ubuntu9.2 [639 kB]
Err http://archive.ubuntu.com/ubuntu focal-updates/main amd64 libc-bin amd64 2.31-0ubuntu9.2
Hash Sum mismatch
Hashes of expected file:
— SHA512:f7392cee1e379b296b53485fb94280e087db0e12317b235658ac48371f682bcf5011f61591a323d1f619c8b7c8439fcb570ec7ba2cf7ef91721f0a45670abfc6
— SHA256:e78733b4974c8bfd705b9bba7930ce309267cecc39a6c90ee18bbe44052d0c48
— SHA1:3c39898eea26c6962e75525e564cb4db8e866397 [weak]
— MD5Sum:f29c1bbae804d17af76acff694f27635 [weak]
— Filesize:638668 [weak]
Hashes of received file:
— SHA512:9e58dbe33dee732251a092ecd6481accca2da012a1a137b5fa5445959b254423708dce69ddbe92f055bed3b48f5deb8b469e5a97d75d89ad4cebc12e5eef51e5
— SHA256:9026ed574697ca56aca19d8733d9133ea49319f79ae68a3d00947af0254cccd7
— SHA1:00bf9336ac44c47a7bf59f7ca1746242435f0667 [weak]
— MD5Sum:3448fc51741978ad2d80675d87c27462 [weak]
— Filesize:638668 [weak]
Last modification reported: Thu, 17 Dec 2020 00:19:45 +0000
Get: 14 http://archive. ubuntu.com/ubuntu focal-updates/main amd64 ubuntu-drivers-common amd64 1:0.8.6.3~0.20.04.2 [52.2 kB]
Get: 15 http://repo.zabbix.com/zabbix/5.2/ubuntu focal/main amd64 zabbix-apache-conf all 1:5.2.4-1+ubuntu20.04 [5,928 B]
Get: 16 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 ubuntu-drivers-common amd64 1:0.8.6.3~0.20.04.2 [52.2 kB]
Get: 17 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 lshw amd64 02.18.85-0.3ubuntu2.20.04.1 [271 kB]
Get: 18 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 lshw amd64 02.18.85-0.3ubuntu2.20.04.1 [271 kB]
Get: 19 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 grub-efi-amd64 amd64 2.04-1ubuntu26.8 [46.7 kB]
Get: 20 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 grub-efi-amd64 amd64 2.04-1ubuntu26.8 [46.7 kB]
Get: 21 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 grub2-common amd64 2.04-1ubuntu26.8 [590 kB]
Get: 22 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 grub2-common amd64 2. 04-1ubuntu26.8 [590 kB]
Get: 23 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 grub-efi-amd64-signed amd64 1.142.10+2.04-1ubuntu26.8 [471 kB]
Get: 24 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 grub-efi-amd64-signed amd64 1.142.10+2.04-1ubuntu26.8 [471 kB]
Get: 25 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 grub-efi-amd64-bin amd64 2.04-1ubuntu26.8 [704 kB]
Get: 26 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 grub-efi-amd64-bin amd64 2.04-1ubuntu26.8 [704 kB]
Get: 27 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 grub-common amd64 2.04-1ubuntu26.8 [1,874 kB]
Get: 28 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 grub-common amd64 2.04-1ubuntu26.8 [1,874 kB]
Fetched 19.1 MB in 5min 28s (58.2 kB/s)
E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/main/g/glibc/libc6_2.31-0ubuntu9.2_amd64.deb: Hash Sum mismatch
Hashes of expected file:
— SHA512:2e5e62aa7426c436dad1ff71b7a689cbe334f4251b19fb2c22209ce1930315588f725dd60e44d2710d6dea1ff20f4b0b9167b4a469fefdc160e6535c0bd7f751
— SHA256:be7386ac249db6f5500f483456c135553a7b5b333388afa150a1f2ff3a294bb1
— SHA1:b1270449ee8ba6bb8f392d2a14a03c258e190df6 [weak]
— MD5Sum:582b1c473c06200a9de9652915955642 [weak]
— Filesize:2714688 [weak]
Hashes of received file:
— SHA512:f6e7e9ab05c7a1f5d4c740517188141d7c28a237ef452b6739d767a7060f51b72a9988758efbbdb6e437dbdb7d94823e29a5bc9b833d0a1b11cb479bf0429931
— SHA256:0949fdd153c7f4f057e37a7aa2ff783e4c1f5a779bc78844b5b2eac5df70df9e
— SHA1:962e2dbb1cc79047fca556e977c1ada50752cc98 [weak]
— MD5Sum:5067b45ddd3b86cf06f8b8f814ccba81 [weak]
— Filesize:2714688 [weak]
Last modification reported: Thu, 17 Dec 2020 00:19:45 +0000
E: Unable to fetch some packages; try ‘-o APT::Get::Fix-Missing=true’ to continue with missing packages
linux — ошибка несоответствия суммы хэша при обновлении
linux — ошибка несоответствия суммы хэша при обновлении — суперпользовательСеть обмена стеков
Сеть Stack Exchange состоит из 178 сообществ вопросов и ответов, включая Stack Overflow, крупнейшее и пользующееся наибольшим доверием онлайн-сообщество, где разработчики могут учиться, делиться своими знаниями и строить свою карьеру.
Посетить Stack Exchange- 0
- +0
- Авторизоваться Зарегистрироваться
Super User — это сайт вопросов и ответов для компьютерных энтузиастов и опытных пользователей. Регистрация займет всего минуту.
Зарегистрируйтесь, чтобы присоединиться к этому сообществуКто угодно может задать вопрос
Кто угодно может ответить
Лучшие ответы голосуются и поднимаются наверх
Спросил
Просмотрено 4к раз
Я использую Pop_Os! 20. 04. При попытке обновить его я получаю следующую ошибку:
sudo apt-get обновление
Получить: 1 http://us.archive.ubuntu.com/ubuntu focal-updates / main amd64 apparmor amd64
2.13.3-7ubuntu5.1 [494 КБ]
Ошибка: 1 http://us.archive.ubuntu.com/ubuntu focal-updates / main amd64 apparmor amd64 2.13.3-7ubuntu5.1
Несоответствие хеш-суммы
Хэши ожидаемого файла:
- SHA256: 6359c1166bdc8946d83d5ccf0a51d22d3e65698bcbfb407b8c51cb0cf0fa693b
- SHA1: 583e8718e1d7df0ac1cec1d172a00b5c1f3e068a [слабый]
- MD5Sum: c9472e4b9fed70d333a94abf4def982f [слабый]
- Размер файла: 494020 [слабый]
Хеши полученного файла:
- SHA256: 3e93ae0f10e6ad2f187e62d2ea4d1df89aabbf0bc0b891f0ccb1a7a1f06
- SHA1: 2b2318c322cf63cf31a9a956b8e1fc4109c95071 [слабый]
- MD5Sum: 16db382d293cd562a529fbcc52b69691 [слабый]
- Размер файла: 494020 [слабый]
Сообщение о последней модификации: Пт, 22 Май 2020 11:58:22 +0000
Получено 494 КБ за 1 с (636 КБ / с)
E: не удалось получить http: // us.
archive.ubuntu.com/ubuntu/pool/main/a/apparmor/apparmor_2.13.3-7ubuntu5.1_amd64.deb Несоответствие хэш-суммы
Хэши ожидаемого файла:
- SHA256: 6359c1166bdc8946d83d5ccf0a51d22d3e65698bcbfb407b8c51cb0cf0fa693b
- SHA1: 583e8718e1d7df0ac1cec1d172a00b5c1f3e068a [слабый]
- MD5Sum: c9472e4b9fed70d333a94abf4def982f [слабый]
- Размер файла: 494020 [слабый]
Хеши полученного файла:
- SHA256: 3e93ae0f10e6ad2f187e62d2ea4d1df89aabbf0bc0b891f0ccb1a7a1f06
- SHA1: 2b2318c322cf63cf31a9a956b8e1fc4109c95071 [слабый]
- MD5Sum: 16db382d293cd562a529fbcc52b69691 [слабый]
- Размер файла: 494020 [слабый]
Сообщение о последней модификации: Пт, 22 Май 2020 11:58:22 +0000
Я просмотрел различные решения, которые пытаются исправить это, когда это происходит во время
.sudo apt-get update
, но моя команда обновления работает нормально.
Решения, которые я пробовал, удаляли списки подходящих и снова обновляли их. Я также попытался установить для параметра «получение по хешу» значение «да», но это тоже не сработало. Думаю, проблема здесь не в том.
Создан 03 июн.
mr_pool_404mr_pool_40410111 серебряный знак22 бронзовых знака
Следующие шаги могут помочь решить проблему:
Обновление кеша APT
sudo apt-get clean
sudo apt-get update
Обновление списков APT
судо rm -R / var / lib / apt / lists / *
sudo apt-get update
Обновление обоих
sudo apt-get clean
sudo rm -R / var / lib / apt / lists / *
sudo apt-get update
Но в некоторых случаях это может быть просто временная проблема с использованным зеркалом APT, что означает, что вам следует выпить кофе и повторить попытку через несколько часов или ночь, прежде чем тратить слишком много времени на исследование проблемы, которая решается сама собой вскоре после этого; ).
Создан 06 июн.
MichaIngMichaIng13011 золотой знак11 серебряный знак99 бронзовых знаков
2 (Запуск Mint на виртуальной машине) — мне пришлось отключить функцию Windows Sandbox И WSL.Затем я мог просто запустить команду sudo apt update
, и все было в порядке.
Создан 21 июл.
Этот сайт временно находится в режиме только для чтения и не принимает новые ответы.
Не тот ответ, который вы ищете? Посмотрите другие вопросы с метками linux ubuntu updates apt.
Суперпользователь лучше всего работает с включенным JavaScriptВаша конфиденциальность
Нажимая «Принять все файлы cookie», вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Принимать все файлы cookie Настроить параметры
debian — обновление apt-get было прервано как восстановить? (несоответствие хэш-суммы)
Я спросил на StackOverflow, но меня перенаправили сюда.
Боюсь, я сделал что-то вроде болвана.
При выполнении apt-get upgrade
(в очереди было около 160+ пакетов) я случайно вышел из системы, прервав обновление на полпути. Теперь я не могу перезапустить обновление.
apt-get upgrade
сообщает, что нет пакетов для обновления …
apt-get update
выдает ошибки:
W: не удалось получить http://security.debian.org/dists/wheezy/updates/main/binary-armel/Packages Hash Sum mismatch
W: не удалось получить http: // security.debian.org/dists/wheezy/updates/contrib/binary-armel/Packages Hash Sum mismatch
W: не удалось получить http://security.debian.org/dists/wheezy/updates/non-free/binary-armel/Packages Hash Sum mismatch
[еще несколько таких ... и заканчиваются на:]
E: Не удалось загрузить некоторые индексные файлы. Их игнорировали или использовали старые.
E: не удалось перестроить кеш пакетов
Полный вывод здесь на pastebin
Я пробовал безуспешно:
Выход:
Чтение списков пакетов. .. Готово
Построение дерева зависимостей
Чтение информации о состоянии ... Готово
0 обновлено, 0 установлено заново, 0 удалено и 0 не обновлено.
Нет выхода
-
rm -vf / var / lib / apt / lists / *; rm -vf / var / lib / apt / lists / partial / *; apt-get обновление
Те же ошибки, что и выше.
В конце концов прерывается после этого:
[ok] Остановка acpid (через systemctl): acpid.service.
[ok] Запуск acpid (через systemctl): acpid.служба.
[ok] Остановка apache2 (через systemctl): apache2.service.
[ok] Запуск apache2 (через systemctl): apache2.service.
gpg: key B98321F9: «Squeeze Stable Release Key » не изменен
gpg: key 473041FA: «Ключ автоматической подписи архива Debian (6.0 / squeeze) » не изменен
gpg: key 65FFB764: "Ключ стабильной версии Wheezy " не изменен
gpg: key 46925553: "Ключ автоматической подписи архива Debian (7. 0 / wheezy) "не изменено
gpg: key 518E17E1: «Ключ стабильной версии Jessie » не изменен
gpg: key 2B90D010: «Ключ автоматической подписи архива Debian (8 / jessie) » не изменен
gpg: key C857C906: «Ключ автоматической подписи архива безопасности Debian (8 / jessie) » не изменен
gpg: Всего обработано: 7
gpg: без изменений: 7
[ok] Остановка avahi-daemon (через systemctl): avahi-daemon.service.
[ok] Повторная загрузка конфигурации dbus (через systemctl): dbus.служба.
[ok] Запуск avahi-daemon (через systemctl): avahi-daemon.service.
альтернативы обновления: использование /usr/share/man/man7/bash-builtins.7.gz для предоставления /usr/share/man/man7/builtins.7.gz (builtins.7.gz) в автоматическом режиме
update-initramfs: отложенное обновление (триггер активирован)
[ok] Запуск loadcpufreq (через systemctl): loadcpufreq.service.
[ok] Запуск cpufrequtils (через systemctl): cpufrequtils.service.
[ok] Остановка cron (через systemctl): cron. service.
[ok] Запуск cron (через systemctl): cron.служба.
[ok] Запуск dbus (через systemctl): dbus.service.
update-initramfs: отложенное обновление (триггер активирован)
update-initramfs: отложенное обновление (триггер активирован)
update-initramfs: отложенное обновление (триггер активирован)
Восстановление кеша шрифтов ... готово.
udev активен, создание узла устройства не выполняется.
update-initramfs: отложенное обновление (триггер активирован)
dpkg-query: error: --status требуется допустимое имя пакета, но для gcc-4.7-base нет: неоднозначное имя пакета 'gcc-4.7-base' с более чем одним установленным экземпляром
Используйте --help для справки о запросах пакетов./ usr / sbin / dpkg-reconfigure: gcc-4.7-base не установлен
Не знаю, как узнать, что было установлено, а что нет.
Любые советы, как вылечиться от этого, очень приветствуются!
Kali Linux: apt update возвращает «Несоответствие хеш-суммы» …
Я обновился до Big Sur. Затем мне пришлось обновиться до VMware Fusion 12. С тех пор у меня возникают проблемы. Я видел, что эта проблема возникает у пользователей Windows, но я не могу найти исправление для OSX.
https: //unix.stackexchange.com/questions/574760/kali-linux-apt-update-returns-hash-sum-mismatch-erro …
I ‘ m испытывает точно такую же проблему, как описано в этом вопросе: Kali Linux: обновление apt-get возвращает ошибку «Несоответствие хэш-суммы». Однако, прежде чем вы пометите это как дубликат, я попробовал решения, размещенные там, а также на многих других сайтах, в том числе:
sudo apt-get clean sudo rm -rf / var / lib / apt / lists / * sudo apt-get update
Редактирование / etc / apt / sources.список с альтернативными официальными зеркалами, такими как deb http://mirrors.ocf.berkeley.edu/kali kali-Rolling main non-free contrib или deb https://http.kali.org/kali kali-Rolling main non-free contrib
Все заработало после того, как я впервые импортировал виртуальную машину. Я запустил sudo apt update и обнаружил около 650 пакетов для обновления. Я запустил sudo apt upgrade, и на полпути возникла ошибка. Эта ошибка была решена с помощью sudo apt —fix-broken install, но именно тогда и началась эта ошибка хеш-суммы. К сожалению, из-за многочасового поиска и устранения неполадок у меня больше нет сведений о предыдущей ошибке, но я считаю, что это была ошибка при извлечении пакета из-за поврежденных данных.
Я пробовал использовать несколько официальных зеркал, но получаю ту же ошибку. Кроме того, когда я загрузил здесь файл Packages.gz на свой компьютер с Windows (хост виртуальной машины) и вычислил хэш SHA256, я получил точный хеш, который apt напечатал как ожидаемое значение. Это заставило меня поверить, что ошибка была не в зеркале, а в моей виртуальной машине.
Следующее, что я попробовал, это wget https://mirrors.ocf.berkeley.edu/kali/dists/kali-rolling/main/binary-amd64/Packages.gz, за которым следует sha256sum Packages.gz, который предоставил еще один другой хэш-вывод.
Для ясности, я видел 3 разных хэша для одного и того же файла:
- «Правильный» хеш, показанный apt, как и ожидалось, тот, который Windows также выдает после загрузки файла с помощью браузера.
- Неправильный хэш, рассчитанный с помощью apt, что привело к ошибке
- Другой хеш, рассчитанный с помощью sha256sum после загрузки файла с помощью wget с использованием того же URL-адреса, что и для загрузки браузера
Я также должен отметить, что я ссылался только на хеш SHA256 в каждый шаг.Другие хэш-функции также не совпадают, когда я запускаю sudo apt update, но размер файла тот же. Я думал, что загрузка может быть неудачной из-за ограниченного дискового пространства (в конце концов, это виртуальная машина), но я не думаю, что это так.
Что мне не хватает?
как исправить несоответствие хеш-суммы
Несоответствие хэш-суммы Kali Linux
Несоответствие хэш-суммы Kali LinuxНесколько дней назад у меня было время, чтобы настроить Kali Linux на VMware, все кажется прекрасным, пока я не попытался обновить его с помощью apt-get update Я получаю эту досадную ошибку
apt-get update Получить: 1 http: // kali. mirror.garr.it/mirrors/kali kali-Rolling InRelease [30,5 kB] Получить: 2 http://kali.mirror.garr.it/mirrors/kali kali-Rolling / contrib Источники [66.1 kB] Получить: 3 http://kali.mirror.garr.it/mirrors/kali kali-Rolling / non-free Исходники [124 kB Получить: 4 http://kali.mirror.garr.it/mirrors/kali kali-Rolling / main Источники [11.0 МБ] Получить: 4 http://kali.mirror.garr.it/mirrors/kali kali-Rolling / main Источники [11.0 МБ] Ошибка: 4 http://kali.mirror.garr.it/mirrors/kali kali-Rolling / main Источники Несоответствие хеш-суммы Хэши ожидаемого файла: - Размер файла: 11015732 [слабый] - SHA256: b20b6264d4bd5200e6e3cf319df56bd7fea9b2ff5c9dbd44f3e7e530a6e6b9e0 - SHA1: 2d8b15ab8109d678fe1810800e0be8ce3be87201 [слабый] - Сумма MD5: d0b5f94ba474b31f00f8911ac78258ec [слабый] Хеши полученного файла: - SHA256: a7b9ca82fc1a400b2e81b2ebc938542abfdbfa5aecdfa8744f60571746ec967b - SHA1: 5d870530aa87398dcb11ecb07e6a25ca0746985f [слабый] - MD5Sum: 9a4824220c0a5fa6cb74390851116b73 [слабый] - Размер файла: 9828918 [слабый] Сообщение о последней модификации: среда, 23 декабря 2015 г. , 00:03:15 +0000 Файл релиза создан: чт, 01 июн 2017 12:15:05 +0000 Получить: 5 http: // kali.mirror.garr.it/mirrors/kali kali-Rolling / main Пакеты i386 [15,0 МБ] Получить: 6 http://kali.mirror.garr.it/mirrors/kali kali-Rolling / contrib пакетов i386 [98,7 kB] Получить: 7 http://kali.mirror.garr.it/mirrors/kali kali-Rolling / non-free пакетов i386 [145 kB] Получено 25,3 МБ за 11 минут 20 секунд (37,2 кБ / с) Чтение списков пакетов ... Готово E: не удалось получить http://kali.mirror.garr.it/mirrors/kali/dists/kali-rolling/main/source/Sources.gz Несоответствие хеш-суммы. Хэши ожидаемого файла: - Размер файла: 11015732 [слабый] - SHA256: b20b6264d4bd5200e6e3cf319df56bd7fea9b2ff5c9dbd44f3e7e530a6e6b9e - SHA1: 2d8b15ab8109d678fe1810800e0be8ce3be87201 [слабый] - Сумма MD5: d0b5f94ba474b31f00f8911ac78258ec [слабый] Хеши полученного файла: - SHA256: a7b9ca82fc1a400b2e81b2ebc938542abfdbfa5aecdfa8744f60571746ec967b - SHA1: 5d870530aa87398dcb11ecb07e6a25ca0746985f [слабый] - MD5Sum: 9a4824220c0a5fa6cb74390851116b73 [слабый] - Размер файла: 9828918 [слабый] Сообщение о последней модификации: среда, 23 декабря 2015 г. , 00:03:15 +0000 Файл релиза создан: чт, 01 июн 2017 12:15:05 +0000 E: Не удалось загрузить некоторые индексные файлы.Их игнорировали или использовали старые.
проблема явно должна быть в файле sources.list Kali Linux … Я пытался исправить это разными способами, но всегда оказываюсь там, где начал. Несоответствие хэш-суммы проявляется снова и снова, все кажется слишком сложным для меня но исправить было очень просто! и вот оно,
обновите ваши репозитории в файле sources.list до:
deb http://http.kali.org/kali kali-Rolling main non-free contrib
Сохраните и закройте файл
Очистите, обновите, обновите и dist-обновите вашу установку Kali
apt-get clean && apt-get update && apt-get upgrade -y && apt-get dist-upgrade -y
apt-get hash sum mismatch
Предполагается, что многие люди сталкивались с этой проблемой.
Основная идея такова: некоторые из сетевых провайдеров, которых вы используете, настроят несколько прозрачных кешей для увеличения внутренней скорости сети и уменьшения трафика экспорта. Некоторые файлы, которые вы получаете, не являются настоящими файлами на исходном сервере, но получаются из кеша. Когда некоторая информация о проверке, полученная в кэше, не согласуется с источником, это, естественно, указывает на то, что проверка не удалась и не может быть обновлена.
Эта проблема на самом деле связана с дизайном формата репозитория программного обеспечения apt.Недавно выпущенная версия хранилища программного обеспечения обновляется чаще. Файлы в кеше должны обновляться синхронно. К сожалению, из-за скорости нескольких зеркальных сайтов кеш не может гарантировать согласованность.
Если сетевой провайдер достаточно силен, чтобы не устанавливать прозрачный кэш, этой проблемы не существует. Вот почему некоторые люди сообщают, что использование беспроводных сетевых карт (мобильных устройств, сеть 3g от Unicom) — это нормально, и этого недостаточно, чтобы снова переключиться на Great Wall Broadband или Broadband.
Вышеупомянутая реальная причина проблемы.
Моя домашняя сеть — это широкополосная связь, нет сомнений, что этот сетевой провайдер обязательно установит прозрачный кеш.
Решение простое, достаточно обойти кеш и перейти прямо на сайт.
Как обойти этот кеш, установленный провайдером, аналогичен обходу межсетевого экрана Great Wall.
Я нашел бесплатный прокси-сервер службы ssh,
, а затем установил прокси-цепочки, настроил прокси-сервер в /etc/proxychians.conf на
и использовал прокси-цепочки sudo apt-get update до
обычно (независимо от того, какой источник вы обновляете, внутренний или иностранный)
, если вы считаете, что прокси-сервер недостаточно быстр, просто обновите исходный индекс и sudo apt-ge install xxx непосредственно при установке программного обеспечения.Нет проблем с установкой различного программного обеспечения в программном центре.
Фундаментальное решение этой проблемы связано с дизайном формата репозитория apt.
Однако у интернет-провайдеров в Европе и США, похоже, хорошие сети и меньше кешей. Не так много людей поднимают этот вопрос. Поэтому непредсказуемо, улучшат ли они конструкцию.
Существует еще одна ситуация, которая будет разрешена естественным образом, то есть после постепенной стабилизации исходного индекса кэш вашего интернет-провайдера будет соответствовать реальным данным, и обновление, естественно, пройдет нормально.
Его необходимо часто обновлять при выходе новых версий. Предполагается, что большая часть новой системы контроля версий не может ждать.
Вышесказанное касается реальной причины проблемы несоответствия хеш-суммы при обновлении исходного индекса и решения, надеюсь, оно будет полезно для всех друзей
Исправление несоответствия хеш-суммы APT: согласованные репозитории APT
Репозиторий APT формат метаданных по своей сути является колоритным.
Эта ошибка делает невозможным гарантировать, что:
- Часто обновляемые репозитории APT останутся согласованными для пользователей
- Зеркала репозиториев APT будут согласованными
В APT 1 была добавлена новая функция. 2.0 и новее, чтобы предотвратить это состояние гонки. Поддержка этой функции была добавлена в packagecloud.io для всех репозиториев APT. От наших пользователей не требуется никаких действий, чтобы воспользоваться этой новой функцией APT; он включается автоматически для всех.
Эта ошибка в значительной степени ответственна за печально известную ошибку «Несоответствие суммы хэша», которую наблюдают тысячи пользователей Ubuntu и Debian. Ранее мы писали и о другой причине этой ошибки.
На момент написания этой статьи эта функция не поддерживалась ни в REPUBLIC PRO
, ни в aptly
, ни в любом другом коммерчески доступном инструменте, который мы могли найти.
Создайте репозиторий APT менее чем за 10 секунд, бесплатно.
Многие пользователи Ubuntu и Debian сталкивались с загадочным сообщением об ошибке «Hash sum mismatch» при запуске apt-get update
. Чтобы понять это сообщение об ошибке, вы должны сначала иметь общее представление о метаданных репозитория APT.
Есть несколько файлов, которые составляют репозиторий APT, два из которых являются существенными частями этой ошибки:
- Файл Release (или InRelease).
- Файл пакетов.
Файл Packages содержит список всех пакетов в репозитории для данной архитектуры ЦП. Для каждой поддерживаемой архитектуры ЦП существуют отдельные файлы пакетов. Например, репозиторий, в котором есть пакеты для процессоров amd64
и i386
, будет иметь два файла Packages.
Файл выпуска содержит список всех доступных файлов пакетов и их контрольные суммы (или хэш-суммы). Когда вы запускаете apt-get update
, APT попытается проверить, что контрольная сумма загруженного файла пакетов соответствует контрольной сумме, указанной для этого файла в файле выпуска.
Если эти контрольные суммы не совпадают, генерируется ошибка несоответствия хэш-суммы.
Как возникает несоответствие хеш-суммы?
Сегодня для большинства систем на базе Ubuntu и Debian это может произойти как минимум тремя способами:
- Устаревшие метаданные, кэшированные между клиентом и сервером. В большинстве случаев это маловероятно и невозможно при использовании SSL.
- Метаданные не совпадают из-за ошибки во время извлечения метаданных.
- Репозиторий обновляется, пока выполняется обновление
apt-get
илиapt
кэширует устаревший файл выпуска.
Пользователи могут избежать всех трех случаев:
- Используя SSL.
- Отключение сжатых метаданных XZ или обеспечение использования более новой версии APT.
- Использование новой функции
Acquire-by-hash
, доступной в APT 1.2.0.
Пользователи обычно «исправляют» эту проблему, запустив apt-get clean
и вручную очистив каталог APT / var / lib / apt / lists /
(который не очищается с помощью apt-get clean
). Реальное решение — воспользоваться новой функцией репозиториев APT: Acquire-by-hash
.
Acquire-by-hash
Службы репозитория могут установить для Acquire-by-hash
значение «Да» в своем файле Release / InRelease. Это указывает на то, что клиенты APT могут загружать файлы пакетов, отправляя запрос по URL-адресу с хеш-суммой файла вместо имени файла. Таким образом, пока сервер сохраняет достаточно копий старых метаданных, клиент всегда будет запрашивать файл с правильной контрольной суммой.
Acquire-by-hash
по умолчанию имеет значение «Нет» для обратной совместимости.
На стороне клиента: необходимо использовать APT 1.2.0 или новее. Если вы используете Ubuntu Xenial (16.04), Debian Stretch или что-то более новое, у вас будет версия APT, поддерживающая эту функцию.
Мы перенесли эту версию APT в Ubuntu 12.04 (Ubuntu Precise) и Ubuntu 14.04 (Ubuntu Trusty). Узнайте больше здесь.
На стороне сервера: официальные репозитории Ubuntu 16.04 и Debian Stretch APT поддерживают Acquire-by-hash
. Более ранние версии этого не делают, поэтому запустите более новую APT на вашем Ubuntu 12.04 не помогут в том, что касается официальных зеркал Ubuntu.
Все репозитории на packagecloud. io поддерживают эту функцию, поэтому пользователям нашего сервиса просто необходимо убедиться, что они используют достаточно свежую версию APT. На момент написания этой статьи ни один проект с открытым исходным кодом, который мы могли бы найти, не поддерживает эту новую функцию.
Acquire-by hash
— долгожданное дополнение к набору функций APT. Это гарантирует, что внутренне согласованные метаданные репозитория APT доступны для клиентов, и помогает устранить одну из самых загадочных и трудных для отладки ошибок, с которыми сталкивается пользователь APT: несоответствие суммы хэша.
Get-FileHash (Microsoft.PowerShell.Utility) — PowerShell | Документы Microsoft
Вычисляет значение хеш-функции для файла, используя указанный алгоритм хеширования.
В этой статье
Синтаксис
Get-File Хэш
[-Path]
[[-Алгоритм] ]
[<Общие параметры>]
Get-File Хэш
[-LiteralPath]
[[-Алгоритм] ]
[<Общие параметры>]
Get-File Хэш
[-InputStream]
[[-Алгоритм] ]
[<Общие параметры>]
Описание
Командлет Get-FileHash
вычисляет значение хеш-функции для файла, используя указанный алгоритм хеширования. Хеш-значение — это уникальное значение, соответствующее содержимому файла. Вместо того, чтобы определять
содержимое файла по имени файла, расширению или другому обозначению, хэш присваивает уникальный
значение для содержимого файла. Имена и расширения файлов можно изменить без изменения
содержимое файла и без изменения значения хеш-функции. Точно так же содержимое файла может быть
изменено без изменения имени или расширения. Однако изменение даже одного символа в
содержимое файла изменяет хеш-значение файла.
Назначение хеш-значений — предоставить криптографически безопасный способ проверки того, что содержимое файла не были изменены. Хотя некоторые хеш-алгоритмы, включая MD5 и SHA1, больше не считается защищенным от атак, цель безопасного алгоритма хеширования — сделать невозможным изменить содержимое файла — случайно, злонамеренно или неавторизованно — и поддерживать то же хеш-значение. Вы также можете использовать хеш-значения, чтобы определить, есть ли в двух разных файлах точно такой же контент. Если хеш-значения двух файлов идентичны, содержимое файлов тоже идентичны.
По умолчанию командлет Get-FileHash
использует алгоритм SHA256, хотя любой алгоритм хеширования, который
поддерживается целевой операционной системой.
Примеры
Пример 1: Вычислить значение хеш-функции для файла
В этом примере используется командлет Get-FileHash
для вычисления хеш-значения для /etc/apt/sources.list
файл.Используемый алгоритм хеширования — по умолчанию SHA256 . На выходе
передается в командлет Format-List
для форматирования вывода в виде списка.
Get-FileHash /etc/apt/sources.list | Формат-Список
Алгоритм: SHA256
Хеш: 3CBCFDDEC145E3382D592266BE193E5BE53443138EE6AB6CA09FF20DF609E268
Путь: /etc/apt/sources.list
Пример 2: Вычислить хеш-значение для файла ISO
В этом примере используется командлет Get-FileHash
и алгоритм SHA384 для вычисления значения хеш-функции. для файла ISO, который администратор загрузил из Интернета.Выходной сигнал передается на Format-List
командлет для форматирования вывода в виде списка.
Get-FileHash C: \ Users \ user1 \ Downloads \ Contoso8_1_ENT.iso -Algorithm SHA384 | Формат-Список
Алгоритм: SHA384
Хеш: 20AB1C2EE19FC96A7C66E33917D191A24E3CE9DAC99DB7C786ACCE31E559144FEAFC695C58E508E2EBBC9D3C96F21FA3
Путь: C: \ Users \ user1 \ Downloads \ Contoso8_1_ENT.iso
Пример 3: Вычислить хеш-значение потока
В этом примере мы используем систему .Net.WebClient , чтобы загрузить пакет из
Страница выпуска Powershell. Релиз
страница также документирует хэш SHA256 каждого файла пакета. Мы можем сравнить опубликованное хеш-значение
с тем, который мы вычисляем с помощью Get-FileHash
.
$ wc = [System.Net.WebClient] :: new ()
$ pkgurl = 'https://github.com/PowerShell/PowerShell/releases/download/v6.2.4/powershell_6.2.4-1.debian. 9_amd64.deb'
$ PublishedHash = '8E28E54D601F0751922DE24632C1E716B4684876255CF82304A9B19E89A9CCAC'
$ FileHash = Get-FileHash -InputStream ($ wc.OpenRead ($ pkgurl))
$ FileHash.Hash -eq $ publishedHash
Правда
Пример 4: Вычислить хэш строки
PowerShell не предоставляет командлет для вычисления хэша строки. Однако вы можете написать
строку в поток и используйте параметр InputStream из Get-FileHash
, чтобы получить значение хеш-функции.
$ stringAsStream = [System.IO.MemoryStream] :: new ()
$ writer = [System.IO.StreamWriter] :: new ($ stringAsStream)
$ writer.write ("Привет, мир")
$ writer.Румянец()
$ stringAsStream.Position = 0
Get-FileHash -InputStream $ stringAsStream | Select-Object Hash
Хеш
----
64EC88CA00B268E5BA1A35678A1B5316D212F4F366B2477232534A8AECA37F3C
Параметры
-Алгоритм
Задает криптографическую хеш-функцию, используемую для вычисления хеш-значения содержимого указанный файл или поток. Криптографическая хеш-функция обладает тем свойством, что она неосуществима найти два разных файла с одинаковым значением хеш-функции.Хеш-функции обычно используются с цифровыми подписи и за целостность данных. Допустимые значения для этого параметра:
- SHA1
- SHA256
- SHA384
- SHA512
- MD5
Если значение не указано или параметр опущен, значение по умолчанию — SHA256.
По соображениям безопасности MD5 и SHA1, которые больше не считаются безопасными, должны использоваться только для простая проверка изменений и не должна использоваться для генерации хеш-значений для файлов, требующих защита от нападения или взлома.
Тип: | Строка | |||||
Допустимые значения: | SHA1, SHA256, SHA384, SHA512, MD5 | |||||
Позиция: | 1 | |||||
Значение по умолчанию ввод конвейера: | False | |||||
Принимать подстановочные знаки: | False |
-InputStream
Задает входной поток.
Тип: | Поток |
Позиция: | 0 |
Значение по умолчанию: | Нет |
Принять конвейерный ввод: | Ложные | Подстановочные символы Принять подстановочные символы
-LiteralPath
Задает путь к файлу.В отличие от параметра Path , значение параметра LiteralPath Параметр используется точно так, как он набран. Никакие символы не интерпретируются как символы подстановки. Если путь включает escape-символы, заключите путь в одинарные кавычки. Одиночная цитата Знаки указывают PowerShell не интерпретировать символы как escape-последовательности.
Тип: | Строка [] | |
Псевдонимы: | PSPath, LP | |
Позиция: | 0 | |
Значение по умолчанию: | Нет | |
Вход | True | |
Принимать подстановочные знаки: | False |
-Path
Задает путь к одному или нескольким файлам в виде массива. Подстановочные знаки разрешены.
Тип: | Строка [] |
Позиция: | 0 |
Значение по умолчанию: | Нет |
Принять ввод конвейера: | Истинный |
принять подстановочные символы Правда |
Входы
Строка
Командлету Get-FileHash
можно передать строку, содержащую путь к одному или нескольким файлам.
Выходы
Microsoft.Powershell.Utility.FileHash
Get-FileHash
возвращает объект, представляющий путь к указанному файлу, значение
вычисляемый хэш и алгоритм, используемый для вычисления хеша.
«Использовать аккумулятор» с операциями «Сумма в первичном» или «Хеш-сумма в первичном» не суммирует 2 отрицательных числа правильно (SCI62059)
Проблема
Стандартное правило «Использовать накопитель» с операциями «Сумма в первичном» или «Хэш-сумма в первичном» не суммирует 2 отрицательных числа правильно (SCI62059)
Признак
Стандартное правило «Использовать аккумулятор» с операциями «Сумма в первичном» или «Хеш-сумма». in primary «неправильно складывает 2 отрицательных числа
Аккумулятор
вывод неверен
Причина
В TX32.EXE, логика аккумулятора неправильно обрабатывала отрицательные числа
. В функции ImplicitRuleExecutor :: UseAccumulators () переменная
, в которой хранится значение для накопления, была беззнаковой.
Решение проблемы
Обратитесь в службу поддержки продуктов для получения последнего обновления программного обеспечения TX32.EXE. Gentran: Директор 5.3.01 должен быть установлен до замена любых файлов. Примечание Обязательно сделайте резервную копию исходных файлов перед применением обновления.
[{«Продукт»: {«код»: «SS6UP7», «ярлык»: «Стерлинг Джентран: Директор»}, «Бизнес-подразделение»: {«код»: «BU055», «ярлык»: «Когнитивные приложения»} , «Компонент»: «Неприменимо», «Платформа»: [{«код»: «PF025», «ярлык»: «Независимость от платформы»}], «Версия»: «Все», «Редакция»: «», «Направление деятельности»: {«code»: «LOB02», «label»: «AI Applications»}}]
Исторический номер
PRI20223
Синоним продукта
[
] Факт [
]; Джентран: Директор для Windows; Выпуск 5.