目前分類:Linux (9)

瀏覽方式: 標題列表 簡短摘要

因為一些嵌入式系統的關係,所以我們必需在專題時,盡量把Linux精簡化.
第一步就從Kernel做起吧!

首先,我們必需到http://www.kernel.org去下載Kernel.
如果你不想進網站,也可以直接從ftp://ftp.kernel.org/pub/linux/kernel/
去找到你要重build的kernel版本,抓下bz檔來build!!

我是用root登入
1.在家目錄(/root/~)建立一個build資料夾(mkdir build)
2.,解開壓縮檔: tar xzvf 檔名.bz --directory build
3.去/root/build/Linuxxxxx/資料夾裡面
4.make menuconfig
5.設定你要的東西
6.make dep
7.make bzImage
8.make modules

如此這般,完成以上的動作,你個人化的Kernel就建好啦!
接下來就是放到系統裡面嚕~^_____^~



make modules_install 
這個動作會把module放到/lib/modules還會把kernel的image放到/boot裡面.
另外,我們還要把System.map拷貝到/boot資料夾裡面.
而bzImage會放在arch/i386/boot資料夾.
我們必需把bzImage從arch/i386/boot拷貝到/boot

cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.22

cp System.map /boot/System.map-2.4.22

接著編輯boot loader的設定檔

xboomz 發表在 痞客邦 留言(0) 人氣()

在網路上看到,很有效可以節省開機時間的一個技巧!
提供給大家做參考!

節省開啟X的時間,也為了節省記憶體,不使用gdm登入
原則上是參考http://moto.debian.org.tw/viewtopic.php?t=5108&highlight=%E4%B8%8D%E7%94%A8+gdm
倒數第二篇的連結裡,小狐狸前輩有提供了一個連結,裡頭提到mingetty這個程式
利用這個程式,即使不用gdm/kdm也可以在開機後自動登入X
不過上面說的那個連結好像不見了,所以小弟再把前輩當時教的方法重述一下
希望對一些使用舊機器作為desktop的朋友有幫助

以root的身份作以下動作:

#apt-get install mingetty
#vi /etc/inittab
隨便找哪個console下手都可以,在這裡以第3個虛擬控制台為例
把下面這一行
3:2345:respawn:/sbin/getty 38400 tty3
改成下面這樣
3:2345:respawn:/sbin/mingetty --autologin myname tty3
其中的「myname」是指你要自動登入的帳號,請依自己的情形輸入

接下來請到以myname的身份,到這個帳號的家目錄下
找一個叫作.bash_profile的檔案(如果沒有,請自行建立)
在.bash_profile這個檔案裡加一個指令:
startx
完成這個動作後
檢查一下~/.xinitrc內容是否完整,少了什麼就補一補(如果沒有,請自行建立)

最後,請用root移除gdm/kdm,或讓它們在開機時不載入
接著重開機
應該就可以看見Debian可以為myname這個帳號開啟了一個X

我一直覺得這個方法很省資源和時間,感謝小狐狸前輩~

xboomz 發表在 痞客邦 留言(0) 人氣()

今天在用Linux不知道為什麼,之前設定的祕碼進不去.
所以我就當做密碼遺失,重新設定了密碼.

我的系統是用Fedora Core 5.開機管理程式是用GURB.
所以我在開機,進到GURB之後

按下任何鍵,就可以進入到GRUB開機系統管理程式。

2. 按下鍵盤上的〔E〕鍵,編輯開機管理程式,以〔↑〕、〔↓〕選取有 「kernel 」開頭的那一行,再按下〔E〕鍵編輯那一行的內容。

3. 在該行的最後按下〔空白鍵〕,然後再輸入指令「single」,再按下〔Enter〕離開編輯模式。

4. 接下來會回到前一個GRUB開機管理程式的畫面,然後按下〔B〕。接下來開機就會進入單人使用模式,出現Shell命令的提示符號。(single user mode)


在Shell下面,打passwd這個指令,就可以重設LinuxRoot的密碼了!

改完以後,不要忘記回GURB去把single改回來歐^_^

