NixOS 是一个独立的,功能强大且可用的GNU / Linux发行版,它使用KDE等离子工作区和应用程序作为其默认的桌面环境。它被称为NixOS,因为它基于Nix,一个纯粹的功能包管理系统。
尼克斯与APT和YUM相似
与APT和YUM类似,Nix包管理器确保在升级过程中没有包损坏。它还管理引导脚本,配置文件以及Linux发行包管理中涉及的其他类似文件。
它只能安装,没有现场模式!
CD允许用户安装NixOS操作系统,但不能直接从实时媒体中使用。它支持Nvidia,ATI和Intel图形卡,LVM(逻辑卷管理器)和RAID(独立磁盘冗余阵列)。目前,NixOS可以安装在64位和32位体系结构上,它使用一些GTK应用程序,但大多数用户界面是基于KDE的。自动硬件检测将确保在安装过程中识别并配置所有硬件组件。KDE是默认的桌面环境
它的KDE桌面环境大部分是未触及过的,提供了每天所需的所有应用程序,如Dolphin文件管理器,Konqueror网页浏览器,KMail电子邮件客户端,Dragon Player等等。所有的软件包都由最先进的Nix包管理器软件管理,并且没有/ bin,/ sbin,/ lib,/ usr文件系统层次结构。一切都存储在/ nix / store目录中。
包含流行的Linux应用程序
那些想要使用不同桌面环境的人可以安装Xfce,Awesome,IceWM,i3,甚至是Ratpoison窗口管理器。也可以在NixOS中安装流行的Linux应用程序,如Mozilla Firefox,Mozilla Thunderbird和VLC Media Player。在NixOS的其他优点中,我们可以提到多用户软件包管理,可重复的系统配置,原子级和可靠的升级以及回滚,这些功能允许用户安全地回滚到以前的配置。
新增功能:
- 亮点:
- GNOME版本现在是3.24。 KDE Plasma升级到5.10,KDE Applications升级到17.08.1,KDE Frameworks升级到5.37。
- 现在处理的用户跟踪解除分配的UID / GID。当用户或组被复活时,这将允许它被分配它以前的UID / GID。结果是,UID和GID不再被重用。
- 模块选项services.xserver.xrandrHeads现在会使此列表中指定的第一个头设置为主要头。除此之外,现在还可以通过使用属性集来设置其他选项,例如:
- {services.xserver.xrandrHeads = [
- " HDMI-0"
- output =“DVI-0”;
- primary = true;
- monitorConfig ='
- 选项“旋转” "右"
- '';
- 即使HDMI-0是列表中的第一个头,这将设置DVI-0输出为主要头。
- 在services.nginx模块中对SSL的处理已经清理完毕,将错误的enableSSL重命名为onlySSL,这反映了它的初衷。这不会与现有的forceSSL一起使用,这会创建一个重定向到SSL虚拟主机的第二个非SSL虚拟主机。由于具体的实施细节,这偶然发生了更早的工作。如果您指定了两者,请移除enableSSL选项以保留以前的行为。
- 引入了另一个addSSL选项,以使用相同的配置来配置非SSL虚拟主机和SSL虚拟主机。
- 引入了配置解析器选项和上游块的选项。查看他们的信息了解更多详情。
- 端口选项已被替换为更通用的侦听选项,使得可以根据上述新的SSL处理来指定多个地址,端口和SSL配置。
- 新服务:
- 自上次发布以来,新增了以下服务:
- 配置/字体/ fontconfig的-penultimate.nix
- 配置/字体/ fontconfig的-ultimate.nix
- 配置/ terminfo.nix
- 硬件/传感器/ iio.nix
- 硬件/ nitrokey.nix
- 硬件/ RAID / hpsa.nix
- 程序/ browserpass.nix
- 程序/ gnupg.nix
- 程序/ qt5ct.nix
- 程序/ slock.nix
- 程序/ thefuck.nix
- 安全/ auditd.nix
- 安全/闭锁内核modules.nix
- 服务管理者/ docker.nix
- 服务管理者/ trivial.nix
- 服务/管理/盐/ master.nix
- 服务/管理/盐/ minion.nix
- 服务/音频/ slimserver.nix
- 服务/簇/ kubernetes / default.nix
- 服务/簇/ kubernetes / dns.nix
- 服务/簇/ kubernetes / dashboard.nix
- 服务/持续集成/ hail.nix
- 服务/数据库/ clickhouse.nix
- 服务/数据库/ postage.nix
- 服务/台式机/ GNOME3 /侏儒-disks.nix
- 服务/台式机/ GNOME3 / gpaste.nix
- 服务/记录/ SystemdJournal2Gelf.nix
- 服务/记录/ heartbeat.nix
- 服务/记录/ journalwatch.nix
- 服务/记录/ syslogd.nix
- 服务/邮件/ mailhog.nix
- 服务/邮件/ nullmailer.nix
- 服务/杂项/ airsonic.nix
- 服务/杂项/ autorandr.nix
- 服务/杂项/ exhibitor.nix
- 服务/杂项/ fstrim.nix
- 服务/杂项/ gollum.nix
- 服务/杂项/ irkerd.nix
- 服务/杂项/ jackett.nix
- 服务/杂项/ radarr.nix
- 服务/杂项/ snapper.nix
- 服务/监测/ osquery.nix
- 服务/监测/普罗米修斯/ collectd-exporter.nix
- 服务/监测/普罗米修斯/ fritzbox-exporter.nix
- 服务/网络文件系统/ kbfs.nix
- 服务/网络/ dnscache.nix
- 服务/网络/ fireqos.nix
- 服务/网络/ iwd.nix
- 服务/网络/ KEEPALIVED / default.nix
- 服务/网络/ keybase.nix
- 服务/网络/ lldpd.nix
- 服务/网络/ matterbridge.nix
- 服务/网络/ squid.nix
- 服务/网络/ tinydns.nix
- 服务/网络/ xrdp.nix
- 服务/安全/陈词滥调-sp.nix
- 服务/安全/ sks.nix
- 服务/安全/ sshguard.nix
- 服务/安全/ torify.nix
- 服务/安全/ usbguard.nix
- 服务/安全/ vault.nix
- 服务/系统/ earlyoom.nix
- 服务/系统/ saslauthd.nix
- 服务/网络的应用/ nexus.nix
- 服务/网络的应用/ pgpkeyserver-lite.nix
- 服务/网络的应用/ piwik.nix
- 服务/网络服务器/ lighttpd的/ collectd.nix
- 服务/网络服务器/ minio.nix
- 服务/ X11 /显示经理/ xpra.nix
- 服务/ X11 / xautolock.nix
- 任务/文件系统/ bcachefs.nix
- 任务/ powertop.nix
- 向后不兼容:
- 从以前的版本升级时,请注意以下不兼容的更改:
- 在基于Qemu的虚拟化环境中,网络接口名称从enp0s3更改为ens3。
- 这是由于内核配置的改变。新的命名与systemd的其他Linux发行版一致。请参阅#29197了解更多信息。
- 如果virt-what工具返回qemu或kvm,并且在其NixOS配置的任何部分使用接口名称,特别是在使用具有networking.interfaces的静态网络配置时,机器将受到影响。
- 在重新启动受影响的机器之前,请确保:
- 更改NixOS配置中的接口名称。第一个接口叫做ens3,第二个接口是ens8,从那里开始递增1。
- 更改接口名称后,使用nixos-rebuild引导重新构建系统以在重新启动后激活新配置。如果您立即切换到新的配置,您可能会失去网络连接!如果使用nixops,请使用nixops deploy --force-reboot进行部署。
- 如果stateVersion更改为17.09或更高,则会应用以下更改。对于stateVersion =“17.03”或者降低旧的行为被保留下来。
- postgres默认版本从9.5更改为9.6。
- postgres超级用户的名字已经从root变成了postgres,更加贴近其他的Linux发行版了。
- postgres默认的dataDir已经从/ var / db / postgres更改为/ var / lib / postgresql / $ psqlSchema,其中$ psqlSchema为9.6。
- mysql默认的dataDir已经从/ var / mysql更改为/ var / lib / mysql。
- Radicale的默认包已经从1.x更改为2.x.可以在这里找到迁移说明。也可以通过将软件包设置为radicale2来使用更新的版本,当stateVersion是17.09或更高版本时会自动完成。 extraArgs选项已添加,以允许传递指令中指定的数据迁移参数;请参阅radicale.nix NixOS测试以获取迁移示例。
- 删除了aiccu软件包。这是由于SixXS停止了IPv6隧道。
- fanctl软件包和风扇模块已经被移除,因为开发者没有上游他们的iproute2补丁,并且与最近的iproute2版本兼容。
- flexget的状态数据库无法升级到新的内部格式,需要删除将自动重新创建的现有的db-config.sqlite。
- 现在ipfs服务不再忽略dataDir选项。如果您将此选项设置为默认值以外的其他值,则必须将其取消设置(以便使用默认值)或手动迁移旧数据
- DATADIR = LT; valueOfDataDir>
- mv /var/lib/ipfs/.ipfs/* $ dataDir
- rmdir /var/lib/ipfs/.ipfs
- caddy服务以前在使用dataDir选项指定的数据目录中使用额外的.caddy目录。 .caddy目录的内容现在应该在dataDir中。
- ssh-agent用户服务不是默认启动的。使用programs.ssh.startAgent在需要时启用它。还有一个新的programs.gnupg.agent模块可以创建一个gpg-agent用户服务。如果设置了enableSSHSupport,它也可以作为SSH代理。
- services.tinc.networks。<名称> .listenAddress选项有一个误导性的名称,不符合其行为。现在它正确地定义了ip来监听传入的连接。为了保持以前的行为,使用services.tinc.networks。<名称> .bindToAddress。有关更多详细信息,请参阅选项说明。
- wvdial包和模块被删除。这是由于该项目已经死亡,而不是用openssl 1.1构建的。
- cc-wrapper的setup-hook现在导出许多对应于binutils二进制文件(例如LD,STRIP,RANLIB等)的环境变量。这样做是为了防止包的构建系统猜测,这是很难预测的,特别是在交叉编译时。然而,由于这个原因,一些软件包已经崩溃了 - 它们的构建系统要么不支持,要么声称支持没有足够的测试,把环境变量当作参数。
- services.firefox.syncserver现在默认作为非root用户运行。为了适应这种变化,默认的sqlite数据库位置也被改变了。迁移应该自动工作。有关更多详细信息,请参阅选项说明。
- compiz窗口管理器和包已被删除。系统支持已经打破了好几年。
- 现在应通过libinput启用触摸板支持,因为现在不推荐使用synaptics。请参阅services.xserver.libinput.enable。
- services.mysql现在使用ensureDatabases和ensureUsers选项声明性地配置数据库和用户。
- 这些选项永远不会删除现有的数据库和用户,特别是当选项的值发生变化时
- MySQL用户将使用Unix套接字身份验证进行标识。这仅对具有相同名称的Unix用户进行身份验证,而不需要密码。
- 如果您以前使用密码创建了MySQL root用户,则在使用新选项之前,您需要为root用户添加unix套接字身份验证。这可以通过运行以下SQL脚本完成:
- CREATE USER'root'@'%'IDENTIFIED BY'';
- 授予所有权限*。*到'root'@'%'授权选项;
- FLUSH PRIVILEGES;
- - 或者,删除经过密码认证的用户:
- - DROP USER'root'@'localhost';
- dockerTools.pullImage表达式的sha256参数值必须更新,因为下载图像的机制已更改。 Skopeo现在用来取代Docker守护进程的镜像。
- services.mysqlBackup默认在没有任何用户设置的情况下工作,包括mysql以外的用户。
- 默认情况下,mysql用户不再是执行备份的用户。而是使用系统帐户mysqlbackup。
- mysqlBackup服务现在也使用systemd计时器而不是cron。
- 因此,services.mysqlBackup.period选项不再存在,并已被替换为system.time(7)格式的services.mysqlBackup.calendar。
- 如果您希望在备份失败时发送电子邮件,请考虑使用脚本来监视systemd日志以查找错误。遗憾的是,目前还没有内置的功能。
- 您可以通过运行systemctl start mysql-backup然后systemctl status mysql-backup来检查备份是否仍然有效。
- 模板化的systemd服务(例如container @ name)现在可以在切换到新配置时正确处理,从而重新加载它们。
- Steam:newStdcpp参数已被移除,不再需要。
- 由于网络处理的变化,Redis已经更新到版本4,该版本要求群集批量重新启动,以确保与网络NATing流量的兼容性。
- 其他显着变化:
- 现在可以通过使用disabledModules来禁用模块,允许其他人将其放置。这可以用来从另一个通道导入一组模块,同时保持系统的其他部分处于稳定版本。
- 更新到FreeType 2.7.1,包括一个新的TrueType引擎。新引擎取代了NixOS默认的Infinality引擎。现在由fontconfig-penultimate提供了默认的字体渲染设置,替换fontconfig-ultimate;新的默认设置是较小的侵入性,并提供更符合其他系统,并希望与每个字体设计师的意图。某些系统范围的配置已从用户Fontconfig设置可用的Fontconfig NixOS模块中删除。
- ZFS / SPL已更新至0.7.0,因此zfsUnstable,splUnstable已被删除。
- 除时区字符串外,time.timeZone选项现在允许值为null。此值允许使用timedatectl set-timezone命令更改系统的时区。默认的时区仍然是UTC。
- 现在可以使用文件和目录来指定Nixpkgs叠加层。 < nixpkgs-overlays>可能是一个文件,可以使用〜/ .config / nixpkgs / overlays.nix来代替〜/ .config / nixpkgs / overlays目录。
- 有关更多详细信息,请参阅Nixpkgs手册的重叠章节。
- 除安装程序已更改外,还在安装程序加载器中添加了两个新选项。内核日志的详细程度已经降低到默认选项的上游默认值,以便在例如不发送垃圾邮件的情况下。加入网络。
- 因此,添加新的调试选项可将日志级别设置为以前的详细模式,以便于调试,但仍易于访问。
- 另外还添加了一个copytoram选项,可以在引导后删除安装介质。这允许从手机启动后连接。
- services.gitlab-runner.configOptions已被添加到以声明方式指定gitlab运行程序的配置。
- services.jenkins.plugins已被添加到安装插件很容易,这可以与jenkinsPlugins2nix生成。 已经添加了services.postfix.config来指定具有NixOS选项的main.cf。此外,其他选项已添加到后缀模块,并进一步改进。
- GitLab软件包和模块已经更新到最新的10.0版本。
- systemd-boot引导加载程序现在列出了所有可引导代的NixOS版本,内核版本和构建日期。
- dnscrypt-proxy服务现在默认使用从DNSSEC支持的公共非日志解析器列表中选择的随机上游解析器。通过省略services.dnscrypt-proxy.resolverName选项或将其设置为“随机”,现有配置可以迁移到此操作模式。
顶级创意包收藏已重新命名。所有的JetBrains IDE都在jetbrains上。
在上游决定停止免费支持之后,grsecurity / PaX支持已经下降。有关更多信息,请参阅上游公告。目前没有完全替代grsecurity / PaX。
现在可以用networking.hosts声明性地指定/ etc / hosts的定义。
在17.03版本中,新增功能:
Nixpkgs现在可以通过覆盖来扩展。有关更多信息,请参阅Nixpkgs手册。在16.09版本中:
现在,许多NixOS配置和Nix包使用的磁盘空间大大减少,这要归功于缩小封闭尺寸的广泛工作。例如,一个最小的NixOS容器的封闭大小从16.03年的约424亿美元下降到16.09年的约212亿美元,而Firefox的封闭规模从约651亿美元变为约259亿美元。由于GnuPG 2.1.x凹凸,
铬已更新至39.0.2171.65。 enablePepperPDF现在默认启用。铬*包装程序包不再存在,因为上游移除了NSAPI支持。铬稳定已被重新命名为铬。
铬已更新至39.0.2171.65。 enablePepperPDF现在默认启用。铬*包装程序包不再存在,因为上游移除了NSAPI支持。铬稳定已被重新命名为铬。
铬已更新至39.0.2171.65。 enablePepperPDF现在默认启用。铬*包装程序包不再存在,因为上游移除了NSAPI支持。铬稳定已被重新命名为铬。
铬已更新至39.0.2171.65。 enablePepperPDF现在默认启用。铬*包装程序包不再存在,因为上游移除了NSAPI支持。铬稳定已被重新命名为铬。
否则,您将收到如下错误消息:
错误:在'... / nvidia-x11 / default.nix:56'中打包'nvidia-x11-331.49-3.12.17'
评论没有发现