linux中源代码包安装的基本步骤是什么? (linux 安装c 11)

pz33b

详解linux源码包安装过程

1. 解压缩包

可以通过下载或其他方式获得了一个软件包,通常它是一个压缩文件,大部分可能是存档的和压缩的,这些文件一般以 .tar .gz为扩展名。

首先拷贝它到一个目录,然后 untar 和 gunzip 解压它。 通常这个命令是

tar xzvf filename

解压后的文件一般会在当前目录下的创建子目录,并以这个包名来命名。 你也可以用用这个命令预先查看结果 tar tzvf filename,显示包里有那些解压文件。

源文件如果是新的 bzip2 (.bz2) 格式,可用

bzip2 -cd filename | tar xvf -,或更简单的 tar xyvf filename ,这很不错的tar命令被不断的完善。

说明:

A:有时候一些文件必须安装在用户的 home 目录下,或更多的是在一个固定的目录,比如 /, /usr/src, 或 /opt 。所以必须仔细阅读安装包的配置信息。当一个软件包里如果有config 和 Makefiles 文件则更好去编辑它,这里包括了安装指令和说明。提示:你改变 makefile 会导致不同的结果。大部分软件包允许用 make install 自动处理安置二进制文件在适当的系统位置。

B:你可能碰到过一些共享文件、shell 存档文件、尤其是 Internet 上的源码新闻组。它们保留的原因是具有人性化的可读性,并且允许新闻组缓冲并通过它们筛选和剔除出不合格的。它们可能用 unshar filename.shar 命令来解压。

C: 一些源码存档文件是用非标准的 DOS,Mac 或其他压缩的比如:

zip, arc, lha, arj, zoo, rar, and shk.

D: 有时候,你可能需要使用一个 patch 或显示改变了的 diff 文件来升级或修复存档的源码文件。这 doc 文件或者 README 文件将告诉你怎么去使用。一个很好的命令用标准语法来调用的命令是 patch

在源码的某处对于 xloadimage, wchar_t 已经在指定标准 include 文件重新定义。 告诉我们首先在 image.h 的 23 行尝试注释它,或许 stdlib.h include 是不存在的,毕竟不是所有都是必需的。

在这点,构建中的收益来源于所有任何一个致命错误。xloadimage 现在功能正常。

6: 安装 Linux 包的一些总结

相关问题拓展阅读:

Linux安装基本命令

Linux安装基本命令大全

  Linux常用命令,你还能记得多少呢?下文是我为大家准备的Linux常用命令,一起来看看吧!

  安装升级

  查看软件安装内容

  dpkg -L

  查找软件库中的软件

  apt-cache search 正则表达式

  或

  aptitude search 软件包

  显示系统安装包的统计信息

  apt-cache stats

  显示系统全部可用包的名称

  apt-cache pkgnames

  显示包的信息

  apt-cache show k3b

  查找文件属于哪个包

  dpkg -S filename

  apt-file search filename

  查看已经安装了哪些包

  dpkg -l

  也可用

  dpkg -l | less

  翻页查看

  查询软件依赖哪些包

  apt-cache depends

  查询软件被哪些包依赖

  apt-cache rdepends

  增加一个光盘源

  sudo apt-cdrom add

  系统更新

  sudo apt-get update (这一步更新包列表)

  sudo apt-get dist-upgrade (这一步安装所有可用更新)

  或者

  sudo apt-get upgrade (这一步安装应用程序更新,不安装新内核等)

  清除所有已删除包的残馀配置文件

  dpkg -l |grep ^rc|awk ‘{print $2}’ |sudo xargs dpkg -P

  如果报如下错误,证明你的系统中没有残留配置文件了,无须担心。

  dpkg: –purge needs at least one package name argument

  Type dpkg –help for help about installing and deinstalling packages ;

  Use `dselect’ or `aptitude’ for user-friendly package management;

  Type dpkg -Dhelp for a list of dpkg debug flag values;

  Type dpkg –force-help for a list of forcing options;

  Type dpkg-deb –help for help about manipulating *.deb files;

  Type dpkg –license for copyright license and lack of warranty (GNU GPL) .

  Options marked produce a lot of output – pipe it through `less’ or `more’ !

  编译时缺少h文件的自动处理

  sudo auto-apt run ./configure

  查看安装软件时下载包的临时存放目录

  ls /var/cache/apt/archives

  备份当前系统安装的所有包的列表

  dpkg –get-selections | grep -v deinstall > ~/somefile

  从上面备份的安装包的列表文件恢复所有包

  dpkg –set-selections 10.04。

