1、下载oracle软件
http://www.oracle.com/technology/software/tech/oci/instantclient/index.html
oracle-instantclient-basic-10.2.0.4-1.i386.rpm
oracle-instantclient-sqlplus-10.2.0.4-1.i386.rpm
oracle-instantclient-devel-10.2.0.4-1.i386.rpm
2、安装rpm包
rpm -ivh oracle-instantclient-basic-10.2.0.4-1.i386.rpm
rpm -ivh oracle-instantclient-sqlplus-10.2.0.4-1.i386.rpm
rpm -ivh oracle-instantclient-devel-10.2.0.4-1.i386.rpm
3、配置文件
#vi /etc/ld.so.conf
在最后加入/usr/lib/oracle/10.2.0.4/client/lib
重启ldconfig
ldconfig
vi /root/.bash_profile
增加如下两行:
export ORACLE_HOME=/opt/instantclient_10_2
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME
运行source /root/.bash_profile使改动生效
#vi /etc/profile最后加入
export ORACLE_HOME=/usr/lib/oracle/10.2.0.4/client
export LD_LIBRARY_PATH=:$ORACLE_HOME/lib:/usr/local/lib:$LD_LIBRARY_PATH:.
export TNS_ADMIN=$ORACLE_HOME
export PATH=$PATH:$ORACLE_HOME/bin:.
Oracle安装完成
此时就可以用sqlplus访问远端Oracle数据库了  ......
1、下载oracle软件
http://www.oracle.com/technology/software/tech/oci/instantclient/index.html
oracle-instantclient-basic-10.2.0.4-1.i386.rpm
oracle-instantclient-sqlplus-10.2.0.4-1.i386.rpm
oracle-instantclient-devel-10.2.0.4-1.i386.rpm
2、安装rpm包
rpm -ivh oracle-instantclient-basic-10.2.0.4-1.i386.rpm
rpm -ivh oracle-instantclient-sqlplus-10.2.0.4-1.i386.rpm
rpm -ivh oracle-instantclient-devel-10.2.0.4-1.i386.rpm
3、配置文件
#vi /etc/ld.so.conf
在最后加入/usr/lib/oracle/10.2.0.4/client/lib
重启ldconfig
ldconfig
vi /root/.bash_profile
增加如下两行:
export ORACLE_HOME=/opt/instantclient_10_2
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME
运行source /root/.bash_profile使改动生效
#vi /etc/profile最后加入
export ORACLE_HOME=/usr/lib/oracle/10.2.0.4/client
export LD_LIBRARY_PATH=:$ORACLE_HOME/lib:/usr/local/lib:$LD_LIBRARY_PATH:.
export TNS_ADMIN=$ORACLE_HOME
export PATH=$PATH:$ORACLE_HOME/bin:.
Oracle安装完成
此时就可以用sqlplus访问远端Oracle数据库了  ......
1、下载oracle软件
http://www.oracle.com/technology/software/tech/oci/instantclient/index.html
oracle-instantclient-basic-10.2.0.4-1.i386.rpm
oracle-instantclient-sqlplus-10.2.0.4-1.i386.rpm
oracle-instantclient-devel-10.2.0.4-1.i386.rpm
2、安装rpm包
rpm -ivh oracle-instantclient-basic-10.2.0.4-1.i386.rpm
rpm -ivh oracle-instantclient-sqlplus-10.2.0.4-1.i386.rpm
rpm -ivh oracle-instantclient-devel-10.2.0.4-1.i386.rpm
3、配置文件
#vi /etc/ld.so.conf
在最后加入/usr/lib/oracle/10.2.0.4/client/lib
重启ldconfig
ldconfig
vi /root/.bash_profile
增加如下两行:
export ORACLE_HOME=/opt/instantclient_10_2
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME
运行source /root/.bash_profile使改动生效
#vi /etc/profile最后加入
export ORACLE_HOME=/usr/lib/oracle/10.2.0.4/client
export LD_LIBRARY_PATH=:$ORACLE_HOME/lib:/usr/local/lib:$LD_LIBRARY_PATH:.
export TNS_ADMIN=$ORACLE_HOME
export PATH=$PATH:$ORACLE_HOME/bin:.
Oracle安装完成
此时就可以用sqlplus访问远端Oracle数据库了  ......
1.Linux文件系统
Linux
支
持多种文件系统,如ext、ext2、minix、iso9660、msdos、fat、vfat、nfs等。在这些具体文件系统的上层,Linux提供
了虚拟文件系统(VFS)来统一它们的行为,虚拟文件系统为不同的文件系统与内核的通信提供了一致的接口。下图给出了Linux中文件系统的关系:
在Linux平台下对文件编程可以使用两类函数:(1)Linux操作系统
文件API;(2)C语言I/O库函数。 前者依赖于Linux系统调用,后者实际上与操作系统是独立的,因为在任何操作系统下,使用C语言I/O库函数操作文件的方法都是相同的。本章将对这两种方法进行实例讲解。
2.Linux文件API
Linux的文件操作API涉及到创建、打开、读写和关闭文件。
创建
int creat(const char *filename, mode_t mode);
参数mode指定新建文件的存取权限,它同umask一起决定文件的最终权限(mode&umask),其中umask代表了文件在创建时需要去掉的一些存取权限。umask可通过系统调用umask()来改变:
int umask(int newmask);
该调用将umask设置为newmask,然后返回旧的umask,它只影响读、写和执行权限。
打开
int open(const char *pathname, int flags);
int open(c ......
1.Linux文件系统
Linux
支
持多种文件系统,如ext、ext2、minix、iso9660、msdos、fat、vfat、nfs等。在这些具体文件系统的上层,Linux提供
了虚拟文件系统(VFS)来统一它们的行为,虚拟文件系统为不同的文件系统与内核的通信提供了一致的接口。下图给出了Linux中文件系统的关系:
在Linux平台下对文件编程可以使用两类函数:(1)Linux操作系统
文件API;(2)C语言I/O库函数。 前者依赖于Linux系统调用,后者实际上与操作系统是独立的,因为在任何操作系统下,使用C语言I/O库函数操作文件的方法都是相同的。本章将对这两种方法进行实例讲解。
2.Linux文件API
Linux的文件操作API涉及到创建、打开、读写和关闭文件。
创建
int creat(const char *filename, mode_t mode);
参数mode指定新建文件的存取权限,它同umask一起决定文件的最终权限(mode&umask),其中umask代表了文件在创建时需要去掉的一些存取权限。umask可通过系统调用umask()来改变:
int umask(int newmask);
该调用将umask设置为newmask,然后返回旧的umask,它只影响读、写和执行权限。
打开
int open(const char *pathname, int flags);
int open(c ......
一、打开/etc/apt/source.list源列表文件加放源
二、make 工具:
make默认查找的文件名:GNUmakefile makefile Makefile
常用预定义变量
$* 不含扩展名的目标文件
$@ 目标的完整名称。
&nbs ......
<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->
计算机桌面极为复杂,这是人与机器相互对弈的地方。当今,
Linux
桌面遇到了一些麻烦,
bug
成千上万,怎么办呢?
每日仔细观察
Ubuntu
官方
bug
检测网站(
launchpad
)的数据,你不难发现
Linux
桌面的
bug
高峰期已经到来,
bug
总数开始呈现出波动性的下降趋势。这是一个好兆头。有人对
Linux
桌面只会唱赞歌,没有实际意义,用处不大。
12
月
17
日,
Ubuntu
奠基人
Mark
Shuttleworth
表示不再担任
Canonical
公司的
CEO
,摆脱公司的日常事务,专注于
Ubuntu
核心产品的设计和开发,加强
Ubuntu
社区领导,密切与合作伙伴的关系,此举对于
Linux
桌面而言,无疑是一个利好的消息。
当前,
Canonical
公司的发展势头很好,走在正确的航线上。
Shuttleworth
不贪图公司
CEO
的桂冠,重新回到
Ubuntu
社区,回到程序员中间,意味深长。如此决定, ......
客户端的连接的主要步骤有初始化套接字(socket),连接服务端(connect),接收/发送(send/recv),关闭(close)等。
服务端的连接的主要步骤有初始化套接字(socket),邦定(bind),监听(listen),接收/发送(send/recv),关闭(close)等。
由于在Linux中所有设备都可以看作文件,接收/发送(send/recv)也可以用write/read来代替。
下面是服务端service.c的代码:
#include <stdio.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include <netdb.h>
#include <unistd.h>
#include <string.h>
#include <time.h>
#define HOSTNAMELEN 40 //主机名长度
#define BUFLEN 1024
#define PORT 13000 //端口
int main(int argc, char *argv[])
{
int rc;
int s1;
int sockfd;
char buf[BUFLEN+1];
char* pc;
struct sockaddr_in local;
struct hostent* hen;
//主机
hen = gethostbyname("127.0.0.1");
if (!hen)
......
/bin
引导启动所需的命令或普通用户可能用的命令(可能在引导启动后)。
/sbin
类似/bin ,但不给普通用户使用,虽然如果必要且允许时可以使用。
/etc
特定机器的配置文件。
/root
root用户的家目录。
/lib
根文件系统上的程序所需的共享库。
/lib/modules
核心可加载模块,特别是那些恢复损坏系统时引导所需的(例如网络和文件系统驱动)。
/dev
设备文件。
/tmp
临时文件。引导启动后运行的程序应该使用/var/tmp ,而不是/tmp ,因为前者可能在一个拥有更多空间的磁盘上。
/boot
引导加载器(bootstrap
loader)使用的文件,如LILO。核心映象也经常在这里,而不是在根目录。如果有许多核心映象,这个目录可能变得很大,这时可能使用单独的文件系统更好。另一个理由是要确保核心映象必须在IDE硬盘的前1024柱面内。
/mnt
系统管理员临时mount的安装点。程序并不自动支持安装到/mnt 。 /mnt 可以分为子目录(例如/mnt/dosa
可能是使用MSDOS文件系统的软驱,而/mnt/exta 可能是使用ext2文件系统的软驱)。
/proc , /usr , /var , /home
其他文件系统的安装点。
/etc
目录包含很多文件。下面说明其中的一些。其他的你应该知道它们属于哪个程序,并阅读该程序的m ......