一
VMware
桥接网络配置
我的VMware
版本是6.0.2
,host
是windowsXP,Guest
是Redhat9,
桥接网络设置是几种网络方式中最简单的一种。
host
网络是公司的局域网,自动获得IP
地址,具体设置如下:
1.
安装好 VMware
后在网络连接中可以看到三个网卡:
如果使用桥接模式的话,后两个虚拟网卡禁用还是启用对联网没什么影响,我把它们都禁用了
1.
设置本地连接为自动获得IP
地址,并勾选”VMware
Bridge Protocol”
命令ipconfig
查看一下host
的IP:
3.
虚拟机
--
》设置
--
》选择
Ethernet,
网络连接方式选择
“
桥接
”
,如下图:
4
启动虚拟机,进入
RedHat9
,
打开网络配置:
点击“确定”后,查看一下有没有分配到
IP
地址:
看到虚拟机已经分配到
IP
:
10.25.73.117
,重启后进入,虚拟机就可以上网了。
好了,桥接网络就这么简单。
由于最近在学习《
UNIX
环境高级编程(第
2
版)》,想在
RedHat9
下做一下里面的实验,于是就在上面的虚拟机
RedHat9
下编译
apue.2e
工程源代码,具体步骤如下文。
二
RedHat9
下
APUE
源代码编译
1
.
APUE2
源代码下载:
http://www.apuebook.com/src.tar.gz
2.
我保存到了
/home/workspace
下
.
解压缩
:tar -xzvf src.tar.gz
3. cd apue.2e
进入
apue.2e
目录
,
查看
README,
告诉我们
linux
系统只要修改
Make.defines.linux
再
make
4. vi Make.defines.linux
修改
WKDIR=/home/workspace/apue.2e
就是说工作目录为
WKDIR=/home/workspace/apue.2e
5.
修改
/home/workspace/apue.2e/std/linux.mk
把全部的
nawk
改为
awk.
因为
linux
默认没有
nawk
6. make
7.
编译后把生成的
/home/workspace/apue.2e/include/apue.h
拷贝到
/usr/include
下,
之后就可以按照书中的例子来做了。
三
错误处理
如果你编译程序过程中出现如下错误:
/tmp/cc6cU7YY.o(.text+0x1f): In function `main':
: undefined reference to `err_quit'
/tmp/cc6cU7YY.o(.text+0x53): In function `main':
: undefined reference to `err_sys'
collect2: ld returned 1 exit status
解决办法:
err_quit跟err_sys是作者自己定义的错误处理函数,需要单独定义头文件
在/usr/include 下新建一个名为myerr.h的文件
拷贝下边的内容到myerr.h(其实此头文件在原书的附录B中)
#include "apue.h"
#include <errno.h> /* for definition of errno */
#include <stdarg.h> /* ISO C variable aruments */
static void err_doit(int, int, const char *, va_list);
/*
* Nonfatal error related to a system call.
* Print a message and return.
*/
void
err_ret(const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
err_doit(1, errno, fmt, ap);
va_end(ap);
}
/*
* Fatal error related to a system call.
* Print a message and terminate.
*/
void
err_sys(const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
err_doit(1, errno, fmt, ap);
va_end(ap);
exit(1);
}
/*
* Fatal error unrelated to a system call.
* Error code passed as explict parameter.
* Print a message and terminate.
*/
void
err_exit(int error, const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
err_doit(1, error, fmt, ap);
va_end(ap);
exit(1);
}
/*
* Fatal error related to a system call.
* Print a message, dump core, and terminate.
*/
void
err_dump(const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
err_doit(1, errno, fmt, ap);
va_end(ap);
abort(); /* dump core and terminate */
exit(1); /* shouldn't get here */
}
/*
* Nonfatal error unrelated to a system call.
* Print a message and return.
*/
void
err_msg(const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
err_doit(0, 0, fmt, ap);
va_end(ap);
}
/*
* Fatal error unrelated to a system call.
* Print a message and terminate.
*/
void
err_quit(const char *fmt, ...)
{
va_list ap;
va_start(ap, fmt);
err_doit(0, 0, fmt, ap);
va_end(ap);
exit(1);
}
/*
* Print a message and return to caller.
* Caller specifies "errnoflag".
*/
static void
err_doit(int errnoflag, int error, const char *fmt, va_list ap)
{
char buf[MAXLINE];
vsnprintf(buf, MAXLINE, fmt, ap);
if (errnoflag)
snprintf(buf+strlen(buf), MAXLINE-strlen(buf), ": %s",
strerror(error));
strcat(buf, " ");
fflush(stdout); /* in case stdout and stderr are the same */
fputs(buf, stderr);
fflush(NULL); /* flushes all stdio output streams */
}
然后编辑同一目录下的apue
.h
文件(这个文件是通过前一个步骤添加的)。在最后一行#endif /* _APUE_H */前面添加一个声明:
#include "myerr
.h
"
然后转至源代码所在目录,编译:
gcc -o myls myls.c
这次获得成功,运行:
./myls /usr
出现如下结果
:
src
..
.
lib
share
sbin
include
local
X11R6
bin
games
成功列出所有文件夹,success!
希望对和我一样的初学者有一定的帮助。
- 大小: 20.6 KB
- 大小: 29.3 KB
- 大小: 26.4 KB
- 大小: 14 KB
- 大小: 20.9 KB
- 大小: 22.7 KB
- 大小: 22.2 KB
- 大小: 22.6 KB
- 大小: 19.6 KB
- 大小: 20.9 KB
分享到:
相关推荐
Redhat Linux 9.0 在 VMware 下桥接不能上网的解决方法 本文档将详细介绍如何解决 Redhat Linux 9.0 在 VMware 下桥接模式下无法上网的问题。通过本解决方法,您将能够成功地解决这个问题,并且掌握一些基本的 ...
在实际操作中,用户可能需要根据网络环境和需求调整`.repo`文件的配置,例如切换到更近的镜像源或选择特定版本的仓库。使用`yum update`或`yum install`命令时,`yum`会读取`yum.repos.d`目录下的所有`.repo`文件,...
在安装 VMware9.0 软件之前,您需要准备三个镜像文件:Linux-RedHat-9.0 (disk-1)、Linux-RedHat-9.0 (disk-2) 和 Linux-RedHat-9.0 (disk-3)。这些镜像文件将用于载入 Redhat9.0 操作系统。 安装 VMware9.0 软件 ...
VMware+RedHat 网络配置VMware+RedHat 网络配置VMware+RedHat 网络配置VMware+RedHat 网络配置VMware+RedHat 网络配置
《GaussDB 100在RedHat系统上的安装与配置详解》 GaussDB 100是一款高性能的企业级分布式数据库系统,尤其适合大规模数据处理和分析场景。本篇文章将详细阐述如何在Red Hat Enterprise Linux 64位环境下安装GaussDB...
实验步骤中,学生将按照指导书中的步骤逐步完成实验,包括在 VMware 虚拟机中安装 Redhat Linux 7.3 操作系统、安装 VMware Tools 和显卡驱动、配置网络和实现 Telnet 远程访问等。通过本实验,学生将获得 VMware 和...
_VMWare虚拟机+Redhat Linux 5安装vmware-tools_ VMWare虚拟机是一种popular的虚拟机软件,可以在物理机器上运行多个虚拟机,每个虚拟机可以运行不同的操作系统。Redhat Linux 5是Redhat公司推出的一个Linux操作...
在本教程中,我们将详细介绍如何在VMware虚拟机中安装Red Hat 9操作系统,这是一个经典的Linux发行版。首先,确保你已经准备了以下必要的软件: 1. VMware:可以从官方提供的下载地址获取,例如链接指向的Thunder...
### 安装VMware 9.0 软件并载入Redhat 9.0 镜像 #### 前言 随着虚拟化技术的发展,越来越多的企业和个人选择使用虚拟机来模拟不同的操作系统环境,这不仅可以提高工作效率,还能节省硬件资源。本教程将详细介绍...
VMware虚拟机提供了三种网络连接方式:桥接、NAT和host-only。桥接方式将虚拟机连接到物理网络中,使虚拟机可以访问外部互联网。NAT方式将虚拟机连接到虚拟交换机上,使虚拟机可以访问外部互联网,而不需要独立的IP...
1. **启动安装过程**:在VMware界面中,确保虚拟机处于窗口模式,按下Ctrl+Alt释放鼠标。点击菜单栏的“虚拟机” -> “安装VMware Tools”。 2. **挂载光盘**:RedHat 9.0通常会自动挂载虚拟光驱,如果没有,可以...
总的来说,这个过程涉及到了Linux系统的源码编译、依赖管理、包安装等多个关键知识点。通过手动安装GCC、gettext和Yum,不仅了解了基本的软件安装流程,也对Linux系统内部的工作原理有了更深入的认识。这对于进一步...
### 在Redhat 9下建立ARM-Linux交叉编译环境 #### 一、背景与目的 随着嵌入式系统的快速发展,ARM架构因其低功耗、高性能等特性成为了嵌入式领域的主流选择之一。为了能够在非目标平台(如x86架构的PC)上为ARM...
《GaussDB_100在RedHat系统上的安装与配置详解》 GaussDB_100_1.0.1-DATABASE-REDHAT-64bit.7z是一个专为Red Hat Enterprise Linux 64位系统设计的GaussDB数据库安装包。GaussDB是由华为开发的一款分布式并行数据库...
此版本为hedhat7.X以上版本,解压文件夹,里面包含了GaussDB_100_1.0.1-DATABASE-REDHAT-64bit.tar.gz,华为高斯数据库认证HCIA-GaussDB_V1.0实验手册.pdf,华为GaussDB 客户端工具—Data Studio 安装教程,照着文档...