当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 12 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 给更新癌推荐一个折腾不死的系统:NixOS
帖子发表于 : 2015-10-01 12:49 
头像

注册: 2007-04-28 15:14
帖子: 1165
系统: NixOS+虚拟机各种系统
送出感谢: 0 次
接收感谢: 5
比较特别的一个系统,可以多版本共存,可以还原回任意版本。

有点类似 npm的方式,所有软件安装在一个目录 nix/store 。没有 `/bin` `/sbin` `/lib` `/usr`等目录,所有软件全在 `/nix/store`,除了 `/bin/sh`,配置 `/etc` 是软链到 `/nix/store`。——绝对绿软了。

支持 二进制安装 或者 源码编译。编译脚本相对PKGBUILD来说,比较智能,和gentoo的差不多。

这系统要是稳定下来,非常适合当 服务器,编程用桌面,是个干活用的好系统。

当然,这样的设计,比较消耗磁盘空间。

国庆没出去泡妞的,有新玩具了。

系统主页:www.nixos.org
下载地址:https://nixos.org/nixos/download.html
软件仓库:https://github.com/NixOS/nixpkgs


提醒一句:
想尝试的同学,有个问题,和早期arch一样:网络!!!
所以,先不要像我下面那样,安装系统时一次太多软件,否则网速往往不够给力。

后面系统里的软件安装,可以直接编译安装,就不会这么痛苦了。


_________________
黑色的不是眼睛,而是眼圈
关注和实现科技领域未来3年内有大规模普及潜力、能改善穷人生活品质的技术/应用。
双路 + NixOS + lxde + qemu/spice + 智能生产线研发 + 柔性电路


最后由 jobinson99 编辑于 2015-11-14 18:30,总共编辑了 1 次

页首
 用户资料  
 
2 楼 
 文章标题 : Re: 给更新癌推荐一个折腾不死的系统:NixOS
帖子发表于 : 2015-10-01 21:58 
头像

注册: 2007-04-28 15:14
帖子: 1165
系统: NixOS+虚拟机各种系统
送出感谢: 0 次
接收感谢: 5
自己实测记录来了,逐步更新,感觉还不错,安装过程简单。

## 系统安装: ##

1. 先分区:可使用镜像里带的gparted,如果下载的镜像没这东西,随便找张linux安装盘,利用里面的工具分区格式化之……然后退出,使用nixos镜像。

2. 挂载和启用swap

代码:
        mount /dev/sdx1 /mnt/
        swapon /dev/sdx2


3. 生成系统配置文件模板:会生成两个配置文件 configuration.nix(总控) 和 hardware-configuration.nix(分区设定)

代码:
    nixos-generate-config --root /mnt


4. 修改配置:行首是`#`的表示不执行,默认大部分都不执行,需要改为可执行(去掉行首的`#`)

需要修改的项:

    - boot.loader.grub.device 指定引导器安装位置
    - networking.hostName 设定主机名
    - i18n 设定语言
    - time.timeZone 设定时区
    - environment.systemPackages 设定系统级软件,默认只有wget
    - services.openssh.enable 启用的守护进程,有一系列,根据需要开启关闭。
    - 设置新用户名和预置密码

具体设置可`man configuration.nix` 查看。

