NixOS

NixOS
Файл:File:NixOS logo.svg
РозробникNixOS contributors (NixOS Foundation[1][2])
Написано наNix expression language
Родина ОСLinux (Unix-like)
Робочий станCurrent
Вихідна модельOpen source
Початковий випуск0.1 / 2003; 21 рік тому (2003-06-03)
Випущено у
виробництво
2003
Репозиторій
Цільовий ринокЗагального призначення
Менеджер пакетівМенеджер пакетів Nix
Платформиi686, x86-64, ARMv7, AArch64
Тип ядраМонолітне (ядро Linux)
ЛіцензіяMIT[3]
nixos.org

NixOS — це дистрибутив Linux, побудований на основі менеджера пакунків Nix . Він використовує декларативну систему конфігурації та дозволяє надійно оновлювати систему. [4] Пропонується кілька офіційних «каналів» пакунків [5] [6], включаючи поточний стабільний випуск (Stable) і нестабільний (Unstable) випуск, який слідує за останніми розробками. NixOS має інструменти, присвячені DevOps і завданням розгортання. [7] [8]

Історія

У 2003 році Елко Дольстра запустив NixOS як дослідницький проект. [9] [10] У 2015 році було засновано фонд NixOS з метою підтримки таких проектів, як NixOS, які реалізують суто функціональну модель розгортання. [11]

У травні 2024 року лідер проекту NixOS Елко Долстра звільнився з посади голови керуючої ради після публікації відкритого листа з критикою його дій. Автори листа звинувачують Долстру в авторитарному стилі керівництва, нездатності вирішувати проблеми спільноти та створенні токсичної атмосфери. Долстра відкинув звинувачення, але погодився передати повноваження новій структурі управління, підпорядкованій спільноті. Нова структура управління матиме ширші повноваження для вирішення питань, таких як політика щодо спонсорів, залагодження конфліктів інтересів, повноваження при модеруванні та захист меншин.

Версії

NixOS публікує випуски двічі на рік. [12] Раніше це відбувалося приблизно в березні та вересні, але, починаючи з 21.05, NixOS націлена на травень і листопад. [13] Кожен номер версії має формат «YY. MM", наприклад, "20.03" була версія, випущена в березні 2020 року. Кожна версія NixOS має назву, наприклад «Markhor» для випуску 20.03.

Особливості

Декларативна конфігураційна модель

У NixOS уся операційна система – ядро, програми, системні пакунки, конфігураційні файли тощо – будується менеджером пакунків Nix із опису функціональною мовою збірки. Це означає, що створення нової конфігурації не може перезаписати попередні конфігурації. [14]

Система NixOS налаштовується шляхом запису специфікації функціональних можливостей, які користувач бажає мати на своєму пристрої, у файлі глобальної конфігурації. Наприклад, ось мінімальна конфігурація машини, на якій працює демон SSH: [15]

{
  boot.loader.grub.device = "/dev/sda";
  fileSystems."/".device = "/dev/sda1";
  services.sshd.enable = true;
}

Після зміни конфігураційного файлу систему можна оновити за допомогою команди nixos-rebuild switch . Ця команда виконує все необхідне для застосування нової конфігурації, включаючи завантаження та компіляцію пакунків і генерацію файлів конфігурації.

Надійні оновлення

Оскільки файли Nix є чистими та декларативними, їх оцінка завжди дасть однаковий результат, незалежно від того, які пакунки чи файли конфігурації є в системі. Таким чином, оновити систему так само надійно, як і перевстановити з нуля.

Атомарні оновлення

NixOS має транзакційний підхід до керування конфігурацією, вносячи атомарні зміни конфігурації, наприклад оновлення. Це означає, що якщо оновлення до нової конфігурації буде перервано – скажімо, на півдорозі зникне живлення – система все одно перебуватиме в узгодженому стані: вона завантажуватиметься у старій або новій конфігурації. В інших системах машина може опинитися в неузгодженому стані та навіть більше не завантажуватися. [16]

Відкати

Якщо після оновлення системи нова конфігурація є небажаною, її можна відкотити за допомогою спеціальної команди ( nixos-rebuild switch --rollback ). Кожна версія конфігурації системи автоматично відображається в меню завантаження системи. Якщо нова конфігурація виходить з ладу або не завантажується належним чином, можна вибрати старішу версію. Відкат — це легка операція, яка не передбачає відновлення файлів із копій.

