pacman的配置

pacman的配置,第1张

Pacman的配置文件位于/etc/pacman.conf。关于配置文件的进一步信息可以用man

pacman.conf

查看。

常用选项

常用选项都在[options]段。阅读man手册或者查看缺省的pacman.conf可以获得有关信息和用途。

软件仓库

你可以在/etc/pacman.conf和/etc/pacman.d/里定义使用哪些仓库。它们可以直接在里面定义或者从其它文件里包含进来。下面例子中使用官方软件仓库,用

mirrorlist

设定镜像的一个范例。

所有官方软件仓库都使用同一个包含了'$repo'

/etc/pacman.d/mirrorlist文件,因此只需要维护一个列表。其中mirrorlist的修改与维护可参见Archlinux的官方wiki

[core]#Addyourpreferredservershere,theywillbeusedfirstInclude=/etc/pacman.d/mirrorlist[extra]#Addyourpreferredservershere,theywillbeusedfirstInclude=/etc/pacman.d/mirrorlist[community]#Addyourpreferredservershere,theywillbeusedfirstInclude=/etc/pacman.d/mirrorlist注意:使用testing和unstable仓库的时候要谨慎。

第一步,先写C程序。目录结构如下。

├── SayHello-0.1

│ ├── include

│ │ └── hello.h

│ ├── Makefile

│ ├── SayHello

│ └── src

│ └── hello.c

├── SayHello-0.1.md5

└── SayHello-0.1.tar.gz

SayHello-0.1是项目文件夹,SayHello-.0.1.tar.gz是项目文件夹打包得到的压缩文件。SayHello-0.1.md5是用md5sum SayHello-0.1.tar.gz >SayHello-0.1.md5得到的校验文件(不是非要这个文件,但在制作ArchLinux文件包时,它一直提醒没有校验,没办法了,只好做了一个)。

代码如下:

################################

hello.h

#include <stdio.h>

#include <errno.h>

#define ERR_EXIT(m)\

do\

{\

perror(m)\

exit(-1)\

}while(0)

#####################################

hello.c

#include "hello.h"

int main(int argc ,char* argv[])

{

printf("Hello\n")

printf("This is a test program\n")

return 0

}

#####################################

Makefile

CC = gcc

CFLAGS = -Wall -g

obj = hello.o

VPATH = include:src

#vpath %.c src

#vpath %.h include

SayHello:hello.o

$(CC) $(CFLAGS) -o $@ $<

hello.o:hello.c hello.h

$(CC) -c -Iinclude -o $@ $<

##SayHello:hello.c

##$(CC) $(FLAGS) -Iinclude $<-o $@

.PHONY:clean install uninstall

clean:

-rm hello.o SayHello

install:

cp SayHello ~/bin/

##sudo cp SayHello /usr/local/bin/

uninstall:

-rm ~/bin/SayHello

#######################################3

好了,程序部分已经完成了。然后再打包,建立校验文件。

tar zcvf SayHello-0.1.tar.gz SayHello-0.1

md5sum SayHello-0.1.tar.gz >SayHello-0.1.md5

把它们上传到虚拟机的服务器上去。

scp SayHello-0.1.* XXX@xxx.xxx.xxx.xxx:/var/myftp/pub/

(这一步可以省略,只要把下面的PBKBUILD文件修改一下就可以了。)

第二步,把程序打包成ArchLinux的安装包。

abs的安装配置省略,wiki上已经说得非常清楚了。

在家目录上建立打包目录。

mkdir -pv ~/abs/SayHello

cd ~/abs/SayHello

vi PKGBUILD

这里只有一个文件。代码如下。

#########

PKGBUILD

pkgname=SayHello

pkgver=0.1

pkgrel=20130324

pkgdesc="A Say Hello test program."

arch=('i686' 'x86_64')

url="ftp://xxx.xxx.xxx.xxx"

license=('GPL2')

#depends=()

source=("ftp://xxx.xxx.xxx.xxx/mypub/$pkgname-$pkgver.tar.gz")

md5sums=('这里就是md5文件中的内容,被我隐藏了')

##install=SayHello.install

build()

{

cd $startdir/src/$pkgname-$pkgver

make clean

make

make install

}

好了,现在打包。很简单,直接执行makepkg.现在得到文件

SayHello-0.1-20130324-x86_64.pkg.tar.xz,这个就是需要的archlinux安装包。

现在差不多是最后一步了,先建立仓库位置。

mkdir -pv ~/LocalRepo/Arch

cp SayHello-0.1-20130324-x86_64.pkg.tar.xz ~/LocalRepo/Arch/

cd ~/LocalRepo/Arch/

给仓库添加数据库。

repo-add ~/LocalRepo/Arch/LocalRepo.db.tar.gz SayHello-0.1-20130324-x86_64.pkg.tar.xz

最终的文件如下。

