Gentoo下折騰emerge包管理器

gentoo:emerge如何使用USE安裝額外的包擴展,vim如何安裝lua支持?php

使用過的包管理器

ubuntu的apt-get,arch的pacman,繼承自redhat的yum前端

經過配置源均可以從國內外鏡像上得到軟件包,而且交給這些包管理器來處理依賴,下載依賴等等python

在使用mac os x那段時間,我通常是用brew和apple store來管理包和程序的shell

後來有段時間我使用windows,堅持使用360,雖然你們都說他流氓,可是十多年的感情了!從奇虎到如今,我發現他的「包管理器」:軟件管家,仍是不錯的(滑稽)!數據庫

反正我已經習慣了使用在線包管理器的方式,節省大量的時間去寫本身的程序ubuntu

安裝完gentoo以後也迅速開始學習它的包管理器:emerge!vim

emerge的包管理系統portage

Gentoo 的包管理工具稱爲portage(相似於 yum 和 apt). 而 emerge (相似於Debian的apt-get,Redhat 的yum 和 Suse的zypper命令)是做爲portage的前端使用 portage 的命令。windows

portage下的「小數據庫」ruby

/usr/portage下是Portage樹是ebuilds文件的集合,這些文件包含了Portage管理工具維護軟件(安裝,搜索,查詢,編譯 ...)時所須要的全部信息,當運行emerge命令時參考此數據庫app

usr/portage

在/usr/portage中咱們看到全部emerge可用與管理的包,cd進去還能看到裏面的包

使用emerge安裝軟件的時候:

emerge app-editors/vim

emerge後面緊跟的第一層也就是這個目錄中第一層可用包,第二層對應了包下一層軟件包

emerge的USE

make.conf

cd /etc/portage

cat ./make.conf

此文件記錄了編譯時用到的參數,CFLAGS,CXXFLAGS,MAKEOPTS等參數,通常不須要修改。
但有一個USE的變量很經常使用

USE

一個軟件不止是程序,還有文檔,插件擴展,UI支持等等,而use就是能夠添加刪除這些額外福利的變量。

兩種方式使用USE:

  1. 能夠直接修改make.conf裏的USE變量。
  2. emerge命令前使用,至關於臨時變量(推薦)

例:
vim須要使用neocomplete插件,就要lua支持,此時咱們若是手動編譯vim須要加上--with-lua。

從新來安裝vim,emerge使用USE添加一些支持,lua,ruby等

查看可用USE可用擴展包

emerge -pv app-editors/vim

查看軟件可用擴展包

能夠看到USE:
紅色表示會安裝的,藍色並帶有「-」號表示不會安裝的,

安裝vim,添加lua,ruby,cscope,python,perl經常使用支持:

USE="cscope lua ruby python perl" emerge --ask app-editors/vim

新的USE

看到剛剛藍色的使用USE已經添加進去並變成紅色了,表示會被一塊兒安裝進去

並且,留意多出一個依賴包cscope須要下載下來,而他的USE="-emacs",表示去掉對emacs的支持,那是留給emacs黨用的,vim黨不須要(滑稽

這樣vim能使用neocomplete了!

其餘的emerge命令

卸載軟件

emerge -C vim

移除不影響系統功能的軟件(清理系統)

emerge --clean
emerge -c

卸載能夠移除的依賴(深度清理)

emerge --depclean

安裝特定版本的軟件

emerge "=python-3.2"
emerge "<python-3.2"

升級軟件

emerge -u opera
emerge --update opera

升級系統軟件

emerge -u system

升級整個系統

emerge -u world

world 來自 /var/lib/portage/world

固然,能夠加個 p (再加個v就完美了),看看看是否是本身想要的:

emerge -pvu world

避免升級覆蓋掉版本更高的軟件

emerge -uU world
emerge --update --upgradeonly world

安裝了masked 軟件包,升級時可能會降級處理的

查看某軟件包可用的USE參數

emerge -pv php

這個就很是有用了

臨時設置USE 並以臨時的USE 變量emerge 軟件包

USE="-minimal" emerge -1 xinit

注意:添加不須要「+」號

若是想以某種規則(USE)永久性的安裝某軟件包,那麼在 /etc/portage/package.use 文件裏添加以下一行內容:

echo x11-apps/xinit -minimal >> /etc/portage/package.use

添加後,就會 以 USE="-minimal" 安裝 xinit 了, 並且是永久性的(除非刪掉此行) 不存在 /etc/portage/ 目錄的話,手動建立

相關文章
相關標籤/搜索