Відтворювані конфігурації системи

Декларативна модель конфігурації NixOS дозволяє легко відтворити конфігурацію системи на іншому пристрої. Копіювання файлу конфігурації на цільову машину та виконання команди оновлення системи генерує ту саму конфігурацію системи (ядро, програми, системні служби тощо), за винятком частин системи, якими не керує менеджер пакунків, наприклад даних користувача.

Модель на основі вихідного коду з бінарним кешем

Мова збірки Nix, яка використовується NixOS, визначає, як створювати пакунки з вихідного коду. Це дозволяє легко адаптувати систему до потреб користувача. Однак, оскільки створення з джерела є повільним процесом, менеджер пакунків автоматично завантажує попередньо зібрані двійкові файли з кеш-серверу, коли вони доступні. Це забезпечує гнучкість моделі керування пакунками на основі вихідного коду з ефективністю двійкової моделі. [17]

Послідовність

Менеджер пакунків Nix гарантує, що працююча система відповідає логічній специфікації системи, тобто він перебудує всі пакунки, які потрібно перебудувати. Наприклад, якщо ядро змінено, менеджер пакунків забезпечить перебудову зовнішніх модулів ядра. Так само, коли бібліотеку оновлено, це гарантує, що всі системні пакунки використовують нову версію, навіть пакунки, статично пов’язані з нею.

Багатокористувацьке керування пакунками

Для встановлення програмного забезпечення в NixOS не потрібні спеціальні привілеї. Окрім загальносистемного профілю, кожен користувач має спеціальний профіль, у якому він може інсталювати пакунки. Nix також дозволяє одночасно існувати кілька версій пакунка, тому різні користувачі можуть мати різні версії одного пакунка, встановлені у відповідних профілях. Якщо два користувачі інсталюють одну версію пакунка, буде створено або завантажено лише одну копію. Модель безпеки Nix гарантує, що це безпечно, оскільки лише користувачі, яким конфігурація системи явно довіряє, можуть використовувати параметри збірки, які дозволять їм контролювати вміст вихідних даних (наприклад, додавання домішок до пісочниці або використання ненадійної заміни) . Без цих параметрів шляхи можуть бути замінені лише замінником, якому довіряє система, або локальною збіркою ізольованого програмного середовища, якій неявно довіряють.

Реалізація

NixOS базується на менеджері пакунків Nix, який зберігає всі пакунки окремо один від одного в сховищі пакунків

Встановлені пакунки ідентифікуються криптографічним хешем усіх вхідних даних, використаних для їх збірки. Зміна інструкцій зі створення пакунка змінює його хеш, і це призведе до встановлення іншого пакунка в сховищі пакунків. Ця система також використовується для керування файлами конфігурації, гарантуючи, що нові конфігурації не перезаписують старі.

Наслідком цього є те, що NixOS не дотримується стандарту ієрархії файлової системи . Єдиним винятком є символічне посилання /bin/sh на версію bash у сховищі Nix (наприклад: /nix/store/s/5rnfzla9kcx4mj5zdc7nlnv8na1najvg-bash-4.3.43/ ); і хоча NixOS має каталог /etc для зберігання загальносистемних конфігураційних файлів, більшість файлів у цьому каталозі є символічними посиланнями на згенеровані файли в /nix/store, такі як /nix/store/s2sjbl85xnrc18rl4fhn56irkxqxyk4p-sshd_config . Відмова від використання глобальних каталогів, таких як /bin, є частиною того, що дозволяє одночасно існувати кілька версій пакунка.

Див. Також

  • Система GNU Guix – операційна система, побудована на GNU Guix, натхненна Nix [18]

