一、Linux应用程序基础 1、应用程序与系统命令的关系 文件位置 主要用途

一、Linux应用程序基础
1、应用程序与系统命令的关系
文件位置
主要用途
使用环境
运行格式
2、Linxu下软件包的类型
rpm
deb
源代码包
自带安装程序的软件包
免安装的软件包

二、使用RPM包管理工具
1、RPM包的命令格式
软件名称-版本号.此版本号.硬件平台.rpm

rpm包与源代码包的区别:
a、rpm包的功能没有源代码的强大
b、rpm包安装管理要比源代码简单方便
c、rpm包版本通常比源代码包的低

2、RPM包的管理工具就是---rpm命令
rpm命令的功能:
a、查询、验证rpm包信息
b、安装、升级、卸载rpm包
c、维护rpm数据库信息

1)查询
  a、查询已经安装的rpm包
    格式: rpm -q[子选项] rpm包名
    子选项:
   a:所有
   i:详细信息
   l:列表
   c:配置文件
       d:文档信息
   f:查看指定的文件或目录来源于哪个rpm包 格式:rpm -qf  文件或目录

  b、查询未安装的rpm包
 格式: rpm -qp[子选项] rpm包完整名称
 子选项:
   i:详细信息
   l:列表
   c:配置文件
       d:文档信息
 查看是否安装有lynx包
    #rpm -q lynx   或 #rpm -qa lynx  或 #rpm -qa |grep lynx

 查看由httpd所产生的配置文件?
    第一步确认该rpm是否安装
      #rpm -q httpd
    已安装:
      #rpm -qc httpd
    未安装:
      1)将镜像放入到虚拟机的光驱中
      2)进入#cd  /media/CentOS_6.5_Final/Packages/
      3) 查看#rpm -qpc httpd-2.2.15-29.el6.centos.x86_64.rpm

     查看由httpd所产生的文档文件?
    第一步确认该rpm是否安装
      #rpm -q httpd
    已安装:
      #rpm -qd httpd
    未安装:
      1)将镜像放入到虚拟机的光驱中
      2)进入#cd  /media/CentOS_6.5_Final/Packages/
      3) 查看#rpm -qpd httpd-2.2.15-29.el6.centos.x86_64.rpm

     查看命令useradd,由那个rpm产生?
    第一步:查看该命令所对应的文件
    # which useradd
     /usr/sbin/useradd
    第二部:查看该文件由那个rpm包产生
    # rpm -qf /usr/sbin/useradd
     shadow-utils-4.1.4.2-13.el6.x86_64

[[email protected] ~]# configure document from
[[email protected] ~]# 查看rpm包vsftpd会产生哪些文件或目录?^C
[[email protected] ~]# 查看rpm包elinks的详细信息?^C
[[email protected] ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/vg_centos6node1-lv_root 38776280 5818208 30988308 16% /
tmpfs 506176 224 505952 1% /dev/shm
/dev/sda1 495844 34897 435347 8% /boot
/dev/sr0 4363088 4363088 0 100% /media/CentOS_6.5_Final
[[email protected] ~]# cd /media/CentOS_6.5_Final/
[[email protected] CentOS_6.5_Final]# cd Packages/
[[email protected] Packages]# rpm -qpl vsftpd-2.2.2-11.el6_4.1.x86_64.rpm ^C
[[email protected] Packages]# rpm -qpi elinks-0.12-0.21.pre5.el6_3.x86_64.rpm ^C

2)安装、升级、卸载rpm包
   安装:
rpm -ivh  rpm包完整名称
    rpm -U  rpm包完整的名称(如已经安装则进行升级,未安装则就安装)
   升级:
 rpm -U  rpm包完整的名称
     rpm -F  rpm包完整的名称
   卸载:
 rpm -e rpm包名
   选项:
 --force:强制
     --nodeps:忽略依赖关系
 -h:以‘#’显示安装的进度
 -v:显示详细信息

安装rpm包vsftpd?

