用户工具

站点工具


侧边栏

information_technology:basics:software:linux

Linux

Linux是一种自由和开放源码的类UNIX操作系统。该操作系统的内核由Linus Benedict Torvalds在1991年10月5日首次发布,在加上用户空间的应用程序之后,成为Linux操作系统。

微软公司推出的Windows是个人电脑份额最高的操作系统,但在服务器领域,Linux已成为事实主流;更多包括IT行业的开发者们,开发环境更多建构在Linux平台。

Tux是Linux官方的吉祥物,于1996年由Larry Ewing创造

Linux最初是作为支持英特尔x86架构的个人电脑的一个自由操作系统,目前Linux已经被移植到更多的计算机硬件平台,远远超出其他任何操作系统。Linux也广泛应用在嵌入式系统上,在移动设备上广泛使用的Android操作系统就是创建在Linux内核之上。Linux是服务器上领先的操作系统,90%的云基础架构都由Linux提供支持,包括超级计算机和云提供商。

通常情况下,Linux被打包成供个人计算机和服务器使用的Linux发行版,一些流行的主流Linux发布版,包括Debian(及其派生版本Ubuntu、Linux Mint)、Fedora(及其相关版本Red Hat Enterprise Linux、CentOS)和openSUSE等。

Raspberry Pi OS(以前称为Raspbian)是树莓派基金会官方支持的基于Debian的免费操作系统,因此树莓派也是Linux的学习平台。

Windows以商业软件为主,Linux则以自由软件为主。由于大多数人缺乏使用自由软件的习惯,使得“找不到相应的应用软件”成为Windows用户转换至Linux平台的一大阻力。

个人计算机使用的Linux发行版通常包含X Window和一个相应的桌面环境,如GNOME或KDE,图形界面可以提高操作系统在普通用户群的易用性,虽然专业用户仍旧喜欢命令行界面的高效率。

大多数广泛使用的自由软件和专有软件都有Windows平台版本和相应的Linux版本,但仍有较多能在Windows或Mac OS上运行的应用软件没有Linux的版本,不过在Linux平台上通常可以找到类似功能的应用软件。

UNIX与Linux

UNIX 是一种多用户、多进程的计算机操作系统,源自于从 1970 年代开始在美国 AT&T 公司的贝尔实验室开发的 AT&T UNIX。UNIX 在学术机构和大型企业中得到了广泛的应用,AT&T 公司以低廉甚至免费的许可将 UNIX 源码授权给学术机构做研究或教学之用,许多机构在此源码基础上加以扩展和改进,形成了所谓的“UNIX变种”,这些变种反过来也促进了 UNIX 的发展,其中最著名的变种之一是由加州大学柏克莱分校开发的伯克利软件套件(Berkeley Software Distribution,BSD)产品。很多大公司在获取了 UNIX 或 BSD 的授权之后,开发了自己的UNIX产品,比如 IBM 的 AIX、惠普的 HP-UX、苹果的 macOS、DEC 的 Ultrix、SCO 的 Openserver、SUN 的 Solaris 和 SGI 的 IRIX。

AT&T 将 UNIX 权利出售给了 Novell,Novell 又将商标权利出售给了 X/OPEN公司,后者创建了国际开放标准组织(The Open Group),并成为定义 UNIX 标准的机构,发布“单一UNIX规范”(Single UNIX Specification,SUS)。相对地,不符合这些标准但与 UNIX 有类似性的操作系统只能称为“类 Unix”(Unix-like)。

Unix谱系图 类UNIX指各种Unix的派生系统,比如FreeBSD、OpenBSD、SUN的Solaris,以及各种与传统Unix类似的系统,例如Minix、Linux、QNX等操作系统。

1984 年,Richard Stallman 发起了 GNU 项目,这是一个自由软件集体协作计划,目标是创建一个完全自由且向下兼容 UNIX 的操作系统,并发布 GNU 通用公共许可证(GNU GPL)。由于 GNU 仍不具有完备功能的内核(当然,GNU有自己的原生内核 GNU Hurd),在实际使用上,多使用 Linux 内核替代。

Minix 是荷兰 Prof. Andrew S. Tanenbaum 所发展的一个类 Unix 操作系统,它启发了 Linux 核心的创作。1990 年,Linus Torvalds 决定编写一个自己的 Minix 内核,后命名为 Linux。

现在,大多数人直接使用 Linux 发行版。通常来讲,一个 Linux 发行版包括 Linux 内核,以及将整个软件安装到电脑上的一套安装工具,还有其他自由软件项目中的 GNU 组件和软件,和其他的一些自由软件,在一些 Linux 发行版中可能会包含一些专有软件。因此 GNU 创立者 Richard Stallman 主张,所有所谓的 Linux 发行版实际上都是 GNU/Linux 的发行版(Linux 只是一个内核)。

