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手冊的疊加層章節。
- 現在可以使用networking.hosts聲明性地指定/ etc / hosts的定義。
- 除安裝程序已更改外,還在安裝程序加載器中添加了兩個新選項。內核日誌的詳細程度已經降低到默認選項的上游默認值,以便在例如不發送垃圾郵件的情況下。加入網絡。
- 因此,添加新的調試選項可將日誌級別設置為以前的詳細模式,以便於調試,但仍易於訪問。
- 另外還添加了一個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。
在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'
評論沒有發現