日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

大杂烩, 硬盘安装Linux

發(fā)布時間:2023/12/20 linux 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 大杂烩, 硬盘安装Linux 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

http://antkillerfarm.github.io/

SQL與數(shù)據(jù)庫

這幾天看到了這篇文章:

http://www.cnbeta.com/articles/104987.htm

之前許多課本中的概念頓時浮現(xiàn)在眼前。曾幾何時,SQL成了數(shù)據(jù)庫的同義詞,以至于離開SQL就沒法操作數(shù)據(jù)庫了。但其實SQL所代表的關(guān)系型數(shù)據(jù)庫,只是數(shù)據(jù)庫的一類而已。除此之外還有很多其他類型的數(shù)據(jù)庫。

Oracle的廣告詞,給當時尚在學(xué)校的我產(chǎn)生了這樣的錯覺:“只有數(shù)據(jù)庫,才是處理大量數(shù)據(jù)的最好方法。”直到后來隨著自己技術(shù)的進步,才知道這樣的想法是如何的荒謬。

一個身邊的例子,有一次我們需要處理一批數(shù)據(jù),在使用數(shù)據(jù)庫的情況下,需要2天才能處理完,峰值時內(nèi)存的占用接近4G。但這還不是最糟的,關(guān)鍵的問題是以后數(shù)據(jù)的規(guī)模會越來越大,一旦內(nèi)存占用超過4G,舊的32位硬件軟件就不夠用了。(當時我們對硬件了解的不多,不知道Intel X86有PAE模式,以為4G就是32位PC的極限了,其實不然。)

于是,有位同事說,這批數(shù)據(jù)雖然量大,但規(guī)則并不復(fù)雜,干脆用最原始的寫文件來做吧。結(jié)果2天的處理時間縮短為1天,內(nèi)存占用減少為300M。其實這也沒有什么神奇的,一般的關(guān)系型數(shù)據(jù)庫通常由三部分組成:SQL解釋器、事務(wù)引擎和存儲查詢引擎。如果能夠根據(jù)具體情況,去掉前兩部分,并對第三部分進行優(yōu)化,完全可能比Oracle做的更好。畢竟在軟件這個領(lǐng)域并不存在超現(xiàn)實的東西,Oracle再牛也是跑在相應(yīng)的硬件、軟件之上的,少不了要和CPU、內(nèi)存、硬盤打交道。

結(jié)論:不要太過依賴數(shù)據(jù)庫,有的時候沒有數(shù)據(jù)庫,更快,更簡單。

Symbian開發(fā)

1)試著裝好了Carbide c++以及S60 3rd SDK后,卻發(fā)現(xiàn)不能在C盤以外的地方建工程(在默認的C:\Symbian\Carbide\workspace之外建工程是可以的),真沒想到Nokia出的工具還有這樣不友好的限制。

PS:它的說明說工程要和SDK放在同一個盤中,結(jié)果我把SDK裝在E盤,結(jié)果還是在C盤建工程可以,在E盤建不行,而且多次安裝之后,我的系統(tǒng)崩潰了,郁悶,這個系統(tǒng)用了2年,都沒有重裝…

2)Symbian S60 2nd 和 3rd 的區(qū)別

http://www.opda.com.cn/viewthread.php?tid=182217&page=1#pid3004888

3)Carbide c++的一個小BUG

如果在開始利用向?qū)纱a時,沒有選擇armv5或gcce,而只選擇了模擬器的情況下,在代碼生成之后,再添加armv5或gcce的話,是不能自動生成sis文件的,可以在Project->Properties->Carbide c++->Build Configurations->SIS Builder中添加。

Sqlite

《Inside Sqlite》是最好的參考書,目前已經(jīng)有人把它翻譯成中文,可以在CSDN上找到。

《SQLite Optimization FAQ》另一篇很好的文章。

http://web.utk.edu/~jplyon/sqlite/SQLite_optimization_FAQ.html

關(guān)于編譯和使用的問題,寫的最好的是以下兩篇:

http://www.99inf.net/SoftwareDev/VC/39396.htm

http://www.cnblogs.com/giszhang/archive/2008/10/09/1307509.html

WebKit

WebKit的代碼可以從它的官網(wǎng)www.webkit.org下獲得。

在以下網(wǎng)頁可以獲得webkit向各種GUI移植的相關(guān)信息。

http://trac.webkit.org/wiki

由于獲得的代碼比較新,所以在linux平臺下常有一些組件由于過于古老而導(dǎo)致編譯失敗。所以需要使用yum或者apt-get之類的工具從網(wǎng)上更新相關(guān)的組件。這里不推薦使用RHEL或者CentOS之類的服務(wù)器版本,因為服務(wù)器版本為了追求穩(wěn)定性,不但組件不是最新的,就連網(wǎng)上的組件源也不是最新的。

可以使用ubuntu 9.04桌面版,不過里面缺少很多開發(fā)用的組件,除了

http://trac.webkit.org/wiki/BuildingGtk

列出的之外,還有不少組件需要下載。主要有:

1)autoconf
2)libtool
3)gtk-doc-tools
4)libgail-dev

Apache與CGI

本來以為CGI編程會比較復(fù)雜,沒想到從原理的角度,似乎比之前的JSP還要簡單一些。這次主要是用C來編寫CGI,使用的web服務(wù)器是Apache 2.0.55。網(wǎng)上看到了幾篇同類的文章,但大多過于簡略,有的甚至頗有錯誤,所以自己就重新寫一篇吧。

1)配置httpd.conf

如果是默認安裝的話,只要將

AddHandler cgi-script .cgi

改為

AddHandler cgi-script .cgi .exe

即可。其他的完全不用改,只要你將后面編好后的.exe放到默認的cgi-bin中就行了。如果你要將.exe放到其他路徑下的話,ScriptAlias和Options ExecCGI會派上用場。(詳細的用法,翻手冊查吧!)別忘了修改了配置之后,要重啟Apache。

2)最簡單的例子

#include <stdio.h> #include <stdlib.h> #include <string.h>int main(int argc, char* argv[]) {char buf[256];char *req;printf("Content-type: text/html\n\n");printf("");printf("hello world!");strcpy(buf,"HTTP_ACCEPT");req = getenv(buf);printf("%s",req);strcpy(buf,"HTTP_REFERER");req = getenv(buf);printf("%s",req);strcpy(buf,"QUERY_STRING");req = getenv(buf);printf("%s",req);printf("");return 0; }

網(wǎng)上的例子只有輸出,沒有輸入,其實不算好例子。用VC之類的編譯器編好后,放到cgi-bin中,在瀏覽器中輸入以下地址http://localhost/cgi-bin/cgi.exe?abc就可以看到效果了。還有printf("Content-type: text/html\n\n");是一定要有的,沒有的會報HTTP 500的錯誤,有的例子中說printf("\n");就行了,這是不對的,至少在默認配置下,這樣做的結(jié)果是你可以下載該.exe,但不能把它當做CGI來執(zhí)行。

從這個例子,以及Apache官方的例子(http://httpd.apache.org/docs/1.3/howto/cgi.html)

#!/usr/bin/perl print "Content-type: text/html\r\n\r\n"; print "Hello, World.";

中可以看出,Apache的作用其實是重定義了這些CGI程序的標準輸入輸出,以及設(shè)置了一些系統(tǒng)變量。這才是它支持多種編程語言編寫的CGI的真正原因,試想還有哪種語言不支持標準輸入輸出呢?

可以在http://www.boutell.com/cgic/中獲得CGIC的代碼,這是一個C寫的CGI開發(fā)庫,本文的示例就是在這個庫的代碼的啟示下寫出來的。

3)Linux下的Apache目錄結(jié)構(gòu)

Windows下Apache的各個目錄都放在一起,因此使用起來比較方便,而Linux下Apache的各個目錄分散在各個地方不是太好找,特記錄一下,以作備忘。

conf在/etc/apache2下,但是Linux下的httpd.conf實際上是個空文件,它的內(nèi)容被分散到該目錄下的其他文件中。

cgi-bin在/usr/lib/cgi-bin下。

bin下的文件在/usr/sbin下可以找到。

modules在/usr/lib/apache2下。

如何在bat文件中編寫腳本,使得啟動命令行之后,能在命令行下執(zhí)行命令?

cmd /k dir

如上所示的命令,在啟動命令行之后,會在命令行下執(zhí)行dir命令。

Visio

如何保存成圖片

1.選中打算保存的區(qū)域。

2.“文件”->“另存為”。

3.如果需要縮放的話,調(diào)整保存的大小即可。

內(nèi)存數(shù)據(jù)庫

如GemFire。

硬盤安裝Linux

2013.9

最近重新開始研究Android和Linux,由于已經(jīng)快2年沒有弄過了。因此之前下載的linux發(fā)行版也不打算再繼續(xù)用了,省得到了Android開發(fā)的時候還要更新一大堆的包。

看了一下Google官網(wǎng)上對于Android source的編譯條件,再結(jié)合2年前編譯Android 2.2(Froyo)的經(jīng)驗,在虛擬機上跑Linux的方案首先被排除。開玩笑,16G的RAM/SAWP的開銷,哪是VM能搞得定的。就連Froyo在虛擬機上都編不過去,何況是4.3(Jelly Bean)了。

2年前編譯Froyo,用的是Wubi安裝的Ubuntu 10.04。這次看了一下Jelly Bean的編譯條件,100GB+的空間。忽然覺得做軟件這么多年,還從來沒有在PC上認認真真的安裝個雙系統(tǒng)用用,實在是職業(yè)生涯的一個污點。于是在下載了Ubuntu 12.04之后,老老實實的在網(wǎng)上搜索起如何硬盤安裝的辦法來。

之所以選擇硬盤安裝,其實實在是覺得刻張盤太麻煩了。如今就連賣本本的廠商都不提供Recovery CD,而改用Recovery分區(qū)來恢復(fù)系統(tǒng)。想來硬盤安裝Ubuntu也早無技術(shù)難度可言了。

硬盤安裝的步驟如下:

1)EasyBCD和ISO

2)

title Install Ubuntu root (hd0,0) kernel (hd0,0)/vmlinuz boot=casper iso-scan/filename=/ubuntu-11.10-i386.iso ro quiet splash locale=zh_CN.UTF-8 initrd (hd0,0)/initrd.lz

3)

把準備好的iso用壓縮軟件或者虛擬光驅(qū)打開,找到casper文件夾,復(fù)制initrd.lz和vmlinuz到C盤,然后在把iso也拷貝到C盤。

4)

sudo umount -l /isodevice

5)

安裝好之后,沒有GRUB開機菜單的話:

sudo -i mount /dev/sda7 /mnt grub-install --root-directory=/mnt /dev/sda

下面針對最近幾天的安裝實踐,做一個總結(jié)性的概括:

1)剛開始的時候,由于不熟悉Ubuntu 12.04的安裝步驟,選擇了錯誤的選項,發(fā)現(xiàn)之后中斷系統(tǒng)安裝。重啟,結(jié)果不但Ubuntu沒有安裝好,就連Windows也進不去。這時由于之前沒有刻錄Live CD的原因,只好使用Recovery分區(qū)恢復(fù)Windows系統(tǒng)。

2)我的本本是ASUS的,在開機時候按住F9,即可啟動一鍵恢復(fù)功能。由于這個功能也是第一次使用,因此當選擇將Windows恢復(fù)到第一個分區(qū),并在恢復(fù)過程中出錯的時候,我選擇了重啟。然后選擇將Windows恢復(fù)到一個硬盤。。。結(jié)果除了Recovery分區(qū)之外的所有分區(qū)都被刪除了。保存在電腦中的數(shù)據(jù)也全部丟失。看來裝系統(tǒng)始終是件危險的工作。安裝之前一定要將重要數(shù)據(jù)備份到移動硬盤上。

3)ASUS的一鍵恢復(fù)功能,會重啟機器若干次,且每次的畫面高度雷同,因此很讓人覺得是不是機器陷入了有問題的死循環(huán)之中。在反復(fù)折騰幾次之后,我也泄了氣,任由它先無限重啟下去。后來大概是重啟到第4次之后,我發(fā)現(xiàn)桌面的分辨率有改變,然后才意識到這些重啟估計是正常現(xiàn)象,并不是死循環(huán)。

4)Ubuntu的虛擬內(nèi)存使用的是交換分區(qū)的方式,而不是Windows的交換文件。因此要單獨劃一個分區(qū)用于虛擬內(nèi)存的數(shù)據(jù)交換。

5)Win7的壓縮卷功能對于系統(tǒng)分區(qū)不好使,由于有不可移動的數(shù)據(jù)存在,系統(tǒng)盤最小也要460G(硬盤總共1T),這實在是太大了。可以使用Acronis Disk Director Suite調(diào)整系統(tǒng)分區(qū)的大小。但是需要注意的是,Windows下的分區(qū)工具對分區(qū)數(shù)量的調(diào)整,會影響到GRUB的執(zhí)行,需要通過grub shell的命令切換到Linux下,然后執(zhí)行g(shù)rub update,方可恢復(fù)正常。而Linux下的分區(qū)工具(如GParted)就沒有這個問題。

6)GParted在調(diào)整分區(qū)大小,主要是分區(qū)首地址右移方面,執(zhí)行效率非常慢。Acronis Disk Director Suite沒試過,沒準會好些。

7)分區(qū)的話題說完了,繼續(xù)談?wù)剬inux啟動過程的心得。會提到一些名詞,但是不會展開來說。首先是BIOS和UEFI。它們決定從哪個存儲介質(zhì)啟動。

8)MBR的結(jié)構(gòu)。MBR決定了一個介質(zhì)最多只有3個主分區(qū)和1個擴展分區(qū)。一個擴展分區(qū)可包含若干個邏輯分區(qū)。

9)GRUB和LILO。

10)initrd和vmlinuz。initrd包括image-initrd和cpio-initrd。zImage和bzImage的區(qū)別和作用。

11)在逛Ubuntu軟件中心的時候,發(fā)現(xiàn)了Batttle of Wesnoth這個開源的回合制戰(zhàn)旗游戲。試著玩了一下,感覺蠻不錯的。正好這個項目在Source Forge上使用Git管理源代碼。考慮到Android Source也是用Git管理的,于是就用Git下載了Batttle of Wesnoth的source來熟悉一下Git的用法。

12)在linux下有個叫做gitk的Git GUI工具。

總結(jié)

以上是生活随笔為你收集整理的大杂烩, 硬盘安装Linux的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。