소개하다
나는 잘 작동하는 백업 솔루션으로 Gnome Backups(DejaDup) Flatpak 버전을 사용하고 있습니다. 오늘까지 소프트웨어는 내 HOME 디렉터리에 있는 경로 사용을 거부했습니다. 다음과 같이 말합니다.
백업에서 이 폴더에 액세스할 수 없기 때문에 이 폴더를 백업할 수 없습니다.
전체 HOME 디렉토리와 이러한 개별 디렉토리는 Flatseal을 통해 액세스할 수 있지만 소용이 없습니다. 이러한 디렉토리 중 일부는 유니코드(키릴 자모)이고 일부는 일반 라틴어 및 일반 시스템 경로입니다(예: ~/Music/ 또는 심지어 xdg-music).
처음에는 내 로케일에 문제가 있다고 생각했지만 그렇지 않은 것 같습니다(아니면 제가 틀렸을 수도 있나요?).
Layered (비 Flatpak) DejaDup이 작동하지만 저는 Flatpak 버전을 사용하는 것을 선호하므로 rpm-ostree를 통해 아무 것도 레이어할 필요가 없습니다.
플랫팩 버전: 1.15.6
Linux 배포 버전: Fedora Kinoite 6.7.9-200.fc39.x86_64(KDE Plasma)
재생산 방법
- HOME 또는 다른 곳에 백업 경로를 추가하세요.
- 백업을 시작해 보세요.
- 메시지 받기: "다음 폴더는 백업에 액세스할 수 있는 권한이 없기 때문에 백업할 수 없습니다: [목록에 나열된 디렉터리]"
예상되는 동작
GNOME 백업은 HOME의 모든 디렉터리나 사용자가 만든 다른 디렉터리(다른 마운트된 드라이브의 디렉터리 포함)에 액세스할 수 있습니다.
Flatseal 또는 flatpak override
파일 시스템 액세스를 허용하는 기능.
실제 행동
GNOME 백업은 HOME이나 다른 곳에 있는 디렉터리에 액세스할 수 없습니다. 간단히 말하면 "이 폴더는 백업에 액세스할 수 있는 권한이 없기 때문에 백업할 수 없습니다."입니다.
Flatseal 또는 flatpak override
파일 시스템 액세스를 "허용"하지만 GNOME Backup은 여전히 이를 사용할 수 없습니다.
로케일 물건
flatpak run --command=locale org.gnome.DejaDup
이를 인쇄하려면(BTW, VLC, Flatseal도 동일하게 인쇄):
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LC_CTYPE="xx_XX.utf8"
LC_NUMERIC="xx_XX.utf8"
LC_TIME="xx_XX.utf8"
LC_COLLATE="xx_XX.utf8"
LC_MONETARY="xx_XX.utf8"
LC_MESSAGES="xx_XX.utf8"
LC_PAPER="xx_XX.utf8"
LC_NAME="xx_XX.utf8"
LC_ADDRESS="xx_XX.utf8"
LC_TELEPHONE="xx_XX.utf8"
LC_MEASUREMENT="xx_XX.utf8"
LC_IDENTIFICATION="xx_XX.utf8"
LC_ALL=xx_XX.utf8
하지만 다음과 같이 수정되었습니다 flatpak config --set languages en
.
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
locale 명령을 실행하는 시스템은 다음을 제공합니다.
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
또한 시스템 설정 → 지역 및 언어의 모든 설정을 기본값으로 변경하고 일부 시스템 파일(예: /etc/locale.conf) 등을 수정해 보았습니다. 문제 해결을 위해 flatpak 복구를 실행했습니다. 아무것도 도움이 되지 않습니다.
실행하면 flatpak run org.gnome.DejaDup
다음이 생성됩니다.
Locale not supported by C library.
Using the fallback 'C' locale.
애플리케이션 권한과 일치하지 않음
이상하게도 Flatseal이 권한을 적용하는 것 같습니다.자신과 KDE를 위해, 그러나 DejaDup에서는 작동하지 않습니다. Flatseal 및 KDE 설정 → Flatpak 권한에서 "적용"된 것을 볼 수 있지만 flatpak permission-show org.gnome.DejaDup
시도해도 아무 것도 인쇄되지 않습니다. 나도 그것을 시도하면 flatpak override --show org.gnome.DejaDup
아무것도 인쇄되지 않습니다. flatpak repair reinstall-all
문제도 해결하지 못했습니다.
마무리하다
DejaDup은 시스템과 별개의 현실에 살고 있는 것으로 보이며 새로운 권한 수락을 거부합니다. Flatseal을 통해 재설정하거나 flatpak override --reset org.gnome.DejaDup
(이론적으로 앱에 대한 "모든 시스템 파일" 액세스를 허용해야 함), 선택한 디렉터리에는 여전히 액세스할 수 없습니다.
이러한 모든 변경 사이에 전체 시스템을 여러 번 다시 시작하기도 했습니다.
무슨 일이야? !
추신
PS GNOME 백업 및 Flatseal은 사용자가 아닌 시스템 Flatpak으로 설치됩니다. flatpak list --system
인쇄하고 --user
인쇄하지 마십시오.
일부 배경 정보
나는 이것이 응용 프로그램 관련 문제가 아니라 Flatpak 및 시스템 문제라고 90% 이상 확신합니다. 그 이유는 다음과 같습니다.
- 저는 실제로 이틀 전에 아무런 문제 없이 GNOME Backups Flatpak 버전을 사용했습니다(변경/업데이트했지만).무엇그러나 그 이후로 나는 왜 그러한 급격한 변화가 현재의 혼란을 초래했는지 이해하지 못했습니다.
- Flatpak에 따라 권한/재정의가 설정되는 방식에서 몇 가지 문제(불일치)를 발견했습니다(아래 참조).
- Flatpak이 아닌 버전은 잘 작동하지만 저는 Flatpak 버전을 선호합니다.
- 일부 사용자는 유사/동일한 문제를 겪고 있지만 다른 앱 또는 모든 Flatpak 앱을 사용합니다. (예:https://discussion.fedoraproject.org/t/platpaks-cant-seem-to-access-most-folders-include-home/76543/4);
- 이것(https://gitlab.gnome.org/World/deja-dup/-/issues/113) 질문 티켓은 유사하고 오래되었으며 "해결"된 것으로 추정되지만 아직 해결되지 않았습니다.
- 나는 어찌할 바를 모르겠습니다(아직도 Linux에 대해 비교적 초보자임에도 불구하고).