my blog my blog

Tag: Arch linux
Arch Linux 2012.12.01 发布新安装介质

 

Arch Linux 现在每月好像都发一次新的安装介质镜像,呃,发吧,可能是最近一直变化比较大吧。对了Arch Linux现在已经全面启用systemd了,没有做迁移的都做迁移吧,原来的initscripts已经不继续支持更新咯。

新版本下载地址:https://www.archlinux.org/download/

systemd迁移方法可以看:https://wiki.archlinux.org/index.php/Systemd

GNOME 3.6 正式发布

 

用户界面更新

新应用更新

多语言更新

 

开发者工具更新

 希望Ubuntu 12.10的下个版本跟Arch Linux都可以尽快更新吧~

本文纯属翻译,详细看http://library.gnome.org/misc/release-notes/3.6/index.html.en

 

 

 

 

Arch Linux启用Systemd后syslog无法正常工作解决方法

 

Arch Linux启用systemd后,很多服务都被替换掉了,当然syslog也不例外,被Systemd Journal所替代。所以开机会提示syslog.sock错误,因为sysvinit的syslog的socket已经不能正常工作了,所以我们需要更改使其正常使用。

  1. sudo vim /etc/syslog-ng/syslog-ng.conf 
  2. 将下列代码插入source src段 
  3. source src { 
  4.     unix-dgram("/run/systemd/journal/syslog"); 
  5.     internal(); 
  6.     file("/proc/kmsg"); 
  7. }; 

然后执行

  1. sudo systemctl enable syslog-ng.service 

启动服务就可以正常了。

关于64位linux系统无法执行32位程序的解决方法

 

前阵子就是因为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 启用该软件仓库:

  1. [multilib] 
  2. Include = /etc/pacman.d/mirrorlist 

然后执行:

  1. sudo pacman -Syy 
  2. sudo pacman -S lib32-glibc 

对于Ubuntu用户:

  1. sudo apt-get install ia32-libs 

对于fedora用户:

  1. sudo yum install glibc.i686 

一般的程序就可以运行了,当然也可能还需要一些其它的32位库,可根据实际情况来解决。

archey+.bashrc修改实现Arch LInux的terminal启动显示系统信息

 

其实很久之前就看到有人的terminal启动的时候会显示系统信息的,很喜欢这个功能,然后昨天就用图片微薄求助了下,得到网友@又没睡好 的提示,可以用AUR里有 alsi 和 archey来实现,alsi其实在社区包里面就有滴,直接可以pacman,archey需要AUR安装。

  1. sudo pacman -S alsi 
  2. yaourt -S archey 

这两条命令就可以安装两个软件了,软件功能差不多,看个人的喜好选择。然后就是写在配置文件中了。

编辑.bashrc文件,然后将

  1. clear 
  2. archey 

两行添加进入.bashrc的最后就可以正常执行了。哦,忘了说明,环境是arch linux。添加配置后效果如图:

arch linux archey terminal

Arch Linux安装教程(版本2012.08.04)

 

Arch Linux这个月放了一个新的镜像出来,但是由于去掉了AIF这个Arch Linux安装框架,所以很多东西都需要自己手动来做了,对于新手来说,这里直接不建议安装Arch Linux了,因为你们装不上,没有基础估计连官方的教程也看不明白。所以,最新这次的Image还是建议有一定基础的朋友来进行安装,当然,你也可以用从前的镜像安装,然后升级。好了,前提讲到这里,我们开始安装吧。

 过程:引导—>配置分区—>配置网络—>挂载—>安装系统—>配置系统—>安装引导—>卸载重启

1.引导

各种方法,硬盘,U盘,光盘,网络,不介绍

2.引导进入系统后,就可以对分区进行操作了。

用到程序cfdisk,命令

  1. cfdisk /dev/sda

然后分区搞定后进行格式化,命令mkfs

3.分区搞定后进行联网,dhclient默认可以直接用的,如果你在路由下,如果不是,那么手动配置,也不介绍

4.挂载,命令mount

  1. mount /dev/sdaX /mnt 

将分区挂载到mnt目录下,mnt就是虚拟的根目录,所以,你需要把你的root挂在这里,然后把你的boot挂在root下面

5.安装,命令pacstrap,不过在这之前要配置下mirrorlist

  1. vi /etc/pacman.d/mirrorlist 

将其中国内的源提前在第一个源之前,否则下载龟速。

