安装GCC(sudo yum -y install gcc 如果yum没有 sudo apt-get install yum)

本文记录了一次GCC编译器在Linux环境下从安装遇到的问题到最终成功配置的过程。详细介绍了通过手动安装GCC及其依赖包解决configure阶段找不到C编译器的问题,并分享了具体的rpm包清单。

 

题:安装GCC遇到问题        作者:zoumocool  时间:2010-06-10 12:40

安装GCC组件的时候出错 如下提示:

configure: error: no acceptable C compiler found in $PATH



安装其他软件时也有这错 貌似没装GCC组件 但装GCC也这样

谁能帮我解决下

5555555555555555555555
 
标题:        作者:yqhenry  时间:2010-06-10 15:39
应该是在你的$PATH中没有找到,建议把它添加到$PATH中。 
标题:        作者:fengjihu  时间:2010-06-10 18:10
用yum -y install 安装 
标题:        作者:redking  时间:2010-06-11 08:27
执行./configure 然后就出现以下提示 :

checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking whether make sets $(MAKE)... yes
checking for gcc...no
checking for cc... no
checking for cc... no
checking for cl... no
configure: error: no acceptable C compiler found in $PATH


执行make后,
提示:No targets specified and no makefile found.Stop.

执行make install后
提示:No rule to make target 'install'.Stop.

经过查阅资料,发现是因为没有安装GCC组件的原因;

我试着通过System settings中的Add/RemoveApplications来添加/删除组件,选中开发工具中相应的项,点击update,提示插入disk1,我插入光盘,但不起作用,不知是不是因为在虚拟机中的原因...没办法了,手动安装,我放入red hat 工具盘,拷出了gcc*.rpm,然后共享至虚拟机中的linux 中,安装,提示缺少其他一些组件,最后经过来回搜索与拷贝,GCC安装成功,所需文件有:

libf2c-3.3.2-1.i386.rpm
libstdc++-devel-3.3.2-1.i386.rpm
glibc-kernheaders-2.4-8.36.i386.rpm
glibc-headers-2.3.2-101.i386.rpm
glibc-devel-2.3.2-101.i386.rpm
gcc-objc-3.3.2-1.i386.rpm
binutils-2.14.90.0.6-3.i386.rpm
gcc-3.3.2-1.i386.rpm
gcc-c++-3.3.2-1.i386.rpm
automake14-1.4p6-7.noarch.rpm

安装比较简单:
#rpm -ivh rpm文件


OK,可以正常使用./configure 和make命令了.
 
