doas
저는 Debian/GNU/Linux Unstable을 사용하고 있으며 오늘 다음과 같은 간단한 구성 파일을 사용하여 처음으로 사용해 보았습니다.
$ doas cat /etc/doas.conf
permit persist alx as root
잠시 동안 작동하는 동안(예: 실행할 수 있음 doas apt-get update && doas apt-get upgrade
) 다음은 실패합니다.
alx@ady1:~$ doas gdisk /dev/sdb
doas: gdisk: command not found
음, 이게 바이너리 gdisk
인가요 ? 바이너리 파일 입니다 . 어쩌면 틀렸을 수도 있습니다. 확인 해보자:sbin
apt-get
bin
PATH
$ sudo env | grep PATH
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
$ doas env | grep PATH
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
doas
알고 있는 것 같으나 sbin
뭔가 거꾸로 된 것 같습니다 PATH
. 알았어, 어디야 gdisk
?
alx@ady1:~$ sudo which gdisk
/usr/bin/which: this version of `which' is deprecated; use `command -v' in scripts instead.
/usr/sbin/gdisk
alx@ady1:~$ doas which gdisk
/usr/bin/which: this version of `which' is deprecated; use `command -v' in scripts instead.
/sbin/gdisk
command -v
내장되어 있거나 sudo
or 와 함께 사용할 수 없기 때문에 여기서는 작동하지 않습니다 doas
. 하지만 해당 경고를 무시합시다( which
적절한 교체가 없다면 왜 더 이상 사용되지 않습니까?).
글쎄, 그들은 동의하지 않습니다. 보자:
$ realpath /usr/sbin/gdisk
/usr/sbin/gdisk
$ realpath /sbin/gdisk
/usr/sbin/gdisk
$ ls -l /sbin
lrwxrwxrwx 1 root root 8 Nov 11 15:37 /sbin -> usr/sbin
doas
아마도 이 바이너리를 실행해야 한다고 믿는 데 어려움을 겪고 있는 심볼릭 링크 때문일까요 ? PATH
실제 경로를 먼저 찾도록 수정해 보겠습니다 .
$ doas PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin gdisk /dev/sdb
doas: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin: command not found
하하, 이상해요. 일반 구문을 사용해 보겠습니다( sudo
구문과 반대입니다. 일관성이 없는 것 아닌가요, 아니면 저만 그런 걸까요?).
$ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin doas gdisk /dev/sdb
GPT fdisk (gdisk) version 1.0.8
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): q
$
좋아, 이제 찾았어.
이 문제에 대한 올바른 해결책은 무엇입니까? 구성에 뭔가 빠졌나요?