Tuesday, October 26, 2004

TryLinux ภาค 2

Services

พยายามจะเปิดบริการ ssh บนเครื่อง TryLinux เพื่อให้ต่อเข้ามาเล่นจากเครื่องอื่นบนเครือข่ายได้ มองหา /etc/init.d/sshd (ติดจาก RedHat) ไม่มีแฮะ มีแต่ /etc/init.d/ssh เฉยๆ คิดว่าถึงจะไม่มี d คงเป็น Server เหมือนกัน เพราะว่าตัว Client ไม่มีความจำเป็นที่จะต้องมาอยู่ใน /etc/init.d

ลองสั่ง /etc/init.d/ssh start ใช้ได้ SSH Server ทำงาน ต่อจากเครื่องอื่นเข้ามาได้ ทีนี้อยากให้เริ่ม ssh ทุกครั้งที่บูท ปกติถ้าเป็น Redhat ก็ใช้คำสั่ง ntsysv หรือ chkconfig (อันหลังนี้ใน SGI IRIX ก็มีเหมือนกัน) ปรากฏว่าไม่มีคำสั่งทั้งสองนี้ เอาละหว่าจะให้ไปสร้าง symlink ของ init.d/ssh ใน /etc/rc?.d เองคงไม่ไหว ลองค้น Google ดู ได้ความว่าบน Debian เขาใช้ rcconf ซึ่งยังไม่มี ต้องไป apt-get install rcconf เอาก่อน

ในขั้นตอนนี้มี Error อะไรไม่รู้ออกมา ไม่สนใจมัน (ดูเหมือน rcconf ต้องการ sysv-rc ซึ่งตีกับอะไรที่มีอยู่แล้วไม่รู้ ก็เลยลง sysv-rc ไม่ได้)

ลองเรียก rcconf หน้าตาคล้ายๆ ntsysv เลือก ssh จากรายการ แล้วลอง Reboot ทุกอย่างดูเหมือนจะโอเค sshd ทำงานเมื่อบูทตามต้องการ

รู้สึกว่าทำไมเครื่องมือพื้นฐานแบบนี้ไม่มีให้มาเลย ต้องมา apt-get install กันอีก ค้นไปค้นมาพบว่านอกจาก rcconf แล้ว ยังมี ksysv ซึ่งเป็น GUI สำหรับแก้รายการ Service ใน Runlevel ได้เหมือนกัน อันนี้ให้มาอยู่แล้ว เรียกใช้ได้เลย แต่ส่วนตัวยังชอบแบบ Console มากกว่า จะได้แก้ ได้โดยไม่ต้องมี X11

เครื่องมือพัฒนาโปรแกรม Mono

นึกได้ว่าเคยลองเล่น Mono อยู่ครั้งหนึ่ง ลองคำสั่ง mcs ยังไม่มี อันนี้แก้ได้ด้วย apt-get install mono ราบรื่นดี ไม่มีปัญหา

เครื่องมือพัฒนาโปรแกรม Java/Qt

Java ค่อนข้างใหม่ 1.4.2_05 ไม่รู้ว่า KNOPPIX ให้มาอยู่แล้ว หรือ Otto ใส่เข้าไปเองสำหรับเอาไว้เล่น Karaoke