Посилання

  1. Community - nixos.org. Архів оригіналу за 23 вересня 2022. Процитовано 23 вересня 2022.
  2. NixOS/nixos-foundation - Github. GitHub. Архів оригіналу за 23 вересня 2022. Процитовано 23 вересня 2022.
  3. nixpkgs/COPYING at master · NixOS/nixpkgs · GitHub. Github.com. Процитовано 19 вересня 2015.
  4. DistroWatch.com: NixOS. Distrowatch.com. Процитовано 19 вересня 2015.
  5. Nix channels - NixOS Wiki. wiki.nixos.org. Процитовано 10 лютого 2022.
  6. NixOS Infra Status. status.nixos.org. Процитовано 10 лютого 2022.
  7. NixOps - The NixOS Cloud Deployment Tool. Nixos.org. Процитовано 19 вересня 2015.
  8. svanderburg/disnix. Nixos.org. Процитовано 19 вересня 2015.
  9. Dolstra, Eelco (2003). Integrating Software Construction and Software Deployment (PDF). Lecture Notes in Computer Science. 2649: 102—117. doi:10.1007/3-540-39195-9_8. ISBN 978-3-540-14036-8. Архів оригіналу (PDF) за 21 квітня 2019.
  10. (Дипломна робота). {{cite thesis}}: |archive-date= вимагає |archive-url= (довідка); Вказано більш, ніж один |archivedate= та |archive-date= (довідка); Пропущений або порожній |title= (довідка)Обслуговування CS1: Сторінки з параметром url-status, але без параметра archive-url (посилання)
  11. Stichting NixOS Foundation. Nixos.org. Процитовано 19 вересня 2015.
  12. Governance. Nixos.org. Архів оригіналу за 16 серпня 2020. Процитовано 28 серпня 2020.
  13. Nix RFCS (Request for Comments). GitHub. 17 грудня 2021.
  14. Dolstra, Eelco; Hemel, Armijn (2007). Purely Functional System Configuration Management (PDF). Архів оригіналу (PDF) за 6 липня 2019.
  15. About NixOS. Nixos.org. Процитовано 19 вересня 2015.
  16. van der Burg, Sander; Dolstra, Eelco; de Jonge, Merijn (2008). Atomic Upgrading of Distributed Systems (PDF). Архів оригіналу (PDF) за 15 січня 2019.
  17. Dolstra, Eelco (2005). Secure Sharing Between Untrusted Users in a Transparent Source/Binary Deployment Model (PDF). Архів оригіналу (PDF) за 26 вересня 2019.
  18. About — GuixSD. www.gnu.org (англ.). Процитовано 3 травня 2018.

Зовнішні посилання

Read other articles:

MMA promoter based in Lemoore, California Tachi Palace FightsIndustryMixed martial arts promotionFounded2009Defunct2018HeadquartersLemoore, California, United States Tachi Palace Fights (TPF) was an American mixed martial arts (MMA) promotion which hosted events at the Tachi Palace Hotel & Casino in Lemoore, California. Matchmaker for TPF was former fighter Richard Goodman. Regarded as a regional promotion, TPF events often included upcoming MMA prospects and veteran fighters who had compete…

† Стеллерова корова Муляж стеллеровой коровы в Лондонском музее естествознания Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ВторичноротыеТип:ХордовыеПодтип:ПозвоночныеИнфратип:Челюстноро…

Casino in California Tachi Palace Hotel & CasinoMain entrance of the casino Location Lemoore, California Address 17225 Jersey AvenueOpening dateNovember 4, 1983No. of rooms255Casino typeIndianOwnerSanta Rosa Indian Community of the Santa Rosa RancheriaPrevious namesSouthgate Bingo PalacePalace Indian Gaming CenterWebsitetachipalace.com Tachi Palace Hotel & Casino is an Indian casino and hotel on the Santa Rosa Rancheria in Lemoore, California. History The 1,100-seat Southgate Bingo Palac…

Colosso da LagoaSisbrace Full nameEstádio Olímpico Colosso da LagoaLocationErechim, Rio Grande do Sul, BrazilCoordinates27°39′03.64″S 52°15′54.14″W / 27.6510111°S 52.2650389°W / -27.6510111; -52.2650389OwnerYpiranga Futebol ClubeCapacity22,000ConstructionBuilt1970OpenedSeptember 2, 1970TenantsYpiranga Futebol Clube Estádio Olímpico Colosso da Lagoa is a multi-use stadium in Erechim, Brazil. It is currently used mostly for football matches. The stadium hold…

