debian_debian 命令 - CSDN
debian 订阅
广义的Debian是指一个致力于创建自由操作系统的合作组织及其作品,由于Debian项目众多内核分支中以Linux宏内核为主,而且 Debian开发者 所创建的操作系统中绝大部分基础工具来自于GNU工程 ,因此 “Debian” 常指Debian GNU/Linux。非官方内核分支还有只支持x86的Debian GNU/Hurd(Hurd微内核),只支持amd64的Dyson(OpenSolaris混合内核)等。这些非官方分支都存在一些严重的问题,没有实用性,比如Hurd微内核在技术上不成熟,而Dyson则基础功能仍不完善。“Debian” 正式发音为 /ˈdɛ.bi.ən/ ,Debian 是国际化协作项目,官方未指定任何非英文名称。 展开全文
广义的Debian是指一个致力于创建自由操作系统的合作组织及其作品,由于Debian项目众多内核分支中以Linux宏内核为主,而且 Debian开发者 所创建的操作系统中绝大部分基础工具来自于GNU工程 ,因此 “Debian” 常指Debian GNU/Linux。非官方内核分支还有只支持x86的Debian GNU/Hurd(Hurd微内核),只支持amd64的Dyson(OpenSolaris混合内核)等。这些非官方分支都存在一些严重的问题,没有实用性,比如Hurd微内核在技术上不成熟,而Dyson则基础功能仍不完善。“Debian” 正式发音为 /ˈdɛ.bi.ən/ ,Debian 是国际化协作项目,官方未指定任何非英文名称。
信息
用户空间
GNU,X11
发行许可
GPL,AGPL,LGPL,FDL,公共域MIT
内核分支
Linux,Hurd,OpenSolaris
支持架构
x86,arm,mips,ppc,s390,sparc
中文名
Debian
开发社区
Debian Project
外文名
Debian
软件管理
APT/dpkg
Debian简介
Debian计划是一个致力于创建一个自由操作系统的合作组织。我们所创建的这个操作系统名为Debian。操作系统是使计算机运行的基本程序和工具的集合,其中最主要的部分称为内核(kernel)。内核是计算机中最重要的程序,负责一切基本的调度工作,并让您运行其他程序。Debian系统目前采用Linux内核或者FreeBSD内核。Linux是一个最初由LinusTorvalds创建,目前由全球成千上万的程序师共同维护的软件。FreeBSD是一个包括内核和其它软件的操作系统。然而,让Debian支持其他内核的工作也正在进行,最主要的就是Hurd。Hurd是一组在微内核(例如Mach)上运行的、提供各种不同功能的守护进程。Hurd是由GNU工程所设计的自由软件。官方所创建的这个操作系统中的大部分基本工具来自于GNU工程;因此我们把它们命名为GNU/Linux、GNU/kFreeBSD和GNU/Hurd。这些工具同样都是自由的。当然,人们真正需要的是应用软件,也就是帮助他们完成工作的程序:从文档编辑,到电子商务,到游戏娱乐,到软件开发。Debian带来了超过51000个软件包(为了能在您的机器上轻松地安装,这些软件包都已经被编译包装为一种方便的格式),一个软件包管理器(APT),以及其他帮助您在上千台计算机上管理数千个软件包的工具,过程就如安装一个应用程序那么简单。而这些全都是自由软件。这有点像一个高塔:在最底层的是内核,在内核上面的是所有的基本工具,然后是所有您在计算机上运行的软件。最后,在这个高塔顶端的就是Debian—把每件事情谨慎的组织和配合在一起,使得它们能够在一起和谐地运作。 [1] 
收起全文
精华内容
参与话题
  • debian详细安装

    千次阅读 2019-01-25 15:40:55
    debian详细安装
                   

    一、写在前:
          在选择debian之前我也试过 redhat9.0, suse9.3,一开始使用redhat是因为只知道redhat这个linux发行版,那时在我的映象里linux就是redhat,redhat就是linux,后来才知道linux其实右很多发行版,又试了suse9.3,感觉她对硬件识别很好,而且界面很人性化,但用了一段时间感觉她封装的太严密了,有点象windows。在一个同学的推荐下,尝试了debian。记得刚接触debian的时候,光是安装就花了三天时间,而且平均每天格盘10次(现在想起来都有点还怕),而且debian不象suse或redhat,大部分东西都已经配置好了,安装了不用再怎么配置就可以用,她很多东西都不是现成的,这就要求debianer要有充分动手实践的能力。


    二、debian的基本系统安装
          现在关于debian的安装网上也有很多可学习的资源(我自己也是从那些资源中学习的),但是很多都比较散,所以我结合自己的实际经历再次说明下安装过程,以便一些初学者参考。其中很多些节都是亲自尝试的,所以只要按照下面所述安装方法可以少走弯路。

    1.将debian安装盘第一张CD(我现在用的是debian 3.1r1,2005年12月20日发行的)放入光驱,重启。
    2.出现debian的安装画面,输入linux26(安装2.6系列的内核,也可以按F1查看帮助)进入语言选择;
      语言选择建议选择English(如果选择中文有些软件的编码会是乱码);
      时区选择Other->Asian->China;
      键盘排列方式默认美国英语;
      网络设定主机名称是计算机在网络中的标识,默认的debian,跟windows中的计算机名差不多;
      域名设定如果不是服务器随便都行,我的是.org;
      分区:Swap(交换分区)大小一般是内存容量的两倍;磁盘大小允许的话最好把/home单独分一区,文件各式都选择ReiserFS;新手建议自动分区;
      然后确定将修改写入磁盘,就开始安装基本系统,如果出现选择内核类型的话选择2.6.8-686。安装完后取出光盘重启就到了base-config。
      硬件时钟设置用默认的;
      到选择时区时选择China;
      设置root密码,输入你自己的root密码,确认密码;
      设置一个非root用户,设置密码,密码确认;
      安装源选择,选择取消;
      结束base-config配置。

    三、基本软件安装
    结束了base-config就到了命令登录提示,用root登录。
    1.选择安装源:创建文件 /etc/apt/sources.list,下面是我的安装源文件,我用的testing(etch)的,软件虽然比unstable的老,但是相对 stable的要新,而且问题也不是很多,适合做桌面。unstable(sid)的也用过,软件版本最新,不过里面由于软件不稳定,所以经常有莫名其妙的问题,适合开发测试人员和喜欢尝试最新版本的人;stable(sarge)的也用过,不过里面的软件版本太老,更新慢,适合服务器用。

    #
    # Replace /etc/apt/sources.list with this file will change apt source to GeekBone Debian Mirror
    #
    deb http://mirrors.geekbone.org/debian testing main non-free contrib
    deb-src http://mirrors.geekbone.org/debian testing main non-free contrib
    deb http://mirrors.geekbone.org/debian-non-US stable/non-US main contrib non-free
    deb-src http://mirrors.geekbone.org/debian-non-US stable/non-US main contrib non-free

    deb http://mirrors.geekbone.org/debian testing-proposed-updates main contrib non-free
    deb-src http://mirrors.geekbone.org/debian testing-proposed-updates main contrib non-free

    deb http://mirrors.geekbone.org/debian-security stable/updates main contrib non-free
    deb-src http://mirrors.geekbone.org/debian-security stable/updates main contrib non-free

    #################################################
    #
    # See http://debian.okey.net/
    #
    #Available components:Fonts
    deb http://debian.okey.net/debian-fonts/ ./

    #Available components:java jrfonseca marillat misc rareware ustc
    deb http://debian.okey.net/debian-uo/ unstable java jrfonseca marillat misc rareware ustc
    deb-src http://debian.okey.net/debian-uo/ unstable java jrfonseca marillat misc rareware ustc

    ################################################
    #
    # Unofficial packages
    # Available components: marillat rareware ustc java misc jrfonseca firefly
    #

    # marillat: package repository at http://marillat.free.fr/ . Select this if you want mplayer, transcode, ... etc.
    # ustc: Packages maintained by debian@ustc. chmsee, emacs22, mule-gbk, openq, stardict dicts, patched xpdf, irssi, xmms...etc.
    # java: Blackdown java. Check this if you want j2re, j2sdk or mozilla java plugin.
    # misc: nvidia-kernel ... .
    # jrfonseca: Jose Fonceca's Debian Repository(http://jrfonseca.dyndns.org/debian/), includes Blackdown java(TM) 2, SciPy and F2PY, etc.
    # firefly: DO NOT USE THIS UNLESS YOU KNOW WHAT YOU ARE DOING.

    deb http://debian.ustc.edu.cn/debian-uo unstable marillat ustc java jrfonseca ##firefly
    deb-src http://debian.ustc.edu.cn/debian-uo unstable marillat ustc java jrfonseca ## firefly

    ################################################
    #Available components see http://www.rarewares.org/
    deb http://www.rarewares.org/debian/packages/unstable/ ./

    ################################################
    #See http://ftp.nerim.net/
    #Available components: marillat
    deb http://ftp.nerim.net/debian-marillat/ sid main
    deb-src http://ftp.nerim.net/debian-marillat/ sid main

    ################################################
    #See http://www.linuxsir.org/bbs/showthread.php?t=201186

    #Freetype surport Bold
    deb http://people.debian.org.tw/~koster/debian/sid ./
    deb-src http://people.debian.org.tw/~koster/debian/sid ./

     

     

    保存好sources.list后,在命令提示符下键入以下命令:
    #apt-get update        (这句是更新软件列表)
    #apt -get install linux-image-2.6.12-1-686 linux-headers-2.6.12 -1-686 (testing里目前最新的内核是2.6.12,请选择适合自己cpu类型的内核,-386和-686适合于 Intel 32位处理器)
    等内核安装完成后重启下机子,选择新内核重新登录。

    2.安装桌面
    如果你喜欢kde(我的是kde),请按照下面的命令:
    #apt-get install x-window -system kde kde-i18n-zhcn kdm menu (排列顺序可以颠倒。x- window-system是Xserver,testing里的是xorg,kde kde-i18n-zhcn是kde的中文环境,kdm 是桌面起动管理器,menu是菜单)

    如果gnome,命令如下:
    #apt-get install x-window-system gnome gdm menu

    安装过程中可能会出现配置xserver的提示,一般默认选项就行。安装完成后用startx命令,或者重启就可以进入桌面环境了。(以下介绍主要针对kde)

    3.汉化与美化
    默认的桌面环境是英文的,所以首先要安装字体。
    在刚才的sources.list中的deb http://debian.okey.net/debian-fonts/ ./有windows中的字体,安装新宋,命令如下:
    #apt-get install ttf-microsoft-simsun
    不过因为windows中的字体不是free的,所以涉及授权问题,不建议使用,可以使用free的字体,上海uming:
    #apt-get install ttf-arphic-uming

    安装完字体后,安装浏览器:
    #apt-get install mozilla-biofox mozilla-firefox-locale-zh-cn
    然后用浏览器打开 http://debian.okey.net/debian-fonts/,将他目录下的字体设置文件local.conf保存到本地,然后拷贝到/etc/fonts目录下。接下来是美化字体,在/etc/fonts/conf.d目录下创建文件10-myfonts.conf(版权说明:该文件不是我原创,是我原来遇到字体美化问题时www.linuxsir.org上找到的),内容如下:


    <?xml version="1.0"?>
    <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
    <!-- conf.d/10-myfonts -->
    <fontconfig>
     <dir>/usr/share/fonts</dir>
     <dir>/usr/local/share/fonts</dir>
     <dir>~/.fonts</dir>
    <!--加入点阵字体路径-->
    <dir>/usr/X11R6/lib/X11/fonts</dir>

    <!--
    配置粗体中文显示,要配合freetype-2.1.10,libxft-2.1.7,fontconfig-2.3.X
      -->

         <match target="font">
             <!-- check to see if the font is just regular -->
             <test name="weight" compare="less_eq">
                 <int>100</int>
             </test>
             <!-- check to see if the pattern requests bold -->
             <test target="pattern" name="weight" compare="more_eq">
                 <int>180</int>
             </test>
             <!-- set the embolden flag -->
             <edit name="embolden" mode="assign">
                 <bool>true</bool>
             </edit>
         </match>

    <!--
            default settings for all fonts.
    -->
    <match target="font" >
    <!-- 打开字体的反锯齿即AA,大号字用AA会更美观   -->
                    <edit mode="assign" name="antialias" >
                            <bool>t</bool>
                    </edit>
                    <edit mode="assign" name="hintstyle" >
                            <const>hintslight</const>
                    </edit>
    <!-- 打开hint  -->
                    <edit mode="assign" name="hinting" >
                            <bool>t</bool>
                    </edit>
    <!-- 关闭autohint  -->
                    <edit mode="assign" name="autohint" >
                            <bool>false</bool>
                    </edit>
    </match>


    <!-- 关闭 8到17号字体的AA -->
     <match target="font" >
                    <!--
                    <test compare="contains" name="lang" >
                            <string>zh-cn</string>
                            <string>zh-tw</string>
                            <string>ja</string>
                            <string>ko</string>
                    </test>
                    -->
                    <test compare="more_eq" name="pixelsize" qual="any" >
                            <double>8</double>
                    </test>
                    <test compare="less_eq" name="pixelsize" qual="any" >
                            <double>17</double>
                    </test>
                    <edit mode="assign" name="antialias" >
                            <bool>false</bool>
                    </edit>
    </match>

    <!-- 解决英文字体间距过宽 -->
    <match target="font">

                    <test target="pattern" name="lang" compare="contains">
                            <string>zh-tw</string>
                            <string>zh-cn</string>
                            <string>ja</string>
                            <string>ko</string>
                    </test>
                    <edit name="spacing">
                            <const>proportional</const>
                    </edit>
                    <edit name="globaladvance">
                    <bool>false</bool>
                    </edit>
    </match>

    <!--
     设定中文最小字号,使得小字的中文美观
    -->
      <match target="font" >
            <test name="family" qual="any" >
                    <string>SimSun</string>
                    <string>NSimSun</string>
                    <string>SimHei</string>
                    <string>AR PL ShanHeiSun Uni</string>
                    <string>AR PL ZenKai Uni</string>
                    <string>AR PL New Sung</string>
                    <string>FZSongTi</string>
                    <string>FZMingTiB</string>
                    <string>FangSong_GB2312</string>
                    <string>KaiTi_GB2312</string>
            </test>
            <test compare="more_eq" name="pixelsize" >
                    <int>8</int>
            </test>
            <test compare="less_eq" name="pixelsize" >
                    <int>12</int>
            </test>
            <edit compare="eq" name="pixelsize" >
                    <int>12</int>
            </edit>
     </match>
    <!--
      把serif ,sans,monospace的family(字体族)重新排序,适应中文用户的用字习惯
    -->
       <alias>
          <family>serif</family>
          <prefer>
             <!--<family>Times New Roman</family>
             <family>Nimbus Roman No9 L</family>
             <family>Luxi Serif</family>
             <family>Times</family>-->
             <family>Bitstream Vera Serif</family>
             <family>Simsun</family>
             <family>MingLiu</family>
             <family>WenQuanYi Bitmap Song</family>
             <family>AR PL ShanHeiSun Uni</family>
             <family>AR PL ZenKai Uni</family>
             <family>AR PL New Sung</family>
             <family>FZSongTi</family>
             <family>FZMingTiB</family>
             <family>Kochi Mincho</family>
             <family>AR PL SungtiL GB</family>
             <family>AR PL Mingti2L Big5</family>
             <family>Baekmuk Batang</family>
          </prefer>
       </alias>
       <alias>
          <family>sans-serif</family>
          <prefer>
             <!--<family>Arial</family>
             <family>Verdana</family>
             <family>Tahoma</family>
             <family>Helvetica</family>-->
             <family>Bitstream Vera Sans</family>
             <family>SimSun</family>
             <family>MingLiu</family>
             <family>WenQuanYi Bitmap Song</family>
             <family>AR PL ShanHeiSun Uni</family>
             <family>AR PL ZenKai Uni</family>
             <family>AR PL New Sung</family>
             <family>FZSongTi</family>
             <family>FZMingTiB</family>
             <family>Kochi Gothic</family>
             <family>AR PL KaitiM GB</family>
             <family>AR PL KaitiM Big5</family>
             <family>Baekmuk Dotum</family>

          </prefer>
       </alias>
       <alias>
          <family>monospace</family>
          <prefer>
             <!--<family>Courier New</family>
             <family>Courier</family>
             <family>Andale Mono</family>
             <family>Luxi Mono</family>
             <family>Nimbus Mono L</family>-->
             <family>Bitstream Vera Sans Mono</family>
             <family>NSimSun</family>
             <family>PMingLiu</family>
             <family>WenQuanYi Bitmap Song</family>
             <family>AR PL ShanHeiSun Uni</family>
             <family>AR PL ZenKai Uni</family>
             <family>AR PL New Sung</family>
             <family>FZSongTi</family>
             <family>FZMingTiB</family>
             <family>Kochi Gothic</family>
             <family>AR PL KaitiM GB</family>
             <family>Baekmuk Dotum</family>
          </prefer>
       </alias>

    </fontconfig>

     


    完成以上步骤后,在开始菜单中打开Control Center,查找language选择“国家/地区语言”添加语言,选择中文。
    重启后进入系统,此时kde已经是中文的了,汉化和美化到此告一段落。debian的安装基本就算结束了。以后就是常用软件的安装和一些配置,我会在后面继续贴出来。此间,如果遇到什么新的问题或解决方法,我也会尽快粘出来。


    4.常用软件
    (1)包管理软件synaptic:
    #apt-get install synaptic

    (2)安装声卡驱动,运行synaptic,搜索alsa,然后选择alsa-base,alsa-util,alsa-oss并安装。

    (3)安装输入法fcitx,安装完后创建文件 /etc/X11/Xsession.d/95im-launch。内容如下:

         
     export XMODIFIERS=@im=fcitx
          fcitx


    这样就可以开机自动运行fcitx了,使用方法跟widonws下的类似:CTRL+Space是打开输入法,+是向下翻页,- 是向上翻页。如果字体是方框,解决方法如下:
    $cd   (注意此时是自己的home目录)
    $vi .fcitx/config
    将第二行的"*"改为simsun或者你喜欢的中文字体。

    (4)安装lumaqq,运行synaptic(中文名字叫新力得软件包管理器),点“搜索”,在搜索栏里输入lumaqq,列出相关软件列表,然后选择lumaqq2005安装,由于lumaqq2005依赖于jre1.5,所以他会同时安装j2sdk1.5_01。

    (5)安装压缩/解压缩工具,同样运行synaptic,搜索ark,然后选中,并搜索zip,unzip,gzip,rar,tar并安装。然后如果你要解压某个压缩文件(比如.rar, .zip)就可以点->右键->ark。使用方法基本上跟windows下的 winrar一样。

    (6)安装播放软件,安装方法同上(synaptic):
    realplayer──这个不用介绍了吧。
    xmms──mp3。
    mplayer──支持多种文件格式。
    基本上上述三种就够了。
    这里特别说明下安装xmms,如果你在安装debian基本系统的时候编码选择的是“中文”,那么xmms的菜单可能会是乱码。解决办法:
    #dpkg-reconfigure locales
    然后选择zh_CN-UTF8,默认的也设置为zh_CN-UTF8
    #ln -s /etc/gtk/gtkrc.zh_CN /etc/gtk/gtkrc.zh_CN.utf-8

    (7)安装办公软件
    OpenOffice是开源的而且是出色的办公软件,testing里的版本是1.1.4-7,现在最新的是2.0。但是OpenOffice对中文支持的不是太好。所以还有另一个选择是永中Office,这是中国自己开发的,不过是一个商业软件,听说一套要1k左右,如果是教育那块的,凭有关证件好象是298,升级期为一年。

     

     

    四、使用经验杂谈
    1.如果是使用双系统的朋友可能在linux需要访问windows分区,可以用mount命令挂载fat,ntfs 盘。关于mount命令我就不多说了。这里我给一个脚本,可以开机自动挂载windows分区,这样在linux下访问win分区会很方便。需要说明的是这个脚本是一个高手写的,使用方法里面写的很详细。

    #!/bin/sh
    #
    #autowinfs auto mount windows disks
    #
    # Copyright (c) 2005 Jiahua Huang <jhuangjiahua@gmail.com>
    # License: GPLv2
    #
    #  把该脚本保存为  /etc/rcS.d/S95autowinfs , 加可执行属性
    # 用来自动挂载机器上的 Windows 分区
    # 六  4月 23 01:21:23 CST 2005

    mkdir -p /windows/
    rmdir /windows/* 1> /dev/null

    # 可以把脚本内容保存为 /etc/rcS.d/S60autowinfs
    # 加上可执行权限
    # 这样就可以在开机时候自动挂载 Windows 分区
    # 适用于需要增减硬盘,或硬盘分区的用户
    #
    #  本脚本用于 UTF-8 的 Locale 下 , 如果是  GBK 的 locale , 就把 下面的 iocharset=utf8  换成 iocharset=cp936
    # 单独的 fdisk -l 不能列出分区的情况很少了 , 所以把 /dev/[hs]d[a-z] 去掉
    ## fdisk -l /dev/[hs]d[a-z] | grep -E 'FAT|NTFS' | cut -d' ' -f1 | cut -d/ -f3 | while read WDISKS
    # 查找 NTFS 分区 , 新内核的 auto 好像有点问题 , 所以现在把 NTFS 和 VFST 分开来

    fdisk -l /dev/[hs]d[a-z] | grep 'NTFS' | cut -d' ' -f1 | cut -d/ -f3 | while read WDISKS
     do
      mkdir "/windows/$WDISKS"
      mount /dev/$WDISKS /windows/$WDISKS -t ntfs -o user,nls=utf8,umask=0
     done

     fdisk -l /dev/[hs]d[a-z] | grep 'FAT' | cut -d' ' -f1 | cut -d/ -f3 | while read WDISKS
     do
      mkdir "/windows/$WDISKS"
      mount /dev/$WDISKS /windows/$WDISKS -t vfat -o user,utf8,umask=0
     done


     exit 0

     


    以上是脚本的内容,另外我再给大家提点我在用这个脚本时候的经验,如果你的磁盘是fat或ntfs之中的一种,最好把上面代码中的读取另外一种格式的部分注释掉,不然在起动是会右错误提示,但是不影响使用。比如说你的只是fat,那么就把“fdisk -l /dev/[hs]d[a- z] | grep 'NTFS' | cut -d' ' -f1  | cut -d/ -f3 | while read WDISKS”到第一个“done”的代码都注释掉,注释的方法是每一行前面加“#”。

     

    关于apt-get update的时候出现"NO PUBLICKEY"的错误:

    1.错误症状:
    #apt-get update
    ......
    W: GPG error: http://mirrors.geekbone.org unstable Release: 由于没有公钥,下列签名无法进行验证: NO_PUBKEY 010908312D230C5F

    2.解决方法一:
    #gpg --keyserver keyring.debian.org --recv-keys 2D230C5F
    #gpg --armor --export 2D230C5F | apt-key add -
    #apt-get update

    如果keyring.debian.org连不上,可以尝试换成wwwkeys.eu.pgp.net。
    如果缺少的是其他公钥,只需要把“NO_PUBKEY”后面字符的最后8个字符将上面"2D230C5F"的位置上替换就可以了。

    3.解决方法二:
    仅限于缺少"2D230C5F"的。将下面公钥保存成key_2006.asc,然后自己添加:

                                                                                   

    -----BEGIN PGP PUBLIC KEY BLOCK-----
               

    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
    =msMj
    -----END PGP PUBLIC KEY BLOCK-----

               







    添加的命令如下:
    #apt-key add key_2006.asc

    如果缺少“07DC563D1F41B907”的用下面的公钥"key0x07DC563D1F41B907.asc":

           

    -----BEGIN PGP PUBLIC KEY BLOCK-----
    Version: PGP Universal 2.0.3
               

    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
    =oDfT
    -----END PGP PUBLIC KEY BLOCK-----

               

    添加命令如下:
    #apt-key add key0x07DC563D1F41B907.asc

               

    再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

    展开全文
  • CentOS、Ubuntu、Debian三个linux比较异同

    万次阅读 多人点赞 2014-07-31 12:58:12
    商业版本以Redhat为代表,开源社区版本则以debian为代表。这些版本各有不同的特点,在不同的应用领域发挥着不同的作用,不能一概而论。而绝大多数VPS上只提供开源社区维护的发行版本。下面就这些不同的Linux发行版...

    Linux有非常多的发行版本,从性质上划分,大体分为由商业公司维护的商业版本与由开源社区维护的免费发行版本。

    商业版本以Redhat为代表,开源社区版本则以debian为代表。这些版本各有不同的特点,在不同的应用领域发挥着不同的作用,不能一概而论。而绝大多数VPS上只提供开源社区维护的发行版本。下面就这些不同的Linux发行版进行简单的分析。

    Ubuntu

    Ubuntu近些年的粉丝越来越多,Ubuntu有着漂亮的用户界面,完善的包管理系统,强大的软件源支持,丰富的技术社区,Ubuntu还对大多数硬件有着良好的兼容性,包括最新的图形显卡等等。这一切让Ubuntu越来越向大众化方向发展。但别忘了:你所需要的只是一个简约、稳定、易用的服务器系统而已!

    Ubuntu的图形界面固然漂亮,但这也决定了它最佳的应用领域是桌面操作系统而非服务器操作系统。如何你希望在学习Linux的过程中有个沉浸式的环境,那么Ubuntu的确不错:仅仅安装在自己的电脑中而非服务器中。从这一点来讲,Ubuntu并没有在VPS安装的操作系统选择之列,相信你也不会为了那数百M的驱动与宝贵的内存买单。

    CentOS

    你会发现非常多的商业公司部署在生产环境上的服务器都是使用的CentOS系统,CentOS是从RHEL源代码编译的社区重新发布版。CentOS简约,命令行下的人性化做得比较好,稳定,有着强大的英文文档与开发社区的支持。与Redhat有着相同的渊源。虽然不单独提供商业支持,但往往可以从Redhat中找到一丝线索。相对debian来说,CentOS略显体积大一点。是一个非常成熟的Linux发行版。

    Debian

    一般来说Debian作为适合于服务器的操作系统,它比Ubuntu要稳定得多。可以说稳定得无与伦比了。debian整个系统,只要应用层面不出现逻辑缺陷,基本上固若金汤,是个常年不需要重启的系统(当然,这是夸张了点,但并没有夸大其稳定性)。debian整个系统基础核心非常小,不仅稳定,而且占用硬盘空间小,占用内存小。128M的VPS即可以流畅运行Debian,而CentOS则会略显吃力。但是由于Debian的发展路线,使它的帮助文档相对于CentOS略少,技术资料也少一些。

    由于其优秀的表现与稳定性,Debian非常受VPS用户的欢迎。

    此外还有Arch Linxu、Gentoo、Slackware等一系列的Linux和FreeBSD、Unix等系统,由于其涉及领域更加专业,很少在VPS中出现,因此不作介绍。

    对于初学者,我们建议采用CentOS或Debian,这两种系统都能在配置较低的VPS上流畅运行。但是如果VPS配置太低(OPENVZ内存在128M以下,或者XEN架构内存在192M以下),建议采用Debian;否则建议采用CentOS,以获取更多的在线帮助与支持,让自己入门更轻松。


    CentOS、Ubuntu、Debian三个linux都是非常优秀的系统,开源的系统,也分付费的商业版和free免费版本,下面简单比较这三种系统。

    CentOS系统

    很多网站站长一般都选择centOS系统,CentOS是从redhat源代码编译重新发布版。CentOS去除很多与服务器功能无关的应用,系统简单但非常稳定,命令行操作可以方便管理系统和应用,并且有帮助文档和社区的支持。

    Ubuntu系统

     

    Ubuntu有亮丽的用户界面,完善的包管理系统,强大的软件源支持,丰富的技术社区,并且Ubuntu对计算机硬件的支持好于centos和debian,兼容性强,Ubuntu应用非常多,但对于服务器系统来说,个人感觉并不需要太多的各种应用程序,需要的是稳定,操作方便,维护简单的系统。如果你需要在服务器端使用图形界面,ubuntu是一个不错的选择,你需要注意的是,图形界面占用的内存非常大,而内存越大的vps价格也越高。

     

    Debian系统

    Debian也非常适合做服务器操作系统,与Ubuntu比较,它没有太多的花哨,稳定压倒一切,对于服务器系统来说是一条不变的真理,debian这个linux系统,底层非常稳定,内核和内存的占用都非常小,在小内存的VPS就可以流畅运行Debian,比如128m的内存,但debian的帮助文档和技术资料比较少。对于小内存,首选debian,对于非常熟悉linux系统的vps高手,首选debian。

     

    在系统的选择上,属于新手,首选CentOS,并不是centos比Debian和ubuntu好,而是centos是初学者安装vps的首选,它既稳定,占用资源又少,在网络上能方便搜索到安装配置的文档,自身的帮助文档也非常强大;如果你是linux高手,高手的境界一般都选择debian,因为高手能在低配的vps上稳定运行系统;而ubuntu,系统虽然免费,但它适合有钱人玩,它占用的资源是比前面两种系统更高,而vps基本就是卖内存,内存越高,价格越贵。


    我们运行着一些全球最大的互联网的营运,因此我们对可靠性和稳定性非常重视,是我们的第一要务。为此,我们只使用Linux来支撑顾客的系统。但是,我们应该使用哪一个Linux的发行版?答案是,CentOS。 为什么呢?

    作为一个庞大的系统运营商,在很长的一段时间里,我们需要在多种大型系统中找到一个可靠的,可预测的系统,我们需要从世界上最强大的软件供应商和开源项目中获得强有力的支持。对于那些最常用的系统,我们需要文档,工具和全球性资源。

    正因如此,RedHat / CentOS系列发行版正是我们的选择。他们能够满足以上所有需求,而且问题相对较少、长期稳定,这使得我们能够为成千上万的运行了不同配置、服务和应用的系统提供世界级的维护。

    RedHat Enterprise Linux (RHEL)是黄金标准的企业发行版。它每五年左右更新一次,在系统的稳定性,前瞻性和安全性上有着极大的优势。每当新的主版本发行后,比如 5.x亦或最近的6.x,所有版本和代码都将保留不变,只有安全问题或是主要的bug,例如后门,端口之类的问题,会通过发布新的子版本来修复。

    CentOS是RHEL发行版对应的开源版本,通常在RedHat的发布后就会很快发行。我们使用CentOS的原因在于RHEL发行版的标准支持服务费用非常高,大约每台服务器800美元左右,对于我们很多拥有数十台甚至上百台服务器的用户来说,这是必须要控制的成本。

    RHEL/CentOS系统有两个潜在的问题。

    首先,一旦确定了主版本,,除了安全问题和严重故障会被修复以外,其他内容将不会做任何改变。这虽然对稳定性有好处,但是对许多服务不利。比如MySQL和PHP服务,它们在这五年的CentOS/RHEL主版本发布周期中会进行繁重的开发和大量的修改。例如,MySQL5.0 是当前RHEL/CentOS主版本所默认使用的版本,但是当前MySQL已经更新到5.1和5.5版本了。

    幸运的是,这个问题被Yum软件包管理器轻易地解决了。如此以来,那些主要的软件,例如当前RHEL/CentOS中实际的组件,包括内核和所有工具等仍然来自发行版, 但是那些附加的软件,例如Nginx,Apache,PHP,Java和MySQL等等来自更新的软件源例如Fedora; 或者直接从开发商获取更新的版本例如MySQL。 在我们这里,我们有自己专用的安装镜像来全自动的处理所有这些事情。

    其次,CentOS的发行会滞后于RedHat的发行,包括关键的补丁和修复。这在RHEL 6.x的发行周期中尤为显著。但是根据我们的经验,这没什么好担心的,对我们来说永远不会成为问题。

    很多人询问我们为什么不用基于Debian的系统,例如Debian或者Ubuntu服务器。如果在别无选择的情况下,我们的确会支持这个建议,但是根据我们的经验来看,这些系统并不如RHEL/CentOS来的稳定和可靠。

    我们认为,这在某种程度上是由于他们过快的发展和各个版本、组合之间较少的测试且不成熟所导致的。然而尽管他们非常流行,但是主要的服务商和项目都仍然首选RHEL/CentOS系统,因为这样他们就可以为企业顾客提供服务,(对Oracle和MySQL更是如此)。除此之外,基于Debian的系统有许多内核和稳定性问题,尤其是在我们的云计算服务中。

    对我们而言,唯一使用Debian/Ubuntu的原因是:

    “它们能够为一个系统提供必要的特殊服务时,尤其是当一些驱动程序或者一些IO 子系统需要一种新的内核的时候”。例如,ext4 文件系统或在最近的内核中日志的改变等;现在,所有这一切都包含在了RHEL/CentOS6.x中。

    当然,多数Linux开发者都使用的是Ubuntu的桌面版,而且可以理解的是,他们更倾向在开发生产时使用相同的系统,并且还能使用很多有趣的工具。但总体上来说,我们依然认为RHEL/CentOS是一个更优越的部署平台,并且已经有十多个客户成功地转向使用CentOS 作为生产环境并且没有任何问题,但这仍然是艰巨的任务。

    总的来说,你将更乐于看到一个良好管理的CentOS 系统。我们有成千上万台服务器使用CentOS平台,而每年平均只有一台服务器崩溃。我们也很难想象它竟如此罕见,所以,挑一个优秀、迅捷、可靠的平台吧!

    展开全文
  • Linux系统Debian安装

    千次阅读 2018-08-02 15:44:15
    虚拟机VMware安装Debian(小白教程)  最近学习中顺便做了个文档,下载 一、下载Debian 网址:https://www.debian.org/distrib/     二、安装Debian8 1、 选择稍后安装...

     虚拟机VMware安装Debian(小白教程)                                                                               

     最近学习中顺便做了个文档,下载

    一、下载Debian

    网址:https://www.debian.org/distrib/

     

     

    二、安装Debian8

    1、  选择稍后安装操作系统

     

     

    2、选择系统

         

     

    3、命名虚拟机

            

    4、指定磁盘容量(40G,这个看情况),存储为单个文件(容易找到)

            

     

    5、完成虚拟机创建后设置

     

    (1)、内存

            

     

    (2)、网络适配器

            

     

    (3)、设置系统影像

             

     

    6、安装Debian8系统

    (1)、Install

            

    (2)、安装中文简体

     

     

     

    (3)、继续安装

    (4)、区域

    (5)、配置键盘

    (6)、安装中

    (7)、网络配置失败是在选择网络适配器是使用桥接模式,可以在VMware软件选择虚拟机时重新设置(没有出现这界面跳过)

    (8)、现在不进行网络配置(没有出现这界面跳过)

    (9)、输入系统主机名称

    (10)、设置root系统管理员密码

    (11)、再次输入

    (12)、创建一个用户,一般不使用root用户进行操作,所以要创建另外一个用户。

    (13)、设置创建用户密码

    (14)、再次输入密码

    (15)、启动partitioner

    (16)、手动配置磁盘

    (17)、分区

    (18)、确定创建新的空分区表

    (19)、选择空间

    (20)、创建新分区

    (21)、设置分区大小

    (22)、设置新分区类型

    (23)、新分区的位置

    (24)、分区设置

    (25)、主分区设定结束

    (26)、设置逻辑分区

    (27)、逻辑分区-创建新分区

    (28)、逻辑分区-继续

    (29)、设置为逻辑分区

    (30)、选择用于:

    (31)、用于:交换空间

    (32)、逻辑分区设置完毕可以看到

    (33)、分区设定结束

    (34)、分区设定结束并将修改写入磁盘

    (35)、确定写入

    (36)、正在安装系统…

    (37)、网络镜像(建议不选择,这里下载速度蜗牛,甚至连不上)

    (38)、虚拟机没有GRUB,所以选择安装

    (39)、选择系统设备

    (40)、结束安装进程

    (41)、网络配置失败的需要重新配置网络配置器,再重启,重启后看到这个样子,第一个是系统

    (42)、登录自己的用户

    (43)、这里可以使用默认配置

     

     

    安装完成啦!

     

    7、Linux目录图

     

     

    结语:感谢你看完整个小白教程!

    Debian安装完成后的一些配置

     最近学习中顺便做了个文档,下载

     

     

    展开全文
  • “我要彻底放弃 Debian 操作系统!”

    万次阅读 2019-03-25 12:51:21
    早在 Ubuntu 诞生之前,作为完全由自有软件组成的类 UNIX 操作系统 Debian 凭借着惊人的软件数量、高度集成的软件包、良好的安全等特性成为 Linux 领域的佼佼者。不过如今看来,Debian 的流行度开始大大减弱。 日前...
        

    640?wx_fmt=gif

    640?wx_fmt=jpeg

    早在 Ubuntu 诞生之前,作为完全由自有软件组成的类 UNIX 操作系统 Debian 凭借着惊人的软件数量、高度集成的软件包、良好的安全等特性成为 Linux 领域的佼佼者。不过如今看来,Debian 的流行度开始大大减弱。

    日前,维护 Debian 包近 10 年的开发者 Michael Stapelberg 发文表示,要在维护的 Debian 包中删除自己的姓名,并让这些包自生自灭,彻底放手 Debian,而这究竟是何原因使得 Debian 惨遭嫌弃?

    640?wx_fmt=png

    作者 | Michael Stapelberg

    译者 | 弯月

    责编 | 屠敏

    出品 | CSDN(ID:CSDNNews)

    以下为译文:

    这篇文章我写得十分艰难,一来是感情上的纠结,二来是我没有时间。因此,在阅读本文时请注意,我无意触怒任何为Debian做出了贡献的人,我只是想表达我对Debian太过于失望而决定放手的原因。

    到目前为止,Debian出现在我的生命中已经超过10年了。

    几个星期前,我在苏黎世Debian聚会上遇见了一些多年未见的老朋友。在骑自行车回家的路上,我突然发现我们讨论的主题与我们上次的讨论大致相同。出于对开源社区的尊敬,我们绕了个圈子先探讨了systemd的好处,然后回到了Debian的讨论,最后兴致所至还谈到了Debian的民主以及他们在理论和实践上的失败。诚然,最后一个话题有点像瑞士。

    我说这些不是对Debian聚会有异议,而是因为通过这次聚会我开始反思最近对Debian的感觉,还有它是否适合我。

    最终,我做出了一个本应在很久以前就已经做出的决定:我会将有关Debian的工作减到最少。


    640?wx_fmt=png

    这是什么意思?


    在接下来的几周内,我将:

    • 将包转交给相应的维护团队

    • 从其他维护者的包的Uploaders字段中删除自己的名字

    • 对于那些只有我在维护的包,那就任其自生自灭吧

    我将尽最大努力维护manpages.debian.org服务(https://manpages.debian.org/)和codesearch.debian.net服务(https://codesearch.debian.net/),但是随时欢迎别人来帮忙。

    请所有人都当我永远休假去了。我会尽力解决管理的问题(例如许可转移等),如果有人直接向我提问,而且问题很容易回答的话,我也会尽力回答。


    640?wx_fmt=png

    为什么?


    当年加入Debian的时候,我还是一名学生,所以我有大量的业余时间。现在,经过5年多的全职工作,我从日常的工作中学到了很多知识,包括大型软件工程项目的工作原理,而且我也明白自己多么地喜欢我的计算机系统。我非常清楚这些日子以来的闲暇时间我是如何度过的。

    我会在以下各小节中逐一介绍我所面临的主要困难,讨论顺序不分先后。其中有些困难有一些相互影响——例如,如果改动后的效果更好,那么我们就有机会将包转换成更方便的机器读取。

    Debian的变更流程

    最近几年,我目前的团队在整个代码库中进行了各种大大小小的重构(涉及数千个项目),因此在关于如何有效地进行这些变更方面,我们学到了很多宝贵的经验。令我苦恼的是,Debian在各方面的工作方式几乎完全相反。我理解每个组织都不同,但我认为我的很多观点确实适用于Debian。

    在Debian中,包的推送必须严格遵守一个文档——叫做Debian策略,还有个程序lintian用来保证该策略的实施。

    虽然拥有一个lint工具(能实现快速、本地/离线的反馈)非常好,但最好的情况还是完全不需要lint工具。实施变更(例如C++团队为所有包引入了一个新的强化标志)的团队应该能够让我明确看到他们的工作。

    然而,实际情况却恰恰相反,目前所有的包都由于lint而变得不干净,所有的维护者都需要阅读新内容是什么、可能会造成怎样的破坏、是否有影响以及怎样的影响、手动运行一些测试、最后再决定是否采用。整个过程的工作量巨大,而且还需要手动执行机械的更改。

    特别是,在Debian的变更模型中,所有更改的工作都会分派给包维护者。在工作中,我们发现相反的工作方式更好:即让负责变更的团队自行选择那些能影响更多用户的更改,这样可以显著地提高效率,从而降低总体的成本和时间。当然,有些例外情况(例如滥用语言功能的大型项目)仍应由各自的所有者负责,但重要的是默认情况应该是相反的。

    Debian缺乏管理重大变更的工具:很难用程序的方式处理包和存储库(请参见下一小节的内容)。最近一次发送过来要求审核的更改是一个附带补丁的bug报告。我认为接受bug报告更改的流程太复杂,然后开始尝试mergebot,但只有Guido曾经表示对该项目感兴趣。

    在文化方面,Debian的评论和反应都很慢。凡事都没有截止期限。有时我会收到电子邮件,通知我说我在几年前(!!)发送的补丁现在终于合并了。只有短短数周的项目拖到了数年,对我来说这是一个巨大的消极影响。

    有趣的是,你可以看到缓慢的线上活动也影响到了线下的文化:我不想在第一次听到systemd后,过10年之久再讨论它。

    最后,如果有人坚持拒绝合作,那么你做出的变更很容易就会被一拖再拖。我举一个典型的例子:rsync,其维护者完全出于个人的喜好拒绝我的补丁包使用debhelper。

    赋予个人维护者如此大的自由,导致我们无法开展提高构建Debian软件包抽象级别的项目,这反过来又让工具更加困难。

    更好的方式是什么?

    1. 作为一个项目,我们应该努力实现更多的统一。统一性并不能完全去除实验,它只是改变了两者的平衡,从简单的实验和难度较高的自动化变成了难度较高的实验和简单的自动化。

    2. 我们的文化需要从“这个包归我管,你不能碰”转变为共同的所有权意识,项目中的任何人都可以很容易地贡献(经过审查的)变更,而不必凡事都要通过个人维护者。

    支离破碎的工作流程和基础设施

    Debian似乎更倾向于采用分散式的方法,而不是集中式的方法。例如,每个包都保存在单独的代码库中(而不是在一个统一的代码库中),每个代码库都可以使用随意地代码管理工具(通常是git和svn)或者根本不使用代码管理工具,而且每个代码库都可以托管在不同的站点上。不用说,你在这样的代码库中所做的工作也因团队而异,甚至是团队内部都有微妙的不同。

    而在实践中,我们很少会用到非标准的托管方式,这并不是因为成本问题,而是考虑到将变更自动化时的困难性。你不能使用GitLab的API来创建合并请求,而是必须通过一个完全不同的、非常复杂的系统,而这个系统会出现间歇性(或永久性!)无法访问代码库的情况,或者无法从提交上来的补丁(bug报告、合并请求、拉取请求、电子邮件等等)中抽取差异。

    各色迥异的工作流程不仅仅是一个临时问题。我在DebConf 13期间参加了有关不同git工作流程的一个漫长的讨论,并在此期间经历了类似的讨论。

    我未能清楚地记住不同工作流程的所有细节。每当我遇到一个与我的工作方式截然不同的包时,我就会非常沮丧,我不得不重温日常工作的各个方面。

    在注意到Go包团队(我最初的团队)工作流程的支离破碎后,我尝试采用这篇文章(https://go-team.pages.debian.net/workflow-changes.html)中介绍的工作流程更改提议来解决这个问题,但没能成功。虽然我愿意贡献时间和精力,但周围的工具缺乏有效的自动化,且变化速度缓慢,这抹杀了我的动力。

    陈旧的基础设施:包的上传

    如果想在Debian中创建包,你需要通过匿名FTP上传GPG签名的文件。还有几个定时(例如dinstall的运行时间为UTC 01:52、UTC 07:52、UTC 13:52和UTC 19:52)运行的批处理作业(队列守护程序、unchecked、dinstall,以及其他等)。

    根据时间安排,我估计你可能需要等待7个小时(!!)以上,你的包才能变成可安装的状态。

    对我来说更糟糕的是,针对上传的反馈是异步的。我喜欢做一件事,那就做完它,然后再做下一件。然而,由于没有良好的技术,当前的设置需要等上好几分钟,而且任务切换的开销很大。你可能觉得几分钟也没什么大不了,但是我每天在Debian上花费的时间都以分钟来衡量的话,那么会对工作的生产力和乐趣产生巨大的影响。

    最后一次有关于加快这一流程的沟通是2008年ganneff的这篇文章(https://lists.debian.org/debian-project/2008/12/msg00014.html)。

    更好的方式是什么?

    1. 利用一个Web服务取代匿名FTP,通过该服务接收我的包,并在响应中返回权威的决定:拒绝或接受。

    2. 对于接受的包,通过一个状态页面来显示包的状态,以及可以通过镜像网络提供包的时间。

    3. 包应在构建完成后,几分钟内即可进入可访问状态。

    陈旧的基础设施:bug追踪

    我非常害怕与Debian的bug追踪系统交互。debbugs是一款始于1994年的软件,目前仅供Debian和GNU项目使用。

    Debbugs负责处理电子邮件,也就是说它的处理是异步的且很麻烦。尽管我们在Debian最快的机器上运行了Debbugs,但是它的Web界面加载速度依然非常慢。

    尤其是bugs.debian.org的Web界面是只读的。为reportbug(1)(https://manpages.debian.org/stretch/reportbug/reportbug.1.en.html)设置有效的电子邮件,或手动处理附件都是一件极其麻烦的事情 。

    由于一些我不理解的原理,每次与debbugs的交互都会引发很多电子邮件。

    除了技术实现之外,我永远也记不住Debian使用伪包来处理bug和进程的不同方式。我几乎很少用到它们,所以也没心思搞清楚如何设置它们,或它们使用了多少内存,但是它们却给我频添烦恼。

    更好的方式是什么?

    1. Debian从自定义的bug跟踪程序切换到(任何一种)完善的工具。

    2. Debian围绕流程提供自动化。如果能以bug报告的形式提供这个过程中的文件跟踪和产出,那便再好不过了,而且主界面(例如Web表单)应该方便使用。

    陈旧的基础设施:邮件列表归档

    令我感到困惑的是,时至2019年,我们仍然没有一个方便浏览的邮件列表的归档。电子邮件在Debian中的使用尤为广泛,所以感觉这很讽刺啊。为了掩盖这个问题,我们使用了Gmane,但在过去几年中Gmane可谓是非常不稳定。

    我设法提供了一个线程列表的归档,但我们的列表管理员似乎并不关心,而且也不想支持这个项目。

    Debian很难机器读取

    虽然肯定有办法通过程序的方式处理Debian包,但这种体验一点也不愉快。一切似乎都十分缓慢而且很麻烦。我只选了三个简单的例子来说明我的观点。

    Debiman需要piuparts的帮助,才能分析每个包显示联机帮助页等内容的替代机制。这是因为维护者的脚本通过调用shell脚本来修改备用数据库。如果没有实际安装包,你就无法得知它对备选的数据库做了哪些更改。

    pk4需要维护自己的缓存,才能根据包的名称查找包的元数据。其他工具在每次调用时都需要从头开始解析apt数据库。一个恰当的数据库格式,或者至少是二进制的可交换格式都需要花费很大力气。

    Debian Code Search希望尽快接受新包。我们曾经用过Debian的fedmsg实例,但似乎现在已经不见了。目前还不清楚从哪里获取新包的通知,以及获取这些包的最佳位置。

    复杂的构建堆栈

    请参阅我的这篇文章“Debian软件包构建工具”(https://michael.stapelberg.ch/posts/2016-11-25-build-tools/)。让我感到困惑的是其他人不认为工具的蔓延是个问题。

    非常痛苦的开发者体验

    到目前为止,本文讨论的大多数都是开发Debian的体验,但是正如我最近的这篇文章“Debian中的调试体验”(https://michael.stapelberg.ch/posts/2019-02-15-debian-debugging-devex/)所描述的那样,使用Debian进行开发的体验也有很多不足之处。

    其他的想法

    到这里,这篇文章已经很长了,希望你已经对我的动机有了一个粗略的了解。

    尽管我上面描述了Debian的种种缺点,但压倒骆驼的最后一根稻草实际上还是其缺乏积极的前景。我的很多想法在我看来都很有吸引力,但是,根据以前的项目情况,我觉得在Debian的项目中这些想法不可能会实现。

    我打算发布一些有关具体改进操作系统的文章。敬请关注。

    最后,我希望这篇文章能够给部分人一些启示,让他们来改善Debian的开发者体验。

    原文:https://michael.stapelberg.ch/posts/2019-03-10-debian-winding-down/

    本文为 CSDN 翻译,如需转载,请注明来源出处。作者独立观点,不代表 CSDN 立场。

    640?wx_fmt=jpeg

     热 文 推 荐 

    小米“祭出” AIoT 神器!| 技术头条

    ☞杠上百度?今日头条也做起搜索来了 | 畅言

    ☞Google 再被罚!

    ☞95 后天才读数千页 Intel CPU 手册发现危及全球重大漏洞!

    ☞硬核接亲!程序员被新娘要求现场写代码,结果万万没想到……

    ☞理工男的网红生意, 6000万月活50万条日更的背后, 内容链还能这样操作?

    ☞工作量不断增加的微软Azure,正缩小与亚马逊AWS的差距

    ☞杨超越第一,Python第二!

    ☞68款大规模机器学习数据集,涵盖CV、语音、NLP | 十年资源集

    System.out.println("点个在看吧!");
    console.log("点个在看吧!");
    print("点个在看吧!");
    printf("点个在看吧!\n");
    cout << "点个在看吧!" << endl;
    Console.WriteLine("点个在看吧!");
    Response.Write("点个在看吧!");
    alert("点个在看吧!")
    echo "点个在看吧!"

    640?wx_fmt=gif点击阅读原文,输入关键词,即可搜索您想要的 CSDN 文章。

    640?wx_fmt=png喜欢就点击“在看”吧!
    展开全文
  • Debian折腾笔记

    万次阅读 多人点赞 2018-07-21 06:24:43
    其实装Debian还是比较友好的,如果你曾在Vmware上安装过Kali那就不需要百度了,按照步骤一步一步来即可。 说点要注意的,首先准备一个8G的U盘,使用USBwriter(100+kb)刻录下载好的ParrotSec.iso镜像文件。 我用的...
  • debian 9 源

    千次阅读 2019-01-31 18:15:44
    debian源替换方法: vi或者vim 去修改sources.list文件,替换下面源 echo’’’$镜像网址’’’&amp;gt;/etc/apt/sources.list 163镜像站 deb http://mirrors.163.com/debian/ stretch main non-free contrib ...
  • 在这篇文章中,我们将演示如何在你的笔记本电脑和台式电脑上安装 Debian 10 “Buster” 工作站。-- Pradeep KumarDebian 项目发布了它的最...
  • debian常用软件安装及配置

    万次阅读 2018-05-15 15:33:49
    纯粹个人记录备份而已,如有错误,欢迎指正。...安装思源字体,这是google和adobe在14年联合发布的一款新字体,支持中日韩字体,显示效果相当不错,也是KDE的默认字体,因为支持的字体多,包也比较大,不想装太多的话也...
  • debian 新手使用入门

    2019-09-13 04:43:48
    经过一天的扑腾,总算进入debian的开发使用环境了。想着写个教程,方便以后碰到同类问题的朋友! 本文的主要目的是帮助debian的新手,可以在debian系统进行各类软件的安装! 以安装GCC为例,按照逆序的方式进行...
  • 查看debian的版本号

    万次阅读 2012-09-18 17:09:01
    #more /etc/debian_version
  • Debian10更换apt源

    万次阅读 2019-09-20 15:54:57
    安装了Debian10,但是想安装宝塔面板和transmission都出错,主要是因为apt源的问题, 更换apt源 nano/etc/apt/sources.list 用#注释掉原来的 加入一下记录 deb https://mirrors.aliyun.com/debian stable main ...
  • debian切换为root用户

    万次阅读 2017-07-12 10:37:44
    debian 如何切换为root用户 sudo su 输入命令后提示输入密码,输入密码切换为root用户
  • debian中查找已安装软件及卸载软件

    万次阅读 2017-04-06 14:21:53
    dpkg -l | grep -i name apt-get remove name
  • debian ssh 开启root远程登录

    万次阅读 2018-08-21 09:36:46
    vi /etc/ssh/sshd_config PermitRootLogin yes
  • Debian开启SSH

    万次阅读 2017-05-04 14:56:30
    树莓派的Debian从8.0开始,默认关闭了SSH。打开的方式如下: debian 开启SSH 1、修改sshd_config文件,命令为:vi /etc/ssh/sshd_config  2、将#PasswordAuthentication no的注释去掉,并且将NO...
  • debian中默认不存在sudo命令解决方法

    万次阅读 2016-09-04 21:45:41
    1.使用su安装sudo$su #apt-get install sudo给账户设置管理员权限#vim /etc/sudoers添加一行,其中”username”替换为登陆账户的名称,输入时不加引号"username" ALL=(ALL) ALL
  • debian 切换默认桌面命令

    万次阅读 2015-07-22 17:40:05
    update-alternatives --config x-session-manager 选择gnome-session
  • debian下deb包如何安装

    万次阅读 2017-05-14 16:41:51
    deb包是debian,ubuntu等LINUX发行版的软件安装包,是类似于rpm的软件包,而非debian,ubuntu系统不推荐使用deb软件包,因为要解决软件包依赖问题,安装也比较麻烦。 安装方法有两种: 一般在此类发行版中可以直接...
  • 经常有朋友在群里会问张小三资源网,到底是用centos还是debian,它们哪个更适合承载web服务器? centos是从红帽企业版中抽离出的源码再次编译而成,使用简单,兼容性好,通常的介绍会说因为它使用了企业版源码,...
  • Debian系统修改IP及DNS(系统版本Debian8.0)
1 2 3 4 5 ... 20
收藏数 146,062
精华内容 58,424
关键字:

debian