[[email protected] ~]# rpm -q vsftpd
package vsftpd is not installed
[[email protected] ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/vg_centos6node1-lv_root 38776280 5818236 30988280 16% /
tmpfs 506176 224 505952 1% /dev/shm
/dev/sda1 495844 34897 435347 8% /boot
/dev/sr0 4363088 4363088 0 100% /media/CentOS_6.5_Final
[[email protected] ~]# cd /media/CentOS_6.5_Final/Packages/
[[email protected] Packages]# rpm -ivh vsftpd-2.2.2-11.el6_4.1.x86_64.rpm
warning: vsftpd-2.2.2-11.el6_4.1.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing... ########################################### [100%]
1:vsftpd ########################################### [100%]
[[email protected] Packages]# rpm -q vsftpd
vsftpd-2.2.2-11.el6_4.1.x86_64
[[email protected] Packages]#

卸载rpm包lynx?

[roo[email protected] ~]# rpm -q lynx
lynx-2.8.6-27.el6.x86_64
[[email protected] ~]# rpm -e lynx
error: Failed dependencies:
text-www-browser is needed by (installed) docbook-utils-0.6.14-25.el6.noarch
[[email protected] ~]# rpm -e lynx --nodeps //--nodeps 卸载忽略依赖关系
[[email protected] ~]# rpm -q lynx
package lynx is not installed
[[email protected] ~]#

3)维护rpm数据库信息
   重建RPM数据库
rpm --rebuilddb  或 rpm --initdb
   导入验证公钥
    rpm --import  公钥存放的文件