================================================================
》使用LILO進入單人使用模式的步驟:

1. 出現LILO開機系統管理程式的畫面,然後按下〔Ctrl〕+〔X〕離開圖形介面,進入 boot提示符號)輸入指令「 linux single」即可。


Linux常見緊急情況處理方法
Linux下的中文顯示和支援常見問題解答

xboomz 發表在 痞客邦 留言(2) 人氣()

專題時間到啦!!!
目前的規畫是以Linux做Client的O.S.
由於我們有強大的Hardware做後盾.
所以我們先安裝完整linux做測試.
等程式寫好測好再做精簡化.

首先我們需要一個open source的media player.
在朋友的建議下,我們選用VLC做為開發程式的一個基礎.
不過對於VLC只聞其聲不見其人,對他的認識也只有皮毛.
所以我們必需先在Linux下安裝好VLC並使用再寫程式去修改這個player.
第一步就是安裝VLC嚕!!        



在Fedora Core5安裝VLC

rpm -ivh http://ftp.freshrpms.net/pub/freshrpms/fedora/linux/5/freshrpms-release/freshrpms-release-1.1-1.fc.noarch.rpm

yum install videolan-client


在Fedora Core6安裝VLC
rpm -ivh http://ftp.freshrpms.net/pub/freshrpms/fedora/linux/6/freshrpms-release/freshrpms-release-1.1-1.fc.noarch.rpm

yum install vlc

xboomz 發表在 痞客邦 留言(2) 人氣()

安裝檔案
./configure
make
make install


反安裝可試看看
make uninstall


像我裝的話我都會先加個參數
make install --prefix=/usr/local/softname
這樣的話以後要移除就直接砍掉/usr/local/softname就好了

xboomz 發表在 痞客邦 留言(0) 人氣()

很多在Linux下寫程式或是在Linux下修改一些檔案的朋友
應該對Vi不陌生吧~
當然小弟我最近因為在學Linux的Programming.
所以對這Vi也不陌生,不過也不熟啦!
所以在網路上找了些資料,以便不時之需!

剛開始用覺得用ESC,i,q這幾個指令已經夠了
不過用了一段時間以後,覺得,好像還不是挺方便.
因為有時後要一次重覆寫幾行類似的code進去~_~...
所以就想到了copy的指令跟past
不過有找到較多資料,所以就一起放進來ㄅㄟ!!!

vi 快速入門



簡介


有了強大的emacs還要來學什麼vi呢?其實vi應該是每個初學Unix的人所必備的, 在每台機器上一定都可以用,不像emacs沒有裝搞不好就沒有的用。另外vi的好 處是它很小,不佔記憶體,terminal可以動的地方就可以用。在做遠端管理 等等狀況非常好用。它算是一種標準編輯器,就像windows上一定有筆記本 這個程式一樣


一般說來vi沒有選單可以用(其實有變種vi,像gvim就有選單功能) ,所以一定要在兩個模式間跳來跳去。一開始就是在命令模式內,你要先跳到 編輯模式才可以亂打內容。其實也不一定啦,要看當初的設定為何,只是正 常古老時代應該是這樣。如果你按了老半天跑不出字來,就按個i




快速命令


以下是常用按鍵:










一。從命令到編輯模式
a:將游標放到目前游標後一個字元,開始文字編輯模式。insert
i:將游標放在目前游標位置,開始文字編輯模式。append
o:將游標放到下一行起始位置,開始文字編輯模式。open new line
比較常用就是i,a,o,I,A,O了,將來多試幾次就好了,就很熟悉了。
二從編輯到命令
ESC:沒事多按逃脫鍵,有益身體健康。
三命令模式中的其他命令
在命令模式中的按鍵就很多了,這些需要好好熟練一下了。
在vi命令模式裡面,有的按鍵按完後他還是在命令模式,有的改個字元或copy/paste後
又回到命令模式,有的就一去不回頭變成文字編輯模式了。
有些按鍵會把你原本想改的內容做特殊的定位,例如要改個word,也會把你帶離命令模式
檔案
:q離開vi
:e xxxx編輯xxxx
:w存檔
:w xxxx另存檔案xxxx
:q!不存檔強迫離開
:w!強迫存檔
:wq存檔與離開
游標移動
h,j,k,l往左,往下,往上,往右
0到行首
$到行尾
^到這行的第一個非空白字元
w,W到下個字, 到下個非空白的字
b,B回上個字, 到上個非空白的字
e,E到這個字的字尾, 到下個非空白的字字尾
Ctrl-F ,Ctrl-B往後一頁,往前一頁
G到檔尾
:n到第n行 (所以到檔頭就是:1)
Ctrl-G顯示第幾行
J合併兩行
搜尋與取代
/
/pattern尋找pattern
?pattern 往上尋找pattern
n再往下尋找
N再往上尋找
:s/patrn/str/cgi搜尋patrn取代str
其中:跟s間必需指定範圍(range)沒設範圍就是游標這行
1,10 表示 1-10行
% 表示整篇
最後cgi
c 表示confirm尋問
g 表示global全部
i 表示ignore不分大小寫
常用字元字串處理
cc改變整行
dd砍掉整行
yy拷貝整行(yank whole line)
p,P貼上(paste) 你最近砍掉或拷貝的
cw改變一個字
d$砍到行尾
ye拷貝到這個字尾
r,R取代一個字元, 取代整行
u,Uundo 最後修改,UNCHANGE整行
x,X砍一個字元, 往回砍個字元(等於按backspace)
重複的處理
. 重複剛剛的命令或輸入
這些試試看
ce, 3x, 5dd, 10w, d0, y$, 5G
indentation
>>往右一個indent
<<���������
���������������
����������������
��������������������
���������������������������
���������������������������
���������������
��������������
�� :only 只留一個窗窗
C-w j k h l 移到下 上 左 右 窗去



xboomz 發表在 痞客邦 留言(0) 人氣()

新增使用者帳戶


新增帳戶(Account)是使用 useradd 或是 adduser 指令,adduser 指令其實就是指向 useradd 指令的連結。以下是指令與參數的使用:



useradd [-c comment] [-d home_dir] [-e expire_date] [-f inactive_time]
        [-g initial_group] [-G group[,...]] [-m [-k skeleton_dir] | -M]
        [-p passwd] [-s shell] [-u uid [ -o]] [-n] [-r]
帳戶名稱


參數說明:



-c <comment>        全名或註解
-d <
home_dir>       指定使用者家目錄
-e <
expire_date>    指定帳戶到期日
-f <
inactive_time>  逾期未變更密碼後帳戶停用日期(緩衝天數)
-g <
initial_group>  指定帳戶主要的隸屬群組
-G <
group>          指定帳戶其它的隸屬群組
-m                  自動建立使用者家目錄(系統預設)
-M                  不讓系統自動建立家目錄
-p <
passwd>         指定帳戶密碼
-s <
shell>          指定登入後所使用的 shell
-u <
uid>            指定帳戶辨識碼 UID
-r                  建立系統帳戶
-k   指定 SKEL 目錄



使用者辨識碼↓



某些 Linux 發佈套件在建立一般使用這帳戶時,UID 會從 500 以後開始自動依序賦予,如 Red Hat Linux 即是如此,有些發佈套件則是從 1000 以後的號碼為一般使用者帳戶 UID。而不管是 500 或是 1000,在這些特定的號碼之前的 UID,都是所謂的系統帳戶,如 root、apache...等。這個預設的 UID 起始號碼是可以設定的。



 




http://lpi.indicator-online.net/UserManage.html



修改使用者帳戶


使用者帳戶建立後,可以使用 usermod 指令來修改帳戶相關內容,如帳戶名稱、家目錄位置、隸屬群組、註解、UID...等,幾乎與建立帳戶可設立的內容相同。以下先將 usermod 指令做詳細介紹:



usermod [-c comment] [-d home_dir [-m]] [-e expire_date] [-f inactive_time]
        [-g initial_group] [-G group [,...]] [-l login_name] [-p passwd]
        [-s shell] [-u uid [-o]] [-L|-U]