然后开始下载安装:

  1. pacstrap /mnt base base-devel 
  2. pacstrap /mnt grub-bios 

6.配置系统

  1. genfstab -p /mnt >> /mnt/etc/fstab   文件系统表保存下 
  2. arch-chroot /mnt  切换到新系统的根 
  3. vi /etc/hostname  编辑主机名 
  4. vi /etc/locale.conf   编辑语言字符支持 
  5. locale-gen 刷新一下 
  6. mkinitcpio -p linux 
  7. passwd root   更改密码 
  8. grub-install /dev/sda 装引导 
  9. vi /boot/grub/grub.cfg   配置启动文件 

7.exit各种退出,然后umount掉分区,重启就ok了。

最后引用自己微博的一句话:Arch Linux最新镜像安装,新手看http://t.cn/zW3e4rj ,老手看http://t.cn/zWox3Pr

比奶牛的这个要详细一些,不过还是需要一定基础哦。勿喷,本文仅作个人记录,不是详细教程。

windows系统通过grub4dos引导linux系统教程

 

安装系统呢,难免会有各种问题存在,比如grub安装失败(虽然不是很常见,但是还是会出现)。今天奶牛就来说下对于双系统如何用windows引导起来已经安装好的但是引导没有安装成功的linux系统,这里以fedora为例,ubuntu哇,Arch Linux哇道理也是一样的。安装的情况是这样子的,前面都是正常的安装,然后分区挂载点选择好了之后就开始安装了,但是安装最后一步写入grub的时候提示:

  1. There was an error installing the bootloader. 
  2. The system may not be bootable. 

因为没有写入grub的引导,所以windows是可以正常启动的,进入windows后我们需要安装一个grub4dos。对于grub4dos的安装可以自行google求助,这里不讲,讲下如何手动引导进入linux系统。

  1. title Fedora 17 
  2. root (hd0,4) 
  3. kernel /boot/vmlinuz-3.3.4-5.fc17.x86_64 root=/dev/sda5 
  4. initrd /boot/initramfs-3.3.4-5.fc17.x86_64.img 
  5. 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,那么上面的形式应该变为:

  1. title Fedora 17  
  2. root (hd0,3)  
  3. kernel /vmlinuz-3.3.4-5.fc17.x86_64 root=/dev/sda5  
  4. initrd /initramfs-3.3.4-5.fc17.x86_64.img  
  5. boot  

看到变化没有。仔细看下你就明白了。title下的root是boot的所在目录,而文件是由这个root决定的,在linux系统中,boot分区是挂载在根分区的boot文件夹下的,所以在boot分区中,并没有boot文件夹的。

手动的时候输入(hd0,tab可以看到分区的具体情况,kernel /后tab可以看到文件系统下的文件,避免问题,所以根据具体的文件来填写,上面只是范例,initrd行同理的。当两行都输入完成后就输入boot应该就可以正常启动了,当启动都正常后把正常的引导行写回menu.lst就好了。

当然,kernel行可以加一些其它的参数的,这里没有加,可以参考grub.cfg中的参数自行增加就可以了。

Arch Linux启动增加break参数可以直接进入一个root shell

 

在grub的Arch linux启动行增加break参如果break 或者 break=premount 被指定,init 暂停启动过程(在加载钩子之后,但是在挂载根文件系统之前) 然后启动一个交互的 shell,可以用来解决一些启动问题。这个 shell 可以在root被指定的break=postmount挂载之后启动。正常的启动过程可以在退出这个 shell 之后继续。
break=postmount参数增加后,系统启动到一个root shell,分区被挂载到new_root文件夹下,你可以用常用命令对这个目录进行操作咯~~~可以解决一些因为没有援救盘的问题。

详细可以参考:

mkinitcpio

mkinitcpio (简体中文)

 

Arch Linux的/lib目录改为指向/usr/lib的软链接

 

最近更新Arch Linux的朋友请注意,glibc包要单独更新哦,如果用–force更新会出问题。

所有 Arch 软件包都已将 /lib 目录中的文件移入 /usr/lib ,现在要把 /lib 更改为指向 usr/lib 的链接。此次升级时,pacman 很有可能检测到 /lib 文件冲突。最简单的解决方案是:

  1. pacman -Syu --ignore glibc 
  2. pacman -Su 

 

Arch Linux降级安装软件包与禁止升级不想升级的包的方法

 

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

来进行降级安装哦,然后降级安装成功后添加个禁止自动升级就可以了.