使用该升级方式通常需要使用 backports 源。

  sudo apt-get update

  sudo apt-get install update-manager-core

  sudo do-release-upgrade

  系统

  查看内核

  uname -a

  查看系统是32位还是64位

  #查看long的位数,返回32或64

  getconf LONG_BIT

  #查看文件信息,包含32-bit就是32位,包含64-bit就是64位

  file /in/init

  或者使用

  uname -m

  查看Ubuntu版本

  l_release -a

  或 cat /etc/l-release

  查看内核加载的模块

  lod

  查看PCI设备

  lspci

  查看USB设备

  lsu

  #加参数 -v 可以显示USB设备的描述表(descriptors)

  lsu -v

  查看网卡状态

  sudo apt-get install ethtool

  sudo ethtool eth0

  激活网卡的 Wake-on-LAN

  sudo apt-get install wakeonlan

  或 sudo ethtool -s eth0 wol g

  查看CPU信息

  cat /proc/cpuinfo

  显示当前硬件信息

  sudo lshw

  查看内存型号

  sudo dmidecode -t memory

  获取CPU序列号或者主板序列号

  #CPU ID

  sudo dmidecode -t 4 | grep ID

  #Serial Number

  sudo dmidecode | grep Serial

  #CPU

  sudo dmidecode -t 4

  #BIOS

  sudo dmidecode -t 0

  #主板:

  sudo dmidecode -t 2

  #OEM:

  sudo dmidecode -t 11

  显示当前内存大小

  free -m |grep “Mem” | awk ‘{print $2}’

  查看硬盘温度

  sudo apt-get install hddtemp

  sudo hddtemp /dev/sda

  显示系统运行时间

  uptime

  查看系统限制

  ulimit -a

  查看内核限制

  ipcs -l

  查看当前屏幕分辨率

  xrandr

  硬盘

  查看块设备

  llk

  查看硬盘的分区

  sudo fdisk -l

  硬盘分区

  #危险!小心操作。

  sudo fdisk /dev/sda

  硬盘格式化

  #危险!将之一个分区格式化为 ext3 分区, mkfs.reiserfs mkfs.xfs mkfs.vfat

  sudo mkfs.ext3 /dev/sda1

  硬盘检查

  #危险!检查之一个分区,请不要检查已经挂载的分区,否则容易丢失和损坏数据

  sudo fsck /dev/sda1

  硬盘坏道检测

  sudo badblocks -s -v -c 32 /dev/sdb

  #得到坏的块后,使用分区工具隔离坏道。

  分区挂载

  sudo mount -t 文件系统类型 设备路经 访问路经

  #常用文件类型如下: iso9660 光驱文件系统, vfat fat/fat32分区, ntfs ntfs分区, bfs windows网络共享目录, reiserfs、ext3、xfs Linux分区

  #如果中文名无法显示尝试在最後增加 -o nls=utf8 或 -o iocharset=utf8

  #如果需要挂载後,普通用户也可以使用,在 -o 的参数後面增加 ,umask=022 如:-o nls=utf8,umask=022

  分区卸载

  sudo umount 目录名或设备名

  只读挂载ntfs分区

  sudo mount -t ntfs -o nls=utf8,umask=0 /dev/sdb1 /mnt/c

  可写挂载ntfs分区

  sudo mount -t ntfs-3g -o locale=zh_CN.utf8,umask=0 /dev/sdb1 /mnt/c

  挂载fat32分区

  sudo mount -t vfat -o iocharset=utf8,umask=0 /dev/sda1 /mnt/c

  挂载共享文件

  sudo mount -t bfs -o username=,password=,iocharset=utf8 //192.168.1.1/share /mnt/share

  挂载ISO文件

  sudo mount -t iso9660 -o loop,utf8 .iso /mnt/iso

  查看IDE硬盘信息

  sudo hdparm -i /dev/sda

  查看软raid阵列信息

  cat /proc/mdstat

  参看硬raid阵列信息

  dmesg |grep -i raid

  cat /proc/scsi/scsi

  查看SATA硬盘信息

  sudo hdparm -I /dev/sda

  或

  sudo apt-get install blktool

  sudo blktool /dev/sda id

  查看硬盘剩余空间

  df

  df –help 显示帮助

  查看目录占用空间

  du -hs 目录名

  闪盘没法卸载

  sync

  fuser -km /media/闪盘卷标

  使用文件来增加交换空间

  #创建一个512M的交换文件 /swapfile

  sudo dd if=/dev/zero of=/swapfile bs=1M count=512

  sudo mkswap /swapfile

  sudo swapon /swapfile

  #sudo vim /etc/fstab #加到fstab文件中让系统引导时自动启动

  /swapfile swap swap defaults 0 0

  查看硬盘当前读写情况

  # 首先安装 sysstat 包

  sudo apt-get install sysstat

  #每2秒刷新一次

  sudo iostat -x 2

  测试硬盘的实际写入速度

  dd if=/dev/zero of=test bs=64k count=512 oflag=dsync

  进程

  查看当前的内存使用情况

  free

  连续监视内存使用情况

  watch -d free

  # 使用 Ctrl + c 退出

  动态显示进程执行情况

  top

  top指令运行时输入H或?打开帮助窗口,输入Q退出指令。

  查看当前有哪些进程

  ps -AFL

  查看进程的启动时间

  ps -A -opid,stime,etime,args

  查看目前登入用户运行的程序

  w

  查看当前用户程序实际内存占用,并排序

  ps -u $USER -o pid,rss,cmd –sort -rss

  统计程序的内存耗用

  ps -eo fname,rss|awk ‘{arr+=$2} END {for (i in arr) {print i,arr}}’|sort -k2 -nr

  按内存从大到小排列进程

  ps -eo “%C : %p : %z : %a”|sort -k5 -nr

  列出前十个最耗内存的进程

  ps aux | sort -nk +4 | tail

  按cpu利用率从大到小排列进程

  ps -eo “%C : %p : %z : %a”|sort -nr

  ps aux –sort -pcpu |head -n 20

  查看当前进程树

  pstree

  中止一个进程

  kill 进程号(就是ps -A中的之一列的数字)

  或者 killall 进程名

  强制中止一个进程(在上面进程中止不成功的时候使用)

  kill -9 进程号

  或者 killall -9 进程名

  图形方式中止一个程序

  xkill 出现骷髅标志的鼠标,点击需要中止的程序即可

  查看进程打开的文件

  lsof -p 进程的pid

  显示开启文件abc.txt的进程

  lsof abc.txt

  显示22端口现在运行什么程序

  lsof -i :22

  显示nsd进程现在打开的文件

  lsof -c nsd

  在後台运行程序,退出登录後,并不结束程序

  nohup 程序 &

  #查看中间运行情况 tail nohup

  在后台运行交互式程序,退出登录后,并不结束程序

  sudo apt-get install screen

  screen vim a.txt

  #直接退出后使用

  screen -ls # 2208pxs-0.ubuntu (Detached)

  screen -r 1656 #恢复

  #热键,同时按下Ctrl和a键结束后,再按下功能键

  C-a ? #显示所有键绑定信息

  C-a w #显示所有窗口列表

  C-a C-a #切换到之前显示的窗口

  C-a c #创建一个新的运行shell的窗口并切换到该窗口

  C-a n #切换到下一个窗口

  C-a p #切换到前一个窗口(与C-a n相对)

  C-a 0..9 #切换到窗口0..9

  C-a a #发送 C-a到当前窗口

  C-a d #暂时断开screen会话

  C-a k #杀掉当前窗口

  在后台运行交互式程序,退出登录后,并不结束程序

  tmux 进入后再运行其它命令

  tmux attach #恢复

  #热键,同时按下Ctrl和b键结束后,再按下功能键

  C-b c #创建一个新的运行shell的窗口并切换到该窗口

  C-b n #切换到下一个窗口

  C-b p #切换到前一个窗口(与C-a n相对)

  C-b 0..9 #切换到窗口0..9

  C-b d #暂时断开会话

  C-b & #杀掉当前窗口

  详细显示程序的运行信息

  strace -f -F -o outfile

  增加系统更大打开文件个数

  #ulimit -SHn

  sudo vim /etc/security/limits.conf

  文件尾追加

  * hard nofile 4096

  * soft nofile 4096

  sudo vim /etc/pam.d/su

  将 pam_limits.so 这一行注释去掉

  重起系统

  清除僵尸进程

  ps -eal | awk ‘{ if ($2 == “Z”) {print $4}}’ | xargs sudo kill -9

  将大于120M内存的php-cgi都杀掉

  ps -eo pid,fname,rss|grep php-cgi|grep -v grep|awk ‘{if($3>=120230) print $1}’ | xargs sudo kill -9

  Linux系统中如何限制用户进程CPU占用率

  renice +10 `ps aux | awk ‘{ if ($3 > 0.8 && id -u $1 > 500) print $2}’`