[[email protected] ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/vg_centos6node1-lv_root 38776280 5813696 30992820 16% /
tmpfs 506176 224 505952 1% /dev/shm
/dev/sda1 495844 34897 435347 8% /boot
/dev/sr0 4363088 4363088 0 100% /media/CentOS_6.5_Final
[[email protected] ~]# cd /media/CentOS_6.5_Final/
[[email protected] CentOS_6.5_Final]# ls
CentOS_BuildTag images repodata RPM-GPG-KEY-CentOS-Testing-6
EFI isolinux RPM-GPG-KEY-CentOS-6 TRANS.TBL
EULA Packages RPM-GPG-KEY-CentOS-Debug-6
GPL RELEASE-NOTES-en-US.html RPM-GPG-KEY-CentOS-Security-6
[[email protected] CentOS_6.5_Final]# rpm --import K

自动解决rpm包的依赖关系--yum:
1、将centos 6.5的光盘放入到虚拟机的光驱中,自动挂载上
2、确认自动挂载成功
[[email protected] ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/VolGroup-lv_root 18069936 4942316 12209708 29% /
tmpfs 1019324 224 1019100 1% /dev/shm
/dev/sda1 495844 39955 430289 9% /boot
/dev/sr0 3762278 3762278 0 100% /media/CentOS_6.5_Final (有此行就ok)
3、修改yum的客户端配置文件
#rm -rf /etc/yum.repos.d/*
#vim /etc/yum.repos.d/rhel-source.repo
[rhel-source]
name=Red Hat Enterprise Linux
baseurl=‘file:///media/CentOS_6.5_Final‘
enabled=1
gpgcheck=0
4、安装rpm软件包
#yum -y install 软件包名称
5、卸载rpm软件包
#yum -y remove 软件包名称

三、从源代码编译安装程序
前提:系统必须安装有gcc、及make环境
[[email protected] ~]# gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)
Copyright ? 2010 Free Software Foundation, Inc.
本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
包括没有适销性和某一专用目的下的适用性担保。
[[email protected] ~]# make --version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for x86_64-redhat-linux-gnu
1、解包
用途:解压并释放源代码包到指定目录中

2、配置
用途:设置安装目录、安装模块等选项

3、make编译
用途:生成可执行的二进制文件

4、安装make isntall
用途:复制二进制文件到系统,配置应用环境

通过源代码方式安装 httpd-2.2.17.tar.gz 软件确保web服务正常运行。
[[email protected] ~]# ls
anaconda-ks.cfg firefox-3.0.10.tar.gz install.log.syslog vmware-tools-distrib 视频 下载
a.txt httpd-2.2.17.tar.gz pass 公共的 图片 音乐
b.txt install.log RealPlayer11GOLD.rpm 模板 文档 桌面
[[email protected] ~]# tar zxf httpd-2.2.17.tar.gz -C /usr/src/^C
[[email protected] ~]# ls /usr/src/
debug kernels
[[email protected] ~]# tar zxf httpd-2.2.17.tar.gz -C /usr/src/ //解包
[[email protected] ~]# ls /usr/src/
debug httpd-2.2.17 kernels
[[email protected] ~]# cd /usr/src/httpd-2.2.17/ //进入到httpd释放的目录中
[[email protected] httpd-2.2.17]# ./configure --prefix=/usr/local/apache; make ; make install //配置、编译、安装

启动服务
[[email protected] httpd-2.2.17]# /usr/local/apache/bin/apachectl start
httpd: apr_sockaddr_info_get() failed for CentOS6-node1
httpd: Could not reliably determine the server‘s fully qualified domain name, using 127.0.0.1 for ServerName
[[email protected] httpd-2.2.17]# netstat -anpt |grep :80 //查看是否启动成功
tcp 0 0 :::80 :::* LISTEN 45291/httpd

验证:
在xshell中输入firefox打开浏览器;然后再地址栏中输入127.0.0.1;可以看看It works,则说明安装ok。

原文地址:http://blog.51cto.com/13929859/2162167

时间: 2024-10-05 19:43:31

一、Linux应用程序基础 1、应用程序与系统命令的关系 文件位置 主要用途的相关文章

【转】Android开发之旅:应用程序基础及组件

为了后面的例子做准备,本篇及接下来几篇将介绍Android应用程序的原理及术语,这些也是作为一个Android的开发人员必须要了解,且深刻理解的东西.本篇的主题如下: 1.应用程序基础 2.应用程序组件 2.1.活动(Activities) 2.2.服务(Services) 2.3.广播接收者(Broadcast receivers) 2.4.内容提供者(Content providers) 因为这些内容比较理论,且没有用例子来说明,看上去会比较枯燥,我就把这几篇写得算比较短,方便大家吸收. 1

Android Application Fundamentals——Android应用程序基础知识

Application Fundamentals--应用程序基础知识 Key classes--关键类 Activity Service BroadcastReceiver ContentProvider Intent In this document--在这篇文章中 Application Components--应用程序组件 Activating components: intents--激活组件:意图 Shutting down components--关闭组件 The manifest

使用VS GDB扩充套件在VS上远端侦错Linux上的C/C++程序

在 Linux 上开发 C/C++ 程序,或许你会直接(本机或远端)登入 Linux,打开编辑器写完代码后,就用 gcc/g++ 来编译,遇到要除错(debug)的时候,则会选择使用 gdb 来进行除错.现在,如果你刚好也很喜欢 Visual Studio,你可以不必改变习惯,用 Visual Studio写程式.然后远端送到 Linux 上编译.甚至还能接上 gdb 来除错.这个对于开发像是嵌入式系统.或是 IoT 装置的程序等等就可以多多利用 Visual Studio 强大的 IDE 能力

linux中VI编写C程序。。。

在linux中编写C程序时不像编写shell那样开头要#!/bin/bash,但是在C程序中要指定头文件(头文件是只输入输出,宏等,而且要首先声明,也是必须要开始就声明的) 写好C代码后要给C文件赋予可执行权限(chmod  755  xx.c) 然后用gcc编译(方法和shell类似,shell是bash xx.sh   ,    而C是gcc xx.c ,C的程序文件名都是以 .c 结尾 , shell是都是以 .sh 结尾) 以下上实例: [[email protected] ~]# vi

Linux学习笔记:rpm程序包管理

以CentOS为例,rpm程序包管理器的相关内容如下: CentOS的程序包管理器:    程序包的命名规则:        源代码包:            software_name-VERSION.tar.gz            VERSION:major.minor.release                major:主版本号,通常代表重大功能改进的版本分支:                minor:次版本号,通常代表在某个版本的分支中的某个功能发生变化:          

Linux系统下运行c++程序

引言 为什么要在Linux下写程序? 首先要问一下自己,为什么要写这个程序. 如果我们写一个运行在windows平台的应用程序,那么用Linux写肯定是傻瓜或者强迫症,因为在windows平台调试windows程序可以更容易发现并解决问题,反过来也一样,在Linux平台调试出来的程序可以更好的适应Linux平台的环境,如果在windows下写出一个程序,结果到了Linux的运行环境出了暗病,那真是欲哭无泪,无从查起. 而很多时候,我们的程序都不是运行在windows平台的,例如嵌入式设备的内存容

jstack来分析。当linux出现cpu被java程序消耗过高时

我们使用jdk自带的jstack来分析.当linux出现cpu被java程序消耗过高时,以下过程说不定可以帮上你的忙: 1.top查找出哪个进程消耗的cpu高 21125 co_ad2    18   0 1817m 776m 9712 S  3.3  4.9  12:03.24 java                                                                                           5284 co_ad    

在linux下如何编译C++程序

一.GCC(GNU Compiler Collection)是linux下最主要的编译工具,GCC不仅功能非常强大,结构也异常灵活.它可以通过不同的前端模块来支持各种语言,如Java.Fortran.Pascal.Modula-3和Ada g++是GCC中的一个工具,专门来编译C++语言的. GCC的参数有:( 也是分步实现) -E  让GCC在预处理结束后停止编译  g++ -E hello.cpp  -o  hello.i -c  将hello.i编译成目标代码 g++  -c  hello

在Linux中定时执行一个程序的方法之at命令

/*********************************************************************  * Author  : Samson  * Date    : 04/29/2014  * Test platform:  *              3.11.0-12-generic #19-Ubuntu  *              GNU bash, version 4.2.45  * ****************************