[别人的配置示例](https://nixos.org/repos/nix/configurations/trunk/)

配置完成后,安装系统:

代码:
    nixos-install


若因为网络啥的问题安装失败或者更改了configuration.nix,要继续安装或者刷新配置,也是这个命令`nixos-install`

安装到最后一步,会要求设置root密码:修改密码用 `passwd`

代码:
    setting root password...
    Enter new UNIX password: ***
    Retype new UNIX password: ***


全部搞定后,重启

代码:
   reboot


看看有啥软件可安装

代码:
    nix-env -qa \*


安装

代码:
    nix-env -i w3m



我的配置:还比较乱,过阵子再整理。

代码:

# Edit this configuration file to define what should be installed on
# your system.  Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running ‘nixos-help’).

{ config, pkgs, ... }:

{
  imports =
    [ # Include the results of the hardware scan.
      ./hardware-configuration.nix
    ];

  # Use the GRUB 2 boot loader.
  boot.loader.grub.enable = true;
  boot.loader.grub.version = 2;
  # Define on which hard drive you want to install Grub.
  boot.loader.grub.device = "/dev/sda";

# file system mount point

  fileSystems = [
      { mountPoint = "/home";
        device = "/dev/disk/by-uuid/4955738b-a555-4e5c-8bc7-a9b42599f777";
        fsType = "ext4";
      }
      { mountPoint = "/docs";
        device = "/dev/disk/by-uuid/b645272f-dad7-40aa-9701-6cd6a1657eb0d";
        fsType = "ext4";
      }
  ];

  # networking setting
 
  networking = {
        # nameservers = [ "8.8.8.8" ];
      hostName = "atlas"; # Define your hostname.
        extraHosts = "74.125.206.93 dl-ssl.google.com";
      # networkmanager.enable = true;
      wireless.enable = true;  # Enables wireless support via wpa_supplicant.
      enableB43Firmware = true;  # for my laptop wireless card firmware
  };
   
  # Select internationalisation properties.
  i18n = {
     consoleFont = "Lat2-Terminus16";
     consoleKeyMap = "us";
     defaultLocale = "en_US.UTF-8";
     supportedLocales = [ "en_US.UTF-8/UTF-8"
                "zh_CN.UTF-8/UTF-8"
                "zh_CN/GB2312"
                "zh_CN.GBK/GBK"
                "zh_CN.GB18030/GB18030"
                "zh_TW.UTF-8/UTF-8"
                "zh_TW/BIG5" ];
   };

  # Set your time zone.
   time.timeZone = "Asia/Shanghai";

  # List packages installed in system profile. To search by name, run:
  # $ nix-env -qaP | grep wget
  environment.systemPackages = with pkgs; [
     wget
     openbox
     sddm
     git
     w3m
     luakit
     firefox fcitx goldendict
     calligra emacs libreoffice okular
    wqy-zenhei kde-l10n-zh_CN virt-manager
    openjdk openjre
    android-sdk
    gwenview gimp inkscape blender
   ];

  # allow unfree packages
  nixpkgs.config.allowUnfree = true;
 
  # nix mirrors
  nix.trustedBinaryCaches = [
      "http://cache.nixos.org"
  ];

  boot.kernelModules = [ "kvm-amd" "wl" "tun" "virtio" ];

  # 虚拟化
  virtualisation = {
        # qemu

        # libvirtd for virt-manager
         libvirtd.enable = true;
    };

  # List services that you want to enable:

        # Enable the OpenSSH daemon.
        # services.openssh.enable = true;

        # Enable CUPS to print documents.
        # services.printing.enable = true;

  # GUI configuration
  services.xserver = {
        # Enable the X11 windowing system.
        enable = true;
        layout = "us";
        xkbOptions = "eurosign:e";

        ## for my ati graphics card
        # services.xserver.videoDrivers = [ "ati_unfree" ];

        # Enable the KDE Desktop Environment.
        displayManager.sddm.enable = true;
        # displayManager.kdm.enable = true;
        desktopManager.kde4.enable = true;
        # Enable openbox
        windowManager.openbox.enable = true;
   };
   
  ## hardware acceleration for 32-bit programs
  # hardware.opengl.driSupport32Bit = true;
  # Define a user account. Don't forget to set a password with ‘passwd’.
  # users.extraUsers.guest = {
  #   isNormalUser = true;
  #   uid = 1000;
  # };
  users.extraUsers.atlas = {
        uid = 1000;
        group = "users";
        extraGroups = ["wheel" "audio" "video" "libvirtd"];
        home = "/home/atlas";
        isSystemUser = false;
        useDefaultShell = true;
        initialPassword = "1234567890";
        };

  # The NixOS release to be compatible with for stateful data such as databases.
  system.stateVersion = "15.09";
}


_________________
黑色的不是眼睛,而是眼圈
关注和实现科技领域未来3年内有大规模普及潜力、能改善穷人生活品质的技术/应用。
双路 + NixOS + lxde + qemu/spice + 智能生产线研发 + 柔性电路


最后由 jobinson99 编辑于 2015-11-14 18:11,总共编辑了 4 次

页首
 用户资料  
 
3 楼 
 文章标题 : Re: 给更新癌推荐一个折腾不死的系统:NixOS
帖子发表于 : 2015-10-01 22:07 
头像

注册: 2010-04-10 16:14
帖子: 2940
系统: Arch Linux
送出感谢: 8
接收感谢: 74
同事用过一阵,开始吹得天花乱坠,后来嫌源里的包太少了弃掉了


_________________
一个世故的人可以重新回归淳朴。

这其实是指他的生活方式发生了变化。
过去的价值观改变了,
与大地和大地上的动物、植物联系在一起。

之所以出现这种变化,
是因为他真正理解了被称为“自然”的多元化、相互关联的诸般事件,
对自然这一系统内部的力量有了相当程度的尊重。


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 给更新癌推荐一个折腾不死的系统:NixOS
帖子发表于 : 2015-10-01 22:39 
头像

注册: 2007-04-28 15:14
帖子: 1165
系统: NixOS+虚拟机各种系统
送出感谢: 0 次
接收感谢: 5
susbarbatus 写道:
同事用过一阵,开始吹得天花乱坠,后来嫌源里的包太少了弃掉了


自己编译,哈哈,其编译器可自动识别autoconf类的配置,比arch 的abs智能点,要不可直接从aur.archlinux.org 或者gentoo上抄点,所以也还可以的。

代码:
    with import <nixpkgs> { };
   
    stdenv.mkDerivation {
      name = "nano-2.3.2";
   
      # The source tarball, downloaded into some place in the Nix store.
      src = fetchurl {
        url = ftp://ftp.gnu.org/pub/gnu/nano/nano-2.3.2.tar.gz;
        sha256 = "1s3b21h5p7r8xafw0gahswj16ai6k2vnjhmd15b491hl0x494c7z";
      };
   
      # The dependencies, referring to variables in <nixpkgs>.
      buildInputs = [ ncurses gettext ];
   
      # 默认可获得 autoconf类脚本,因此此部分不是必须的。
      buildCommand =
        ''
          tar xf $src
          cd nano-*
          ./configure --prefix=$out
          make
          make install
        '';
    }


_________________
黑色的不是眼睛,而是眼圈
关注和实现科技领域未来3年内有大规模普及潜力、能改善穷人生活品质的技术/应用。
双路 + NixOS + lxde + qemu/spice + 智能生产线研发 + 柔性电路


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 给更新癌推荐一个折腾不死的系统:NixOS
帖子发表于 : 2015-10-21 19:35 
头像

注册: 2007-04-28 15:14
帖子: 1165
系统: NixOS+虚拟机各种系统
送出感谢: 0 次
接收感谢: 5
重要补充:如果其二进制库 https://cache.nixos.org 连不上,可以直接源码编译,方法:

代码:
# 安装系统

nixos-rebuild switch --option use-binary-caches false

# 安装软件
nix-env -i xxx --option use-binary-caches false

# 比如:
nix-env -i firefox --option use-binary-caches false


当然,也可以手动指定镜像,不过目前nixos没有镜像!!!!

代码:
nixos-rebuild switch --option use-binary-caches http://镜像地址


_________________
黑色的不是眼睛,而是眼圈
关注和实现科技领域未来3年内有大规模普及潜力、能改善穷人生活品质的技术/应用。
双路 + NixOS + lxde + qemu/spice + 智能生产线研发 + 柔性电路


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 给更新癌推荐一个折腾不死的系统:NixOS
帖子发表于 : 2015-11-11 1:31 
头像

注册: 2009-04-11 23:46
帖子: 4162
系统: Arch Linux
送出感谢: 11
接收感谢: 127
nix 哪里类似 npm 了?nix 明明类似 git,所有东西都通过 hash 来定位,都存在一个地方。

另外推荐不喜欢 nix 自创语言的人 guix,来自 GNU,使用 guile 的。


_________________
我的博客 https://blog.lilydjwg.me/
提问的智慧 害人的 X-Y 问题
Arch Linux 中文论坛

我的vimrc: https://git.io/vimrc


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 给更新癌推荐一个折腾不死的系统:NixOS
帖子发表于 : 2015-11-11 19:06 
头像

注册: 2008-04-26 12:41
帖子: 11005
送出感谢: 11
接收感谢: 38
:em09


_________________
[新手必读]wubi安装常见问题(FAQ)
[分享]装双系统的同学必看——Windows与Linux系统共享交换分区的方法
kde下唯美的暗黑内透主题(无需编译)
无穷老机上的Trinity Desktop Environment


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 给更新癌推荐一个折腾不死的系统:NixOS
帖子发表于 : 2015-11-14 17:29 
头像

注册: 2007-04-28 15:14
帖子: 1165
系统: NixOS+虚拟机各种系统
送出感谢: 0 次
接收感谢: 5
lilydjwg 写道:
nix 哪里类似 npm 了?nix 明明类似 git,所有东西都通过 hash 来定位,都存在一个地方。

另外推荐不喜欢 nix 自创语言的人 guix,来自 GNU,使用 guile 的。

它的依赖管理方式像npm,
文件存储像git


guix有成型的操作系统了么?


这系统的软件库已经很丰富,够用,除了桌面已经换上这货,虚拟机里已经克隆一堆了:
vboxserver.nix qemuserver.nix vdocker.nix vphp.nix vnodejs.nix vruby.nix ……


_________________
黑色的不是眼睛,而是眼圈
关注和实现科技领域未来3年内有大规模普及潜力、能改善穷人生活品质的技术/应用。
双路 + NixOS + lxde + qemu/spice + 智能生产线研发 + 柔性电路


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 给更新癌推荐一个折腾不死的系统:NixOS
帖子发表于 : 2015-11-14 17:41 
头像

注册: 2009-04-11 23:46
帖子: 4162
系统: Arch Linux
送出感谢: 11
接收感谢: 127
jobinson99 写道:
lilydjwg 写道:
nix 哪里类似 npm 了?nix 明明类似 git,所有东西都通过 hash 来定位,都存在一个地方。

另外推荐不喜欢 nix 自创语言的人 guix,来自 GNU,使用 guile 的。

它的依赖管理方式像npm,
文件存储像git


guix有成型的操作系统了么?


这系统的软件库已经很丰富,够用,除了桌面已经换上这货,虚拟机里已经克隆一堆了:
vboxserver.nix qemuserver.nix vdocker.nix vphp.nix vnodejs.nix vruby.nix ……


它的依赖管理难道不是 stow 那样的吗?npm 那样子很坑的,没有确定性。

guix 有操作系统了,不过没试过,不知道用起来如何。另外 guix 似乎是在 GNU 的服务器上,没 CDN。


_________________
我的博客 https://blog.lilydjwg.me/
提问的智慧 害人的 X-Y 问题
Arch Linux 中文论坛

我的vimrc: https://git.io/vimrc


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 给更新癌推荐一个折腾不死的系统:NixOS
帖子发表于 : 2015-11-14 17:53 
头像

注册: 2007-04-28 15:14
帖子: 1165
系统: NixOS+虚拟机各种系统
送出感谢: 0 次
接收感谢: 5
lilydjwg 写道:
jobinson99 写道:
lilydjwg 写道:
nix 哪里类似 npm 了?nix 明明类似 git,所有东西都通过 hash 来定位,都存在一个地方。

另外推荐不喜欢 nix 自创语言的人 guix,来自 GNU,使用 guile 的。

它的依赖管理方式像npm,
文件存储像git


guix有成型的操作系统了么?


这系统的软件库已经很丰富,够用,除了桌面已经换上这货,虚拟机里已经克隆一堆了:
vboxserver.nix qemuserver.nix vdocker.nix vphp.nix vnodejs.nix vruby.nix ……


它的依赖管理难道不是 stow 那样的吗?npm 那样子很坑的,没有确定性。

guix 有操作系统了,不过没试过,不知道用起来如何。另外 guix 似乎是在 GNU 的服务器上,没 CDN。


不了解stow啊,实际也不是npm方式,因为npm是直接拷一份进去,而nixos是软链到特定的用户空间里。

nixos现在github上团队不小了,而且发展这么多年,资源已经足够日常使用了。


_________________
黑色的不是眼睛,而是眼圈
关注和实现科技领域未来3年内有大规模普及潜力、能改善穷人生活品质的技术/应用。
双路 + NixOS + lxde + qemu/spice + 智能生产线研发 + 柔性电路


页首
 用户资料  
 
11 楼 
 文章标题 : Re: 给更新癌推荐一个折腾不死的系统:NixOS
帖子发表于 : 2015-11-14 18:27 
头像

注册: 2009-04-11 23:46
帖子: 4162
系统: Arch Linux
送出感谢: 11
接收感谢: 127
jobinson99 写道:
不了解stow啊,实际也不是npm方式,因为npm是直接拷一份进去,而nixos是软链到特定的用户空间里。

nixos现在github上团队不小了,而且发展这么多年,资源已经足够日常使用了。


npm 不是拷贝一份,是拷贝多份,放依赖方的子目录里边。所以有时候会出现路径太长的错误。


_________________
我的博客 https://blog.lilydjwg.me/
提问的智慧 害人的 X-Y 问题
Arch Linux 中文论坛

我的vimrc: https://git.io/vimrc


页首
 用户资料  
 
12 楼 
 文章标题 : Re: 给更新癌推荐一个折腾不死的系统:NixOS
帖子发表于 : 2015-11-14 18:49 
头像

注册: 2007-04-28 15:14
帖子: 1165
系统: NixOS+虚拟机各种系统
送出感谢: 0 次
接收感谢: 5
lilydjwg 写道:
jobinson99 写道:
不了解stow啊,实际也不是npm方式,因为npm是直接拷一份进去,而nixos是软链到特定的用户空间里。

nixos现在github上团队不小了,而且发展这么多年,资源已经足够日常使用了。


npm 不是拷贝一份,是拷贝多份,放依赖方的子目录里边。所以有时候会出现路径太长的错误。

是的。


nix 设计者2003年就在论文里提出并实现的……


_________________
黑色的不是眼睛,而是眼圈
关注和实现科技领域未来3年内有大规模普及潜力、能改善穷人生活品质的技术/应用。
双路 + NixOS + lxde + qemu/spice + 智能生产线研发 + 柔性电路


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 12 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译