Arch Linux 现在每月好像都发一次新的安装介质镜像,呃,发吧,可能是最近一直变化比较大吧。对了Arch Linux现在已经全面启用systemd了,没有做迁移的都做迁移吧,原来的initscripts已经不继续支持更新咯。
新版本下载地址:https://www.archlinux.org/download/
systemd迁移方法可以看:https://wiki.archlinux.org/index.php/Systemd
Arch Linux 现在每月好像都发一次新的安装介质镜像,呃,发吧,可能是最近一直变化比较大吧。对了Arch Linux现在已经全面启用systemd了,没有做迁移的都做迁移吧,原来的initscripts已经不继续支持更新咯。
新版本下载地址:https://www.archlinux.org/download/
systemd迁移方法可以看:https://wiki.archlinux.org/index.php/Systemd
用户菜单默认增加关机按钮(这个早就该更新了,省了一个插件)
希望Ubuntu 12.10的下个版本跟Arch Linux都可以尽快更新吧~
本文纯属翻译,详细看http://library.gnome.org/misc/release-notes/3.6/index.html.en
Arch Linux启用systemd后,很多服务都被替换掉了,当然syslog也不例外,被Systemd Journal所替代。所以开机会提示syslog.sock错误,因为sysvinit的syslog的socket已经不能正常工作了,所以我们需要更改使其正常使用。
- sudo vim /etc/syslog-ng/syslog-ng.conf
- 将下列代码插入source src段
- source src {
- unix-dgram("/run/systemd/journal/syslog");
- internal();
- file("/proc/kmsg");
- };
然后执行
- sudo systemctl enable syslog-ng.service
启动服务就可以正常了。
前阵子就是因为32位lib的关系没有正常执行永中office安装,当然,我的问题不是缺少32位库,而是64位的库也有问题,呃,这个今天不讨论了,今天就说说最基本的解决方案。
当你执行一个32位程序的时候,你可能会发现提示No such file or directory,这就是说明你的64位系统没有安装32位的lib库,如何知道一个程序是32位还是64位呢,也很简单,可以通过readelf来看。呃,如果你确定你执行的是32位程序,而你是64位系统,则出现No such file or directory错误就是因为你缺少了32位的库文件。解决方法也很简单:
对于Arch Linux用户:
添加下面几行到 /etc/pacman.conf
启用该软件仓库:
- [multilib]
- Include = /etc/pacman.d/mirrorlist
然后执行:
- sudo pacman -Syy
- sudo pacman -S lib32-glibc
对于Ubuntu用户:
- sudo apt-get install ia32-libs
对于fedora用户:
- sudo yum install glibc.i686
一般的程序就可以运行了,当然也可能还需要一些其它的32位库,可根据实际情况来解决。
其实很久之前就看到有人的terminal启动的时候会显示系统信息的,很喜欢这个功能,然后昨天就用图片微薄求助了下,得到网友@又没睡好 的提示,可以用AUR里有 alsi 和 archey来实现,alsi其实在社区包里面就有滴,直接可以pacman,archey需要AUR安装。
- sudo pacman -S alsi
- yaourt -S archey
这两条命令就可以安装两个软件了,软件功能差不多,看个人的喜好选择。然后就是写在配置文件中了。
编辑.bashrc文件,然后将
- clear
- archey
两行添加进入.bashrc的最后就可以正常执行了。哦,忘了说明,环境是arch linux。添加配置后效果如图:
Arch Linux这个月放了一个新的镜像出来,但是由于去掉了AIF这个Arch Linux安装框架,所以很多东西都需要自己手动来做了,对于新手来说,这里直接不建议安装Arch Linux了,因为你们装不上,没有基础估计连官方的教程也看不明白。所以,最新这次的Image还是建议有一定基础的朋友来进行安装,当然,你也可以用从前的镜像安装,然后升级。好了,前提讲到这里,我们开始安装吧。
过程:引导—>配置分区—>配置网络—>挂载—>安装系统—>配置系统—>安装引导—>卸载重启
1.引导
各种方法,硬盘,U盘,光盘,网络,不介绍
2.引导进入系统后,就可以对分区进行操作了。
用到程序cfdisk,命令
- cfdisk /dev/sda
然后分区搞定后进行格式化,命令mkfs
3.分区搞定后进行联网,dhclient默认可以直接用的,如果你在路由下,如果不是,那么手动配置,也不介绍
4.挂载,命令mount
- mount /dev/sdaX /mnt
将分区挂载到mnt目录下,mnt就是虚拟的根目录,所以,你需要把你的root挂在这里,然后把你的boot挂在root下面
5.安装,命令pacstrap,不过在这之前要配置下mirrorlist
- vi /etc/pacman.d/mirrorlist
将其中国内的源提前在第一个源之前,否则下载龟速。
然后开始下载安装:
- pacstrap /mnt base base-devel
- pacstrap /mnt grub-bios
6.配置系统
- genfstab -p /mnt >> /mnt/etc/fstab 文件系统表保存下
- arch-chroot /mnt 切换到新系统的根
- vi /etc/hostname 编辑主机名
- vi /etc/locale.conf 编辑语言字符支持
- locale-gen 刷新一下
- mkinitcpio -p linux
- passwd root 更改密码
- grub-install /dev/sda 装引导
- vi /boot/grub/grub.cfg 配置启动文件
7.exit各种退出,然后umount掉分区,重启就ok了。
最后引用自己微博的一句话:Arch Linux最新镜像安装,新手看http://t.cn/zW3e4rj ,老手看http://t.cn/zWox3Pr
比奶牛的这个要详细一些,不过还是需要一定基础哦。勿喷,本文仅作个人记录,不是详细教程。
安装系统呢,难免会有各种问题存在,比如grub安装失败(虽然不是很常见,但是还是会出现)。今天奶牛就来说下对于双系统如何用windows引导起来已经安装好的但是引导没有安装成功的linux系统,这里以fedora为例,ubuntu哇,Arch Linux哇道理也是一样的。安装的情况是这样子的,前面都是正常的安装,然后分区挂载点选择好了之后就开始安装了,但是安装最后一步写入grub的时候提示:
- There was an error installing the bootloader.
- The system may not be bootable.
因为没有写入grub的引导,所以windows是可以正常启动的,进入windows后我们需要安装一个grub4dos。对于grub4dos的安装可以自行google求助,这里不讲,讲下如何手动引导进入linux系统。
- title Fedora 17
- root (hd0,4)
- kernel /boot/vmlinuz-3.3.4-5.fc17.x86_64 root=/dev/sda5
- initrd /boot/initramfs-3.3.4-5.fc17.x86_64.img
- boot
先进入grub4dos的引导,然后选择c进入命令行模式,输入root (hd0,然后按tab,看看自己的linux所在的分区情况。这里详细说下,对于只有根分区跟根分区与boot分区分离的两种情况的引导方式。
第一行root (hd0,4)是你的boot所在的分区,也就是有内核引导文件的分区,而kernel行root=后面的则是你的根所在的分区,而且sda后面的数字是比hd0后面的数字大1的。
这样子来说吧:情况1,只有/分区的时候,因为boot也在/分区下,所以root的进入的是同一个root,所以如上面的引导形式就可以正常引导了。情况2,有/boot分区与/分区的情况下,上面的命令行就需要改变了。比如你的boot在sda4,/在sda5,那么上面的形式应该变为:
- title Fedora 17
- root (hd0,3)
- kernel /vmlinuz-3.3.4-5.fc17.x86_64 root=/dev/sda5
- initrd /initramfs-3.3.4-5.fc17.x86_64.img
- boot
看到变化没有。仔细看下你就明白了。title下的root是boot的所在目录,而文件是由这个root决定的,在linux系统中,boot分区是挂载在根分区的boot文件夹下的,所以在boot分区中,并没有boot文件夹的。
手动的时候输入(hd0,tab可以看到分区的具体情况,kernel /后tab可以看到文件系统下的文件,避免问题,所以根据具体的文件来填写,上面只是范例,initrd行同理的。当两行都输入完成后就输入boot应该就可以正常启动了,当启动都正常后把正常的引导行写回menu.lst就好了。
当然,kernel行可以加一些其它的参数的,这里没有加,可以参考grub.cfg中的参数自行增加就可以了。
在grub的Arch linux启动行增加break参,
如果break
或者 break=premount
被指定,init
暂停启动过程(在加载钩子之后,但是在挂载根文件系统之前) 然后启动一个交互的 shell,可以用来解决一些启动问题。这个 shell 可以在root被指定的break=postmount
挂载之后启动。正常的启动过程可以在退出这个 shell 之后继续。详细可以参考:
最近更新Arch Linux的朋友请注意,glibc包要单独更新哦,如果用–force更新会出问题。
所有 Arch 软件包都已将 /lib
目录中的文件移入 /usr/lib
,现在要把 /lib
更改为指向 usr/lib
的链接。此次升级时,pacman 很有可能检测到 /lib
文件冲突。最简单的解决方案是:
- pacman -Syu --ignore glibc
- pacman -Su
Arch Linux虽然采用滚动更新,但是有些包确实并没有想象的完美,甚至不如老版本.例如新版本的eclipse,如果升级安装,则提示与xulrunner冲突,但是xulrunner可是Mozilla Runtime Environment,这个可是mozilla的一个运行环境哇,木有必然会造成不稳定.所以这时候只有禁止eclipse的升级鸟.奶牛觉得很多包都不需要升级的,比如说显卡驱动,不必要每次都升级,很麻烦还很大~~~
禁止某些包自动升级的方法是
sudo vim /etc/rc.conf
添加行
IgnorePkg = eclipse nvidia nvidia-utils nvidia-cg-toolkit
这样子,我们就可以禁止上面的四个包自动升级了.如果有其它的包想禁止,直接添加就可以了,记住分隔符要用空格哦.
如果安装了新版本软件想降级可以通过downgrade程序.
sudo yaourt -S downgrade
然后
downgrade eclipse
就可以选择本地已有的缓存或者输入s来搜索可用的网络缓存进行降级.
如果可以下载到具体的包的话也可以采用
sudo pacman -Uf xxx.pkg.tar.gz
来进行降级安装哦,然后降级安装成功后添加个禁止自动升级就可以了.