在Ubuntu 8.10上無痛輕鬆體驗KDE 4.2 [圖文]
KDE 4.2在1月27日正式推出,這個版本是KDE4系列的主要版本。來在Ubuntu 8.10上無痛輕鬆體驗KDE 4.2吧。
先添加源:
$gksu gedit /etc/apt/sources.list
在原有的源底部添加一行:
deb http://ppa.launchpad.net/kUbuntu-experimental/ubuntu intrepid main
保存之後再申請密鑰:
$gpg --keyserver keyserver.Ubuntu.com --recv-keys 493B3065 && gpg --export -a 493B3065 | sudo apt-key add -
然後更新源數據庫:
$sudo apt-get update
安裝KDE 4.2:
$sudo apt-get install kUbuntu-desktop
大約要下載200M東西,下載完成之後安裝包的時候由於KDE4.2所用到的Akonadi需要用到MySQL數據庫,所以會彈出需要設置 MySQL的root用戶的密碼的提示,輸入兩邊密碼。接下來會提示以gdm或kdm作為默認會話的選擇,依照自己喜好來選擇了。安裝好了之後註銷會話後選擇KDE作為會話再登錄,就可以看到KDE 4.2桌面了。KDE的語言在System Setting中的Language中設置簡體中文,具體可以參考之前的KDE 4.1在Ubuntu 8.04的文章(猛擊這裡)
2009年2月26日 星期四
2009年2月6日 星期五
Linux下,各種格式的解壓縮方法
副檔名不同,代表各種不同的壓縮格式。
tar -I或者bunzip2命令都可以解壓.bz2文件
tar xvfj example.tar.bz2
tar xvfz example.tar.gz
tar xvfz example.tgz
tar xvf example.tar
unzip example.zip
tar -jvxf some.bz,就是把tar的zvxf 改成jvxf
zip/tar rh8下有一個圖形界面的軟件file-roller可以做這件事。另外可以用unzip *.zip解開zip文件,unrar *.rar解開rar文件,不過unrar一般系統不自帶,要到網上下載。
# rpm2cpio example.rpm │ cpio -div
# ar p example.deb data.tar.gz | tar zxf -
Alien提供了.tgz, .rpm, .slp和.deb等壓縮格式之間的相互轉換: sourceforge.net/projects/aliensEx提供了幾乎所有可見的壓縮格式的解壓接口:sourceforge.net/projects/sex 0058在多級目錄中查找某個文件的方法(青海湖)
find /dir -name filename.ext
du -a | grep filename.ext
locate filename.ext
2009年2月5日 星期四
RPM套件的安裝方法
RPM套件安裝
一、基本安裝
rpm -ivh 軟體套件名稱
i 是 install,v(verbose)是顯示,h 是進度以一串 ########### 來表示
二、基本安裝的問題
(1)該軟體已安裝過
rpm -ivh 套件名稱
套件名稱 is already installed..
如果要重新安裝可用--force 指令:
--force 表示強行置換
rpm -ivh --force 套件名稱(2)沒有相依的套件
rpm -ivh php-imap.x.rpm
failed dependencies:imap is needed by php-imap
如果不管軟體的相依性,可用--nodeps指令強制安裝
rpm -ivh --nodeps php-ldap*.rpm三、移除套件
rpm -e 套件名稱四、升級套件
rpm -Uvh 套件名稱U是upgrade, 表示會把舊的軟體移除再安裝新的,所以不管有沒有安裝過都可以使用rpm -Uvh來安裝軟體
五、更新套件
rpm -Fvh 套件名稱
-F 選項有個特性:只有已經安裝過的套件才會更新,這點和 rpm -Uvh 中的 U 升級是不同的,因此極適合拿來大量修補套件之用。
六、查詢
rpm -qa | grep imap
rpm -ql apache
a 是 all,q 是 query 查詢已安裝的套件,grep 是搜尋符合的字串
l 是列出的意思(list)
rpm -qf /usr/bin/neat
查詢 neat 這個指令是從那一個 rpm 套件安裝的。
2009年2月2日 星期一
1~100的質數有幾個?分別是哪些?(2)
跟上一支程式一樣的表現,但程式是完全不同的寫法。
以下的範例,理論上可以檢測出無限多的質數。
用FF實測到100000,也只要20多秒。
<html>
<head>
<style type="text/css">
.special {
background-color:#FF0000;
color:#FFFFFF;
font-weight: bold ;
}
</style>
</head>
<body>
<script>
function make_table(){
var line= document.getElementById("line").value;
varget_table_1 = document.getElementById("table_1");
varhtml="<table align='center' border='1' width='80%'>";
var p =new Array();
p[0]=0;
var n=0;
for(j=0;j<line ;j++ )
{
html+="<tr>";
for (i=0;i<10 ;i++ )
{
n=(j*10+i+1) //列出數字n,並設上ID
html+="<td align='center'><span id='"+ n+"'>"+n+"</span></td>";
p[n]=n;
}
html+="</tr>";
}
html+="</table>";
get_table_1.innerHTML=html;
document.getElementById(1).innerHTML="<divclass='special'>1</div>";
var max=(line*10);//共line*10 個數
var total_num=1;//已有的質數,1
//從2開始,一直到最後
for(i=2; i<=max; i++){
for(k=i;k<=max;k++){
//檢查k,k為0的話,K向後移動
//直到k=0,k為質數,並且把i的起點改為k
if(p[k]!=0){
total_num++;
document.getElementById(k).innerHTML="<divclass='special'>"+k+"</div>";
i=k;
break;
}
}
//起點為k,把所有k的倍數都改為0,直到最後
for(j=k;j<=max; j=j+k){
p[j]=0;
}
}
get_table_1.innerHTML+="<palign='center'>共 "+total_num+" 個質數</p>";
}
</script>
請問希望做 10 X <input type="text" id="line" />的質數表格?
<input type="button" value="開始製作" onClick="make_table()"/>
<br /><br />
<div id="table_1"></div>
</body>
</html>
以下的範例,理論上可以檢測出無限多的質數。
用FF實測到100000,也只要20多秒。
<html>
<head>
<style type="text/css">
.special {
background-color:#FF0000;
color:#FFFFFF;
font-weight: bold ;
}
</style>
</head>
<body>
<script>
function make_table(){
var line= document.getElementById("line").value;
varget_table_1 = document.getElementById("table_1");
varhtml="<table align='center' border='1' width='80%'>";
var p =new Array();
p[0]=0;
var n=0;
for(j=0;j<line ;j++ )
{
html+="<tr>";
for (i=0;i<10 ;i++ )
{
n=(j*10+i+1) //列出數字n,並設上ID
html+="<td align='center'><span id='"+ n+"'>"+n+"</span></td>";
p[n]=n;
}
html+="</tr>";
}
html+="</table>";
get_table_1.innerHTML=html;
document.getElementById(1).innerHTML="<divclass='special'>1</div>";
var max=(line*10);//共line*10 個數
var total_num=1;//已有的質數,1
//從2開始,一直到最後
for(i=2; i<=max; i++){
for(k=i;k<=max;k++){
//檢查k,k為0的話,K向後移動
//直到k=0,k為質數,並且把i的起點改為k
if(p[k]!=0){
total_num++;
document.getElementById(k).innerHTML="<divclass='special'>"+k+"</div>";
i=k;
break;
}
}
//起點為k,把所有k的倍數都改為0,直到最後
for(j=k;j<=max; j=j+k){
p[j]=0;
}
}
get_table_1.innerHTML+="<palign='center'>共 "+total_num+" 個質數</p>";
}
</script>
請問希望做 10 X <input type="text" id="line" />的質數表格?
<input type="button" value="開始製作" onClick="make_table()"/>
<br /><br />
<div id="table_1"></div>
</body>
</html>
1~100的質數有幾個?分別是哪些?(1)
以下的範例,理論上可以檢測出無限多的質數。
用FF實測到100000,也只要20多秒。
<html>
<head>
<style type="text/css">
.special {
background-color:#FF0000;
color:#FFFFFF;
font-weight: bold ;
}
</style>
</head>
<body>
<script>
function make_table(){
var line= document.getElementById("line").value;
varget_table_1 = document.getElementById("table_1");
varhtml="<table align='center' border='1' width='80%'>";
var n=0;
for(j=0;j<line ;j++ )
{
html+="<tr>";
for (i=0;i<10 ;i++ )
{
n=(j*10+i+1) //列出數字n,並設上ID
html+="<td align='center'><span id='"+ n+"'>"+n+"</span></td>";
}
html+="</tr>";
}
html+="</table>";
get_table_1.innerHTML=html;
document.getElementById(1).innerHTML="<divclass='special'>1</div>";
document.getElementById(2).innerHTML="<divclass='special'>2</div>";
document.getElementById(3).innerHTML="<divclass='special'>3</div>";
var max=(line*10);//共line*10 個數
var total_num=3;//已有的質數,1,2,3
//跳過2的倍數不檢查 x=x+2
for (x=5;x<=max ;x=x+2 )
{
var check= true;
//方案一
//一個數字的最大因數為其二分之一,y<=((x+(x%2))/2)
//for(vary=2; y<=((x+(x%2))/2); y++)
//方案二
//因為整數平方根之後的因數,與後方重複,所以算到平方根取整數即可,比方案一更快
//如100=10x10; 10是平衡點, 之後25x4=4x25;
//從三開始,跳過2的倍數,到x的平方根為止,可整除x的話,x不是質數,否則為質數
for(vary=3; y<=Math.sqrt(x); y=y+2)
{
if (x%y == 0)
{
check = false;
break;
}
}
if(check)
{
total_num++;
document.getElementById(x).innerHTML="<divclass='special'>"+x+"</div>";
}
}
get_table_1.innerHTML+="<palign='center'>共 "+total_num+" 個質數</p>";
}
</script>
請問希望做 10 X <input type="text" id="line" />的質數表格?
<input type="button" value="開始製作" onClick="make_table()"/>
<br /><br />
<div id="table_1"></div>
</body>
</html>
用FF實測到100000,也只要20多秒。
<html>
<head>
<style type="text/css">
.special {
background-color:#FF0000;
color:#FFFFFF;
font-weight: bold ;
}
</style>
</head>
<body>
<script>
function make_table(){
var line= document.getElementById("line").value;
varget_table_1 = document.getElementById("table_1");
varhtml="<table align='center' border='1' width='80%'>";
var n=0;
for(j=0;j<line ;j++ )
{
html+="<tr>";
for (i=0;i<10 ;i++ )
{
n=(j*10+i+1) //列出數字n,並設上ID
html+="<td align='center'><span id='"+ n+"'>"+n+"</span></td>";
}
html+="</tr>";
}
html+="</table>";
get_table_1.innerHTML=html;
document.getElementById(1).innerHTML="<divclass='special'>1</div>";
document.getElementById(2).innerHTML="<divclass='special'>2</div>";
document.getElementById(3).innerHTML="<divclass='special'>3</div>";
var max=(line*10);//共line*10 個數
var total_num=3;//已有的質數,1,2,3
//跳過2的倍數不檢查 x=x+2
for (x=5;x<=max ;x=x+2 )
{
var check= true;
//方案一
//一個數字的最大因數為其二分之一,y<=((x+(x%2))/2)
//for(vary=2; y<=((x+(x%2))/2); y++)
//方案二
//因為整數平方根之後的因數,與後方重複,所以算到平方根取整數即可,比方案一更快
//如100=10x10; 10是平衡點, 之後25x4=4x25;
//從三開始,跳過2的倍數,到x的平方根為止,可整除x的話,x不是質數,否則為質數
for(vary=3; y<=Math.sqrt(x); y=y+2)
{
if (x%y == 0)
{
check = false;
break;
}
}
if(check)
{
total_num++;
document.getElementById(x).innerHTML="<divclass='special'>"+x+"</div>";
}
}
get_table_1.innerHTML+="<palign='center'>共 "+total_num+" 個質數</p>";
}
</script>
請問希望做 10 X <input type="text" id="line" />的質數表格?
<input type="button" value="開始製作" onClick="make_table()"/>
<br /><br />
<div id="table_1"></div>
</body>
</html>
訂閱:
文章 (Atom)