2nd century Western Kshatrapas dynasty ruler Damajadasri IWestern SatrapCoin of Damajadasri I. Obverse: legend in pseudo-Greek letters, around portrait of the ruler. Obverse: Chaitya with Brahmi legend around (from 12:00):King and Satrap Damajadaśri, son of King and Great Satrap Rudradaman.[1]Reign170–175 CEPredecessorRudradaman ISuccessorJivadamanIssueJivadaman Damajadaśri I (c. 170–175 CE) was a ruler of the Western Kshatrapas dynasty. He was the son of Rudradaman I.[2&…

2023 studio album by Iggy Pop Every LoserStudio album by Iggy PopReleasedJanuary 6, 2023 (2023-01-06)Genre Alternative rock[1] punk rock Length36:53Label Gold Tooth Atlantic ProducerAndrew WattIggy Pop chronology Free(2019) Every Loser(2023) Singles from Every Loser FrenzyReleased: October 28, 2022 Strung Out JohnnyReleased: December 12, 2022 Every Loser is the nineteenth studio album by American rock singer Iggy Pop, released on January 6, 2023, by Gold Tooth and Atla…

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (يونيو 2018) هذه قائمة بالمباريات الدولية التي لعبها الفريق الوطني الألماني لكرة القدم. عقد 2000 2000 هولندا  v  ألمانيا 23 February مباراة وديةهولندا 2–1 ألمانياأمستردام…

Portuguese lawyer and politician (born 1957) Luís Marques MendesGCIHMarques Mendes in 2005President of the Social Democratic PartyIn office8 April 2005 – 12 October 2007Secretary-GeneralMiguel MacedoPreceded byPedro Santana LopesSucceeded byLuís Filipe MenezesMinister of Parliamentary AffairsIn office6 April 2002 – 17 July 2004Prime MinisterJosé Manuel BarrosoPreceded byAntónio CostaSucceeded byRui Gomes da SilvaMinister in the Cabinet of the Prime MinisterIn office19 M…

Belstat (2020—2022) Average values for 3-year period 2020–2022. Data source: Belstat. The table shows combined data from the official website of the agency [1] and the site For a healthy Belgium with reference to Belstat.[2] Administrative division of Belgium provinceor region overall male female sex gap Belgium on average 81.4 79.1 83.6 4.5 Flemish Brabant 82.9 80.8 85.0 4.2 Limburg 82.5 80.5 84.4 3.9 Walloon Brabant 82.5 80.3 84.5 4.2 Antwerp 82.3 80.4 84.2 3.8 West Flander…

Disambiguazione – Se stai cercando altri significati, vedi Cipolletti (disambigua). CipolletticittàCipolletti – VedutaIngresso alla città LocalizzazioneStato Argentina Provincia Río Negro DipartimentoGeneral Roca AmministrazioneSindacoAbel Baratti (FPV) TerritorioCoordinate38°56′S 68°01′W38°56′S, 68°01′W (Cipolletti) Altitudine265 m s.l.m. Superficie5 257,8 km² Abitanti75 078 (2001) Densità14,28 ab./km² Altre informazioniCod. postaleR…

Varieties of the color red Red Spectral coordinatesWavelength~630–740[1] nmFrequency~480–405 THzCommon connotationsheat, anger, passion, sexuality, love, socialism, Christmas, Valentine's Day, danger     Color coordinatesHex triplet#FF0000sRGBB (r, g, b)(255, 0, 0)HSV (h, s, v)(0°, 100%, 100%)CIELChuv (L, C, h)(53, 179, 12°)SourceHTML/CSS[2]B: Normalized to [0–255] (byte) Varieties of the color red may differ in hue, chroma (also called saturation, inte…

Alleged plot to overthrow Mao Zedong A copy of the Draft of Project 571 Project 571 (Chinese: 五七一工程; pinyin: Wǔqīyī gōngchéng) was the code name given to an alleged plot to execute a coup d'état against Chairman Mao Zedong in 1971 by the supporters of Lin Biao, then Vice Chairman of the Chinese Communist Party. In Chinese, the numbers 5-7-1 sound like the term 'armed uprising' (武起义; wǔqǐyì). The Chinese Communist Party initially claimed that Lin Biao himself had …

Mercury-Atlas 2Launch of MA-2Mission typeTest flightOperatorNASAMission duration17 minutes, 56 secondsDistance travelled2,305 kilometres (1,432 mi)Apogee183 kilometres (114 mi) Spacecraft propertiesSpacecraftMercury No.6ManufacturerMcDonnell AircraftLaunch mass1,154 kilograms (2,544 lb) Start of missionLaunch dateFebruary 21, 1961, 14:10 (1961-02-21UTC14:10Z) UTCRocketAtlas LV-3B 67-DLaunch siteCape Canaveral LC-14 End of missionLanding dateFebruary 21, 1961, 1…

Electric vehicle brand This article needs to be updated. The reason given is: european sales. Please help update this article to reflect recent events or newly available information. (June 2023) SeresCompany typePrivateIndustryAutomotiveEnergy storageFoundedJanuary 2016 (2016-01)FoundersXinghai ZhangHeadquartersSanta Clara, California, United StatesArea servedWorldwideKey peopleJohn Zhang (CEO)Yifan Tang (CTO)Martin Eberhard (lead scientist)ParentSeres GroupWebsitewww.global-seres.com …

Skt. Peders Kirke di Næstved Segel kota. Næstved terletak di Sjælland selatan, Denmark, dekat muara Sungai Suså. Dengan penduduk sebanyak 41.158 jiwa (2006) Næstved menjadi kota terbesar ke-3 di Sjaelland. Nama kota ini berasal dari kata næs 'semenanjung' og tved 'tanah/hutan yang dibersihkan'. Næstved adalah kota industri dan perdagangan yang penting. Kotamadya Næstved berpenduduk 80.133 jiwa (2007). Pada tanggal 1 Januari 2007, Kotamadya Næstved bergabung dengan Kotamadya Fladså, Sus…

Study and application of beauty treatment Not to be confused with Cosmology. Cosmetology (from Greek κοσμητικός, kosmētikos, beautifying;[1] and -λογία, -logia) is the study and application of beauty treatment. Branches of specialty include hairstyling, skin care, cosmetics, manicures/pedicures, non-permanent hair removal such as waxing and sugaring, and permanent hair removal processes such as electrology and intense pulsed light (IPL). In the United States as of 2018, a…

För den administrativa byn i Nusa Tenggara Timur, se Desa Pontianak. Pontianak Stad Officiellt namn: Kota Pontianak Land  Indonesien Provins Kalimantan Barat Koordinater 00°01′50″S 109°20′14″Ö / 0.03056°S 109.33722°Ö / -0.03056; 109.33722 Area 108,43 km²[1] Folkmängd 646 661 (2019)[1] Befolkningstäthet 5 964 invånare/km² Geonames 1630789 Pontianaks läge på karta över Indonesien. Pontianaks läge på ka…

У Вікіпедії є статті про інші значення цього терміна: Сармат. 21-й окремий мотопіхотний батальйон «Сармат»Нарукавний знак батальйонуНа службічервень 2014 — дотеперКраїна УкраїнаВид Сухопутні військаТип Механізовані військаЧисельністьбатальйонУ складі 56 ОМПБр…

Geologic formation in Ohio Liberty FormationStratigraphic range: Late OrdovicianLiberty Formation (Upper Ordovician) exposed north of Brookville, IndianaTypeFormationUnderliesSaluda Formation and Whitewater FormationOverliesWaynesville FormationLocationRegion Ohio IndianaCountry United States The Liberty Formation is a geologic formation in Ohio and Indiana. It preserves fossils dating back to the Ordovician period. Carbonate hardground from the Liberty Formation of southern Ohio.…

Church in EnglandParish Church of St Mary the VirginTewkesbury Abbey51°59′25″N 2°9′38″W / 51.99028°N 2.16056°W / 51.99028; -2.16056CountryEnglandDenominationChurch of EnglandChurchmanshipHigh church / Modern CatholicWebsitewww.tewkesburyabbey.org.ukHistoryDedicationSt Mary the VirginAdministrationProvinceCanterburyDioceseGloucesterParishTewkesburyClergyVicar(s)Revd Canon Nick DaviesLaityOrganist/Director of musicCarleton EtheringtonOrganist(s)Simon BellChurchw…