在Linux系统上使用C语言编程 – Hello World

C语言和 Linux 系统密切相关,因此在Linux系统上用C编程是一件非常自然的事。大部分的Linux kernel是用C写的,很多用户程序也是用C写的,比如GTK(Gnome和XFCE使用的图形库)。很多嵌入式系统和主裂蚂机系统也是用C写的。因此,学习C将使我们具备解决Linux系统问题的能力。

C语言有40多年的 历史 ,由Brian Kernighan, Dennis Ritchie 和 Ken Thompson 在激薯贝尔实验室创建。最初的操作系统Unix是用汇编语言编写的,因此有很多不便,当将Unix移植到PDP-11主机时,C语言被作为重新改写Unix系统的程序语言。1978年,Kernighan 和 Ritchie 编写了 “The C Programming Language”,推荐您阅读它。

C语言的编译过程如下:

在Linux上检查编译器的肆铅埋安装:

gcc -v

ld -v

之一个C语言程序:0001.hello.world.c

#include

int main()

{

printf(“Hello, world! “);

return 0;

}

编译:

gcc -o ./exes/0001.hello.world 0001.hello.world.c

运行

./exes/0001.hello.world

linux 安装c 11的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux 安装c 11,linux中源代码包安装的基本步骤是什么?,Linux安装基本命令,在Linux系统上使用C语言编程 – Hello World的信息别忘了在本站进行查找喔。


数据运维技术 » linux中源代码包安装的基本步骤是什么? (linux 安装c 11)