TryLinux:~> java -version
java version "1.4.2_05"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_05-b04)
Java HotSpot(TM) Client VM (build 1.4.2_05-b04, mixed mode)
ส่วน gcc ให้มาเป็น 3.3.4 ตรงนี้อยากได้ 3.4 แต่ยังไม่กล้า apt ไม่รู้จะไปตีกับอะไรส่วนอื่นหรือเปล่า ไว้ลองเครื่องมือต่างๆ ให้พอรู้ก่อนว่ามีอะไรทำอะไรได้บ้าง เท่าที่ดูมี KDevelop มาให้ แต่ไม่มี QtDesigner
TryLinux:/home/vuthi# dpkg -l | grep qt
ii  gtk-engines-qt 0.28-1.1       QtPixmap GTK1.x theming engine
ii  libqt3-compat- 3.2.3-4thai1   Qt 1.x and 2.x compatibility includes
ii  libqt3-headers 3.2.3-4thai1   Qt3 header files
hi  libqt3-mt-dev  3.2.3-4thai1   Qt development files (Threaded)
ii  libqt3c102-mt  3.2.3-4thai1   Qt GUI Library (Threaded runtime version)
ii  qt3-dev-tools  3.2.3-4thai1   Qt3 development tools
ii  qtparted       0.4.4-2        A parted frontend using QT
เลยจำเป็นต้องติดตั้งเพิ่ม ลองใช้ apt-cache search designer | grep qt ได้ชื่อ Package ว่าเป็น qt3-designer แล้วจึง
TryLinux:/home/vuthi# apt-get install qt3-designer
Reading Package Lists... Done
Building Dependency Tree... Done
You might want to run `apt-get -f install' to correct these:
The following packages have unmet dependencies:
  qt3-designer: Depends: libqt3c102-mt (>= 3:3.3.3) but 3:3.2.3-4thai1 is 
to be installed
  rcconf: Depends: sysv-rc but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or 
specify a solution).
ลองทำตามคำแนะนำ ใช้ apt-get -f install
TryLinux:/home/vuthi# apt-get -f install qt3-designer
Reading Package Lists... Done
Building Dependency Tree... Done
You might want to run `apt-get -f install' to correct these:
The following packages have unmet dependencies:
  qt3-designer: Depends: libqt3c102-mt (>= 3:3.3.3) but 3:3.2.3-4thai1 is 
to be installed
  rcconf: Depends: sysv-rc but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or 
specify a solution).
ไม่เห็นมีอะไรแตกต่าง ? ดูเหมือนปัญหาอยู่ที่ rcconf: Depends: sysv-rc ซะมากกว่า ทำให้ติดตั้งอะไรไม่ได้เลย ขอข้าม designer ไปก่อนก็แล้วกัน

อ่านเมล์: MH

ปกติบน Unix จะอ่านเมล์ด้วย MH ตลอด (ใช้ mh-rmail ใน EMacs) แน่นอนว่ายังไม่มีต้องติดตั้งด้วย apt-get install nmh เจอปัญหาเดียวกับตอนติดตั้ง qt3-designer ข้างบน ชักเริ่มหงุดหงิด

ทดลอง apt-get -f install โดยไม่ระบุ Package ตามที่บอก

TryLinux:/home/vuthi# apt-get -f install
...
dpkg: error processing /var/cache/apt/archives/sysv-rc_2.86-5_all.deb (--unpack):
 trying to overwrite `/etc/init.d/rc', which is also in package sysvinit
dpkg-deb: subprocess paste killed by signal (Broken pipe)
...
สรุปปัญหาคือ
  • rcconf ที่ติดตั้งไปมันต้องการ sysv-rc
  • แต่ติดตั้ง sysv-rc ไม่ได้ เพราะมันมีไฟล์ /etc/init.d/rc ซึ่งตีกับ package sysvinit
  • ถ้าไม่แก้ปัญหานี้ ดูเหมือนจะ apt-get install อะไรก็ไม่ได้อีกแล้ว
ความจริง sysv-rc นี่ไม่ต้องการหรอก เพราะว่า rcconf ที่ติดตั้งไปแล้วเมื่อกี้มันดูเหมือนจะใช้ได้แล้ว ไม่เห็นต้องมี sysv-rc ลอง man apt-get ดู เขาบอกว่าถ้ามีปัญหาเยอะๆให้ลองใช้ dselect เดี๋ยวไปลองดูก่อนแล้วค่อยมาเขียนต่อ

เพิ่มเติม

Otto มาดูให้ที่โต๊ะ ตกลงก็จัดการทำในสิ่งที่ไม่อยากทำ คือบังคับให้มันลง sysv-rc ไปก็ละกัน ด้วยคำสั่ง "dpkg -i --force-overwrite /var/cache/apt/archives/sysv-rc_2.86-5_all.deb" จากนั้นก็ใช้ apt-get install xyz ได้ตามปกติ

เพิ่งรู้ว่าปกติเขาใช้ update-rc.d กัน ไม่จำเป็นต้องใช้ rcconf ตอนนี้สั่ง apt-get dist-upgrade ไป นานมาก ยังไม่เสร็จ Otto บอกว่าไม่ต้องปิด X11/KDE ก่อน เปิดทิ้งไว้ก็ได้ ชักไม่แน่ใจว่าจะโอเคหรือเปล่า เพราะเมื่อกี้เห็น Remove KDE-xxx เป็นยวงเลย

No comments: