目前常用的
**********
*更新本機中的資料庫快取:
sudo apt-get update
*查詢包含部分關鍵字的軟體包:
sudo apt-cache search 《你要查詢的name>
*安裝指定的軟體:
sudo apt-get install 《你要安裝的軟體包》
詳細的資料
*****====
apt-get:
安裝和解除安裝------
*更新本機中的資料庫快取:
sudo apt-get update
最好定期更新一下使你自己機器上面的資料和伺服器(/etc/apt/sources.list列出)上面的資訊保持一致,在安裝軟體之前可以執行一下這個命令保證成功性。
*安裝軟體:
#apt-get install packagename
這裡將安裝你需要的在sources.lists中的最新的軟體包,如果有其他依賴則自動安裝相應的依賴軟體包。packagename可以是多個軟體包。
一些有用的選項:
-h this help text.
-d download only - do not install or unpack archives
-f attempt to continue if the integrity check fails
-s no-act. perform ordering simulation
-y assume yes to all queries and do not prompt
-u show a list of upgraded packages as well
*解除安裝軟體(用install):
#apt-get install packagename-
在需要解除安裝的包後面加上乙個'-'(我沒有實驗過),當然可以apt-get install p1 p2-這樣多個命令合併了,裝p1卸p2。
*解除安裝軟體2:
#apt-get remove packagename
這會解除安裝相應的軟體,同時也會解除安裝依賴的部分,沒辦法指定不解除安裝依賴的。但是軟體的配置檔案還是會留在系統中。
*完全解除安裝軟體包括刪除配置:
#apt-get --purge remove packagename
這樣配置檔案也會被刪除。
*安裝軟體2(用remove):
#apt-get remove packagename+
這個和用install來解除安裝軟體的意義類似,在包名稱後面新增乙個+,表示安裝。
*修復或者只安裝最新版本:
#apt-get --reinstall install packagename
這裡,如果你的軟體包被破壞了,或者你想要安裝乙個最新的軟體,執行這個。
公升級軟體包------
*公升級軟體包1:
#apt-get -u upgrade
這裡加上-u選項列出將要公升級的軟體,可能會提示有些軟體不會公升級,因為可能會破壞依賴關係,更好的方法是利用apt-get dist-upgrade
你 可以通過cd或者新增源位址來更新,如果你想從cd來公升級,首先執行apt-cdrom把cd中的軟體新增到/etc/apt/sources源中,然後 執行apt-get dist-upgrade來公升級,但是因為apt-get總是使用最新版本,如果cd中的不是最新的版本,那麼也不會用到cd。
*公升級軟體包2:
#apt-get -u dist-upgrade
這樣安裝的軟體前面apt-get -u upgrade安不了的也會安裝了,但個別的仍然不能安裝,例如:公升級會導致需要解除安裝一些包,解除安裝這些包會導致另外的軟體不能用,所以就不公升級了。
*公升級軟體包3:
#apt-get -u install packagename
假設前面公升級的時候packagename無法公升級,那麼這個命令會公升級packagename如果需要解除安裝默寫模組而解除安裝這些模組導致一些軟體無法使用,那麼乾脆把這些軟體都解除安裝了,然後公升級,這個命令會導致packagename最終公升級了。
清理沒用的包檔案------
用apt-get 安裝軟體包的時候,apt會從/etc/apt/sources.list裡面將相應的軟體包恢復出來,把它們存放在乙個本地的文件庫中(/var/cache/apt/archives/)然後才開始安裝,隨著時間的增長,這將不斷地消耗硬碟的空間。
*清理所有的快取檔案:
#apt-get clean
這會清理所/var/cache/apt/archives/ 和 /var/cache/apt/archives/partial/中沒有被鎖定的檔案。當然你再次安裝軟體的時候,這個軟體又被恢復到本地文件庫中了。
*僅僅清理舊的快取檔案:
#apt-get autoclean
*安裝指定版本的軟體包:
# apt-get install package=version
查詢資訊--------
*查詢乙個含有packagename字串的包:
#apt-cache search packagename
這樣將輸出所包含packagename字串的包。
*顯示軟體包的詳細資訊:
# apt-cache show stella
這包含了軟體包許多的資訊,例如如果你已經安裝了這個軟體包,資訊裡面也會顯示。
*顯示軟體包的大致資訊:
apt-cache showpkg packagename
這會顯示大致的資訊。
*檢視那些包可以公升級的資訊:
$ apt-show-versions -u
這個apt-show-versions工具需要安裝一下的。
*檢視當前特定軟體版本:
apt-show-versions -p packagename
*檢查packagename依賴的包:
#apt-cache depends packagename
工作相關--------
*安裝編譯源**需要的庫(包):
# apt-get build-dep packagename
*檢視編譯乙個包需要哪些其他的庫(包):
#apt-cache show packagename
如果你只是想要檢查編譯乙個包需要哪些其他的包,那麼可以利用上面的命令,其中'packagename'是包名。
$ apt-get source packagename
$ apt-get -b source packagename
可能是編譯成.deb包,我沒有試過。
$ dpkg-buildpackage -***keroot -uc -b
*直接利用包管理器安裝包:
# dpkg -i file.deb
需要直接使用包管理器,執行這個命令來安裝包。
-------dpkg查詢
*已知軟體包中有乙個檔案,根據檔案查詢軟體包:
# dpkg -s stdio.h
輸入之後,輸出如下:
libc6-dev: /usr/include/stdio.h
libc6-dev: /usr/include/bits/stdio.h
perl: /usr/lib/perl/5.6.0/core/nostdio.h
這在知道包中某些檔案的時候,來根據檔案查詢軟體包這種情況下非常用。
*查詢安裝在你的機器上面的軟體包:
dpkg -l
*自動安裝缺失的軟體:
# auto-apt run command
這裡,command是你要執行的命令。例如 auto-apt run ./configure .當缺失依賴軟體的時候,它會詢問你安裝,方便了編譯。安裝之後會繼續執行。auto-apt需要保持乙個最新的資料庫,利用這個命令進行更新:auto-apt update, auto-apt updatedb and auto-apt update-local。
--------apt-get查詢
*利用apt-file根據檔名查詢相應的軟體包:
$ apt-file search filename
如 果你只知道程式名字filename,那麼你可以執行這個命令,它的工作方式和 dpkg -s差不多,就是根據某個軟體包裡可能包含的檔案來查詢這個軟體包的名字。另外,它也會顯示包含這個檔案的沒有安裝的軟體包。當你編譯的時候,提示缺了什 麼標頭檔案的時候,利用這個很方便地確定需要裝哪些軟體包(當然利用audo-apt更方便).
*列出乙個軟體包中包含的檔案:
$apt-file list packagename
這裡,apt-file是根據乙個資料庫來讀取資訊的,所以需要保持資料庫是最新的。
*更新apt-file的資料庫:
# apt-file update
預設情況下,apt-file的資料庫和auto-apt是一樣的。
另外還有一種方法:
首先,需要安裝乙個軟體(gdebi),使用以下命令:
sudo apt-get install gdebi
然後,檢視目錄(/var/cache/apt/archives),檢視你需要弄清楚安裝路徑情況的軟體包:
比如我要弄清楚bashdb的具體安裝路徑:
我檢視/var/cache/apt/archives後知道,這個安裝包的具體名稱是:bashdb_4.2.0.6-3_all.deb。就可以使用命令來檢視:
gdebi-gtk bashdb_4.2.0.6-3_all.deb。
通過這個軟體就可以方便檢視具體安裝情況了。
Fragment與Activity的優缺點比較
專案中對activity和fragment使用都很多,它們都能用來寫頁面,那麼什麼時候用activity,什麼時候用fragment?關於 android,用多個 activity,還是單 activity 配合 fragment?中提到 單activity多fragment實現,已知的坑有,act...
hibernate與mybatis的優缺點
1 hibernate真正掌握要比mybatis難,因為hibernate的功能和特性非常多,還不適合多表關聯查詢。2 hibernate和mybatis都有 生成工具,可以生成簡單的dao方法。但對於高階查詢mybatis需要自己寫sql以及resultmap,而hibernate有良好的反射機制...
hibernate與mybatis的優缺點
1 hibernate真正掌握要比mybatis難,因為hibernate的功能和特性非常多,還不適合多表關聯查詢。2 hibernate和mybatis都有 生成工具,可以生成簡單的dao方法。但對於高階查詢mybatis需要自己寫sql以及resultmap,而hibernate有良好的反射機制...