에서 영감을 받다"무료 BSD KDE. d-bus를 시작할 수 없습니다. qdbus에 전화할 수 있나요?":
저는 FreeBSD/TrueOS/DragonFly BSD를 사용하고 있으며 Ports의 일부 소프트웨어에서 /etc/machine-id
. 에서 그런 파일을 볼 수 없습니다 /etc
.
이 파일은 무엇입니까? 내가 그것을 가져야합니까? 가능하다면 어떻게 해야 하나요?
답변1
이 /etc/machine-id
파일은 BSD의 표준 부분이 아닙니다. 이것은 포트의 소프트웨어에 스며들기 시작한 시스템주의입니다. 일반적으로 이 파일이 없다는 것은 문제가 되지 않습니다. 왜냐하면 (지금까지) 대부분의 소프트웨어가 의존하는 오래된 비시스템 특정 메커니즘이 여전히 존재하기 때문입니다.
여기에서 찾은 소프트웨어머신 ID, 이 운영 체제 설치를 고유하게 식별하는 128비트 숫자는 시스템 재부팅 시 일관되며 하드웨어 변경과 (대부분) 독립적입니다.
D-Bus는 그러한 소프트웨어 중 하나입니다. 이것도 컨셉이 있네머신 ID. 역사적으로 FreeBSD/TrueOS/DragonFly BSD에서는 이 내용이 /var/db/dbus/machine-id
문서에서 발견되었습니다. D-Bus는 /etc/machine-id
최근 몇 년 동안 선호도에 따라 변경 되었지만아직도 그래야만 해돌아가서 오래된 파일을 보십시오.
운영 체제는 기본적으로 이러한 파일을 제공하거나 생성하지 않습니다. 하지만 당신은 확실히 하나를 만들 수 있습니다.
- 다운로드 및 설치Nosh 도구 세트
setup-machine-id
슈퍼유저로 도구를 실행합니다 . 이렇게 하면 가능하면/etc/machine-id
D-Bus 파일에서 기존 ID를 읽을 수 있습니다. (여기서 오류를 방지하려면 툴킷 1.36 이상을 사용하십시오.)부팅할 때마다 이 파일을 실행할 필요는 없습니다. 일단 생성되면 파일은 시스템 수명 동안 그대로 유지되지만, 시스템 부팅에 연결하면 파일이
/etc/machine-id
있는지 확인하게 됩니다. 동일한 ID를 포함하는 커널 변수/run/machine-id
.kern.hostuuid
또한 /update 를 사용합니다/etc/hostid
. - D-Bus 파일을 시스템 위치로 이동하고 전자를 후자에 심볼릭 링크합니다.
mv -i /var/db/dbus/머신 ID /etc/ && ln -s /etc/머신 ID /var/db/dbus/
다른 방향으로 심볼릭 링크를 생성하면/etc/machine-id
설치 전에 사용할 수 있을 것으로 예상되었던 모든 소프트웨어가 중단됩니다./var
다시 말하지만, 이는 이 파일의 체계화된 의미이며 포트의 소프트웨어에 조금씩 들어가는 것을 발견할 수 있습니다. uuidgen
(출력을 처리해야 함) 또는 이와 유사한 것에서 생성된 새 컴퓨터 ID를 사용하여 직접 만들면 됩니다dbus-uuidgen
. 이미 D-Bus가 설치되어 있고 D-Bus 컴퓨터 ID 파일이 존재하는 경우 소프트웨어가 시스템 위치에서 다른 소프트웨어를 찾도록 하기 때문에 좋지 않은 접근 방식입니다. 첫 번째) 머신 ID의 D-Bus 위치를 확인하세요.
예, 엄밀히 말하면 이는 /usr/local/etc/machine-id
BSD 규칙을 준수해야 합니다. 그러나 우리가 보고 있는 소프트웨어에 대해 이야기하고 있다는 점을 기억하십시오./etc/machine-id
첫 번째왜냐하면 그들은 systemd에 잘못 특정되어 있기 때문입니다. 또한 파일의 시스템 위치가 아닌 위치를 확인하기 위해 패치되지 않았습니다.
추가 읽기
- Lennart Potlinget al.
machine-id
. 시스템 매뉴얼 페이지. freedesktop.org. - 조나단 데보인 폴라드(2019).
machine-id
. 스낵 가이드. JdeBP 소프트웨어. - 조나단 데보인 폴라드(2017).
/etc/machine-id
. 기자. 스낵 가이드. JdeBP 소프트웨어. - https://unix.stackexchange.com/a/395460/5132
답변2
FreeBDS 12에는 패키지가 없습니다 nosh
. 대신 dbus-uuidgen --ensure
생성된 ID를 실행하고 복사하세요 cp /var/lib/dbus/machine-id /etc/machine-id
. 그런 다음 startkde
플라즈마 kde를 시작하십시오.