受到 GNU 工程的鼓舞,BSD 走上了复兴的道路,也逐渐派生出 3 个主要的分支:FreeBSD、OpenBSD 和 NetBSD,并产生两个重要的 BSD 操作系统——DragonFly BSD 和 Mac OS X。与 GNU/Linux 不同的是,BSD 代表其内核和操作系统,并使用 BSD 许可证(自由使用和修改,并不需要必须发布其源代码)。

Linux发行版

Linux 发行版(Linux distribution)是一个由 Linux 内核、GNU 工具和库、附加软件以及包管理器组成的操作系统。更通俗的说法就是,将特定的应用软件安装在一堆函数库和内核上,以满足特定用户的需求。

通常我们在服务器环境使用CentOS(基于Fedora和Red Hat的企业最佳Linux)或者Debian(以稳定性闻名,包含最多的软件包),而在桌面个人计算机使用Ubuntu(Debian的派生版本,面向初学者的顶级Linux发行版之一)。

更多——在Top 10 Best Linux Distros 2020(MX Linux、Linux Mint、Ubuntu、Elementary OS、Manjaro Linux、Zorin OS、Fedora、Debian、CentOS、 Kali Linux)中,5/10是基于Debian的,它们是MX Linux 、Linux Mint、Elementary OS、Zorin OS和Kali Linux也可以选择,多主打外观和轻量化。但在另外一份排名中,前述排名第一的MX Linux却无缘榜单。在收集数百Linux发行版的DistroWatch.com也有点击排名可参考,它向新用户推荐Ubuntu,Linux Mint和MX Linux。

Linux 发行版很丰富。RHEL(Red Hat Enterprise Linux)、SUSE、Debian、Arch Linux、Slackware、Gentoo、Void Linux 等原始 Linux 发行版不基于任何之前的发行版,是 Linux 世界奠定基础的长期坚定支持者,而且Slackware、Debian、Red Hat Linux和Arch Linux可视为始祖;衍生版是最常见的 Linux 发行版类型,可视为原始 Linux 发行版的微调版本,可能有很多子层,有时甚至在这些子层内还有子层。例如,Linux Mint基于Ubuntu,而Ubuntu又基于Debian。因此,Linux Mint 是衍生品的衍生品。

现有近千种 Linux 发行版,应用于服务器、台式机或嵌入式设备。包括以下发行版也颇为常见,如轻量级发行版如Tiny Core Linux;针对特定利基市场的发行版如:OpenWrt(路由器)、Tails(隐私和匿名)、SteamOS(游戏)、Raspberry Pi OS(特定于Raspberry Pi平台)等。

酷玛玩具仓库的内容框架中,主要基于Ubuntu和Raspberry Pi OS,Ubuntu 中文 Wiki 有丰富的支持文档。

由于个人计算机使用的Linux发行版通常包含桌面环境,使其可以像Windows系统一样快速上手,并在图形界面下安装(如.rpm、.deb文件)和使用应用软件。

如需进入命令行模式,在Ubuntu中按组合键 Ctrl+Alt+T进入“终端”。Ubuntu是当前图形界面最为友好和易操作的linux发行版,但还是有很多时候,只需执行几条简单的指令就可以完成繁琐的鼠标点击所完成的操作,从而节约大量的时间和精力。

更多Linux发行版索引,应查阅维基百科 - Linux发行版列表,以及更权威官方推荐流行发行版,以及 LWN.net Linux 分发列表

Linux命令

早期的 Linux 系统都是不带界面的,只能通过命令来管理,比如运行程序、编辑文档、删除文件等。所以,要想熟练使用 Linux,就必须记忆很多命令。在线有很多“Linux命令大全”资源可以查阅。

Linux桌面

随着 Windows 和 macOS 的普及,推动了 Linux 社区进行变革,很快推出了 Linux 系统的图形界面环境,以致各种 Linux 发行版其实已经附带了某种桌面环境,Linux 中的桌面环境是一个程序,它和内核不是绑定的,因此还可以更换安装其它桌面环境。Linux 服务器为了节省资源,一般都不会安装桌面环境。

流行的Linux桌面环境

KDE 桌面系统 KDE 是 K Desktop Environment 的缩写,中文译为“K桌面环境”,使用率排名第一,如 Ubuntu、Linux Mint、OpenSUSE、Fedora、Kubuntu、PC Linux OS 等。

GNOME 桌面环境 GNOME 是 the GNU Network Object Model Environment 的缩写,中文译为“GNU网络对象模型环境”,默认在Red Hat Linux和Fedora中。

其他还有Unity、MATE、Cinnamon以及众多小众Linux桌面环境。可以通过环境变量 DESKTOP_SESSION 来查看当前 Linux 发行版使用了哪种桌面环境:

echo $DESKTOP_SESSION

Wine

另外,相当多的Windows应用程序可以通过Wine和一些基于Wine的项目如CrossOver正常运行和工作,Google大力参与Wine项目改进。经测试很多Windows程序在Wine模式下配置复杂,运行并不稳定,效率不高,且不符合开源理念,仅供科普。喜欢折腾的继续阅读。