标题:        作者:zoumocool  时间:2010-06-11
<think> 我们想要将使用yum安装的软件包及其依赖打包成离线安装包,以便在没有互联网连接的其他机器上安装。主要步骤包括: 1. 在一台有互联网连接的机器(相同操作系统版本)上安装这些软件包,并下载所有依赖。 2. 将下载的rpm包保存到本地目录。 3. 将这个目录打包成离线包(如tar.gz)。 4. 将离线包复制到目标机器,并创建本地yum仓库。 5. 在目标机器上使用yum命令从本地仓库安装。 具体步骤如下: ### 步骤1:在有网络的机器上下载rpm包 使用`yum install`命令的`--downloadonly`和`--downloaddir`选项来下载软件包及其依赖。 ```bash # 创建目录来存储rpm包 mkdir -p /tmp/offline_packages # 使用yum下载指定软件包及其依赖(不安装yum install --downloadonly --downloaddir=/tmp/offline_packages \ readline-devel zlib-devel openssl-devel libaio-devel gcc gcc-c++ cmake ncurses-devel ``` 注意:如果提示`--downloadonly`需要插件,则先安装`yum-plugin-downloadonly`: ```bash yum install -y yum-plugin-downloadonly ``` ### 步骤2:将下载的rpm包打包 ```bash tar -zcvf offline_packages.tar.gz -C /tmp/offline_packages . ``` ### 步骤3:将打包文件复制到目标机器 使用U盘、scp或其他方式将`offline_packages.tar.gz`复制到目标机器。 ### 步骤4:在目标机器上解压并创建本地仓库 ```bash # 创建目录 mkdir -p /opt/offline_packages # 解压 tar -zxvf offline_packages.tar.gz -C /opt/offline_packages # 安装createrepo工具(如果目标机器没有网络,需要提前下载createrepo及其依赖并复制过来) # 这里假设目标机器可以临时联网,如果不能,则需要在打包时也把createrepo及其依赖打包进去。 # 注意:如果目标机器完全离线,我们需要在有网络的机器上同样下载createrepo及其依赖,并复制到目标机器安装。 # 因此,我们最好在第一步也下载createrepo的rpm包。 # 我们在第一步的机器上再下载createrepo及其依赖(如果之前没有下载): mkdir -p /tmp/offline_packages_createrepo yum install --downloadonly --downloaddir=/tmp/offline_packages_createrepo createrepo # 将createrepo目录下的rpm包也复制到/tmp/offline_packages中,然后重新打包,这样离线包中就包含了createrepo。 cp /tmp/offline_packages_createrepo/*.rpm /tmp/offline_packages/ # 重新打包 tar -zcvf offline_packages.tar.gz -C /tmp/offline_packages . # 再次复制到目标机器,并解压到/opt/offline_packages # 在目标机器上,先安装createrepo(注意:需要解决依赖,我们可以手动安装依赖,或者使用rpm命令强制安装,但推荐按顺序安装依赖) # 进入解压目录 cd /opt/offline_packages # 使用rpm安装createrepo及其依赖(注意:依赖关系可能需要手动处理,这里我们使用yum localinstall也可以,但目标机器没有yum仓库,所以使用rpm) # 我们可以使用以下命令安装所有rpm(不处理依赖,因为依赖已经下载): # 但是更好的方式是使用yum安装,因为yum可以处理本地目录的依赖关系。 # 首先,创建本地仓库 createrepo /opt/offline_packages # 如果createrepo还没有安装,那么我们需要先安装它。由于createrepo有依赖,我们可以先手动安装它的依赖,或者使用rpm命令按顺序安装(注意依赖顺序)。但是更简单的方法是,我们提前在目标机器上配置一个指向这个目录的本地yum仓库,然后使用yum安装。 # 配置本地yum仓库 cat > /etc/yum.repos.d/offline.repo <<EOF [offline] name=Offline Repository baseurl=file:///opt/offline_packages enabled=1 gpgcheck=0 EOF # 现在,我们可以使用yum安装createrepo(注意:此时yum仓库已经指向本地目录,但需要更新元数据) yum clean all yum makecache # 安装createrepo yum install -y createrepo --disablerepo=* --enablerepo=offline # 然后,重新生成仓库元数据(因为上一步安装createrepo后,才能正确执行createrepo命令) createrepo --update /opt/offline_packages # 现在,可以安装我们需要的软件包了 yum install -y readline-devel zlib-devel openssl-devel libaio-devel gcc gcc-c++ cmake ncurses-devel --disablerepo=* --enablerepo=offline ``` ### 注意事项 1. 确保打包机器和目标机器的操作系统版本和架构(如CentOS 7 x86_64)一致,否则可能不兼容。 2. 如果目标机器上已经安装了一些依赖包,可能会跳过安装,但不会影响。 3. 如果遇到依赖问题,可以在目标机器上使用`yum`命令时加上`--nogpgcheck`选项。 ### 简化步骤(如果目标机器无法安装createrepo) 如果目标机器无法安装createrepo(例如没有网络且无法通过上述方法安装),我们可以在一台相同环境的机器上创建好仓库(包括repodata目录),然后将整个目录复制到目标机器,并配置本地仓库。 具体步骤: 1. 在打包机器上,下载所有软件包(包括createrepo)到`/tmp/offline_packages`。 2. 在打包机器上安装createrepo(联网安装),然后使用`createrepo`命令生成仓库元数据: ```bash createrepo /tmp/offline_packages ``` 3. 将整个目录打包(包括repodata目录): ```bash tar -zcvf offline_packages.tar.gz -C /tmp/offline_packages . ``` 4. 复制到目标机器,解压到`/opt/offline_packages`。 5. 在目标机器上配置本地仓库(如上述`/etc/yum.repos.d/offline.repo`)。 6. 然后直接安装软件包(无需再安装createrepo): ```bash yum install -y readline-devel zlib-devel openssl-devel libaio-devel gcc gcc-c++ cmake ncurses-devel --disablerepo=* --enablerepo=offline ``` 这样,目标机器无需安装createrepo,因为仓库元数据已经在打包机器上生成好了。 ### 验证 在目标机器上执行安装命令后,可以通过`rpm -qa`查看是否安装成功。 ### 总结 以上方法将yum安装的软件及其依赖打包成离线仓库,适用于内网环境的批量部署。 §§相关问题§§ 1. 如何在没有yum的情况下安装rpm包并解决依赖? 2. 如何为不同的Linux发行版(如Ubuntu)制作离线安装包? 3. 如何更新离线仓库中的软件包? </think>要将通过 `yum install` 安装的软件打包成离线安装包并部署到其他机器,需经过以下步骤: --- ### 一、在联网机器创建离线包 #### 1. 下载所有依赖的 RPM 包 ```bash # 创建存放目录 mkdir -p /tmp/offline_packages # 下载软件及所有依赖(不安装yum install --downloadonly --downloaddir=/tmp/offline_packages \ readline-devel zlib-devel openssl-devel libaio-devel \ gcc gcc-c++ cmake ncurses-devel ``` #### 2. 生成仓库元数据 ```bash # 安装createrepo工具 yum install -y createrepo # 生成仓库元数据 createrepo /tmp/offline_packages ``` 此时目录结构如下: ``` /tmp/offline_packages ├── *.rpm # 所有RPM包 └── repodata # 元数据目录 ├── repomd.xml └── ...其他元数据文件 ``` #### 3. 打包离线仓库 ```bash tar -czvf offline_repo.tar.gz -C /tmp/offline_packages . ``` --- ### 二、在离线机器安装 #### 1. 传输并解压离线包 ```bash # 复制离线包到目标机器 scp offline_repo.tar.gz user@offline-machine:/tmp # 在目标机器解压 mkdir -p /opt/local_repo tar -xzvf /tmp/offline_repo.tar.gz -C /opt/local_repo ``` #### 2. 配置本地YUM仓库 ```bash cat > /etc/yum.repos.d/local.repo <<EOF [local-repo] name=Local Offline Repository baseurl=file:///opt/local_repo enabled=1 gpgcheck=0 EOF ``` #### 3. 清理缓存并安装 ```bash # 清理旧缓存 yum clean all # 安装软件包 yum install -y --disablerepo=* --enablerepo=local-repo \ readline-devel zlib-devel openssl-devel libaio-devel \ gcc gcc-c++ cmake ncurses-devel ``` --- ### 关键注意事项 1. **系统一致性** 打包机器和目标机器必须使用**相同操作系统版本和架构**(如 CentOS 7 x86_64),否则会出现兼容性问题[^1]。 2. **依赖完整性** 使用 `yum deplist <package>` 验证依赖: ```bash yum deplist gcc-c++ | grep provider ``` 3. **安装验证** 检查是否安装成功: ```bash rpm -qa | grep -E 'gcc-c++|cmake|openssl-devel' ``` --- ### 常见问题解决 - **报错:`No package available`** 检查 `local.repo` 中路径是否正确,确保 `file://` 后跟**绝对路径**。 - **报错:`Error: Unable to find a match`** 确认打包机器已包含所有依赖,可通过以下命令补全: ```bash yum reinstall --downloadonly --downloaddir=/tmp/offline_packages \ $(ls /tmp/offline_packages/*.rpm | xargs rpm -qp --requires | awk '{print $1}' | sort -u) ``` > **效率提示**:对于多台机器部署,可将 `/opt/local_repo` 设为NFS共享目录,避免重复复制离线包[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值