ubuntu源碼包
『壹』 ubuntu開源免費游戲怎麼獲取非二進制源碼
2、使用如下命令獲取xxx源碼包的詳細信息:sudo apt-cache showsrc xxx 這用來查詢當前鏡像站點中是否有該源碼包。 3、源碼包中通常包含3個文件,分別以dsc,orig.tar.gz和diff.gz為後綴名。sudo apt-get source xxx 命令來獲取源碼包,它會將源碼包下載到用戶當前目錄並在命令執行過程中,調用dpkg-source命令,根據dsc文件中的信息,將源碼包解壓到同名目錄中,應用程序的源代碼就在這裡面。sudo apt-get source xxx要強調的是,在下載源碼包前,必須確保安裝了dpkg-dev(執行」apt-get install dpkg-dev」來安裝),否則,只會下載源碼包的3個文件,但不會解壓縮源碼包。當然你也可以自己用dpkg-source命令去解壓縮源碼包。4、在編譯源碼包前,需要安裝具有依賴關系的相關軟體包。使用」apt-get build-dep」命令可以主動獲取並安裝所有相關的軟體包。sudo apt-get build-dep xxx5、現在可以來編譯源碼包了,首先進入源碼所在目錄,使用dpkg-buildpackage命令來編譯源碼包,它會將生成的Deb軟體包放置在上層目錄中。cd xxxsudo dpkg-buildpackage這樣就會編譯生成xxx_i386.deb6、安裝軟體包。使用」dpkg –i」命令來安裝生成的Deb軟體包。sudo dpkg -i xxx_i386.deb
『貳』 linux Ubuntu openssl離線源碼安裝、升級版本
Ubuntu 16.04.1
OpenSSL 1.0.2g 1 Mar 2016
官網:openssl.org 下載:openssl.org/source/
官網最新可用生產版本openssl-1.1.1k,openssl-3.0.0-alpha17版本是openssl的下一個主要版本,includes the new FIPS Object Mole(新特性),預發布版本,不輕易直接用於生產環境。
這次下載openssl-1.1.1k.tar.gz的源碼包。
將openssl源碼包解壓,並進入openssl-1.1.1k文件夾
查看README,了解安裝openssl的預制環境條件,已安裝過環境。
查看INSTALL,根據Quick Start直接編譯。
編譯、安裝過程中無任何報錯,一路暢通,查看openssl版本。
查看版本信息報錯,沒有libssl.so.1.1依賴文件。搜索發現libssl.so.1.1依賴文件存在,但路徑不對。建立軟鏈接後,查看openssl信息依舊報錯:libcrypto.so.1.1依賴文件不存在。同樣建立軟鏈接,成功更新openssl版本。
成功更新openssl版本後,可以執行openssl命令。
嘗試openssl-3.0.0-alpha17的預發布版本,除編譯命令不一致外,同樣需要建立依賴庫軟鏈接。
使用以下命令配置、構建和測試:Unix / Linux / macOS,一鍵安裝版本install.sh,openssl-1.1.1k版本。
『叄』 在Ubuntu上做內核編程,要安裝哪個包怎麼做
1、gcc (C編譯器)
安裝 apt-get install gcc
2、make (源代碼維護工具,它能自動檢測出需要重新編譯的源文件並根據你設定的編譯規則去重新編譯程序)
安裝 apt-get install make
3.kernel-source (內核源碼包。你可以apt-cache search kernel-source搜索到內核源代碼包,並用uname -r命令查看到當前系統內核版本,然後用apt-get install kernel-source-xxxx來安裝和你內核版本一致的內核源代碼包)
如果你不想重新編譯內核,內核源代碼包kernel-source是完全可以不下載的。
4.kernel-headers(內核源代碼頭文件包,不管你是要進行內核模塊開發還是進行驅動程序開發,這個包都是必須 要安裝的。因為作為一個內核模塊編寫者,通常會調用內核里的一些東西,比如內核頭文件,內核數據結構申明等。它裡麵包含了一些關鍵的內核頭文件)
安裝 apt-cache search kernel-headers
uname -r
apt-get instakk kernel-headers-xxxx
5.kernel-kbuild(用來編譯內核模塊的,下載安裝這個包後會發現在/usr/src目錄下多了一個kernel-kbuild-xxxx開頭的目錄,下面只有scripts一個目錄,這是用來編譯內核模塊的一些腳本程序)
安裝 apt-cache search kernel-kbuild
uname -r
apt-get install kernel-kbuild-xxxx
6.build-essential(包含一個在建立deb包過程中起關鍵作用的包的信息列表,如果你不想建立deb包你就不需要安裝此表)
安裝 apt-get install build-essential
7.kernel-package(如果你想把內核鏡像做成一個deb包來用,那麼必須用安裝這個包了)
安裝 apt-get install kernel-package
8.initrd-tools(如果你想製作啟動過程的initrd鏡像,則這個包是必不可少的)
安裝 apt-get instakk initrd-tools
假設你編寫了一個內核模塊程序,源代碼如下:
/* hello.c */
#include <linux/init.h>
#include <linux/mole.h>
#include <linux/kernel.h>
static int hello_init(void)
{
printk(KERN_ALERT "Hello, linux kernel mole
");
return 0;
}
static void hello_exit(void)
{
printk(KERN_ALERT "Goodbye, I've created a linux kernel mole sucessfully
");
}
mole_init(hello_init);
mole_exit(hello_exit);
MODULE_LICENSE("GPL");
你需要這此源程序編寫一個makefile,內容如下:
#Makefile for hello.c file
#
KERNEL_DIR:=/usr/src/linux
obj-m:=hello.o
default:
$(MAKE) -C $(KERNEL_DIR) SUBDIRS=$(PWD) moles
clean:
$(RM) .*.cmd *.mod.c *.o *.ko -r .tmp
注意:這里的KERNEL_DIR是指內核源代碼頭文件所在目錄的上一級目錄,通常就是指內核源代碼目錄。該目錄一般包括有arch,drivers,fs,include,init,ipc,kernel,lib,mm,net,scripts,usr,sound,security等目錄。
在本示例中,/usr/src/linux是一個鏈接,指向了/usr/src/kernel-headers-2.6.8-3目錄。
編寫好makefile後就可以輸入make命令生成hello.ko內核模塊了,然後你可以用:
insmode hello.ko
命令來加入內核模塊,然後用:
rmmod hello
來刪除內核模塊。
『肆』 Ubuntu源碼安裝Mysql官方標准步驟
安裝Ubuntu系統MySQL源碼的方法如下:
一、安裝所需工具
在終端輸入指令:sudo apt-get install g++ gcc make automake perl libncurses5-dev kdelibs_dev kdelib,以確保所有必要工具已安裝。
二、下載並解壓源碼
使用指令cd ~/Downloads後,輸入tar zxvf mysql-6.0.2-alpha.tar.gz,將MySQL源碼包解壓至當前目錄。
三、設置安裝路徑與編譯
使用cd mysql-6.0.2-alpha進入源碼包目錄,然後執行./configure --prefix=/usr/local/mysql以指定安裝路徑。接下來,使用make命令進行編譯。
四、進行安裝與配置
使用sudo make install命令進行安裝。復制解壓包內的my-medium.cnf設置文件至 /etc/目錄,以實現系統統一配置。接著,創建執行程序軟鏈接,方便訪問相關命令。
五、創建MySQL用戶組與用戶
使用sudo groupadd mysql命令創建用戶組mysql,然後在該組下使用sudo useradd -g mysql mysql命令創建用戶mysql。
六、初始化MySQL資料庫
進入安裝目錄/usr/local/mysql後,使用sudo bin/mysql_install_db --user=mysql命令創建MySQL資料庫的授權表。完成後,手動重啟伺服器。
七、調整文件許可權
使用sudo chown -R root .命令將/usr/local/mysql/目錄下的所有文件更改為根用戶root所有。接著,使用sudo chown -R mysql var命令將/usr/local/mysql/var/目錄下的所有文件更改為用戶mysql所有。最後,使用sudo chgrp -R mysql .命令將/usr/local/mysql/目錄下的所有文件更改為用戶組mysql所有。
八、啟動MySQL服務
在終端執行sudo bin/mysql_safe --use=mysql &命令,以後台方式初始化並測試MySQL服務。
『伍』 Ubuntu和Fedora上通過圖形化界面或源碼安裝軟體包的方法
本文環境
Ubuntu 15.04 64-bit
Fedora 22 64-bit
安裝目標
wget 它是一個用於從網路上下載文件的簡單自由軟體,在下文我們也會用到 wget 進行下載某些文件。
相關概念
源 :我們安裝程序可以從 遠程倉庫 或 本地倉庫 獲取,這個 倉庫 就是我們程序的來源,因此可以稱為 源 。
包管理器 :顧名思義 包管理器 是用來管理軟體包的,用這個工具我們可以輕松的從倉庫中安裝、卸載程序。不同的發行版有不同的包管理器,Ubuntu 使用 apt-get 而 Fedora 22使用 dnf。
源碼 : 程序的原始代碼,未經過編譯,通過編譯源碼也可以生成程序。
圖形界面的軟體中心
Ubuntu 軟體中心
當我們處於圖形界面( GUI :Graphical User Interface) 時,Ubuntu 為我們提供了一個圖形界面的安裝工具,稱為 Ubuntu 軟體中心,通過這個軟體中心,我們可以像 Windows 一樣通過點擊幾個按鈕,輕松實現軟體包安裝。下圖為打開軟體中心之後的圖,左邊是一些分類,下面則是一些推薦的軟體包。
點擊已安裝可以查看安裝在本機的軟體包,並且可以在此管理它們,如圖選中 Firefox 並點擊卸載,此時會提示你輸入密碼,輸入完成且正確就會卸載你所選的程序。
接下來在搜索框搜索 wget 你可以看到如圖所示的東西,並且只需點擊安裝並正確輸入密碼即可。
Fedora 軟體中心
點開如圖所示的圖標就可以打開 Fedora 的軟體中心。
打開後界面如圖,分類在最下面
點開上圖的掃雷,顯示如下,點擊 安裝 ,靜候即可
現在轉到 已安裝 ,我們可以看到剛剛安裝的掃雷,點擊 移除 ,就可以刪除了。
如果你遇到下圖,只需要輸入你的密碼即可。
從源碼編譯安裝
有些時候我們會發現有的軟體包並沒有包含在軟體倉庫中,也沒有可用的二進制包,這時候我們可以嘗試從源碼編譯安裝,我在此處仍以wget 為例,示範如何編譯,並解決編譯遇到的問題
以下環境為 Ubuntu 15.04
代碼如下:
$ mkdir buildwget #構建目錄$ cd buildwget
$ wget http://ftp.gnu.org/gnu/wget/wget-1.16.tar.xz #下載源碼包
$ sudo apt-get remove wget #為了後面的測試,先把 wget 卸載了
$ xz -d wget-1.16.tar.xz #解壓 xz 文件
$ tar -xvf wget-1.16.tar #解檔 tar 文件
$ cd wget-1.16
$ ls #列出文件
ABOUT-NLS ChangeLog.README GNUmakefile maint.mk po util
aclocal.m4 configure INSTALL Makefile.am README
AUTHORS configure.ac lib Makefile.in src
build-aux COPYING m4 msdos testenv
ChangeLog doc MAILING-LIST NEWS tests
上面的文件就是我們將要編譯的源文件,其中有個特別要注意的就是 INSTALL,我們要養成一個習慣,多看 INSTALL 文件,這個文件會告訴我們怎麼編譯,編譯時需要注意什麼?但由於此處的編譯較簡單,所以 INSTALL 也沒有提到什麼特別重要的事情。
按照 INSTALL 我們先執行 ./configure
代碼如下:
$ ./configure如果出現如下的錯誤
configure: error: --with-ssl=gnutls was given, but GNUTLS is not available.
錯誤提示說,給定的 SSL 是 gnutls 但是卻不可用(因為沒有安裝),因此我們安裝並指定 openssl 為 wget 的 SSL 。
代碼如下:
$ sudo apt-get install openssl$ sudo apt-get install libssl-dev
$ ./configure --with-ssl=openssl
如果沒有問題,執行完後應該顯示如下
configure: Summary of build options:
Version: 1.16
Host OS: linux-gnu
Install prefix: /usr/local
Compiler: gcc
CFlags: -g -O2
LDFlags:
Libs: -lssl -lcrypto -ldl -lz
SSL: openssl
Zlib: yes
PSL: no
Digest: yes
NTLM: yes
OPIE: yes
Debugging: yes
然後進行編譯
代碼如下:
$ make會輸出很多編譯信息,不要擔心,如果最後沒有報錯而停止,則編譯成功,接下來進行安裝
代碼如下:
$ sudo make install試試是不是 wget 命令又出來了?源碼安裝遇到問題,我們要善於搜索,提問和解決,根據報錯內容進行相應的編譯調整,缺少的依賴裝上,一般就可以成功。
『陸』 Linux Ubuntu openssl離線源碼安裝、升級版本
在Ubuntu 16.04.1系統上,您當前的openssl版本為1.0.2g。若要離線安裝或升級openssl,首先從openssl.org下載最新生產版本,如openssl-1.1.1k,盡管1.1.1k是較新版本,但openssl-3.0.0-alpha17為預發布,不建議直接用於生產環境。本文將指導您下載openssl-1.1.1k的源碼包進行安裝。
1. 解壓並進入openssl-1.1.1k文件夾,然後查看安裝指南,確保已具備編譯所需的環境。
2. 按照Quick Start指南進行編譯,過程中未遇到報錯,編譯安裝順利完成。
3. 然而,安裝後嘗試查看版本時,可能會遇到libssl.so.1.1依賴文件缺失的問題。經過搜索,確認依賴文件存在,可能是路徑問題。通過創建軟鏈接解決後,openssl版本更新成功。
對於openssl-3.0.0-alpha17預發布版本,編譯步驟類似,但命令可能有所不同,並需要為依賴庫建立軟鏈接。推薦在生產環境下使用一鍵安裝版本,如openssl-1.1.1k,通過install.sh腳本進行安裝。
總結,離線安裝或升級openssl時,確保正確處理依賴關系和路徑,創建必要的軟鏈接,以順利完成openssl的更新。