[Rocky] Error: Unable to find a match: mailx 해결
이슈
Rocky Liunx 8.9 기준으로 작성된 책을 보며 메일 실습을 따라 하던 중 mailx 설치가 안 되는 이슈가 발생했다. 나는 현재 Rocky Liunx 8.10 버전을 사용 중이다.
dnf install mailx

mailx 설치 명령어를 사용하면 다음과 같은 오류가 나왔다. 책에서는 dnf install mailx로 설치하라고 나와있는데, 안되니까 심히 당황스러운 부분
https://docs.redhat.com/ko/documentation/red_hat_enterprise_linux/8/html-single/8.10_release_notes/index#in-place-upgrade-and-os-conversion
8.10 릴리스 노트 | Red Hat Product Documentation
bpf_map_lookup_elem, bpf_map_update_elem, bpf_map_delete_elem, bpf_probe_read, bpf_ktime_get_ns, bpf_get_prandom_u32, bpf_get_smp_processor_id, bpf_skb_store_bytes, bpf_l3_csum_replace, bpf_l4_csum_replace, bpf_tail_recall, bpf_clone_redirect, bpf_get_curr
docs.redhat.com
레드햇 8.10 노트를 보면 mailx가 deprecated에 포함되어 있긴하다.. 그러면 뭐 어떻게 해야 하나 싶어서 구글링을 뒤적뒤적 하던 중 mailx가 s-nail이라는 패키지에 포함되었다는 이야기를 발견했다.
해결
dnf provides */bin/mailx
우선 위의 명령어를 통해 mailx 명령어가 어느 패키지에 속해있는지 확인한다. provides는 특정 파일, 명령어, 또는 라이브러리를 제공하는 패키지를 검색하는 기능을 하는 명령어로, 파일이나 명령어의 출처를 파악하고 필요한 패키지를 찾는 역할을 한다.

명령어의 입력 결과를 확인하면 /usr/bin/mailx 명령어를 s-nail 패키지가 제공한다고 되어있다. 즉 s-nail을 설치하면 mailx 명령어를 사용할 수 있다. mailx를 사용하기 위해 s-nail을 설치해야 함을 확인했으므로 s-nail을 설치한다.
dnf install s-nail sendmail
위의 명령어를 통해 s-nail과 sendmail을 설치한다. s-nail은 이메일을 작성하고 송신하는 클라이언트 프로그램이고, 이메일을 실제로 발송하려면 메일 전송을 담당하는 MTA(Mail Transfer Agent)가 필요하다. 이때 이 MTA 중 하나가 sendmail이다. 따라서 sendmail도 같이 설치한다.
sendmail이 활성화되지 않았다면 systemctl start sendmail 명령어를 통해 실행하면 된다.
확인

mailx 명령어를 통해 루트 계정에서 내 계정으로 메일을 보냈다. -s 은 제목을 설정하는 것이고, 그 뒤는 받을 사용자를 작성하면 된다.

내 계정으로 로그인하고 s-nail 명령어를 입력해서 확인해 보면 root 계정으로부터 메일이 왔음을 확인할 수 있다.

마지막으로 t 1 명령어를 통해 1번 메일을 확인하면 루트 계정에서 보낸 메시지가 잘 출력되는 것을 확인할 수 있다!
결론
Locky Linux 8.x 버전에서 mailx 설치가 안될 때는 s-nail을 설치해서 메일 실습을 마저 진행하자~!