Thứ Năm, tháng 4 26, 2007

Tái tiếp danh sách

Dùng wget tải list
Sau lần upgrade Slackware này, mới có dịp thử một số chức năng của wget, mà trước giờ do chưa cần dùng gì, nên cũng không đả động đến.
Đầu tiên là vấn đề tải tiếp. Với một file nào đó, wget làm rất tốt việc này, chỉ việc dùng tham số -c. Nhưng với việc tải theo danh sách, wget không hỗ trợ.
Trong trang này, có đề cập đến cách giải quyết. Giải pháp của nó là trong mỗi thư mục có một file .wget-list là danh sách, xoá đi dòng đầu tiên sau khi nó được tải xong. Cách này dùng tạm được, nhưng ý mình là muốn không làm ảnh hưởng đến cái danh sách. Vì thế, dùng một cái log file là ý kiến dùng được.
Dùng tạm cái scipt đơn giản(?) sau, viết để học bash:


#!/bin/bash
FILE="$HOME/.download"
down () {
let "count+=1"
url=`sed -n "$count p" $file`
while [ "$url" != "" ]; do
echo "$file $count $PWD" >>$FILE
echo "downloading $url"
wget $url
sed -i "/$file/d" $FILE
let "count+=1"
url=`sed -n "$count p" $file`
done
echo "finish"
}
if [ "$1" = "-c" ]; then
file=$2
line=`sed -n "/$file/p" $FILE`
echo "$line"
read file count dir << EOF
$line
EOF
cd $dir
url=`sed -n "$count p" $file`
echo "downloading $url"
wget -c $url
sed -i "\$file\d" $FILE
down
else
let "count=0"; file=$1
down
fi

Mọi cái cần thiết sẽ ở file ~/.download, mỗi lần dùng nó sẽ coi trong file này để lấy thông tin. Khi nào cần tải tiếp thì thêm -c vào đầu, không thì gõ mỗi tên file danh sách là được.

Edit: Cái mã chạy bị điên, mới chỉnh lại.

Thứ Hai, tháng 4 23, 2007

vim với thư mục

Hehe, tự nhiện hôm nay gõ nhầm tên tệp tin thành tên thư mục! Vim nó mở được thư mục, coi thấy quái quái :)) Xài lệnh:
#vim a #a is a directory
Trong cửa sổ vim nó ra vầy:
rectory Listing (netrw v98) " /home/luannt/Temp/xoa/a " Sorted by name " Sort sequence: [\/]$,*,\.bak$,\.o$,\.h$,\.info$,\.swp$,\.obj$ " Quick Help: :help -:go up dir D:delete R:rename s:sort-by x:exec " ============================================================================ ../ ./ :q/ a/ b/
Coi help phát hoá ra nó hỗ trợ làm linh tinh với thư mục. Đúng là công cụ soạn thảo kinh điển (chôm câu người ta) :)).

Thứ Ba, tháng 4 10, 2007

Linux lại chạy

Hùm, tìm đủ mọi cách để chữa nhưng không được, đành cài lại, cũng là để thử cách cài từ đĩa cứng, đỡ phải ghi đĩa.
Công việc đầu tiên là backup thằng /etc. Sau đó bung mấy cái file iso ra đĩa, rồi chạy DOS, dùng loadlin để khởi động cài đặt bằng cái lệnh tương tự vầy:


loadlin D:\kernels\sata.i\bzImage initrd=D:\isolinux\initrd.img

Việc tiếp theo là cài.
Cài xong, cài luôn thằng 2.6.17.13 có trên đĩa 2 của Slackware. Cài xong startx không được, thử cài lại driver cho NVIDIA thì gặp lỗi:

ERROR: Unable to load the kernel module 'nvidia.o'. This happens most
168 frequently when this kernel module was built against the wrong or
169 improperly configured kernel sources, with a version of gcc that differs
170 from the one used to build the target kernel, or if a driver such as
171 rivafb/nvidiafb is present and prevents the NVIDIA kernel module from
172 obtaining ownership of the NVIDIA graphics device(s).
173
174 Please see the log entries 'Kernel module load error' and 'Kernel
175 messages' at the end of the file '/var/log/nvidia-installer.log' for
176 more information.

Xài tạm lynx để vô net, tìm phát, may mà vớ được cái này, chạy phát thế này là cài ngon lành:

sh NVIDIA-blahblah -k $(uname -r)

Mọi cái đều đã chạy tốt, cái máy trở lại như cũ, có mỗi Gmail nitifer for Linux còn chưa chạy, lỗi:

Traceback (most recent call last):
File "/bin/notifier", line 6, in ?
import gtk
File "/usr/local/src/Development/pygtk-PACKAGE/layout/usr/lib/python2.4/site-packages/gtk-2.0/gtk/__init__.py", line 48, in ?
File "/usr/lib/python2.4/site-packages/cairo/__init__.py", line 1, in ?
from _cairo import *
ImportError: /usr/lib/python2.4/site-packages/cairo/_cairo.so: undefined symbol: cairo_pdf_surface_set_dpi

Lỗi nữa rồi

Hôm qua ngồi cài gparted vô, và thế là bắt đầu.
Trước tiên là parted không thể nào đọc được các ổ, trong khi fdisk thì bình thường. Nó cứ báo lỗi:


Error: Unable to open /dev/hda - unrecognised disk label.

Khi cài gparted nó đòi bản qt mới hơn. Nhắm mắt slapt-get cài bản mới nhất của qt, thế là chuỗi vấn đề bắt đầu.
Nhiều chương trình không chạy, trong đó có opera.
Chạy từ xterm, thấy có thông báo lỗi (phiên bản không nhớ rõ nữa):

/lib/libpthread.so.0: version `GLIBC_2.3.x' not found

Tiếp theo, chưa tìm hiểu kỹ càng, cài lại glibc-solibs và glibc từ đĩa Slackware-11 và tiếp theo là chết.
Gõ lệnh gì vào nó cũng:

Kernel too old

Dùng được mỗi lệnh cd, chả làm ăn được gì. Tạm thời tắt máy, làm bài tập. Khi bật lại từ, đen em rồi, không vào được Slackware nữa :(.
Nó load như bình thường được lát thì hiện đầy mấy cái thông báo dạng này:

Fatal: kernel too old
Init: Id "c1" respawning too fast: disabled for 5 minutes
Init: no more processes left in this runlevel

Kết quả là giờ phải ngồi làm cái bài than vãn này và tìm cách khắc phục trong windows :(.

Openoffice là con lợn

Bực cả mình. Gần đây có 2 bài tự tìm hiểu thông tin của môn địa và sử mới biết openoffice là con lợn :))
Lợn đầu tiên là vấn đề nạp chương trình. Bản 2.1 nạp khá chậm, tuy nhiên sau khi chỉnh mấy cái thông số về bộ nhớ đã đã cải thiện tốt hơn.
Lợn thứ 2 là nạp tập tin. Chỉ tệp tin hơn chục trang với một ít ảnh, nó nạp với thời gian rất lâu (có khi đứng luôn), không biết với tệp tin hơn trăm trang và nhiều ảnh thì nó nạp mất mấy ngày :(
Lợn thứ 3 là trong lúc chỉnh sửa. Chỉ cần trong tài liệu có vài cái ảnh là khi kéo lên kéo xuống nó đứng cho thêm một hồi nữa.
Mẹ ơi, chẳng lẽ phải trở lại xài đồ chùa :(.



 
^

Powered by Bloggerblogger addicted por UsuárioCompulsivo
original Washed Denim por Darren Delaye
Creative Commons License