username


參數說明:



-c <comment>        全名或註解
-d <
home_dir>       指定使用者家目錄
-e <
expire_date>    指定帳戶到期日
-f <
inactive_time>  逾期未變更密碼後帳戶停用日期(緩衝天數)
-g <
initial_group>  指定帳戶主要的隸屬群組
-G <
group>          指定帳戶其它的隸屬群組
-l <
login_name>     自動建立使用者家目錄(系統預設)
-p <
passwd>         指定帳戶密碼
-s <
shell>          指定登入後所使用的 shell
-u <
uid>            指定帳戶辨識碼 UID
-L                  鎖定帳戶
-U                  解除鎖定帳戶



以下做一示範:









[root@Linux root]# usermod -l usr_new user01       <= 變更帳戶名稱

[root@Linux root]# usermod -u 555 usr_new          <= 變更帳戶 UID


[root@Linux root]# usermod -G root,katana usr_new  <= 變更帳戶次要隸屬群組


[root@Linux root]# usermod -e 2003/12/31 usr_new   <= 變更帳戶使用到期日




刪除使用者帳戶


刪除使用者帳戶使用 userdel 指令,參數只有一個 -r。









[root@Linux root]# userdel usr_new    <= 只刪除帳戶

[root@Linux root]# userdel -r user02  <= 刪除帳戶同時刪除相關的目錄與檔案




使用 userdel -r 參數指令,是除了將帳戶刪除外,還將帳號相關的目錄與檔案(如使用者家目錄)一併刪除。相反的,若不使用 -r 參數則刪除帳戶時,這些因為帳戶建立或帳戶使用過程所建立的檔案目錄,仍舊會留在系統中。

xboomz 發表在 痞客邦 留言(0) 人氣()

批次新增使用者


將要新增的使用者帳號密碼以<�帳號> <�密碼>的格式寫在一個檔案


如 users.txt


Tom  1234


Mary  2345


在寫ㄧ個新增的script


如 add.sh


#!/bin/bash
for i in `awk '{print $1}' users.txt`
do
useradd $i
grep "\<$i\>" users.txt | awk '{print $2}' | passwd --stdin $i
done


變更script的權限,執行既可


http://blog.yam.com/dahu/article/2570221

xboomz 發表在 痞客邦 留言(0) 人氣()

若忘記密碼,如何去修改 GRUB 選單密碼?



 grub

 grub> md5crypt
Password: ****** (ubuntu)
Encrypted: $1$ZWnke0$1fzDBVjUcT1Mpdd4u/T961 (編碼過密碼)
grub> quit

 sudo cp /boot/grub/menu.lst /boot/grub/menu.lst_backup
sudo gedit /boot/grub/menu.lst


  • 找到此段


 ...
password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
...


  • 用新的編碼過密碼取代


 password --md5 $1$ZWnke0$1fzDBVjUcT1Mpdd4u/T961 (剛才編碼過的密碼)


  • 存檔


http://wiki.ubuntu.org.tw/index.php/Ubuntu6.06Guidetw#.E8.8B.A5.E5.BF.98.E8.A8.98.E5.AF.86.E7.A2.BC.EF.BC.8C.E5.A6.82.E4.BD.95.E5.8E.BB.E4.BF.AE.E6.94.B9_GRUB_.E9.81.B8.E5.96.AE.E5.AF.86.E7.A2.BC.3F



http://www.lichihua.com/2006/taxonomy/term/60

grub


執行 md5crypt 產生新密碼
grub> md5crypt
Password: ******
Encrypted: $1$7zGQ/gj3$zskkRvXQNWbXIBByAnss
grub> quit


接著
sudo cp /boot/grub/menu.lst /boot/grub/menu.lst_backup
sudo gedit /boot/grub/menu.lst


找到一行類似這樣的
password --md5 $1$gLhU0/$aW78kHKD0XK2C522znUoe/


換成剛剛產生的
password --md5 $1$7zGQ/gj3$zskkRvXQNWbXIBByAnss

xboomz 發表在 痞客邦 留言(0) 人氣()