อันนี้เป็นปัญหามากสำหรับผู้ใช้ Linux ที่มาจากสาย Ubuntu อย่างผม เนื่องจาก ใน SUSE เวลาเราจะใช้คำสั่งต่างๆ ที่ต้องให้ root เป็นคนสั่ง เราจะไม่สามารถสั่งผ่าน sudo ได้ ซึ่งปัญหามันไม่ได้อยู่ในเรื่องของสิทธิ์ แต่มันอยู่ที่เรื่องของตัวแปร $PATH

 

ปกติแล้ว ถ้าเราติดตั้งเสร็จ โดยยังไม่ตั้งค่า $PATH เราจะไม่สามารถเรียก yast ด้วย shell prompt ของ user ปกติได้

ตัวอย่าง
gumara@dapper:~$ yast2
bash: yast2: command not found
gumara@dapper:~$ sudo yast2
sudo: yast2: command not found
gumara@dapper:~$

ซึ่งถ้าจะเรียกให้ได้ของ เราต้องเรียกตาม Path เต็มครับ กรณี yast2 ถ้าจะเรียกก็ต้องสั่ง sudo /sbin/yast2

ซึ่งปัญหาตรงนี้ สามารถแก้ได้ด้วยการเพิ่ม Path ลงไปใน $PATH ครับ

วิธีก็ง่ายๆ สั่ง
export PATH=$PATH:usr/sbin:/sbin

แต่ปัญหายังไม่จบ เพราะเมื่อเราปิด Terminal แล้ว ครั้งหน้าเมื่อจะใช้ เราต้องมา export กันใหม่ ดังนั้นโดยปกติแล้ว วิธีที่ผมใช้คือ เขียนลงใน .bashrc วิธีแก้ .bashrc ก็ สั่ง gedit ~/.bashrc โดยนำคำสั่งดังกล่าว ไปเขียนไว้เป็นบรรทัดใหม่ ท้ายสุดของไฟล์ แล้วเมื่อเปิดใช้ Terminal ครั้งถัดไป ก็จะเรียกใช้ yast ได้โดยไม่ต้อง export อีกครับ

เหตุที่ผมเลือกใช้วิธีเขียน export ลง .bashrc เพราะว่า ปกติเวลา Distro ออกเวอร์ชั่นใหม่ ผมจะใช้วิธีลงทับ โดยเก็บ /home ไว้ ดังนั้นค่าที่เก็บใน /home ก็ไม่ต้องไปตั้งใหม่ครับ หรือท่านใดใช้วิธีอื่นก็แนะนำกันครับ

ผลลัพธ์หลัง export เสร็จ
gumara@dapper:~$ sudo yast2
root's password:
gumara@dapper:~$

ได้แล้ว แต่ระบบยังถาม root password อยู่ ยังไม่ได้ถาม password ของ userที่มีสิทธิ์ sudo อันนี้ก็ไปแก้ตามคำแนะนำของ คุณโด่งจ่ะ กันเองครับป๋ม

Comments are closed.