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的更新。