├── LocalRepo.db ->LocalRepo.db.tar.gz

├── LocalRepo.db.tar.gz

└── SayHello-0.1-20130324-x86_64.pkg.tar.xz

最后一步,在pacman.conf中加入本地库。

[LocalRepo]

Server = file:///××××××/LocalRepo/Arch/

好了,所有的流程都完毕了。可以开始测试了。

pacman -Sy

LocalRepo428.0 B 569K/s 00:00 [######################] 100%

本地库已经载入

pacman -Sv SayHello

没有问题。

pacman -Rs SayHello

也没问题。

差不多就是这样了,当然,这只是最简单的应用。升级包什么的都没有做。纯粹是为了跑一遍流程。

Pacman 是一个软体包管理器,,作为ArchLinux发行版的一部分,是 Arch Linux 的一大亮点。它将一个简单的二进制包格式和易用的构建系统结合了起来。不管软体包是来自官方的 Arch 库还是用户自己创建,Pacman 都能方便的管理。

基本介绍 外文名 :pacman 属于 :一个软体包管理器 作为 :ArchLinux发行版的一部分. 简介 :Pacman 都能方便的管理 简介,简单,配置,图形前端, 简介 Pacman 包管理器是 Arch Linux 的一大亮点。它将一个简单的二进制包格式和易用的构建系统结合了起来。不管软体包是来自官方的 Arch 库还是用户自己创建,Pacman 都能方便的管理。 Pacman 通过和主伺服器同步软体包列表来进行系统更新,这使得注重安全的系统管理员的维护工作成为轻而易举的事情。这种伺服器/客户端模式可以使用一条命令就下载/安装软体包,同时安装必需的依赖包。简单 要完全了解pacman可以做什么,请阅读man pacman。以下只是一些pacman的简单 *** 作实例 

同步与升级

安装和升级软体包前,先让本地的包资料库和远程的软体仓库同步是个好习惯。

pacman -Syy

也可以使用一句命令同时进行同步软体库并更新系统到最新状态

pacman -Syu

安装软体包

安装或者升级单个软体包,或者一列软体包(包含依赖包),使用如下命令:

pacman -S package_name1 package_name2

有时候在不同的软体仓库中,一个软体包有多个版本(比如extra和testing)。你可以选择一个来安装:

pacman -S extra/package_name

pacman -S testing/package_name

你也可以在一个命令里同步包资料库并且安装一个软体包:

pacman -Sy package_name

卸载软体包

删除单个软体包,保留其全部已经安装的依赖关系

pacman -R package_name

删除指定软体包,及其所有没有被其他已安装软体包使用的依赖关系:

pacman -Rs package_name

包资料库查询

可以使用 -Q 标志搜寻和查询本地包资料库。详情参见

pacman -Q --help

可以使用-S 标志搜寻和查询远程同步的包资料库。详情参见

pacman -S --help

其它

下载包而不安装它:

pacman -Sw package_name

安装一个本地包(不从源里):

pacman -U /path/to/package/package_name-version.pkg.tar.gz

完全清理包快取(/var/cache/pacman/pkg):

pacman -S 配置 Pacman的配置档案位于/etc/pacman.conf。关于配置档案的进一步信息可以用man pacman.conf查看。 常用选项常用选项都在[options]段。阅读man手册或者查看预设的pacman.conf可以获得有关信息和用途。 软体仓库你可以在/etc/pacman.conf和/etc/pacman.d/里定义使用哪些仓库。它们可以直接在里面定义或者从其它档案里包含进来。下面例子中使用官方软体仓库,用 mirrorlist 设定镜像的一个范例。 所有官方软体仓库都使用同一个包含了'$repo' 的 /etc/pacman.d/mirrorlist档案,因此只需要维护一个列表。其中mirrorlist的修改与维护可参见Archlinux的官方 [core]#Addyourpreferredservershere,theywillbeusedfirstInclude=/etc/pacman.d/mirrorlist[extra]#Addyourpreferredservershere,theywillbeusedfirstInclude=/etc/pacman.d/mirrorlist[community]#Addyourpreferredservershere,theywillbeusedfirstInclude=/etc/pacman.d/mirrorlist 注意: 使用 testing unstable 仓库的时候要谨慎。图形前端 pacman的官方并没有发布有图形界面的前端,其他的开发者发布了可用的pacmanGUI图形前端。 PacmanXG4 — 是一个 pacman 的 GUI 前端。 不依赖于 GTK 或者 Qt,仅仅依赖 X11。它可以完成以下功能:安装/移除/升级软体包 搜寻/过滤软体包 获取软体包信息,包括截图 降级软体包 (需要 AUR/downgrade 工具) 刷新包资料库,同步镜像 一键式系统升级 Find out which package a specific file belongs to (include file with pkgfile utility) YAOURT 支持


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11280836.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存