Wine是在x86、x86-64容许类Unix操作系统在X Window System运行Microsoft Windows程序(如Microsoft Office 2007、魔兽世界)的软件。Wine最早是“Windows Emulator”,即Windows模拟器的缩写,但Wine现在为“Wine Is Not an Emulator”的递归缩写,即Wine不是模拟器。实质上,Wine是将 Windows API 调用翻译成为动态的 POSIX 调用。

一个有趣的Linux发行版,它就依赖于WINE——Zorin OS是Windows爱好者的理想Linux发行版。它具有类似于Windows 10的熟悉,优雅的界面,也可以对其进行自定义以使其看起来类似于Windows XP和GNOME。Zorin OS使用直观的WINE和PlayOnLinux安装程序可以快速,轻松地运行Windows应用程序。

比如在Ubuntu中安装QQ和微信,可以直接命令行安装:

sudo apt install snapd snapd-xdg-open
sudo snap install electronic-wechat

也可以用wine环境支撑安装.exe文件。

步骤1:启用32位架构

sudo dpkg --add-architecture i386

步骤2:下载并添加存储库密钥

sudo apt update
sudo apt -y install software-properties-common wget
wget -qO - https://dl.winehq.org/wine-builds/winehq.key | sudo apt-key add -

步骤3:添加Wine库

sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ focal main'

步骤4:在Ubuntu 20.04 Linux上安装Wine 5

sudo apt update
sudo apt install --install-recommends winehq-stable  //本安装耗时较长
wine --version  //返回版本号wine-5.11即表示wine安装成功。

步骤5:在Ubuntu 20.04上使用Wine 5安装.exe软件

wine
wget https://down.qq.com/qqweb/PCQQ/PCQQ_EXE/PCQQ2020.exe

或者

wine PCQQ2020.exe

会提示先安装wine-mono和wine-gecko组件以支持运行.net和html程序,但非常缓慢。

在Linux中通常有多种流程和命令以实现同一目的,上面的流程也可以用以下方式实现:

安装wine

sudo apt-get install wine64

安装wine-mono和wine-gecko组件

如果直接执行wine *.exe会自动安装wine-mono和wine-gecko组件,但非常缓慢,通常先下载.msi。官方组件库镜像组件库

把.msi放在~/.wine/目录下面执行安装

wine   msiexec /i  wine-mono-5.1.1-x86.msi  
wine   msiexec /i  wine-gecko-2.47.1-x86.msi

安装.exe,比如

wine PCQQ2020.exe

最后,需要解决中文乱码显示的问题

将simsun.ttc字体文件(在Windows系统的font文件夹里找,或者单独搜索下载)复制到/.wine/drive_c/windows/fonts 文件夹中

打开~/.wine/system.reg文件修改注册表: 找到“[System\\CurrentControlSet\\Hardware Profiles\\Current\\Software\\Fonts]”,将其中的““LogPixels”=dword:00000060”改成 ““LogPixels”=dword:00000070“。

再找到”[Software\\Microsoft\\Windows NT\\CurrentVersion\\FontSubstitutes] xxxx“项,将其中的”MS Shell Dlg“相关的两项修改成如下内容:

"MS Shell Dlg"="SimSun"
"MS Shell Dlg 2"="SimSun"

然后打开~/.wine/drive_c/windows/win.ini,在其中加上:

[Desktop]
menufontsize=13
messagefontsize=13
statusfontsize=13
IconTitleSize=13

Android

Android,中文又称安卓或安致,是一个基于Linux内核与其他开源软件的开放源代码的移动操作系统,由谷歌成立的开放手持设备联盟持续领导与开发。

第三版Android标志(2019-现在)

2017年3月,Android全球网络流量和设备超越Microsoft Windows,正式成为全球第一大操作系统。

市场上第一款采用Android操作系统的智能手机HTC Dream。

截至2020年4月,根据StatCounter统计,除了美国、加拿大、英国、挪威、丹麦、瑞士、科索沃、日本和澳大利亚外,其他所有国家都把Android作为首选智能手机操作系统。

WSL

WSL(Windows Subsystem for Linux,适用于Linux的Windows子系统)是一个为在Windows 10及更高版本上能够原生运行Linux二进制可执行文件(ELF格式)的兼容层。WSL提供了一个由微软开发的Linux兼容的内核接口(不包含Linux内核代码),然后可以在其上运行GNU用户空间,例如Ubuntu。

WSL使用的资源少于完全虚拟化的机器,这是在Windows环境中运行Linux软件的最直接方式,同时还允许用户在同一组文件上使用Windows应用程序和Linux工具。但微软明确指出WSL面向应用程序的开发者,而不是面向桌面环境或生产服务器。

Linux资源

information_technology/basics/software/linux.txt · 最后更改: 2024/01/19 12:39 由 culmart