을 사용하여 AWS Cloud9 시스템 내에서 Manjaro 컨테이너를 실행했는데 docker container run --interactive --tty manjarolinux/build bash
, 실행한 첫 번째 명령이 pacman -Syy
다음 출력과 함께 실패했습니다.
# pacman -Syy
:: Synchronizing package databases...
error: failed retrieving file 'packages.db' from disk : Couldn't open file /build/packages/packages.db
error: failed to update packages (download library error)
core 167.5 KiB 722 KiB/s 00:00 [#####################################################################################] 100%
extra 1986.5 KiB 2.37 MiB/s 00:01 [#####################################################################################] 100%
community 5.8 MiB 3.10 MiB/s 00:02 [#####################################################################################] 100%
multilib 192.6 KiB 0.00 B/s 00:00 [#####################################################################################] 100%
error: failed to synchronize all databases
/build/
디렉토리가 비어 있으므로 해당 파일이 존재하지 않습니다. 그 파일의 목적은 무엇입니까? 그리고 이 문제를 어떻게 해결해야 할까요?
컨테이너에 패키지를 설치해야 하는데 지금은 팩맨이 쓸모가 없는 것 같습니다.
/etc/pacman.conf
:
#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives
#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir = /
#DBPath = /var/lib/pacman/
#CacheDir = /var/cache/pacman/pkg/
#LogFile = /var/log/pacman.log
#GPGDir = /etc/pacman.d/gnupg/
#HookDir = /etc/pacman.d/hooks/
HoldPkg = pacman glibc manjaro-system
# If upgrades are available for these packages they will be asked for first
SyncFirst = manjaro-system archlinux-keyring manjaro-keyring
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
Architecture = auto
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg =
#IgnoreGroup =
#NoUpgrade =
#NoExtract =
# Misc options
#UseSyslog
#Color
#TotalDownload
CheckSpace
#VerbosePkgLists
# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
SigLevel = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required
# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official Manjaro Linux
# packagers with `pacman-key --populate archlinux manjaro`.
#
# REPOSITORIES
# - can be defined here or included from another file
# - pacman will search repositories in the order defined here
# - local/custom mirrors can be added here or in separate files
# - repositories listed first will take precedence when packages
# have identical names, regardless of version number
# - URLs will have $repo replaced by the name of the current repo
# - URLs will have $arch replaced by the name of the architecture
#
# Repository entries are of the format:
# [repo-name]
# Server = ServerName
# Include = IncludePath
#
# The header [repo-name] is crucial - it must be present and
# uncommented to enable the repo.
#
[packages]
SigLevel = Optional TrustAll
Server = file:///build/packages
[core]
Include = /etc/pacman.d/mirrorlist
[extra]
Include = /etc/pacman.d/mirrorlist
[community]
Include = /etc/pacman.d/mirrorlist
# If you want to run 32 bit applications on your x86_64 system,
# enable the multilib repositories as required here.
[multilib]
Include = /etc/pacman.d/mirrorlist
# An example of a custom package repository. See the pacman manpage for
# tips on creating your own repositories.
#[custom]
#SigLevel = Optional TrustAll
#Server = file:///home/custompkgs
답변1
사용자 정의 저장소에 대한 3줄을 주석으로 처리합니다.
[packages]
SigLevel = Optional TrustAll
Server = file:///build/packages
수정한 적이 없다면. 사용자 정의 저장소가 왜 설정되었는지 모르겠습니다. 하지만 당신은 확실히 자신의 저장소를 사용하지 않습니다. 따라서 사용자 정의 저장소에 주석을 달아야 합니다.