来,世界各地一些主要的书展调整了展览合作计划。不同书展的回应也存在差异,法兰克福书展将暂停与俄罗斯出版机构的合作,将于3月21日-24日举行的博洛尼亚童书展则表示,不会改变继续邀请俄罗斯出版商的计划,“我们不会完全因为正在发生的冲突而苛责出版商,我们和全球各个国家的出版人士站在一起,包括乌克兰的,也包括我们在俄罗斯的图书业同仁”。
当然,同样受影响的还包括图书销售市场。尤其是,在此前还算比较冷门的《The Gates of Europe: A History of Ukraine》在亚马逊等电商网站销量直线上升,成为最畅销的历史之作之一,位于多个图书类别分区的销售排行榜前列,甚至为销售之冠。该书中文版《欧洲之门》在国内的销售量也一样上升。此外《东欧简史》《乌克兰与俄罗斯》也是当前的畅销书。这些图书成为畅销书,是人们把阅读作为了解俄乌历史方式的反应,而在这背后则是人们对冲突的关注,以及对和平生活的呼唤、珍视。
在下文中,我们以观察的视角整理了过去一周图书出版行业的动态。
01
书展
据《出版人周刊》(Publishers Weekly)报道,波罗的海国家(爱沙尼亚、拉脱维亚等)的图书出版业向博洛尼亚、伦敦、法兰克福三大国际书展分别发出公开信,表示将中断与俄罗斯的联系。
法兰克福书展负责人尤尔根·布斯(Juergen Boos)于2月28日发表声明,将在法兰克福书展中暂停与俄罗斯出版机构的合作,并表示将对乌克兰当地的出版业进行扶持,计划在今年为乌克兰出版商开设“暑期学院”。此外,亦有机构表示并不会完全排斥与俄罗斯出版商的继续合作。例如原定于今年3月21日-24日举行的博洛尼亚童书展,这一创始于1964年的意大利书展已经持续举办54届,目前也是业内人士公认的全球规模最大、最具权威和影响力的童书展览。
意大利博洛尼亚童书展。
据英国杂志Bookseller报道,博洛尼亚童书展此次的项目总监埃琳娜·帕索利(Elena Pasoli)表示,目前展览“不会改变继续邀请俄罗斯出版商的计划”,最终决定将另讨论。
“我们不会完全因为正在发生的冲突而苛责出版商,我们和全球各个国家的出版人士站在一起,包括乌克兰的,也包括我们在俄罗斯的图书业同仁——他们此时会发现自己处在异常困难和痛苦的境地。”
——埃琳娜·帕索利
同时,乌克兰主要书展阿森纳国际图书节(International Book Arsenal Festival)的负责人之一 Yulia Kozlovets 也将成为2022 年博洛尼亚童书展评审团成员之一。在Publishers Without Borders(出版商无国界组织)的社交媒体页面上,博洛尼亚童书展也发布消息,表示在持续密切关注乌克兰当下的事件,并“向我们行业中的每个人表示同情和支持。我们的使命是和全球图书业一同,在各国人民、各种文化之间架起桥梁”。
俄罗斯电影《烈日阳光》(Солнцепёк 2021》剧照。
此外,多个跨国图书出版组织也都表达了对此次军事冲突的意见,主要批评者包括欧洲出版商联合会(The Federation of European Publishers)、欧洲作家委员会(The European Writers Council)、国际笔会(PEN International)和意大利出版商协会(The Italian Publishers Association)等。
据《出版人周刊》,法兰克福书展的监督机构德国Börsenverein 集团发表声明称,他们呼吁停止敌对行动,保护和平。欧洲出版商联合会则表示“我们相信文学能够促进和平,让欧洲公民在多样性中走向团结”。
乌克兰电影《切尔卡瑟》(Черкаси 2019)剧照。
国际出版商协会(International Publishers Association,以下简称IPA)于3月1日在官方网站发表公开信回应,秘书长何塞·博尔吉诺(José Borghino)在公开信中表示,他们将以最强烈的态度支持和平,“我们的第一届国际出版商大会的最终目的之一,就是促进国家之间的和平,自IPA于1896年成立以来,125年间,这一点不会有任何改变”。现任 IPA 主席 Bodour Al Qasimi 则在接受媒体采访时补充表示:
“IPA 应与世界各地处于危难中的出版商站在一起。在和平时期,书籍具有强大的凝聚力。而在冲突时期,书籍在维持希望、支持和解、巩固和平方面则显得更为重要。”
据《卫报》报道,另一封文化人物公开信——国际笔会公开信有多达1000多名签署者,其中包括阿列克谢耶维奇、玛格丽特·阿特伍德、奥尔罕·帕慕克在内的多名为大众所熟知的作家。阿特伍德在接受采访时表示她参与了多伦多的抗议游行。国际笔会官方网站发布了这封公开信,“紧急呼吁各方结束上周开始的此次流血事件……和平必须占上风”。
玛格丽特·阿特伍德。图为纪录片《玛格丽特·阿特伍德:笔耕不辍是为力》(Margaret Atwood: A Word after a Word after a Word is Power 2019)画面。
02
图书销售
受俄乌冲突影响,与乌克兰和俄罗斯相关的图书都受到越来越多的关注。例如,国内外多个书单提及的《欧洲之门》,该书作者沙希利·浦洛基是哈佛大学的乌克兰研究学者,目前担任哈佛大学乌克兰研究所所长。浦洛基生于俄罗斯并成长于乌克兰,如今则在美国高校工作,多重身份使他善于运用跨文明的眼光,聚焦文明碰撞的视角分析乌克兰当下面临的困境及其历史根源。在电商亚马逊网站的“俄罗斯历史”分区,该书的英文版《The Gates of Europe: A History of Ukraine》目前高居销售榜第一。
《欧洲之门》中文版(中信出版社·新思文化,2019年3月)书封。
在亚马逊的“国际政治”分区,排名销售榜第一的同样是相似主题的《乌克兰与俄罗斯》(Ukraine and Russia: From Civilied Divorce to Uncivil War),作者为加州大学河滨分校政治学教授保罗·达里埃尼,该书从地缘政治的角度剖析了乌克兰-俄罗斯、乌克兰-西方之间的关系。作者认为,由于后冷战时期欧洲内部发展目标不协调等因素,这几组关系的冲突面临恶化的风险。
亚马逊“国际政治”分区图书销售量排行。
同样位列畅销榜的也包括《东欧简史》(History of Eastern Europe)等以东欧为主题的通识之书。
就国内的情况来看,乌克兰和俄罗斯相关主题的图书销量在短期内都有上升,包括南京大学出版社的《民族的重建:波兰、乌克兰、立陶宛、白俄罗斯,1569-1999》、社会科学文献出版社旗下品牌索·恩的《敖德萨的历史:一座梦想之城的创造与死亡》、中信出版社的《欧洲之门》等。其中,社科文献出版社的营销编辑表示,《敖德萨的历史:一座梦想之城的创造与死亡》在京东和天猫自营店的浏览量、加购量于短时间内急速上升,目前该书在当当上已调为“预售”。中信出版社·新思文化的营销编辑则表示,从上周四到本周二,《欧洲之门》一书预售了4000多册,各电商目前处于断货状态,出版社也从上周末开始紧急加印19000册左右,正等待入库。
《民族的重建:波兰、乌克兰、立陶宛、白俄罗斯,1569-1999》,[美]蒂莫西·斯奈德 著,潘梦琦 译,南京大学出版社·三辉图书,2020年1月。
03
书单
从图书销售可以看到,在复杂的国际军事政治博弈之外,对于远离冲突地点的人们来说,阅读成为了解世界冲突的一种方式。
而Lithub等众多国际媒体近期也推出了针对不同问题的荐读书目,除了前文提到的部分图书,被提得较多的还包括拉詹·梅农(Rajan Menon) 和尤金·B.鲁默(Eugene B. Rumer)的《乌克兰冲突》(Conflict in Ukraine: The Unwinding of the Post-Cold War Order),该书英文版出版于克里米亚危机之后的2015年,将此次危机置于历史的视角之中,分析其给乌克兰与俄罗斯、西方之间的关系带来的挑战。出现在多个书单的也包括亚当·希金特博姆(Adam Higginbotham)的《切尔诺贝利的午夜》,它帮助读者理解现代乌克兰历史绕不开的一章——切尔诺贝利事件。该书去年已由“一页”引进中译本。
《乌克兰冲突》(Conflict in Ukraine: The Unwinding of the Post-Cold War Order)书封。
推荐书单的媒体也特别提到了切尔诺贝利事件对于思考现代乌克兰相关问题的重要性,在《切尔诺贝利的午夜》外,浦洛基的《Chernobyl: The History of a Nuclear Catastrophe》(中译本《切尔诺贝利:一部悲剧史》由广东人民出版社·万有引力出版)、白俄罗斯作家阿列克谢耶维奇的《切尔诺贝利的悲鸣》等也被提及。在理论、历史研究之外,记者安娜·里德(Anna Reid)在1997年、2015年出版或再版过的作品《边境》(Borderland)也被多次提及,这本书聚焦乌克兰人构建身份与民族认同的问题。同样被提及的,还有一部非虚构作品《战时》(In War time),该书用纪实的方式书写了2014年克里米亚危机之后乌克兰国内出现的一系列冲突。
参考链接:
https://www.thebookseller.com/news/bologna-sympathetic-to-ukrainian-publishers-but-undecided-on-russian-presence
https://www.publishersweekly.com/pw/by-topic/international/international-book-news/article/88619-russia-s-war-of-words-with-ukraine.html
https://www.publishersweekly.com/pw/by-topic/international/international-book-news/article/88645-ukraine-update-frankfurt-suspends-work-with-russia-ipa-responds.html
https://lithub.com/understanding-the-ukraine-crisis-a-comprehensive-reading-list/
https://www.theguardian.com/books/2022/feb/28/margaret-atwood-joins-writers-condemning-russian-invasion-of-ukraine
https://www.nytimes.com/interactive/2022/02/25/books/ukraine-books.html
https://www.internationalpublishers.org/copyright-news-blog/1190-ipa-response-to-ukrainian-publishers-and-booksellers-association
https://pen-international.org/news/nobel-laureates-writers-and-artists-worldwide-condemn-russias-invasion-of-ukraine
记者|刘亚光;
编辑|挪冬;
校对|刘军。
封面题图为当地时间2月28日,乌克兰难民抵达希腊雅典,图/IC photo。
reeIPA是一个集成了Linux (Fedora)、389目录服务器、MIT Kerberos、NTP、DNS和Dogtag(证书系统)的安全信息管理解决方案。它由web界面和命令行管理工具组成。
在VM2中设置FreeIPA客户端
修改客户端网卡dns地址为192.168.43.138(server端地址),然后重启网卡
安装ipa-client
[root@client ~]# yum -y install ipa-client
把client端加入域
# 服务端会默认将客户端主机名解析成当前的IP地址
[root@client ~]# ipa-client-install --mkhomedir --enable-dns-updates --no-ntp -p admin
可以看到 client主机已经加入域了。
然后用bpang这个用户ssh登录client端测试,输入密码之后提示更改密码,更改完密码正常登录到client,并且为bpang用户自动创建了家目录。
然后输入sudo -i可以切换成root用户,说明配置的sudo规则正常使用。
本文原创地址:https://www.linuxprobe.com/centos7-install-freeipa-three.html编辑:逄增宝,审核员:逄增宝
述
一、OTA是什么?
OTA就是Over-the-Air,是苹果为了使开发者能够通过无线方式分发自己内部的应用而提供的一种技术。
通过OTA的方式安装,开发者只需在移动设备上访问指定的Url即可进行下载安装,不必再依赖数据线。
二、架设OTA需要什么?
需要备注Web服务器可以直接使用Mac上的Apache或者下载配置NginxSSL证书用来开启HTTPS服务HTTPS服务根据苹果官方文档,对于iOS 7.1及以系统必须使用HTTPSHTML页面用来下载安装包的页面IPA有个人开发者或者企业签名的IPA包manifest.plistIPA对应的清单文件icon57*57和512*512的图片
部署
一、Web服务器部署
Mac自带Apache(也可以使用nginx),我们可以直接进行用httpd -v查看apache的版本号
$ httpd -v Server version: Apache/2.4.34 (Unix) Server built: Feb 22 2019 19:30:04
Apache的常用命令:
启动Apache后在浏览器中输入http://localhost或者http://127.0.0.1,看到“It Works”页面即开启成功
Mac上Apache的文件目录默认在/Library/WebServer/Documents,可以通过/etc/apache2/httpd.conf进行修改
二、获得SSL签名证书
这里我们使用自签名的方式,有条件的话可以付费选择苹果认证的签名
$ cd /private/etc/apache2/ $ sudo mkdir ssl $ cd ssl
$ sudo openssl genrsa -out ip211.key 2048 Generating RSA private key, 2048 bit long modulus ...............................................................................................................+++ .......................................................+++ e is 65537 (0x10001)
$ sudo openssl req -new -key ip211.key -out ip211.csr
注意Comon Name处一定要填写完整的域名或者IP地址,其他可以随意填写或留空
You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) []:cn State or Province Name (full name) []: Locality Name (eg, city) []: Organization Name (eg, company) []: Organizational Unit Name (eg, section) []: Common Name (eg, fully qualified host name) []:10.6.60.211 Email Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:
$ sudo openssl x509 -req -days 3650 -in ip211.csr -signkey ip211.key -out ip211.crt Signature ok subject=/C=cn/CN=10.6.60.211 Getting Private key
$ sudo openssl rsa -in ip211.key -out ip211-nopass.key writing RSA key
操作完毕后我们应该有以下几个文件
$ ls -l total 32 -rw-r--r-- 1 root wheel 1679 May 9 17:01 ip211-nopass.key -rw-r--r-- 1 root wheel 1017 May 9 16:44 ip211.crt -rw-r--r-- 1 root wheel 911 May 9 16:37 ip211.csr -rw-r--r-- 1 root wheel 1679 May 9 16:35 ip211.key
三、配置HTTPS服务
1 备份要修改的文件
$ sudo cp /private/etc/apache2/httpd.conf /private/etc/apache2/httpd.conf.bak $ sudo cp /private/etc/apache2/extra/httpd-ssl.conf /private/etc/apache2/extra/httpd-ssl.conf.bak $ sudo cp /private/etc/apache2/mime.types /private/etc/apache2/mime.types.bak
2 修改配置文件/private/etc/apache2/httpd.conf (只读文件,请用管理员权限打开以便修改,如:sudo vim /private/etc/apache2/httpd.conf)
(1) 加载Apache中与HTTPS相关的模块,去掉以下两个模块的注释
LoadModule socache_shmcb_module libexec/apache2/mod_socache_shmcb.so LoadModule ssl_module libexec/apache2/mod_ssl.so
(2) 加载Apache中与HTTPS相关的配置,去掉以下配置的注释
Include /private/etc/apache2/extra/httpd-ssl.conf
3 修改配置文件/private/etc/apache2/extra/httpd-ssl.conf (只读文件,请用管理员权限打开以便修改,同上)
修改以下三处:
(1)ServerName,主机名,改为本机的IP
ServerName 10.6.60.211
(2) SSLCertificateFile,证书路径,改为SSL证书存放路径
SSLCertificateFile "/private/etc/apache2/ssl/ip211.crt"
(3) SSLCertificateKeyFile,秘钥路径,改为SSL未加密秘钥存放路径
SSLCertificateKeyFile "/private/etc/apache2/ssl/ip211-nopass.key"
4 设定服务器MME类型
根据苹果官方文档,需要将ipa和plist加入服务器的MME类型
修改/private/etc/apache2/mime.types,加入以下两条
application/octet-stream ipa text/xml plist
5 检测Apache配置文件并重启Apache
$ sudo apachectl -t
可能会报错
AH00557: httpd: apr_sockaddr_info_get() failed for bogon AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message Syntax OK
可以修改/private/etc/apache2/httpd.conf,将ServerName的注释取消,再次检测
$ sudo apachectl -t Syntax OK
其他报错自行查找解决,无报错后重启Apache
sudo apachectl restart
在浏览器输入https://即可访问
四、准备ipa和对应的manifest.plist
1 在Web服务器的文件目录下创建对应的文件夹
进入Apache Web服务器的文件根目录/Library/WebServer/Documents,创建包的存放路径,icon存放路径,SSL证书存放路径
$ sudo mkdir testapp $ cd testapp $ sudo mkdir ipa $ sudo mkdir icon $ sudo mkdir ssl $ sudo mkdir plist
sudo cp /private/etc/apache2/ssl/ip211.crt /Library/WebServer/Documents/testapp/ssl/ip211.crt
2 生成manifest.plist文件_(也可以跳过此步奏直接修改现成manifest.list模版)
Name:【包的显示名字】 App URL:【https://主机地址/testapp/ipa/xxx.ipa】 Display Image URL:【https://主机地址/testapp/icon/52.png】 Full Size Image URL:【https://主机地址/testapp/icon/512.png】
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>items</key> <array> <dict> <key>assets</key> <array> <dict> <key>kind</key> <string>software-package</string> <key>url</key> <string>【https://主机地址/testapp/ipa/xxx.ipa】</string> </dict> <dict> <key>kind</key> <string>display-image</string> <key>url</key> <string>【https://主机地址/testapp/icon/52.png】</string> </dict> <dict> <key>kind</key> <string>full-size-image</string> <key>url</key> <string>【https://主机地址/testapp/icon/512.png】</string> </dict> </array> <key>metadata</key> <dict> <key>bundle-identifier</key> <string>【Bundle ID】</string> <key>bundle-version</key> <string>【版本号】</string> <key>kind</key> <string>software</string> <key>title</key> <string>【包的显示名字】</string> </dict> </dict> </array> </dict> </plist>
需要修改和确认的字段说明
字段说明software-package应用 (.ipa) 文件的完全限定 HTTPS URLdisplay-image57 x 57 像素的 PNG 图像,在下载和安装过程中显示。指定图像的完全限定 URLfull-size-image512 x 512 像素的 PNG 图像,表示 iTunes 中相应的应用bundle-identifier应用的包标识符,com.xx.xxxbundle-version应用的包版本,0.1.0title下载和安装过程中显示的应用的名称
修改完毕后,将manifest.plist放入/Library/WebServer/Documents/testapp/plist目录下
五、制作下载所用Web页面
OTA是通过 WebKit 解析链接中的itms-services://来实现的,因此我们需要做超链接
<a href="itms-services://?action=download-manifest&url=【https://example.com/manifest.plist】">Install App</a>
另外需要在手机上安装签名证书,因此需要给证书也做一个超链,完整HTML如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" mime-types="text/plain"> <title></title> </head> <body> <a style="display:block" href="itms-services://?action=download-manifest&url=【https://主机地址/testapp/plist/manifest.plist】">下载ipa</a> <a style="display:block" href="【https://主机地址/testapp/ssl/ip211.crt】">下载证书</a> </body> </html>
存为index.html,放入/Library/WebServer/Documents/testapp/下
六、下载安装
在iPhone上用Sarfri浏览器,访问https://主机地址/testapp/即可看到
点击下载证书,下载安装配置文件
在设置-通用-描述文件与设备管理中,选择已下载的配置文件,进行安装
安装时会提示:只有在“证书信任设置”中启用,网站才会信任此证书。
这是在iOS 10中,苹果加入的认证,因此还需在设置-通用-关于本机-证书信任设置中将完全信任打开
再返回Sarfri浏览器,点击“下载ipa”,即可下载安装
*请认真填写需求信息,我们会在24小时内与您取得联系。