0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是Cygwin?

汽车电子技术 来源: C语言Plus 作者: Maye426 2023-02-27 15:31 次阅读

什么是Cygwin?

Cygwin是一个在windows平台上运行的类UNIX模拟环境,它对于学习UNIX/Linux操作环境,或者从UNIX到Windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用GNU工具集在Windows上进行嵌入式系统开发,非常有用。

如何下载

进入Cygwin官网[http://www.cygwin.com/]找到“Installing Cygwin”,选择setup-x86_64.exe下载即可。

poYBAGP8W9KAMO1iAAD-7oOWYAQ240.png

为使文件不显得杂乱,在d盘新建一个文件夹Cygwin64,把setup-x86_64.exe也放入其中,当然你也可以把文件放在任何其他的地方,路径最好不含空格。

选择安装方式

双击运行setup,可以看到setup自身的版本是“2.905(64 bit)”。

poYBAGP8W9uARLU8AACNwieSGTM323.png

点击“下一步”,如图有三种安装方式:

①“Install from Internet”是指从Internet下载并安装,下载的安装包同时也保留在硬盘中并不删除;

②“Download Without Installing”意思是仅下载,供后期再安装;

③“Install Local Directory”是指从本地安装,如果前期选择了②,现在选择③即可。

pYYBAGP8W-iAYDH2AABGWnZIWSo591.png

把②和③两步合并,效果就是①;此处由于是从零开始,选择①。

选择安装路径

点击“下一步”之后进入安装路径选择,选择我们事先在D盘创建好的Cygwin64目录

pYYBAGP8W_aATK8zAABX9hCOzEE134.png

点击下一步,选择本地软件包存放路径,可以把它设置为上面安装目录里面,最好创建一个Downloads目录

poYBAGP8W_-ACmeeAAA7KSIr4JM000.png

选择在线安装网络连接方式

点击“下一步”之后进入Step3,网络连接类型按默认选择,即直接连接(Direct Connection)即可。

poYBAGP8XAiAF1HEAABBLuU3aZ8328.png

点击“下一步”之后会出现如下窗口,等一会会出现不能从镜像源下载,那么继续往下看

poYBAGP8XBGAMtBpAABIhYJLkEI957.png

添加、选择下载站点

点击“下一步”之后进入选择下载站点,除了Cygwin官方网站,还有很多站点提供了软件仓库(repository)的镜像,分布于世界各地,setup内部记录了很多已有的站点,但没有大陆地区。用户还可以自行添加,下面的Add按钮就是用来添加新站点的。仅列出国内几个比较常用、速度较快、连接较稳定的Cygwin镜像站点:

阿里巴巴开源镜像站http://mirrors.163.com/cygwin/

华为开源镜像站https:/mirrors.huaweicloud.com/cygwin/

清华大学开源站https:/mirrors.tuna.tsinghua.edu.cn/cygwin/

中科大开源镜像站http:/mirrors.ustc.edu.cn/cygwin/

东软开源镜像站 http://mirrors.neusoft.edu.cn/cygwin/

pYYBAGP8XByAZfVSAABAmDRkDzg423.png

点击“下一步”,setup开始下载站点的setup.ini文件

筛选软件包及操作

吧包

点击“下一步”之后进入筛选软件包及操作。Cygwin软件包被按照用分类组织,点击“View”旁边下来框,选择“Category”,看到有Accessibility、Admin、Base、Devel、Doc等多个类别,一个软件包可以属于一个或多个类别。点击类别前的“+”,可展开查看下面的各个软件包。

pYYBAGP8XCSAHO-QAAF9iAGtX5k276.png

Package栏是软件包名称;

Current栏是软件包版本;

New栏表示要执行的动作,包括Install(安装)、Reinstall(重新安装和升级)、Uninstall(卸载)、Skip(忽略)、Keep(保持不变)、特定版本号,动作可以针对整个类别,也可以针对单个软件包进行;对于未安装的软件包,setup默认动作是Skip,对于已安装过的软件包,默认动作是keep;

Bin栏表示二进制文件、Src栏表示源代码,老版本的setup界面上Bin和Src栏中间“x”表示选中、空表示不选、“n/a”表示没有(not available),新版本setup不用管这两栏;

Categories栏描述软件包所属功能类别;

Size栏是软件包文件大小;

Description是对软件包的简要描述。

为构建最小系统,这里选中Base(基本)类别,执行动作为Install,看到Base类别中包含了alternatives、base-cygwin、base-files、bash、coreutils、cygwin、mintty、util-linux等等最36个软件包。点击“下一步”,setup开始针对软件包进行依赖解析(这些信息就存储在setup.ini文件中),并把软件包依赖的所有软件包也全部添加进来,可以看到“依赖”中有大量以“lib”开头的库文件。

执行安装

点击“下一步”之后进入执行安装。setup开始下载软件包,并在左上角显示整体进度百分比。(需要一段时间,请耐心等待...)

poYBAGP8XDKAV33NAAAyVmX3AvA731.png

setup自动进行下载、安装,安装完成后自动跳转至最后一步,选择是否创建快捷方式和添加到开始菜单,可以都勾选上,最小系统的整个安装过程就此结束。

安装结束后,可以看到在Cygwin64目录下,增加了bin、dev、etc、home、lib、tmp、usr子目录,软件包主要安装到bin、lib、usr中,配置文件安装到dev、etc中,home存放用户个人文件。

Run 让系统跑起来

安装完成后,桌面上多了一个名为“Cygwin64 Terminal”的快捷方式,双击运行,看到一个黑色框框里面输出一些已创建文件的信息,并打印提示符,等待用户键入命令。这个黑框框便是终端模拟器——mintty,mintty启动了shell与用户交互。输入“help”并回车看看得到什么,再输入“ls ”并回车看看得到什么,如果没有报错说明最小系统已经能跑起来。

pYYBAGP8XDuAHAVfAAAqMyO17p4961.png

第一次使用时,home目录下创建了一个以Windows登陆用户命名的文件夹,被称为用户个人目录($HOME),个人文件都默认放在这里,Cygwin的shell启动后默认进入的工作路径也是这里。

写在最后

从整个安装过程也看出,setup本质是一个软件包的管理工具,亦即“包管理器”,用户通过图形界面可以方便地进行安装、卸载、重装、升级等工作。setup也支持在命令行中运行。

最小系统跑起来以后,后期还想安装其他的软件包,重复前面的过程,中间注意选择要安装的软件包即可。

最小系统经过压缩,其大小不过约几十MB。

UNIX/Linux/Cygwin上的逻辑、操作习惯与Windows有着巨大差异,在Cygwin中要培养以shell命令行为中心的操作习惯,暂时抛开Windows下的惯性思维。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • WINDOWS
    +关注

    关注

    3

    文章

    3541

    浏览量

    88633
  • UNIX
    +关注

    关注

    0

    文章

    296

    浏览量

    41482
  • Cygwin
    +关注

    关注

    0

    文章

    4

    浏览量

    8728
收藏 人收藏

    评论

    相关推荐

    如何在CYGWIN的IFX环境中安装cysecuretool?

    嗨, 我正在尝试在 cygwin 中安装 cysecure 工具但遇到了错误。 谁能指导如何在 CYGWIN 的 IFX 环境中安装 cysecuretool?
    发表于 01-25 08:25

    安装cryptography文件时,其依赖程序cffi安装失败,为什么?

    build running build_py creating build creating build/lib.cygwin-2.6.0-i686-2.7 creating build
    发表于 06-26 06:38

    如何使用Cygwin在Win64中构建环境?

    如何使用Cygwin在Win64中构建环境? 我已经下载了cross_tool、cygwin_x86-84.exe和 sdk, 那么我应该采取什么步骤来构建一个好的编译环境呢?
    发表于 07-10 06:59

    msp430 如何用cygwin编译下载

    请问各位高手,如何用cygwin完成msp430的C程序的编译下载呀,或者哪里有这样的资料,谢谢大家。
    发表于 06-27 23:12

    使用EDK安装cygwin是否安全

    亲爱的大家,我想在与EDK相同的计算机上使用cygwin,特别是gcc,TCL / TK和Xfig。我想知道使用EDK安装cygwin是否安全,最终以某种方式升级或者如果最好安装一个新的cygwin
    发表于 11-19 14:32

    基于coLinux的嵌入式开发环境构建

    模拟的 Linux环境——Cygwin,效率是一个新的问题。另外, Cygwin环境也不是一个真正的 Linux环境,相比于真正的 Linux环境来说, Cygwin仍显不足。从根本上来讲, GNU工具链是基于 Linux操作系
    发表于 07-24 06:31

    为什么cygwin下配置交叉编译环境编译libgcc时xgcc提示找不到 /tmp/xxxxxx.c和/tmp/xxxxxx.s?

    configure:3362: /shared/cross-gcc/build/build-arm-none-cygwin/./gcc/xgcc -B/shared/cross-gcc/build
    发表于 09-04 01:16

    DSPLIB的变量是cygwin/bin,还是分别为cygwin和bin两个?

    在阅读GNU Make Build Process部分的DSPLIB Build Procedure步骤时,第一步是Add cygwin/bin to the environment PATH
    发表于 07-26 15:24

    安装VSCODE个人笔记

    个人笔记安装VSCODE。安装CYGWIN以及里面的一套东西。安装OPENOCD。安装STM32CUBE以及一套库的下载。帮助: CYGWIN
    发表于 08-24 07:40

    使用launch.bat构建Bootloader报错怎么解决?

    程序,但是当我配置 configuration.bat 时 关于cygwin64,报错:'C:/cygwin64/bin/make.exe'
    发表于 06-02 10:40

    使用cygwin编译了riscv的工具链,切换工具链后报错如何解决?

    我使用cygwin编译了riscv的工具链,然后将芯来IDE的工具链切换为我编译出来的工具链但是却报以下的问题。gcc认为没有文件输入,我在查询了一些资料后认为是斜杠引起的,请问该如何解决呢。
    发表于 08-12 07:51

    Cygwin for ARM support uClinux快速入门

    本文提供了Cygwin for ARM support uClinux快速入门的资料,希望对你的学习有所帮助
    发表于 05-27 15:18 92次下载
    <b class='flag-5'>Cygwin</b> for ARM support uClinux快速入门

    Cygwin虚拟机软件免费下载(模拟Linux环境)

    Cygwin是一个用于在Windows上模拟Linux环境的软件。它可以作为那些虚拟机软件的一个部分替代品。 基本简介 运行Cygwin后,你会得到一个类似Linux的Shell环境,在其中你可以
    发表于 12-12 14:50 249次下载
    <b class='flag-5'>Cygwin</b>虚拟机软件免费下载(模拟Linux环境)

    使用CygWin配置英特尔VTune™放大器的远程访问

    Configure Intel® VTune™ Amplifier to capture performance data on a remote Linux* device using Cygwin*.
    的头像 发表于 10-16 05:35 2525次阅读

    怎样直接在ESP8266上进行开发

    尝试编译mkespfsimage c:\ cygwin必须与以下cgg编译器一起添加。
    的头像 发表于 11-22 16:15 5187次阅读
    怎样直接在ESP8266上进行开发